Class ClusterState.Builder

  • Enclosing class:
    ClusterState

    public static final class ClusterState.Builder
    extends java.lang.Object
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • accessConfig

        public ClusterState.Builder accessConfig​(@Nullable
                                                 com.pulumi.core.Output<ClusterAccessConfigArgs> accessConfig)
        Parameters:
        accessConfig - 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.
        Returns:
        builder
      • accessConfig

        public ClusterState.Builder accessConfig​(ClusterAccessConfigArgs accessConfig)
        Parameters:
        accessConfig - 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.
        Returns:
        builder
      • arn

        public ClusterState.Builder arn​(@Nullable
                                        com.pulumi.core.Output<java.lang.String> arn)
        Parameters:
        arn - ARN of the cluster.
        Returns:
        builder
      • arn

        public ClusterState.Builder arn​(java.lang.String arn)
        Parameters:
        arn - ARN of the cluster.
        Returns:
        builder
      • bootstrapSelfManagedAddons

        public ClusterState.Builder bootstrapSelfManagedAddons​(@Nullable
                                                               com.pulumi.core.Output<java.lang.Boolean> bootstrapSelfManagedAddons)
        Parameters:
        bootstrapSelfManagedAddons - 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`.
        Returns:
        builder
      • bootstrapSelfManagedAddons

        public ClusterState.Builder bootstrapSelfManagedAddons​(java.lang.Boolean bootstrapSelfManagedAddons)
        Parameters:
        bootstrapSelfManagedAddons - 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`.
        Returns:
        builder
      • certificateAuthority

        public ClusterState.Builder certificateAuthority​(@Nullable
                                                         com.pulumi.core.Output<ClusterCertificateAuthorityArgs> certificateAuthority)
        Parameters:
        certificateAuthority - Attribute block containing `certificate-authority-data` for your cluster. Detailed below.
        Returns:
        builder
      • certificateAuthority

        public ClusterState.Builder certificateAuthority​(ClusterCertificateAuthorityArgs certificateAuthority)
        Parameters:
        certificateAuthority - Attribute block containing `certificate-authority-data` for your cluster. Detailed below.
        Returns:
        builder
      • clusterId

        public ClusterState.Builder clusterId​(@Nullable
                                              com.pulumi.core.Output<java.lang.String> clusterId)
        Parameters:
        clusterId - 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.
        Returns:
        builder
      • clusterId

        public ClusterState.Builder clusterId​(java.lang.String clusterId)
        Parameters:
        clusterId - 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.
        Returns:
        builder
      • computeConfig

        public ClusterState.Builder computeConfig​(@Nullable
                                                  com.pulumi.core.Output<ClusterComputeConfigArgs> computeConfig)
        Parameters:
        computeConfig - Configuration block with compute configuration for EKS Auto Mode. Detailed below.
        Returns:
        builder
      • computeConfig

        public ClusterState.Builder computeConfig​(ClusterComputeConfigArgs computeConfig)
        Parameters:
        computeConfig - Configuration block with compute configuration for EKS Auto Mode. Detailed below.
        Returns:
        builder
      • controlPlaneScalingConfig

        public ClusterState.Builder controlPlaneScalingConfig​(@Nullable
                                                              com.pulumi.core.Output<ClusterControlPlaneScalingConfigArgs> controlPlaneScalingConfig)
        Parameters:
        controlPlaneScalingConfig - 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.
        Returns:
        builder
      • controlPlaneScalingConfig

        public ClusterState.Builder controlPlaneScalingConfig​(ClusterControlPlaneScalingConfigArgs controlPlaneScalingConfig)
        Parameters:
        controlPlaneScalingConfig - 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.
        Returns:
        builder
      • createdAt

        public ClusterState.Builder createdAt​(@Nullable
                                              com.pulumi.core.Output<java.lang.String> createdAt)
        Parameters:
        createdAt - Unix epoch timestamp in seconds for when the cluster was created.
        Returns:
        builder
      • createdAt

        public ClusterState.Builder createdAt​(java.lang.String createdAt)
        Parameters:
        createdAt - Unix epoch timestamp in seconds for when the cluster was created.
        Returns:
        builder
      • defaultAddonsToRemoves

        @Deprecated
        public ClusterState.Builder defaultAddonsToRemoves​(@Nullable
                                                           com.pulumi.core.Output<java.util.List<java.lang.String>> defaultAddonsToRemoves)
        Deprecated.
        Configure bootstrapSelfManagedAddons instead. This attribute will be removed in the next major version of the provider
        Returns:
        builder
      • defaultAddonsToRemoves

        @Deprecated
        public ClusterState.Builder defaultAddonsToRemoves​(java.util.List<java.lang.String> defaultAddonsToRemoves)
        Deprecated.
        Configure bootstrapSelfManagedAddons instead. This attribute will be removed in the next major version of the provider
        Returns:
        builder
      • defaultAddonsToRemoves

        @Deprecated
        public ClusterState.Builder defaultAddonsToRemoves​(java.lang.String... defaultAddonsToRemoves)
        Deprecated.
        Configure bootstrapSelfManagedAddons instead. This attribute will be removed in the next major version of the provider
        Returns:
        builder
      • deletionProtection

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

        public ClusterState.Builder deletionProtection​(java.lang.Boolean deletionProtection)
        Parameters:
        deletionProtection - Whether to enable deletion protection for the cluster. When enabled, the cluster cannot be deleted unless deletion protection is first disabled. Default: `false`.
        Returns:
        builder
      • enabledClusterLogTypes

        public ClusterState.Builder enabledClusterLogTypes​(@Nullable
                                                           com.pulumi.core.Output<java.util.List<java.lang.String>> enabledClusterLogTypes)
        Parameters:
        enabledClusterLogTypes - 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).
        Returns:
        builder
      • enabledClusterLogTypes

        public ClusterState.Builder enabledClusterLogTypes​(java.util.List<java.lang.String> enabledClusterLogTypes)
        Parameters:
        enabledClusterLogTypes - 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).
        Returns:
        builder
      • enabledClusterLogTypes

        public ClusterState.Builder enabledClusterLogTypes​(java.lang.String... enabledClusterLogTypes)
        Parameters:
        enabledClusterLogTypes - 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).
        Returns:
        builder
      • encryptionConfig

        public ClusterState.Builder encryptionConfig​(@Nullable
                                                     com.pulumi.core.Output<ClusterEncryptionConfigArgs> encryptionConfig)
        Parameters:
        encryptionConfig - Configuration block with encryption configuration for the cluster. Detailed below.
        Returns:
        builder
      • encryptionConfig

        public ClusterState.Builder encryptionConfig​(ClusterEncryptionConfigArgs encryptionConfig)
        Parameters:
        encryptionConfig - Configuration block with encryption configuration for the cluster. Detailed below.
        Returns:
        builder
      • endpoint

        public ClusterState.Builder endpoint​(@Nullable
                                             com.pulumi.core.Output<java.lang.String> endpoint)
        Parameters:
        endpoint - Endpoint for your Kubernetes API server.
        Returns:
        builder
      • endpoint

        public ClusterState.Builder endpoint​(java.lang.String endpoint)
        Parameters:
        endpoint - Endpoint for your Kubernetes API server.
        Returns:
        builder
      • forceUpdateVersion

        public ClusterState.Builder forceUpdateVersion​(@Nullable
                                                       com.pulumi.core.Output<java.lang.Boolean> forceUpdateVersion)
        Parameters:
        forceUpdateVersion - Force version update by overriding upgrade-blocking readiness checks when updating a cluster.
        Returns:
        builder
      • forceUpdateVersion

        public ClusterState.Builder forceUpdateVersion​(java.lang.Boolean forceUpdateVersion)
        Parameters:
        forceUpdateVersion - Force version update by overriding upgrade-blocking readiness checks when updating a cluster.
        Returns:
        builder
      • identities

        public ClusterState.Builder identities​(@Nullable
                                               com.pulumi.core.Output<java.util.List<ClusterIdentityArgs>> identities)
        Parameters:
        identities - 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.
        Returns:
        builder
      • identities

        public ClusterState.Builder identities​(java.util.List<ClusterIdentityArgs> identities)
        Parameters:
        identities - 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.
        Returns:
        builder
      • identities

        public ClusterState.Builder identities​(ClusterIdentityArgs... identities)
        Parameters:
        identities - 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.
        Returns:
        builder
      • kubeApiServerConfig

        public ClusterState.Builder kubeApiServerConfig​(@Nullable
                                                        com.pulumi.core.Output<ClusterKubeApiServerConfigArgs> kubeApiServerConfig)
        Parameters:
        kubeApiServerConfig - Configuration block for customizing the Kubernetes API server. Detailed below.
        Returns:
        builder
      • kubeApiServerConfig

        public ClusterState.Builder kubeApiServerConfig​(ClusterKubeApiServerConfigArgs kubeApiServerConfig)
        Parameters:
        kubeApiServerConfig - Configuration block for customizing the Kubernetes API server. Detailed below.
        Returns:
        builder
      • kubeControllerManagerConfig

        public ClusterState.Builder kubeControllerManagerConfig​(@Nullable
                                                                com.pulumi.core.Output<ClusterKubeControllerManagerConfigArgs> kubeControllerManagerConfig)
        Parameters:
        kubeControllerManagerConfig - Configuration block for customizing the Kubernetes controller manager. Detailed below.
        Returns:
        builder
      • kubeControllerManagerConfig

        public ClusterState.Builder kubeControllerManagerConfig​(ClusterKubeControllerManagerConfigArgs kubeControllerManagerConfig)
        Parameters:
        kubeControllerManagerConfig - Configuration block for customizing the Kubernetes controller manager. Detailed below.
        Returns:
        builder
      • kubeSchedulerConfig

        public ClusterState.Builder kubeSchedulerConfig​(@Nullable
                                                        com.pulumi.core.Output<ClusterKubeSchedulerConfigArgs> kubeSchedulerConfig)
        Parameters:
        kubeSchedulerConfig - Configuration block for customizing the Kubernetes scheduler. Detailed below.
        Returns:
        builder
      • kubeSchedulerConfig

        public ClusterState.Builder kubeSchedulerConfig​(ClusterKubeSchedulerConfigArgs kubeSchedulerConfig)
        Parameters:
        kubeSchedulerConfig - Configuration block for customizing the Kubernetes scheduler. Detailed below.
        Returns:
        builder
      • kubernetesNetworkConfig

        public ClusterState.Builder kubernetesNetworkConfig​(@Nullable
                                                            com.pulumi.core.Output<ClusterKubernetesNetworkConfigArgs> kubernetesNetworkConfig)
        Parameters:
        kubernetesNetworkConfig - 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.
        Returns:
        builder
      • kubernetesNetworkConfig

        public ClusterState.Builder kubernetesNetworkConfig​(ClusterKubernetesNetworkConfigArgs kubernetesNetworkConfig)
        Parameters:
        kubernetesNetworkConfig - 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.
        Returns:
        builder
      • name

        public ClusterState.Builder name​(@Nullable
                                         com.pulumi.core.Output<java.lang.String> name)
        Parameters:
        name - 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\-_]*$`).
        Returns:
        builder
      • name

        public ClusterState.Builder name​(java.lang.String name)
        Parameters:
        name - 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\-_]*$`).
        Returns:
        builder
      • outpostConfig

        public ClusterState.Builder outpostConfig​(@Nullable
                                                  com.pulumi.core.Output<ClusterOutpostConfigArgs> outpostConfig)
        Parameters:
        outpostConfig - 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.
        Returns:
        builder
      • outpostConfig

        public ClusterState.Builder outpostConfig​(ClusterOutpostConfigArgs outpostConfig)
        Parameters:
        outpostConfig - 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.
        Returns:
        builder
      • platformVersion

        public ClusterState.Builder platformVersion​(@Nullable
                                                    com.pulumi.core.Output<java.lang.String> platformVersion)
        Parameters:
        platformVersion - Platform version for the cluster.
        Returns:
        builder
      • platformVersion

        public ClusterState.Builder platformVersion​(java.lang.String platformVersion)
        Parameters:
        platformVersion - Platform version for the cluster.
        Returns:
        builder
      • region

        public ClusterState.Builder region​(@Nullable
                                           com.pulumi.core.Output<java.lang.String> region)
        Parameters:
        region - 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.
        Returns:
        builder
      • region

        public ClusterState.Builder region​(java.lang.String region)
        Parameters:
        region - 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.
        Returns:
        builder
      • remoteNetworkConfig

        public ClusterState.Builder remoteNetworkConfig​(@Nullable
                                                        com.pulumi.core.Output<ClusterRemoteNetworkConfigArgs> remoteNetworkConfig)
        Parameters:
        remoteNetworkConfig - Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below.
        Returns:
        builder
      • remoteNetworkConfig

        public ClusterState.Builder remoteNetworkConfig​(ClusterRemoteNetworkConfigArgs remoteNetworkConfig)
        Parameters:
        remoteNetworkConfig - Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below.
        Returns:
        builder
      • roleArn

        public ClusterState.Builder roleArn​(@Nullable
                                            com.pulumi.core.Output<java.lang.String> roleArn)
        Parameters:
        roleArn - 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.
        Returns:
        builder
      • roleArn

        public ClusterState.Builder roleArn​(java.lang.String roleArn)
        Parameters:
        roleArn - 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.
        Returns:
        builder
      • status

        public ClusterState.Builder status​(@Nullable
                                           com.pulumi.core.Output<java.lang.String> status)
        Parameters:
        status - Status of the EKS cluster. One of `CREATING`, `ACTIVE`, `DELETING`, `FAILED`.
        Returns:
        builder
      • status

        public ClusterState.Builder status​(java.lang.String status)
        Parameters:
        status - Status of the EKS cluster. One of `CREATING`, `ACTIVE`, `DELETING`, `FAILED`.
        Returns:
        builder
      • storageConfig

        public ClusterState.Builder storageConfig​(@Nullable
                                                  com.pulumi.core.Output<ClusterStorageConfigArgs> storageConfig)
        Parameters:
        storageConfig - Configuration block with storage configuration for EKS Auto Mode. Detailed below.
        Returns:
        builder
      • storageConfig

        public ClusterState.Builder storageConfig​(ClusterStorageConfigArgs storageConfig)
        Parameters:
        storageConfig - Configuration block with storage configuration for EKS Auto Mode. Detailed below.
        Returns:
        builder
      • tags

        public ClusterState.Builder tags​(@Nullable
                                         com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tags)
        Parameters:
        tags - 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.
        Returns:
        builder
      • tags

        public ClusterState.Builder tags​(java.util.Map<java.lang.String,​java.lang.String> tags)
        Parameters:
        tags - 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.
        Returns:
        builder
      • tagsAll

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

        public ClusterState.Builder tagsAll​(java.util.Map<java.lang.String,​java.lang.String> tagsAll)
        Parameters:
        tagsAll - Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
        Returns:
        builder
      • upgradePolicy

        public ClusterState.Builder upgradePolicy​(@Nullable
                                                  com.pulumi.core.Output<ClusterUpgradePolicyArgs> upgradePolicy)
        Parameters:
        upgradePolicy - Configuration block for the support policy to use for the cluster. See upgradePolicy for details.
        Returns:
        builder
      • upgradePolicy

        public ClusterState.Builder upgradePolicy​(ClusterUpgradePolicyArgs upgradePolicy)
        Parameters:
        upgradePolicy - Configuration block for the support policy to use for the cluster. See upgradePolicy for details.
        Returns:
        builder
      • version

        public ClusterState.Builder version​(@Nullable
                                            com.pulumi.core.Output<java.lang.String> version)
        Parameters:
        version - 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.
        Returns:
        builder
      • version

        public ClusterState.Builder version​(java.lang.String version)
        Parameters:
        version - 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.
        Returns:
        builder
      • vpcConfig

        public ClusterState.Builder vpcConfig​(@Nullable
                                              com.pulumi.core.Output<ClusterVpcConfigArgs> vpcConfig)
        Parameters:
        vpcConfig - 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:
        Returns:
        builder
      • vpcConfig

        public ClusterState.Builder vpcConfig​(ClusterVpcConfigArgs vpcConfig)
        Parameters:
        vpcConfig - 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:
        Returns:
        builder
      • zonalShiftConfig

        public ClusterState.Builder zonalShiftConfig​(@Nullable
                                                     com.pulumi.core.Output<ClusterZonalShiftConfigArgs> zonalShiftConfig)
        Parameters:
        zonalShiftConfig - Configuration block with zonal shift configuration for the cluster. Detailed below.
        Returns:
        builder
      • zonalShiftConfig

        public ClusterState.Builder zonalShiftConfig​(ClusterZonalShiftConfigArgs zonalShiftConfig)
        Parameters:
        zonalShiftConfig - Configuration block with zonal shift configuration for the cluster. Detailed below.
        Returns:
        builder