You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
State of the Amazon Web Service PrivateLink connection when MongoDB Cloud received this request.
90
+
### Fn::GetAtt
95
91
96
-
_Required_: No
92
+
The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.
97
93
98
-
_Type_: String
94
+
For more information about using the `Fn::GetAtt` intrinsic function, see [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html).
# How to create a MongoDB::Atlas::PrivateEndpointAWS
2
+
3
+
## Step 1: Activate the PrivateEndpointAWS resource in CloudFormation
4
+
Step a: Create Role using [execution-role.yaml](https://github.com/mongodb/mongodbatlas-cloudformation-resources/blob/master/examples/execution-role.yaml) in CFN resources folder.
5
+
6
+
Step b: Search for MongoDB::Atlas::PrivateEndpointAWS resource.
7
+
8
+
(CloudFormation > Public extensions > choose 'Third party' > Search with " Execution name prefix = MongoDB " )
9
+
10
+
Step c: Select and activate
11
+
Enter the RoleArn that is created in step 1.
12
+
13
+
Your PrivateEndpointAWS Resource is ready to use.
14
+
15
+
## Step 2: Create template using [private-endpoint-aws.json](private-endpoint-aws.json)
16
+
Note: Make sure you are providing appropriate values for:
17
+
1. MongoDBAtlasProjectId
18
+
2. AtlasPrivateEndpointServiceId (get from: `atlas privateEndpoints aws list --projectId <PROJECT_ID>`)
"Description": "Test template for MongoDB::Atlas::PrivateEndpointAWS resource. Links an existing AWS VPC Endpoint to an existing Atlas Private Endpoint Service.",
4
+
"Parameters": {
5
+
"Profile": {
6
+
"Type": "String",
7
+
"Description": "Atlas Profile name for credential management. See profile-secret.yaml for setup instructions.",
8
+
"Default": "default"
9
+
},
10
+
"MongoDBAtlasProjectId": {
11
+
"Type": "String",
12
+
"Description": "Unique 24-hexadecimal digit string that identifies your MongoDB Atlas project.",
13
+
"AllowedPattern": "^([a-f0-9]{24})$",
14
+
"ConstraintDescription": "Must be a valid 24-character hexadecimal MongoDB Atlas project ID."
15
+
},
16
+
"AtlasPrivateEndpointServiceId": {
17
+
"Type": "String",
18
+
"Description": "The Atlas Private Endpoint Service ID (24-character hexadecimal). Get this from MongoDB::Atlas::PrivateEndpointService.Id or Atlas CLI.",
19
+
"AllowedPattern": "^([a-f0-9]{24})$",
20
+
"ConstraintDescription": "Must be a valid 24-character hexadecimal Atlas Private Endpoint Service ID."
21
+
},
22
+
"AWSVPCEndpointId": {
23
+
"Type": "String",
24
+
"Description": "The AWS VPC Endpoint ID that you want to link to Atlas (e.g., vpce-0123456789abcdef0).",
25
+
"AllowedPattern": "^vpce-[a-z0-9]{8,17}$",
26
+
"ConstraintDescription": "Must be a valid AWS VPC Endpoint ID starting with 'vpce-'."
27
+
},
28
+
"EnforceConnectionSuccess": {
29
+
"Type": "String",
30
+
"Description": "If true, CloudFormation will fail if the connection is REJECTED. If false, it succeeds even if REJECTED.",
31
+
"Default": "true",
32
+
"AllowedValues": ["true", "false"]
33
+
}
34
+
},
35
+
"Resources": {
36
+
"AtlasPrivateEndpointConnection": {
37
+
"Type": "MongoDB::Atlas::PrivateEndpointAWS",
38
+
"Properties": {
39
+
"ProjectId": {
40
+
"Ref": "MongoDBAtlasProjectId"
41
+
},
42
+
"EndpointServiceId": {
43
+
"Ref": "AtlasPrivateEndpointServiceId"
44
+
},
45
+
"Id": {
46
+
"Ref": "AWSVPCEndpointId"
47
+
},
48
+
"Profile": {
49
+
"Ref": "Profile"
50
+
},
51
+
"EnforceConnectionSuccess": {
52
+
"Ref": "EnforceConnectionSuccess"
53
+
}
54
+
}
55
+
}
56
+
},
57
+
"Outputs": {
58
+
"ConnectionStatus": {
59
+
"Description": "Status of the AWS PrivateLink connection. Returns one of: NONE, PENDING_ACCEPTANCE, PENDING, AVAILABLE, REJECTED, DELETING.",
60
+
"Value": {
61
+
"Fn::GetAtt": [
62
+
"AtlasPrivateEndpointConnection",
63
+
"ConnectionStatus"
64
+
]
65
+
}
66
+
},
67
+
"InterfaceEndpointId": {
68
+
"Description": "Unique identifier of the interface endpoint.",
69
+
"Value": {
70
+
"Fn::GetAtt": [
71
+
"AtlasPrivateEndpointConnection",
72
+
"InterfaceEndpointId"
73
+
]
74
+
}
75
+
},
76
+
"DeleteRequested": {
77
+
"Description": "Indicates if Atlas received a request to remove the interface endpoint from the private endpoint connection.",
0 commit comments