Description:
The NeptuneGraph resource type does not remove private graph endpoints before calling DeleteGraph. When a graph has private endpoints attached, the delete call fails.
Expected behavior:
The NeptuneGraph resource should either:
Delete all private graph endpoints (via DeletePrivateGraphEndpoint) before calling DeleteGraph, or
A separate NeptuneGraphPrivateEndpoint resource type should be registered with NeptuneGraph as a DependsOn, so endpoints are removed first.
Current behavior:
The Remove() function calls DeleteGraph directly. If private endpoints exist, the API rejects the deletion with: "This action could not be completed due to the following reasons: The graph contains private endpoints." Nuke retries indefinitely until timeout, reporting failed state with Status: AVAILABLE.
Steps to reproduce:
Create a Neptune Analytics graph with a private endpoint (default when creating via console with VPC access)
Run aws-nuke against the account
Observe NeptuneGraph resource stuck in failed state with Status: AVAILABLE
Suggested fix:
Option A: Add a NeptuneGraphPrivateEndpoint resource type that lists and deletes endpoints, registered as a dependency of NeptuneGraph. Option B: In the NeptuneGraph.Remove() function, list and delete all private endpoints before calling DeleteGraph.
Description:
The NeptuneGraph resource type does not remove private graph endpoints before calling DeleteGraph. When a graph has private endpoints attached, the delete call fails.
Expected behavior:
The NeptuneGraph resource should either:
Delete all private graph endpoints (via DeletePrivateGraphEndpoint) before calling DeleteGraph, or
A separate NeptuneGraphPrivateEndpoint resource type should be registered with NeptuneGraph as a DependsOn, so endpoints are removed first.
Current behavior:
The Remove() function calls DeleteGraph directly. If private endpoints exist, the API rejects the deletion with: "This action could not be completed due to the following reasons: The graph contains private endpoints." Nuke retries indefinitely until timeout, reporting failed state with Status: AVAILABLE.
Steps to reproduce:
Create a Neptune Analytics graph with a private endpoint (default when creating via console with VPC access)
Run aws-nuke against the account
Observe NeptuneGraph resource stuck in failed state with Status: AVAILABLE
Suggested fix:
Option A: Add a NeptuneGraphPrivateEndpoint resource type that lists and deletes endpoints, registered as a dependency of NeptuneGraph. Option B: In the NeptuneGraph.Remove() function, list and delete all private endpoints before calling DeleteGraph.