/*
* 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 eks-2017-11-01.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.EKS.Model
{
///
/// An object representing the configuration for an OpenID Connect (OIDC) identity provider.
///
public partial class OidcIdentityProviderConfig
{
private string _clientId;
private string _clusterName;
private string _groupsClaim;
private string _groupsPrefix;
private string _identityProviderConfigArn;
private string _identityProviderConfigName;
private string _issuerUrl;
private Dictionary _requiredClaims = new Dictionary();
private ConfigStatus _status;
private Dictionary _tags = new Dictionary();
private string _usernameClaim;
private string _usernamePrefix;
///
/// Gets and sets the property ClientId.
///
/// This is also known as audience. The ID of the client application that makes
/// authentication requests to the OIDC identity provider.
///
///
public string ClientId
{
get { return this._clientId; }
set { this._clientId = value; }
}
// Check to see if ClientId property is set
internal bool IsSetClientId()
{
return this._clientId != null;
}
///
/// Gets and sets the property ClusterName.
///
/// The cluster that the configuration is associated to.
///
///
public string ClusterName
{
get { return this._clusterName; }
set { this._clusterName = value; }
}
// Check to see if ClusterName property is set
internal bool IsSetClusterName()
{
return this._clusterName != null;
}
///
/// Gets and sets the property GroupsClaim.
///
/// The JSON web token (JWT) claim that the provider uses to return your groups.
///
///
public string GroupsClaim
{
get { return this._groupsClaim; }
set { this._groupsClaim = value; }
}
// Check to see if GroupsClaim property is set
internal bool IsSetGroupsClaim()
{
return this._groupsClaim != null;
}
///
/// Gets and sets the property GroupsPrefix.
///
/// The prefix that is prepended to group claims to prevent clashes with existing names
/// (such as system:
groups). For example, the value oidc:
creates
/// group names like oidc:engineering
and oidc:infra
. The prefix
/// can't contain system:
///
///
public string GroupsPrefix
{
get { return this._groupsPrefix; }
set { this._groupsPrefix = value; }
}
// Check to see if GroupsPrefix property is set
internal bool IsSetGroupsPrefix()
{
return this._groupsPrefix != null;
}
///
/// Gets and sets the property IdentityProviderConfigArn.
///
/// The ARN of the configuration.
///
///
public string IdentityProviderConfigArn
{
get { return this._identityProviderConfigArn; }
set { this._identityProviderConfigArn = value; }
}
// Check to see if IdentityProviderConfigArn property is set
internal bool IsSetIdentityProviderConfigArn()
{
return this._identityProviderConfigArn != null;
}
///
/// Gets and sets the property IdentityProviderConfigName.
///
/// The name of the configuration.
///
///
public string IdentityProviderConfigName
{
get { return this._identityProviderConfigName; }
set { this._identityProviderConfigName = value; }
}
// Check to see if IdentityProviderConfigName property is set
internal bool IsSetIdentityProviderConfigName()
{
return this._identityProviderConfigName != null;
}
///
/// Gets and sets the property IssuerUrl.
///
/// The URL of the OIDC identity provider that allows the API server to discover public
/// signing keys for verifying tokens.
///
///
public string IssuerUrl
{
get { return this._issuerUrl; }
set { this._issuerUrl = value; }
}
// Check to see if IssuerUrl property is set
internal bool IsSetIssuerUrl()
{
return this._issuerUrl != null;
}
///
/// Gets and sets the property RequiredClaims.
///
/// The key-value pairs that describe required claims in the identity token. If set, each
/// claim is verified to be present in the token with a matching value.
///
///
public Dictionary RequiredClaims
{
get { return this._requiredClaims; }
set { this._requiredClaims = value; }
}
// Check to see if RequiredClaims property is set
internal bool IsSetRequiredClaims()
{
return this._requiredClaims != null && this._requiredClaims.Count > 0;
}
///
/// Gets and sets the property Status.
///
/// The status of the OIDC identity provider.
///
///
public ConfigStatus Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property Tags.
///
/// The metadata to apply to the provider configuration to assist with categorization
/// and organization. Each tag consists of a key and an optional value. You define both.
///
///
[AWSProperty(Min=1, Max=50)]
public Dictionary Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
///
/// Gets and sets the property UsernameClaim.
///
/// The JSON Web token (JWT) claim that is used as the username.
///
///
public string UsernameClaim
{
get { return this._usernameClaim; }
set { this._usernameClaim = value; }
}
// Check to see if UsernameClaim property is set
internal bool IsSetUsernameClaim()
{
return this._usernameClaim != null;
}
///
/// Gets and sets the property UsernamePrefix.
///
/// The prefix that is prepended to username claims to prevent clashes with existing names.
/// The prefix can't contain system:
///
///
public string UsernamePrefix
{
get { return this._usernamePrefix; }
set { this._usernamePrefix = value; }
}
// Check to see if UsernamePrefix property is set
internal bool IsSetUsernamePrefix()
{
return this._usernamePrefix != null;
}
}
}