AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateVerifiedAccessTrustProviderRequest.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/ec2/EC2Request.h>
9#include <aws/ec2/model/TrustProviderType.h>
10#include <aws/ec2/model/UserTrustProviderType.h>
11#include <aws/ec2/model/DeviceTrustProviderType.h>
12#include <aws/ec2/model/CreateVerifiedAccessTrustProviderOidcOptions.h>
13#include <aws/ec2/model/CreateVerifiedAccessTrustProviderDeviceOptions.h>
14#include <aws/core/utils/memory/stl/AWSString.h>
15#include <aws/core/utils/memory/stl/AWSVector.h>
16#include <aws/ec2/model/VerifiedAccessSseSpecificationRequest.h>
17#include <aws/ec2/model/CreateVerifiedAccessNativeApplicationOidcOptions.h>
18#include <aws/ec2/model/TagSpecification.h>
19#include <utility>
20#include <aws/core/utils/UUID.h>
21
22namespace Aws
23{
24namespace EC2
25{
26namespace Model
27{
28
32 {
33 public:
35
36 // Service request name is the Operation name which will send this request out,
37 // each operation should has unique request name, so that we can get operation's name from this request.
38 // Note: this is not true for response, multiple operations may have the same response name,
39 // so we can not get operation's name from response.
40 inline virtual const char* GetServiceRequestName() const override { return "CreateVerifiedAccessTrustProvider"; }
41
42 AWS_EC2_API Aws::String SerializePayload() const override;
43
44 protected:
45 AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
46
47 public:
48
50
53 inline TrustProviderType GetTrustProviderType() const { return m_trustProviderType; }
54 inline bool TrustProviderTypeHasBeenSet() const { return m_trustProviderTypeHasBeenSet; }
55 inline void SetTrustProviderType(TrustProviderType value) { m_trustProviderTypeHasBeenSet = true; m_trustProviderType = value; }
58
60
64 inline UserTrustProviderType GetUserTrustProviderType() const { return m_userTrustProviderType; }
65 inline bool UserTrustProviderTypeHasBeenSet() const { return m_userTrustProviderTypeHasBeenSet; }
66 inline void SetUserTrustProviderType(UserTrustProviderType value) { m_userTrustProviderTypeHasBeenSet = true; m_userTrustProviderType = value; }
69
71
75 inline DeviceTrustProviderType GetDeviceTrustProviderType() const { return m_deviceTrustProviderType; }
76 inline bool DeviceTrustProviderTypeHasBeenSet() const { return m_deviceTrustProviderTypeHasBeenSet; }
77 inline void SetDeviceTrustProviderType(DeviceTrustProviderType value) { m_deviceTrustProviderTypeHasBeenSet = true; m_deviceTrustProviderType = value; }
80
82
86 inline const CreateVerifiedAccessTrustProviderOidcOptions& GetOidcOptions() const { return m_oidcOptions; }
87 inline bool OidcOptionsHasBeenSet() const { return m_oidcOptionsHasBeenSet; }
88 template<typename OidcOptionsT = CreateVerifiedAccessTrustProviderOidcOptions>
89 void SetOidcOptions(OidcOptionsT&& value) { m_oidcOptionsHasBeenSet = true; m_oidcOptions = std::forward<OidcOptionsT>(value); }
90 template<typename OidcOptionsT = CreateVerifiedAccessTrustProviderOidcOptions>
91 CreateVerifiedAccessTrustProviderRequest& WithOidcOptions(OidcOptionsT&& value) { SetOidcOptions(std::forward<OidcOptionsT>(value)); return *this;}
93
95
99 inline const CreateVerifiedAccessTrustProviderDeviceOptions& GetDeviceOptions() const { return m_deviceOptions; }
100 inline bool DeviceOptionsHasBeenSet() const { return m_deviceOptionsHasBeenSet; }
101 template<typename DeviceOptionsT = CreateVerifiedAccessTrustProviderDeviceOptions>
102 void SetDeviceOptions(DeviceOptionsT&& value) { m_deviceOptionsHasBeenSet = true; m_deviceOptions = std::forward<DeviceOptionsT>(value); }
103 template<typename DeviceOptionsT = CreateVerifiedAccessTrustProviderDeviceOptions>
104 CreateVerifiedAccessTrustProviderRequest& WithDeviceOptions(DeviceOptionsT&& value) { SetDeviceOptions(std::forward<DeviceOptionsT>(value)); return *this;}
106
108
111 inline const Aws::String& GetPolicyReferenceName() const { return m_policyReferenceName; }
112 inline bool PolicyReferenceNameHasBeenSet() const { return m_policyReferenceNameHasBeenSet; }
113 template<typename PolicyReferenceNameT = Aws::String>
114 void SetPolicyReferenceName(PolicyReferenceNameT&& value) { m_policyReferenceNameHasBeenSet = true; m_policyReferenceName = std::forward<PolicyReferenceNameT>(value); }
115 template<typename PolicyReferenceNameT = Aws::String>
116 CreateVerifiedAccessTrustProviderRequest& WithPolicyReferenceName(PolicyReferenceNameT&& value) { SetPolicyReferenceName(std::forward<PolicyReferenceNameT>(value)); return *this;}
118
120
123 inline const Aws::String& GetDescription() const { return m_description; }
124 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
125 template<typename DescriptionT = Aws::String>
126 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
127 template<typename DescriptionT = Aws::String>
128 CreateVerifiedAccessTrustProviderRequest& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
130
132
135 inline const Aws::Vector<TagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
136 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
137 template<typename TagSpecificationsT = Aws::Vector<TagSpecification>>
138 void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = std::forward<TagSpecificationsT>(value); }
139 template<typename TagSpecificationsT = Aws::Vector<TagSpecification>>
140 CreateVerifiedAccessTrustProviderRequest& WithTagSpecifications(TagSpecificationsT&& value) { SetTagSpecifications(std::forward<TagSpecificationsT>(value)); return *this;}
141 template<typename TagSpecificationsT = TagSpecification>
142 CreateVerifiedAccessTrustProviderRequest& AddTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value)); return *this; }
144
146
152 inline const Aws::String& GetClientToken() const { return m_clientToken; }
153 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
154 template<typename ClientTokenT = Aws::String>
155 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward<ClientTokenT>(value); }
156 template<typename ClientTokenT = Aws::String>
157 CreateVerifiedAccessTrustProviderRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward<ClientTokenT>(value)); return *this;}
159
161
167 inline bool GetDryRun() const { return m_dryRun; }
168 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
169 inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; }
170 inline CreateVerifiedAccessTrustProviderRequest& WithDryRun(bool value) { SetDryRun(value); return *this;}
172
174
177 inline const VerifiedAccessSseSpecificationRequest& GetSseSpecification() const { return m_sseSpecification; }
178 inline bool SseSpecificationHasBeenSet() const { return m_sseSpecificationHasBeenSet; }
179 template<typename SseSpecificationT = VerifiedAccessSseSpecificationRequest>
180 void SetSseSpecification(SseSpecificationT&& value) { m_sseSpecificationHasBeenSet = true; m_sseSpecification = std::forward<SseSpecificationT>(value); }
181 template<typename SseSpecificationT = VerifiedAccessSseSpecificationRequest>
182 CreateVerifiedAccessTrustProviderRequest& WithSseSpecification(SseSpecificationT&& value) { SetSseSpecification(std::forward<SseSpecificationT>(value)); return *this;}
184
186
189 inline const CreateVerifiedAccessNativeApplicationOidcOptions& GetNativeApplicationOidcOptions() const { return m_nativeApplicationOidcOptions; }
190 inline bool NativeApplicationOidcOptionsHasBeenSet() const { return m_nativeApplicationOidcOptionsHasBeenSet; }
191 template<typename NativeApplicationOidcOptionsT = CreateVerifiedAccessNativeApplicationOidcOptions>
192 void SetNativeApplicationOidcOptions(NativeApplicationOidcOptionsT&& value) { m_nativeApplicationOidcOptionsHasBeenSet = true; m_nativeApplicationOidcOptions = std::forward<NativeApplicationOidcOptionsT>(value); }
193 template<typename NativeApplicationOidcOptionsT = CreateVerifiedAccessNativeApplicationOidcOptions>
194 CreateVerifiedAccessTrustProviderRequest& WithNativeApplicationOidcOptions(NativeApplicationOidcOptionsT&& value) { SetNativeApplicationOidcOptions(std::forward<NativeApplicationOidcOptionsT>(value)); return *this;}
196 private:
197
199 bool m_trustProviderTypeHasBeenSet = false;
200
202 bool m_userTrustProviderTypeHasBeenSet = false;
203
205 bool m_deviceTrustProviderTypeHasBeenSet = false;
206
207 CreateVerifiedAccessTrustProviderOidcOptions m_oidcOptions;
208 bool m_oidcOptionsHasBeenSet = false;
209
210 CreateVerifiedAccessTrustProviderDeviceOptions m_deviceOptions;
211 bool m_deviceOptionsHasBeenSet = false;
212
213 Aws::String m_policyReferenceName;
214 bool m_policyReferenceNameHasBeenSet = false;
215
216 Aws::String m_description;
217 bool m_descriptionHasBeenSet = false;
218
219 Aws::Vector<TagSpecification> m_tagSpecifications;
220 bool m_tagSpecificationsHasBeenSet = false;
221
223 bool m_clientTokenHasBeenSet = true;
224
225 bool m_dryRun{false};
226 bool m_dryRunHasBeenSet = false;
227
228 VerifiedAccessSseSpecificationRequest m_sseSpecification;
229 bool m_sseSpecificationHasBeenSet = false;
230
231 CreateVerifiedAccessNativeApplicationOidcOptions m_nativeApplicationOidcOptions;
232 bool m_nativeApplicationOidcOptionsHasBeenSet = false;
233 };
234
235} // namespace Model
236} // namespace EC2
237} // namespace Aws
CreateVerifiedAccessTrustProviderRequest & WithTrustProviderType(TrustProviderType value)
CreateVerifiedAccessTrustProviderRequest & WithDescription(DescriptionT &&value)
CreateVerifiedAccessTrustProviderRequest & WithNativeApplicationOidcOptions(NativeApplicationOidcOptionsT &&value)
CreateVerifiedAccessTrustProviderRequest & WithDeviceTrustProviderType(DeviceTrustProviderType value)
CreateVerifiedAccessTrustProviderRequest & WithUserTrustProviderType(UserTrustProviderType value)
const CreateVerifiedAccessNativeApplicationOidcOptions & GetNativeApplicationOidcOptions() const
CreateVerifiedAccessTrustProviderRequest & AddTagSpecifications(TagSpecificationsT &&value)
CreateVerifiedAccessTrustProviderRequest & WithSseSpecification(SseSpecificationT &&value)
const CreateVerifiedAccessTrustProviderDeviceOptions & GetDeviceOptions() const
CreateVerifiedAccessTrustProviderRequest & WithPolicyReferenceName(PolicyReferenceNameT &&value)
CreateVerifiedAccessTrustProviderRequest & WithOidcOptions(OidcOptionsT &&value)
const VerifiedAccessSseSpecificationRequest & GetSseSpecification() const
const CreateVerifiedAccessTrustProviderOidcOptions & GetOidcOptions() const
CreateVerifiedAccessTrustProviderRequest & WithClientToken(ClientTokenT &&value)
CreateVerifiedAccessTrustProviderRequest & WithDeviceOptions(DeviceOptionsT &&value)
CreateVerifiedAccessTrustProviderRequest & WithTagSpecifications(TagSpecificationsT &&value)
AWS_EC2_API Aws::String SerializePayload() const override
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
static Aws::Utils::UUID PseudoRandomUUID()
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector