Class: AWSCDK::EKS::CfnIdentityProviderConfig::OidcIdentityProviderConfigProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
eks/cfn_identity_provider_config.rb

Overview

An object representing the configuration for an OpenID Connect (OIDC) identity provider.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client_id:, issuer_url:, groups_claim: nil, groups_prefix: nil, required_claims: nil, username_claim: nil, username_prefix: nil) ⇒ OidcIdentityProviderConfigProperty

Returns a new instance of OidcIdentityProviderConfigProperty.

Parameters:

  • client_id (String)

    This is also known as audience .

  • issuer_url (String)

    The URL of the OIDC identity provider that allows the API server to discover public signing keys for verifying tokens.

  • groups_claim (String, nil) (defaults to: nil)

    The JSON web token (JWT) claim that the provider uses to return your groups.

  • groups_prefix (String, nil) (defaults to: nil)

    The prefix that is prepended to group claims to prevent clashes with existing names (such as system: groups).

  • required_claims (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::EKS::CfnIdentityProviderConfig::RequiredClaimProperty>, nil) (defaults to: nil)

    The key-value pairs that describe required claims in the identity token.

  • username_claim (String, nil) (defaults to: nil)

    The JSON Web token (JWT) claim that is used as the username.

  • username_prefix (String, nil) (defaults to: nil)

    The prefix that is prepended to username claims to prevent clashes with existing names.



578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
# File 'eks/cfn_identity_provider_config.rb', line 578

def initialize(client_id:, issuer_url:, groups_claim: nil, groups_prefix: nil, required_claims: nil, username_claim: nil, username_prefix: nil)
  @client_id = client_id
  Jsii::Type.check_type(@client_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "clientId")
  @issuer_url = issuer_url
  Jsii::Type.check_type(@issuer_url, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "issuerUrl")
  @groups_claim = groups_claim
  Jsii::Type.check_type(@groups_claim, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "groupsClaim") unless @groups_claim.nil?
  @groups_prefix = groups_prefix
  Jsii::Type.check_type(@groups_prefix, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "groupsPrefix") unless @groups_prefix.nil?
  @required_claims = required_claims
  Jsii::Type.check_type(@required_claims, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWtzLkNmbklkZW50aXR5UHJvdmlkZXJDb25maWcuUmVxdWlyZWRDbGFpbVByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "requiredClaims") unless @required_claims.nil?
  @username_claim = username_claim
  Jsii::Type.check_type(@username_claim, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "usernameClaim") unless @username_claim.nil?
  @username_prefix = username_prefix
  Jsii::Type.check_type(@username_prefix, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "usernamePrefix") unless @username_prefix.nil?
end

Instance Attribute Details

#client_idString (readonly)

This is also known as audience .

The ID of the client application that makes authentication requests to the OIDC identity provider.



601
602
603
# File 'eks/cfn_identity_provider_config.rb', line 601

def client_id
  @client_id
end

#groups_claimString? (readonly)

The JSON web token (JWT) claim that the provider uses to return your groups.



611
612
613
# File 'eks/cfn_identity_provider_config.rb', line 611

def groups_claim
  @groups_claim
end

#groups_prefixString? (readonly)

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:



618
619
620
# File 'eks/cfn_identity_provider_config.rb', line 618

def groups_prefix
  @groups_prefix
end

#issuer_urlString (readonly)

The URL of the OIDC identity provider that allows the API server to discover public signing keys for verifying tokens.



606
607
608
# File 'eks/cfn_identity_provider_config.rb', line 606

def issuer_url
  @issuer_url
end

#required_claimsAWSCDK::IResolvable, ... (readonly)

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.



625
626
627
# File 'eks/cfn_identity_provider_config.rb', line 625

def required_claims
  @required_claims
end

#username_claimString? (readonly)

The JSON Web token (JWT) claim that is used as the username.



630
631
632
# File 'eks/cfn_identity_provider_config.rb', line 630

def username_claim
  @username_claim
end

#username_prefixString? (readonly)

The prefix that is prepended to username claims to prevent clashes with existing names.

The prefix can't contain system:



637
638
639
# File 'eks/cfn_identity_provider_config.rb', line 637

def username_prefix
  @username_prefix
end

Class Method Details

.jsii_propertiesObject



639
640
641
642
643
644
645
646
647
648
649
# File 'eks/cfn_identity_provider_config.rb', line 639

def self.jsii_properties
  {
    :client_id => "clientId",
    :issuer_url => "issuerUrl",
    :groups_claim => "groupsClaim",
    :groups_prefix => "groupsPrefix",
    :required_claims => "requiredClaims",
    :username_claim => "usernameClaim",
    :username_prefix => "usernamePrefix",
  }
end

Instance Method Details

#to_jsiiObject



651
652
653
654
655
656
657
658
659
660
661
662
663
# File 'eks/cfn_identity_provider_config.rb', line 651

def to_jsii
  result = {}
  result.merge!({
    "clientId" => @client_id,
    "issuerUrl" => @issuer_url,
    "groupsClaim" => @groups_claim,
    "groupsPrefix" => @groups_prefix,
    "requiredClaims" => @required_claims,
    "usernameClaim" => @username_claim,
    "usernamePrefix" => @username_prefix,
  })
  result.compact
end