/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the ec2-2016-11-15.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.EC2.Model { /// /// Container for the parameters to the CreateVerifiedAccessTrustProvider operation. /// A trust provider is a third-party entity that creates, maintains, and manages identity /// information for users and devices. When an application request is made, the identity /// information sent by the trust provider is evaluated by Verified Access before allowing /// or denying the application request. /// public partial class CreateVerifiedAccessTrustProviderRequest : AmazonEC2Request { private string _clientToken; private string _description; private CreateVerifiedAccessTrustProviderDeviceOptions _deviceOptions; private DeviceTrustProviderType _deviceTrustProviderType; private CreateVerifiedAccessTrustProviderOidcOptions _oidcOptions; private string _policyReferenceName; private List _tagSpecifications = new List(); private TrustProviderType _trustProviderType; private UserTrustProviderType _userTrustProviderType; /// /// Gets and sets the property ClientToken. /// /// A unique, case-sensitive token that you provide to ensure idempotency of your modification /// request. For more information, see Ensuring /// Idempotency. /// /// public string ClientToken { get { return this._clientToken; } set { this._clientToken = value; } } // Check to see if ClientToken property is set internal bool IsSetClientToken() { return this._clientToken != null; } /// /// Gets and sets the property Description. /// /// A description for the Verified Access trust provider. /// /// public string Description { get { return this._description; } set { this._description = value; } } // Check to see if Description property is set internal bool IsSetDescription() { return this._description != null; } /// /// Gets and sets the property DeviceOptions. /// /// The options for a device-based trust provider. This parameter is required when the /// provider type is device. /// /// public CreateVerifiedAccessTrustProviderDeviceOptions DeviceOptions { get { return this._deviceOptions; } set { this._deviceOptions = value; } } // Check to see if DeviceOptions property is set internal bool IsSetDeviceOptions() { return this._deviceOptions != null; } /// /// Gets and sets the property DeviceTrustProviderType. /// /// The type of device-based trust provider. This parameter is required when the provider /// type is device. /// /// public DeviceTrustProviderType DeviceTrustProviderType { get { return this._deviceTrustProviderType; } set { this._deviceTrustProviderType = value; } } // Check to see if DeviceTrustProviderType property is set internal bool IsSetDeviceTrustProviderType() { return this._deviceTrustProviderType != null; } /// /// Gets and sets the property OidcOptions. /// /// The options for a OpenID Connect-compatible user-identity trust provider. This parameter /// is required when the provider type is user. /// /// public CreateVerifiedAccessTrustProviderOidcOptions OidcOptions { get { return this._oidcOptions; } set { this._oidcOptions = value; } } // Check to see if OidcOptions property is set internal bool IsSetOidcOptions() { return this._oidcOptions != null; } /// /// Gets and sets the property PolicyReferenceName. /// /// The identifier to be used when working with policy rules. /// /// [AWSProperty(Required=true)] public string PolicyReferenceName { get { return this._policyReferenceName; } set { this._policyReferenceName = value; } } // Check to see if PolicyReferenceName property is set internal bool IsSetPolicyReferenceName() { return this._policyReferenceName != null; } /// /// Gets and sets the property TagSpecifications. /// /// The tags to assign to the Verified Access trust provider. /// /// public List TagSpecifications { get { return this._tagSpecifications; } set { this._tagSpecifications = value; } } // Check to see if TagSpecifications property is set internal bool IsSetTagSpecifications() { return this._tagSpecifications != null && this._tagSpecifications.Count > 0; } /// /// Gets and sets the property TrustProviderType. /// /// The type of trust provider. /// /// [AWSProperty(Required=true)] public TrustProviderType TrustProviderType { get { return this._trustProviderType; } set { this._trustProviderType = value; } } // Check to see if TrustProviderType property is set internal bool IsSetTrustProviderType() { return this._trustProviderType != null; } /// /// Gets and sets the property UserTrustProviderType. /// /// The type of user-based trust provider. This parameter is required when the provider /// type is user. /// /// public UserTrustProviderType UserTrustProviderType { get { return this._userTrustProviderType; } set { this._userTrustProviderType = value; } } // Check to see if UserTrustProviderType property is set internal bool IsSetUserTrustProviderType() { return this._userTrustProviderType != null; } } }