» Resource: aws_neptune_cluster
Provides an Neptune Cluster Resource. A Cluster Resource defines attributes that are applied to the entire cluster of Neptune Cluster Instances.
Changes to a Neptune Cluster can occur when you manually change a
parameter, such as backup_retention_period
, and are reflected in the next maintenance
window. Because of this, Terraform may report a difference in its planning
phase because a modification has not yet taken place. You can use the
apply_immediately
flag to instruct the service to apply the change immediately
(see documentation below).
» Example Usage
resource "aws_neptune_cluster" "default" {
cluster_identifier = "neptune-cluster-demo"
engine = "neptune"
backup_retention_period = 5
preferred_backup_window = "07:00-09:00"
skip_final_snapshot = true
iam_database_authentication_enabled = true
apply_immediately = true
}
Note: AWS Neptune does not support user name/password–based access control. See the AWS Docs for more information.
» Argument Reference
The following arguments are supported:
-
apply_immediately
- (Optional) Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default isfalse
. -
availability_zones
- (Optional) A list of EC2 Availability Zones that instances in the Neptune cluster can be created in. -
backup_retention_period
- (Optional) The days to retain backups for. Default1
-
cluster_identifier
- (Optional, Forces new resources) The cluster identifier. If omitted, Terraform will assign a random, unique identifier. -
cluster_identifier_prefix
- (Optional, Forces new resource) Creates a unique cluster identifier beginning with the specified prefix. Conflicts withcluster_identifier
. -
engine
- (Optional) The name of the database engine to be used for this Neptune cluster. Defaults toneptune
. -
engine_version
- (Optional) The database engine version. -
final_snapshot_identifier
- (Optional) The name of your final Neptune snapshot when this Neptune cluster is deleted. If omitted, no final snapshot will be made. -
iam_roles
- (Optional) A List of ARNs for the IAM roles to associate to the Neptune Cluster. -
iam_database_authentication_enabled
- (Optional) Specifies whether or mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. -
kms_key_arn
- (Optional) The ARN for the KMS encryption key. When specifyingkms_key_arn
,storage_encrypted
needs to be set to true. -
neptune_subnet_group_name
- (Optional) A Neptune subnet group to associate with this Neptune instance. -
neptune_cluster_parameter_group_name
- (Optional) A cluster parameter group to associate with the cluster. -
preferred_backup_window
- (Optional) 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 region. e.g. 04:00-09:00 -
preferred_maintenance_window
- (Optional) The weekly time range during which system maintenance can occur, in (UTC) e.g. wed:04:00-wed:04:30 -
port
- (Optional) The port on which the Neptune accepts connections. Default is8182
. -
replication_source_identifier
- (Optional) ARN of a source Neptune cluster or Neptune instance if this Neptune cluster is to be created as a Read Replica. -
skip_final_snapshot
- (Optional) 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 fromfinal_snapshot_identifier
. Default isfalse
. -
snapshot_identifier
- (Optional) 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. -
storage_encrypted
- (Optional) Specifies whether the Neptune cluster is encrypted. The default isfalse
if not specified. -
tags
- (Optional) A mapping of tags to assign to the Neptune cluster. -
vpc_security_group_ids
- (Optional) List of VPC security groups to associate with the Cluster
» Attributes Reference
In addition to all arguments above, the following attributes are exported:
-
arn
- The Neptune Cluster Amazon Resource Name (ARN) -
cluster_resource_id
- The Neptune Cluster Resource ID -
cluster_members
– List of Neptune Instances that are a part of this cluster -
endpoint
- The DNS address of the Neptune instance -
hosted_zone_id
- The Route53 Hosted Zone ID of the endpoint -
id
- The Neptune Cluster Identifier -
reader_endpoint
- A read-only endpoint for the Neptune cluster, automatically load-balanced across replicas -
status
- The Neptune instance status
» Timeouts
aws_neptune_cluster
provides the following
Timeouts configuration options:
-
create
- (Default120 minutes
) Used for Cluster creation -
update
- (Default120 minutes
) Used for Cluster modifications -
delete
- (Default120 minutes
) Used for destroying cluster. This includes any cleanup task during the destroying process.
» Import
aws_neptune_cluster
can be imported by using the cluster identifier, e.g.
$ terraform import aws_neptune_cluster.example my-cluster