/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace drs { namespace Model { /** */ class CreateSourceNetworkRequest : public DrsRequest { public: AWS_DRS_API CreateSourceNetworkRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateSourceNetwork"; } AWS_DRS_API Aws::String SerializePayload() const override; /** *

Account containing the VPC to protect.

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

Account containing the VPC to protect.

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

Account containing the VPC to protect.

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

Account containing the VPC to protect.

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

Account containing the VPC to protect.

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

Account containing the VPC to protect.

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

Account containing the VPC to protect.

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

Account containing the VPC to protect.

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

Region containing the VPC to protect.

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

Region containing the VPC to protect.

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

Region containing the VPC to protect.

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

Region containing the VPC to protect.

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

Region containing the VPC to protect.

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

Region containing the VPC to protect.

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

Region containing the VPC to protect.

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

Region containing the VPC to protect.

*/ inline CreateSourceNetworkRequest& WithOriginRegion(const char* value) { SetOriginRegion(value); return *this;} /** *

A set of tags to be associated with the Source Network resource.

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

A set of tags to be associated with the Source Network resource.

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

A set of tags to be associated with the Source Network resource.

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

A set of tags to be associated with the Source Network resource.

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

A set of tags to be associated with the Source Network resource.

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

A set of tags to be associated with the Source Network resource.

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

A set of tags to be associated with the Source Network resource.

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

A set of tags to be associated with the Source Network resource.

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

A set of tags to be associated with the Source Network resource.

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

A set of tags to be associated with the Source Network resource.

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

A set of tags to be associated with the Source Network resource.

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

A set of tags to be associated with the Source Network resource.

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

A set of tags to be associated with the Source Network resource.

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

Which VPC ID to protect.

*/ inline const Aws::String& GetVpcID() const{ return m_vpcID; } /** *

Which VPC ID to protect.

*/ inline bool VpcIDHasBeenSet() const { return m_vpcIDHasBeenSet; } /** *

Which VPC ID to protect.

*/ inline void SetVpcID(const Aws::String& value) { m_vpcIDHasBeenSet = true; m_vpcID = value; } /** *

Which VPC ID to protect.

*/ inline void SetVpcID(Aws::String&& value) { m_vpcIDHasBeenSet = true; m_vpcID = std::move(value); } /** *

Which VPC ID to protect.

*/ inline void SetVpcID(const char* value) { m_vpcIDHasBeenSet = true; m_vpcID.assign(value); } /** *

Which VPC ID to protect.

*/ inline CreateSourceNetworkRequest& WithVpcID(const Aws::String& value) { SetVpcID(value); return *this;} /** *

Which VPC ID to protect.

*/ inline CreateSourceNetworkRequest& WithVpcID(Aws::String&& value) { SetVpcID(std::move(value)); return *this;} /** *

Which VPC ID to protect.

*/ inline CreateSourceNetworkRequest& WithVpcID(const char* value) { SetVpcID(value); return *this;} private: Aws::String m_originAccountID; bool m_originAccountIDHasBeenSet = false; Aws::String m_originRegion; bool m_originRegionHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; Aws::String m_vpcID; bool m_vpcIDHasBeenSet = false; }; } // namespace Model } // namespace drs } // namespace Aws