Skip to content

Commit d113f45

Browse files
DOCSP-18855 Public API doc for ADL private link (#204)
* DOCSP-18855 Public API doc for ADL private link * DOCSP-18855 updates for all feedback
1 parent 9a0259c commit d113f45

6 files changed

+650
-11
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
.. list-table::
2+
:header-rows: 1
3+
:widths: 15 10 75
4+
5+
* - Name
6+
- Type
7+
- Description
8+
9+
* - ``comment``
10+
- string
11+
- Human-readable string associateed with this private endpoint.
12+
13+
* - ``endpointId``
14+
- string
15+
- Unique 22-character alphanumeric string that identifies the
16+
private endpoint. {+adl+} supports |aws| private endpoints using
17+
the `|aws| PrivateLink <https://aws.amazon.com/privatelink/>`__
18+
feature.
19+
20+
* - ``provider``
21+
- string
22+
- Human-readable label that identifies the cloud provider for this
23+
endpoint. Value is |aws|.
24+
25+
* - ``type``
26+
- string
27+
- Human-readable label that identifies the resource associated
28+
with this private endpoint. Value is ``DATA_LAKE``.
29+
Lines changed: 205 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,205 @@
1+
.. _api-pvt-link-create-one:
2+
3+
========================
4+
Add One Private Endpoint
5+
========================
6+
7+
.. default-domain:: mongodb
8+
9+
.. contents:: On this page
10+
:local:
11+
:backlinks: none
12+
:depth: 2
13+
:class: singlecol
14+
15+
You can add an |aws| :ref:`private endpoint <private-endpoint>` for the
16+
{+dl+}\s in the project from the API. When you submit this request
17+
through the API:
18+
19+
- If the endpoint ID already exists and there is no change to the
20+
associated comment, {+adl+} makes no change to the endpoint ID list.
21+
- If the endpoint ID already exists and there is a change to the
22+
associated comment, {+adl+} updates the ``comment`` value only in
23+
the endpoint ID list.
24+
- If the endpoint ID doesn't exist, {+adl+} appends the new endpoint
25+
to the list of endpoints in the endpoint ID list.
26+
27+
.. include:: /includes/api-requirements.rst
28+
29+
.. include:: /includes/fact-projects-groups-synonyms.rst
30+
31+
.. _api-pvt-link-create-one-permissions:
32+
33+
Permissions Required
34+
--------------------
35+
36+
You must have the ``GROUP_ATLAS_ADMIN`` (:authrole:`Project Owner`)
37+
role to create a private endpoint.
38+
39+
.. _api-pvt-link-create-one-resource:
40+
41+
Resources
42+
---------
43+
44+
.. include:: /includes/api-base-url.rst
45+
46+
.. _api-pvt-link-create-one-syntax:
47+
48+
Syntax
49+
------
50+
51+
.. code-block:: none
52+
53+
POST /groups/{GROUP-ID}/privateNetworkSettings/endpointIds
54+
55+
.. _api-pvt-link-create-one-params:
56+
57+
Request Parameters
58+
------------------
59+
60+
.. _api-pvt-link-create-one-path-params:
61+
62+
Request Path Parameters
63+
~~~~~~~~~~~~~~~~~~~~~~~
64+
65+
.. list-table::
66+
:header-rows: 1
67+
:widths: 15 10 75
68+
69+
* - Path Element
70+
- Necessity
71+
- Description
72+
73+
* - ``GROUP-ID``
74+
- Required
75+
- Unique 24-digit hexadecimal string that identifies the
76+
project.
77+
78+
.. _api-pvt-link-create-one-query-params:
79+
80+
Request Query Parameters
81+
~~~~~~~~~~~~~~~~~~~~~~~~
82+
83+
.. include:: /includes/no-query-parameters.rst
84+
85+
.. _api-pvt-link-create-one-body-params:
86+
87+
Request Body Parameters
88+
~~~~~~~~~~~~~~~~~~~~~~~
89+
90+
.. list-table::
91+
:header-rows: 1
92+
:widths: 15 10 10 65
93+
94+
* - Name
95+
- Type
96+
- Necessity
97+
- Description
98+
99+
* - ``comment``
100+
- string
101+
- Optional
102+
- Human-readable string to associate with this private endpoint.
103+
104+
* - ``endpointId``
105+
- string
106+
- Required
107+
- Unique 22-character alphanumeric string that identifies the
108+
private endpoint. {+adl+} supports |aws| private endpoints using
109+
the `|aws| PrivateLink <https://aws.amazon.com/privatelink/>`__
110+
feature.
111+
112+
* - ``provider``
113+
- string
114+
- Required
115+
- Human-readable label that identifies the cloud provider of this
116+
endpoint. {+adl+} supports |aws| only. If empty, defaults to
117+
|aws|.
118+
119+
* - ``type``
120+
- string
121+
- Required
122+
- Human-readable label that identifies the type of resource to
123+
associate with this private endpoint. Value must be
124+
``DATA_LAKE``. If empty, defaults to ``DATA_LAKE``.
125+
126+
.. _api-pvt-link-create-one-response:
127+
128+
Response Elements
129+
-----------------
130+
131+
``links`` Array
132+
~~~~~~~~~~~~~~~
133+
134+
The ``links`` array includes one or more links to sub-resources or
135+
related resources. The relations between URLs are explained in the `Web
136+
Linking Specification <http://tools.ietf.org/html/rfc5988>`_.
137+
138+
.. list-table::
139+
:header-rows: 1
140+
141+
* - Relation
142+
- Description
143+
* - ``self``
144+
- The URL endpoint for this resource.
145+
146+
``results`` Array
147+
~~~~~~~~~~~~~~~~~
148+
149+
Each element in the ``result`` array is one private endpoint.
150+
151+
.. include:: /includes/list-table-private-link-response.rst
152+
153+
``totalCount`` Document
154+
~~~~~~~~~~~~~~~~~~~~~~~
155+
156+
This value is the count of the total number of items in the result set.
157+
``totalCount`` may be greater than the number of objects in the
158+
``results`` array if the entire result set is paginated.
159+
160+
.. _api-pvt-link-create-one-eg:
161+
162+
Examples
163+
--------
164+
165+
Request
166+
~~~~~~~
167+
168+
.. example::
169+
170+
.. code-block:: shell
171+
172+
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
173+
--header "Accept: application/json" \
174+
--header "Content-Type: application/json" \
175+
--include \
176+
--request POST "https://cloud.mongodb.com/api/atlas/v1.0/groups/{GROUP-ID}/privateNetworkSettings/endpointIds?pretty=true" \
177+
--data '
178+
{
179+
"endpointId" : "vpce-jjg5e24qp93513h03",
180+
"type": "DATA_LAKE",
181+
"provider": "AWS",
182+
"comment" : "Private endpoint for Application Server A"
183+
}'
184+
185+
Response
186+
~~~~~~~~
187+
188+
.. example::
189+
190+
.. code-block:: json
191+
:copyable: false
192+
193+
{
194+
"links" : [ {
195+
"href" : "https://cloud.mongodb.com/api/atlas/v1.0/groups/{GROUP-ID}/privateNetworkSettings/endpointIds?pretty=true&pageNum=1&itemsPerPage=100",
196+
"rel" : "self"
197+
} ],
198+
"results" : [ {
199+
"comment" : "Private endpoint for Application Server A",
200+
"endpointId" : "vpce-jjg5e24qp93513h03",
201+
"provider" : "AWS",
202+
"type" : "DATA_LAKE"
203+
} ],
204+
"totalCount" : 1
205+
}
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
.. _api-pvt-link-delete-one:
2+
3+
===========================
4+
Delete One Private Endpoint
5+
===========================
6+
7+
.. default-domain:: mongodb
8+
9+
.. contents:: On this page
10+
:local:
11+
:backlinks: none
12+
:depth: 2
13+
:class: singlecol
14+
15+
You can delete an |aws| :ref:`private endpoint <private-endpoint>`
16+
for the {+dl+}\s in the project from the API.
17+
18+
.. include:: /includes/api-requirements.rst
19+
20+
.. include:: /includes/fact-projects-groups-synonyms.rst
21+
22+
.. _api-pvt-link-delete-one-permissions:
23+
24+
Permissions Required
25+
--------------------
26+
27+
You must have the ``GROUP_ATLAS_ADMIN`` (:authrole:`Project Owner`)
28+
role to delete a private endpoint.
29+
30+
.. _api-pvt-link-delete-one-resource:
31+
32+
Resources
33+
---------
34+
35+
.. include:: /includes/api-base-url.rst
36+
37+
.. _api-pvt-link-delete-one-syntax:
38+
39+
Syntax
40+
------
41+
42+
.. code-block:: none
43+
44+
POST /groups/{GROUP-ID}/privateNetworkSettings/endpointIds/{ENDPOINT-ID}
45+
46+
.. _api-pvt-link-delete-one-params:
47+
48+
Request Parameters
49+
------------------
50+
51+
.. _api-pvt-link-delete-one-path-params:
52+
53+
Request Path Parameters
54+
~~~~~~~~~~~~~~~~~~~~~~~
55+
56+
.. list-table::
57+
:header-rows: 1
58+
:widths: 15 10 75
59+
60+
* - Path Element
61+
- Necessity
62+
- Description
63+
64+
* - ``GROUP-ID``
65+
- Required
66+
- Unique 24-digit hexadecimal string that identifies the
67+
project.
68+
69+
* - ``ENDPOINT-ID``
70+
- Required
71+
- Unique 22-character alphanumeric string that identifies the
72+
private endpoint. {+adl+} supports |aws| private endpoints using
73+
the `|aws| PrivateLink <https://aws.amazon.com/privatelink/>`__
74+
feature.
75+
76+
.. _api-pvt-link-delete-one-query-params:
77+
78+
Request Query Parameters
79+
~~~~~~~~~~~~~~~~~~~~~~~~
80+
81+
.. include:: /includes/no-query-parameters.rst
82+
83+
.. _api-pvt-link-delete-one-body-params:
84+
85+
Request Body Parameters
86+
~~~~~~~~~~~~~~~~~~~~~~~
87+
88+
.. include:: /includes/no-body-parameters.rst
89+
90+
.. _api-pvt-link-delete-one-response:
91+
92+
Response Elements
93+
-----------------
94+
95+
The HTTP response returns an empty JSON document.
96+
97+
.. _api-pvt-link-delete-one-eg:
98+
99+
Examples
100+
--------
101+
102+
Request
103+
~~~~~~~
104+
105+
.. example::
106+
107+
.. code-block:: shell
108+
109+
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
110+
--header "Accept: application/json" \
111+
--header "Content-Type: application/json" \
112+
--include \
113+
--request DELETE "https://cloud.mongodb.com/api/atlas/v1.0/groups/{GROUP-ID}/privateNetworkSettings/endpointIds/{ENDPOINT-ID}?pretty=true"

0 commit comments

Comments
 (0)