protected Message MakeSetCredentialsMessage(AWSCredentials awsCredentials, bool forMetrics) { var immutableCredentials = awsCredentials.GetCredentials(); var creds = new Credentials { Akid = immutableCredentials.AccessKey, SecretKey = immutableCredentials.SecretKey }; if (immutableCredentials.UseToken) { creds.Token = immutableCredentials.Token; } var setCredentials = new SetCredentials { Credentials = creds, ForMetrics = forMetrics }; return(new Message { SetCredentials = setCredentials, Id = ulong.MaxValue }); }
public static Message makeSetCredentialsMessage(string aKid, string sercretKey, string token, bool forMetrics) { Credentials c = new Credentials() { Akid = aKid, SecretKey = sercretKey, Token = token ?? "" }; SetCredentials sc = new SetCredentials() { Credentials = c, ForMetrics = forMetrics }; return(new Message() { SetCredentials = sc, Id = long.MaxValue }); }
void on_set_credentials(SetCredentials set_creds) { // If the metrics_creds_chain_ is pointing to the same instance as the regular creds_chain_, and we receive a new set of creds just for metrics, we need to create a new instance of AwsCredentialsProviderChain for metrics_creds_chain_ to point to. Otherwise we'll wrongly override the regular credentials when setting the metrics credentials. if (set_creds.ForMetrics && metrics_creds_chain_ == creds_chain_) { metrics_creds_chain_ = new AwsCredentialsProviderChain(); } AwsCredentialsProviderChain chain = set_creds.ForMetrics ? metrics_creds_chain_ : creds_chain_; chain.reset ( new List <AwsCredentialsProvider> { new BasicAwsCredentialsProvider ( set_creds.Credentials.Akid, set_creds.Credentials.SecretKey, set_creds.Credentials.Token ) } ); }