Class ClusterArgs.Builder

  • Enclosing class:
    ClusterArgs

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

      • Builder

        public Builder()
    • Method Detail

      • allowMajorVersionUpgrade

        public ClusterArgs.Builder allowMajorVersionUpgrade​(@Nullable
                                                            com.pulumi.core.Output<java.lang.Boolean> allowMajorVersionUpgrade)
        Parameters:
        allowMajorVersionUpgrade - Whether upgrades between different major versions are allowed. You must set it to `true` when providing an `engineVersion` parameter that uses a different major version than the DB cluster's current version. Default is `false`.
        Returns:
        builder
      • allowMajorVersionUpgrade

        public ClusterArgs.Builder allowMajorVersionUpgrade​(java.lang.Boolean allowMajorVersionUpgrade)
        Parameters:
        allowMajorVersionUpgrade - Whether upgrades between different major versions are allowed. You must set it to `true` when providing an `engineVersion` parameter that uses a different major version than the DB cluster's current version. Default is `false`.
        Returns:
        builder
      • applyImmediately

        public ClusterArgs.Builder applyImmediately​(@Nullable
                                                    com.pulumi.core.Output<java.lang.Boolean> applyImmediately)
        Parameters:
        applyImmediately - Whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`.
        Returns:
        builder
      • applyImmediately

        public ClusterArgs.Builder applyImmediately​(java.lang.Boolean applyImmediately)
        Parameters:
        applyImmediately - Whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`.
        Returns:
        builder
      • availabilityZones

        public ClusterArgs.Builder availabilityZones​(@Nullable
                                                     com.pulumi.core.Output<java.util.List<java.lang.String>> availabilityZones)
        Parameters:
        availabilityZones - List of EC2 Availability Zones that instances in the Neptune cluster can be created in.
        Returns:
        builder
      • availabilityZones

        public ClusterArgs.Builder availabilityZones​(java.util.List<java.lang.String> availabilityZones)
        Parameters:
        availabilityZones - List of EC2 Availability Zones that instances in the Neptune cluster can be created in.
        Returns:
        builder
      • availabilityZones

        public ClusterArgs.Builder availabilityZones​(java.lang.String... availabilityZones)
        Parameters:
        availabilityZones - List of EC2 Availability Zones that instances in the Neptune cluster can be created in.
        Returns:
        builder
      • backupRetentionPeriod

        public ClusterArgs.Builder backupRetentionPeriod​(@Nullable
                                                         com.pulumi.core.Output<java.lang.Integer> backupRetentionPeriod)
        Parameters:
        backupRetentionPeriod - Days to retain backups for. Default `1`
        Returns:
        builder
      • backupRetentionPeriod

        public ClusterArgs.Builder backupRetentionPeriod​(java.lang.Integer backupRetentionPeriod)
        Parameters:
        backupRetentionPeriod - Days to retain backups for. Default `1`
        Returns:
        builder
      • clusterIdentifier

        public ClusterArgs.Builder clusterIdentifier​(@Nullable
                                                     com.pulumi.core.Output<java.lang.String> clusterIdentifier)
        Parameters:
        clusterIdentifier - Cluster identifier. If omitted, Terraform will assign a random, unique identifier.
        Returns:
        builder
      • clusterIdentifier

        public ClusterArgs.Builder clusterIdentifier​(java.lang.String clusterIdentifier)
        Parameters:
        clusterIdentifier - Cluster identifier. If omitted, Terraform will assign a random, unique identifier.
        Returns:
        builder
      • clusterIdentifierPrefix

        public ClusterArgs.Builder clusterIdentifierPrefix​(@Nullable
                                                           com.pulumi.core.Output<java.lang.String> clusterIdentifierPrefix)
        Parameters:
        clusterIdentifierPrefix - Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `clusterIdentifier`.
        Returns:
        builder
      • clusterIdentifierPrefix

        public ClusterArgs.Builder clusterIdentifierPrefix​(java.lang.String clusterIdentifierPrefix)
        Parameters:
        clusterIdentifierPrefix - Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `clusterIdentifier`.
        Returns:
        builder
      • copyTagsToSnapshot

        public ClusterArgs.Builder copyTagsToSnapshot​(@Nullable
                                                      com.pulumi.core.Output<java.lang.Boolean> copyTagsToSnapshot)
        Parameters:
        copyTagsToSnapshot - If set to true, tags are copied to any snapshot of the DB cluster that is created.
        Returns:
        builder
      • copyTagsToSnapshot

        public ClusterArgs.Builder copyTagsToSnapshot​(java.lang.Boolean copyTagsToSnapshot)
        Parameters:
        copyTagsToSnapshot - If set to true, tags are copied to any snapshot of the DB cluster that is created.
        Returns:
        builder
      • deletionProtection

        public ClusterArgs.Builder deletionProtection​(@Nullable
                                                      com.pulumi.core.Output<java.lang.Boolean> deletionProtection)
        Parameters:
        deletionProtection - Value that indicates whether the DB cluster has deletion protection enabled.The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.
        Returns:
        builder
      • deletionProtection

        public ClusterArgs.Builder deletionProtection​(java.lang.Boolean deletionProtection)
        Parameters:
        deletionProtection - Value that indicates whether the DB cluster has deletion protection enabled.The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.
        Returns:
        builder
      • enableCloudwatchLogsExports

        public ClusterArgs.Builder enableCloudwatchLogsExports​(@Nullable
                                                               com.pulumi.core.Output<java.util.List<java.lang.String>> enableCloudwatchLogsExports)
        Parameters:
        enableCloudwatchLogsExports - List of the log types this DB cluster is configured to export to CloudWatch Logs. Currently only supports `audit` and `slowquery`.
        Returns:
        builder
      • enableCloudwatchLogsExports

        public ClusterArgs.Builder enableCloudwatchLogsExports​(java.util.List<java.lang.String> enableCloudwatchLogsExports)
        Parameters:
        enableCloudwatchLogsExports - List of the log types this DB cluster is configured to export to CloudWatch Logs. Currently only supports `audit` and `slowquery`.
        Returns:
        builder
      • enableCloudwatchLogsExports

        public ClusterArgs.Builder enableCloudwatchLogsExports​(java.lang.String... enableCloudwatchLogsExports)
        Parameters:
        enableCloudwatchLogsExports - List of the log types this DB cluster is configured to export to CloudWatch Logs. Currently only supports `audit` and `slowquery`.
        Returns:
        builder
      • engine

        public ClusterArgs.Builder engine​(@Nullable
                                          com.pulumi.core.Output<java.lang.String> engine)
        Parameters:
        engine - Name of the database engine to be used for this Neptune cluster. Defaults to `neptune`.
        Returns:
        builder
      • engine

        public ClusterArgs.Builder engine​(java.lang.String engine)
        Parameters:
        engine - Name of the database engine to be used for this Neptune cluster. Defaults to `neptune`.
        Returns:
        builder
      • engineVersion

        public ClusterArgs.Builder engineVersion​(@Nullable
                                                 com.pulumi.core.Output<java.lang.String> engineVersion)
        Parameters:
        engineVersion - Database engine version.
        Returns:
        builder
      • engineVersion

        public ClusterArgs.Builder engineVersion​(java.lang.String engineVersion)
        Parameters:
        engineVersion - Database engine version.
        Returns:
        builder
      • finalSnapshotIdentifier

        public ClusterArgs.Builder finalSnapshotIdentifier​(@Nullable
                                                           com.pulumi.core.Output<java.lang.String> finalSnapshotIdentifier)
        Parameters:
        finalSnapshotIdentifier - Name of your final Neptune snapshot when this Neptune cluster is deleted. If omitted, no final snapshot will be made.
        Returns:
        builder
      • finalSnapshotIdentifier

        public ClusterArgs.Builder finalSnapshotIdentifier​(java.lang.String finalSnapshotIdentifier)
        Parameters:
        finalSnapshotIdentifier - Name of your final Neptune snapshot when this Neptune cluster is deleted. If omitted, no final snapshot will be made.
        Returns:
        builder
      • globalClusterIdentifier

        public ClusterArgs.Builder globalClusterIdentifier​(@Nullable
                                                           com.pulumi.core.Output<java.lang.String> globalClusterIdentifier)
        Parameters:
        globalClusterIdentifier - Global cluster identifier specified on `aws.neptune.GlobalCluster`.
        Returns:
        builder
      • globalClusterIdentifier

        public ClusterArgs.Builder globalClusterIdentifier​(java.lang.String globalClusterIdentifier)
        Parameters:
        globalClusterIdentifier - Global cluster identifier specified on `aws.neptune.GlobalCluster`.
        Returns:
        builder
      • iamDatabaseAuthenticationEnabled

        public ClusterArgs.Builder iamDatabaseAuthenticationEnabled​(@Nullable
                                                                    com.pulumi.core.Output<java.lang.Boolean> iamDatabaseAuthenticationEnabled)
        Parameters:
        iamDatabaseAuthenticationEnabled - Whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled.
        Returns:
        builder
      • iamDatabaseAuthenticationEnabled

        public ClusterArgs.Builder iamDatabaseAuthenticationEnabled​(java.lang.Boolean iamDatabaseAuthenticationEnabled)
        Parameters:
        iamDatabaseAuthenticationEnabled - Whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled.
        Returns:
        builder
      • iamRoles

        public ClusterArgs.Builder iamRoles​(@Nullable
                                            com.pulumi.core.Output<java.util.List<java.lang.String>> iamRoles)
        Parameters:
        iamRoles - List of ARNs for the IAM roles to associate to the Neptune Cluster.
        Returns:
        builder
      • iamRoles

        public ClusterArgs.Builder iamRoles​(java.util.List<java.lang.String> iamRoles)
        Parameters:
        iamRoles - List of ARNs for the IAM roles to associate to the Neptune Cluster.
        Returns:
        builder
      • iamRoles

        public ClusterArgs.Builder iamRoles​(java.lang.String... iamRoles)
        Parameters:
        iamRoles - List of ARNs for the IAM roles to associate to the Neptune Cluster.
        Returns:
        builder
      • kmsKeyArn

        public ClusterArgs.Builder kmsKeyArn​(@Nullable
                                             com.pulumi.core.Output<java.lang.String> kmsKeyArn)
        Parameters:
        kmsKeyArn - ARN for the KMS encryption key. When specifying `kmsKeyArn`, `storageEncrypted` needs to be set to true.
        Returns:
        builder
      • kmsKeyArn

        public ClusterArgs.Builder kmsKeyArn​(java.lang.String kmsKeyArn)
        Parameters:
        kmsKeyArn - ARN for the KMS encryption key. When specifying `kmsKeyArn`, `storageEncrypted` needs to be set to true.
        Returns:
        builder
      • neptuneClusterParameterGroupName

        public ClusterArgs.Builder neptuneClusterParameterGroupName​(@Nullable
                                                                    com.pulumi.core.Output<java.lang.String> neptuneClusterParameterGroupName)
        Parameters:
        neptuneClusterParameterGroupName - Cluster parameter group to associate with the cluster.
        Returns:
        builder
      • neptuneClusterParameterGroupName

        public ClusterArgs.Builder neptuneClusterParameterGroupName​(java.lang.String neptuneClusterParameterGroupName)
        Parameters:
        neptuneClusterParameterGroupName - Cluster parameter group to associate with the cluster.
        Returns:
        builder
      • neptuneInstanceParameterGroupName

        public ClusterArgs.Builder neptuneInstanceParameterGroupName​(@Nullable
                                                                     com.pulumi.core.Output<java.lang.String> neptuneInstanceParameterGroupName)
        Parameters:
        neptuneInstanceParameterGroupName - Name of DB parameter group to apply to all instances in the cluster. When upgrading, AWS does not return this value, so do not reference it in other arguments—either leave it unset, configure each instance directly, or ensure it matches the `engineVersion`.
        Returns:
        builder
      • neptuneInstanceParameterGroupName

        public ClusterArgs.Builder neptuneInstanceParameterGroupName​(java.lang.String neptuneInstanceParameterGroupName)
        Parameters:
        neptuneInstanceParameterGroupName - Name of DB parameter group to apply to all instances in the cluster. When upgrading, AWS does not return this value, so do not reference it in other arguments—either leave it unset, configure each instance directly, or ensure it matches the `engineVersion`.
        Returns:
        builder
      • neptuneSubnetGroupName

        public ClusterArgs.Builder neptuneSubnetGroupName​(@Nullable
                                                          com.pulumi.core.Output<java.lang.String> neptuneSubnetGroupName)
        Parameters:
        neptuneSubnetGroupName - Neptune subnet group to associate with this Neptune instance.
        Returns:
        builder
      • neptuneSubnetGroupName

        public ClusterArgs.Builder neptuneSubnetGroupName​(java.lang.String neptuneSubnetGroupName)
        Parameters:
        neptuneSubnetGroupName - Neptune subnet group to associate with this Neptune instance.
        Returns:
        builder
      • networkType

        public ClusterArgs.Builder networkType​(@Nullable
                                               com.pulumi.core.Output<java.lang.String> networkType)
        Parameters:
        networkType - Network type of the Neptune cluster. Valid values: `IPV4`, `DUAL`. Default: `IPV4`. Specifying `DUAL` enables dual-stack IPv4/IPv6 connectivity. The Neptune DB subnet group associated with the cluster must be backed by IPv6-capable subnets. See the [Neptune dual-stack documentation](https://docs.aws.amazon.com/neptune/latest/userguide/neptune-dualstack-db-cluster.html) for prerequisites.
        Returns:
        builder
      • networkType

        public ClusterArgs.Builder networkType​(java.lang.String networkType)
        Parameters:
        networkType - Network type of the Neptune cluster. Valid values: `IPV4`, `DUAL`. Default: `IPV4`. Specifying `DUAL` enables dual-stack IPv4/IPv6 connectivity. The Neptune DB subnet group associated with the cluster must be backed by IPv6-capable subnets. See the [Neptune dual-stack documentation](https://docs.aws.amazon.com/neptune/latest/userguide/neptune-dualstack-db-cluster.html) for prerequisites.
        Returns:
        builder
      • port

        public ClusterArgs.Builder port​(@Nullable
                                        com.pulumi.core.Output<java.lang.Integer> port)
        Parameters:
        port - Port on which the Neptune accepts connections. Default is `8182`.
        Returns:
        builder
      • port

        public ClusterArgs.Builder port​(java.lang.Integer port)
        Parameters:
        port - Port on which the Neptune accepts connections. Default is `8182`.
        Returns:
        builder
      • preferredBackupWindow

        public ClusterArgs.Builder preferredBackupWindow​(@Nullable
                                                         com.pulumi.core.Output<java.lang.String> preferredBackupWindow)
        Parameters:
        preferredBackupWindow - Daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter. Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per regionE.g., 04:00-09:00
        Returns:
        builder
      • preferredBackupWindow

        public ClusterArgs.Builder preferredBackupWindow​(java.lang.String preferredBackupWindow)
        Parameters:
        preferredBackupWindow - Daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter. Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per regionE.g., 04:00-09:00
        Returns:
        builder
      • preferredMaintenanceWindow

        public ClusterArgs.Builder preferredMaintenanceWindow​(@Nullable
                                                              com.pulumi.core.Output<java.lang.String> preferredMaintenanceWindow)
        Parameters:
        preferredMaintenanceWindow - Weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30
        Returns:
        builder
      • preferredMaintenanceWindow

        public ClusterArgs.Builder preferredMaintenanceWindow​(java.lang.String preferredMaintenanceWindow)
        Parameters:
        preferredMaintenanceWindow - Weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30
        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
      • replicationSourceIdentifier

        public ClusterArgs.Builder replicationSourceIdentifier​(@Nullable
                                                               com.pulumi.core.Output<java.lang.String> replicationSourceIdentifier)
        Parameters:
        replicationSourceIdentifier - ARN of a source Neptune cluster or Neptune instance if this Neptune cluster is to be created as a Read Replica.
        Returns:
        builder
      • replicationSourceIdentifier

        public ClusterArgs.Builder replicationSourceIdentifier​(java.lang.String replicationSourceIdentifier)
        Parameters:
        replicationSourceIdentifier - ARN of a source Neptune cluster or Neptune instance if this Neptune cluster is to be created as a Read Replica.
        Returns:
        builder
      • serverlessV2ScalingConfiguration

        public ClusterArgs.Builder serverlessV2ScalingConfiguration​(@Nullable
                                                                    com.pulumi.core.Output<ClusterServerlessV2ScalingConfigurationArgs> serverlessV2ScalingConfiguration)
        Parameters:
        serverlessV2ScalingConfiguration - If set, create the Neptune cluster as a serverless one. See Serverless for example block attributes.
        Returns:
        builder
      • serverlessV2ScalingConfiguration

        public ClusterArgs.Builder serverlessV2ScalingConfiguration​(ClusterServerlessV2ScalingConfigurationArgs serverlessV2ScalingConfiguration)
        Parameters:
        serverlessV2ScalingConfiguration - If set, create the Neptune cluster as a serverless one. See Serverless for example block attributes.
        Returns:
        builder
      • skipFinalSnapshot

        public ClusterArgs.Builder skipFinalSnapshot​(@Nullable
                                                     com.pulumi.core.Output<java.lang.Boolean> skipFinalSnapshot)
        Parameters:
        skipFinalSnapshot - Whether a final Neptune snapshot is created before the Neptune cluster is deleted. If true is specified, no Neptune snapshot is created. If false is specified, a Neptune snapshot is created before the Neptune cluster is deleted, using the value from `finalSnapshotIdentifier`. Default is `false`.
        Returns:
        builder
      • skipFinalSnapshot

        public ClusterArgs.Builder skipFinalSnapshot​(java.lang.Boolean skipFinalSnapshot)
        Parameters:
        skipFinalSnapshot - Whether a final Neptune snapshot is created before the Neptune cluster is deleted. If true is specified, no Neptune snapshot is created. If false is specified, a Neptune snapshot is created before the Neptune cluster is deleted, using the value from `finalSnapshotIdentifier`. Default is `false`.
        Returns:
        builder
      • snapshotIdentifier

        public ClusterArgs.Builder snapshotIdentifier​(@Nullable
                                                      com.pulumi.core.Output<java.lang.String> snapshotIdentifier)
        Parameters:
        snapshotIdentifier - Whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a Neptune cluster snapshot, or the ARN when specifying a Neptune snapshot. Automated snapshots **should not** be used for this attribute, unless from a different cluster. Automated snapshots are deleted as part of cluster destruction when the resource is replaced.
        Returns:
        builder
      • snapshotIdentifier

        public ClusterArgs.Builder snapshotIdentifier​(java.lang.String snapshotIdentifier)
        Parameters:
        snapshotIdentifier - Whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a Neptune cluster snapshot, or the ARN when specifying a Neptune snapshot. Automated snapshots **should not** be used for this attribute, unless from a different cluster. Automated snapshots are deleted as part of cluster destruction when the resource is replaced.
        Returns:
        builder
      • storageEncrypted

        public ClusterArgs.Builder storageEncrypted​(@Nullable
                                                    com.pulumi.core.Output<java.lang.Boolean> storageEncrypted)
        Parameters:
        storageEncrypted - Whether the Neptune cluster is encrypted. The default is `false` if not specified.
        Returns:
        builder
      • storageEncrypted

        public ClusterArgs.Builder storageEncrypted​(java.lang.Boolean storageEncrypted)
        Parameters:
        storageEncrypted - Whether the Neptune cluster is encrypted. The default is `false` if not specified.
        Returns:
        builder
      • storageType

        public ClusterArgs.Builder storageType​(@Nullable
                                               com.pulumi.core.Output<java.lang.String> storageType)
        Parameters:
        storageType - Storage type associated with the cluster `standard/iopt1`. Default: `standard`.
        Returns:
        builder
      • storageType

        public ClusterArgs.Builder storageType​(java.lang.String storageType)
        Parameters:
        storageType - Storage type associated with the cluster `standard/iopt1`. Default: `standard`.
        Returns:
        builder
      • tags

        public ClusterArgs.Builder tags​(@Nullable
                                        com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tags)
        Parameters:
        tags - Map of tags to assign to the Neptune cluster. 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 - Map of tags to assign to the Neptune cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder
      • vpcSecurityGroupIds

        public ClusterArgs.Builder vpcSecurityGroupIds​(@Nullable
                                                       com.pulumi.core.Output<java.util.List<java.lang.String>> vpcSecurityGroupIds)
        Parameters:
        vpcSecurityGroupIds - List of VPC security groups to associate with the Cluster
        Returns:
        builder
      • vpcSecurityGroupIds

        public ClusterArgs.Builder vpcSecurityGroupIds​(java.util.List<java.lang.String> vpcSecurityGroupIds)
        Parameters:
        vpcSecurityGroupIds - List of VPC security groups to associate with the Cluster
        Returns:
        builder
      • vpcSecurityGroupIds

        public ClusterArgs.Builder vpcSecurityGroupIds​(java.lang.String... vpcSecurityGroupIds)
        Parameters:
        vpcSecurityGroupIds - List of VPC security groups to associate with the Cluster
        Returns:
        builder