1{ 2 "version": "1.0", 3 "parameters": { 4 "UseFIPS": { 5 "builtIn": "AWS::UseFIPS", 6 "required": true, 7 "default": false, 8 "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.", 9 "type": "Boolean" 10 }, 11 "Region": { 12 "builtIn": "AWS::Region", 13 "required": false, 14 "documentation": "The AWS region used to dispatch the request.", 15 "type": "String" 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 "endpoint": { 37 "url": { 38 "ref": "Endpoint" 39 }, 40 "properties": {}, 41 "headers": {} 42 }, 43 "type": "endpoint" 44 }, 45 { 46 "conditions": [ 47 { 48 "fn": "not", 49 "argv": [ 50 { 51 "fn": "isSet", 52 "argv": [ 53 { 54 "ref": "Region" 55 } 56 ] 57 } 58 ] 59 }, 60 { 61 "fn": "aws.partition", 62 "argv": [ 63 "us-west-2" 64 ], 65 "assign": "PartitionResult" 66 } 67 ], 68 "rules": [ 69 { 70 "conditions": [ 71 { 72 "fn": "booleanEquals", 73 "argv": [ 74 { 75 "ref": "UseFIPS" 76 }, 77 true 78 ] 79 } 80 ], 81 "rules": [ 82 { 83 "conditions": [ 84 { 85 "fn": "booleanEquals", 86 "argv": [ 87 { 88 "fn": "getAttr", 89 "argv": [ 90 { 91 "ref": "PartitionResult" 92 }, 93 "supportsFIPS" 94 ] 95 }, 96 false 97 ] 98 } 99 ], 100 "error": "Partition does not support FIPS.", 101 "type": "error" 102 }, 103 { 104 "conditions": [], 105 "endpoint": { 106 "url": "https://codecatalyst-fips.global.{PartitionResult#dualStackDnsSuffix}", 107 "properties": {}, 108 "headers": {} 109 }, 110 "type": "endpoint" 111 } 112 ], 113 "type": "tree" 114 }, 115 { 116 "conditions": [], 117 "endpoint": { 118 "url": "https://codecatalyst.global.{PartitionResult#dualStackDnsSuffix}", 119 "properties": {}, 120 "headers": {} 121 }, 122 "type": "endpoint" 123 } 124 ], 125 "type": "tree" 126 }, 127 { 128 "conditions": [ 129 { 130 "fn": "isSet", 131 "argv": [ 132 { 133 "ref": "Region" 134 } 135 ] 136 }, 137 { 138 "fn": "aws.partition", 139 "argv": [ 140 { 141 "ref": "Region" 142 } 143 ], 144 "assign": "PartitionResult" 145 } 146 ], 147 "rules": [ 148 { 149 "conditions": [ 150 { 151 "fn": "booleanEquals", 152 "argv": [ 153 { 154 "ref": "UseFIPS" 155 }, 156 true 157 ] 158 } 159 ], 160 "rules": [ 161 { 162 "conditions": [ 163 { 164 "fn": "booleanEquals", 165 "argv": [ 166 { 167 "fn": "getAttr", 168 "argv": [ 169 { 170 "ref": "PartitionResult" 171 }, 172 "supportsFIPS" 173 ] 174 }, 175 false 176 ] 177 } 178 ], 179 "error": "Partition does not support FIPS.", 180 "type": "error" 181 }, 182 { 183 "conditions": [], 184 "endpoint": { 185 "url": "https://codecatalyst-fips.global.{PartitionResult#dualStackDnsSuffix}", 186 "properties": {}, 187 "headers": {} 188 }, 189 "type": "endpoint" 190 } 191 ], 192 "type": "tree" 193 }, 194 { 195 "conditions": [], 196 "endpoint": { 197 "url": "https://codecatalyst.global.{PartitionResult#dualStackDnsSuffix}", 198 "properties": {}, 199 "headers": {} 200 }, 201 "type": "endpoint" 202 } 203 ], 204 "type": "tree" 205 } 206 ] 207}