private static AWSCredentialsProvider createAwsCredentialsProvider()

in src/main/java/com/amazonaws/kinesisvideo/java/service/JavaKinesisVideoServiceClient.java [153:217]


    private static AWSCredentialsProvider createAwsCredentialsProvider(
            @Nullable final KinesisVideoCredentialsProvider credentialsProvider,
            @Nonnull final Log log)
            throws KinesisVideoException {

        if (null == credentialsProvider) {
            return null;
        }

        return new AWSCredentialsProvider() {
            @Override
            public AWSCredentials getCredentials() {
                AWSCredentials awsCredentials = null;
                try {
                    final KinesisVideoCredentials kinesisVideoCredentials = credentialsProvider.getCredentials();

                    if (kinesisVideoCredentials.getSessionToken() == null) {
                        awsCredentials = new AWSCredentials() {
                            @Override
                            public String getAWSAccessKeyId() {
                                return kinesisVideoCredentials.getAccessKey();
                            }

                            @Override
                            public String getAWSSecretKey() {
                                return kinesisVideoCredentials.getSecretKey();
                            }
                        };
                    } else {
                        awsCredentials = new AWSSessionCredentials() {
                            @Override
                            public String getSessionToken() {
                                return kinesisVideoCredentials.getSessionToken();
                            }

                            @Override
                            public String getAWSAccessKeyId() {
                                return kinesisVideoCredentials.getAccessKey();
                            }

                            @Override
                            public String getAWSSecretKey() {
                                return kinesisVideoCredentials.getSecretKey();
                            }
                        };
                    }
                } catch (final KinesisVideoException e) {
                    log.exception(e, "Getting credentials threw an exception.");
                    awsCredentials = null;
                }

                return awsCredentials;
            }

            @Override
            public void refresh() {
                try {
                    credentialsProvider.getUpdatedCredentials();
                } catch (final KinesisVideoException e) {
                    // Do nothing
                    log.exception(e, "Refreshing credentials threw and exception.");
                }
            }
        };
    }