Class: AWSCDK::EKS::CfnCapability::ArgoCdProperty

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

Overview

Configuration settings for an Argo CD capability.

This includes the Kubernetes namespace, IAM Identity Center integration, RBAC role mappings, and network access configuration.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(aws_idc:, namespace: nil, network_access: nil, rbac_role_mappings: nil, server_url: nil) ⇒ ArgoCdProperty

Returns a new instance of ArgoCdProperty.

Parameters:



664
665
666
667
668
669
670
671
672
673
674
675
# File 'eks/cfn_capability.rb', line 664

def initialize(aws_idc:, namespace: nil, network_access: nil, rbac_role_mappings: nil, server_url: nil)
  @aws_idc = aws_idc.is_a?(Hash) ? ::AWSCDK::EKS::CfnCapability::AWSIdcProperty.new(**aws_idc.transform_keys(&:to_sym)) : aws_idc
  Jsii::Type.check_type(@aws_idc, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19la3MuQ2ZuQ2FwYWJpbGl0eS5Bd3NJZGNQcm9wZXJ0eSJ9XX19")), "awsIdc")
  @namespace = namespace
  Jsii::Type.check_type(@namespace, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "namespace") unless @namespace.nil?
  @network_access = network_access.is_a?(Hash) ? ::AWSCDK::EKS::CfnCapability::NetworkAccessProperty.new(**network_access.transform_keys(&:to_sym)) : network_access
  Jsii::Type.check_type(@network_access, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19la3MuQ2ZuQ2FwYWJpbGl0eS5OZXR3b3JrQWNjZXNzUHJvcGVydHkifV19fQ==")), "networkAccess") unless @network_access.nil?
  @rbac_role_mappings = rbac_role_mappings
  Jsii::Type.check_type(@rbac_role_mappings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWtzLkNmbkNhcGFiaWxpdHkuQXJnb0NkUm9sZU1hcHBpbmdQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "rbacRoleMappings") unless @rbac_role_mappings.nil?
  @server_url = server_url
  Jsii::Type.check_type(@server_url, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serverUrl") unless @server_url.nil?
end

Instance Attribute Details

#aws_idcAWSCDK::IResolvable, AWSCDK::EKS::CfnCapability::AWSIdcProperty (readonly)

Configuration for integrating Argo CD with IAM Identity Center.

This allows you to use your organization's identity provider for authentication to Argo CD.



683
684
685
# File 'eks/cfn_capability.rb', line 683

def aws_idc
  @aws_idc
end

#namespaceString? (readonly)

The Kubernetes namespace where Argo CD resources will be created.

If not specified, the default namespace is used.



690
691
692
# File 'eks/cfn_capability.rb', line 690

def namespace
  @namespace
end

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

Configuration for network access to the Argo CD capability's managed API server endpoint.

By default, the Argo CD server is accessible via a public endpoint. You can optionally specify one or more VPC endpoint IDs to enable private connectivity from your VPCs.



697
698
699
# File 'eks/cfn_capability.rb', line 697

def network_access
  @network_access
end

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

A list of role mappings that define which IAM Identity Center users or groups have which Argo CD roles.

Each mapping associates an Argo CD role (ADMIN, EDITOR, or VIEWER) with one or more IAM Identity Center identities.



704
705
706
# File 'eks/cfn_capability.rb', line 704

def rbac_role_mappings
  @rbac_role_mappings
end

#server_urlString? (readonly)

The URL of the Argo CD server.

Use this URL to access the Argo CD web interface and API.



711
712
713
# File 'eks/cfn_capability.rb', line 711

def server_url
  @server_url
end

Class Method Details

.jsii_propertiesObject



713
714
715
716
717
718
719
720
721
# File 'eks/cfn_capability.rb', line 713

def self.jsii_properties
  {
    :aws_idc => "awsIdc",
    :namespace => "namespace",
    :network_access => "networkAccess",
    :rbac_role_mappings => "rbacRoleMappings",
    :server_url => "serverUrl",
  }
end

Instance Method Details

#to_jsiiObject



723
724
725
726
727
728
729
730
731
732
733
# File 'eks/cfn_capability.rb', line 723

def to_jsii
  result = {}
  result.merge!({
    "awsIdc" => @aws_idc,
    "namespace" => @namespace,
    "networkAccess" => @network_access,
    "rbacRoleMappings" => @rbac_role_mappings,
    "serverUrl" => @server_url,
  })
  result.compact
end