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 "UseFIPS": { 11 "builtIn": "AWS::UseFIPS", 12 "required": true, 13 "default": false, 14 "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.", 15 "type": "Boolean" 16 }, 17 "Endpoint": { 18 "builtIn": "SDK::Endpoint", 19 "required": false, 20 "documentation": "Override the endpoint used to send this request", 21 "type": "String" 22 } 23 }, 24 "rules": [ 25 { 26 "conditions": [ 27 { 28 "fn": "isSet", 29 "argv": [ 30 { 31 "ref": "Endpoint" 32 } 33 ] 34 } 35 ], 36 "rules": [ 37 { 38 "conditions": [ 39 { 40 "fn": "booleanEquals", 41 "argv": [ 42 { 43 "ref": "UseFIPS" 44 }, 45 true 46 ] 47 } 48 ], 49 "error": "Invalid Configuration: FIPS and custom endpoint are not supported", 50 "type": "error" 51 }, 52 { 53 "conditions": [], 54 "endpoint": { 55 "url": { 56 "ref": "Endpoint" 57 }, 58 "properties": {}, 59 "headers": {} 60 }, 61 "type": "endpoint" 62 } 63 ], 64 "type": "tree" 65 }, 66 { 67 "conditions": [ 68 { 69 "fn": "isSet", 70 "argv": [ 71 { 72 "ref": "Region" 73 } 74 ] 75 } 76 ], 77 "rules": [ 78 { 79 "conditions": [ 80 { 81 "fn": "aws.partition", 82 "argv": [ 83 { 84 "ref": "Region" 85 } 86 ], 87 "assign": "PartitionResult" 88 } 89 ], 90 "rules": [ 91 { 92 "conditions": [ 93 { 94 "fn": "booleanEquals", 95 "argv": [ 96 true, 97 { 98 "fn": "getAttr", 99 "argv": [ 100 { 101 "ref": "PartitionResult" 102 }, 103 "supportsDualStack" 104 ] 105 } 106 ] 107 } 108 ], 109 "rules": [ 110 { 111 "conditions": [ 112 { 113 "fn": "booleanEquals", 114 "argv": [ 115 { 116 "ref": "UseFIPS" 117 }, 118 true 119 ] 120 } 121 ], 122 "rules": [ 123 { 124 "conditions": [ 125 { 126 "fn": "booleanEquals", 127 "argv": [ 128 { 129 "fn": "getAttr", 130 "argv": [ 131 { 132 "ref": "PartitionResult" 133 }, 134 "supportsFIPS" 135 ] 136 }, 137 true 138 ] 139 } 140 ], 141 "rules": [ 142 { 143 "conditions": [], 144 "endpoint": { 145 "url": "https://datazone-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", 146 "properties": {}, 147 "headers": {} 148 }, 149 "type": "endpoint" 150 } 151 ], 152 "type": "tree" 153 }, 154 { 155 "conditions": [], 156 "error": "FIPS is enabled but this partition does not support FIPS", 157 "type": "error" 158 } 159 ], 160 "type": "tree" 161 }, 162 { 163 "conditions": [], 164 "endpoint": { 165 "url": "https://datazone.{Region}.{PartitionResult#dualStackDnsSuffix}", 166 "properties": {}, 167 "headers": {} 168 }, 169 "type": "endpoint" 170 } 171 ], 172 "type": "tree" 173 }, 174 { 175 "conditions": [ 176 { 177 "fn": "booleanEquals", 178 "argv": [ 179 { 180 "ref": "UseFIPS" 181 }, 182 true 183 ] 184 } 185 ], 186 "rules": [ 187 { 188 "conditions": [ 189 { 190 "fn": "booleanEquals", 191 "argv": [ 192 { 193 "fn": "getAttr", 194 "argv": [ 195 { 196 "ref": "PartitionResult" 197 }, 198 "supportsFIPS" 199 ] 200 }, 201 true 202 ] 203 } 204 ], 205 "rules": [ 206 { 207 "conditions": [], 208 "endpoint": { 209 "url": "https://datazone-fips.{Region}.{PartitionResult#dnsSuffix}", 210 "properties": {}, 211 "headers": {} 212 }, 213 "type": "endpoint" 214 } 215 ], 216 "type": "tree" 217 }, 218 { 219 "conditions": [], 220 "error": "FIPS is enabled but this partition does not support FIPS", 221 "type": "error" 222 } 223 ], 224 "type": "tree" 225 }, 226 { 227 "conditions": [], 228 "endpoint": { 229 "url": "https://datazone.{Region}.{PartitionResult#dnsSuffix}", 230 "properties": {}, 231 "headers": {} 232 }, 233 "type": "endpoint" 234 } 235 ], 236 "type": "tree" 237 } 238 ], 239 "type": "tree" 240 }, 241 { 242 "conditions": [], 243 "error": "Invalid Configuration: Missing Region", 244 "type": "error" 245 } 246 ] 247}