Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.aws.neptune.inputs.ClusterState Maven / Gradle / Ivy
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.neptune.inputs;
import com.pulumi.aws.neptune.inputs.ClusterServerlessV2ScalingConfigurationArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class ClusterState extends com.pulumi.resources.ResourceArgs {
public static final ClusterState Empty = new ClusterState();
/**
* Specifies whether upgrades between different major versions are allowed. You must set it to `true` when providing an `engine_version` parameter that uses a different major version than the DB cluster's current version. Default is `false`.
*
*/
@Import(name="allowMajorVersionUpgrade")
private @Nullable Output allowMajorVersionUpgrade;
/**
* @return Specifies whether upgrades between different major versions are allowed. You must set it to `true` when providing an `engine_version` parameter that uses a different major version than the DB cluster's current version. Default is `false`.
*
*/
public Optional> allowMajorVersionUpgrade() {
return Optional.ofNullable(this.allowMajorVersionUpgrade);
}
/**
* Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`.
*
*/
@Import(name="applyImmediately")
private @Nullable Output applyImmediately;
/**
* @return Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`.
*
*/
public Optional> applyImmediately() {
return Optional.ofNullable(this.applyImmediately);
}
/**
* The Neptune Cluster Amazon Resource Name (ARN)
*
*/
@Import(name="arn")
private @Nullable Output arn;
/**
* @return The Neptune Cluster Amazon Resource Name (ARN)
*
*/
public Optional> arn() {
return Optional.ofNullable(this.arn);
}
/**
* A list of EC2 Availability Zones that instances in the Neptune cluster can be created in.
*
*/
@Import(name="availabilityZones")
private @Nullable Output> availabilityZones;
/**
* @return A list of EC2 Availability Zones that instances in the Neptune cluster can be created in.
*
*/
public Optional>> availabilityZones() {
return Optional.ofNullable(this.availabilityZones);
}
/**
* The days to retain backups for. Default `1`
*
*/
@Import(name="backupRetentionPeriod")
private @Nullable Output backupRetentionPeriod;
/**
* @return The days to retain backups for. Default `1`
*
*/
public Optional> backupRetentionPeriod() {
return Optional.ofNullable(this.backupRetentionPeriod);
}
/**
* The cluster identifier. If omitted, this provider will assign a random, unique identifier.
*
*/
@Import(name="clusterIdentifier")
private @Nullable Output clusterIdentifier;
/**
* @return The cluster identifier. If omitted, this provider will assign a random, unique identifier.
*
*/
public Optional> clusterIdentifier() {
return Optional.ofNullable(this.clusterIdentifier);
}
/**
* Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `cluster_identifier`.
*
*/
@Import(name="clusterIdentifierPrefix")
private @Nullable Output clusterIdentifierPrefix;
/**
* @return Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `cluster_identifier`.
*
*/
public Optional> clusterIdentifierPrefix() {
return Optional.ofNullable(this.clusterIdentifierPrefix);
}
/**
* List of Neptune Instances that are a part of this cluster
*
*/
@Import(name="clusterMembers")
private @Nullable Output> clusterMembers;
/**
* @return List of Neptune Instances that are a part of this cluster
*
*/
public Optional>> clusterMembers() {
return Optional.ofNullable(this.clusterMembers);
}
/**
* The Neptune Cluster Resource ID
*
*/
@Import(name="clusterResourceId")
private @Nullable Output clusterResourceId;
/**
* @return The Neptune Cluster Resource ID
*
*/
public Optional> clusterResourceId() {
return Optional.ofNullable(this.clusterResourceId);
}
/**
* If set to true, tags are copied to any snapshot of the DB cluster that is created.
*
*/
@Import(name="copyTagsToSnapshot")
private @Nullable Output copyTagsToSnapshot;
/**
* @return If set to true, tags are copied to any snapshot of the DB cluster that is created.
*
*/
public Optional> copyTagsToSnapshot() {
return Optional.ofNullable(this.copyTagsToSnapshot);
}
/**
* A 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.
*
*/
@Import(name="deletionProtection")
private @Nullable Output deletionProtection;
/**
* @return A 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.
*
*/
public Optional> deletionProtection() {
return Optional.ofNullable(this.deletionProtection);
}
/**
* A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`.
*
*/
@Import(name="enableCloudwatchLogsExports")
private @Nullable Output> enableCloudwatchLogsExports;
/**
* @return A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`.
*
*/
public Optional>> enableCloudwatchLogsExports() {
return Optional.ofNullable(this.enableCloudwatchLogsExports);
}
/**
* The DNS address of the Neptune instance
*
*/
@Import(name="endpoint")
private @Nullable Output endpoint;
/**
* @return The DNS address of the Neptune instance
*
*/
public Optional> endpoint() {
return Optional.ofNullable(this.endpoint);
}
/**
* The name of the database engine to be used for this Neptune cluster. Defaults to `neptune`.
*
*/
@Import(name="engine")
private @Nullable Output engine;
/**
* @return The name of the database engine to be used for this Neptune cluster. Defaults to `neptune`.
*
*/
public Optional> engine() {
return Optional.ofNullable(this.engine);
}
/**
* The database engine version.
*
*/
@Import(name="engineVersion")
private @Nullable Output engineVersion;
/**
* @return The database engine version.
*
*/
public Optional> engineVersion() {
return Optional.ofNullable(this.engineVersion);
}
/**
* The name of your final Neptune snapshot when this Neptune cluster is deleted. If omitted, no final snapshot will be made.
*
*/
@Import(name="finalSnapshotIdentifier")
private @Nullable Output finalSnapshotIdentifier;
/**
* @return The name of your final Neptune snapshot when this Neptune cluster is deleted. If omitted, no final snapshot will be made.
*
*/
public Optional> finalSnapshotIdentifier() {
return Optional.ofNullable(this.finalSnapshotIdentifier);
}
/**
* The global cluster identifier specified on `aws.neptune.GlobalCluster`.
*
*/
@Import(name="globalClusterIdentifier")
private @Nullable Output globalClusterIdentifier;
/**
* @return The global cluster identifier specified on `aws.neptune.GlobalCluster`.
*
*/
public Optional> globalClusterIdentifier() {
return Optional.ofNullable(this.globalClusterIdentifier);
}
/**
* The Route53 Hosted Zone ID of the endpoint
*
*/
@Import(name="hostedZoneId")
private @Nullable Output hostedZoneId;
/**
* @return The Route53 Hosted Zone ID of the endpoint
*
*/
public Optional> hostedZoneId() {
return Optional.ofNullable(this.hostedZoneId);
}
/**
* Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled.
*
*/
@Import(name="iamDatabaseAuthenticationEnabled")
private @Nullable Output iamDatabaseAuthenticationEnabled;
/**
* @return Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled.
*
*/
public Optional> iamDatabaseAuthenticationEnabled() {
return Optional.ofNullable(this.iamDatabaseAuthenticationEnabled);
}
/**
* A List of ARNs for the IAM roles to associate to the Neptune Cluster.
*
*/
@Import(name="iamRoles")
private @Nullable Output> iamRoles;
/**
* @return A List of ARNs for the IAM roles to associate to the Neptune Cluster.
*
*/
public Optional>> iamRoles() {
return Optional.ofNullable(this.iamRoles);
}
/**
* The ARN for the KMS encryption key. When specifying `kms_key_arn`, `storage_encrypted` needs to be set to true.
*
*/
@Import(name="kmsKeyArn")
private @Nullable Output kmsKeyArn;
/**
* @return The ARN for the KMS encryption key. When specifying `kms_key_arn`, `storage_encrypted` needs to be set to true.
*
*/
public Optional> kmsKeyArn() {
return Optional.ofNullable(this.kmsKeyArn);
}
/**
* A cluster parameter group to associate with the cluster.
*
*/
@Import(name="neptuneClusterParameterGroupName")
private @Nullable Output neptuneClusterParameterGroupName;
/**
* @return A cluster parameter group to associate with the cluster.
*
*/
public Optional> neptuneClusterParameterGroupName() {
return Optional.ofNullable(this.neptuneClusterParameterGroupName);
}
/**
* The name of the DB parameter group to apply to all instances of the DB cluster.
*
*/
@Import(name="neptuneInstanceParameterGroupName")
private @Nullable Output neptuneInstanceParameterGroupName;
/**
* @return The name of the DB parameter group to apply to all instances of the DB cluster.
*
*/
public Optional> neptuneInstanceParameterGroupName() {
return Optional.ofNullable(this.neptuneInstanceParameterGroupName);
}
/**
* A Neptune subnet group to associate with this Neptune instance.
*
*/
@Import(name="neptuneSubnetGroupName")
private @Nullable Output neptuneSubnetGroupName;
/**
* @return A Neptune subnet group to associate with this Neptune instance.
*
*/
public Optional> neptuneSubnetGroupName() {
return Optional.ofNullable(this.neptuneSubnetGroupName);
}
/**
* The port on which the Neptune accepts connections. Default is `8182`.
*
*/
@Import(name="port")
private @Nullable Output port;
/**
* @return The port on which the Neptune accepts connections. Default is `8182`.
*
*/
public Optional> port() {
return Optional.ofNullable(this.port);
}
/**
* The 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
*
*/
@Import(name="preferredBackupWindow")
private @Nullable Output preferredBackupWindow;
/**
* @return The 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
*
*/
public Optional> preferredBackupWindow() {
return Optional.ofNullable(this.preferredBackupWindow);
}
/**
* The weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30
*
*/
@Import(name="preferredMaintenanceWindow")
private @Nullable Output preferredMaintenanceWindow;
/**
* @return The weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30
*
*/
public Optional> preferredMaintenanceWindow() {
return Optional.ofNullable(this.preferredMaintenanceWindow);
}
/**
* A read-only endpoint for the Neptune cluster, automatically load-balanced across replicas
*
*/
@Import(name="readerEndpoint")
private @Nullable Output readerEndpoint;
/**
* @return A read-only endpoint for the Neptune cluster, automatically load-balanced across replicas
*
*/
public Optional> readerEndpoint() {
return Optional.ofNullable(this.readerEndpoint);
}
/**
* ARN of a source Neptune cluster or Neptune instance if this Neptune cluster is to be created as a Read Replica.
*
*/
@Import(name="replicationSourceIdentifier")
private @Nullable Output replicationSourceIdentifier;
/**
* @return ARN of a source Neptune cluster or Neptune instance if this Neptune cluster is to be created as a Read Replica.
*
*/
public Optional> replicationSourceIdentifier() {
return Optional.ofNullable(this.replicationSourceIdentifier);
}
/**
* If set, create the Neptune cluster as a serverless one. See Serverless for example block attributes.
*
*/
@Import(name="serverlessV2ScalingConfiguration")
private @Nullable Output serverlessV2ScalingConfiguration;
/**
* @return If set, create the Neptune cluster as a serverless one. See Serverless for example block attributes.
*
*/
public Optional> serverlessV2ScalingConfiguration() {
return Optional.ofNullable(this.serverlessV2ScalingConfiguration);
}
/**
* Determines 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 `final_snapshot_identifier`. Default is `false`.
*
*/
@Import(name="skipFinalSnapshot")
private @Nullable Output skipFinalSnapshot;
/**
* @return Determines 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 `final_snapshot_identifier`. Default is `false`.
*
*/
public Optional> skipFinalSnapshot() {
return Optional.ofNullable(this.skipFinalSnapshot);
}
/**
* Specifies 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.
*
*/
@Import(name="snapshotIdentifier")
private @Nullable Output snapshotIdentifier;
/**
* @return Specifies 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.
*
*/
public Optional> snapshotIdentifier() {
return Optional.ofNullable(this.snapshotIdentifier);
}
/**
* Specifies whether the Neptune cluster is encrypted. The default is `false` if not specified.
*
*/
@Import(name="storageEncrypted")
private @Nullable Output storageEncrypted;
/**
* @return Specifies whether the Neptune cluster is encrypted. The default is `false` if not specified.
*
*/
public Optional> storageEncrypted() {
return Optional.ofNullable(this.storageEncrypted);
}
/**
* Storage type associated with the cluster `standard/iopt1`. Default: `standard`
*
*/
@Import(name="storageType")
private @Nullable Output storageType;
/**
* @return Storage type associated with the cluster `standard/iopt1`. Default: `standard`
*
*/
public Optional> storageType() {
return Optional.ofNullable(this.storageType);
}
/**
* A map of tags to assign to the Neptune cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return A map of tags to assign to the Neptune cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
/**
* A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
@Import(name="tagsAll")
private @Nullable Output> tagsAll;
/**
* @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
public Optional>> tagsAll() {
return Optional.ofNullable(this.tagsAll);
}
/**
* List of VPC security groups to associate with the Cluster
*
*/
@Import(name="vpcSecurityGroupIds")
private @Nullable Output> vpcSecurityGroupIds;
/**
* @return List of VPC security groups to associate with the Cluster
*
*/
public Optional>> vpcSecurityGroupIds() {
return Optional.ofNullable(this.vpcSecurityGroupIds);
}
private ClusterState() {}
private ClusterState(ClusterState $) {
this.allowMajorVersionUpgrade = $.allowMajorVersionUpgrade;
this.applyImmediately = $.applyImmediately;
this.arn = $.arn;
this.availabilityZones = $.availabilityZones;
this.backupRetentionPeriod = $.backupRetentionPeriod;
this.clusterIdentifier = $.clusterIdentifier;
this.clusterIdentifierPrefix = $.clusterIdentifierPrefix;
this.clusterMembers = $.clusterMembers;
this.clusterResourceId = $.clusterResourceId;
this.copyTagsToSnapshot = $.copyTagsToSnapshot;
this.deletionProtection = $.deletionProtection;
this.enableCloudwatchLogsExports = $.enableCloudwatchLogsExports;
this.endpoint = $.endpoint;
this.engine = $.engine;
this.engineVersion = $.engineVersion;
this.finalSnapshotIdentifier = $.finalSnapshotIdentifier;
this.globalClusterIdentifier = $.globalClusterIdentifier;
this.hostedZoneId = $.hostedZoneId;
this.iamDatabaseAuthenticationEnabled = $.iamDatabaseAuthenticationEnabled;
this.iamRoles = $.iamRoles;
this.kmsKeyArn = $.kmsKeyArn;
this.neptuneClusterParameterGroupName = $.neptuneClusterParameterGroupName;
this.neptuneInstanceParameterGroupName = $.neptuneInstanceParameterGroupName;
this.neptuneSubnetGroupName = $.neptuneSubnetGroupName;
this.port = $.port;
this.preferredBackupWindow = $.preferredBackupWindow;
this.preferredMaintenanceWindow = $.preferredMaintenanceWindow;
this.readerEndpoint = $.readerEndpoint;
this.replicationSourceIdentifier = $.replicationSourceIdentifier;
this.serverlessV2ScalingConfiguration = $.serverlessV2ScalingConfiguration;
this.skipFinalSnapshot = $.skipFinalSnapshot;
this.snapshotIdentifier = $.snapshotIdentifier;
this.storageEncrypted = $.storageEncrypted;
this.storageType = $.storageType;
this.tags = $.tags;
this.tagsAll = $.tagsAll;
this.vpcSecurityGroupIds = $.vpcSecurityGroupIds;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ClusterState defaults) {
return new Builder(defaults);
}
public static final class Builder {
private ClusterState $;
public Builder() {
$ = new ClusterState();
}
public Builder(ClusterState defaults) {
$ = new ClusterState(Objects.requireNonNull(defaults));
}
/**
* @param allowMajorVersionUpgrade Specifies whether upgrades between different major versions are allowed. You must set it to `true` when providing an `engine_version` parameter that uses a different major version than the DB cluster's current version. Default is `false`.
*
* @return builder
*
*/
public Builder allowMajorVersionUpgrade(@Nullable Output allowMajorVersionUpgrade) {
$.allowMajorVersionUpgrade = allowMajorVersionUpgrade;
return this;
}
/**
* @param allowMajorVersionUpgrade Specifies whether upgrades between different major versions are allowed. You must set it to `true` when providing an `engine_version` parameter that uses a different major version than the DB cluster's current version. Default is `false`.
*
* @return builder
*
*/
public Builder allowMajorVersionUpgrade(Boolean allowMajorVersionUpgrade) {
return allowMajorVersionUpgrade(Output.of(allowMajorVersionUpgrade));
}
/**
* @param applyImmediately Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`.
*
* @return builder
*
*/
public Builder applyImmediately(@Nullable Output applyImmediately) {
$.applyImmediately = applyImmediately;
return this;
}
/**
* @param applyImmediately Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is `false`.
*
* @return builder
*
*/
public Builder applyImmediately(Boolean applyImmediately) {
return applyImmediately(Output.of(applyImmediately));
}
/**
* @param arn The Neptune Cluster Amazon Resource Name (ARN)
*
* @return builder
*
*/
public Builder arn(@Nullable Output arn) {
$.arn = arn;
return this;
}
/**
* @param arn The Neptune Cluster Amazon Resource Name (ARN)
*
* @return builder
*
*/
public Builder arn(String arn) {
return arn(Output.of(arn));
}
/**
* @param availabilityZones A list of EC2 Availability Zones that instances in the Neptune cluster can be created in.
*
* @return builder
*
*/
public Builder availabilityZones(@Nullable Output> availabilityZones) {
$.availabilityZones = availabilityZones;
return this;
}
/**
* @param availabilityZones A list of EC2 Availability Zones that instances in the Neptune cluster can be created in.
*
* @return builder
*
*/
public Builder availabilityZones(List availabilityZones) {
return availabilityZones(Output.of(availabilityZones));
}
/**
* @param availabilityZones A list of EC2 Availability Zones that instances in the Neptune cluster can be created in.
*
* @return builder
*
*/
public Builder availabilityZones(String... availabilityZones) {
return availabilityZones(List.of(availabilityZones));
}
/**
* @param backupRetentionPeriod The days to retain backups for. Default `1`
*
* @return builder
*
*/
public Builder backupRetentionPeriod(@Nullable Output backupRetentionPeriod) {
$.backupRetentionPeriod = backupRetentionPeriod;
return this;
}
/**
* @param backupRetentionPeriod The days to retain backups for. Default `1`
*
* @return builder
*
*/
public Builder backupRetentionPeriod(Integer backupRetentionPeriod) {
return backupRetentionPeriod(Output.of(backupRetentionPeriod));
}
/**
* @param clusterIdentifier The cluster identifier. If omitted, this provider will assign a random, unique identifier.
*
* @return builder
*
*/
public Builder clusterIdentifier(@Nullable Output clusterIdentifier) {
$.clusterIdentifier = clusterIdentifier;
return this;
}
/**
* @param clusterIdentifier The cluster identifier. If omitted, this provider will assign a random, unique identifier.
*
* @return builder
*
*/
public Builder clusterIdentifier(String clusterIdentifier) {
return clusterIdentifier(Output.of(clusterIdentifier));
}
/**
* @param clusterIdentifierPrefix Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `cluster_identifier`.
*
* @return builder
*
*/
public Builder clusterIdentifierPrefix(@Nullable Output clusterIdentifierPrefix) {
$.clusterIdentifierPrefix = clusterIdentifierPrefix;
return this;
}
/**
* @param clusterIdentifierPrefix Creates a unique cluster identifier beginning with the specified prefix. Conflicts with `cluster_identifier`.
*
* @return builder
*
*/
public Builder clusterIdentifierPrefix(String clusterIdentifierPrefix) {
return clusterIdentifierPrefix(Output.of(clusterIdentifierPrefix));
}
/**
* @param clusterMembers List of Neptune Instances that are a part of this cluster
*
* @return builder
*
*/
public Builder clusterMembers(@Nullable Output> clusterMembers) {
$.clusterMembers = clusterMembers;
return this;
}
/**
* @param clusterMembers List of Neptune Instances that are a part of this cluster
*
* @return builder
*
*/
public Builder clusterMembers(List clusterMembers) {
return clusterMembers(Output.of(clusterMembers));
}
/**
* @param clusterMembers List of Neptune Instances that are a part of this cluster
*
* @return builder
*
*/
public Builder clusterMembers(String... clusterMembers) {
return clusterMembers(List.of(clusterMembers));
}
/**
* @param clusterResourceId The Neptune Cluster Resource ID
*
* @return builder
*
*/
public Builder clusterResourceId(@Nullable Output clusterResourceId) {
$.clusterResourceId = clusterResourceId;
return this;
}
/**
* @param clusterResourceId The Neptune Cluster Resource ID
*
* @return builder
*
*/
public Builder clusterResourceId(String clusterResourceId) {
return clusterResourceId(Output.of(clusterResourceId));
}
/**
* @param copyTagsToSnapshot If set to true, tags are copied to any snapshot of the DB cluster that is created.
*
* @return builder
*
*/
public Builder copyTagsToSnapshot(@Nullable Output copyTagsToSnapshot) {
$.copyTagsToSnapshot = copyTagsToSnapshot;
return this;
}
/**
* @param copyTagsToSnapshot If set to true, tags are copied to any snapshot of the DB cluster that is created.
*
* @return builder
*
*/
public Builder copyTagsToSnapshot(Boolean copyTagsToSnapshot) {
return copyTagsToSnapshot(Output.of(copyTagsToSnapshot));
}
/**
* @param deletionProtection A 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.
*
* @return builder
*
*/
public Builder deletionProtection(@Nullable Output deletionProtection) {
$.deletionProtection = deletionProtection;
return this;
}
/**
* @param deletionProtection A 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.
*
* @return builder
*
*/
public Builder deletionProtection(Boolean deletionProtection) {
return deletionProtection(Output.of(deletionProtection));
}
/**
* @param enableCloudwatchLogsExports A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`.
*
* @return builder
*
*/
public Builder enableCloudwatchLogsExports(@Nullable Output> enableCloudwatchLogsExports) {
$.enableCloudwatchLogsExports = enableCloudwatchLogsExports;
return this;
}
/**
* @param enableCloudwatchLogsExports A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`.
*
* @return builder
*
*/
public Builder enableCloudwatchLogsExports(List enableCloudwatchLogsExports) {
return enableCloudwatchLogsExports(Output.of(enableCloudwatchLogsExports));
}
/**
* @param enableCloudwatchLogsExports A list of the log types this DB cluster is configured to export to Cloudwatch Logs. Currently only supports `audit` and `slowquery`.
*
* @return builder
*
*/
public Builder enableCloudwatchLogsExports(String... enableCloudwatchLogsExports) {
return enableCloudwatchLogsExports(List.of(enableCloudwatchLogsExports));
}
/**
* @param endpoint The DNS address of the Neptune instance
*
* @return builder
*
*/
public Builder endpoint(@Nullable Output endpoint) {
$.endpoint = endpoint;
return this;
}
/**
* @param endpoint The DNS address of the Neptune instance
*
* @return builder
*
*/
public Builder endpoint(String endpoint) {
return endpoint(Output.of(endpoint));
}
/**
* @param engine The name of the database engine to be used for this Neptune cluster. Defaults to `neptune`.
*
* @return builder
*
*/
public Builder engine(@Nullable Output engine) {
$.engine = engine;
return this;
}
/**
* @param engine The name of the database engine to be used for this Neptune cluster. Defaults to `neptune`.
*
* @return builder
*
*/
public Builder engine(String engine) {
return engine(Output.of(engine));
}
/**
* @param engineVersion The database engine version.
*
* @return builder
*
*/
public Builder engineVersion(@Nullable Output engineVersion) {
$.engineVersion = engineVersion;
return this;
}
/**
* @param engineVersion The database engine version.
*
* @return builder
*
*/
public Builder engineVersion(String engineVersion) {
return engineVersion(Output.of(engineVersion));
}
/**
* @param finalSnapshotIdentifier The name of your final Neptune snapshot when this Neptune cluster is deleted. If omitted, no final snapshot will be made.
*
* @return builder
*
*/
public Builder finalSnapshotIdentifier(@Nullable Output finalSnapshotIdentifier) {
$.finalSnapshotIdentifier = finalSnapshotIdentifier;
return this;
}
/**
* @param finalSnapshotIdentifier The name of your final Neptune snapshot when this Neptune cluster is deleted. If omitted, no final snapshot will be made.
*
* @return builder
*
*/
public Builder finalSnapshotIdentifier(String finalSnapshotIdentifier) {
return finalSnapshotIdentifier(Output.of(finalSnapshotIdentifier));
}
/**
* @param globalClusterIdentifier The global cluster identifier specified on `aws.neptune.GlobalCluster`.
*
* @return builder
*
*/
public Builder globalClusterIdentifier(@Nullable Output globalClusterIdentifier) {
$.globalClusterIdentifier = globalClusterIdentifier;
return this;
}
/**
* @param globalClusterIdentifier The global cluster identifier specified on `aws.neptune.GlobalCluster`.
*
* @return builder
*
*/
public Builder globalClusterIdentifier(String globalClusterIdentifier) {
return globalClusterIdentifier(Output.of(globalClusterIdentifier));
}
/**
* @param hostedZoneId The Route53 Hosted Zone ID of the endpoint
*
* @return builder
*
*/
public Builder hostedZoneId(@Nullable Output hostedZoneId) {
$.hostedZoneId = hostedZoneId;
return this;
}
/**
* @param hostedZoneId The Route53 Hosted Zone ID of the endpoint
*
* @return builder
*
*/
public Builder hostedZoneId(String hostedZoneId) {
return hostedZoneId(Output.of(hostedZoneId));
}
/**
* @param iamDatabaseAuthenticationEnabled Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled.
*
* @return builder
*
*/
public Builder iamDatabaseAuthenticationEnabled(@Nullable Output iamDatabaseAuthenticationEnabled) {
$.iamDatabaseAuthenticationEnabled = iamDatabaseAuthenticationEnabled;
return this;
}
/**
* @param iamDatabaseAuthenticationEnabled Specifies whether or not mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled.
*
* @return builder
*
*/
public Builder iamDatabaseAuthenticationEnabled(Boolean iamDatabaseAuthenticationEnabled) {
return iamDatabaseAuthenticationEnabled(Output.of(iamDatabaseAuthenticationEnabled));
}
/**
* @param iamRoles A List of ARNs for the IAM roles to associate to the Neptune Cluster.
*
* @return builder
*
*/
public Builder iamRoles(@Nullable Output> iamRoles) {
$.iamRoles = iamRoles;
return this;
}
/**
* @param iamRoles A List of ARNs for the IAM roles to associate to the Neptune Cluster.
*
* @return builder
*
*/
public Builder iamRoles(List iamRoles) {
return iamRoles(Output.of(iamRoles));
}
/**
* @param iamRoles A List of ARNs for the IAM roles to associate to the Neptune Cluster.
*
* @return builder
*
*/
public Builder iamRoles(String... iamRoles) {
return iamRoles(List.of(iamRoles));
}
/**
* @param kmsKeyArn The ARN for the KMS encryption key. When specifying `kms_key_arn`, `storage_encrypted` needs to be set to true.
*
* @return builder
*
*/
public Builder kmsKeyArn(@Nullable Output kmsKeyArn) {
$.kmsKeyArn = kmsKeyArn;
return this;
}
/**
* @param kmsKeyArn The ARN for the KMS encryption key. When specifying `kms_key_arn`, `storage_encrypted` needs to be set to true.
*
* @return builder
*
*/
public Builder kmsKeyArn(String kmsKeyArn) {
return kmsKeyArn(Output.of(kmsKeyArn));
}
/**
* @param neptuneClusterParameterGroupName A cluster parameter group to associate with the cluster.
*
* @return builder
*
*/
public Builder neptuneClusterParameterGroupName(@Nullable Output neptuneClusterParameterGroupName) {
$.neptuneClusterParameterGroupName = neptuneClusterParameterGroupName;
return this;
}
/**
* @param neptuneClusterParameterGroupName A cluster parameter group to associate with the cluster.
*
* @return builder
*
*/
public Builder neptuneClusterParameterGroupName(String neptuneClusterParameterGroupName) {
return neptuneClusterParameterGroupName(Output.of(neptuneClusterParameterGroupName));
}
/**
* @param neptuneInstanceParameterGroupName The name of the DB parameter group to apply to all instances of the DB cluster.
*
* @return builder
*
*/
public Builder neptuneInstanceParameterGroupName(@Nullable Output neptuneInstanceParameterGroupName) {
$.neptuneInstanceParameterGroupName = neptuneInstanceParameterGroupName;
return this;
}
/**
* @param neptuneInstanceParameterGroupName The name of the DB parameter group to apply to all instances of the DB cluster.
*
* @return builder
*
*/
public Builder neptuneInstanceParameterGroupName(String neptuneInstanceParameterGroupName) {
return neptuneInstanceParameterGroupName(Output.of(neptuneInstanceParameterGroupName));
}
/**
* @param neptuneSubnetGroupName A Neptune subnet group to associate with this Neptune instance.
*
* @return builder
*
*/
public Builder neptuneSubnetGroupName(@Nullable Output neptuneSubnetGroupName) {
$.neptuneSubnetGroupName = neptuneSubnetGroupName;
return this;
}
/**
* @param neptuneSubnetGroupName A Neptune subnet group to associate with this Neptune instance.
*
* @return builder
*
*/
public Builder neptuneSubnetGroupName(String neptuneSubnetGroupName) {
return neptuneSubnetGroupName(Output.of(neptuneSubnetGroupName));
}
/**
* @param port The port on which the Neptune accepts connections. Default is `8182`.
*
* @return builder
*
*/
public Builder port(@Nullable Output port) {
$.port = port;
return this;
}
/**
* @param port The port on which the Neptune accepts connections. Default is `8182`.
*
* @return builder
*
*/
public Builder port(Integer port) {
return port(Output.of(port));
}
/**
* @param preferredBackupWindow The 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
*
* @return builder
*
*/
public Builder preferredBackupWindow(@Nullable Output preferredBackupWindow) {
$.preferredBackupWindow = preferredBackupWindow;
return this;
}
/**
* @param preferredBackupWindow The 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
*
* @return builder
*
*/
public Builder preferredBackupWindow(String preferredBackupWindow) {
return preferredBackupWindow(Output.of(preferredBackupWindow));
}
/**
* @param preferredMaintenanceWindow The weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30
*
* @return builder
*
*/
public Builder preferredMaintenanceWindow(@Nullable Output preferredMaintenanceWindow) {
$.preferredMaintenanceWindow = preferredMaintenanceWindow;
return this;
}
/**
* @param preferredMaintenanceWindow The weekly time range during which system maintenance can occur, in (UTC) e.g., wed:04:00-wed:04:30
*
* @return builder
*
*/
public Builder preferredMaintenanceWindow(String preferredMaintenanceWindow) {
return preferredMaintenanceWindow(Output.of(preferredMaintenanceWindow));
}
/**
* @param readerEndpoint A read-only endpoint for the Neptune cluster, automatically load-balanced across replicas
*
* @return builder
*
*/
public Builder readerEndpoint(@Nullable Output readerEndpoint) {
$.readerEndpoint = readerEndpoint;
return this;
}
/**
* @param readerEndpoint A read-only endpoint for the Neptune cluster, automatically load-balanced across replicas
*
* @return builder
*
*/
public Builder readerEndpoint(String readerEndpoint) {
return readerEndpoint(Output.of(readerEndpoint));
}
/**
* @param replicationSourceIdentifier ARN of a source Neptune cluster or Neptune instance if this Neptune cluster is to be created as a Read Replica.
*
* @return builder
*
*/
public Builder replicationSourceIdentifier(@Nullable Output replicationSourceIdentifier) {
$.replicationSourceIdentifier = replicationSourceIdentifier;
return this;
}
/**
* @param replicationSourceIdentifier ARN of a source Neptune cluster or Neptune instance if this Neptune cluster is to be created as a Read Replica.
*
* @return builder
*
*/
public Builder replicationSourceIdentifier(String replicationSourceIdentifier) {
return replicationSourceIdentifier(Output.of(replicationSourceIdentifier));
}
/**
* @param serverlessV2ScalingConfiguration If set, create the Neptune cluster as a serverless one. See Serverless for example block attributes.
*
* @return builder
*
*/
public Builder serverlessV2ScalingConfiguration(@Nullable Output serverlessV2ScalingConfiguration) {
$.serverlessV2ScalingConfiguration = serverlessV2ScalingConfiguration;
return this;
}
/**
* @param serverlessV2ScalingConfiguration If set, create the Neptune cluster as a serverless one. See Serverless for example block attributes.
*
* @return builder
*
*/
public Builder serverlessV2ScalingConfiguration(ClusterServerlessV2ScalingConfigurationArgs serverlessV2ScalingConfiguration) {
return serverlessV2ScalingConfiguration(Output.of(serverlessV2ScalingConfiguration));
}
/**
* @param skipFinalSnapshot Determines 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 `final_snapshot_identifier`. Default is `false`.
*
* @return builder
*
*/
public Builder skipFinalSnapshot(@Nullable Output skipFinalSnapshot) {
$.skipFinalSnapshot = skipFinalSnapshot;
return this;
}
/**
* @param skipFinalSnapshot Determines 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 `final_snapshot_identifier`. Default is `false`.
*
* @return builder
*
*/
public Builder skipFinalSnapshot(Boolean skipFinalSnapshot) {
return skipFinalSnapshot(Output.of(skipFinalSnapshot));
}
/**
* @param snapshotIdentifier Specifies 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.
*
* @return builder
*
*/
public Builder snapshotIdentifier(@Nullable Output snapshotIdentifier) {
$.snapshotIdentifier = snapshotIdentifier;
return this;
}
/**
* @param snapshotIdentifier Specifies 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.
*
* @return builder
*
*/
public Builder snapshotIdentifier(String snapshotIdentifier) {
return snapshotIdentifier(Output.of(snapshotIdentifier));
}
/**
* @param storageEncrypted Specifies whether the Neptune cluster is encrypted. The default is `false` if not specified.
*
* @return builder
*
*/
public Builder storageEncrypted(@Nullable Output storageEncrypted) {
$.storageEncrypted = storageEncrypted;
return this;
}
/**
* @param storageEncrypted Specifies whether the Neptune cluster is encrypted. The default is `false` if not specified.
*
* @return builder
*
*/
public Builder storageEncrypted(Boolean storageEncrypted) {
return storageEncrypted(Output.of(storageEncrypted));
}
/**
* @param storageType Storage type associated with the cluster `standard/iopt1`. Default: `standard`
*
* @return builder
*
*/
public Builder storageType(@Nullable Output storageType) {
$.storageType = storageType;
return this;
}
/**
* @param storageType Storage type associated with the cluster `standard/iopt1`. Default: `standard`
*
* @return builder
*
*/
public Builder storageType(String storageType) {
return storageType(Output.of(storageType));
}
/**
* @param tags A map of tags to assign to the Neptune cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags A map of tags to assign to the Neptune cluster. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
/**
* @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @return builder
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
public Builder tagsAll(@Nullable Output> tagsAll) {
$.tagsAll = tagsAll;
return this;
}
/**
* @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
*
* @return builder
*
* @deprecated
* Please use `tags` instead.
*
*/
@Deprecated /* Please use `tags` instead. */
public Builder tagsAll(Map tagsAll) {
return tagsAll(Output.of(tagsAll));
}
/**
* @param vpcSecurityGroupIds List of VPC security groups to associate with the Cluster
*
* @return builder
*
*/
public Builder vpcSecurityGroupIds(@Nullable Output> vpcSecurityGroupIds) {
$.vpcSecurityGroupIds = vpcSecurityGroupIds;
return this;
}
/**
* @param vpcSecurityGroupIds List of VPC security groups to associate with the Cluster
*
* @return builder
*
*/
public Builder vpcSecurityGroupIds(List vpcSecurityGroupIds) {
return vpcSecurityGroupIds(Output.of(vpcSecurityGroupIds));
}
/**
* @param vpcSecurityGroupIds List of VPC security groups to associate with the Cluster
*
* @return builder
*
*/
public Builder vpcSecurityGroupIds(String... vpcSecurityGroupIds) {
return vpcSecurityGroupIds(List.of(vpcSecurityGroupIds));
}
public ClusterState build() {
return $;
}
}
}