/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace mgn { namespace Model { class SourceServer { public: AWS_MGN_API SourceServer(); AWS_MGN_API SourceServer(Aws::Utils::Json::JsonView jsonValue); AWS_MGN_API SourceServer& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MGN_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Source server application ID.

*/ inline const Aws::String& GetApplicationID() const{ return m_applicationID; } /** *

Source server application ID.

*/ inline bool ApplicationIDHasBeenSet() const { return m_applicationIDHasBeenSet; } /** *

Source server application ID.

*/ inline void SetApplicationID(const Aws::String& value) { m_applicationIDHasBeenSet = true; m_applicationID = value; } /** *

Source server application ID.

*/ inline void SetApplicationID(Aws::String&& value) { m_applicationIDHasBeenSet = true; m_applicationID = std::move(value); } /** *

Source server application ID.

*/ inline void SetApplicationID(const char* value) { m_applicationIDHasBeenSet = true; m_applicationID.assign(value); } /** *

Source server application ID.

*/ inline SourceServer& WithApplicationID(const Aws::String& value) { SetApplicationID(value); return *this;} /** *

Source server application ID.

*/ inline SourceServer& WithApplicationID(Aws::String&& value) { SetApplicationID(std::move(value)); return *this;} /** *

Source server application ID.

*/ inline SourceServer& WithApplicationID(const char* value) { SetApplicationID(value); return *this;} /** *

Source server ARN.

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

Source server ARN.

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

Source server ARN.

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

Source server ARN.

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

Source server ARN.

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

Source server ARN.

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

Source server ARN.

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

Source server ARN.

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

Source server data replication info.

*/ inline const DataReplicationInfo& GetDataReplicationInfo() const{ return m_dataReplicationInfo; } /** *

Source server data replication info.

*/ inline bool DataReplicationInfoHasBeenSet() const { return m_dataReplicationInfoHasBeenSet; } /** *

Source server data replication info.

*/ inline void SetDataReplicationInfo(const DataReplicationInfo& value) { m_dataReplicationInfoHasBeenSet = true; m_dataReplicationInfo = value; } /** *

Source server data replication info.

*/ inline void SetDataReplicationInfo(DataReplicationInfo&& value) { m_dataReplicationInfoHasBeenSet = true; m_dataReplicationInfo = std::move(value); } /** *

Source server data replication info.

*/ inline SourceServer& WithDataReplicationInfo(const DataReplicationInfo& value) { SetDataReplicationInfo(value); return *this;} /** *

Source server data replication info.

*/ inline SourceServer& WithDataReplicationInfo(DataReplicationInfo&& value) { SetDataReplicationInfo(std::move(value)); return *this;} /** *

Source server fqdn for action framework.

*/ inline const Aws::String& GetFqdnForActionFramework() const{ return m_fqdnForActionFramework; } /** *

Source server fqdn for action framework.

*/ inline bool FqdnForActionFrameworkHasBeenSet() const { return m_fqdnForActionFrameworkHasBeenSet; } /** *

Source server fqdn for action framework.

*/ inline void SetFqdnForActionFramework(const Aws::String& value) { m_fqdnForActionFrameworkHasBeenSet = true; m_fqdnForActionFramework = value; } /** *

Source server fqdn for action framework.

*/ inline void SetFqdnForActionFramework(Aws::String&& value) { m_fqdnForActionFrameworkHasBeenSet = true; m_fqdnForActionFramework = std::move(value); } /** *

Source server fqdn for action framework.

*/ inline void SetFqdnForActionFramework(const char* value) { m_fqdnForActionFrameworkHasBeenSet = true; m_fqdnForActionFramework.assign(value); } /** *

Source server fqdn for action framework.

*/ inline SourceServer& WithFqdnForActionFramework(const Aws::String& value) { SetFqdnForActionFramework(value); return *this;} /** *

Source server fqdn for action framework.

*/ inline SourceServer& WithFqdnForActionFramework(Aws::String&& value) { SetFqdnForActionFramework(std::move(value)); return *this;} /** *

Source server fqdn for action framework.

*/ inline SourceServer& WithFqdnForActionFramework(const char* value) { SetFqdnForActionFramework(value); return *this;} /** *

Source server archived status.

*/ inline bool GetIsArchived() const{ return m_isArchived; } /** *

Source server archived status.

*/ inline bool IsArchivedHasBeenSet() const { return m_isArchivedHasBeenSet; } /** *

Source server archived status.

*/ inline void SetIsArchived(bool value) { m_isArchivedHasBeenSet = true; m_isArchived = value; } /** *

Source server archived status.

*/ inline SourceServer& WithIsArchived(bool value) { SetIsArchived(value); return *this;} /** *

Source server launched instance.

*/ inline const LaunchedInstance& GetLaunchedInstance() const{ return m_launchedInstance; } /** *

Source server launched instance.

*/ inline bool LaunchedInstanceHasBeenSet() const { return m_launchedInstanceHasBeenSet; } /** *

Source server launched instance.

*/ inline void SetLaunchedInstance(const LaunchedInstance& value) { m_launchedInstanceHasBeenSet = true; m_launchedInstance = value; } /** *

Source server launched instance.

*/ inline void SetLaunchedInstance(LaunchedInstance&& value) { m_launchedInstanceHasBeenSet = true; m_launchedInstance = std::move(value); } /** *

Source server launched instance.

*/ inline SourceServer& WithLaunchedInstance(const LaunchedInstance& value) { SetLaunchedInstance(value); return *this;} /** *

Source server launched instance.

*/ inline SourceServer& WithLaunchedInstance(LaunchedInstance&& value) { SetLaunchedInstance(std::move(value)); return *this;} /** *

Source server lifecycle state.

*/ inline const LifeCycle& GetLifeCycle() const{ return m_lifeCycle; } /** *

Source server lifecycle state.

*/ inline bool LifeCycleHasBeenSet() const { return m_lifeCycleHasBeenSet; } /** *

Source server lifecycle state.

*/ inline void SetLifeCycle(const LifeCycle& value) { m_lifeCycleHasBeenSet = true; m_lifeCycle = value; } /** *

Source server lifecycle state.

*/ inline void SetLifeCycle(LifeCycle&& value) { m_lifeCycleHasBeenSet = true; m_lifeCycle = std::move(value); } /** *

Source server lifecycle state.

*/ inline SourceServer& WithLifeCycle(const LifeCycle& value) { SetLifeCycle(value); return *this;} /** *

Source server lifecycle state.

*/ inline SourceServer& WithLifeCycle(LifeCycle&& value) { SetLifeCycle(std::move(value)); return *this;} /** *

Source server replication type.

*/ inline const ReplicationType& GetReplicationType() const{ return m_replicationType; } /** *

Source server replication type.

*/ inline bool ReplicationTypeHasBeenSet() const { return m_replicationTypeHasBeenSet; } /** *

Source server replication type.

*/ inline void SetReplicationType(const ReplicationType& value) { m_replicationTypeHasBeenSet = true; m_replicationType = value; } /** *

Source server replication type.

*/ inline void SetReplicationType(ReplicationType&& value) { m_replicationTypeHasBeenSet = true; m_replicationType = std::move(value); } /** *

Source server replication type.

*/ inline SourceServer& WithReplicationType(const ReplicationType& value) { SetReplicationType(value); return *this;} /** *

Source server replication type.

*/ inline SourceServer& WithReplicationType(ReplicationType&& value) { SetReplicationType(std::move(value)); return *this;} /** *

Source server properties.

*/ inline const SourceProperties& GetSourceProperties() const{ return m_sourceProperties; } /** *

Source server properties.

*/ inline bool SourcePropertiesHasBeenSet() const { return m_sourcePropertiesHasBeenSet; } /** *

Source server properties.

*/ inline void SetSourceProperties(const SourceProperties& value) { m_sourcePropertiesHasBeenSet = true; m_sourceProperties = value; } /** *

Source server properties.

*/ inline void SetSourceProperties(SourceProperties&& value) { m_sourcePropertiesHasBeenSet = true; m_sourceProperties = std::move(value); } /** *

Source server properties.

*/ inline SourceServer& WithSourceProperties(const SourceProperties& value) { SetSourceProperties(value); return *this;} /** *

Source server properties.

*/ inline SourceServer& WithSourceProperties(SourceProperties&& value) { SetSourceProperties(std::move(value)); return *this;} /** *

Source server ID.

*/ inline const Aws::String& GetSourceServerID() const{ return m_sourceServerID; } /** *

Source server ID.

*/ inline bool SourceServerIDHasBeenSet() const { return m_sourceServerIDHasBeenSet; } /** *

Source server ID.

*/ inline void SetSourceServerID(const Aws::String& value) { m_sourceServerIDHasBeenSet = true; m_sourceServerID = value; } /** *

Source server ID.

*/ inline void SetSourceServerID(Aws::String&& value) { m_sourceServerIDHasBeenSet = true; m_sourceServerID = std::move(value); } /** *

Source server ID.

*/ inline void SetSourceServerID(const char* value) { m_sourceServerIDHasBeenSet = true; m_sourceServerID.assign(value); } /** *

Source server ID.

*/ inline SourceServer& WithSourceServerID(const Aws::String& value) { SetSourceServerID(value); return *this;} /** *

Source server ID.

*/ inline SourceServer& WithSourceServerID(Aws::String&& value) { SetSourceServerID(std::move(value)); return *this;} /** *

Source server ID.

*/ inline SourceServer& WithSourceServerID(const char* value) { SetSourceServerID(value); return *this;} /** *

Source server Tags.

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

Source server Tags.

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

Source server Tags.

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

Source server Tags.

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

Source server Tags.

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

Source server Tags.

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

Source server Tags.

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

Source server Tags.

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

Source server Tags.

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

Source server Tags.

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

Source server Tags.

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

Source server Tags.

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

Source server Tags.

*/ inline SourceServer& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

Source server user provided ID.

*/ inline const Aws::String& GetUserProvidedID() const{ return m_userProvidedID; } /** *

Source server user provided ID.

*/ inline bool UserProvidedIDHasBeenSet() const { return m_userProvidedIDHasBeenSet; } /** *

Source server user provided ID.

*/ inline void SetUserProvidedID(const Aws::String& value) { m_userProvidedIDHasBeenSet = true; m_userProvidedID = value; } /** *

Source server user provided ID.

*/ inline void SetUserProvidedID(Aws::String&& value) { m_userProvidedIDHasBeenSet = true; m_userProvidedID = std::move(value); } /** *

Source server user provided ID.

*/ inline void SetUserProvidedID(const char* value) { m_userProvidedIDHasBeenSet = true; m_userProvidedID.assign(value); } /** *

Source server user provided ID.

*/ inline SourceServer& WithUserProvidedID(const Aws::String& value) { SetUserProvidedID(value); return *this;} /** *

Source server user provided ID.

*/ inline SourceServer& WithUserProvidedID(Aws::String&& value) { SetUserProvidedID(std::move(value)); return *this;} /** *

Source server user provided ID.

*/ inline SourceServer& WithUserProvidedID(const char* value) { SetUserProvidedID(value); return *this;} /** *

Source server vCenter client id.

*/ inline const Aws::String& GetVcenterClientID() const{ return m_vcenterClientID; } /** *

Source server vCenter client id.

*/ inline bool VcenterClientIDHasBeenSet() const { return m_vcenterClientIDHasBeenSet; } /** *

Source server vCenter client id.

*/ inline void SetVcenterClientID(const Aws::String& value) { m_vcenterClientIDHasBeenSet = true; m_vcenterClientID = value; } /** *

Source server vCenter client id.

*/ inline void SetVcenterClientID(Aws::String&& value) { m_vcenterClientIDHasBeenSet = true; m_vcenterClientID = std::move(value); } /** *

Source server vCenter client id.

*/ inline void SetVcenterClientID(const char* value) { m_vcenterClientIDHasBeenSet = true; m_vcenterClientID.assign(value); } /** *

Source server vCenter client id.

*/ inline SourceServer& WithVcenterClientID(const Aws::String& value) { SetVcenterClientID(value); return *this;} /** *

Source server vCenter client id.

*/ inline SourceServer& WithVcenterClientID(Aws::String&& value) { SetVcenterClientID(std::move(value)); return *this;} /** *

Source server vCenter client id.

*/ inline SourceServer& WithVcenterClientID(const char* value) { SetVcenterClientID(value); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; } inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); } inline SourceServer& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline SourceServer& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline SourceServer& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_applicationID; bool m_applicationIDHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; DataReplicationInfo m_dataReplicationInfo; bool m_dataReplicationInfoHasBeenSet = false; Aws::String m_fqdnForActionFramework; bool m_fqdnForActionFrameworkHasBeenSet = false; bool m_isArchived; bool m_isArchivedHasBeenSet = false; LaunchedInstance m_launchedInstance; bool m_launchedInstanceHasBeenSet = false; LifeCycle m_lifeCycle; bool m_lifeCycleHasBeenSet = false; ReplicationType m_replicationType; bool m_replicationTypeHasBeenSet = false; SourceProperties m_sourceProperties; bool m_sourcePropertiesHasBeenSet = false; Aws::String m_sourceServerID; bool m_sourceServerIDHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; Aws::String m_userProvidedID; bool m_userProvidedIDHasBeenSet = false; Aws::String m_vcenterClientID; bool m_vcenterClientIDHasBeenSet = false; Aws::String m_requestId; bool m_requestIdHasBeenSet = false; }; } // namespace Model } // namespace mgn } // namespace Aws