Exemplo n.º 1
0
        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
            });
        }
Exemplo n.º 2
0
        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
            });
        }
Exemplo n.º 3
0
        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
                )
            }
            );
        }