Graph Args
The aws.neptunegraph.Graph resource creates an Amazon Analytics Graph.
Example Usage
Neptune Graph (with Vector Search configuration)
Creates a Neptune Graph with 16GB provisioned memory, vector search capability with 128 dimensions, and a single replica for high availability.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
// Create Neptune Graph
const example = new aws.neptunegraph.Graph("example", {
graphName: "example-graph-test-20250203",
provisionedMemory: 16,
deletionProtection: false,
publicConnectivity: false,
replicaCount: 1,
kmsKeyIdentifier: "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012",
vectorSearchConfiguration: {
vectorSearchDimension: 128,
},
tags: {
Environment: "Development",
ModifiedBy: "AWS",
},
});
import pulumi
import pulumi_aws as aws
# Create Neptune Graph
example = aws.neptunegraph.Graph("example",
graph_name="example-graph-test-20250203",
provisioned_memory=16,
deletion_protection=False,
public_connectivity=False,
replica_count=1,
kms_key_identifier="arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012",
vector_search_configuration={
"vector_search_dimension": 128,
},
tags={
"Environment": "Development",
"ModifiedBy": "AWS",
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
// Create Neptune Graph
var example = new Aws.NeptuneGraph.Graph("example", new()
{
GraphName = "example-graph-test-20250203",
ProvisionedMemory = 16,
DeletionProtection = false,
PublicConnectivity = false,
ReplicaCount = 1,
KmsKeyIdentifier = "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012",
VectorSearchConfiguration = new Aws.NeptuneGraph.Inputs.GraphVectorSearchConfigurationArgs
{
VectorSearchDimension = 128,
},
Tags =
{
{ "Environment", "Development" },
{ "ModifiedBy", "AWS" },
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/neptunegraph"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Create Neptune Graph
_, err := neptunegraph.NewGraph(ctx, "example", &neptunegraph.GraphArgs{
GraphName: pulumi.String("example-graph-test-20250203"),
ProvisionedMemory: pulumi.Int(16),
DeletionProtection: pulumi.Bool(false),
PublicConnectivity: pulumi.Bool(false),
ReplicaCount: pulumi.Int(1),
KmsKeyIdentifier: pulumi.String("arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012"),
VectorSearchConfiguration: &neptunegraph.GraphVectorSearchConfigurationArgs{
VectorSearchDimension: pulumi.Int(128),
},
Tags: pulumi.StringMap{
"Environment": pulumi.String("Development"),
"ModifiedBy": pulumi.String("AWS"),
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.neptunegraph.Graph;
import com.pulumi.aws.neptunegraph.GraphArgs;
import com.pulumi.aws.neptunegraph.inputs.GraphVectorSearchConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
// Create Neptune Graph
var example = new Graph("example", GraphArgs.builder()
.graphName("example-graph-test-20250203")
.provisionedMemory(16)
.deletionProtection(false)
.publicConnectivity(false)
.replicaCount(1)
.kmsKeyIdentifier("arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012")
.vectorSearchConfiguration(GraphVectorSearchConfigurationArgs.builder()
.vectorSearchDimension(128)
.build())
.tags(Map.ofEntries(
Map.entry("Environment", "Development"),
Map.entry("ModifiedBy", "AWS")
))
.build());
}
}
resources:
# Create Neptune Graph
example:
type: aws:neptunegraph:Graph
properties:
graphName: example-graph-test-20250203
provisionedMemory: 16
deletionProtection: false
publicConnectivity: false
replicaCount: 1
kmsKeyIdentifier: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012
vectorSearchConfiguration:
vectorSearchDimension: 128
tags:
Environment: Development
ModifiedBy: AWS
Import
Using pulumi import
, import aws_neptunegraph_graph
using the graph identifier. For example:
$ pulumi import aws:neptunegraph/graph:Graph example "graph_id"
Constructors
Properties
Value that indicates whether the Graph has deletion protection enabled. The graph can't be deleted when deletion protection is enabled.
The graph name. For example: my-graph-1. The name must contain from 1 to 63 letters, numbers, or hyphens, and its first character must be a letter. It cannot end with a hyphen or contain two consecutive hyphens. If you don't specify a graph name, a unique graph name is generated for you using the prefix graph-for, followed by a combination of Stack Name and a UUID.
Allows user to specify name prefix and have remainder of name automatically generated.
The ARN for the KMS encryption key. By Default, Neptune Analytics will use an AWS provided key ("AWS_OWNED_KEY"). This parameter is used if you want to encrypt the graph using a KMS Customer Managed Key (CMK).
The provisioned memory-optimized Neptune Capacity Units (m-NCUs) to use for the graph. The following arguments are optional:
Specifies whether the Graph can be reached over the internet. Access to all graphs requires IAM authentication. When the Graph is publicly reachable, its Domain Name System (DNS) endpoint resolves to the public IP address from the internet. When the Graph isn't publicly reachable, you need to create a PrivateGraphEndpoint in a given VPC to ensure the DNS name resolves to a private IP address that is reachable from the VPC.
Specifies the number of replicas you want when finished. All replicas will be provisioned in different availability zones. Replica Count should always be less than or equal to 2.
Vector Search Configuration (see below for nested schema of vector_search_configuration)