1{ 2 "version":"2.0", 3 "metadata":{ 4 "apiVersion":"2017-04-28", 5 "endpointPrefix":"cloudhsmv2", 6 "jsonVersion":"1.1", 7 "protocol":"json", 8 "serviceAbbreviation":"CloudHSM V2", 9 "serviceFullName":"AWS CloudHSM V2", 10 "signatureVersion":"v4", 11 "signingName":"cloudhsm", 12 "targetPrefix":"BaldrApiService", 13 "uid":"cloudhsmv2-2017-04-28" 14 }, 15 "operations":{ 16 "CreateCluster":{ 17 "name":"CreateCluster", 18 "http":{ 19 "method":"POST", 20 "requestUri":"/" 21 }, 22 "input":{"shape":"CreateClusterRequest"}, 23 "output":{"shape":"CreateClusterResponse"}, 24 "errors":[ 25 {"shape":"CloudHsmInternalFailureException"}, 26 {"shape":"CloudHsmServiceException"}, 27 {"shape":"CloudHsmResourceNotFoundException"}, 28 {"shape":"CloudHsmInvalidRequestException"}, 29 {"shape":"CloudHsmAccessDeniedException"} 30 ] 31 }, 32 "CreateHsm":{ 33 "name":"CreateHsm", 34 "http":{ 35 "method":"POST", 36 "requestUri":"/" 37 }, 38 "input":{"shape":"CreateHsmRequest"}, 39 "output":{"shape":"CreateHsmResponse"}, 40 "errors":[ 41 {"shape":"CloudHsmInternalFailureException"}, 42 {"shape":"CloudHsmServiceException"}, 43 {"shape":"CloudHsmInvalidRequestException"}, 44 {"shape":"CloudHsmResourceNotFoundException"}, 45 {"shape":"CloudHsmAccessDeniedException"} 46 ] 47 }, 48 "DeleteCluster":{ 49 "name":"DeleteCluster", 50 "http":{ 51 "method":"POST", 52 "requestUri":"/" 53 }, 54 "input":{"shape":"DeleteClusterRequest"}, 55 "output":{"shape":"DeleteClusterResponse"}, 56 "errors":[ 57 {"shape":"CloudHsmInternalFailureException"}, 58 {"shape":"CloudHsmServiceException"}, 59 {"shape":"CloudHsmResourceNotFoundException"}, 60 {"shape":"CloudHsmInvalidRequestException"}, 61 {"shape":"CloudHsmAccessDeniedException"} 62 ] 63 }, 64 "DeleteHsm":{ 65 "name":"DeleteHsm", 66 "http":{ 67 "method":"POST", 68 "requestUri":"/" 69 }, 70 "input":{"shape":"DeleteHsmRequest"}, 71 "output":{"shape":"DeleteHsmResponse"}, 72 "errors":[ 73 {"shape":"CloudHsmInternalFailureException"}, 74 {"shape":"CloudHsmServiceException"}, 75 {"shape":"CloudHsmResourceNotFoundException"}, 76 {"shape":"CloudHsmInvalidRequestException"}, 77 {"shape":"CloudHsmAccessDeniedException"} 78 ] 79 }, 80 "DescribeBackups":{ 81 "name":"DescribeBackups", 82 "http":{ 83 "method":"POST", 84 "requestUri":"/" 85 }, 86 "input":{"shape":"DescribeBackupsRequest"}, 87 "output":{"shape":"DescribeBackupsResponse"}, 88 "errors":[ 89 {"shape":"CloudHsmInternalFailureException"}, 90 {"shape":"CloudHsmServiceException"}, 91 {"shape":"CloudHsmResourceNotFoundException"}, 92 {"shape":"CloudHsmInvalidRequestException"}, 93 {"shape":"CloudHsmAccessDeniedException"} 94 ] 95 }, 96 "DescribeClusters":{ 97 "name":"DescribeClusters", 98 "http":{ 99 "method":"POST", 100 "requestUri":"/" 101 }, 102 "input":{"shape":"DescribeClustersRequest"}, 103 "output":{"shape":"DescribeClustersResponse"}, 104 "errors":[ 105 {"shape":"CloudHsmInternalFailureException"}, 106 {"shape":"CloudHsmServiceException"}, 107 {"shape":"CloudHsmInvalidRequestException"}, 108 {"shape":"CloudHsmAccessDeniedException"} 109 ] 110 }, 111 "InitializeCluster":{ 112 "name":"InitializeCluster", 113 "http":{ 114 "method":"POST", 115 "requestUri":"/" 116 }, 117 "input":{"shape":"InitializeClusterRequest"}, 118 "output":{"shape":"InitializeClusterResponse"}, 119 "errors":[ 120 {"shape":"CloudHsmInternalFailureException"}, 121 {"shape":"CloudHsmServiceException"}, 122 {"shape":"CloudHsmResourceNotFoundException"}, 123 {"shape":"CloudHsmInvalidRequestException"}, 124 {"shape":"CloudHsmAccessDeniedException"} 125 ] 126 }, 127 "ListTags":{ 128 "name":"ListTags", 129 "http":{ 130 "method":"POST", 131 "requestUri":"/" 132 }, 133 "input":{"shape":"ListTagsRequest"}, 134 "output":{"shape":"ListTagsResponse"}, 135 "errors":[ 136 {"shape":"CloudHsmInternalFailureException"}, 137 {"shape":"CloudHsmServiceException"}, 138 {"shape":"CloudHsmResourceNotFoundException"}, 139 {"shape":"CloudHsmInvalidRequestException"}, 140 {"shape":"CloudHsmAccessDeniedException"} 141 ] 142 }, 143 "TagResource":{ 144 "name":"TagResource", 145 "http":{ 146 "method":"POST", 147 "requestUri":"/" 148 }, 149 "input":{"shape":"TagResourceRequest"}, 150 "output":{"shape":"TagResourceResponse"}, 151 "errors":[ 152 {"shape":"CloudHsmInternalFailureException"}, 153 {"shape":"CloudHsmServiceException"}, 154 {"shape":"CloudHsmResourceNotFoundException"}, 155 {"shape":"CloudHsmInvalidRequestException"}, 156 {"shape":"CloudHsmAccessDeniedException"} 157 ] 158 }, 159 "UntagResource":{ 160 "name":"UntagResource", 161 "http":{ 162 "method":"POST", 163 "requestUri":"/" 164 }, 165 "input":{"shape":"UntagResourceRequest"}, 166 "output":{"shape":"UntagResourceResponse"}, 167 "errors":[ 168 {"shape":"CloudHsmInternalFailureException"}, 169 {"shape":"CloudHsmServiceException"}, 170 {"shape":"CloudHsmResourceNotFoundException"}, 171 {"shape":"CloudHsmInvalidRequestException"}, 172 {"shape":"CloudHsmAccessDeniedException"} 173 ] 174 } 175 }, 176 "shapes":{ 177 "Backup":{ 178 "type":"structure", 179 "required":["BackupId"], 180 "members":{ 181 "BackupId":{"shape":"BackupId"}, 182 "BackupState":{"shape":"BackupState"}, 183 "ClusterId":{"shape":"ClusterId"}, 184 "CreateTimestamp":{"shape":"Timestamp"} 185 } 186 }, 187 "BackupId":{ 188 "type":"string", 189 "pattern":"backup-[2-7a-zA-Z]{11,16}" 190 }, 191 "BackupPolicy":{ 192 "type":"string", 193 "enum":["DEFAULT"] 194 }, 195 "BackupState":{ 196 "type":"string", 197 "enum":[ 198 "CREATE_IN_PROGRESS", 199 "READY", 200 "DELETED" 201 ] 202 }, 203 "Backups":{ 204 "type":"list", 205 "member":{"shape":"Backup"} 206 }, 207 "Cert":{ 208 "type":"string", 209 "max":5000, 210 "pattern":"[a-zA-Z0-9+-/=\\s]*" 211 }, 212 "Certificates":{ 213 "type":"structure", 214 "members":{ 215 "ClusterCsr":{"shape":"Cert"}, 216 "HsmCertificate":{"shape":"Cert"}, 217 "AwsHardwareCertificate":{"shape":"Cert"}, 218 "ManufacturerHardwareCertificate":{"shape":"Cert"}, 219 "ClusterCertificate":{"shape":"Cert"} 220 } 221 }, 222 "CloudHsmAccessDeniedException":{ 223 "type":"structure", 224 "members":{ 225 "Message":{"shape":"errorMessage"} 226 }, 227 "exception":true 228 }, 229 "CloudHsmInternalFailureException":{ 230 "type":"structure", 231 "members":{ 232 "Message":{"shape":"errorMessage"} 233 }, 234 "exception":true, 235 "fault":true 236 }, 237 "CloudHsmInvalidRequestException":{ 238 "type":"structure", 239 "members":{ 240 "Message":{"shape":"errorMessage"} 241 }, 242 "exception":true 243 }, 244 "CloudHsmResourceNotFoundException":{ 245 "type":"structure", 246 "members":{ 247 "Message":{"shape":"errorMessage"} 248 }, 249 "exception":true 250 }, 251 "CloudHsmServiceException":{ 252 "type":"structure", 253 "members":{ 254 "Message":{"shape":"errorMessage"} 255 }, 256 "exception":true 257 }, 258 "Cluster":{ 259 "type":"structure", 260 "members":{ 261 "BackupPolicy":{"shape":"BackupPolicy"}, 262 "ClusterId":{"shape":"ClusterId"}, 263 "CreateTimestamp":{"shape":"Timestamp"}, 264 "Hsms":{"shape":"Hsms"}, 265 "HsmType":{"shape":"HsmType"}, 266 "PreCoPassword":{"shape":"PreCoPassword"}, 267 "SecurityGroup":{"shape":"SecurityGroup"}, 268 "SourceBackupId":{"shape":"BackupId"}, 269 "State":{"shape":"ClusterState"}, 270 "StateMessage":{"shape":"StateMessage"}, 271 "SubnetMapping":{"shape":"ExternalSubnetMapping"}, 272 "VpcId":{"shape":"VpcId"}, 273 "Certificates":{"shape":"Certificates"} 274 } 275 }, 276 "ClusterId":{ 277 "type":"string", 278 "pattern":"cluster-[2-7a-zA-Z]{11,16}" 279 }, 280 "ClusterState":{ 281 "type":"string", 282 "enum":[ 283 "CREATE_IN_PROGRESS", 284 "UNINITIALIZED", 285 "INITIALIZE_IN_PROGRESS", 286 "INITIALIZED", 287 "ACTIVE", 288 "UPDATE_IN_PROGRESS", 289 "DELETE_IN_PROGRESS", 290 "DELETED", 291 "DEGRADED" 292 ] 293 }, 294 "Clusters":{ 295 "type":"list", 296 "member":{"shape":"Cluster"} 297 }, 298 "CreateClusterRequest":{ 299 "type":"structure", 300 "required":[ 301 "SubnetIds", 302 "HsmType" 303 ], 304 "members":{ 305 "SubnetIds":{"shape":"SubnetIds"}, 306 "HsmType":{"shape":"HsmType"}, 307 "SourceBackupId":{"shape":"BackupId"} 308 } 309 }, 310 "CreateClusterResponse":{ 311 "type":"structure", 312 "members":{ 313 "Cluster":{"shape":"Cluster"} 314 } 315 }, 316 "CreateHsmRequest":{ 317 "type":"structure", 318 "required":[ 319 "ClusterId", 320 "AvailabilityZone" 321 ], 322 "members":{ 323 "ClusterId":{"shape":"ClusterId"}, 324 "AvailabilityZone":{"shape":"ExternalAz"}, 325 "IpAddress":{"shape":"IpAddress"} 326 } 327 }, 328 "CreateHsmResponse":{ 329 "type":"structure", 330 "members":{ 331 "Hsm":{"shape":"Hsm"} 332 } 333 }, 334 "DeleteClusterRequest":{ 335 "type":"structure", 336 "required":["ClusterId"], 337 "members":{ 338 "ClusterId":{"shape":"ClusterId"} 339 } 340 }, 341 "DeleteClusterResponse":{ 342 "type":"structure", 343 "members":{ 344 "Cluster":{"shape":"Cluster"} 345 } 346 }, 347 "DeleteHsmRequest":{ 348 "type":"structure", 349 "required":["ClusterId"], 350 "members":{ 351 "ClusterId":{"shape":"ClusterId"}, 352 "HsmId":{"shape":"HsmId"}, 353 "EniId":{"shape":"EniId"}, 354 "EniIp":{"shape":"IpAddress"} 355 } 356 }, 357 "DeleteHsmResponse":{ 358 "type":"structure", 359 "members":{ 360 "HsmId":{"shape":"HsmId"} 361 } 362 }, 363 "DescribeBackupsRequest":{ 364 "type":"structure", 365 "members":{ 366 "NextToken":{"shape":"NextToken"}, 367 "MaxResults":{"shape":"MaxSize"}, 368 "Filters":{"shape":"Filters"} 369 } 370 }, 371 "DescribeBackupsResponse":{ 372 "type":"structure", 373 "members":{ 374 "Backups":{"shape":"Backups"}, 375 "NextToken":{"shape":"NextToken"} 376 } 377 }, 378 "DescribeClustersRequest":{ 379 "type":"structure", 380 "members":{ 381 "Filters":{"shape":"Filters"}, 382 "NextToken":{"shape":"NextToken"}, 383 "MaxResults":{"shape":"MaxSize"} 384 } 385 }, 386 "DescribeClustersResponse":{ 387 "type":"structure", 388 "members":{ 389 "Clusters":{"shape":"Clusters"}, 390 "NextToken":{"shape":"NextToken"} 391 } 392 }, 393 "EniId":{ 394 "type":"string", 395 "pattern":"eni-[0-9a-fA-F]{8}" 396 }, 397 "ExternalAz":{ 398 "type":"string", 399 "pattern":"[a-z]{2}(-(gov|isob|iso))?-(east|west|north|south|central){1,2}-\\d[a-z]" 400 }, 401 "ExternalSubnetMapping":{ 402 "type":"map", 403 "key":{"shape":"ExternalAz"}, 404 "value":{"shape":"SubnetId"} 405 }, 406 "Field":{ 407 "type":"string", 408 "pattern":"[a-zA-Z0-9_-]+" 409 }, 410 "Filters":{ 411 "type":"map", 412 "key":{"shape":"Field"}, 413 "value":{"shape":"Strings"} 414 }, 415 "Hsm":{ 416 "type":"structure", 417 "required":["HsmId"], 418 "members":{ 419 "AvailabilityZone":{"shape":"ExternalAz"}, 420 "ClusterId":{"shape":"ClusterId"}, 421 "SubnetId":{"shape":"SubnetId"}, 422 "EniId":{"shape":"EniId"}, 423 "EniIp":{"shape":"IpAddress"}, 424 "HsmId":{"shape":"HsmId"}, 425 "State":{"shape":"HsmState"}, 426 "StateMessage":{"shape":"String"} 427 } 428 }, 429 "HsmId":{ 430 "type":"string", 431 "pattern":"hsm-[2-7a-zA-Z]{11,16}" 432 }, 433 "HsmState":{ 434 "type":"string", 435 "enum":[ 436 "CREATE_IN_PROGRESS", 437 "ACTIVE", 438 "DEGRADED", 439 "DELETE_IN_PROGRESS", 440 "DELETED" 441 ] 442 }, 443 "HsmType":{ 444 "type":"string", 445 "pattern":"(hsm1\\.medium)" 446 }, 447 "Hsms":{ 448 "type":"list", 449 "member":{"shape":"Hsm"} 450 }, 451 "InitializeClusterRequest":{ 452 "type":"structure", 453 "required":[ 454 "ClusterId", 455 "SignedCert", 456 "TrustAnchor" 457 ], 458 "members":{ 459 "ClusterId":{"shape":"ClusterId"}, 460 "SignedCert":{"shape":"Cert"}, 461 "TrustAnchor":{"shape":"Cert"} 462 } 463 }, 464 "InitializeClusterResponse":{ 465 "type":"structure", 466 "members":{ 467 "State":{"shape":"ClusterState"}, 468 "StateMessage":{"shape":"StateMessage"} 469 } 470 }, 471 "IpAddress":{ 472 "type":"string", 473 "pattern":"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}" 474 }, 475 "ListTagsRequest":{ 476 "type":"structure", 477 "required":["ResourceId"], 478 "members":{ 479 "ResourceId":{"shape":"ClusterId"}, 480 "NextToken":{"shape":"NextToken"}, 481 "MaxResults":{"shape":"MaxSize"} 482 } 483 }, 484 "ListTagsResponse":{ 485 "type":"structure", 486 "required":["TagList"], 487 "members":{ 488 "TagList":{"shape":"TagList"}, 489 "NextToken":{"shape":"NextToken"} 490 } 491 }, 492 "MaxSize":{ 493 "type":"integer", 494 "max":100, 495 "min":1 496 }, 497 "NextToken":{ 498 "type":"string", 499 "max":256, 500 "pattern":".*" 501 }, 502 "PreCoPassword":{ 503 "type":"string", 504 "max":32, 505 "min":7 506 }, 507 "SecurityGroup":{ 508 "type":"string", 509 "pattern":"sg-[0-9a-fA-F]" 510 }, 511 "StateMessage":{ 512 "type":"string", 513 "max":300, 514 "pattern":".*" 515 }, 516 "String":{"type":"string"}, 517 "Strings":{ 518 "type":"list", 519 "member":{"shape":"String"} 520 }, 521 "SubnetId":{ 522 "type":"string", 523 "pattern":"subnet-[0-9a-fA-F]{8}" 524 }, 525 "SubnetIds":{ 526 "type":"list", 527 "member":{"shape":"SubnetId"}, 528 "max":10, 529 "min":1 530 }, 531 "Tag":{ 532 "type":"structure", 533 "required":[ 534 "Key", 535 "Value" 536 ], 537 "members":{ 538 "Key":{"shape":"TagKey"}, 539 "Value":{"shape":"TagValue"} 540 } 541 }, 542 "TagKey":{ 543 "type":"string", 544 "max":128, 545 "min":1, 546 "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" 547 }, 548 "TagKeyList":{ 549 "type":"list", 550 "member":{"shape":"TagKey"}, 551 "max":50, 552 "min":1 553 }, 554 "TagList":{ 555 "type":"list", 556 "member":{"shape":"Tag"}, 557 "max":50, 558 "min":1 559 }, 560 "TagResourceRequest":{ 561 "type":"structure", 562 "required":[ 563 "ResourceId", 564 "TagList" 565 ], 566 "members":{ 567 "ResourceId":{"shape":"ClusterId"}, 568 "TagList":{"shape":"TagList"} 569 } 570 }, 571 "TagResourceResponse":{ 572 "type":"structure", 573 "members":{ 574 } 575 }, 576 "TagValue":{ 577 "type":"string", 578 "max":256, 579 "min":0 580 }, 581 "Timestamp":{"type":"timestamp"}, 582 "UntagResourceRequest":{ 583 "type":"structure", 584 "required":[ 585 "ResourceId", 586 "TagKeyList" 587 ], 588 "members":{ 589 "ResourceId":{"shape":"ClusterId"}, 590 "TagKeyList":{"shape":"TagKeyList"} 591 } 592 }, 593 "UntagResourceResponse":{ 594 "type":"structure", 595 "members":{ 596 } 597 }, 598 "VpcId":{ 599 "type":"string", 600 "pattern":"vpc-[0-9a-fA-F]" 601 }, 602 "errorMessage":{"type":"string"} 603 } 604} 605