/** * 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 drs { namespace Model { /** *

The ARN of the Source Network.

See Also:

AWS * API Reference

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

The ARN of the Source Network.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The ARN of the Source Network.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The ARN of the Source Network.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The ARN of the Source Network.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The ARN of the Source Network.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The ARN of the Source Network.

*/ inline SourceNetwork& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The ARN of the Source Network.

*/ inline SourceNetwork& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The ARN of the Source Network.

*/ inline SourceNetwork& WithArn(const char* value) { SetArn(value); return *this;} /** *

CloudFormation stack name that was deployed for recovering the Source * Network.

*/ inline const Aws::String& GetCfnStackName() const{ return m_cfnStackName; } /** *

CloudFormation stack name that was deployed for recovering the Source * Network.

*/ inline bool CfnStackNameHasBeenSet() const { return m_cfnStackNameHasBeenSet; } /** *

CloudFormation stack name that was deployed for recovering the Source * Network.

*/ inline void SetCfnStackName(const Aws::String& value) { m_cfnStackNameHasBeenSet = true; m_cfnStackName = value; } /** *

CloudFormation stack name that was deployed for recovering the Source * Network.

*/ inline void SetCfnStackName(Aws::String&& value) { m_cfnStackNameHasBeenSet = true; m_cfnStackName = std::move(value); } /** *

CloudFormation stack name that was deployed for recovering the Source * Network.

*/ inline void SetCfnStackName(const char* value) { m_cfnStackNameHasBeenSet = true; m_cfnStackName.assign(value); } /** *

CloudFormation stack name that was deployed for recovering the Source * Network.

*/ inline SourceNetwork& WithCfnStackName(const Aws::String& value) { SetCfnStackName(value); return *this;} /** *

CloudFormation stack name that was deployed for recovering the Source * Network.

*/ inline SourceNetwork& WithCfnStackName(Aws::String&& value) { SetCfnStackName(std::move(value)); return *this;} /** *

CloudFormation stack name that was deployed for recovering the Source * Network.

*/ inline SourceNetwork& WithCfnStackName(const char* value) { SetCfnStackName(value); return *this;} /** *

An object containing information regarding the last recovery of the Source * Network.

*/ inline const RecoveryLifeCycle& GetLastRecovery() const{ return m_lastRecovery; } /** *

An object containing information regarding the last recovery of the Source * Network.

*/ inline bool LastRecoveryHasBeenSet() const { return m_lastRecoveryHasBeenSet; } /** *

An object containing information regarding the last recovery of the Source * Network.

*/ inline void SetLastRecovery(const RecoveryLifeCycle& value) { m_lastRecoveryHasBeenSet = true; m_lastRecovery = value; } /** *

An object containing information regarding the last recovery of the Source * Network.

*/ inline void SetLastRecovery(RecoveryLifeCycle&& value) { m_lastRecoveryHasBeenSet = true; m_lastRecovery = std::move(value); } /** *

An object containing information regarding the last recovery of the Source * Network.

*/ inline SourceNetwork& WithLastRecovery(const RecoveryLifeCycle& value) { SetLastRecovery(value); return *this;} /** *

An object containing information regarding the last recovery of the Source * Network.

*/ inline SourceNetwork& WithLastRecovery(RecoveryLifeCycle&& value) { SetLastRecovery(std::move(value)); return *this;} /** *

ID of the recovered VPC following Source Network recovery.

*/ inline const Aws::String& GetLaunchedVpcID() const{ return m_launchedVpcID; } /** *

ID of the recovered VPC following Source Network recovery.

*/ inline bool LaunchedVpcIDHasBeenSet() const { return m_launchedVpcIDHasBeenSet; } /** *

ID of the recovered VPC following Source Network recovery.

*/ inline void SetLaunchedVpcID(const Aws::String& value) { m_launchedVpcIDHasBeenSet = true; m_launchedVpcID = value; } /** *

ID of the recovered VPC following Source Network recovery.

*/ inline void SetLaunchedVpcID(Aws::String&& value) { m_launchedVpcIDHasBeenSet = true; m_launchedVpcID = std::move(value); } /** *

ID of the recovered VPC following Source Network recovery.

*/ inline void SetLaunchedVpcID(const char* value) { m_launchedVpcIDHasBeenSet = true; m_launchedVpcID.assign(value); } /** *

ID of the recovered VPC following Source Network recovery.

*/ inline SourceNetwork& WithLaunchedVpcID(const Aws::String& value) { SetLaunchedVpcID(value); return *this;} /** *

ID of the recovered VPC following Source Network recovery.

*/ inline SourceNetwork& WithLaunchedVpcID(Aws::String&& value) { SetLaunchedVpcID(std::move(value)); return *this;} /** *

ID of the recovered VPC following Source Network recovery.

*/ inline SourceNetwork& WithLaunchedVpcID(const char* value) { SetLaunchedVpcID(value); return *this;} /** *

Status of Source Network Replication. Possible values: (a) STOPPED - Source * Network is not replicating. (b) IN_PROGRESS - Source Network is being * replicated. (c) PROTECTED - Source Network was replicated successfully and is * being synchronized for changes. (d) ERROR - Source Network replication has * failed

*/ inline const ReplicationStatus& GetReplicationStatus() const{ return m_replicationStatus; } /** *

Status of Source Network Replication. Possible values: (a) STOPPED - Source * Network is not replicating. (b) IN_PROGRESS - Source Network is being * replicated. (c) PROTECTED - Source Network was replicated successfully and is * being synchronized for changes. (d) ERROR - Source Network replication has * failed

*/ inline bool ReplicationStatusHasBeenSet() const { return m_replicationStatusHasBeenSet; } /** *

Status of Source Network Replication. Possible values: (a) STOPPED - Source * Network is not replicating. (b) IN_PROGRESS - Source Network is being * replicated. (c) PROTECTED - Source Network was replicated successfully and is * being synchronized for changes. (d) ERROR - Source Network replication has * failed

*/ inline void SetReplicationStatus(const ReplicationStatus& value) { m_replicationStatusHasBeenSet = true; m_replicationStatus = value; } /** *

Status of Source Network Replication. Possible values: (a) STOPPED - Source * Network is not replicating. (b) IN_PROGRESS - Source Network is being * replicated. (c) PROTECTED - Source Network was replicated successfully and is * being synchronized for changes. (d) ERROR - Source Network replication has * failed

*/ inline void SetReplicationStatus(ReplicationStatus&& value) { m_replicationStatusHasBeenSet = true; m_replicationStatus = std::move(value); } /** *

Status of Source Network Replication. Possible values: (a) STOPPED - Source * Network is not replicating. (b) IN_PROGRESS - Source Network is being * replicated. (c) PROTECTED - Source Network was replicated successfully and is * being synchronized for changes. (d) ERROR - Source Network replication has * failed

*/ inline SourceNetwork& WithReplicationStatus(const ReplicationStatus& value) { SetReplicationStatus(value); return *this;} /** *

Status of Source Network Replication. Possible values: (a) STOPPED - Source * Network is not replicating. (b) IN_PROGRESS - Source Network is being * replicated. (c) PROTECTED - Source Network was replicated successfully and is * being synchronized for changes. (d) ERROR - Source Network replication has * failed

*/ inline SourceNetwork& WithReplicationStatus(ReplicationStatus&& value) { SetReplicationStatus(std::move(value)); return *this;} /** *

Error details in case Source Network replication status is ERROR.

*/ inline const Aws::String& GetReplicationStatusDetails() const{ return m_replicationStatusDetails; } /** *

Error details in case Source Network replication status is ERROR.

*/ inline bool ReplicationStatusDetailsHasBeenSet() const { return m_replicationStatusDetailsHasBeenSet; } /** *

Error details in case Source Network replication status is ERROR.

*/ inline void SetReplicationStatusDetails(const Aws::String& value) { m_replicationStatusDetailsHasBeenSet = true; m_replicationStatusDetails = value; } /** *

Error details in case Source Network replication status is ERROR.

*/ inline void SetReplicationStatusDetails(Aws::String&& value) { m_replicationStatusDetailsHasBeenSet = true; m_replicationStatusDetails = std::move(value); } /** *

Error details in case Source Network replication status is ERROR.

*/ inline void SetReplicationStatusDetails(const char* value) { m_replicationStatusDetailsHasBeenSet = true; m_replicationStatusDetails.assign(value); } /** *

Error details in case Source Network replication status is ERROR.

*/ inline SourceNetwork& WithReplicationStatusDetails(const Aws::String& value) { SetReplicationStatusDetails(value); return *this;} /** *

Error details in case Source Network replication status is ERROR.

*/ inline SourceNetwork& WithReplicationStatusDetails(Aws::String&& value) { SetReplicationStatusDetails(std::move(value)); return *this;} /** *

Error details in case Source Network replication status is ERROR.

*/ inline SourceNetwork& WithReplicationStatusDetails(const char* value) { SetReplicationStatusDetails(value); return *this;} /** *

Account ID containing the VPC protected by the Source Network.

*/ inline const Aws::String& GetSourceAccountID() const{ return m_sourceAccountID; } /** *

Account ID containing the VPC protected by the Source Network.

*/ inline bool SourceAccountIDHasBeenSet() const { return m_sourceAccountIDHasBeenSet; } /** *

Account ID containing the VPC protected by the Source Network.

*/ inline void SetSourceAccountID(const Aws::String& value) { m_sourceAccountIDHasBeenSet = true; m_sourceAccountID = value; } /** *

Account ID containing the VPC protected by the Source Network.

*/ inline void SetSourceAccountID(Aws::String&& value) { m_sourceAccountIDHasBeenSet = true; m_sourceAccountID = std::move(value); } /** *

Account ID containing the VPC protected by the Source Network.

*/ inline void SetSourceAccountID(const char* value) { m_sourceAccountIDHasBeenSet = true; m_sourceAccountID.assign(value); } /** *

Account ID containing the VPC protected by the Source Network.

*/ inline SourceNetwork& WithSourceAccountID(const Aws::String& value) { SetSourceAccountID(value); return *this;} /** *

Account ID containing the VPC protected by the Source Network.

*/ inline SourceNetwork& WithSourceAccountID(Aws::String&& value) { SetSourceAccountID(std::move(value)); return *this;} /** *

Account ID containing the VPC protected by the Source Network.

*/ inline SourceNetwork& WithSourceAccountID(const char* value) { SetSourceAccountID(value); return *this;} /** *

Source Network ID.

*/ inline const Aws::String& GetSourceNetworkID() const{ return m_sourceNetworkID; } /** *

Source Network ID.

*/ inline bool SourceNetworkIDHasBeenSet() const { return m_sourceNetworkIDHasBeenSet; } /** *

Source Network ID.

*/ inline void SetSourceNetworkID(const Aws::String& value) { m_sourceNetworkIDHasBeenSet = true; m_sourceNetworkID = value; } /** *

Source Network ID.

*/ inline void SetSourceNetworkID(Aws::String&& value) { m_sourceNetworkIDHasBeenSet = true; m_sourceNetworkID = std::move(value); } /** *

Source Network ID.

*/ inline void SetSourceNetworkID(const char* value) { m_sourceNetworkIDHasBeenSet = true; m_sourceNetworkID.assign(value); } /** *

Source Network ID.

*/ inline SourceNetwork& WithSourceNetworkID(const Aws::String& value) { SetSourceNetworkID(value); return *this;} /** *

Source Network ID.

*/ inline SourceNetwork& WithSourceNetworkID(Aws::String&& value) { SetSourceNetworkID(std::move(value)); return *this;} /** *

Source Network ID.

*/ inline SourceNetwork& WithSourceNetworkID(const char* value) { SetSourceNetworkID(value); return *this;} /** *

Region containing the VPC protected by the Source Network.

*/ inline const Aws::String& GetSourceRegion() const{ return m_sourceRegion; } /** *

Region containing the VPC protected by the Source Network.

*/ inline bool SourceRegionHasBeenSet() const { return m_sourceRegionHasBeenSet; } /** *

Region containing the VPC protected by the Source Network.

*/ inline void SetSourceRegion(const Aws::String& value) { m_sourceRegionHasBeenSet = true; m_sourceRegion = value; } /** *

Region containing the VPC protected by the Source Network.

*/ inline void SetSourceRegion(Aws::String&& value) { m_sourceRegionHasBeenSet = true; m_sourceRegion = std::move(value); } /** *

Region containing the VPC protected by the Source Network.

*/ inline void SetSourceRegion(const char* value) { m_sourceRegionHasBeenSet = true; m_sourceRegion.assign(value); } /** *

Region containing the VPC protected by the Source Network.

*/ inline SourceNetwork& WithSourceRegion(const Aws::String& value) { SetSourceRegion(value); return *this;} /** *

Region containing the VPC protected by the Source Network.

*/ inline SourceNetwork& WithSourceRegion(Aws::String&& value) { SetSourceRegion(std::move(value)); return *this;} /** *

Region containing the VPC protected by the Source Network.

*/ inline SourceNetwork& WithSourceRegion(const char* value) { SetSourceRegion(value); return *this;} /** *

VPC ID protected by the Source Network.

*/ inline const Aws::String& GetSourceVpcID() const{ return m_sourceVpcID; } /** *

VPC ID protected by the Source Network.

*/ inline bool SourceVpcIDHasBeenSet() const { return m_sourceVpcIDHasBeenSet; } /** *

VPC ID protected by the Source Network.

*/ inline void SetSourceVpcID(const Aws::String& value) { m_sourceVpcIDHasBeenSet = true; m_sourceVpcID = value; } /** *

VPC ID protected by the Source Network.

*/ inline void SetSourceVpcID(Aws::String&& value) { m_sourceVpcIDHasBeenSet = true; m_sourceVpcID = std::move(value); } /** *

VPC ID protected by the Source Network.

*/ inline void SetSourceVpcID(const char* value) { m_sourceVpcIDHasBeenSet = true; m_sourceVpcID.assign(value); } /** *

VPC ID protected by the Source Network.

*/ inline SourceNetwork& WithSourceVpcID(const Aws::String& value) { SetSourceVpcID(value); return *this;} /** *

VPC ID protected by the Source Network.

*/ inline SourceNetwork& WithSourceVpcID(Aws::String&& value) { SetSourceVpcID(std::move(value)); return *this;} /** *

VPC ID protected by the Source Network.

*/ inline SourceNetwork& WithSourceVpcID(const char* value) { SetSourceVpcID(value); return *this;} /** *

A list of tags associated with the Source Network.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

A list of tags associated with the Source Network.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

A list of tags associated with the Source Network.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

A list of tags associated with the Source Network.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

A list of tags associated with the Source Network.

*/ inline SourceNetwork& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

