public DeployAwsCloudFormationConvention(
            Func <IAmazonCloudFormation> clientFactory,
            Func <CloudFormationTemplate> templateFactory,
            StackEventLogger logger,
            Func <RunningDeployment, StackArn> stackProvider,
            Func <RunningDeployment, string> roleArnProvider,
            bool waitForComplete,
            string stackName,
            string iamCapabilities,
            bool disableRollback,
            IAwsEnvironmentGeneration awsEnvironmentGeneration) : base(logger)
        {
            this.clientFactory            = clientFactory;
            this.templateFactory          = templateFactory;
            this.stackProvider            = stackProvider;
            this.roleArnProvider          = roleArnProvider;
            this.waitForComplete          = waitForComplete;
            this.stackName                = stackName;
            this.awsEnvironmentGeneration = awsEnvironmentGeneration;
            this.disableRollback          = disableRollback;

            // https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
            if (iamCapabilities.IsKnownIamCapability())
            {
                capabilities.Add(iamCapabilities);
            }
        }
        public DeployAwsCloudFormationConvention(
            string templateFile,
            string templateParametersFile,
            bool filesInPackage,
            string action,
            bool waitForComplete,
            string stackName,
            string iamCapabilities,
            bool disableRollback,
            ICalamariFileSystem fileSystem,
            IAwsEnvironmentGeneration awsEnvironmentGeneration)
        {
            this.templateFile           = templateFile;
            this.templateParametersFile = templateParametersFile;
            this.filesInPackage         = filesInPackage;
            this.fileSystem             = fileSystem;
            this.waitForComplete        = waitForComplete;
            this.action    = action;
            this.stackName = stackName;
            this.awsEnvironmentGeneration = awsEnvironmentGeneration;
            this.disableRollback          = disableRollback;

            // https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
            if (RecognisedCapabilities.Contains(iamCapabilities))
            {
                capabilities.Add(iamCapabilities);
            }
        }
Пример #3
0
 public static TConfig AsClientConfig <TConfig>(this IAwsEnvironmentGeneration environment)
     where TConfig : AmazonS3Config, new()
 {
     return(new TConfig().Tee(x =>
     {
         x.RegionEndpoint = environment.AwsRegion;
         x.ProxyPort = environment.ProxyPort;
         x.ProxyCredentials = environment.ProxyCredentials;
         x.ProxyHost = environment.ProxyHost;
     }));
 }
Пример #4
0
 public UploadAwsS3Convention(ICalamariFileSystem fileSystem,
                              IAwsEnvironmentGeneration awsEnvironmentGeneration,
                              string bucket,
                              S3TargetMode targetMode,
                              IProvideS3TargetOptions optionsProvider,
                              IFileSubstituter fileSubstituter
                              )
 {
     this.fileSystem = fileSystem;
     this.awsEnvironmentGeneration = awsEnvironmentGeneration;
     this.bucket           = bucket;
     this.targetMode       = targetMode;
     this.optionsProvider  = optionsProvider;
     this.fileSubstituter  = fileSubstituter;
     this.md5HashSupported = HashCalculator.IsAvailableHashingAlgorithm(MD5.Create);
 }
Пример #5
0
        public DeleteCloudFormationStackConvention(
            IAwsEnvironmentGeneration environment,
            StackEventLogger logger,
            Func <IAmazonCloudFormation> clientFactory,
            Func <RunningDeployment, StackArn> stackProvider,
            bool waitForComplete
            ) : base(logger)
        {
            Guard.NotNull(clientFactory, "Client must not be null");
            Guard.NotNull(stackProvider, "Stack provider must not be null");
            Guard.NotNull(environment, "Aws environment generation may not be null");


            this.clientFactory   = clientFactory;
            this.stackProvider   = stackProvider;
            this.waitForComplete = waitForComplete;
            this.environment     = environment;
        }
Пример #6
0
 public static AmazonS3Client CreateS3Client(IAwsEnvironmentGeneration environment)
 {
     return(new AmazonS3Client(environment.AwsCredentials, environment.AsClientConfig <AmazonS3Config>()));
 }
Пример #7
0
 public static IAmazonCloudFormation CreateCloudFormationClient(IAwsEnvironmentGeneration environment)
 {
     return(new AmazonCloudFormationClient(environment.AwsCredentials,
                                           environment.AsClientConfig <AmazonCloudFormationConfig>()));
 }
Пример #8
0
 public CreateS3BucketConvention(IAwsEnvironmentGeneration awsEnvironmentGeneration, Func <RunningDeployment, string> bucketFactory)
 {
     this.awsEnvironmentGeneration = awsEnvironmentGeneration;
     this.bucketFactory            = bucketFactory;
 }
Пример #9
0
 public static AmazonSecurityTokenServiceClient CreateSecurityTokenServiceClient(
     IAwsEnvironmentGeneration environment)
 {
     return(new AmazonSecurityTokenServiceClient(environment.AwsCredentials, environment.AsClientConfig <AmazonSecurityTokenServiceConfig>()));
 }
Пример #10
0
 public static AmazonIdentityManagementServiceClient CreateIdentityManagementServiceClient(
     IAwsEnvironmentGeneration environment)
 {
     return(new AmazonIdentityManagementServiceClient(environment.AwsCredentials, environment.AsClientConfig <AmazonIdentityManagementServiceConfig>()));
 }
Пример #11
0
 public LogAwsUserInfoConvention(IAwsEnvironmentGeneration awsEnvironmentGeneration)
 {
     this.awsEnvironmentGeneration = awsEnvironmentGeneration;
 }