/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include An object representing the configuration for an OpenID Connect (OIDC)
* identity provider. See Also:
AWS
* API Reference
The name of the configuration.
*/ inline const Aws::String& GetIdentityProviderConfigName() const{ return m_identityProviderConfigName; } /** *The name of the configuration.
*/ inline bool IdentityProviderConfigNameHasBeenSet() const { return m_identityProviderConfigNameHasBeenSet; } /** *The name of the configuration.
*/ inline void SetIdentityProviderConfigName(const Aws::String& value) { m_identityProviderConfigNameHasBeenSet = true; m_identityProviderConfigName = value; } /** *The name of the configuration.
*/ inline void SetIdentityProviderConfigName(Aws::String&& value) { m_identityProviderConfigNameHasBeenSet = true; m_identityProviderConfigName = std::move(value); } /** *The name of the configuration.
*/ inline void SetIdentityProviderConfigName(const char* value) { m_identityProviderConfigNameHasBeenSet = true; m_identityProviderConfigName.assign(value); } /** *The name of the configuration.
*/ inline OidcIdentityProviderConfig& WithIdentityProviderConfigName(const Aws::String& value) { SetIdentityProviderConfigName(value); return *this;} /** *The name of the configuration.
*/ inline OidcIdentityProviderConfig& WithIdentityProviderConfigName(Aws::String&& value) { SetIdentityProviderConfigName(std::move(value)); return *this;} /** *The name of the configuration.
*/ inline OidcIdentityProviderConfig& WithIdentityProviderConfigName(const char* value) { SetIdentityProviderConfigName(value); return *this;} /** *The ARN of the configuration.
*/ inline const Aws::String& GetIdentityProviderConfigArn() const{ return m_identityProviderConfigArn; } /** *The ARN of the configuration.
*/ inline bool IdentityProviderConfigArnHasBeenSet() const { return m_identityProviderConfigArnHasBeenSet; } /** *The ARN of the configuration.
*/ inline void SetIdentityProviderConfigArn(const Aws::String& value) { m_identityProviderConfigArnHasBeenSet = true; m_identityProviderConfigArn = value; } /** *The ARN of the configuration.
*/ inline void SetIdentityProviderConfigArn(Aws::String&& value) { m_identityProviderConfigArnHasBeenSet = true; m_identityProviderConfigArn = std::move(value); } /** *The ARN of the configuration.
*/ inline void SetIdentityProviderConfigArn(const char* value) { m_identityProviderConfigArnHasBeenSet = true; m_identityProviderConfigArn.assign(value); } /** *The ARN of the configuration.
*/ inline OidcIdentityProviderConfig& WithIdentityProviderConfigArn(const Aws::String& value) { SetIdentityProviderConfigArn(value); return *this;} /** *The ARN of the configuration.
*/ inline OidcIdentityProviderConfig& WithIdentityProviderConfigArn(Aws::String&& value) { SetIdentityProviderConfigArn(std::move(value)); return *this;} /** *The ARN of the configuration.
*/ inline OidcIdentityProviderConfig& WithIdentityProviderConfigArn(const char* value) { SetIdentityProviderConfigArn(value); return *this;} /** *The cluster that the configuration is associated to.
*/ inline const Aws::String& GetClusterName() const{ return m_clusterName; } /** *The cluster that the configuration is associated to.
*/ inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; } /** *The cluster that the configuration is associated to.
*/ inline void SetClusterName(const Aws::String& value) { m_clusterNameHasBeenSet = true; m_clusterName = value; } /** *The cluster that the configuration is associated to.
*/ inline void SetClusterName(Aws::String&& value) { m_clusterNameHasBeenSet = true; m_clusterName = std::move(value); } /** *The cluster that the configuration is associated to.
*/ inline void SetClusterName(const char* value) { m_clusterNameHasBeenSet = true; m_clusterName.assign(value); } /** *The cluster that the configuration is associated to.
*/ inline OidcIdentityProviderConfig& WithClusterName(const Aws::String& value) { SetClusterName(value); return *this;} /** *The cluster that the configuration is associated to.
*/ inline OidcIdentityProviderConfig& WithClusterName(Aws::String&& value) { SetClusterName(std::move(value)); return *this;} /** *The cluster that the configuration is associated to.
*/ inline OidcIdentityProviderConfig& WithClusterName(const char* value) { SetClusterName(value); return *this;} /** *The URL of the OIDC identity provider that allows the API server to discover * public signing keys for verifying tokens.
*/ inline const Aws::String& GetIssuerUrl() const{ return m_issuerUrl; } /** *The URL of the OIDC identity provider that allows the API server to discover * public signing keys for verifying tokens.
*/ inline bool IssuerUrlHasBeenSet() const { return m_issuerUrlHasBeenSet; } /** *The URL of the OIDC identity provider that allows the API server to discover * public signing keys for verifying tokens.
*/ inline void SetIssuerUrl(const Aws::String& value) { m_issuerUrlHasBeenSet = true; m_issuerUrl = value; } /** *The URL of the OIDC identity provider that allows the API server to discover * public signing keys for verifying tokens.
*/ inline void SetIssuerUrl(Aws::String&& value) { m_issuerUrlHasBeenSet = true; m_issuerUrl = std::move(value); } /** *The URL of the OIDC identity provider that allows the API server to discover * public signing keys for verifying tokens.
*/ inline void SetIssuerUrl(const char* value) { m_issuerUrlHasBeenSet = true; m_issuerUrl.assign(value); } /** *The URL of the OIDC identity provider that allows the API server to discover * public signing keys for verifying tokens.
*/ inline OidcIdentityProviderConfig& WithIssuerUrl(const Aws::String& value) { SetIssuerUrl(value); return *this;} /** *The URL of the OIDC identity provider that allows the API server to discover * public signing keys for verifying tokens.
*/ inline OidcIdentityProviderConfig& WithIssuerUrl(Aws::String&& value) { SetIssuerUrl(std::move(value)); return *this;} /** *The URL of the OIDC identity provider that allows the API server to discover * public signing keys for verifying tokens.
*/ inline OidcIdentityProviderConfig& WithIssuerUrl(const char* value) { SetIssuerUrl(value); return *this;} /** *This is also known as audience. The ID of the client application that * makes authentication requests to the OIDC identity provider.
*/ inline const Aws::String& GetClientId() const{ return m_clientId; } /** *This is also known as audience. The ID of the client application that * makes authentication requests to the OIDC identity provider.
*/ inline bool ClientIdHasBeenSet() const { return m_clientIdHasBeenSet; } /** *This is also known as audience. The ID of the client application that * makes authentication requests to the OIDC identity provider.
*/ inline void SetClientId(const Aws::String& value) { m_clientIdHasBeenSet = true; m_clientId = value; } /** *This is also known as audience. The ID of the client application that * makes authentication requests to the OIDC identity provider.
*/ inline void SetClientId(Aws::String&& value) { m_clientIdHasBeenSet = true; m_clientId = std::move(value); } /** *This is also known as audience. The ID of the client application that * makes authentication requests to the OIDC identity provider.
*/ inline void SetClientId(const char* value) { m_clientIdHasBeenSet = true; m_clientId.assign(value); } /** *This is also known as audience. The ID of the client application that * makes authentication requests to the OIDC identity provider.
*/ inline OidcIdentityProviderConfig& WithClientId(const Aws::String& value) { SetClientId(value); return *this;} /** *This is also known as audience. The ID of the client application that * makes authentication requests to the OIDC identity provider.
*/ inline OidcIdentityProviderConfig& WithClientId(Aws::String&& value) { SetClientId(std::move(value)); return *this;} /** *This is also known as audience. The ID of the client application that * makes authentication requests to the OIDC identity provider.
*/ inline OidcIdentityProviderConfig& WithClientId(const char* value) { SetClientId(value); return *this;} /** *The JSON Web token (JWT) claim that is used as the username.
*/ inline const Aws::String& GetUsernameClaim() const{ return m_usernameClaim; } /** *The JSON Web token (JWT) claim that is used as the username.
*/ inline bool UsernameClaimHasBeenSet() const { return m_usernameClaimHasBeenSet; } /** *The JSON Web token (JWT) claim that is used as the username.
*/ inline void SetUsernameClaim(const Aws::String& value) { m_usernameClaimHasBeenSet = true; m_usernameClaim = value; } /** *The JSON Web token (JWT) claim that is used as the username.
*/ inline void SetUsernameClaim(Aws::String&& value) { m_usernameClaimHasBeenSet = true; m_usernameClaim = std::move(value); } /** *The JSON Web token (JWT) claim that is used as the username.
*/ inline void SetUsernameClaim(const char* value) { m_usernameClaimHasBeenSet = true; m_usernameClaim.assign(value); } /** *The JSON Web token (JWT) claim that is used as the username.
*/ inline OidcIdentityProviderConfig& WithUsernameClaim(const Aws::String& value) { SetUsernameClaim(value); return *this;} /** *The JSON Web token (JWT) claim that is used as the username.
*/ inline OidcIdentityProviderConfig& WithUsernameClaim(Aws::String&& value) { SetUsernameClaim(std::move(value)); return *this;} /** *The JSON Web token (JWT) claim that is used as the username.
*/ inline OidcIdentityProviderConfig& WithUsernameClaim(const char* value) { SetUsernameClaim(value); return *this;} /** *The prefix that is prepended to username claims to prevent clashes with
* existing names. The prefix can't contain system:
The prefix that is prepended to username claims to prevent clashes with
* existing names. The prefix can't contain system:
The prefix that is prepended to username claims to prevent clashes with
* existing names. The prefix can't contain system:
The prefix that is prepended to username claims to prevent clashes with
* existing names. The prefix can't contain system:
The prefix that is prepended to username claims to prevent clashes with
* existing names. The prefix can't contain system:
The prefix that is prepended to username claims to prevent clashes with
* existing names. The prefix can't contain system:
The prefix that is prepended to username claims to prevent clashes with
* existing names. The prefix can't contain system:
The prefix that is prepended to username claims to prevent clashes with
* existing names. The prefix can't contain system:
The JSON web token (JWT) claim that the provider uses to return your * groups.
*/ inline const Aws::String& GetGroupsClaim() const{ return m_groupsClaim; } /** *The JSON web token (JWT) claim that the provider uses to return your * groups.
*/ inline bool GroupsClaimHasBeenSet() const { return m_groupsClaimHasBeenSet; } /** *The JSON web token (JWT) claim that the provider uses to return your * groups.
*/ inline void SetGroupsClaim(const Aws::String& value) { m_groupsClaimHasBeenSet = true; m_groupsClaim = value; } /** *The JSON web token (JWT) claim that the provider uses to return your * groups.
*/ inline void SetGroupsClaim(Aws::String&& value) { m_groupsClaimHasBeenSet = true; m_groupsClaim = std::move(value); } /** *The JSON web token (JWT) claim that the provider uses to return your * groups.
*/ inline void SetGroupsClaim(const char* value) { m_groupsClaimHasBeenSet = true; m_groupsClaim.assign(value); } /** *The JSON web token (JWT) claim that the provider uses to return your * groups.
*/ inline OidcIdentityProviderConfig& WithGroupsClaim(const Aws::String& value) { SetGroupsClaim(value); return *this;} /** *The JSON web token (JWT) claim that the provider uses to return your * groups.
*/ inline OidcIdentityProviderConfig& WithGroupsClaim(Aws::String&& value) { SetGroupsClaim(std::move(value)); return *this;} /** *The JSON web token (JWT) claim that the provider uses to return your * groups.
*/ inline OidcIdentityProviderConfig& WithGroupsClaim(const char* value) { SetGroupsClaim(value); return *this;} /** *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:
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:
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:
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:
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:
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:
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:
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:
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.
*/ inline const Aws::MapThe 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.
*/ inline bool RequiredClaimsHasBeenSet() const { return m_requiredClaimsHasBeenSet; } /** *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.
*/ inline void SetRequiredClaims(const Aws::MapThe 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.
*/ inline void SetRequiredClaims(Aws::MapThe 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.
*/ inline OidcIdentityProviderConfig& WithRequiredClaims(const Aws::MapThe 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.
*/ inline OidcIdentityProviderConfig& WithRequiredClaims(Aws::MapThe 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.
*/ inline OidcIdentityProviderConfig& AddRequiredClaims(const Aws::String& key, const Aws::String& value) { m_requiredClaimsHasBeenSet = true; m_requiredClaims.emplace(key, value); return *this; } /** *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.
*/ inline OidcIdentityProviderConfig& AddRequiredClaims(Aws::String&& key, const Aws::String& value) { m_requiredClaimsHasBeenSet = true; m_requiredClaims.emplace(std::move(key), value); return *this; } /** *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.
*/ inline OidcIdentityProviderConfig& AddRequiredClaims(const Aws::String& key, Aws::String&& value) { m_requiredClaimsHasBeenSet = true; m_requiredClaims.emplace(key, std::move(value)); return *this; } /** *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.
*/ inline OidcIdentityProviderConfig& AddRequiredClaims(Aws::String&& key, Aws::String&& value) { m_requiredClaimsHasBeenSet = true; m_requiredClaims.emplace(std::move(key), std::move(value)); return *this; } /** *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.
*/ inline OidcIdentityProviderConfig& AddRequiredClaims(const char* key, Aws::String&& value) { m_requiredClaimsHasBeenSet = true; m_requiredClaims.emplace(key, std::move(value)); return *this; } /** *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.
*/ inline OidcIdentityProviderConfig& AddRequiredClaims(Aws::String&& key, const char* value) { m_requiredClaimsHasBeenSet = true; m_requiredClaims.emplace(std::move(key), value); return *this; } /** *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.
*/ inline OidcIdentityProviderConfig& AddRequiredClaims(const char* key, const char* value) { m_requiredClaimsHasBeenSet = true; m_requiredClaims.emplace(key, value); return *this; } /** *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.
*/ inline const Aws::MapThe 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.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *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.
*/ inline void SetTags(const Aws::MapThe 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.
*/ inline void SetTags(Aws::MapThe 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.
*/ inline OidcIdentityProviderConfig& WithTags(const Aws::MapThe 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.
*/ inline OidcIdentityProviderConfig& WithTags(Aws::MapThe 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.
*/ inline OidcIdentityProviderConfig& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *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.
*/ inline OidcIdentityProviderConfig& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *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.
*/ inline OidcIdentityProviderConfig& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *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.
*/ inline OidcIdentityProviderConfig& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *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.
*/ inline OidcIdentityProviderConfig& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *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.
*/ inline OidcIdentityProviderConfig& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *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.
*/ inline OidcIdentityProviderConfig& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *The status of the OIDC identity provider.
*/ inline const ConfigStatus& GetStatus() const{ return m_status; } /** *The status of the OIDC identity provider.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The status of the OIDC identity provider.
*/ inline void SetStatus(const ConfigStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *The status of the OIDC identity provider.
*/ inline void SetStatus(ConfigStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The status of the OIDC identity provider.
*/ inline OidcIdentityProviderConfig& WithStatus(const ConfigStatus& value) { SetStatus(value); return *this;} /** *The status of the OIDC identity provider.
*/ inline OidcIdentityProviderConfig& WithStatus(ConfigStatus&& value) { SetStatus(std::move(value)); return *this;} private: Aws::String m_identityProviderConfigName; bool m_identityProviderConfigNameHasBeenSet = false; Aws::String m_identityProviderConfigArn; bool m_identityProviderConfigArnHasBeenSet = false; Aws::String m_clusterName; bool m_clusterNameHasBeenSet = false; Aws::String m_issuerUrl; bool m_issuerUrlHasBeenSet = false; Aws::String m_clientId; bool m_clientIdHasBeenSet = false; Aws::String m_usernameClaim; bool m_usernameClaimHasBeenSet = false; Aws::String m_usernamePrefix; bool m_usernamePrefixHasBeenSet = false; Aws::String m_groupsClaim; bool m_groupsClaimHasBeenSet = false; Aws::String m_groupsPrefix; bool m_groupsPrefixHasBeenSet = false; Aws::Map