AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateInstanceProfileRequest.h
1
6#pragma once
7#include <aws/dms/DatabaseMigrationService_EXPORTS.h>
8#include <aws/dms/DatabaseMigrationServiceRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/dms/model/Tag.h>
12#include <utility>
13
14namespace Aws
15{
16namespace DatabaseMigrationService
17{
18namespace Model
19{
20
24 {
25 public:
26 AWS_DATABASEMIGRATIONSERVICE_API CreateInstanceProfileRequest() = default;
27
28 // Service request name is the Operation name which will send this request out,
29 // each operation should has unique request name, so that we can get operation's name from this request.
30 // Note: this is not true for response, multiple operations may have the same response name,
31 // so we can not get operation's name from response.
32 inline virtual const char* GetServiceRequestName() const override { return "CreateInstanceProfile"; }
33
34 AWS_DATABASEMIGRATIONSERVICE_API Aws::String SerializePayload() const override;
35
36 AWS_DATABASEMIGRATIONSERVICE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
37
38
40
46 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
47 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
48 template<typename AvailabilityZoneT = Aws::String>
49 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
50 template<typename AvailabilityZoneT = Aws::String>
51 CreateInstanceProfileRequest& WithAvailabilityZone(AvailabilityZoneT&& value) { SetAvailabilityZone(std::forward<AvailabilityZoneT>(value)); return *this;}
53
55
63 inline const Aws::String& GetKmsKeyArn() const { return m_kmsKeyArn; }
64 inline bool KmsKeyArnHasBeenSet() const { return m_kmsKeyArnHasBeenSet; }
65 template<typename KmsKeyArnT = Aws::String>
66 void SetKmsKeyArn(KmsKeyArnT&& value) { m_kmsKeyArnHasBeenSet = true; m_kmsKeyArn = std::forward<KmsKeyArnT>(value); }
67 template<typename KmsKeyArnT = Aws::String>
68 CreateInstanceProfileRequest& WithKmsKeyArn(KmsKeyArnT&& value) { SetKmsKeyArn(std::forward<KmsKeyArnT>(value)); return *this;}
70
72
78 inline bool GetPubliclyAccessible() const { return m_publiclyAccessible; }
79 inline bool PubliclyAccessibleHasBeenSet() const { return m_publiclyAccessibleHasBeenSet; }
80 inline void SetPubliclyAccessible(bool value) { m_publiclyAccessibleHasBeenSet = true; m_publiclyAccessible = value; }
83
85
88 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
89 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
90 template<typename TagsT = Aws::Vector<Tag>>
91 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
92 template<typename TagsT = Aws::Vector<Tag>>
93 CreateInstanceProfileRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
94 template<typename TagsT = Tag>
95 CreateInstanceProfileRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
97
99
107 inline const Aws::String& GetNetworkType() const { return m_networkType; }
108 inline bool NetworkTypeHasBeenSet() const { return m_networkTypeHasBeenSet; }
109 template<typename NetworkTypeT = Aws::String>
110 void SetNetworkType(NetworkTypeT&& value) { m_networkTypeHasBeenSet = true; m_networkType = std::forward<NetworkTypeT>(value); }
111 template<typename NetworkTypeT = Aws::String>
112 CreateInstanceProfileRequest& WithNetworkType(NetworkTypeT&& value) { SetNetworkType(std::forward<NetworkTypeT>(value)); return *this;}
114
116
119 inline const Aws::String& GetInstanceProfileName() const { return m_instanceProfileName; }
120 inline bool InstanceProfileNameHasBeenSet() const { return m_instanceProfileNameHasBeenSet; }
121 template<typename InstanceProfileNameT = Aws::String>
122 void SetInstanceProfileName(InstanceProfileNameT&& value) { m_instanceProfileNameHasBeenSet = true; m_instanceProfileName = std::forward<InstanceProfileNameT>(value); }
123 template<typename InstanceProfileNameT = Aws::String>
124 CreateInstanceProfileRequest& WithInstanceProfileName(InstanceProfileNameT&& value) { SetInstanceProfileName(std::forward<InstanceProfileNameT>(value)); return *this;}
126
128
131 inline const Aws::String& GetDescription() const { return m_description; }
132 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
133 template<typename DescriptionT = Aws::String>
134 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
135 template<typename DescriptionT = Aws::String>
136 CreateInstanceProfileRequest& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
138
140
143 inline const Aws::String& GetSubnetGroupIdentifier() const { return m_subnetGroupIdentifier; }
144 inline bool SubnetGroupIdentifierHasBeenSet() const { return m_subnetGroupIdentifierHasBeenSet; }
145 template<typename SubnetGroupIdentifierT = Aws::String>
146 void SetSubnetGroupIdentifier(SubnetGroupIdentifierT&& value) { m_subnetGroupIdentifierHasBeenSet = true; m_subnetGroupIdentifier = std::forward<SubnetGroupIdentifierT>(value); }
147 template<typename SubnetGroupIdentifierT = Aws::String>
148 CreateInstanceProfileRequest& WithSubnetGroupIdentifier(SubnetGroupIdentifierT&& value) { SetSubnetGroupIdentifier(std::forward<SubnetGroupIdentifierT>(value)); return *this;}
150
152
157 inline const Aws::Vector<Aws::String>& GetVpcSecurityGroups() const { return m_vpcSecurityGroups; }
158 inline bool VpcSecurityGroupsHasBeenSet() const { return m_vpcSecurityGroupsHasBeenSet; }
159 template<typename VpcSecurityGroupsT = Aws::Vector<Aws::String>>
160 void SetVpcSecurityGroups(VpcSecurityGroupsT&& value) { m_vpcSecurityGroupsHasBeenSet = true; m_vpcSecurityGroups = std::forward<VpcSecurityGroupsT>(value); }
161 template<typename VpcSecurityGroupsT = Aws::Vector<Aws::String>>
162 CreateInstanceProfileRequest& WithVpcSecurityGroups(VpcSecurityGroupsT&& value) { SetVpcSecurityGroups(std::forward<VpcSecurityGroupsT>(value)); return *this;}
163 template<typename VpcSecurityGroupsT = Aws::String>
164 CreateInstanceProfileRequest& AddVpcSecurityGroups(VpcSecurityGroupsT&& value) { m_vpcSecurityGroupsHasBeenSet = true; m_vpcSecurityGroups.emplace_back(std::forward<VpcSecurityGroupsT>(value)); return *this; }
166 private:
167
168 Aws::String m_availabilityZone;
169 bool m_availabilityZoneHasBeenSet = false;
170
171 Aws::String m_kmsKeyArn;
172 bool m_kmsKeyArnHasBeenSet = false;
173
174 bool m_publiclyAccessible{false};
175 bool m_publiclyAccessibleHasBeenSet = false;
176
177 Aws::Vector<Tag> m_tags;
178 bool m_tagsHasBeenSet = false;
179
180 Aws::String m_networkType;
181 bool m_networkTypeHasBeenSet = false;
182
183 Aws::String m_instanceProfileName;
184 bool m_instanceProfileNameHasBeenSet = false;
185
186 Aws::String m_description;
187 bool m_descriptionHasBeenSet = false;
188
189 Aws::String m_subnetGroupIdentifier;
190 bool m_subnetGroupIdentifierHasBeenSet = false;
191
192 Aws::Vector<Aws::String> m_vpcSecurityGroups;
193 bool m_vpcSecurityGroupsHasBeenSet = false;
194 };
195
196} // namespace Model
197} // namespace DatabaseMigrationService
198} // namespace Aws
AWS_DATABASEMIGRATIONSERVICE_API Aws::String SerializePayload() const override
CreateInstanceProfileRequest & WithNetworkType(NetworkTypeT &&value)
CreateInstanceProfileRequest & WithInstanceProfileName(InstanceProfileNameT &&value)
CreateInstanceProfileRequest & WithSubnetGroupIdentifier(SubnetGroupIdentifierT &&value)
CreateInstanceProfileRequest & WithDescription(DescriptionT &&value)
CreateInstanceProfileRequest & AddVpcSecurityGroups(VpcSecurityGroupsT &&value)
AWS_DATABASEMIGRATIONSERVICE_API CreateInstanceProfileRequest()=default
CreateInstanceProfileRequest & WithVpcSecurityGroups(VpcSecurityGroupsT &&value)
CreateInstanceProfileRequest & WithAvailabilityZone(AvailabilityZoneT &&value)
AWS_DATABASEMIGRATIONSERVICE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector