Namespace Pulumi.Aws.Neptune
Classes
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, this provider 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
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var @default = new Aws.Neptune.Cluster("default", new Aws.Neptune.ClusterArgs
{
ApplyImmediately = true,
BackupRetentionPeriod = 5,
ClusterIdentifier = "neptune-cluster-demo",
Engine = "neptune",
IamDatabaseAuthenticationEnabled = true,
PreferredBackupWindow = "07:00-09:00",
SkipFinalSnapshot = true,
});
}
}
ClusterArgs
ClusterInstance
A Cluster Instance Resource defines attributes that are specific to a single instance in a Neptune Cluster.
You can simply add neptune instances and Neptune manages the replication. You can use the count
meta-parameter to make multiple instances and join them all to the same Neptune Cluster, or you may specify different Cluster Instance resources with various instance_class sizes.
Example Usage
using System.Collections.Generic;
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var @default = new Aws.Neptune.Cluster("default", new Aws.Neptune.ClusterArgs
{
ApplyImmediately = true,
BackupRetentionPeriod = 5,
ClusterIdentifier = "neptune-cluster-demo",
Engine = "neptune",
IamDatabaseAuthenticationEnabled = true,
PreferredBackupWindow = "07:00-09:00",
SkipFinalSnapshot = true,
});
var example = new List<Aws.Neptune.ClusterInstance>();
for (var rangeIndex = 0; rangeIndex < 2; rangeIndex++)
{
var range = new { Value = rangeIndex };
example.Add(new Aws.Neptune.ClusterInstance($"example-{range.Value}", new Aws.Neptune.ClusterInstanceArgs
{
ApplyImmediately = true,
ClusterIdentifier = @default.Id,
Engine = "neptune",
InstanceClass = "db.r4.large",
}));
}
}
}
ClusterInstanceArgs
ClusterInstanceState
ClusterParameterGroup
Manages a Neptune Cluster Parameter Group
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var example = new Aws.Neptune.ClusterParameterGroup("example", new Aws.Neptune.ClusterParameterGroupArgs
{
Description = "neptune cluster parameter group",
Family = "neptune1",
Parameters =
{
new Aws.Neptune.Inputs.ClusterParameterGroupParameterArgs
{
Name = "neptune_enable_audit_log",
Value = 1,
},
},
});
}
}
ClusterParameterGroupArgs
ClusterParameterGroupState
ClusterSnapshot
Manages a Neptune database cluster snapshot.
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var example = new Aws.Neptune.ClusterSnapshot("example", new Aws.Neptune.ClusterSnapshotArgs
{
DbClusterIdentifier = aws_neptune_cluster.Example.Id,
DbClusterSnapshotIdentifier = "resourcetestsnapshot1234",
});
}
}
ClusterSnapshotArgs
ClusterSnapshotState
ClusterState
EventSubscription
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var defaultCluster = new Aws.Neptune.Cluster("defaultCluster", new Aws.Neptune.ClusterArgs
{
ApplyImmediately = "true",
BackupRetentionPeriod = 5,
ClusterIdentifier = "neptune-cluster-demo",
Engine = "neptune",
IamDatabaseAuthenticationEnabled = "true",
PreferredBackupWindow = "07:00-09:00",
SkipFinalSnapshot = true,
});
var example = new Aws.Neptune.ClusterInstance("example", new Aws.Neptune.ClusterInstanceArgs
{
ApplyImmediately = "true",
ClusterIdentifier = defaultCluster.Id,
Engine = "neptune",
InstanceClass = "db.r4.large",
});
var defaultTopic = new Aws.Sns.Topic("defaultTopic", new Aws.Sns.TopicArgs
{
});
var defaultEventSubscription = new Aws.Neptune.EventSubscription("defaultEventSubscription", new Aws.Neptune.EventSubscriptionArgs
{
EventCategories =
{
"maintenance",
"availability",
"creation",
"backup",
"restoration",
"recovery",
"deletion",
"failover",
"failure",
"notification",
"configuration change",
"read replica",
},
SnsTopicArn = defaultTopic.Arn,
SourceIds =
{
example.Id,
},
SourceType = "db-instance",
Tags =
{
{ "env", "test" },
},
});
}
}
Attributes
The following additional atttributes are provided:
id- The name of the Neptune event notification subscription.arn- The Amazon Resource Name of the Neptune event notification subscription.customer_aws_id- The AWS customer account associated with the Neptune event notification subscription.
EventSubscriptionArgs
EventSubscriptionState
ParameterGroup
Manages a Neptune Parameter Group
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var example = new Aws.Neptune.ParameterGroup("example", new Aws.Neptune.ParameterGroupArgs
{
Family = "neptune1",
Parameters =
{
new Aws.Neptune.Inputs.ParameterGroupParameterArgs
{
Name = "neptune_query_timeout",
Value = "25",
},
},
});
}
}
ParameterGroupArgs
ParameterGroupState
SubnetGroup
Provides an Neptune subnet group resource.
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var @default = new Aws.Neptune.SubnetGroup("default", new Aws.Neptune.SubnetGroupArgs
{
SubnetIds =
{
aws_subnet.Frontend.Id,
aws_subnet.Backend.Id,
},
Tags =
{
{ "Name", "My neptune subnet group" },
},
});
}
}