/*
* 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 cognito-idp-2016-04-18.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.CognitoIdentityProvider.Model
{
///
/// Container for the parameters to the CreateIdentityProvider operation.
/// Creates an IdP for a user pool.
///
public partial class CreateIdentityProviderRequest : AmazonCognitoIdentityProviderRequest
{
private Dictionary _attributeMapping = new Dictionary();
private List _idpIdentifiers = new List();
private Dictionary _providerDetails = new Dictionary();
private string _providerName;
private IdentityProviderTypeType _providerType;
private string _userPoolId;
///
/// Gets and sets the property AttributeMapping.
///
/// A mapping of IdP attributes to standard and custom user pool attributes.
///
///
public Dictionary AttributeMapping
{
get { return this._attributeMapping; }
set { this._attributeMapping = value; }
}
// Check to see if AttributeMapping property is set
internal bool IsSetAttributeMapping()
{
return this._attributeMapping != null && this._attributeMapping.Count > 0;
}
///
/// Gets and sets the property IdpIdentifiers.
///
/// A list of IdP identifiers.
///
///
[AWSProperty(Min=0, Max=50)]
public List IdpIdentifiers
{
get { return this._idpIdentifiers; }
set { this._idpIdentifiers = value; }
}
// Check to see if IdpIdentifiers property is set
internal bool IsSetIdpIdentifiers()
{
return this._idpIdentifiers != null && this._idpIdentifiers.Count > 0;
}
///
/// Gets and sets the property ProviderDetails.
///
/// The IdP details. The following list describes the provider detail keys for each IdP
/// 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 OpenID Connect (OIDC) providers:
///
///
-
///
/// client_id
///
///
-
///
/// client_secret
///
///
-
///
/// attributes_request_method
///
///
-
///
/// oidc_issuer
///
///
-
///
/// authorize_scopes
///
///
-
///
/// The following keys are only present if Amazon Cognito didn't discover them at the
///
oidc_issuer
URL.
///
/// -
///
/// authorize_url
///
///
-
///
/// token_url
///
///
-
///
/// attributes_url
///
///
-
///
/// jwks_uri
///
///
-
///
/// Amazon Cognito sets the value of the following keys automatically. They are read-only.
///
///
-
///
/// attributes_url_add_attributes
///
///
-
///
/// For SAML providers:
///
///
-
///
/// MetadataFile or MetadataURL
///
///
-
///
/// IDPSignout optional
///
///
///
[AWSProperty(Required=true)]
public Dictionary ProviderDetails
{
get { return this._providerDetails; }
set { this._providerDetails = value; }
}
// Check to see if ProviderDetails property is set
internal bool IsSetProviderDetails()
{
return this._providerDetails != null && this._providerDetails.Count > 0;
}
///
/// Gets and sets the property ProviderName.
///
/// The IdP name.
///
///
[AWSProperty(Required=true, Min=3, Max=32)]
public string ProviderName
{
get { return this._providerName; }
set { this._providerName = value; }
}
// Check to see if ProviderName property is set
internal bool IsSetProviderName()
{
return this._providerName != null;
}
///
/// Gets and sets the property ProviderType.
///
/// The IdP type.
///
///
[AWSProperty(Required=true)]
public IdentityProviderTypeType ProviderType
{
get { return this._providerType; }
set { this._providerType = value; }
}
// Check to see if ProviderType property is set
internal bool IsSetProviderType()
{
return this._providerType != null;
}
///
/// Gets and sets the property UserPoolId.
///
/// The user pool ID.
///
///
[AWSProperty(Required=true, Min=1, Max=55)]
public string UserPoolId
{
get { return this._userPoolId; }
set { this._userPoolId = value; }
}
// Check to see if UserPoolId property is set
internal bool IsSetUserPoolId()
{
return this._userPoolId != null;
}
}
}