private AuthConfig getAuthConfigViaAwsSdk() {
        try {
            Class.forName("com.amazonaws.auth.DefaultAWSCredentialsProviderChain");
        } catch (ClassNotFoundException e) {
            log.info("It appears that you're using AWS ECR." +
                    " Consider integrating the AWS SDK in order to make use of common AWS authentication mechanisms," +
                    " see https://dmp.fabric8.io/#extended-authentication");
            return null;
        }
        return new AwsSdkAuthConfigFactory(log).createAuthConfig();
    }
Create an authentication config object which can be used for communication with a Docker registry

The authentication information is looked up at various places (in this order):

<ul>
   <li>From system properties</li>
   <li>From the provided map which can contain key-value pairs</li>
   <li>From the openshift settings in ~/.config/kube</li>
   <li>From the Maven settings stored typically in ~/.m2/settings.xml</li>
</ul>

The following properties (prefix with 'docker.' or 'registry.') and config key are evaluated:

<ul>
    <li>username: User to authenticate</li>
    <li>password: Password to authenticate. Can be encrypted</li>
    <li>email: Optional EMail address which is send to the registry, too</li>
</ul>


@param isPush if true this AuthConfig is created for a push, if false it's for a pull
@param authConfigMap String-String Map holding configuration info from the plugin's configuration. Can be <code>null</code> in
                  which case the settings are consulted.
@param settings the global Maven settings object
@param user user to check for
@param registry registry to use, might be null in which case a default registry is checked,
@return the authentication configuration or <code>null</code> if none could be found

@throws MojoFailureException
src/main/java/io/fabric8/maven/docker/util/AuthConfigFactory.java