Class ClusterArgs.Builder

  • Enclosing class:
    ClusterArgs

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

      • Builder

        public Builder()
    • Method Detail

      • accessConfig

        public ClusterArgs.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 ClusterArgs.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
      • bootstrapSelfManagedAddons

        public ClusterArgs.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 ClusterArgs.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
      • computeConfig

        public ClusterArgs.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 ClusterArgs.Builder computeConfig​(ClusterComputeConfigArgs computeConfig)
        Parameters:
        computeConfig - Configuration block with compute configuration for EKS Auto Mode. Detailed below.
        Returns:
        builder
      • controlPlaneScalingConfig

        public ClusterArgs.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 ClusterArgs.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
      • defaultAddonsToRemoves

        @Deprecated
        public ClusterArgs.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 ClusterArgs.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 ClusterArgs.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 ClusterArgs.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 ClusterArgs.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 ClusterArgs.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 ClusterArgs.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 ClusterArgs.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 ClusterArgs.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 ClusterArgs.Builder encryptionConfig​(ClusterEncryptionConfigArgs encryptionConfig)
        Parameters:
        encryptionConfig - Configuration block with encryption configuration for the cluster. Detailed below.
        Returns:
        builder
      • forceUpdateVersion

        public ClusterArgs.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 ClusterArgs.Builder forceUpdateVersion​(java.lang.Boolean forceUpdateVersion)
        Parameters:
        forceUpdateVersion - Force version update by overriding upgrade-blocking readiness checks when updating a cluster.
        Returns:
        builder
      • kubeApiServerConfig

        public ClusterArgs.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 ClusterArgs.Builder kubeApiServerConfig​(ClusterKubeApiServerConfigArgs kubeApiServerConfig)
        Parameters:
        kubeApiServerConfig - Configuration block for customizing the Kubernetes API server. Detailed below.
        Returns:
        builder
      • kubeControllerManagerConfig

        public ClusterArgs.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 ClusterArgs.Builder kubeControllerManagerConfig​(ClusterKubeControllerManagerConfigArgs kubeControllerManagerConfig)
        Parameters:
        kubeControllerManagerConfig - Configuration block for customizing the Kubernetes controller manager. Detailed below.
        Returns:
        builder
      • kubeSchedulerConfig

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

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

        public ClusterArgs.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 ClusterArgs.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 ClusterArgs.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 ClusterArgs.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 ClusterArgs.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 ClusterArgs.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
      • region

        public ClusterArgs.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 ClusterArgs.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 ClusterArgs.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 ClusterArgs.Builder remoteNetworkConfig​(ClusterRemoteNetworkConfigArgs remoteNetworkConfig)
        Parameters:
        remoteNetworkConfig - Configuration block with remote network configuration for EKS Hybrid Nodes. Detailed below.
        Returns:
        builder
      • roleArn

        public ClusterArgs.Builder roleArn​(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 ClusterArgs.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
      • storageConfig

        public ClusterArgs.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 ClusterArgs.Builder storageConfig​(ClusterStorageConfigArgs storageConfig)
        Parameters:
        storageConfig - Configuration block with storage configuration for EKS Auto Mode. Detailed below.
        Returns:
        builder
      • tags

        public ClusterArgs.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 ClusterArgs.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
      • upgradePolicy

        public ClusterArgs.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 ClusterArgs.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 ClusterArgs.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 ClusterArgs.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 ClusterArgs.Builder vpcConfig​(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 ClusterArgs.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 ClusterArgs.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 ClusterArgs.Builder zonalShiftConfig​(ClusterZonalShiftConfigArgs zonalShiftConfig)
        Parameters:
        zonalShiftConfig - Configuration block with zonal shift configuration for the cluster. Detailed below.
        Returns:
        builder