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

Properties of the cloud environment where this Source Server originated * from.

See Also:

AWS * API Reference

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

AWS Account ID for an EC2-originated Source Server.

*/ inline const Aws::String& GetOriginAccountID() const{ return m_originAccountID; } /** *

AWS Account ID for an EC2-originated Source Server.

*/ inline bool OriginAccountIDHasBeenSet() const { return m_originAccountIDHasBeenSet; } /** *

AWS Account ID for an EC2-originated Source Server.

*/ inline void SetOriginAccountID(const Aws::String& value) { m_originAccountIDHasBeenSet = true; m_originAccountID = value; } /** *

AWS Account ID for an EC2-originated Source Server.

*/ inline void SetOriginAccountID(Aws::String&& value) { m_originAccountIDHasBeenSet = true; m_originAccountID = std::move(value); } /** *

AWS Account ID for an EC2-originated Source Server.

*/ inline void SetOriginAccountID(const char* value) { m_originAccountIDHasBeenSet = true; m_originAccountID.assign(value); } /** *

AWS Account ID for an EC2-originated Source Server.

*/ inline SourceCloudProperties& WithOriginAccountID(const Aws::String& value) { SetOriginAccountID(value); return *this;} /** *

AWS Account ID for an EC2-originated Source Server.

*/ inline SourceCloudProperties& WithOriginAccountID(Aws::String&& value) { SetOriginAccountID(std::move(value)); return *this;} /** *

AWS Account ID for an EC2-originated Source Server.

*/ inline SourceCloudProperties& WithOriginAccountID(const char* value) { SetOriginAccountID(value); return *this;} /** *

AWS Availability Zone for an EC2-originated Source Server.

*/ inline const Aws::String& GetOriginAvailabilityZone() const{ return m_originAvailabilityZone; } /** *

AWS Availability Zone for an EC2-originated Source Server.

*/ inline bool OriginAvailabilityZoneHasBeenSet() const { return m_originAvailabilityZoneHasBeenSet; } /** *

AWS Availability Zone for an EC2-originated Source Server.

*/ inline void SetOriginAvailabilityZone(const Aws::String& value) { m_originAvailabilityZoneHasBeenSet = true; m_originAvailabilityZone = value; } /** *

AWS Availability Zone for an EC2-originated Source Server.

*/ inline void SetOriginAvailabilityZone(Aws::String&& value) { m_originAvailabilityZoneHasBeenSet = true; m_originAvailabilityZone = std::move(value); } /** *

AWS Availability Zone for an EC2-originated Source Server.

*/ inline void SetOriginAvailabilityZone(const char* value) { m_originAvailabilityZoneHasBeenSet = true; m_originAvailabilityZone.assign(value); } /** *

AWS Availability Zone for an EC2-originated Source Server.

*/ inline SourceCloudProperties& WithOriginAvailabilityZone(const Aws::String& value) { SetOriginAvailabilityZone(value); return *this;} /** *

AWS Availability Zone for an EC2-originated Source Server.

*/ inline SourceCloudProperties& WithOriginAvailabilityZone(Aws::String&& value) { SetOriginAvailabilityZone(std::move(value)); return *this;} /** *

AWS Availability Zone for an EC2-originated Source Server.

*/ inline SourceCloudProperties& WithOriginAvailabilityZone(const char* value) { SetOriginAvailabilityZone(value); return *this;} /** *

AWS Region for an EC2-originated Source Server.

*/ inline const Aws::String& GetOriginRegion() const{ return m_originRegion; } /** *

AWS Region for an EC2-originated Source Server.

*/ inline bool OriginRegionHasBeenSet() const { return m_originRegionHasBeenSet; } /** *

AWS Region for an EC2-originated Source Server.

*/ inline void SetOriginRegion(const Aws::String& value) { m_originRegionHasBeenSet = true; m_originRegion = value; } /** *

AWS Region for an EC2-originated Source Server.

*/ inline void SetOriginRegion(Aws::String&& value) { m_originRegionHasBeenSet = true; m_originRegion = std::move(value); } /** *

AWS Region for an EC2-originated Source Server.

*/ inline void SetOriginRegion(const char* value) { m_originRegionHasBeenSet = true; m_originRegion.assign(value); } /** *

AWS Region for an EC2-originated Source Server.

*/ inline SourceCloudProperties& WithOriginRegion(const Aws::String& value) { SetOriginRegion(value); return *this;} /** *

AWS Region for an EC2-originated Source Server.

*/ inline SourceCloudProperties& WithOriginRegion(Aws::String&& value) { SetOriginRegion(std::move(value)); return *this;} /** *

AWS Region for an EC2-originated Source Server.

*/ inline SourceCloudProperties& WithOriginRegion(const char* value) { SetOriginRegion(value); return *this;} private: Aws::String m_originAccountID; bool m_originAccountIDHasBeenSet = false; Aws::String m_originAvailabilityZone; bool m_originAvailabilityZoneHasBeenSet = false; Aws::String m_originRegion; bool m_originRegionHasBeenSet = false; }; } // namespace Model } // namespace drs } // namespace Aws