Class: AWSCDK::EKS::CfnCluster::OutpostConfigProperty

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

Overview

The configuration of your local Amazon EKS cluster on an AWS Outpost.

Before creating a cluster on an Outpost, review Creating a local cluster on an Outpost in the Amazon EKS User Guide . This API isn't available for Amazon EKS clusters on the AWS cloud.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(control_plane_instance_type:, outpost_arns:, control_plane_placement: nil, etcd_instance_type: nil, etcd_placement: nil) ⇒ OutpostConfigProperty

Returns a new instance of OutpostConfigProperty.

Parameters:

  • control_plane_instance_type (String)

    The Amazon EC2 instance type that you want to use for your local Amazon EKS cluster on Outposts.

  • outpost_arns (Array<String>)

    The ARN of the Outpost that you want to use for your local Amazon EKS cluster on Outposts.

  • control_plane_placement (AWSCDK::IResolvable, AWSCDK::EKS::CfnCluster::ControlPlanePlacementProperty, nil) (defaults to: nil)

    An object representing the placement configuration for all the control plane instances of your local Amazon EKS cluster on an AWS Outpost.

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

    The EC2 instance type for etcd instances of your local Amazon EKS cluster on AWS Outposts.

  • etcd_placement (AWSCDK::IResolvable, AWSCDK::EKS::CfnCluster::EtcdPlacementProperty, nil) (defaults to: nil)

    The placement configuration for the etcd instances of your local Amazon EKS cluster on an AWS Outpost.



1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
# File 'eks/cfn_cluster.rb', line 1406

def initialize(control_plane_instance_type:, outpost_arns:, control_plane_placement: nil, etcd_instance_type: nil, etcd_placement: nil)
  @control_plane_instance_type = control_plane_instance_type
  Jsii::Type.check_type(@control_plane_instance_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "controlPlaneInstanceType")
  @outpost_arns = outpost_arns
  Jsii::Type.check_type(@outpost_arns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "outpostArns")
  @control_plane_placement = control_plane_placement.is_a?(Hash) ? ::AWSCDK::EKS::CfnCluster::ControlPlanePlacementProperty.new(**control_plane_placement.transform_keys(&:to_sym)) : control_plane_placement
  Jsii::Type.check_type(@control_plane_placement, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19la3MuQ2ZuQ2x1c3Rlci5Db250cm9sUGxhbmVQbGFjZW1lbnRQcm9wZXJ0eSJ9XX19")), "controlPlanePlacement") unless @control_plane_placement.nil?
  @etcd_instance_type = etcd_instance_type
  Jsii::Type.check_type(@etcd_instance_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "etcdInstanceType") unless @etcd_instance_type.nil?
  @etcd_placement = etcd_placement.is_a?(Hash) ? ::AWSCDK::EKS::CfnCluster::EtcdPlacementProperty.new(**etcd_placement.transform_keys(&:to_sym)) : etcd_placement
  Jsii::Type.check_type(@etcd_placement, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19la3MuQ2ZuQ2x1c3Rlci5FdGNkUGxhY2VtZW50UHJvcGVydHkifV19fQ==")), "etcdPlacement") unless @etcd_placement.nil?
end

Instance Attribute Details

#control_plane_instance_typeString (readonly)

The Amazon EC2 instance type that you want to use for your local Amazon EKS cluster on Outposts.

Choose an instance type based on the number of nodes that your cluster will have. For more information, see Capacity considerations in the Amazon EKS User Guide .

The instance type that you specify is used for all Kubernetes control plane instances. The instance type can't be changed after cluster creation. The control plane is not automatically scaled by Amazon EKS.



1427
1428
1429
# File 'eks/cfn_cluster.rb', line 1427

def control_plane_instance_type
  @control_plane_instance_type
end

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

An object representing the placement configuration for all the control plane instances of your local Amazon EKS cluster on an AWS Outpost.

For more information, see Capacity considerations in the Amazon EKS User Guide .



1441
1442
1443
# File 'eks/cfn_cluster.rb', line 1441

def control_plane_placement
  @control_plane_placement
end

#etcd_instance_typeString? (readonly)

The EC2 instance type for etcd instances of your local Amazon EKS cluster on AWS Outposts.

This instance type applies to all etcd instances and cannot be changed after cluster creation.



1448
1449
1450
# File 'eks/cfn_cluster.rb', line 1448

def etcd_instance_type
  @etcd_instance_type
end

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

The placement configuration for the etcd instances of your local Amazon EKS cluster on an AWS Outpost.



1453
1454
1455
# File 'eks/cfn_cluster.rb', line 1453

def etcd_placement
  @etcd_placement
end

#outpost_arnsArray<String> (readonly)

The ARN of the Outpost that you want to use for your local Amazon EKS cluster on Outposts.

Only a single Outpost ARN is supported.



1434
1435
1436
# File 'eks/cfn_cluster.rb', line 1434

def outpost_arns
  @outpost_arns
end

Class Method Details

.jsii_propertiesObject



1455
1456
1457
1458
1459
1460
1461
1462
1463
# File 'eks/cfn_cluster.rb', line 1455

def self.jsii_properties
  {
    :control_plane_instance_type => "controlPlaneInstanceType",
    :outpost_arns => "outpostArns",
    :control_plane_placement => "controlPlanePlacement",
    :etcd_instance_type => "etcdInstanceType",
    :etcd_placement => "etcdPlacement",
  }
end

Instance Method Details

#to_jsiiObject



1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
# File 'eks/cfn_cluster.rb', line 1465

def to_jsii
  result = {}
  result.merge!({
    "controlPlaneInstanceType" => @control_plane_instance_type,
    "outpostArns" => @outpost_arns,
    "controlPlanePlacement" => @control_plane_placement,
    "etcdInstanceType" => @etcd_instance_type,
    "etcdPlacement" => @etcd_placement,
  })
  result.compact
end