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>
20#include <aws/core/utils/UUID.h>
40 inline virtual const char*
GetServiceRequestName()
const override {
return "CreateVerifiedAccessTrustProvider"; }
88 template<
typename O
idcOptionsT = CreateVerifiedAccessTrustProv
iderO
idcOptions>
89 void SetOidcOptions(OidcOptionsT&& value) { m_oidcOptionsHasBeenSet =
true; m_oidcOptions = std::forward<OidcOptionsT>(value); }
90 template<
typename O
idcOptionsT = CreateVerifiedAccessTrustProv
iderO
idcOptions>
101 template<
typename DeviceOptionsT = CreateVerifiedAccessTrustProv
iderDeviceOptions>
102 void SetDeviceOptions(DeviceOptionsT&& value) { m_deviceOptionsHasBeenSet =
true; m_deviceOptions = std::forward<DeviceOptionsT>(value); }
103 template<
typename DeviceOptionsT = CreateVerifiedAccessTrustProv
iderDeviceOptions>
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>
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>
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>>
141 template<
typename TagSpecificationsT = TagSpecification>
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>
169 inline void SetDryRun(
bool value) { m_dryRunHasBeenSet =
true; m_dryRun = value; }
179 template<
typename SseSpecificationT = VerifiedAccessSseSpecificationRequest>
180 void SetSseSpecification(SseSpecificationT&& value) { m_sseSpecificationHasBeenSet =
true; m_sseSpecification = std::forward<SseSpecificationT>(value); }
181 template<
typename SseSpecificationT = VerifiedAccessSseSpecificationRequest>
191 template<
typename NativeApplicationO
idcOptionsT = CreateVerifiedAccessNativeApplicationO
idcOptions>
192 void SetNativeApplicationOidcOptions(NativeApplicationOidcOptionsT&& value) { m_nativeApplicationOidcOptionsHasBeenSet =
true; m_nativeApplicationOidcOptions = std::forward<NativeApplicationOidcOptionsT>(value); }
193 template<
typename NativeApplicationO
idcOptionsT = CreateVerifiedAccessNativeApplicationO
idcOptions>
199 bool m_trustProviderTypeHasBeenSet =
false;
202 bool m_userTrustProviderTypeHasBeenSet =
false;
205 bool m_deviceTrustProviderTypeHasBeenSet =
false;
207 CreateVerifiedAccessTrustProviderOidcOptions m_oidcOptions;
208 bool m_oidcOptionsHasBeenSet =
false;
210 CreateVerifiedAccessTrustProviderDeviceOptions m_deviceOptions;
211 bool m_deviceOptionsHasBeenSet =
false;
214 bool m_policyReferenceNameHasBeenSet =
false;
217 bool m_descriptionHasBeenSet =
false;
220 bool m_tagSpecificationsHasBeenSet =
false;
223 bool m_clientTokenHasBeenSet =
true;
225 bool m_dryRun{
false};
226 bool m_dryRunHasBeenSet =
false;
228 VerifiedAccessSseSpecificationRequest m_sseSpecification;
229 bool m_sseSpecificationHasBeenSet =
false;
231 CreateVerifiedAccessNativeApplicationOidcOptions m_nativeApplicationOidcOptions;
232 bool m_nativeApplicationOidcOptionsHasBeenSet =
false;
TrustProviderType GetTrustProviderType() const
CreateVerifiedAccessTrustProviderRequest & WithTrustProviderType(TrustProviderType value)
virtual const char * GetServiceRequestName() const override
CreateVerifiedAccessTrustProviderRequest & WithDescription(DescriptionT &&value)
void SetClientToken(ClientTokenT &&value)
CreateVerifiedAccessTrustProviderRequest & WithNativeApplicationOidcOptions(NativeApplicationOidcOptionsT &&value)
CreateVerifiedAccessTrustProviderRequest & WithDeviceTrustProviderType(DeviceTrustProviderType value)
CreateVerifiedAccessTrustProviderRequest & WithUserTrustProviderType(UserTrustProviderType value)
void SetDeviceOptions(DeviceOptionsT &&value)
AWS_EC2_API CreateVerifiedAccessTrustProviderRequest()=default
bool DescriptionHasBeenSet() const
const CreateVerifiedAccessNativeApplicationOidcOptions & GetNativeApplicationOidcOptions() const
bool ClientTokenHasBeenSet() const
bool OidcOptionsHasBeenSet() const
bool NativeApplicationOidcOptionsHasBeenSet() const
bool DeviceOptionsHasBeenSet() const
CreateVerifiedAccessTrustProviderRequest & AddTagSpecifications(TagSpecificationsT &&value)
void SetOidcOptions(OidcOptionsT &&value)
CreateVerifiedAccessTrustProviderRequest & WithSseSpecification(SseSpecificationT &&value)
UserTrustProviderType GetUserTrustProviderType() const
void SetDeviceTrustProviderType(DeviceTrustProviderType value)
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
void SetTagSpecifications(TagSpecificationsT &&value)
const CreateVerifiedAccessTrustProviderDeviceOptions & GetDeviceOptions() const
CreateVerifiedAccessTrustProviderRequest & WithDryRun(bool value)
void SetDryRun(bool value)
bool PolicyReferenceNameHasBeenSet() const
void SetNativeApplicationOidcOptions(NativeApplicationOidcOptionsT &&value)
CreateVerifiedAccessTrustProviderRequest & WithPolicyReferenceName(PolicyReferenceNameT &&value)
void SetSseSpecification(SseSpecificationT &&value)
bool UserTrustProviderTypeHasBeenSet() const
DeviceTrustProviderType GetDeviceTrustProviderType() const
CreateVerifiedAccessTrustProviderRequest & WithOidcOptions(OidcOptionsT &&value)
void SetUserTrustProviderType(UserTrustProviderType value)
bool TagSpecificationsHasBeenSet() const
const VerifiedAccessSseSpecificationRequest & GetSseSpecification() const
const Aws::String & GetClientToken() const
const CreateVerifiedAccessTrustProviderOidcOptions & GetOidcOptions() const
CreateVerifiedAccessTrustProviderRequest & WithClientToken(ClientTokenT &&value)
CreateVerifiedAccessTrustProviderRequest & WithDeviceOptions(DeviceOptionsT &&value)
void SetDescription(DescriptionT &&value)
bool DryRunHasBeenSet() const
bool DeviceTrustProviderTypeHasBeenSet() const
const Aws::String & GetPolicyReferenceName() const
CreateVerifiedAccessTrustProviderRequest & WithTagSpecifications(TagSpecificationsT &&value)
bool TrustProviderTypeHasBeenSet() const
bool SseSpecificationHasBeenSet() const
AWS_EC2_API Aws::String SerializePayload() const override
void SetPolicyReferenceName(PolicyReferenceNameT &&value)
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
void SetTrustProviderType(TrustProviderType value)
const Aws::String & GetDescription() const
static Aws::Utils::UUID PseudoRandomUUID()
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector