Class Cluster


  • public class Cluster
    extends com.pulumi.resources.CustomResource
    Manages an EKS Cluster. ## Example Usage ### EKS Cluster
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.iam.Role;
     import com.pulumi.aws.iam.RoleArgs;
     import com.pulumi.aws.iam.RolePolicyAttachment;
     import com.pulumi.aws.iam.RolePolicyAttachmentArgs;
     import com.pulumi.aws.eks.Cluster;
     import com.pulumi.aws.eks.ClusterArgs;
     import com.pulumi.aws.eks.inputs.ClusterAccessConfigArgs;
     import com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;
     import static com.pulumi.codegen.internal.Serialization.*;
     import com.pulumi.resources.CustomResourceOptions;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var cluster = new Role("cluster", RoleArgs.builder()
                 .name("eks-cluster-example")
                 .assumeRolePolicy(serializeJson(
                     jsonObject(
                         jsonProperty("Version", "2012-10-17"),
                         jsonProperty("Statement", jsonArray(jsonObject(
                             jsonProperty("Action", jsonArray(
                                 "sts:AssumeRole", 
                                 "sts:TagSession"
                             )),
                             jsonProperty("Effect", "Allow"),
                             jsonProperty("Principal", jsonObject(
                                 jsonProperty("Service", "eks.amazonaws.com")
                             ))
                         )))
                     )))
                 .build());
     
             var clusterAmazonEKSClusterPolicy = new RolePolicyAttachment("clusterAmazonEKSClusterPolicy", RolePolicyAttachmentArgs.builder()
                 .policyArn("arn:aws:iam::aws:policy/AmazonEKSClusterPolicy")
                 .role(cluster.name())
                 .build());
     
             var example = new Cluster("example", ClusterArgs.builder()
                 .accessConfig(ClusterAccessConfigArgs.builder()
                     .authenticationMode("API")
                     .build())
                 .vpcConfig(ClusterVpcConfigArgs.builder()
                     .subnetIds(                
                         az1.id(),
                         az2.id(),
                         az3.id())
                     .build())
                 .name("example")
                 .roleArn(cluster.arn())
                 .version("1.35")
                 .build(), CustomResourceOptions.builder()
                     .dependsOn(clusterAmazonEKSClusterPolicy)
                     .build());
     
         }
     }
     
     
    ### EKS Cluster with EKS Auto Mode > **NOTE:** When using EKS Auto Mode `compute_config.enabled`, `kubernetes_network_config.elastic_load_balancing.enabled`, and `storage_config.block_storage.enabled` must *ALL be set to `true`. Likewise for disabling EKS Auto Mode, all three arguments must be set to `false`. Enabling EKS Auto Mode also requires that `bootstrapSelfManagedAddons` is set to `false`.
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.iam.Role;
     import com.pulumi.aws.iam.RoleArgs;
     import com.pulumi.aws.iam.RolePolicyAttachment;
     import com.pulumi.aws.iam.RolePolicyAttachmentArgs;
     import com.pulumi.aws.eks.Cluster;
     import com.pulumi.aws.eks.ClusterArgs;
     import com.pulumi.aws.eks.inputs.ClusterAccessConfigArgs;
     import com.pulumi.aws.eks.inputs.ClusterComputeConfigArgs;
     import com.pulumi.aws.eks.inputs.ClusterKubernetesNetworkConfigArgs;
     import com.pulumi.aws.eks.inputs.ClusterKubernetesNetworkConfigElasticLoadBalancingArgs;
     import com.pulumi.aws.eks.inputs.ClusterStorageConfigArgs;
     import com.pulumi.aws.eks.inputs.ClusterStorageConfigBlockStorageArgs;
     import com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;
     import static com.pulumi.codegen.internal.Serialization.*;
     import com.pulumi.resources.CustomResourceOptions;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var node = new Role("node", RoleArgs.builder()
                 .name("eks-auto-node-example")
                 .assumeRolePolicy(serializeJson(
                     jsonObject(
                         jsonProperty("Version", "2012-10-17"),
                         jsonProperty("Statement", jsonArray(jsonObject(
                             jsonProperty("Action", jsonArray("sts:AssumeRole")),
                             jsonProperty("Effect", "Allow"),
                             jsonProperty("Principal", jsonObject(
                                 jsonProperty("Service", "ec2.amazonaws.com")
                             ))
                         )))
                     )))
                 .build());
     
             var cluster = new Role("cluster", RoleArgs.builder()
                 .name("eks-cluster-example")
                 .assumeRolePolicy(serializeJson(
                     jsonObject(
                         jsonProperty("Version", "2012-10-17"),
                         jsonProperty("Statement", jsonArray(jsonObject(
                             jsonProperty("Action", jsonArray(
                                 "sts:AssumeRole", 
                                 "sts:TagSession"
                             )),
                             jsonProperty("Effect", "Allow"),
                             jsonProperty("Principal", jsonObject(
                                 jsonProperty("Service", "eks.amazonaws.com")
                             ))
                         )))
                     )))
                 .build());
     
             var clusterAmazonEKSClusterPolicy = new RolePolicyAttachment("clusterAmazonEKSClusterPolicy", RolePolicyAttachmentArgs.builder()
                 .policyArn("arn:aws:iam::aws:policy/AmazonEKSClusterPolicy")
                 .role(cluster.name())
                 .build());
     
             var clusterAmazonEKSComputePolicy = new RolePolicyAttachment("clusterAmazonEKSComputePolicy", RolePolicyAttachmentArgs.builder()
                 .policyArn("arn:aws:iam::aws:policy/AmazonEKSComputePolicy")
                 .role(cluster.name())
                 .build());
     
             var clusterAmazonEKSBlockStoragePolicy = new RolePolicyAttachment("clusterAmazonEKSBlockStoragePolicy", RolePolicyAttachmentArgs.builder()
                 .policyArn("arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy")
                 .role(cluster.name())
                 .build());
     
             var clusterAmazonEKSLoadBalancingPolicy = new RolePolicyAttachment("clusterAmazonEKSLoadBalancingPolicy", RolePolicyAttachmentArgs.builder()
                 .policyArn("arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy")
                 .role(cluster.name())
                 .build());
     
             var clusterAmazonEKSNetworkingPolicy = new RolePolicyAttachment("clusterAmazonEKSNetworkingPolicy", RolePolicyAttachmentArgs.builder()
                 .policyArn("arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy")
                 .role(cluster.name())
                 .build());
     
             var example = new Cluster("example", ClusterArgs.builder()
                 .accessConfig(ClusterAccessConfigArgs.builder()
                     .authenticationMode("API")
                     .build())
                 .computeConfig(ClusterComputeConfigArgs.builder()
                     .enabled(true)
                     .nodePools("general-purpose")
                     .nodeRoleArn(node.arn())
                     .build())
                 .kubernetesNetworkConfig(ClusterKubernetesNetworkConfigArgs.builder()
                     .elasticLoadBalancing(ClusterKubernetesNetworkConfigElasticLoadBalancingArgs.builder()
                         .enabled(true)
                         .build())
                     .build())
                 .storageConfig(ClusterStorageConfigArgs.builder()
                     .blockStorage(ClusterStorageConfigBlockStorageArgs.builder()
                         .enabled(true)
                         .build())
                     .build())
                 .vpcConfig(ClusterVpcConfigArgs.builder()
                     .endpointPrivateAccess(true)
                     .endpointPublicAccess(true)
                     .subnetIds(                
                         az1.id(),
                         az2.id(),
                         az3.id())
                     .build())
                 .name("example")
                 .roleArn(cluster.arn())
                 .version("1.35")
                 .bootstrapSelfManagedAddons(false)
                 .build(), CustomResourceOptions.builder()
                     .dependsOn(                
                         clusterAmazonEKSClusterPolicy,
                         clusterAmazonEKSComputePolicy,
                         clusterAmazonEKSBlockStoragePolicy,
                         clusterAmazonEKSLoadBalancingPolicy,
                         clusterAmazonEKSNetworkingPolicy)
                     .build());
     
             var nodeAmazonEKSWorkerNodeMinimalPolicy = new RolePolicyAttachment("nodeAmazonEKSWorkerNodeMinimalPolicy", RolePolicyAttachmentArgs.builder()
                 .policyArn("arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy")
                 .role(node.name())
                 .build());
     
             var nodeAmazonEC2ContainerRegistryPullOnly = new RolePolicyAttachment("nodeAmazonEC2ContainerRegistryPullOnly", RolePolicyAttachmentArgs.builder()
                 .policyArn("arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly")
                 .role(node.name())
                 .build());
     
         }
     }
     
     
    ### EKS Cluster with EKS Hybrid Nodes
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.iam.Role;
     import com.pulumi.aws.iam.RoleArgs;
     import com.pulumi.aws.iam.RolePolicyAttachment;
     import com.pulumi.aws.iam.RolePolicyAttachmentArgs;
     import com.pulumi.aws.eks.Cluster;
     import com.pulumi.aws.eks.ClusterArgs;
     import com.pulumi.aws.eks.inputs.ClusterAccessConfigArgs;
     import com.pulumi.aws.eks.inputs.ClusterRemoteNetworkConfigArgs;
     import com.pulumi.aws.eks.inputs.ClusterRemoteNetworkConfigRemoteNodeNetworksArgs;
     import com.pulumi.aws.eks.inputs.ClusterRemoteNetworkConfigRemotePodNetworksArgs;
     import com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;
     import static com.pulumi.codegen.internal.Serialization.*;
     import com.pulumi.resources.CustomResourceOptions;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var cluster = new Role("cluster", RoleArgs.builder()
                 .name("eks-cluster-example")
                 .assumeRolePolicy(serializeJson(
                     jsonObject(
                         jsonProperty("Version", "2012-10-17"),
                         jsonProperty("Statement", jsonArray(jsonObject(
                             jsonProperty("Action", jsonArray(
                                 "sts:AssumeRole", 
                                 "sts:TagSession"
                             )),
                             jsonProperty("Effect", "Allow"),
                             jsonProperty("Principal", jsonObject(
                                 jsonProperty("Service", "eks.amazonaws.com")
                             ))
                         )))
                     )))
                 .build());
     
             var clusterAmazonEKSClusterPolicy = new RolePolicyAttachment("clusterAmazonEKSClusterPolicy", RolePolicyAttachmentArgs.builder()
                 .policyArn("arn:aws:iam::aws:policy/AmazonEKSClusterPolicy")
                 .role(cluster.name())
                 .build());
     
             var example = new Cluster("example", ClusterArgs.builder()
                 .accessConfig(ClusterAccessConfigArgs.builder()
                     .authenticationMode("API")
                     .build())
                 .remoteNetworkConfig(ClusterRemoteNetworkConfigArgs.builder()
                     .remoteNodeNetworks(ClusterRemoteNetworkConfigRemoteNodeNetworksArgs.builder()
                         .cidrs("172.16.0.0/18")
                         .build())
                     .remotePodNetworks(ClusterRemoteNetworkConfigRemotePodNetworksArgs.builder()
                         .cidrs("172.16.64.0/18")
                         .build())
                     .build())
                 .vpcConfig(ClusterVpcConfigArgs.builder()
                     .endpointPrivateAccess(true)
                     .endpointPublicAccess(true)
                     .subnetIds(                
                         az1.id(),
                         az2.id(),
                         az3.id())
                     .build())
                 .name("example")
                 .roleArn(cluster.arn())
                 .version("1.35")
                 .build(), CustomResourceOptions.builder()
                     .dependsOn(clusterAmazonEKSClusterPolicy)
                     .build());
     
         }
     }
     
     
    ### Local EKS Cluster on AWS Outpost [Creating a local Amazon EKS cluster on an AWS Outpost](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster-outpost.html)
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.outposts.OutpostsFunctions;
     import com.pulumi.aws.outposts.inputs.GetOutpostArgs;
     import com.pulumi.aws.iam.Role;
     import com.pulumi.aws.iam.RoleArgs;
     import com.pulumi.aws.iam.RolePolicyAttachment;
     import com.pulumi.aws.iam.RolePolicyAttachmentArgs;
     import com.pulumi.aws.eks.Cluster;
     import com.pulumi.aws.eks.ClusterArgs;
     import com.pulumi.aws.eks.inputs.ClusterAccessConfigArgs;
     import com.pulumi.aws.eks.inputs.ClusterVpcConfigArgs;
     import com.pulumi.aws.eks.inputs.ClusterOutpostConfigArgs;
     import static com.pulumi.codegen.internal.Serialization.*;
     import com.pulumi.resources.CustomResourceOptions;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             final var example = OutpostsFunctions.getOutpost(GetOutpostArgs.builder()
                 .name("example")
                 .build());
     
             var cluster = new Role("cluster", RoleArgs.builder()
                 .name("eks-cluster-example")
                 .assumeRolePolicy(serializeJson(
                     jsonObject(
                         jsonProperty("Version", "2012-10-17"),
                         jsonProperty("Statement", jsonArray(jsonObject(
                             jsonProperty("Action", jsonArray(
                                 "sts:AssumeRole", 
                                 "sts:TagSession"
                             )),
                             jsonProperty("Effect", "Allow"),
                             jsonProperty("Principal", jsonObject(
                                 jsonProperty("Service", jsonArray(
                                     "eks.amazonaws.com", 
                                     "ec2.amazonaws.com"
                                 ))
                             ))
                         )))
                     )))
                 .build());
     
             var clusterAmazonEKSLocalOutpostClusterPolicy = new RolePolicyAttachment("clusterAmazonEKSLocalOutpostClusterPolicy", RolePolicyAttachmentArgs.builder()
                 .policyArn("arn:aws:iam::aws:policy/AmazonEKSLocalOutpostClusterPolicy")
                 .role(cluster.name())
                 .build());
     
             var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder()
                 .accessConfig(ClusterAccessConfigArgs.builder()
                     .authenticationMode("CONFIG_MAP")
                     .build())
                 .vpcConfig(ClusterVpcConfigArgs.builder()
                     .endpointPrivateAccess(true)
                     .endpointPublicAccess(false)
                     .subnetIds(                
                         az1.id(),
                         az2.id(),
                         az3.id())
                     .build())
                 .outpostConfig(ClusterOutpostConfigArgs.builder()
                     .controlPlaneInstanceType("m5.large")
                     .outpostArns(example.arn())
                     .build())
                 .name("example")
                 .roleArn(cluster.arn())
                 .version("1.35")
                 .build(), CustomResourceOptions.builder()
                     .dependsOn(clusterAmazonEKSLocalOutpostClusterPolicy)
                     .build());
     
         }
     }
     
     
    ## Import ### Identity Schema #### Required * `name` (String) Name of the cluster. #### Optional * `accountId` (String) AWS Account where this resource is managed. * `region` (String) Region where this resource is managed. Using `pulumi import`, import EKS Clusters using the `name`. For example: ```sh $ pulumi import aws:eks/cluster:Cluster example example ```
    • Constructor Detail

      • Cluster

        public Cluster​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • Cluster

        public Cluster​(java.lang.String name,
                       ClusterArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • Cluster

        public Cluster​(java.lang.String name,
                       ClusterArgs args,
                       @Nullable
                       com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • accessConfig

        public com.pulumi.core.Output<ClusterAccessConfig> accessConfig()
        Returns:
        Configuration block for the access config associated with your cluster, see [Amazon EKS Access Entries](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html). Detailed below.
      • arn

        public com.pulumi.core.Output<java.lang.String> arn()
        Returns:
        ARN of the cluster.
      • bootstrapSelfManagedAddons

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> bootstrapSelfManagedAddons()
        Returns:
        Install default unmanaged add-ons, such as `aws-cni`, `kube-proxy`, and CoreDNS during cluster creation. If `false`, you must manually install desired add-ons. Changing this value will force a new cluster to be created. Defaults to `true`.
      • certificateAuthority

        public com.pulumi.core.Output<ClusterCertificateAuthority> certificateAuthority()
        Returns:
        Attribute block containing `certificate-authority-data` for your cluster. Detailed below.
      • clusterId

        public com.pulumi.core.Output<java.lang.String> clusterId()
        Returns:
        The ID of your local Amazon EKS cluster on the AWS Outpost. This attribute isn't available for an AWS EKS cluster on AWS cloud.
      • computeConfig

        public com.pulumi.core.Output<ClusterComputeConfig> computeConfig()
        Returns:
        Configuration block with compute configuration for EKS Auto Mode. Detailed below.
      • controlPlaneScalingConfig

        public com.pulumi.core.Output<ClusterControlPlaneScalingConfig> controlPlaneScalingConfig()
        Returns:
        Configuration block for the control plane scaling tier. See [EKS Provisioned Control Plane](https://docs.aws.amazon.com/eks/latest/userguide/eks-provisioned-control-plane-getting-started.html) for more information. Detailed below.
      • createdAt

        public com.pulumi.core.Output<java.lang.String> createdAt()
        Returns:
        Unix epoch timestamp in seconds for when the cluster was created.
      • defaultAddonsToRemoves

        public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> defaultAddonsToRemoves()
      • deletionProtection

        public com.pulumi.core.Output<java.lang.Boolean> deletionProtection()
        Returns:
        Whether to enable deletion protection for the cluster. When enabled, the cluster cannot be deleted unless deletion protection is first disabled. Default: `false`.
      • enabledClusterLogTypes

        public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> enabledClusterLogTypes()
        Returns:
        List of the desired control plane logging to enable. For more information, see [Amazon EKS Control Plane Logging](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html).
      • encryptionConfig

        public com.pulumi.core.Output<java.util.Optional<ClusterEncryptionConfig>> encryptionConfig()
        Returns:
        Configuration block with encryption configuration for the cluster. Detailed below.
      • endpoint

        public com.pulumi.core.Output<java.lang.String> endpoint()
        Returns:
        Endpoint for your Kubernetes API server.
      • forceUpdateVersion

        public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> forceUpdateVersion()
        Returns:
        Force version update by overriding upgrade-blocking readiness checks when updating a cluster.
      • identities

        public com.pulumi.core.Output<java.util.List<ClusterIdentity>> identities()
        Returns:
        Attribute block containing identity provider information for your cluster. Only available on Kubernetes version 1.13 and 1.14 clusters created or upgraded on or after September 3, 2019. Detailed below.
      • kubeApiServerConfig

        public com.pulumi.core.Output<ClusterKubeApiServerConfig> kubeApiServerConfig()
        Returns:
        Configuration block for customizing the Kubernetes API server. Detailed below.
      • kubeControllerManagerConfig

        public com.pulumi.core.Output<ClusterKubeControllerManagerConfig> kubeControllerManagerConfig()
        Returns:
        Configuration block for customizing the Kubernetes controller manager. Detailed below.
      • kubeSchedulerConfig

        public com.pulumi.core.Output<ClusterKubeSchedulerConfig> kubeSchedulerConfig()
        Returns:
        Configuration block for customizing the Kubernetes scheduler. Detailed below.
      • kubernetesNetworkConfig

        public com.pulumi.core.Output<ClusterKubernetesNetworkConfig> kubernetesNetworkConfig()
        Returns:
        Configuration block with kubernetes network configuration for the cluster. Detailed below. If removed, the provider will only perform drift detection if a configuration value is provided.
      • name

        public com.pulumi.core.Output<java.lang.String> name()
        Returns:
        Name of the cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (`^[0-9A-Za-z][A-Za-z0-9\-_]*$`).
      • outpostConfig

        public com.pulumi.core.Output<java.util.Optional<ClusterOutpostConfig>> outpostConfig()
        Returns:
        Configuration block representing the configuration of your local Amazon EKS cluster on an AWS Outpost. This block isn't available for creating Amazon EKS clusters on the AWS cloud.
      • platformVersion

        public com.pulumi.core.Output<java.lang.String> platformVersion()
        Returns:
        Platform version for the cluster.
      • region

        public com.pulumi.core.Output<java.lang.String> region()
        Returns:
        Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
      • remoteNetworkConfig

        public com.pulumi.core.Output<java.util.Optional<ClusterRemoteNetworkConfig>> remoteNetworkConfig()
        Returns:
        Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below.
      • roleArn

        public com.pulumi.core.Output<java.lang.String> roleArn()
        Returns:
        ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding `dependsOn` if using the `aws.iam.RolePolicy` resource or `aws.iam.RolePolicyAttachment` resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion.
      • status

        public com.pulumi.core.Output<java.lang.String> status()
        Returns:
        Status of the EKS cluster. One of `CREATING`, `ACTIVE`, `DELETING`, `FAILED`.
      • storageConfig

        public com.pulumi.core.Output<ClusterStorageConfig> storageConfig()
        Returns:
        Configuration block with storage configuration for EKS Auto Mode. Detailed below.
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
      • tagsAll

        public com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()
        Returns:
        Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
      • upgradePolicy

        public com.pulumi.core.Output<ClusterUpgradePolicy> upgradePolicy()
        Returns:
        Configuration block for the support policy to use for the cluster. See upgradePolicy for details.
      • version

        public com.pulumi.core.Output<java.lang.String> version()
        Returns:
        Desired Kubernetes master version. If you do not specify a value, the latest available version at resource creation is used and no upgrades will occur except those automatically triggered by EKS. The value must be configured and increased to upgrade the version when desired. Downgrades are not supported by EKS.
      • vpcConfig

        public com.pulumi.core.Output<ClusterVpcConfig> vpcConfig()
        Returns:
        Configuration block for the VPC associated with your cluster. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see [Cluster VPC Considerations](https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html) and [Cluster Security Group Considerations](https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html) in the Amazon EKS User Guide. Detailed below. Also contains attributes detailed in the Attributes section. The following arguments are optional:
      • zonalShiftConfig

        public com.pulumi.core.Output<java.util.Optional<ClusterZonalShiftConfig>> zonalShiftConfig()
        Returns:
        Configuration block with zonal shift configuration for the cluster. Detailed below.
      • get

        public static Cluster get​(java.lang.String name,
                                  com.pulumi.core.Output<java.lang.String> id,
                                  @Nullable
                                  ClusterState state,
                                  @Nullable
                                  com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        state -
        options - Optional settings to control the behavior of the CustomResource.