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