예제 #1
0
        private async Task InstallAsync(RunningDeployment deployment)
        {
            Guard.NotNull(deployment, "deployment can not be null");
            Func <IAmazonSecurityTokenService>      stsClientFactory = () => ClientHelpers.CreateSecurityTokenServiceClient(awsEnvironmentGeneration);
            Func <IAmazonIdentityManagementService> identityManagementClientFactory = () =>
                                                                                      ClientHelpers.CreateIdentityManagementServiceClient(awsEnvironmentGeneration);


            if (deployment.Variables.IsSet(SpecialVariables.Action.Aws.AssumeRoleARN) ||
                !deployment.Variables.IsSet(SpecialVariables.Action.Aws.AccountId) ||
                !deployment.Variables.IsSet(deployment.Variables.Get(SpecialVariables.Action.Aws.AccountId) +
                                            ".AccessKey"))
            {
                await WriteRoleInfo(stsClientFactory);
            }
            else
            {
                await WriteUseInfo(identityManagementClientFactory);
            }
        }