/* * 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 workspaces-web-2020-07-08.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.WorkSpacesWeb.Model { /// /// Container for the parameters to the CreateIdentityProvider operation. /// Creates an identity provider resource that is then associated with a web portal. /// public partial class CreateIdentityProviderRequest : AmazonWorkSpacesWebRequest { private string _clientToken; private Dictionary _identityProviderDetails = new Dictionary(); private string _identityProviderName; private IdentityProviderType _identityProviderType; private string _portalArn; /// /// Gets and sets the property ClientToken. /// /// A unique, case-sensitive identifier that you provide to ensure the idempotency of /// the request. Idempotency ensures that an API request completes only once. With an /// idempotent request, if the original request completes successfully, subsequent retries /// with the same client token returns the result from the original successful request. /// /// /// /// If you do not specify a client token, one is automatically generated by the AWS SDK. /// /// [AWSProperty(Min=1, Max=512)] 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 IdentityProviderDetails. /// /// The identity provider details. The following list describes the provider detail keys /// for each identity provider type. /// ///
  • /// /// For Google and Login with Amazon: /// ///
    • /// /// client_id /// ///
    • /// /// client_secret /// ///
    • /// /// authorize_scopes /// ///
  • /// /// For Facebook: /// ///
    • /// /// client_id /// ///
    • /// /// client_secret /// ///
    • /// /// authorize_scopes /// ///
    • /// /// api_version /// ///
  • /// /// For Sign in with Apple: /// ///
    • /// /// client_id /// ///
    • /// /// team_id /// ///
    • /// /// key_id /// ///
    • /// /// private_key /// ///
    • /// /// authorize_scopes /// ///
  • /// /// For OIDC providers: /// ///
    • /// /// client_id /// ///
    • /// /// client_secret /// ///
    • /// /// attributes_request_method /// ///
    • /// /// oidc_issuer /// ///
    • /// /// authorize_scopes /// ///
    • /// /// authorize_url if not available from discovery URL specified by oidc_issuer /// key /// ///
    • /// /// token_url if not available from discovery URL specified by oidc_issuer /// key /// ///
    • /// /// attributes_url if not available from discovery URL specified by oidc_issuer /// key /// ///
    • /// /// jwks_uri if not available from discovery URL specified by oidc_issuer /// key /// ///
  • /// /// For SAML providers: /// ///
    • /// /// MetadataFile OR MetadataURL /// ///
    • /// /// IDPSignout (boolean) optional /// ///
///
[AWSProperty(Required=true, Sensitive=true)] public Dictionary IdentityProviderDetails { get { return this._identityProviderDetails; } set { this._identityProviderDetails = value; } } // Check to see if IdentityProviderDetails property is set internal bool IsSetIdentityProviderDetails() { return this._identityProviderDetails != null && this._identityProviderDetails.Count > 0; } /// /// Gets and sets the property IdentityProviderName. /// /// The identity provider name. /// /// [AWSProperty(Required=true, Sensitive=true, Min=1, Max=32)] public string IdentityProviderName { get { return this._identityProviderName; } set { this._identityProviderName = value; } } // Check to see if IdentityProviderName property is set internal bool IsSetIdentityProviderName() { return this._identityProviderName != null; } /// /// Gets and sets the property IdentityProviderType. /// /// The identity provider type. /// /// [AWSProperty(Required=true)] public IdentityProviderType IdentityProviderType { get { return this._identityProviderType; } set { this._identityProviderType = value; } } // Check to see if IdentityProviderType property is set internal bool IsSetIdentityProviderType() { return this._identityProviderType != null; } /// /// Gets and sets the property PortalArn. /// /// The ARN of the web portal. /// /// [AWSProperty(Required=true, Min=20, Max=2048)] public string PortalArn { get { return this._portalArn; } set { this._portalArn = value; } } // Check to see if PortalArn property is set internal bool IsSetPortalArn() { return this._portalArn != null; } } }