/*
* 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
{
///
/// The identity provider.
///
public partial class IdentityProvider
{
private string _identityProviderArn;
private Dictionary _identityProviderDetails = new Dictionary();
private string _identityProviderName;
private IdentityProviderType _identityProviderType;
///
/// Gets and sets the property IdentityProviderArn.
///
/// The ARN of the identity provider.
///
///
[AWSProperty(Required=true, Min=20, Max=2048)]
public string IdentityProviderArn
{
get { return this._identityProviderArn; }
set { this._identityProviderArn = value; }
}
// Check to see if IdentityProviderArn property is set
internal bool IsSetIdentityProviderArn()
{
return this._identityProviderArn != 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
optional
///
///
///
[AWSProperty(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(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.
///
///
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;
}
}
}