/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace mgn { namespace Model { /** *

Post Launch Actions to executed on the Test or Cutover * instance.

See Also:

AWS * API Reference

*/ class PostLaunchActions { public: AWS_MGN_API PostLaunchActions(); AWS_MGN_API PostLaunchActions(Aws::Utils::Json::JsonView jsonValue); AWS_MGN_API PostLaunchActions& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MGN_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

AWS Systems Manager Command's CloudWatch log group name.

*/ inline const Aws::String& GetCloudWatchLogGroupName() const{ return m_cloudWatchLogGroupName; } /** *

AWS Systems Manager Command's CloudWatch log group name.

*/ inline bool CloudWatchLogGroupNameHasBeenSet() const { return m_cloudWatchLogGroupNameHasBeenSet; } /** *

AWS Systems Manager Command's CloudWatch log group name.

*/ inline void SetCloudWatchLogGroupName(const Aws::String& value) { m_cloudWatchLogGroupNameHasBeenSet = true; m_cloudWatchLogGroupName = value; } /** *

AWS Systems Manager Command's CloudWatch log group name.

*/ inline void SetCloudWatchLogGroupName(Aws::String&& value) { m_cloudWatchLogGroupNameHasBeenSet = true; m_cloudWatchLogGroupName = std::move(value); } /** *

AWS Systems Manager Command's CloudWatch log group name.

*/ inline void SetCloudWatchLogGroupName(const char* value) { m_cloudWatchLogGroupNameHasBeenSet = true; m_cloudWatchLogGroupName.assign(value); } /** *

AWS Systems Manager Command's CloudWatch log group name.

*/ inline PostLaunchActions& WithCloudWatchLogGroupName(const Aws::String& value) { SetCloudWatchLogGroupName(value); return *this;} /** *

AWS Systems Manager Command's CloudWatch log group name.

*/ inline PostLaunchActions& WithCloudWatchLogGroupName(Aws::String&& value) { SetCloudWatchLogGroupName(std::move(value)); return *this;} /** *

AWS Systems Manager Command's CloudWatch log group name.

*/ inline PostLaunchActions& WithCloudWatchLogGroupName(const char* value) { SetCloudWatchLogGroupName(value); return *this;} /** *

Deployment type in which AWS Systems Manager Documents will be executed.

*/ inline const PostLaunchActionsDeploymentType& GetDeployment() const{ return m_deployment; } /** *

Deployment type in which AWS Systems Manager Documents will be executed.

*/ inline bool DeploymentHasBeenSet() const { return m_deploymentHasBeenSet; } /** *

Deployment type in which AWS Systems Manager Documents will be executed.

*/ inline void SetDeployment(const PostLaunchActionsDeploymentType& value) { m_deploymentHasBeenSet = true; m_deployment = value; } /** *

Deployment type in which AWS Systems Manager Documents will be executed.

*/ inline void SetDeployment(PostLaunchActionsDeploymentType&& value) { m_deploymentHasBeenSet = true; m_deployment = std::move(value); } /** *

Deployment type in which AWS Systems Manager Documents will be executed.

*/ inline PostLaunchActions& WithDeployment(const PostLaunchActionsDeploymentType& value) { SetDeployment(value); return *this;} /** *

Deployment type in which AWS Systems Manager Documents will be executed.

*/ inline PostLaunchActions& WithDeployment(PostLaunchActionsDeploymentType&& value) { SetDeployment(std::move(value)); return *this;} /** *

AWS Systems Manager Command's logs S3 log bucket.

*/ inline const Aws::String& GetS3LogBucket() const{ return m_s3LogBucket; } /** *

AWS Systems Manager Command's logs S3 log bucket.

*/ inline bool S3LogBucketHasBeenSet() const { return m_s3LogBucketHasBeenSet; } /** *

AWS Systems Manager Command's logs S3 log bucket.

*/ inline void SetS3LogBucket(const Aws::String& value) { m_s3LogBucketHasBeenSet = true; m_s3LogBucket = value; } /** *

AWS Systems Manager Command's logs S3 log bucket.

*/ inline void SetS3LogBucket(Aws::String&& value) { m_s3LogBucketHasBeenSet = true; m_s3LogBucket = std::move(value); } /** *

AWS Systems Manager Command's logs S3 log bucket.

*/ inline void SetS3LogBucket(const char* value) { m_s3LogBucketHasBeenSet = true; m_s3LogBucket.assign(value); } /** *

AWS Systems Manager Command's logs S3 log bucket.

*/ inline PostLaunchActions& WithS3LogBucket(const Aws::String& value) { SetS3LogBucket(value); return *this;} /** *

AWS Systems Manager Command's logs S3 log bucket.

*/ inline PostLaunchActions& WithS3LogBucket(Aws::String&& value) { SetS3LogBucket(std::move(value)); return *this;} /** *

AWS Systems Manager Command's logs S3 log bucket.

*/ inline PostLaunchActions& WithS3LogBucket(const char* value) { SetS3LogBucket(value); return *this;} /** *

AWS Systems Manager Command's logs S3 output key prefix.

*/ inline const Aws::String& GetS3OutputKeyPrefix() const{ return m_s3OutputKeyPrefix; } /** *

AWS Systems Manager Command's logs S3 output key prefix.

*/ inline bool S3OutputKeyPrefixHasBeenSet() const { return m_s3OutputKeyPrefixHasBeenSet; } /** *

AWS Systems Manager Command's logs S3 output key prefix.

*/ inline void SetS3OutputKeyPrefix(const Aws::String& value) { m_s3OutputKeyPrefixHasBeenSet = true; m_s3OutputKeyPrefix = value; } /** *

AWS Systems Manager Command's logs S3 output key prefix.

*/ inline void SetS3OutputKeyPrefix(Aws::String&& value) { m_s3OutputKeyPrefixHasBeenSet = true; m_s3OutputKeyPrefix = std::move(value); } /** *

AWS Systems Manager Command's logs S3 output key prefix.

*/ inline void SetS3OutputKeyPrefix(const char* value) { m_s3OutputKeyPrefixHasBeenSet = true; m_s3OutputKeyPrefix.assign(value); } /** *

AWS Systems Manager Command's logs S3 output key prefix.

*/ inline PostLaunchActions& WithS3OutputKeyPrefix(const Aws::String& value) { SetS3OutputKeyPrefix(value); return *this;} /** *

AWS Systems Manager Command's logs S3 output key prefix.

*/ inline PostLaunchActions& WithS3OutputKeyPrefix(Aws::String&& value) { SetS3OutputKeyPrefix(std::move(value)); return *this;} /** *

AWS Systems Manager Command's logs S3 output key prefix.

*/ inline PostLaunchActions& WithS3OutputKeyPrefix(const char* value) { SetS3OutputKeyPrefix(value); return *this;} /** *

AWS Systems Manager Documents.

*/ inline const Aws::Vector& GetSsmDocuments() const{ return m_ssmDocuments; } /** *

AWS Systems Manager Documents.

*/ inline bool SsmDocumentsHasBeenSet() const { return m_ssmDocumentsHasBeenSet; } /** *

AWS Systems Manager Documents.

*/ inline void SetSsmDocuments(const Aws::Vector& value) { m_ssmDocumentsHasBeenSet = true; m_ssmDocuments = value; } /** *

AWS Systems Manager Documents.

*/ inline void SetSsmDocuments(Aws::Vector&& value) { m_ssmDocumentsHasBeenSet = true; m_ssmDocuments = std::move(value); } /** *

AWS Systems Manager Documents.

*/ inline PostLaunchActions& WithSsmDocuments(const Aws::Vector& value) { SetSsmDocuments(value); return *this;} /** *

AWS Systems Manager Documents.

*/ inline PostLaunchActions& WithSsmDocuments(Aws::Vector&& value) { SetSsmDocuments(std::move(value)); return *this;} /** *

AWS Systems Manager Documents.

*/ inline PostLaunchActions& AddSsmDocuments(const SsmDocument& value) { m_ssmDocumentsHasBeenSet = true; m_ssmDocuments.push_back(value); return *this; } /** *

AWS Systems Manager Documents.

*/ inline PostLaunchActions& AddSsmDocuments(SsmDocument&& value) { m_ssmDocumentsHasBeenSet = true; m_ssmDocuments.push_back(std::move(value)); return *this; } private: Aws::String m_cloudWatchLogGroupName; bool m_cloudWatchLogGroupNameHasBeenSet = false; PostLaunchActionsDeploymentType m_deployment; bool m_deploymentHasBeenSet = false; Aws::String m_s3LogBucket; bool m_s3LogBucketHasBeenSet = false; Aws::String m_s3OutputKeyPrefix; bool m_s3OutputKeyPrefixHasBeenSet = false; Aws::Vector m_ssmDocuments; bool m_ssmDocumentsHasBeenSet = false; }; } // namespace Model } // namespace mgn } // namespace Aws