GraphArgs

data class GraphArgs(val deletionProtection: Output<Boolean>? = null, val graphName: Output<String>? = null, val graphNamePrefix: Output<String>? = null, val kmsKeyIdentifier: Output<String>? = null, val provisionedMemory: Output<Int>? = null, val publicConnectivity: Output<Boolean>? = null, val replicaCount: Output<Int>? = null, val tags: Output<Map<String, String>>? = null, val timeouts: Output<GraphTimeoutsArgs>? = null, val vectorSearchConfiguration: Output<GraphVectorSearchConfigurationArgs>? = null) : ConvertibleToJava<GraphArgs>

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

Link copied to clipboard
constructor(deletionProtection: Output<Boolean>? = null, graphName: Output<String>? = null, graphNamePrefix: Output<String>? = null, kmsKeyIdentifier: Output<String>? = null, provisionedMemory: Output<Int>? = null, publicConnectivity: Output<Boolean>? = null, replicaCount: Output<Int>? = null, tags: Output<Map<String, String>>? = null, timeouts: Output<GraphTimeoutsArgs>? = null, vectorSearchConfiguration: Output<GraphVectorSearchConfigurationArgs>? = null)

Properties

Link copied to clipboard
val deletionProtection: Output<Boolean>? = null

A value that indicates whether the graph has deletion protection enabled. The graph can't be deleted when deletion protection is enabled.

Link copied to clipboard
val graphName: Output<String>? = null

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.

Link copied to clipboard
val graphNamePrefix: Output<String>? = null

Allows user to specify name prefix and have remainder of name automatically generated.

Link copied to clipboard
val kmsKeyIdentifier: Output<String>? = null

Specifies a KMS key to use to encrypt data in the new graph. Value must be ARN of KMS Key.

Link copied to clipboard
val provisionedMemory: Output<Int>? = null

The provisioned memory-optimized Neptune Capacity Units (m-NCUs) to use for the graph.

Link copied to clipboard
val publicConnectivity: Output<Boolean>? = null

Specifies whether or not the graph can be reachable over the internet. All access to graphs is IAM authenticated. When the graph is publicly available, its domain name system (DNS) endpoint resolves to the public IP address from the internet. When the graph isn't publicly available, 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.

Link copied to clipboard
val replicaCount: Output<Int>? = null

The number of replicas in other AZs. Value must be between 0 and 2.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null
Link copied to clipboard
val timeouts: Output<GraphTimeoutsArgs>? = null
Link copied to clipboard

Vector search configuration for the Neptune Graph

Functions

Link copied to clipboard
open override fun toJava(): GraphArgs