• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2    "version": "1.0",
3    "parameters": {
4        "Region": {
5            "builtIn": "AWS::Region",
6            "required": false,
7            "documentation": "The AWS region used to dispatch the request.",
8            "type": "String"
9        },
10        "UseDualStack": {
11            "builtIn": "AWS::UseDualStack",
12            "required": true,
13            "default": false,
14            "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.",
15            "type": "Boolean"
16        },
17        "UseFIPS": {
18            "builtIn": "AWS::UseFIPS",
19            "required": true,
20            "default": false,
21            "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.",
22            "type": "Boolean"
23        },
24        "Endpoint": {
25            "builtIn": "SDK::Endpoint",
26            "required": false,
27            "documentation": "Override the endpoint used to send this request",
28            "type": "String"
29        }
30    },
31    "rules": [
32        {
33            "conditions": [
34                {
35                    "fn": "isSet",
36                    "argv": [
37                        {
38                            "ref": "Endpoint"
39                        }
40                    ]
41                }
42            ],
43            "rules": [
44                {
45                    "conditions": [
46                        {
47                            "fn": "booleanEquals",
48                            "argv": [
49                                {
50                                    "ref": "UseFIPS"
51                                },
52                                true
53                            ]
54                        }
55                    ],
56                    "error": "Invalid Configuration: FIPS and custom endpoint are not supported",
57                    "type": "error"
58                },
59                {
60                    "conditions": [
61                        {
62                            "fn": "booleanEquals",
63                            "argv": [
64                                {
65                                    "ref": "UseDualStack"
66                                },
67                                true
68                            ]
69                        }
70                    ],
71                    "error": "Invalid Configuration: Dualstack and custom endpoint are not supported",
72                    "type": "error"
73                },
74                {
75                    "conditions": [],
76                    "endpoint": {
77                        "url": {
78                            "ref": "Endpoint"
79                        },
80                        "properties": {},
81                        "headers": {}
82                    },
83                    "type": "endpoint"
84                }
85            ],
86            "type": "tree"
87        },
88        {
89            "conditions": [
90                {
91                    "fn": "isSet",
92                    "argv": [
93                        {
94                            "ref": "Region"
95                        }
96                    ]
97                }
98            ],
99            "rules": [
100                {
101                    "conditions": [
102                        {
103                            "fn": "aws.partition",
104                            "argv": [
105                                {
106                                    "ref": "Region"
107                                }
108                            ],
109                            "assign": "PartitionResult"
110                        }
111                    ],
112                    "rules": [
113                        {
114                            "conditions": [
115                                {
116                                    "fn": "stringEquals",
117                                    "argv": [
118                                        {
119                                            "fn": "getAttr",
120                                            "argv": [
121                                                {
122                                                    "ref": "PartitionResult"
123                                                },
124                                                "name"
125                                            ]
126                                        },
127                                        "aws"
128                                    ]
129                                },
130                                {
131                                    "fn": "booleanEquals",
132                                    "argv": [
133                                        {
134                                            "ref": "UseFIPS"
135                                        },
136                                        false
137                                    ]
138                                },
139                                {
140                                    "fn": "booleanEquals",
141                                    "argv": [
142                                        {
143                                            "ref": "UseDualStack"
144                                        },
145                                        false
146                                    ]
147                                }
148                            ],
149                            "endpoint": {
150                                "url": "https://networkmanager.us-west-2.amazonaws.com",
151                                "properties": {
152                                    "authSchemes": [
153                                        {
154                                            "name": "sigv4",
155                                            "signingName": "networkmanager",
156                                            "signingRegion": "us-west-2"
157                                        }
158                                    ]
159                                },
160                                "headers": {}
161                            },
162                            "type": "endpoint"
163                        },
164                        {
165                            "conditions": [
166                                {
167                                    "fn": "stringEquals",
168                                    "argv": [
169                                        {
170                                            "fn": "getAttr",
171                                            "argv": [
172                                                {
173                                                    "ref": "PartitionResult"
174                                                },
175                                                "name"
176                                            ]
177                                        },
178                                        "aws-us-gov"
179                                    ]
180                                },
181                                {
182                                    "fn": "booleanEquals",
183                                    "argv": [
184                                        {
185                                            "ref": "UseFIPS"
186                                        },
187                                        false
188                                    ]
189                                },
190                                {
191                                    "fn": "booleanEquals",
192                                    "argv": [
193                                        {
194                                            "ref": "UseDualStack"
195                                        },
196                                        false
197                                    ]
198                                }
199                            ],
200                            "endpoint": {
201                                "url": "https://networkmanager.us-gov-west-1.amazonaws.com",
202                                "properties": {
203                                    "authSchemes": [
204                                        {
205                                            "name": "sigv4",
206                                            "signingName": "networkmanager",
207                                            "signingRegion": "us-gov-west-1"
208                                        }
209                                    ]
210                                },
211                                "headers": {}
212                            },
213                            "type": "endpoint"
214                        },
215                        {
216                            "conditions": [
217                                {
218                                    "fn": "booleanEquals",
219                                    "argv": [
220                                        {
221                                            "ref": "UseFIPS"
222                                        },
223                                        true
224                                    ]
225                                },
226                                {
227                                    "fn": "booleanEquals",
228                                    "argv": [
229                                        {
230                                            "ref": "UseDualStack"
231                                        },
232                                        true
233                                    ]
234                                }
235                            ],
236                            "rules": [
237                                {
238                                    "conditions": [
239                                        {
240                                            "fn": "booleanEquals",
241                                            "argv": [
242                                                true,
243                                                {
244                                                    "fn": "getAttr",
245                                                    "argv": [
246                                                        {
247                                                            "ref": "PartitionResult"
248                                                        },
249                                                        "supportsFIPS"
250                                                    ]
251                                                }
252                                            ]
253                                        },
254                                        {
255                                            "fn": "booleanEquals",
256                                            "argv": [
257                                                true,
258                                                {
259                                                    "fn": "getAttr",
260                                                    "argv": [
261                                                        {
262                                                            "ref": "PartitionResult"
263                                                        },
264                                                        "supportsDualStack"
265                                                    ]
266                                                }
267                                            ]
268                                        }
269                                    ],
270                                    "rules": [
271                                        {
272                                            "conditions": [],
273                                            "endpoint": {
274                                                "url": "https://networkmanager-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",
275                                                "properties": {},
276                                                "headers": {}
277                                            },
278                                            "type": "endpoint"
279                                        }
280                                    ],
281                                    "type": "tree"
282                                },
283                                {
284                                    "conditions": [],
285                                    "error": "FIPS and DualStack are enabled, but this partition does not support one or both",
286                                    "type": "error"
287                                }
288                            ],
289                            "type": "tree"
290                        },
291                        {
292                            "conditions": [
293                                {
294                                    "fn": "booleanEquals",
295                                    "argv": [
296                                        {
297                                            "ref": "UseFIPS"
298                                        },
299                                        true
300                                    ]
301                                }
302                            ],
303                            "rules": [
304                                {
305                                    "conditions": [
306                                        {
307                                            "fn": "booleanEquals",
308                                            "argv": [
309                                                {
310                                                    "fn": "getAttr",
311                                                    "argv": [
312                                                        {
313                                                            "ref": "PartitionResult"
314                                                        },
315                                                        "supportsFIPS"
316                                                    ]
317                                                },
318                                                true
319                                            ]
320                                        }
321                                    ],
322                                    "rules": [
323                                        {
324                                            "conditions": [],
325                                            "endpoint": {
326                                                "url": "https://networkmanager-fips.{Region}.{PartitionResult#dnsSuffix}",
327                                                "properties": {},
328                                                "headers": {}
329                                            },
330                                            "type": "endpoint"
331                                        }
332                                    ],
333                                    "type": "tree"
334                                },
335                                {
336                                    "conditions": [],
337                                    "error": "FIPS is enabled but this partition does not support FIPS",
338                                    "type": "error"
339                                }
340                            ],
341                            "type": "tree"
342                        },
343                        {
344                            "conditions": [
345                                {
346                                    "fn": "booleanEquals",
347                                    "argv": [
348                                        {
349                                            "ref": "UseDualStack"
350                                        },
351                                        true
352                                    ]
353                                }
354                            ],
355                            "rules": [
356                                {
357                                    "conditions": [
358                                        {
359                                            "fn": "booleanEquals",
360                                            "argv": [
361                                                true,
362                                                {
363                                                    "fn": "getAttr",
364                                                    "argv": [
365                                                        {
366                                                            "ref": "PartitionResult"
367                                                        },
368                                                        "supportsDualStack"
369                                                    ]
370                                                }
371                                            ]
372                                        }
373                                    ],
374                                    "rules": [
375                                        {
376                                            "conditions": [],
377                                            "endpoint": {
378                                                "url": "https://networkmanager.{Region}.{PartitionResult#dualStackDnsSuffix}",
379                                                "properties": {},
380                                                "headers": {}
381                                            },
382                                            "type": "endpoint"
383                                        }
384                                    ],
385                                    "type": "tree"
386                                },
387                                {
388                                    "conditions": [],
389                                    "error": "DualStack is enabled but this partition does not support DualStack",
390                                    "type": "error"
391                                }
392                            ],
393                            "type": "tree"
394                        },
395                        {
396                            "conditions": [],
397                            "endpoint": {
398                                "url": "https://networkmanager.{Region}.{PartitionResult#dnsSuffix}",
399                                "properties": {},
400                                "headers": {}
401                            },
402                            "type": "endpoint"
403                        }
404                    ],
405                    "type": "tree"
406                }
407            ],
408            "type": "tree"
409        },
410        {
411            "conditions": [],
412            "error": "Invalid Configuration: Missing Region",
413            "type": "error"
414        }
415    ]
416}