/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include An object representing an OpenID Connect (OIDC) configuration. Before
* associating an OIDC identity provider to your cluster, review the considerations
* in Authenticating
* users for your cluster from an OpenID Connect identity provider in the
* Amazon EKS User Guide.See Also:
AWS
* API Reference
The name of the OIDC provider configuration.
*/ inline const Aws::String& GetIdentityProviderConfigName() const{ return m_identityProviderConfigName; } /** *The name of the OIDC provider configuration.
*/ inline bool IdentityProviderConfigNameHasBeenSet() const { return m_identityProviderConfigNameHasBeenSet; } /** *The name of the OIDC provider configuration.
*/ inline void SetIdentityProviderConfigName(const Aws::String& value) { m_identityProviderConfigNameHasBeenSet = true; m_identityProviderConfigName = value; } /** *The name of the OIDC provider configuration.
*/ inline void SetIdentityProviderConfigName(Aws::String&& value) { m_identityProviderConfigNameHasBeenSet = true; m_identityProviderConfigName = std::move(value); } /** *The name of the OIDC provider configuration.
*/ inline void SetIdentityProviderConfigName(const char* value) { m_identityProviderConfigNameHasBeenSet = true; m_identityProviderConfigName.assign(value); } /** *The name of the OIDC provider configuration.
*/ inline OidcIdentityProviderConfigRequest& WithIdentityProviderConfigName(const Aws::String& value) { SetIdentityProviderConfigName(value); return *this;} /** *The name of the OIDC provider configuration.
*/ inline OidcIdentityProviderConfigRequest& WithIdentityProviderConfigName(Aws::String&& value) { SetIdentityProviderConfigName(std::move(value)); return *this;} /** *The name of the OIDC provider configuration.
*/ inline OidcIdentityProviderConfigRequest& WithIdentityProviderConfigName(const char* value) { SetIdentityProviderConfigName(value); return *this;} /** *The URL of the OpenID identity provider that allows the API server to
* discover public signing keys for verifying tokens. The URL must begin with
* https://
and should correspond to the iss
claim in the
* provider's OIDC ID tokens. Per the OIDC standard, path components are allowed
* but query parameters are not. Typically the URL consists of only a hostname,
* like https://server.example.org
or
* https://example.com
. This URL should point to the level below
* .well-known/openid-configuration
and must be publicly accessible
* over the internet.
The URL of the OpenID identity provider that allows the API server to
* discover public signing keys for verifying tokens. The URL must begin with
* https://
and should correspond to the iss
claim in the
* provider's OIDC ID tokens. Per the OIDC standard, path components are allowed
* but query parameters are not. Typically the URL consists of only a hostname,
* like https://server.example.org
or
* https://example.com
. This URL should point to the level below
* .well-known/openid-configuration
and must be publicly accessible
* over the internet.
The URL of the OpenID identity provider that allows the API server to
* discover public signing keys for verifying tokens. The URL must begin with
* https://
and should correspond to the iss
claim in the
* provider's OIDC ID tokens. Per the OIDC standard, path components are allowed
* but query parameters are not. Typically the URL consists of only a hostname,
* like https://server.example.org
or
* https://example.com
. This URL should point to the level below
* .well-known/openid-configuration
and must be publicly accessible
* over the internet.
The URL of the OpenID identity provider that allows the API server to
* discover public signing keys for verifying tokens. The URL must begin with
* https://
and should correspond to the iss
claim in the
* provider's OIDC ID tokens. Per the OIDC standard, path components are allowed
* but query parameters are not. Typically the URL consists of only a hostname,
* like https://server.example.org
or
* https://example.com
. This URL should point to the level below
* .well-known/openid-configuration
and must be publicly accessible
* over the internet.
The URL of the OpenID identity provider that allows the API server to
* discover public signing keys for verifying tokens. The URL must begin with
* https://
and should correspond to the iss
claim in the
* provider's OIDC ID tokens. Per the OIDC standard, path components are allowed
* but query parameters are not. Typically the URL consists of only a hostname,
* like https://server.example.org
or
* https://example.com
. This URL should point to the level below
* .well-known/openid-configuration
and must be publicly accessible
* over the internet.
The URL of the OpenID identity provider that allows the API server to
* discover public signing keys for verifying tokens. The URL must begin with
* https://
and should correspond to the iss
claim in the
* provider's OIDC ID tokens. Per the OIDC standard, path components are allowed
* but query parameters are not. Typically the URL consists of only a hostname,
* like https://server.example.org
or
* https://example.com
. This URL should point to the level below
* .well-known/openid-configuration
and must be publicly accessible
* over the internet.
The URL of the OpenID identity provider that allows the API server to
* discover public signing keys for verifying tokens. The URL must begin with
* https://
and should correspond to the iss
claim in the
* provider's OIDC ID tokens. Per the OIDC standard, path components are allowed
* but query parameters are not. Typically the URL consists of only a hostname,
* like https://server.example.org
or
* https://example.com
. This URL should point to the level below
* .well-known/openid-configuration
and must be publicly accessible
* over the internet.
The URL of the OpenID identity provider that allows the API server to
* discover public signing keys for verifying tokens. The URL must begin with
* https://
and should correspond to the iss
claim in the
* provider's OIDC ID tokens. Per the OIDC standard, path components are allowed
* but query parameters are not. Typically the URL consists of only a hostname,
* like https://server.example.org
or
* https://example.com
. This URL should point to the level below
* .well-known/openid-configuration
and must be publicly accessible
* over the internet.
This is also known as audience. The ID for the client application that * makes authentication requests to the OpenID identity provider.
*/ inline const Aws::String& GetClientId() const{ return m_clientId; } /** *This is also known as audience. The ID for the client application that * makes authentication requests to the OpenID identity provider.
*/ inline bool ClientIdHasBeenSet() const { return m_clientIdHasBeenSet; } /** *This is also known as audience. The ID for the client application that * makes authentication requests to the OpenID identity provider.
*/ inline void SetClientId(const Aws::String& value) { m_clientIdHasBeenSet = true; m_clientId = value; } /** *This is also known as audience. The ID for the client application that * makes authentication requests to the OpenID identity provider.
*/ inline void SetClientId(Aws::String&& value) { m_clientIdHasBeenSet = true; m_clientId = std::move(value); } /** *This is also known as audience. The ID for the client application that * makes authentication requests to the OpenID identity provider.
*/ inline void SetClientId(const char* value) { m_clientIdHasBeenSet = true; m_clientId.assign(value); } /** *This is also known as audience. The ID for the client application that * makes authentication requests to the OpenID identity provider.
*/ inline OidcIdentityProviderConfigRequest& WithClientId(const Aws::String& value) { SetClientId(value); return *this;} /** *This is also known as audience. The ID for the client application that * makes authentication requests to the OpenID identity provider.
*/ inline OidcIdentityProviderConfigRequest& WithClientId(Aws::String&& value) { SetClientId(std::move(value)); return *this;} /** *This is also known as audience. The ID for the client application that * makes authentication requests to the OpenID identity provider.
*/ inline OidcIdentityProviderConfigRequest& WithClientId(const char* value) { SetClientId(value); return *this;} /** *The JSON Web Token (JWT) claim to use as the username. The default is
* sub
, which is expected to be a unique identifier of the end user.
* You can choose other claims, such as email
or name
,
* depending on the OpenID identity provider. Claims other than email
* are prefixed with the issuer URL to prevent naming clashes with other
* plug-ins.
The JSON Web Token (JWT) claim to use as the username. The default is
* sub
, which is expected to be a unique identifier of the end user.
* You can choose other claims, such as email
or name
,
* depending on the OpenID identity provider. Claims other than email
* are prefixed with the issuer URL to prevent naming clashes with other
* plug-ins.
The JSON Web Token (JWT) claim to use as the username. The default is
* sub
, which is expected to be a unique identifier of the end user.
* You can choose other claims, such as email
or name
,
* depending on the OpenID identity provider. Claims other than email
* are prefixed with the issuer URL to prevent naming clashes with other
* plug-ins.
The JSON Web Token (JWT) claim to use as the username. The default is
* sub
, which is expected to be a unique identifier of the end user.
* You can choose other claims, such as email
or name
,
* depending on the OpenID identity provider. Claims other than email
* are prefixed with the issuer URL to prevent naming clashes with other
* plug-ins.
The JSON Web Token (JWT) claim to use as the username. The default is
* sub
, which is expected to be a unique identifier of the end user.
* You can choose other claims, such as email
or name
,
* depending on the OpenID identity provider. Claims other than email
* are prefixed with the issuer URL to prevent naming clashes with other
* plug-ins.
The JSON Web Token (JWT) claim to use as the username. The default is
* sub
, which is expected to be a unique identifier of the end user.
* You can choose other claims, such as email
or name
,
* depending on the OpenID identity provider. Claims other than email
* are prefixed with the issuer URL to prevent naming clashes with other
* plug-ins.
The JSON Web Token (JWT) claim to use as the username. The default is
* sub
, which is expected to be a unique identifier of the end user.
* You can choose other claims, such as email
or name
,
* depending on the OpenID identity provider. Claims other than email
* are prefixed with the issuer URL to prevent naming clashes with other
* plug-ins.
The JSON Web Token (JWT) claim to use as the username. The default is
* sub
, which is expected to be a unique identifier of the end user.
* You can choose other claims, such as email
or name
,
* depending on the OpenID identity provider. Claims other than email
* are prefixed with the issuer URL to prevent naming clashes with other
* plug-ins.
The prefix that is prepended to username claims to prevent clashes with
* existing names. If you do not provide this field, and username
is a
* value other than email
, the prefix defaults to
* issuerurl#
. You can use the value -
to disable all
* prefixing.
The prefix that is prepended to username claims to prevent clashes with
* existing names. If you do not provide this field, and username
is a
* value other than email
, the prefix defaults to
* issuerurl#
. You can use the value -
to disable all
* prefixing.
The prefix that is prepended to username claims to prevent clashes with
* existing names. If you do not provide this field, and username
is a
* value other than email
, the prefix defaults to
* issuerurl#
. You can use the value -
to disable all
* prefixing.
The prefix that is prepended to username claims to prevent clashes with
* existing names. If you do not provide this field, and username
is a
* value other than email
, the prefix defaults to
* issuerurl#
. You can use the value -
to disable all
* prefixing.
The prefix that is prepended to username claims to prevent clashes with
* existing names. If you do not provide this field, and username
is a
* value other than email
, the prefix defaults to
* issuerurl#
. You can use the value -
to disable all
* prefixing.
The prefix that is prepended to username claims to prevent clashes with
* existing names. If you do not provide this field, and username
is a
* value other than email
, the prefix defaults to
* issuerurl#
. You can use the value -
to disable all
* prefixing.
The prefix that is prepended to username claims to prevent clashes with
* existing names. If you do not provide this field, and username
is a
* value other than email
, the prefix defaults to
* issuerurl#
. You can use the value -
to disable all
* prefixing.
The prefix that is prepended to username claims to prevent clashes with
* existing names. If you do not provide this field, and username
is a
* value other than email
, the prefix defaults to
* issuerurl#
. You can use the value -
to disable all
* prefixing.
The JWT claim that the provider uses to return your groups.
*/ inline const Aws::String& GetGroupsClaim() const{ return m_groupsClaim; } /** *The JWT claim that the provider uses to return your groups.
*/ inline bool GroupsClaimHasBeenSet() const { return m_groupsClaimHasBeenSet; } /** *The JWT claim that the provider uses to return your groups.
*/ inline void SetGroupsClaim(const Aws::String& value) { m_groupsClaimHasBeenSet = true; m_groupsClaim = value; } /** *The 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 JWT claim that the provider uses to return your groups.
*/ inline void SetGroupsClaim(const char* value) { m_groupsClaimHasBeenSet = true; m_groupsClaim.assign(value); } /** *The JWT claim that the provider uses to return your groups.
*/ inline OidcIdentityProviderConfigRequest& WithGroupsClaim(const Aws::String& value) { SetGroupsClaim(value); return *this;} /** *The JWT claim that the provider uses to return your groups.
*/ inline OidcIdentityProviderConfigRequest& WithGroupsClaim(Aws::String&& value) { SetGroupsClaim(std::move(value)); return *this;} /** *The JWT claim that the provider uses to return your groups.
*/ inline OidcIdentityProviderConfigRequest& 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:
will create group names like oidc:engineering
and
* oidc:infra
.
The prefix that is prepended to group claims to prevent clashes with existing
* names (such as system:
groups). For example, the value
* oidc:
will create group names like oidc:engineering
and
* oidc:infra
.
The prefix that is prepended to group claims to prevent clashes with existing
* names (such as system:
groups). For example, the value
* oidc:
will create group names like oidc:engineering
and
* oidc:infra
.
The prefix that is prepended to group claims to prevent clashes with existing
* names (such as system:
groups). For example, the value
* oidc:
will create group names like oidc:engineering
and
* oidc:infra
.
The prefix that is prepended to group claims to prevent clashes with existing
* names (such as system:
groups). For example, the value
* oidc:
will create group names like oidc:engineering
and
* oidc:infra
.
The prefix that is prepended to group claims to prevent clashes with existing
* names (such as system:
groups). For example, the value
* oidc:
will create group names like oidc:engineering
and
* oidc:infra
.
The prefix that is prepended to group claims to prevent clashes with existing
* names (such as system:
groups). For example, the value
* oidc:
will create group names like oidc:engineering
and
* oidc:infra
.
The prefix that is prepended to group claims to prevent clashes with existing
* names (such as system:
groups). For example, the value
* oidc:
will create group names like oidc:engineering
and
* oidc:infra
.
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. * For the maximum number of claims that you can require, see Amazon * EKS service quotas in the Amazon EKS User Guide.
*/ 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. * For the maximum number of claims that you can require, see Amazon * EKS service quotas in the Amazon EKS User Guide.
*/ 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. * For the maximum number of claims that you can require, see Amazon * EKS service quotas in the Amazon EKS User Guide.
*/ 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. * For the maximum number of claims that you can require, see Amazon * EKS service quotas in the Amazon EKS User Guide.
*/ 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. * For the maximum number of claims that you can require, see Amazon * EKS service quotas in the Amazon EKS User Guide.
*/ inline OidcIdentityProviderConfigRequest& 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. * For the maximum number of claims that you can require, see Amazon * EKS service quotas in the Amazon EKS User Guide.
*/ inline OidcIdentityProviderConfigRequest& 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. * For the maximum number of claims that you can require, see Amazon * EKS service quotas in the Amazon EKS User Guide.
*/ inline OidcIdentityProviderConfigRequest& 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. * For the maximum number of claims that you can require, see Amazon * EKS service quotas in the Amazon EKS User Guide.
*/ inline OidcIdentityProviderConfigRequest& 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. * For the maximum number of claims that you can require, see Amazon * EKS service quotas in the Amazon EKS User Guide.
*/ inline OidcIdentityProviderConfigRequest& 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. * For the maximum number of claims that you can require, see Amazon * EKS service quotas in the Amazon EKS User Guide.
*/ inline OidcIdentityProviderConfigRequest& 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. * For the maximum number of claims that you can require, see Amazon * EKS service quotas in the Amazon EKS User Guide.
*/ inline OidcIdentityProviderConfigRequest& 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. * For the maximum number of claims that you can require, see Amazon * EKS service quotas in the Amazon EKS User Guide.
*/ inline OidcIdentityProviderConfigRequest& 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. * For the maximum number of claims that you can require, see Amazon * EKS service quotas in the Amazon EKS User Guide.
*/ inline OidcIdentityProviderConfigRequest& AddRequiredClaims(const char* key, const char* value) { m_requiredClaimsHasBeenSet = true; m_requiredClaims.emplace(key, value); return *this; } private: Aws::String m_identityProviderConfigName; bool m_identityProviderConfigNameHasBeenSet = 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