/*
* 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 UpdateIdentityProvider operation.
/// Updates the identity provider.
///
public partial class UpdateIdentityProviderRequest : AmazonWorkSpacesWebRequest
{
private string _clientToken;
private string _identityProviderArn;
private Dictionary _identityProviderDetails = new Dictionary();
private string _identityProviderName;
private IdentityProviderType _identityProviderType;
///
/// 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 return 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 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 details of the identity provider. 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(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 name of the identity provider.
///
///
[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 type of the identity provider.
///
///
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;
}
}
}