private void GetS3ActionResources(PipelineActionS3Options actionS3Options, IDictionary <string, Artifact_> artifacts, out IBucket bucket, out Artifact_ artifact, out IRole role) { // Locate bucket bucket = LocateBucket(actionS3Options.BucketName, $"The bucket {actionS3Options.BucketName} of the pipeline action {actionS3Options.Name} was not found", $"The pipeline action {actionS3Options.Name} must have a bucket"); // Create artifact if (string.IsNullOrWhiteSpace(actionS3Options.OutputArtifact)) { throw new ArgumentException($"There is no output artifact in the pipeline action {actionS3Options.Name}"); } else { if (artifacts.ContainsKey(actionS3Options.OutputArtifact)) { throw new ArgumentException($"The artifact {actionS3Options.OutputArtifact} of the pipeline action {actionS3Options.Name} already exists"); } else { artifact = new Artifact_(); artifacts.Add(actionS3Options.OutputArtifact, artifact); } } // Locate role role = LocateRole(actionS3Options.Role, $"The role {actionS3Options.Role} of the pipeline action {actionS3Options.Name} was not found"); }
private void CreateS3Action(IStage stage, IDictionary <string, Artifact_> artifacts, PipelineActionS3Options actionS3Options) { GetS3ActionResources(actionS3Options, artifacts, out var bucket, out var artifact, out var role); AwsCdkHandler.CreateS3ActionInStage(stage, actionS3Options.Name, bucket, actionS3Options.BucketKey, artifact, role); }