import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages an Amazon Neptune Analytics Private Graph Endpoint. * * ## Example Usage * * Creates a private graph endpoint for Neptune Graph with VPC configuration, connecting through specified subnets and secured by a custom security group that allows inbound traffic on port 8182. * * ### Basic Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const current = aws.getRegion({}); * // Example VPC for Neptune Graph * const example = new aws.ec2.Vpc("example", { * cidrBlock: "10.0.0.0/16", * tags: { * Name: "neptune-graph-vpc", * }, * }); * // Example Subnet 1 * const example1 = new aws.ec2.Subnet("example1", { * vpcId: example.id, * cidrBlock: "10.0.1.0/24", * availabilityZone: current.then(current => `${current.region}a`), * tags: { * Name: "neptune-graph-subnet-1", * }, * }); * // Example Subnet 2 * const example2 = new aws.ec2.Subnet("example2", { * vpcId: example.id, * cidrBlock: "10.0.2.0/24", * availabilityZone: current.then(current => `${current.region}b`), * tags: { * Name: "neptune-graph-subnet-2", * }, * }); * // Security Group for Neptune Graph * const exampleSecurityGroup = new aws.ec2.SecurityGroup("example", { * ingress: [{ * fromPort: 8182, * toPort: 8182, * protocol: "tcp", * cidrBlocks: ["10.0.0.0/16"], * }], * namePrefix: "neptune-graph-sg", * description: "Security group for Neptune Graph", * vpcId: example.id, * tags: { * Name: "neptune-graph-sg", * }, * }); * // Example Graph resource * const exampleGraph = new aws.neptunegraph.Graph("example", { * graphName: "example-graph-test-20260112", * provisionedMemory: 16, * }); * // Private Graph Endpoint * const examplePrivateGraphEndpoint = new aws.neptunegraph.PrivateGraphEndpoint("example", { * graphIdentifier: exampleGraph.id, * vpcId: example.id, * subnetIds: [ * example1.id, * example2.id, * ], * vpcSecurityGroupIds: [exampleSecurityGroup.id], * }); * ``` * * ## Import * * ### Identity Schema * * #### Required * * * `graphIdentifier` (String) Unique identifier of the Neptune Analytics graph. * * `vpcId` (String) VPC in which the private graph endpoint is created. * * #### Optional * * * `accountId` (String) AWS Account where this resource is managed. * * `region` (String) Region where this resource is managed. * * Using `pulumi import`, import Neptune Analytics Private Graph Endpoint using the `privateGraphEndpointIdentifier`. For example: * * ```sh * $ pulumi import aws:neptunegraph/privateGraphEndpoint:PrivateGraphEndpoint example g-12a3bcdef4_vpc-111122223333aabbc * ``` */ export declare class PrivateGraphEndpoint extends pulumi.CustomResource { /** * Get an existing PrivateGraphEndpoint resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: PrivateGraphEndpointState, opts?: pulumi.CustomResourceOptions): PrivateGraphEndpoint; /** * Returns true if the given object is an instance of PrivateGraphEndpoint. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is PrivateGraphEndpoint; /** * Unique identifier of the Neptune Analytics graph. */ readonly graphIdentifier: pulumi.Output; /** * PrivateGraphEndpoint resource identifier generated by concatenating the associated `graphIdentifier` and `vpcId` with an underscore separator. For example, if `graphIdentifier` is `g-12a3bcdef4` and `vpcId` is `vpc-111122223333aabbc`, the generated identifier is `g-12a3bcdef4_vpc-111122223333aabbc`. */ readonly privateGraphEndpointIdentifier: pulumi.Output; /** * Region where this resource will be managed. Defaults to the Region set in the provider configuration. */ readonly region: pulumi.Output; /** * Subnets in which private graph endpoint ENIs are created. */ readonly subnetIds: pulumi.Output; readonly timeouts: pulumi.Output; /** * VPC endpoint that provides a private connection between the Graph and specified VPC. */ readonly vpcEndpointId: pulumi.Output; /** * VPC in which the private graph endpoint needs to be created. * * The following arguments are optional: */ readonly vpcId: pulumi.Output; /** * Security groups to be attached to the private graph endpoint. The Neptune Analytics API does not return this value, so Terraform cannot detect drift or repopulate it on import; the value present at creation persists in state until changed in configuration. */ readonly vpcSecurityGroupIds: pulumi.Output; /** * Create a PrivateGraphEndpoint resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: PrivateGraphEndpointArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering PrivateGraphEndpoint resources. */ export interface PrivateGraphEndpointState { /** * Unique identifier of the Neptune Analytics graph. */ graphIdentifier?: pulumi.Input; /** * PrivateGraphEndpoint resource identifier generated by concatenating the associated `graphIdentifier` and `vpcId` with an underscore separator. For example, if `graphIdentifier` is `g-12a3bcdef4` and `vpcId` is `vpc-111122223333aabbc`, the generated identifier is `g-12a3bcdef4_vpc-111122223333aabbc`. */ privateGraphEndpointIdentifier?: pulumi.Input; /** * Region where this resource will be managed. Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; /** * Subnets in which private graph endpoint ENIs are created. */ subnetIds?: pulumi.Input[] | undefined>; timeouts?: pulumi.Input; /** * VPC endpoint that provides a private connection between the Graph and specified VPC. */ vpcEndpointId?: pulumi.Input; /** * VPC in which the private graph endpoint needs to be created. * * The following arguments are optional: */ vpcId?: pulumi.Input; /** * Security groups to be attached to the private graph endpoint. The Neptune Analytics API does not return this value, so Terraform cannot detect drift or repopulate it on import; the value present at creation persists in state until changed in configuration. */ vpcSecurityGroupIds?: pulumi.Input[] | undefined>; } /** * The set of arguments for constructing a PrivateGraphEndpoint resource. */ export interface PrivateGraphEndpointArgs { /** * Unique identifier of the Neptune Analytics graph. */ graphIdentifier: pulumi.Input; /** * Region where this resource will be managed. Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; /** * Subnets in which private graph endpoint ENIs are created. */ subnetIds?: pulumi.Input[] | undefined>; timeouts?: pulumi.Input; /** * VPC in which the private graph endpoint needs to be created. * * The following arguments are optional: */ vpcId: pulumi.Input; /** * Security groups to be attached to the private graph endpoint. The Neptune Analytics API does not return this value, so Terraform cannot detect drift or repopulate it on import; the value present at creation persists in state until changed in configuration. */ vpcSecurityGroupIds?: pulumi.Input[] | undefined>; } //# sourceMappingURL=privateGraphEndpoint.d.ts.map