|
7 | 7 | "documentation": "The AWS region used to dispatch the request.",
|
8 | 8 | "type": "String"
|
9 | 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 | + }, |
10 | 17 | "UseFIPS": {
|
11 | 18 | "builtIn": "AWS::UseFIPS",
|
12 | 19 | "required": true,
|
|
50 | 57 | "error": "Invalid Configuration: FIPS and custom endpoint are not supported",
|
51 | 58 | "type": "error"
|
52 | 59 | },
|
| 60 | + { |
| 61 | + "conditions": [ |
| 62 | + { |
| 63 | + "fn": "booleanEquals", |
| 64 | + "argv": [ |
| 65 | + { |
| 66 | + "ref": "UseDualStack" |
| 67 | + }, |
| 68 | + true |
| 69 | + ] |
| 70 | + } |
| 71 | + ], |
| 72 | + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", |
| 73 | + "type": "error" |
| 74 | + }, |
53 | 75 | {
|
54 | 76 | "conditions": [],
|
55 | 77 | "endpoint": {
|
|
95 | 117 | {
|
96 | 118 | "fn": "booleanEquals",
|
97 | 119 | "argv": [
|
98 |
| - true, |
99 | 120 | {
|
100 |
| - "fn": "getAttr", |
101 |
| - "argv": [ |
102 |
| - { |
103 |
| - "ref": "PartitionResult" |
104 |
| - }, |
105 |
| - "supportsDualStack" |
106 |
| - ] |
107 |
| - } |
| 121 | + "ref": "UseFIPS" |
| 122 | + }, |
| 123 | + true |
| 124 | + ] |
| 125 | + }, |
| 126 | + { |
| 127 | + "fn": "booleanEquals", |
| 128 | + "argv": [ |
| 129 | + { |
| 130 | + "ref": "UseDualStack" |
| 131 | + }, |
| 132 | + true |
108 | 133 | ]
|
109 | 134 | }
|
110 | 135 | ],
|
|
115 | 140 | {
|
116 | 141 | "fn": "booleanEquals",
|
117 | 142 | "argv": [
|
| 143 | + true, |
118 | 144 | {
|
119 |
| - "ref": "UseFIPS" |
120 |
| - }, |
121 |
| - true |
| 145 | + "fn": "getAttr", |
| 146 | + "argv": [ |
| 147 | + { |
| 148 | + "ref": "PartitionResult" |
| 149 | + }, |
| 150 | + "supportsFIPS" |
| 151 | + ] |
| 152 | + } |
122 | 153 | ]
|
123 |
| - } |
124 |
| - ], |
125 |
| - "type": "tree", |
126 |
| - "rules": [ |
| 154 | + }, |
127 | 155 | {
|
128 |
| - "conditions": [ |
| 156 | + "fn": "booleanEquals", |
| 157 | + "argv": [ |
| 158 | + true, |
129 | 159 | {
|
130 |
| - "fn": "booleanEquals", |
| 160 | + "fn": "getAttr", |
131 | 161 | "argv": [
|
132 |
| - true, |
133 | 162 | {
|
134 |
| - "fn": "getAttr", |
135 |
| - "argv": [ |
136 |
| - { |
137 |
| - "ref": "PartitionResult" |
138 |
| - }, |
139 |
| - "supportsFIPS" |
140 |
| - ] |
141 |
| - } |
| 163 | + "ref": "PartitionResult" |
| 164 | + }, |
| 165 | + "supportsDualStack" |
142 | 166 | ]
|
143 | 167 | }
|
144 |
| - ], |
145 |
| - "type": "tree", |
146 |
| - "rules": [ |
147 |
| - { |
148 |
| - "conditions": [], |
149 |
| - "endpoint": { |
150 |
| - "url": "https://internetmonitor-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", |
151 |
| - "properties": {}, |
152 |
| - "headers": {} |
153 |
| - }, |
154 |
| - "type": "endpoint" |
155 |
| - } |
156 | 168 | ]
|
157 |
| - }, |
| 169 | + } |
| 170 | + ], |
| 171 | + "type": "tree", |
| 172 | + "rules": [ |
158 | 173 | {
|
159 | 174 | "conditions": [],
|
160 |
| - "error": "FIPS is enabled but this partition does not support FIPS", |
161 |
| - "type": "error" |
| 175 | + "endpoint": { |
| 176 | + "url": "https://internetmonitor-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", |
| 177 | + "properties": {}, |
| 178 | + "headers": {} |
| 179 | + }, |
| 180 | + "type": "endpoint" |
162 | 181 | }
|
163 | 182 | ]
|
164 | 183 | },
|
165 | 184 | {
|
166 | 185 | "conditions": [],
|
167 |
| - "endpoint": { |
168 |
| - "url": "https://internetmonitor.{Region}.{PartitionResult#dualStackDnsSuffix}", |
169 |
| - "properties": {}, |
170 |
| - "headers": {} |
171 |
| - }, |
172 |
| - "type": "endpoint" |
| 186 | + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", |
| 187 | + "type": "error" |
173 | 188 | }
|
174 | 189 | ]
|
175 | 190 | },
|
|
225 | 240 | }
|
226 | 241 | ]
|
227 | 242 | },
|
| 243 | + { |
| 244 | + "conditions": [ |
| 245 | + { |
| 246 | + "fn": "booleanEquals", |
| 247 | + "argv": [ |
| 248 | + { |
| 249 | + "ref": "UseDualStack" |
| 250 | + }, |
| 251 | + true |
| 252 | + ] |
| 253 | + } |
| 254 | + ], |
| 255 | + "type": "tree", |
| 256 | + "rules": [ |
| 257 | + { |
| 258 | + "conditions": [ |
| 259 | + { |
| 260 | + "fn": "booleanEquals", |
| 261 | + "argv": [ |
| 262 | + true, |
| 263 | + { |
| 264 | + "fn": "getAttr", |
| 265 | + "argv": [ |
| 266 | + { |
| 267 | + "ref": "PartitionResult" |
| 268 | + }, |
| 269 | + "supportsDualStack" |
| 270 | + ] |
| 271 | + } |
| 272 | + ] |
| 273 | + } |
| 274 | + ], |
| 275 | + "type": "tree", |
| 276 | + "rules": [ |
| 277 | + { |
| 278 | + "conditions": [], |
| 279 | + "endpoint": { |
| 280 | + "url": "https://internetmonitor.{Region}.{PartitionResult#dualStackDnsSuffix}", |
| 281 | + "properties": {}, |
| 282 | + "headers": {} |
| 283 | + }, |
| 284 | + "type": "endpoint" |
| 285 | + } |
| 286 | + ] |
| 287 | + }, |
| 288 | + { |
| 289 | + "conditions": [], |
| 290 | + "error": "DualStack is enabled but this partition does not support DualStack", |
| 291 | + "type": "error" |
| 292 | + } |
| 293 | + ] |
| 294 | + }, |
228 | 295 | {
|
229 | 296 | "conditions": [],
|
230 | 297 | "endpoint": {
|
|
0 commit comments