A list of tags associated with the Source Network.

*/ inline SourceNetwork& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

A list of tags associated with the Source Network.

*/ inline SourceNetwork& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

A list of tags associated with the Source Network.

*/ inline SourceNetwork& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

A list of tags associated with the Source Network.

*/ inline SourceNetwork& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

A list of tags associated with the Source Network.

*/ inline SourceNetwork& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

A list of tags associated with the Source Network.

*/ inline SourceNetwork& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

A list of tags associated with the Source Network.

*/ inline SourceNetwork& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

A list of tags associated with the Source Network.

*/ inline SourceNetwork& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_cfnStackName; bool m_cfnStackNameHasBeenSet = false; RecoveryLifeCycle m_lastRecovery; bool m_lastRecoveryHasBeenSet = false; Aws::String m_launchedVpcID; bool m_launchedVpcIDHasBeenSet = false; ReplicationStatus m_replicationStatus; bool m_replicationStatusHasBeenSet = false; Aws::String m_replicationStatusDetails; bool m_replicationStatusDetailsHasBeenSet = false; Aws::String m_sourceAccountID; bool m_sourceAccountIDHasBeenSet = false; Aws::String m_sourceNetworkID; bool m_sourceNetworkIDHasBeenSet = false; Aws::String m_sourceRegion; bool m_sourceRegionHasBeenSet = false; Aws::String m_sourceVpcID; bool m_sourceVpcIDHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace drs } // namespace Aws