api.go 65 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226
  1. // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
  2. // Package cloudhsm provides a client for Amazon CloudHSM.
  3. package cloudhsm
  4. import (
  5. "fmt"
  6. "github.com/aws/aws-sdk-go/aws/awsutil"
  7. "github.com/aws/aws-sdk-go/aws/request"
  8. )
  9. const opAddTagsToResource = "AddTagsToResource"
  10. // AddTagsToResourceRequest generates a "aws/request.Request" representing the
  11. // client's request for the AddTagsToResource operation. The "output" return
  12. // value can be used to capture response data after the request's "Send" method
  13. // is called.
  14. //
  15. // Creating a request object using this method should be used when you want to inject
  16. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17. // access properties on the request object before or after sending the request. If
  18. // you just want the service response, call the AddTagsToResource method directly
  19. // instead.
  20. //
  21. // Note: You must call the "Send" method on the returned request object in order
  22. // to execute the request.
  23. //
  24. // // Example sending a request using the AddTagsToResourceRequest method.
  25. // req, resp := client.AddTagsToResourceRequest(params)
  26. //
  27. // err := req.Send()
  28. // if err == nil { // resp is now filled
  29. // fmt.Println(resp)
  30. // }
  31. //
  32. func (c *CloudHSM) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) {
  33. op := &request.Operation{
  34. Name: opAddTagsToResource,
  35. HTTPMethod: "POST",
  36. HTTPPath: "/",
  37. }
  38. if input == nil {
  39. input = &AddTagsToResourceInput{}
  40. }
  41. req = c.newRequest(op, input, output)
  42. output = &AddTagsToResourceOutput{}
  43. req.Data = output
  44. return
  45. }
  46. // Adds or overwrites one or more tags for the specified AWS CloudHSM resource.
  47. //
  48. // Each tag consists of a key and a value. Tag keys must be unique to each
  49. // resource.
  50. func (c *CloudHSM) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) {
  51. req, out := c.AddTagsToResourceRequest(input)
  52. err := req.Send()
  53. return out, err
  54. }
  55. const opCreateHapg = "CreateHapg"
  56. // CreateHapgRequest generates a "aws/request.Request" representing the
  57. // client's request for the CreateHapg operation. The "output" return
  58. // value can be used to capture response data after the request's "Send" method
  59. // is called.
  60. //
  61. // Creating a request object using this method should be used when you want to inject
  62. // custom logic into the request's lifecycle using a custom handler, or if you want to
  63. // access properties on the request object before or after sending the request. If
  64. // you just want the service response, call the CreateHapg method directly
  65. // instead.
  66. //
  67. // Note: You must call the "Send" method on the returned request object in order
  68. // to execute the request.
  69. //
  70. // // Example sending a request using the CreateHapgRequest method.
  71. // req, resp := client.CreateHapgRequest(params)
  72. //
  73. // err := req.Send()
  74. // if err == nil { // resp is now filled
  75. // fmt.Println(resp)
  76. // }
  77. //
  78. func (c *CloudHSM) CreateHapgRequest(input *CreateHapgInput) (req *request.Request, output *CreateHapgOutput) {
  79. op := &request.Operation{
  80. Name: opCreateHapg,
  81. HTTPMethod: "POST",
  82. HTTPPath: "/",
  83. }
  84. if input == nil {
  85. input = &CreateHapgInput{}
  86. }
  87. req = c.newRequest(op, input, output)
  88. output = &CreateHapgOutput{}
  89. req.Data = output
  90. return
  91. }
  92. // Creates a high-availability partition group. A high-availability partition
  93. // group is a group of partitions that spans multiple physical HSMs.
  94. func (c *CloudHSM) CreateHapg(input *CreateHapgInput) (*CreateHapgOutput, error) {
  95. req, out := c.CreateHapgRequest(input)
  96. err := req.Send()
  97. return out, err
  98. }
  99. const opCreateHsm = "CreateHsm"
  100. // CreateHsmRequest generates a "aws/request.Request" representing the
  101. // client's request for the CreateHsm operation. The "output" return
  102. // value can be used to capture response data after the request's "Send" method
  103. // is called.
  104. //
  105. // Creating a request object using this method should be used when you want to inject
  106. // custom logic into the request's lifecycle using a custom handler, or if you want to
  107. // access properties on the request object before or after sending the request. If
  108. // you just want the service response, call the CreateHsm method directly
  109. // instead.
  110. //
  111. // Note: You must call the "Send" method on the returned request object in order
  112. // to execute the request.
  113. //
  114. // // Example sending a request using the CreateHsmRequest method.
  115. // req, resp := client.CreateHsmRequest(params)
  116. //
  117. // err := req.Send()
  118. // if err == nil { // resp is now filled
  119. // fmt.Println(resp)
  120. // }
  121. //
  122. func (c *CloudHSM) CreateHsmRequest(input *CreateHsmInput) (req *request.Request, output *CreateHsmOutput) {
  123. op := &request.Operation{
  124. Name: opCreateHsm,
  125. HTTPMethod: "POST",
  126. HTTPPath: "/",
  127. }
  128. if input == nil {
  129. input = &CreateHsmInput{}
  130. }
  131. req = c.newRequest(op, input, output)
  132. output = &CreateHsmOutput{}
  133. req.Data = output
  134. return
  135. }
  136. // Creates an uninitialized HSM instance.
  137. //
  138. // There is an upfront fee charged for each HSM instance that you create with
  139. // the CreateHsm operation. If you accidentally provision an HSM and want to
  140. // request a refund, delete the instance using the DeleteHsm operation, go to
  141. // the AWS Support Center (https://console.aws.amazon.com/support/home#/), create
  142. // a new case, and select Account and Billing Support.
  143. //
  144. // It can take up to 20 minutes to create and provision an HSM. You can monitor
  145. // the status of the HSM with the DescribeHsm operation. The HSM is ready to
  146. // be initialized when the status changes to RUNNING.
  147. func (c *CloudHSM) CreateHsm(input *CreateHsmInput) (*CreateHsmOutput, error) {
  148. req, out := c.CreateHsmRequest(input)
  149. err := req.Send()
  150. return out, err
  151. }
  152. const opCreateLunaClient = "CreateLunaClient"
  153. // CreateLunaClientRequest generates a "aws/request.Request" representing the
  154. // client's request for the CreateLunaClient operation. The "output" return
  155. // value can be used to capture response data after the request's "Send" method
  156. // is called.
  157. //
  158. // Creating a request object using this method should be used when you want to inject
  159. // custom logic into the request's lifecycle using a custom handler, or if you want to
  160. // access properties on the request object before or after sending the request. If
  161. // you just want the service response, call the CreateLunaClient method directly
  162. // instead.
  163. //
  164. // Note: You must call the "Send" method on the returned request object in order
  165. // to execute the request.
  166. //
  167. // // Example sending a request using the CreateLunaClientRequest method.
  168. // req, resp := client.CreateLunaClientRequest(params)
  169. //
  170. // err := req.Send()
  171. // if err == nil { // resp is now filled
  172. // fmt.Println(resp)
  173. // }
  174. //
  175. func (c *CloudHSM) CreateLunaClientRequest(input *CreateLunaClientInput) (req *request.Request, output *CreateLunaClientOutput) {
  176. op := &request.Operation{
  177. Name: opCreateLunaClient,
  178. HTTPMethod: "POST",
  179. HTTPPath: "/",
  180. }
  181. if input == nil {
  182. input = &CreateLunaClientInput{}
  183. }
  184. req = c.newRequest(op, input, output)
  185. output = &CreateLunaClientOutput{}
  186. req.Data = output
  187. return
  188. }
  189. // Creates an HSM client.
  190. func (c *CloudHSM) CreateLunaClient(input *CreateLunaClientInput) (*CreateLunaClientOutput, error) {
  191. req, out := c.CreateLunaClientRequest(input)
  192. err := req.Send()
  193. return out, err
  194. }
  195. const opDeleteHapg = "DeleteHapg"
  196. // DeleteHapgRequest generates a "aws/request.Request" representing the
  197. // client's request for the DeleteHapg operation. The "output" return
  198. // value can be used to capture response data after the request's "Send" method
  199. // is called.
  200. //
  201. // Creating a request object using this method should be used when you want to inject
  202. // custom logic into the request's lifecycle using a custom handler, or if you want to
  203. // access properties on the request object before or after sending the request. If
  204. // you just want the service response, call the DeleteHapg method directly
  205. // instead.
  206. //
  207. // Note: You must call the "Send" method on the returned request object in order
  208. // to execute the request.
  209. //
  210. // // Example sending a request using the DeleteHapgRequest method.
  211. // req, resp := client.DeleteHapgRequest(params)
  212. //
  213. // err := req.Send()
  214. // if err == nil { // resp is now filled
  215. // fmt.Println(resp)
  216. // }
  217. //
  218. func (c *CloudHSM) DeleteHapgRequest(input *DeleteHapgInput) (req *request.Request, output *DeleteHapgOutput) {
  219. op := &request.Operation{
  220. Name: opDeleteHapg,
  221. HTTPMethod: "POST",
  222. HTTPPath: "/",
  223. }
  224. if input == nil {
  225. input = &DeleteHapgInput{}
  226. }
  227. req = c.newRequest(op, input, output)
  228. output = &DeleteHapgOutput{}
  229. req.Data = output
  230. return
  231. }
  232. // Deletes a high-availability partition group.
  233. func (c *CloudHSM) DeleteHapg(input *DeleteHapgInput) (*DeleteHapgOutput, error) {
  234. req, out := c.DeleteHapgRequest(input)
  235. err := req.Send()
  236. return out, err
  237. }
  238. const opDeleteHsm = "DeleteHsm"
  239. // DeleteHsmRequest generates a "aws/request.Request" representing the
  240. // client's request for the DeleteHsm operation. The "output" return
  241. // value can be used to capture response data after the request's "Send" method
  242. // is called.
  243. //
  244. // Creating a request object using this method should be used when you want to inject
  245. // custom logic into the request's lifecycle using a custom handler, or if you want to
  246. // access properties on the request object before or after sending the request. If
  247. // you just want the service response, call the DeleteHsm method directly
  248. // instead.
  249. //
  250. // Note: You must call the "Send" method on the returned request object in order
  251. // to execute the request.
  252. //
  253. // // Example sending a request using the DeleteHsmRequest method.
  254. // req, resp := client.DeleteHsmRequest(params)
  255. //
  256. // err := req.Send()
  257. // if err == nil { // resp is now filled
  258. // fmt.Println(resp)
  259. // }
  260. //
  261. func (c *CloudHSM) DeleteHsmRequest(input *DeleteHsmInput) (req *request.Request, output *DeleteHsmOutput) {
  262. op := &request.Operation{
  263. Name: opDeleteHsm,
  264. HTTPMethod: "POST",
  265. HTTPPath: "/",
  266. }
  267. if input == nil {
  268. input = &DeleteHsmInput{}
  269. }
  270. req = c.newRequest(op, input, output)
  271. output = &DeleteHsmOutput{}
  272. req.Data = output
  273. return
  274. }
  275. // Deletes an HSM. After completion, this operation cannot be undone and your
  276. // key material cannot be recovered.
  277. func (c *CloudHSM) DeleteHsm(input *DeleteHsmInput) (*DeleteHsmOutput, error) {
  278. req, out := c.DeleteHsmRequest(input)
  279. err := req.Send()
  280. return out, err
  281. }
  282. const opDeleteLunaClient = "DeleteLunaClient"
  283. // DeleteLunaClientRequest generates a "aws/request.Request" representing the
  284. // client's request for the DeleteLunaClient operation. The "output" return
  285. // value can be used to capture response data after the request's "Send" method
  286. // is called.
  287. //
  288. // Creating a request object using this method should be used when you want to inject
  289. // custom logic into the request's lifecycle using a custom handler, or if you want to
  290. // access properties on the request object before or after sending the request. If
  291. // you just want the service response, call the DeleteLunaClient method directly
  292. // instead.
  293. //
  294. // Note: You must call the "Send" method on the returned request object in order
  295. // to execute the request.
  296. //
  297. // // Example sending a request using the DeleteLunaClientRequest method.
  298. // req, resp := client.DeleteLunaClientRequest(params)
  299. //
  300. // err := req.Send()
  301. // if err == nil { // resp is now filled
  302. // fmt.Println(resp)
  303. // }
  304. //
  305. func (c *CloudHSM) DeleteLunaClientRequest(input *DeleteLunaClientInput) (req *request.Request, output *DeleteLunaClientOutput) {
  306. op := &request.Operation{
  307. Name: opDeleteLunaClient,
  308. HTTPMethod: "POST",
  309. HTTPPath: "/",
  310. }
  311. if input == nil {
  312. input = &DeleteLunaClientInput{}
  313. }
  314. req = c.newRequest(op, input, output)
  315. output = &DeleteLunaClientOutput{}
  316. req.Data = output
  317. return
  318. }
  319. // Deletes a client.
  320. func (c *CloudHSM) DeleteLunaClient(input *DeleteLunaClientInput) (*DeleteLunaClientOutput, error) {
  321. req, out := c.DeleteLunaClientRequest(input)
  322. err := req.Send()
  323. return out, err
  324. }
  325. const opDescribeHapg = "DescribeHapg"
  326. // DescribeHapgRequest generates a "aws/request.Request" representing the
  327. // client's request for the DescribeHapg operation. The "output" return
  328. // value can be used to capture response data after the request's "Send" method
  329. // is called.
  330. //
  331. // Creating a request object using this method should be used when you want to inject
  332. // custom logic into the request's lifecycle using a custom handler, or if you want to
  333. // access properties on the request object before or after sending the request. If
  334. // you just want the service response, call the DescribeHapg method directly
  335. // instead.
  336. //
  337. // Note: You must call the "Send" method on the returned request object in order
  338. // to execute the request.
  339. //
  340. // // Example sending a request using the DescribeHapgRequest method.
  341. // req, resp := client.DescribeHapgRequest(params)
  342. //
  343. // err := req.Send()
  344. // if err == nil { // resp is now filled
  345. // fmt.Println(resp)
  346. // }
  347. //
  348. func (c *CloudHSM) DescribeHapgRequest(input *DescribeHapgInput) (req *request.Request, output *DescribeHapgOutput) {
  349. op := &request.Operation{
  350. Name: opDescribeHapg,
  351. HTTPMethod: "POST",
  352. HTTPPath: "/",
  353. }
  354. if input == nil {
  355. input = &DescribeHapgInput{}
  356. }
  357. req = c.newRequest(op, input, output)
  358. output = &DescribeHapgOutput{}
  359. req.Data = output
  360. return
  361. }
  362. // Retrieves information about a high-availability partition group.
  363. func (c *CloudHSM) DescribeHapg(input *DescribeHapgInput) (*DescribeHapgOutput, error) {
  364. req, out := c.DescribeHapgRequest(input)
  365. err := req.Send()
  366. return out, err
  367. }
  368. const opDescribeHsm = "DescribeHsm"
  369. // DescribeHsmRequest generates a "aws/request.Request" representing the
  370. // client's request for the DescribeHsm operation. The "output" return
  371. // value can be used to capture response data after the request's "Send" method
  372. // is called.
  373. //
  374. // Creating a request object using this method should be used when you want to inject
  375. // custom logic into the request's lifecycle using a custom handler, or if you want to
  376. // access properties on the request object before or after sending the request. If
  377. // you just want the service response, call the DescribeHsm method directly
  378. // instead.
  379. //
  380. // Note: You must call the "Send" method on the returned request object in order
  381. // to execute the request.
  382. //
  383. // // Example sending a request using the DescribeHsmRequest method.
  384. // req, resp := client.DescribeHsmRequest(params)
  385. //
  386. // err := req.Send()
  387. // if err == nil { // resp is now filled
  388. // fmt.Println(resp)
  389. // }
  390. //
  391. func (c *CloudHSM) DescribeHsmRequest(input *DescribeHsmInput) (req *request.Request, output *DescribeHsmOutput) {
  392. op := &request.Operation{
  393. Name: opDescribeHsm,
  394. HTTPMethod: "POST",
  395. HTTPPath: "/",
  396. }
  397. if input == nil {
  398. input = &DescribeHsmInput{}
  399. }
  400. req = c.newRequest(op, input, output)
  401. output = &DescribeHsmOutput{}
  402. req.Data = output
  403. return
  404. }
  405. // Retrieves information about an HSM. You can identify the HSM by its ARN or
  406. // its serial number.
  407. func (c *CloudHSM) DescribeHsm(input *DescribeHsmInput) (*DescribeHsmOutput, error) {
  408. req, out := c.DescribeHsmRequest(input)
  409. err := req.Send()
  410. return out, err
  411. }
  412. const opDescribeLunaClient = "DescribeLunaClient"
  413. // DescribeLunaClientRequest generates a "aws/request.Request" representing the
  414. // client's request for the DescribeLunaClient operation. The "output" return
  415. // value can be used to capture response data after the request's "Send" method
  416. // is called.
  417. //
  418. // Creating a request object using this method should be used when you want to inject
  419. // custom logic into the request's lifecycle using a custom handler, or if you want to
  420. // access properties on the request object before or after sending the request. If
  421. // you just want the service response, call the DescribeLunaClient method directly
  422. // instead.
  423. //
  424. // Note: You must call the "Send" method on the returned request object in order
  425. // to execute the request.
  426. //
  427. // // Example sending a request using the DescribeLunaClientRequest method.
  428. // req, resp := client.DescribeLunaClientRequest(params)
  429. //
  430. // err := req.Send()
  431. // if err == nil { // resp is now filled
  432. // fmt.Println(resp)
  433. // }
  434. //
  435. func (c *CloudHSM) DescribeLunaClientRequest(input *DescribeLunaClientInput) (req *request.Request, output *DescribeLunaClientOutput) {
  436. op := &request.Operation{
  437. Name: opDescribeLunaClient,
  438. HTTPMethod: "POST",
  439. HTTPPath: "/",
  440. }
  441. if input == nil {
  442. input = &DescribeLunaClientInput{}
  443. }
  444. req = c.newRequest(op, input, output)
  445. output = &DescribeLunaClientOutput{}
  446. req.Data = output
  447. return
  448. }
  449. // Retrieves information about an HSM client.
  450. func (c *CloudHSM) DescribeLunaClient(input *DescribeLunaClientInput) (*DescribeLunaClientOutput, error) {
  451. req, out := c.DescribeLunaClientRequest(input)
  452. err := req.Send()
  453. return out, err
  454. }
  455. const opGetConfig = "GetConfig"
  456. // GetConfigRequest generates a "aws/request.Request" representing the
  457. // client's request for the GetConfig operation. The "output" return
  458. // value can be used to capture response data after the request's "Send" method
  459. // is called.
  460. //
  461. // Creating a request object using this method should be used when you want to inject
  462. // custom logic into the request's lifecycle using a custom handler, or if you want to
  463. // access properties on the request object before or after sending the request. If
  464. // you just want the service response, call the GetConfig method directly
  465. // instead.
  466. //
  467. // Note: You must call the "Send" method on the returned request object in order
  468. // to execute the request.
  469. //
  470. // // Example sending a request using the GetConfigRequest method.
  471. // req, resp := client.GetConfigRequest(params)
  472. //
  473. // err := req.Send()
  474. // if err == nil { // resp is now filled
  475. // fmt.Println(resp)
  476. // }
  477. //
  478. func (c *CloudHSM) GetConfigRequest(input *GetConfigInput) (req *request.Request, output *GetConfigOutput) {
  479. op := &request.Operation{
  480. Name: opGetConfig,
  481. HTTPMethod: "POST",
  482. HTTPPath: "/",
  483. }
  484. if input == nil {
  485. input = &GetConfigInput{}
  486. }
  487. req = c.newRequest(op, input, output)
  488. output = &GetConfigOutput{}
  489. req.Data = output
  490. return
  491. }
  492. // Gets the configuration files necessary to connect to all high availability
  493. // partition groups the client is associated with.
  494. func (c *CloudHSM) GetConfig(input *GetConfigInput) (*GetConfigOutput, error) {
  495. req, out := c.GetConfigRequest(input)
  496. err := req.Send()
  497. return out, err
  498. }
  499. const opListAvailableZones = "ListAvailableZones"
  500. // ListAvailableZonesRequest generates a "aws/request.Request" representing the
  501. // client's request for the ListAvailableZones operation. The "output" return
  502. // value can be used to capture response data after the request's "Send" method
  503. // is called.
  504. //
  505. // Creating a request object using this method should be used when you want to inject
  506. // custom logic into the request's lifecycle using a custom handler, or if you want to
  507. // access properties on the request object before or after sending the request. If
  508. // you just want the service response, call the ListAvailableZones method directly
  509. // instead.
  510. //
  511. // Note: You must call the "Send" method on the returned request object in order
  512. // to execute the request.
  513. //
  514. // // Example sending a request using the ListAvailableZonesRequest method.
  515. // req, resp := client.ListAvailableZonesRequest(params)
  516. //
  517. // err := req.Send()
  518. // if err == nil { // resp is now filled
  519. // fmt.Println(resp)
  520. // }
  521. //
  522. func (c *CloudHSM) ListAvailableZonesRequest(input *ListAvailableZonesInput) (req *request.Request, output *ListAvailableZonesOutput) {
  523. op := &request.Operation{
  524. Name: opListAvailableZones,
  525. HTTPMethod: "POST",
  526. HTTPPath: "/",
  527. }
  528. if input == nil {
  529. input = &ListAvailableZonesInput{}
  530. }
  531. req = c.newRequest(op, input, output)
  532. output = &ListAvailableZonesOutput{}
  533. req.Data = output
  534. return
  535. }
  536. // Lists the Availability Zones that have available AWS CloudHSM capacity.
  537. func (c *CloudHSM) ListAvailableZones(input *ListAvailableZonesInput) (*ListAvailableZonesOutput, error) {
  538. req, out := c.ListAvailableZonesRequest(input)
  539. err := req.Send()
  540. return out, err
  541. }
  542. const opListHapgs = "ListHapgs"
  543. // ListHapgsRequest generates a "aws/request.Request" representing the
  544. // client's request for the ListHapgs operation. The "output" return
  545. // value can be used to capture response data after the request's "Send" method
  546. // is called.
  547. //
  548. // Creating a request object using this method should be used when you want to inject
  549. // custom logic into the request's lifecycle using a custom handler, or if you want to
  550. // access properties on the request object before or after sending the request. If
  551. // you just want the service response, call the ListHapgs method directly
  552. // instead.
  553. //
  554. // Note: You must call the "Send" method on the returned request object in order
  555. // to execute the request.
  556. //
  557. // // Example sending a request using the ListHapgsRequest method.
  558. // req, resp := client.ListHapgsRequest(params)
  559. //
  560. // err := req.Send()
  561. // if err == nil { // resp is now filled
  562. // fmt.Println(resp)
  563. // }
  564. //
  565. func (c *CloudHSM) ListHapgsRequest(input *ListHapgsInput) (req *request.Request, output *ListHapgsOutput) {
  566. op := &request.Operation{
  567. Name: opListHapgs,
  568. HTTPMethod: "POST",
  569. HTTPPath: "/",
  570. }
  571. if input == nil {
  572. input = &ListHapgsInput{}
  573. }
  574. req = c.newRequest(op, input, output)
  575. output = &ListHapgsOutput{}
  576. req.Data = output
  577. return
  578. }
  579. // Lists the high-availability partition groups for the account.
  580. //
  581. // This operation supports pagination with the use of the NextToken member.
  582. // If more results are available, the NextToken member of the response contains
  583. // a token that you pass in the next call to ListHapgs to retrieve the next
  584. // set of items.
  585. func (c *CloudHSM) ListHapgs(input *ListHapgsInput) (*ListHapgsOutput, error) {
  586. req, out := c.ListHapgsRequest(input)
  587. err := req.Send()
  588. return out, err
  589. }
  590. const opListHsms = "ListHsms"
  591. // ListHsmsRequest generates a "aws/request.Request" representing the
  592. // client's request for the ListHsms operation. The "output" return
  593. // value can be used to capture response data after the request's "Send" method
  594. // is called.
  595. //
  596. // Creating a request object using this method should be used when you want to inject
  597. // custom logic into the request's lifecycle using a custom handler, or if you want to
  598. // access properties on the request object before or after sending the request. If
  599. // you just want the service response, call the ListHsms method directly
  600. // instead.
  601. //
  602. // Note: You must call the "Send" method on the returned request object in order
  603. // to execute the request.
  604. //
  605. // // Example sending a request using the ListHsmsRequest method.
  606. // req, resp := client.ListHsmsRequest(params)
  607. //
  608. // err := req.Send()
  609. // if err == nil { // resp is now filled
  610. // fmt.Println(resp)
  611. // }
  612. //
  613. func (c *CloudHSM) ListHsmsRequest(input *ListHsmsInput) (req *request.Request, output *ListHsmsOutput) {
  614. op := &request.Operation{
  615. Name: opListHsms,
  616. HTTPMethod: "POST",
  617. HTTPPath: "/",
  618. }
  619. if input == nil {
  620. input = &ListHsmsInput{}
  621. }
  622. req = c.newRequest(op, input, output)
  623. output = &ListHsmsOutput{}
  624. req.Data = output
  625. return
  626. }
  627. // Retrieves the identifiers of all of the HSMs provisioned for the current
  628. // customer.
  629. //
  630. // This operation supports pagination with the use of the NextToken member.
  631. // If more results are available, the NextToken member of the response contains
  632. // a token that you pass in the next call to ListHsms to retrieve the next set
  633. // of items.
  634. func (c *CloudHSM) ListHsms(input *ListHsmsInput) (*ListHsmsOutput, error) {
  635. req, out := c.ListHsmsRequest(input)
  636. err := req.Send()
  637. return out, err
  638. }
  639. const opListLunaClients = "ListLunaClients"
  640. // ListLunaClientsRequest generates a "aws/request.Request" representing the
  641. // client's request for the ListLunaClients operation. The "output" return
  642. // value can be used to capture response data after the request's "Send" method
  643. // is called.
  644. //
  645. // Creating a request object using this method should be used when you want to inject
  646. // custom logic into the request's lifecycle using a custom handler, or if you want to
  647. // access properties on the request object before or after sending the request. If
  648. // you just want the service response, call the ListLunaClients method directly
  649. // instead.
  650. //
  651. // Note: You must call the "Send" method on the returned request object in order
  652. // to execute the request.
  653. //
  654. // // Example sending a request using the ListLunaClientsRequest method.
  655. // req, resp := client.ListLunaClientsRequest(params)
  656. //
  657. // err := req.Send()
  658. // if err == nil { // resp is now filled
  659. // fmt.Println(resp)
  660. // }
  661. //
  662. func (c *CloudHSM) ListLunaClientsRequest(input *ListLunaClientsInput) (req *request.Request, output *ListLunaClientsOutput) {
  663. op := &request.Operation{
  664. Name: opListLunaClients,
  665. HTTPMethod: "POST",
  666. HTTPPath: "/",
  667. }
  668. if input == nil {
  669. input = &ListLunaClientsInput{}
  670. }
  671. req = c.newRequest(op, input, output)
  672. output = &ListLunaClientsOutput{}
  673. req.Data = output
  674. return
  675. }
  676. // Lists all of the clients.
  677. //
  678. // This operation supports pagination with the use of the NextToken member.
  679. // If more results are available, the NextToken member of the response contains
  680. // a token that you pass in the next call to ListLunaClients to retrieve the
  681. // next set of items.
  682. func (c *CloudHSM) ListLunaClients(input *ListLunaClientsInput) (*ListLunaClientsOutput, error) {
  683. req, out := c.ListLunaClientsRequest(input)
  684. err := req.Send()
  685. return out, err
  686. }
  687. const opListTagsForResource = "ListTagsForResource"
  688. // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  689. // client's request for the ListTagsForResource operation. The "output" return
  690. // value can be used to capture response data after the request's "Send" method
  691. // is called.
  692. //
  693. // Creating a request object using this method should be used when you want to inject
  694. // custom logic into the request's lifecycle using a custom handler, or if you want to
  695. // access properties on the request object before or after sending the request. If
  696. // you just want the service response, call the ListTagsForResource method directly
  697. // instead.
  698. //
  699. // Note: You must call the "Send" method on the returned request object in order
  700. // to execute the request.
  701. //
  702. // // Example sending a request using the ListTagsForResourceRequest method.
  703. // req, resp := client.ListTagsForResourceRequest(params)
  704. //
  705. // err := req.Send()
  706. // if err == nil { // resp is now filled
  707. // fmt.Println(resp)
  708. // }
  709. //
  710. func (c *CloudHSM) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  711. op := &request.Operation{
  712. Name: opListTagsForResource,
  713. HTTPMethod: "POST",
  714. HTTPPath: "/",
  715. }
  716. if input == nil {
  717. input = &ListTagsForResourceInput{}
  718. }
  719. req = c.newRequest(op, input, output)
  720. output = &ListTagsForResourceOutput{}
  721. req.Data = output
  722. return
  723. }
  724. // Returns a list of all tags for the specified AWS CloudHSM resource.
  725. func (c *CloudHSM) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  726. req, out := c.ListTagsForResourceRequest(input)
  727. err := req.Send()
  728. return out, err
  729. }
  730. const opModifyHapg = "ModifyHapg"
  731. // ModifyHapgRequest generates a "aws/request.Request" representing the
  732. // client's request for the ModifyHapg operation. The "output" return
  733. // value can be used to capture response data after the request's "Send" method
  734. // is called.
  735. //
  736. // Creating a request object using this method should be used when you want to inject
  737. // custom logic into the request's lifecycle using a custom handler, or if you want to
  738. // access properties on the request object before or after sending the request. If
  739. // you just want the service response, call the ModifyHapg method directly
  740. // instead.
  741. //
  742. // Note: You must call the "Send" method on the returned request object in order
  743. // to execute the request.
  744. //
  745. // // Example sending a request using the ModifyHapgRequest method.
  746. // req, resp := client.ModifyHapgRequest(params)
  747. //
  748. // err := req.Send()
  749. // if err == nil { // resp is now filled
  750. // fmt.Println(resp)
  751. // }
  752. //
  753. func (c *CloudHSM) ModifyHapgRequest(input *ModifyHapgInput) (req *request.Request, output *ModifyHapgOutput) {
  754. op := &request.Operation{
  755. Name: opModifyHapg,
  756. HTTPMethod: "POST",
  757. HTTPPath: "/",
  758. }
  759. if input == nil {
  760. input = &ModifyHapgInput{}
  761. }
  762. req = c.newRequest(op, input, output)
  763. output = &ModifyHapgOutput{}
  764. req.Data = output
  765. return
  766. }
  767. // Modifies an existing high-availability partition group.
  768. func (c *CloudHSM) ModifyHapg(input *ModifyHapgInput) (*ModifyHapgOutput, error) {
  769. req, out := c.ModifyHapgRequest(input)
  770. err := req.Send()
  771. return out, err
  772. }
  773. const opModifyHsm = "ModifyHsm"
  774. // ModifyHsmRequest generates a "aws/request.Request" representing the
  775. // client's request for the ModifyHsm operation. The "output" return
  776. // value can be used to capture response data after the request's "Send" method
  777. // is called.
  778. //
  779. // Creating a request object using this method should be used when you want to inject
  780. // custom logic into the request's lifecycle using a custom handler, or if you want to
  781. // access properties on the request object before or after sending the request. If
  782. // you just want the service response, call the ModifyHsm method directly
  783. // instead.
  784. //
  785. // Note: You must call the "Send" method on the returned request object in order
  786. // to execute the request.
  787. //
  788. // // Example sending a request using the ModifyHsmRequest method.
  789. // req, resp := client.ModifyHsmRequest(params)
  790. //
  791. // err := req.Send()
  792. // if err == nil { // resp is now filled
  793. // fmt.Println(resp)
  794. // }
  795. //
  796. func (c *CloudHSM) ModifyHsmRequest(input *ModifyHsmInput) (req *request.Request, output *ModifyHsmOutput) {
  797. op := &request.Operation{
  798. Name: opModifyHsm,
  799. HTTPMethod: "POST",
  800. HTTPPath: "/",
  801. }
  802. if input == nil {
  803. input = &ModifyHsmInput{}
  804. }
  805. req = c.newRequest(op, input, output)
  806. output = &ModifyHsmOutput{}
  807. req.Data = output
  808. return
  809. }
  810. // Modifies an HSM.
  811. //
  812. // This operation can result in the HSM being offline for up to 15 minutes
  813. // while the AWS CloudHSM service is reconfigured. If you are modifying a production
  814. // HSM, you should ensure that your AWS CloudHSM service is configured for high
  815. // availability, and consider executing this operation during a maintenance
  816. // window.
  817. func (c *CloudHSM) ModifyHsm(input *ModifyHsmInput) (*ModifyHsmOutput, error) {
  818. req, out := c.ModifyHsmRequest(input)
  819. err := req.Send()
  820. return out, err
  821. }
  822. const opModifyLunaClient = "ModifyLunaClient"
  823. // ModifyLunaClientRequest generates a "aws/request.Request" representing the
  824. // client's request for the ModifyLunaClient operation. The "output" return
  825. // value can be used to capture response data after the request's "Send" method
  826. // is called.
  827. //
  828. // Creating a request object using this method should be used when you want to inject
  829. // custom logic into the request's lifecycle using a custom handler, or if you want to
  830. // access properties on the request object before or after sending the request. If
  831. // you just want the service response, call the ModifyLunaClient method directly
  832. // instead.
  833. //
  834. // Note: You must call the "Send" method on the returned request object in order
  835. // to execute the request.
  836. //
  837. // // Example sending a request using the ModifyLunaClientRequest method.
  838. // req, resp := client.ModifyLunaClientRequest(params)
  839. //
  840. // err := req.Send()
  841. // if err == nil { // resp is now filled
  842. // fmt.Println(resp)
  843. // }
  844. //
  845. func (c *CloudHSM) ModifyLunaClientRequest(input *ModifyLunaClientInput) (req *request.Request, output *ModifyLunaClientOutput) {
  846. op := &request.Operation{
  847. Name: opModifyLunaClient,
  848. HTTPMethod: "POST",
  849. HTTPPath: "/",
  850. }
  851. if input == nil {
  852. input = &ModifyLunaClientInput{}
  853. }
  854. req = c.newRequest(op, input, output)
  855. output = &ModifyLunaClientOutput{}
  856. req.Data = output
  857. return
  858. }
  859. // Modifies the certificate used by the client.
  860. //
  861. // This action can potentially start a workflow to install the new certificate
  862. // on the client's HSMs.
  863. func (c *CloudHSM) ModifyLunaClient(input *ModifyLunaClientInput) (*ModifyLunaClientOutput, error) {
  864. req, out := c.ModifyLunaClientRequest(input)
  865. err := req.Send()
  866. return out, err
  867. }
  868. const opRemoveTagsFromResource = "RemoveTagsFromResource"
  869. // RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
  870. // client's request for the RemoveTagsFromResource operation. The "output" return
  871. // value can be used to capture response data after the request's "Send" method
  872. // is called.
  873. //
  874. // Creating a request object using this method should be used when you want to inject
  875. // custom logic into the request's lifecycle using a custom handler, or if you want to
  876. // access properties on the request object before or after sending the request. If
  877. // you just want the service response, call the RemoveTagsFromResource method directly
  878. // instead.
  879. //
  880. // Note: You must call the "Send" method on the returned request object in order
  881. // to execute the request.
  882. //
  883. // // Example sending a request using the RemoveTagsFromResourceRequest method.
  884. // req, resp := client.RemoveTagsFromResourceRequest(params)
  885. //
  886. // err := req.Send()
  887. // if err == nil { // resp is now filled
  888. // fmt.Println(resp)
  889. // }
  890. //
  891. func (c *CloudHSM) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
  892. op := &request.Operation{
  893. Name: opRemoveTagsFromResource,
  894. HTTPMethod: "POST",
  895. HTTPPath: "/",
  896. }
  897. if input == nil {
  898. input = &RemoveTagsFromResourceInput{}
  899. }
  900. req = c.newRequest(op, input, output)
  901. output = &RemoveTagsFromResourceOutput{}
  902. req.Data = output
  903. return
  904. }
  905. // Removes one or more tags from the specified AWS CloudHSM resource.
  906. //
  907. // To remove a tag, specify only the tag key to remove (not the value). To
  908. // overwrite the value for an existing tag, use AddTagsToResource.
  909. func (c *CloudHSM) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
  910. req, out := c.RemoveTagsFromResourceRequest(input)
  911. err := req.Send()
  912. return out, err
  913. }
  914. type AddTagsToResourceInput struct {
  915. _ struct{} `type:"structure"`
  916. // The Amazon Resource Name (ARN) of the AWS CloudHSM resource to tag.
  917. ResourceArn *string `type:"string" required:"true"`
  918. // One or more tags.
  919. TagList []*Tag `type:"list" required:"true"`
  920. }
  921. // String returns the string representation
  922. func (s AddTagsToResourceInput) String() string {
  923. return awsutil.Prettify(s)
  924. }
  925. // GoString returns the string representation
  926. func (s AddTagsToResourceInput) GoString() string {
  927. return s.String()
  928. }
  929. // Validate inspects the fields of the type to determine if they are valid.
  930. func (s *AddTagsToResourceInput) Validate() error {
  931. invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
  932. if s.ResourceArn == nil {
  933. invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  934. }
  935. if s.TagList == nil {
  936. invalidParams.Add(request.NewErrParamRequired("TagList"))
  937. }
  938. if s.TagList != nil {
  939. for i, v := range s.TagList {
  940. if v == nil {
  941. continue
  942. }
  943. if err := v.Validate(); err != nil {
  944. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams))
  945. }
  946. }
  947. }
  948. if invalidParams.Len() > 0 {
  949. return invalidParams
  950. }
  951. return nil
  952. }
  953. type AddTagsToResourceOutput struct {
  954. _ struct{} `type:"structure"`
  955. // The status of the operation.
  956. Status *string `type:"string" required:"true"`
  957. }
  958. // String returns the string representation
  959. func (s AddTagsToResourceOutput) String() string {
  960. return awsutil.Prettify(s)
  961. }
  962. // GoString returns the string representation
  963. func (s AddTagsToResourceOutput) GoString() string {
  964. return s.String()
  965. }
  966. // Contains the inputs for the CreateHapgRequest action.
  967. type CreateHapgInput struct {
  968. _ struct{} `type:"structure"`
  969. // The label of the new high-availability partition group.
  970. Label *string `type:"string" required:"true"`
  971. }
  972. // String returns the string representation
  973. func (s CreateHapgInput) String() string {
  974. return awsutil.Prettify(s)
  975. }
  976. // GoString returns the string representation
  977. func (s CreateHapgInput) GoString() string {
  978. return s.String()
  979. }
  980. // Validate inspects the fields of the type to determine if they are valid.
  981. func (s *CreateHapgInput) Validate() error {
  982. invalidParams := request.ErrInvalidParams{Context: "CreateHapgInput"}
  983. if s.Label == nil {
  984. invalidParams.Add(request.NewErrParamRequired("Label"))
  985. }
  986. if invalidParams.Len() > 0 {
  987. return invalidParams
  988. }
  989. return nil
  990. }
  991. // Contains the output of the CreateHAPartitionGroup action.
  992. type CreateHapgOutput struct {
  993. _ struct{} `type:"structure"`
  994. // The ARN of the high-availability partition group.
  995. HapgArn *string `type:"string"`
  996. }
  997. // String returns the string representation
  998. func (s CreateHapgOutput) String() string {
  999. return awsutil.Prettify(s)
  1000. }
  1001. // GoString returns the string representation
  1002. func (s CreateHapgOutput) GoString() string {
  1003. return s.String()
  1004. }
  1005. // Contains the inputs for the CreateHsm operation.
  1006. type CreateHsmInput struct {
  1007. _ struct{} `locationName:"CreateHsmRequest" type:"structure"`
  1008. // A user-defined token to ensure idempotence. Subsequent calls to this operation
  1009. // with the same token will be ignored.
  1010. ClientToken *string `locationName:"ClientToken" type:"string"`
  1011. // The IP address to assign to the HSM's ENI.
  1012. //
  1013. // If an IP address is not specified, an IP address will be randomly chosen
  1014. // from the CIDR range of the subnet.
  1015. EniIp *string `locationName:"EniIp" type:"string"`
  1016. // The external ID from IamRoleArn, if present.
  1017. ExternalId *string `locationName:"ExternalId" type:"string"`
  1018. // The ARN of an IAM role to enable the AWS CloudHSM service to allocate an
  1019. // ENI on your behalf.
  1020. IamRoleArn *string `locationName:"IamRoleArn" type:"string" required:"true"`
  1021. // The SSH public key to install on the HSM.
  1022. SshKey *string `locationName:"SshKey" type:"string" required:"true"`
  1023. // The identifier of the subnet in your VPC in which to place the HSM.
  1024. SubnetId *string `locationName:"SubnetId" type:"string" required:"true"`
  1025. // Specifies the type of subscription for the HSM.
  1026. //
  1027. // PRODUCTION - The HSM is being used in a production environment. TRIAL -
  1028. // The HSM is being used in a product trial.
  1029. SubscriptionType *string `locationName:"SubscriptionType" type:"string" required:"true" enum:"SubscriptionType"`
  1030. // The IP address for the syslog monitoring server. The AWS CloudHSM service
  1031. // only supports one syslog monitoring server.
  1032. SyslogIp *string `locationName:"SyslogIp" type:"string"`
  1033. }
  1034. // String returns the string representation
  1035. func (s CreateHsmInput) String() string {
  1036. return awsutil.Prettify(s)
  1037. }
  1038. // GoString returns the string representation
  1039. func (s CreateHsmInput) GoString() string {
  1040. return s.String()
  1041. }
  1042. // Validate inspects the fields of the type to determine if they are valid.
  1043. func (s *CreateHsmInput) Validate() error {
  1044. invalidParams := request.ErrInvalidParams{Context: "CreateHsmInput"}
  1045. if s.IamRoleArn == nil {
  1046. invalidParams.Add(request.NewErrParamRequired("IamRoleArn"))
  1047. }
  1048. if s.SshKey == nil {
  1049. invalidParams.Add(request.NewErrParamRequired("SshKey"))
  1050. }
  1051. if s.SubnetId == nil {
  1052. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  1053. }
  1054. if s.SubscriptionType == nil {
  1055. invalidParams.Add(request.NewErrParamRequired("SubscriptionType"))
  1056. }
  1057. if invalidParams.Len() > 0 {
  1058. return invalidParams
  1059. }
  1060. return nil
  1061. }
  1062. // Contains the output of the CreateHsm operation.
  1063. type CreateHsmOutput struct {
  1064. _ struct{} `type:"structure"`
  1065. // The ARN of the HSM.
  1066. HsmArn *string `type:"string"`
  1067. }
  1068. // String returns the string representation
  1069. func (s CreateHsmOutput) String() string {
  1070. return awsutil.Prettify(s)
  1071. }
  1072. // GoString returns the string representation
  1073. func (s CreateHsmOutput) GoString() string {
  1074. return s.String()
  1075. }
  1076. // Contains the inputs for the CreateLunaClient action.
  1077. type CreateLunaClientInput struct {
  1078. _ struct{} `type:"structure"`
  1079. // The contents of a Base64-Encoded X.509 v3 certificate to be installed on
  1080. // the HSMs used by this client.
  1081. Certificate *string `min:"600" type:"string" required:"true"`
  1082. // The label for the client.
  1083. Label *string `type:"string"`
  1084. }
  1085. // String returns the string representation
  1086. func (s CreateLunaClientInput) String() string {
  1087. return awsutil.Prettify(s)
  1088. }
  1089. // GoString returns the string representation
  1090. func (s CreateLunaClientInput) GoString() string {
  1091. return s.String()
  1092. }
  1093. // Validate inspects the fields of the type to determine if they are valid.
  1094. func (s *CreateLunaClientInput) Validate() error {
  1095. invalidParams := request.ErrInvalidParams{Context: "CreateLunaClientInput"}
  1096. if s.Certificate == nil {
  1097. invalidParams.Add(request.NewErrParamRequired("Certificate"))
  1098. }
  1099. if s.Certificate != nil && len(*s.Certificate) < 600 {
  1100. invalidParams.Add(request.NewErrParamMinLen("Certificate", 600))
  1101. }
  1102. if invalidParams.Len() > 0 {
  1103. return invalidParams
  1104. }
  1105. return nil
  1106. }
  1107. // Contains the output of the CreateLunaClient action.
  1108. type CreateLunaClientOutput struct {
  1109. _ struct{} `type:"structure"`
  1110. // The ARN of the client.
  1111. ClientArn *string `type:"string"`
  1112. }
  1113. // String returns the string representation
  1114. func (s CreateLunaClientOutput) String() string {
  1115. return awsutil.Prettify(s)
  1116. }
  1117. // GoString returns the string representation
  1118. func (s CreateLunaClientOutput) GoString() string {
  1119. return s.String()
  1120. }
  1121. // Contains the inputs for the DeleteHapg action.
  1122. type DeleteHapgInput struct {
  1123. _ struct{} `type:"structure"`
  1124. // The ARN of the high-availability partition group to delete.
  1125. HapgArn *string `type:"string" required:"true"`
  1126. }
  1127. // String returns the string representation
  1128. func (s DeleteHapgInput) String() string {
  1129. return awsutil.Prettify(s)
  1130. }
  1131. // GoString returns the string representation
  1132. func (s DeleteHapgInput) GoString() string {
  1133. return s.String()
  1134. }
  1135. // Validate inspects the fields of the type to determine if they are valid.
  1136. func (s *DeleteHapgInput) Validate() error {
  1137. invalidParams := request.ErrInvalidParams{Context: "DeleteHapgInput"}
  1138. if s.HapgArn == nil {
  1139. invalidParams.Add(request.NewErrParamRequired("HapgArn"))
  1140. }
  1141. if invalidParams.Len() > 0 {
  1142. return invalidParams
  1143. }
  1144. return nil
  1145. }
  1146. // Contains the output of the DeleteHapg action.
  1147. type DeleteHapgOutput struct {
  1148. _ struct{} `type:"structure"`
  1149. // The status of the action.
  1150. Status *string `type:"string" required:"true"`
  1151. }
  1152. // String returns the string representation
  1153. func (s DeleteHapgOutput) String() string {
  1154. return awsutil.Prettify(s)
  1155. }
  1156. // GoString returns the string representation
  1157. func (s DeleteHapgOutput) GoString() string {
  1158. return s.String()
  1159. }
  1160. // Contains the inputs for the DeleteHsm operation.
  1161. type DeleteHsmInput struct {
  1162. _ struct{} `locationName:"DeleteHsmRequest" type:"structure"`
  1163. // The ARN of the HSM to delete.
  1164. HsmArn *string `locationName:"HsmArn" type:"string" required:"true"`
  1165. }
  1166. // String returns the string representation
  1167. func (s DeleteHsmInput) String() string {
  1168. return awsutil.Prettify(s)
  1169. }
  1170. // GoString returns the string representation
  1171. func (s DeleteHsmInput) GoString() string {
  1172. return s.String()
  1173. }
  1174. // Validate inspects the fields of the type to determine if they are valid.
  1175. func (s *DeleteHsmInput) Validate() error {
  1176. invalidParams := request.ErrInvalidParams{Context: "DeleteHsmInput"}
  1177. if s.HsmArn == nil {
  1178. invalidParams.Add(request.NewErrParamRequired("HsmArn"))
  1179. }
  1180. if invalidParams.Len() > 0 {
  1181. return invalidParams
  1182. }
  1183. return nil
  1184. }
  1185. // Contains the output of the DeleteHsm operation.
  1186. type DeleteHsmOutput struct {
  1187. _ struct{} `type:"structure"`
  1188. // The status of the operation.
  1189. Status *string `type:"string" required:"true"`
  1190. }
  1191. // String returns the string representation
  1192. func (s DeleteHsmOutput) String() string {
  1193. return awsutil.Prettify(s)
  1194. }
  1195. // GoString returns the string representation
  1196. func (s DeleteHsmOutput) GoString() string {
  1197. return s.String()
  1198. }
  1199. type DeleteLunaClientInput struct {
  1200. _ struct{} `type:"structure"`
  1201. // The ARN of the client to delete.
  1202. ClientArn *string `type:"string" required:"true"`
  1203. }
  1204. // String returns the string representation
  1205. func (s DeleteLunaClientInput) String() string {
  1206. return awsutil.Prettify(s)
  1207. }
  1208. // GoString returns the string representation
  1209. func (s DeleteLunaClientInput) GoString() string {
  1210. return s.String()
  1211. }
  1212. // Validate inspects the fields of the type to determine if they are valid.
  1213. func (s *DeleteLunaClientInput) Validate() error {
  1214. invalidParams := request.ErrInvalidParams{Context: "DeleteLunaClientInput"}
  1215. if s.ClientArn == nil {
  1216. invalidParams.Add(request.NewErrParamRequired("ClientArn"))
  1217. }
  1218. if invalidParams.Len() > 0 {
  1219. return invalidParams
  1220. }
  1221. return nil
  1222. }
  1223. type DeleteLunaClientOutput struct {
  1224. _ struct{} `type:"structure"`
  1225. // The status of the action.
  1226. Status *string `type:"string" required:"true"`
  1227. }
  1228. // String returns the string representation
  1229. func (s DeleteLunaClientOutput) String() string {
  1230. return awsutil.Prettify(s)
  1231. }
  1232. // GoString returns the string representation
  1233. func (s DeleteLunaClientOutput) GoString() string {
  1234. return s.String()
  1235. }
  1236. // Contains the inputs for the DescribeHapg action.
  1237. type DescribeHapgInput struct {
  1238. _ struct{} `type:"structure"`
  1239. // The ARN of the high-availability partition group to describe.
  1240. HapgArn *string `type:"string" required:"true"`
  1241. }
  1242. // String returns the string representation
  1243. func (s DescribeHapgInput) String() string {
  1244. return awsutil.Prettify(s)
  1245. }
  1246. // GoString returns the string representation
  1247. func (s DescribeHapgInput) GoString() string {
  1248. return s.String()
  1249. }
  1250. // Validate inspects the fields of the type to determine if they are valid.
  1251. func (s *DescribeHapgInput) Validate() error {
  1252. invalidParams := request.ErrInvalidParams{Context: "DescribeHapgInput"}
  1253. if s.HapgArn == nil {
  1254. invalidParams.Add(request.NewErrParamRequired("HapgArn"))
  1255. }
  1256. if invalidParams.Len() > 0 {
  1257. return invalidParams
  1258. }
  1259. return nil
  1260. }
  1261. // Contains the output of the DescribeHapg action.
  1262. type DescribeHapgOutput struct {
  1263. _ struct{} `type:"structure"`
  1264. // The ARN of the high-availability partition group.
  1265. HapgArn *string `type:"string"`
  1266. // The serial number of the high-availability partition group.
  1267. HapgSerial *string `type:"string"`
  1268. // Contains a list of ARNs that identify the HSMs.
  1269. HsmsLastActionFailed []*string `type:"list"`
  1270. // Contains a list of ARNs that identify the HSMs.
  1271. HsmsPendingDeletion []*string `type:"list"`
  1272. // Contains a list of ARNs that identify the HSMs.
  1273. HsmsPendingRegistration []*string `type:"list"`
  1274. // The label for the high-availability partition group.
  1275. Label *string `type:"string"`
  1276. // The date and time the high-availability partition group was last modified.
  1277. LastModifiedTimestamp *string `type:"string"`
  1278. // The list of partition serial numbers that belong to the high-availability
  1279. // partition group.
  1280. PartitionSerialList []*string `type:"list"`
  1281. // The state of the high-availability partition group.
  1282. State *string `type:"string" enum:"CloudHsmObjectState"`
  1283. }
  1284. // String returns the string representation
  1285. func (s DescribeHapgOutput) String() string {
  1286. return awsutil.Prettify(s)
  1287. }
  1288. // GoString returns the string representation
  1289. func (s DescribeHapgOutput) GoString() string {
  1290. return s.String()
  1291. }
  1292. // Contains the inputs for the DescribeHsm operation.
  1293. type DescribeHsmInput struct {
  1294. _ struct{} `type:"structure"`
  1295. // The ARN of the HSM. Either the HsmArn or the SerialNumber parameter must
  1296. // be specified.
  1297. HsmArn *string `type:"string"`
  1298. // The serial number of the HSM. Either the HsmArn or the HsmSerialNumber parameter
  1299. // must be specified.
  1300. HsmSerialNumber *string `type:"string"`
  1301. }
  1302. // String returns the string representation
  1303. func (s DescribeHsmInput) String() string {
  1304. return awsutil.Prettify(s)
  1305. }
  1306. // GoString returns the string representation
  1307. func (s DescribeHsmInput) GoString() string {
  1308. return s.String()
  1309. }
  1310. // Contains the output of the DescribeHsm operation.
  1311. type DescribeHsmOutput struct {
  1312. _ struct{} `type:"structure"`
  1313. // The Availability Zone that the HSM is in.
  1314. AvailabilityZone *string `type:"string"`
  1315. // The identifier of the elastic network interface (ENI) attached to the HSM.
  1316. EniId *string `type:"string"`
  1317. // The IP address assigned to the HSM's ENI.
  1318. EniIp *string `type:"string"`
  1319. // The ARN of the HSM.
  1320. HsmArn *string `type:"string"`
  1321. // The HSM model type.
  1322. HsmType *string `type:"string"`
  1323. // The ARN of the IAM role assigned to the HSM.
  1324. IamRoleArn *string `type:"string"`
  1325. // The list of partitions on the HSM.
  1326. Partitions []*string `type:"list"`
  1327. // The serial number of the HSM.
  1328. SerialNumber *string `type:"string"`
  1329. // The date and time that the server certificate was last updated.
  1330. ServerCertLastUpdated *string `type:"string"`
  1331. // The URI of the certificate server.
  1332. ServerCertUri *string `type:"string"`
  1333. // The HSM software version.
  1334. SoftwareVersion *string `type:"string"`
  1335. // The date and time that the SSH key was last updated.
  1336. SshKeyLastUpdated *string `type:"string"`
  1337. // The public SSH key.
  1338. SshPublicKey *string `type:"string"`
  1339. // The status of the HSM.
  1340. Status *string `type:"string" enum:"HsmStatus"`
  1341. // Contains additional information about the status of the HSM.
  1342. StatusDetails *string `type:"string"`
  1343. // The identifier of the subnet that the HSM is in.
  1344. SubnetId *string `type:"string"`
  1345. // The subscription end date.
  1346. SubscriptionEndDate *string `type:"string"`
  1347. // The subscription start date.
  1348. SubscriptionStartDate *string `type:"string"`
  1349. // Specifies the type of subscription for the HSM.
  1350. //
  1351. // PRODUCTION - The HSM is being used in a production environment. TRIAL -
  1352. // The HSM is being used in a product trial.
  1353. SubscriptionType *string `type:"string" enum:"SubscriptionType"`
  1354. // The name of the HSM vendor.
  1355. VendorName *string `type:"string"`
  1356. // The identifier of the VPC that the HSM is in.
  1357. VpcId *string `type:"string"`
  1358. }
  1359. // String returns the string representation
  1360. func (s DescribeHsmOutput) String() string {
  1361. return awsutil.Prettify(s)
  1362. }
  1363. // GoString returns the string representation
  1364. func (s DescribeHsmOutput) GoString() string {
  1365. return s.String()
  1366. }
  1367. type DescribeLunaClientInput struct {
  1368. _ struct{} `type:"structure"`
  1369. // The certificate fingerprint.
  1370. CertificateFingerprint *string `type:"string"`
  1371. // The ARN of the client.
  1372. ClientArn *string `type:"string"`
  1373. }
  1374. // String returns the string representation
  1375. func (s DescribeLunaClientInput) String() string {
  1376. return awsutil.Prettify(s)
  1377. }
  1378. // GoString returns the string representation
  1379. func (s DescribeLunaClientInput) GoString() string {
  1380. return s.String()
  1381. }
  1382. type DescribeLunaClientOutput struct {
  1383. _ struct{} `type:"structure"`
  1384. // The certificate installed on the HSMs used by this client.
  1385. Certificate *string `min:"600" type:"string"`
  1386. // The certificate fingerprint.
  1387. CertificateFingerprint *string `type:"string"`
  1388. // The ARN of the client.
  1389. ClientArn *string `type:"string"`
  1390. // The label of the client.
  1391. Label *string `type:"string"`
  1392. // The date and time the client was last modified.
  1393. LastModifiedTimestamp *string `type:"string"`
  1394. }
  1395. // String returns the string representation
  1396. func (s DescribeLunaClientOutput) String() string {
  1397. return awsutil.Prettify(s)
  1398. }
  1399. // GoString returns the string representation
  1400. func (s DescribeLunaClientOutput) GoString() string {
  1401. return s.String()
  1402. }
  1403. type GetConfigInput struct {
  1404. _ struct{} `type:"structure"`
  1405. // The ARN of the client.
  1406. ClientArn *string `type:"string" required:"true"`
  1407. // The client version.
  1408. ClientVersion *string `type:"string" required:"true" enum:"ClientVersion"`
  1409. // A list of ARNs that identify the high-availability partition groups that
  1410. // are associated with the client.
  1411. HapgList []*string `type:"list" required:"true"`
  1412. }
  1413. // String returns the string representation
  1414. func (s GetConfigInput) String() string {
  1415. return awsutil.Prettify(s)
  1416. }
  1417. // GoString returns the string representation
  1418. func (s GetConfigInput) GoString() string {
  1419. return s.String()
  1420. }
  1421. // Validate inspects the fields of the type to determine if they are valid.
  1422. func (s *GetConfigInput) Validate() error {
  1423. invalidParams := request.ErrInvalidParams{Context: "GetConfigInput"}
  1424. if s.ClientArn == nil {
  1425. invalidParams.Add(request.NewErrParamRequired("ClientArn"))
  1426. }
  1427. if s.ClientVersion == nil {
  1428. invalidParams.Add(request.NewErrParamRequired("ClientVersion"))
  1429. }
  1430. if s.HapgList == nil {
  1431. invalidParams.Add(request.NewErrParamRequired("HapgList"))
  1432. }
  1433. if invalidParams.Len() > 0 {
  1434. return invalidParams
  1435. }
  1436. return nil
  1437. }
  1438. type GetConfigOutput struct {
  1439. _ struct{} `type:"structure"`
  1440. // The certificate file containing the server.pem files of the HSMs.
  1441. ConfigCred *string `type:"string"`
  1442. // The chrystoki.conf configuration file.
  1443. ConfigFile *string `type:"string"`
  1444. // The type of credentials.
  1445. ConfigType *string `type:"string"`
  1446. }
  1447. // String returns the string representation
  1448. func (s GetConfigOutput) String() string {
  1449. return awsutil.Prettify(s)
  1450. }
  1451. // GoString returns the string representation
  1452. func (s GetConfigOutput) GoString() string {
  1453. return s.String()
  1454. }
  1455. // Contains the inputs for the ListAvailableZones action.
  1456. type ListAvailableZonesInput struct {
  1457. _ struct{} `type:"structure"`
  1458. }
  1459. // String returns the string representation
  1460. func (s ListAvailableZonesInput) String() string {
  1461. return awsutil.Prettify(s)
  1462. }
  1463. // GoString returns the string representation
  1464. func (s ListAvailableZonesInput) GoString() string {
  1465. return s.String()
  1466. }
  1467. type ListAvailableZonesOutput struct {
  1468. _ struct{} `type:"structure"`
  1469. // The list of Availability Zones that have available AWS CloudHSM capacity.
  1470. AZList []*string `type:"list"`
  1471. }
  1472. // String returns the string representation
  1473. func (s ListAvailableZonesOutput) String() string {
  1474. return awsutil.Prettify(s)
  1475. }
  1476. // GoString returns the string representation
  1477. func (s ListAvailableZonesOutput) GoString() string {
  1478. return s.String()
  1479. }
  1480. type ListHapgsInput struct {
  1481. _ struct{} `type:"structure"`
  1482. // The NextToken value from a previous call to ListHapgs. Pass null if this
  1483. // is the first call.
  1484. NextToken *string `type:"string"`
  1485. }
  1486. // String returns the string representation
  1487. func (s ListHapgsInput) String() string {
  1488. return awsutil.Prettify(s)
  1489. }
  1490. // GoString returns the string representation
  1491. func (s ListHapgsInput) GoString() string {
  1492. return s.String()
  1493. }
  1494. type ListHapgsOutput struct {
  1495. _ struct{} `type:"structure"`
  1496. // The list of high-availability partition groups.
  1497. HapgList []*string `type:"list" required:"true"`
  1498. // If not null, more results are available. Pass this value to ListHapgs to
  1499. // retrieve the next set of items.
  1500. NextToken *string `type:"string"`
  1501. }
  1502. // String returns the string representation
  1503. func (s ListHapgsOutput) String() string {
  1504. return awsutil.Prettify(s)
  1505. }
  1506. // GoString returns the string representation
  1507. func (s ListHapgsOutput) GoString() string {
  1508. return s.String()
  1509. }
  1510. type ListHsmsInput struct {
  1511. _ struct{} `type:"structure"`
  1512. // The NextToken value from a previous call to ListHsms. Pass null if this is
  1513. // the first call.
  1514. NextToken *string `type:"string"`
  1515. }
  1516. // String returns the string representation
  1517. func (s ListHsmsInput) String() string {
  1518. return awsutil.Prettify(s)
  1519. }
  1520. // GoString returns the string representation
  1521. func (s ListHsmsInput) GoString() string {
  1522. return s.String()
  1523. }
  1524. // Contains the output of the ListHsms operation.
  1525. type ListHsmsOutput struct {
  1526. _ struct{} `type:"structure"`
  1527. // The list of ARNs that identify the HSMs.
  1528. HsmList []*string `type:"list"`
  1529. // If not null, more results are available. Pass this value to ListHsms to retrieve
  1530. // the next set of items.
  1531. NextToken *string `type:"string"`
  1532. }
  1533. // String returns the string representation
  1534. func (s ListHsmsOutput) String() string {
  1535. return awsutil.Prettify(s)
  1536. }
  1537. // GoString returns the string representation
  1538. func (s ListHsmsOutput) GoString() string {
  1539. return s.String()
  1540. }
  1541. type ListLunaClientsInput struct {
  1542. _ struct{} `type:"structure"`
  1543. // The NextToken value from a previous call to ListLunaClients. Pass null if
  1544. // this is the first call.
  1545. NextToken *string `type:"string"`
  1546. }
  1547. // String returns the string representation
  1548. func (s ListLunaClientsInput) String() string {
  1549. return awsutil.Prettify(s)
  1550. }
  1551. // GoString returns the string representation
  1552. func (s ListLunaClientsInput) GoString() string {
  1553. return s.String()
  1554. }
  1555. type ListLunaClientsOutput struct {
  1556. _ struct{} `type:"structure"`
  1557. // The list of clients.
  1558. ClientList []*string `type:"list" required:"true"`
  1559. // If not null, more results are available. Pass this to ListLunaClients to
  1560. // retrieve the next set of items.
  1561. NextToken *string `type:"string"`
  1562. }
  1563. // String returns the string representation
  1564. func (s ListLunaClientsOutput) String() string {
  1565. return awsutil.Prettify(s)
  1566. }
  1567. // GoString returns the string representation
  1568. func (s ListLunaClientsOutput) GoString() string {
  1569. return s.String()
  1570. }
  1571. type ListTagsForResourceInput struct {
  1572. _ struct{} `type:"structure"`
  1573. // The Amazon Resource Name (ARN) of the AWS CloudHSM resource.
  1574. ResourceArn *string `type:"string" required:"true"`
  1575. }
  1576. // String returns the string representation
  1577. func (s ListTagsForResourceInput) String() string {
  1578. return awsutil.Prettify(s)
  1579. }
  1580. // GoString returns the string representation
  1581. func (s ListTagsForResourceInput) GoString() string {
  1582. return s.String()
  1583. }
  1584. // Validate inspects the fields of the type to determine if they are valid.
  1585. func (s *ListTagsForResourceInput) Validate() error {
  1586. invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  1587. if s.ResourceArn == nil {
  1588. invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  1589. }
  1590. if invalidParams.Len() > 0 {
  1591. return invalidParams
  1592. }
  1593. return nil
  1594. }
  1595. type ListTagsForResourceOutput struct {
  1596. _ struct{} `type:"structure"`
  1597. // One or more tags.
  1598. TagList []*Tag `type:"list" required:"true"`
  1599. }
  1600. // String returns the string representation
  1601. func (s ListTagsForResourceOutput) String() string {
  1602. return awsutil.Prettify(s)
  1603. }
  1604. // GoString returns the string representation
  1605. func (s ListTagsForResourceOutput) GoString() string {
  1606. return s.String()
  1607. }
  1608. type ModifyHapgInput struct {
  1609. _ struct{} `type:"structure"`
  1610. // The ARN of the high-availability partition group to modify.
  1611. HapgArn *string `type:"string" required:"true"`
  1612. // The new label for the high-availability partition group.
  1613. Label *string `type:"string"`
  1614. // The list of partition serial numbers to make members of the high-availability
  1615. // partition group.
  1616. PartitionSerialList []*string `type:"list"`
  1617. }
  1618. // String returns the string representation
  1619. func (s ModifyHapgInput) String() string {
  1620. return awsutil.Prettify(s)
  1621. }
  1622. // GoString returns the string representation
  1623. func (s ModifyHapgInput) GoString() string {
  1624. return s.String()
  1625. }
  1626. // Validate inspects the fields of the type to determine if they are valid.
  1627. func (s *ModifyHapgInput) Validate() error {
  1628. invalidParams := request.ErrInvalidParams{Context: "ModifyHapgInput"}
  1629. if s.HapgArn == nil {
  1630. invalidParams.Add(request.NewErrParamRequired("HapgArn"))
  1631. }
  1632. if invalidParams.Len() > 0 {
  1633. return invalidParams
  1634. }
  1635. return nil
  1636. }
  1637. type ModifyHapgOutput struct {
  1638. _ struct{} `type:"structure"`
  1639. // The ARN of the high-availability partition group.
  1640. HapgArn *string `type:"string"`
  1641. }
  1642. // String returns the string representation
  1643. func (s ModifyHapgOutput) String() string {
  1644. return awsutil.Prettify(s)
  1645. }
  1646. // GoString returns the string representation
  1647. func (s ModifyHapgOutput) GoString() string {
  1648. return s.String()
  1649. }
  1650. // Contains the inputs for the ModifyHsm operation.
  1651. type ModifyHsmInput struct {
  1652. _ struct{} `locationName:"ModifyHsmRequest" type:"structure"`
  1653. // The new IP address for the elastic network interface (ENI) attached to the
  1654. // HSM.
  1655. //
  1656. // If the HSM is moved to a different subnet, and an IP address is not specified,
  1657. // an IP address will be randomly chosen from the CIDR range of the new subnet.
  1658. EniIp *string `locationName:"EniIp" type:"string"`
  1659. // The new external ID.
  1660. ExternalId *string `locationName:"ExternalId" type:"string"`
  1661. // The ARN of the HSM to modify.
  1662. HsmArn *string `locationName:"HsmArn" type:"string" required:"true"`
  1663. // The new IAM role ARN.
  1664. IamRoleArn *string `locationName:"IamRoleArn" type:"string"`
  1665. // The new identifier of the subnet that the HSM is in. The new subnet must
  1666. // be in the same Availability Zone as the current subnet.
  1667. SubnetId *string `locationName:"SubnetId" type:"string"`
  1668. // The new IP address for the syslog monitoring server. The AWS CloudHSM service
  1669. // only supports one syslog monitoring server.
  1670. SyslogIp *string `locationName:"SyslogIp" type:"string"`
  1671. }
  1672. // String returns the string representation
  1673. func (s ModifyHsmInput) String() string {
  1674. return awsutil.Prettify(s)
  1675. }
  1676. // GoString returns the string representation
  1677. func (s ModifyHsmInput) GoString() string {
  1678. return s.String()
  1679. }
  1680. // Validate inspects the fields of the type to determine if they are valid.
  1681. func (s *ModifyHsmInput) Validate() error {
  1682. invalidParams := request.ErrInvalidParams{Context: "ModifyHsmInput"}
  1683. if s.HsmArn == nil {
  1684. invalidParams.Add(request.NewErrParamRequired("HsmArn"))
  1685. }
  1686. if invalidParams.Len() > 0 {
  1687. return invalidParams
  1688. }
  1689. return nil
  1690. }
  1691. // Contains the output of the ModifyHsm operation.
  1692. type ModifyHsmOutput struct {
  1693. _ struct{} `type:"structure"`
  1694. // The ARN of the HSM.
  1695. HsmArn *string `type:"string"`
  1696. }
  1697. // String returns the string representation
  1698. func (s ModifyHsmOutput) String() string {
  1699. return awsutil.Prettify(s)
  1700. }
  1701. // GoString returns the string representation
  1702. func (s ModifyHsmOutput) GoString() string {
  1703. return s.String()
  1704. }
  1705. type ModifyLunaClientInput struct {
  1706. _ struct{} `type:"structure"`
  1707. // The new certificate for the client.
  1708. Certificate *string `min:"600" type:"string" required:"true"`
  1709. // The ARN of the client.
  1710. ClientArn *string `type:"string" required:"true"`
  1711. }
  1712. // String returns the string representation
  1713. func (s ModifyLunaClientInput) String() string {
  1714. return awsutil.Prettify(s)
  1715. }
  1716. // GoString returns the string representation
  1717. func (s ModifyLunaClientInput) GoString() string {
  1718. return s.String()
  1719. }
  1720. // Validate inspects the fields of the type to determine if they are valid.
  1721. func (s *ModifyLunaClientInput) Validate() error {
  1722. invalidParams := request.ErrInvalidParams{Context: "ModifyLunaClientInput"}
  1723. if s.Certificate == nil {
  1724. invalidParams.Add(request.NewErrParamRequired("Certificate"))
  1725. }
  1726. if s.Certificate != nil && len(*s.Certificate) < 600 {
  1727. invalidParams.Add(request.NewErrParamMinLen("Certificate", 600))
  1728. }
  1729. if s.ClientArn == nil {
  1730. invalidParams.Add(request.NewErrParamRequired("ClientArn"))
  1731. }
  1732. if invalidParams.Len() > 0 {
  1733. return invalidParams
  1734. }
  1735. return nil
  1736. }
  1737. type ModifyLunaClientOutput struct {
  1738. _ struct{} `type:"structure"`
  1739. // The ARN of the client.
  1740. ClientArn *string `type:"string"`
  1741. }
  1742. // String returns the string representation
  1743. func (s ModifyLunaClientOutput) String() string {
  1744. return awsutil.Prettify(s)
  1745. }
  1746. // GoString returns the string representation
  1747. func (s ModifyLunaClientOutput) GoString() string {
  1748. return s.String()
  1749. }
  1750. type RemoveTagsFromResourceInput struct {
  1751. _ struct{} `type:"structure"`
  1752. // The Amazon Resource Name (ARN) of the AWS CloudHSM resource.
  1753. ResourceArn *string `type:"string" required:"true"`
  1754. // The tag key or keys to remove.
  1755. //
  1756. // Specify only the tag key to remove (not the value). To overwrite the value
  1757. // for an existing tag, use AddTagsToResource.
  1758. TagKeyList []*string `type:"list" required:"true"`
  1759. }
  1760. // String returns the string representation
  1761. func (s RemoveTagsFromResourceInput) String() string {
  1762. return awsutil.Prettify(s)
  1763. }
  1764. // GoString returns the string representation
  1765. func (s RemoveTagsFromResourceInput) GoString() string {
  1766. return s.String()
  1767. }
  1768. // Validate inspects the fields of the type to determine if they are valid.
  1769. func (s *RemoveTagsFromResourceInput) Validate() error {
  1770. invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
  1771. if s.ResourceArn == nil {
  1772. invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  1773. }
  1774. if s.TagKeyList == nil {
  1775. invalidParams.Add(request.NewErrParamRequired("TagKeyList"))
  1776. }
  1777. if invalidParams.Len() > 0 {
  1778. return invalidParams
  1779. }
  1780. return nil
  1781. }
  1782. type RemoveTagsFromResourceOutput struct {
  1783. _ struct{} `type:"structure"`
  1784. // The status of the operation.
  1785. Status *string `type:"string" required:"true"`
  1786. }
  1787. // String returns the string representation
  1788. func (s RemoveTagsFromResourceOutput) String() string {
  1789. return awsutil.Prettify(s)
  1790. }
  1791. // GoString returns the string representation
  1792. func (s RemoveTagsFromResourceOutput) GoString() string {
  1793. return s.String()
  1794. }
  1795. // A key-value pair that identifies or specifies metadata about an AWS CloudHSM
  1796. // resource.
  1797. type Tag struct {
  1798. _ struct{} `type:"structure"`
  1799. // The key of the tag.
  1800. Key *string `min:"1" type:"string" required:"true"`
  1801. // The value of the tag.
  1802. Value *string `type:"string" required:"true"`
  1803. }
  1804. // String returns the string representation
  1805. func (s Tag) String() string {
  1806. return awsutil.Prettify(s)
  1807. }
  1808. // GoString returns the string representation
  1809. func (s Tag) GoString() string {
  1810. return s.String()
  1811. }
  1812. // Validate inspects the fields of the type to determine if they are valid.
  1813. func (s *Tag) Validate() error {
  1814. invalidParams := request.ErrInvalidParams{Context: "Tag"}
  1815. if s.Key == nil {
  1816. invalidParams.Add(request.NewErrParamRequired("Key"))
  1817. }
  1818. if s.Key != nil && len(*s.Key) < 1 {
  1819. invalidParams.Add(request.NewErrParamMinLen("Key", 1))
  1820. }
  1821. if s.Value == nil {
  1822. invalidParams.Add(request.NewErrParamRequired("Value"))
  1823. }
  1824. if invalidParams.Len() > 0 {
  1825. return invalidParams
  1826. }
  1827. return nil
  1828. }
  1829. const (
  1830. // @enum ClientVersion
  1831. ClientVersion51 = "5.1"
  1832. // @enum ClientVersion
  1833. ClientVersion53 = "5.3"
  1834. )
  1835. const (
  1836. // @enum CloudHsmObjectState
  1837. CloudHsmObjectStateReady = "READY"
  1838. // @enum CloudHsmObjectState
  1839. CloudHsmObjectStateUpdating = "UPDATING"
  1840. // @enum CloudHsmObjectState
  1841. CloudHsmObjectStateDegraded = "DEGRADED"
  1842. )
  1843. const (
  1844. // @enum HsmStatus
  1845. HsmStatusPending = "PENDING"
  1846. // @enum HsmStatus
  1847. HsmStatusRunning = "RUNNING"
  1848. // @enum HsmStatus
  1849. HsmStatusUpdating = "UPDATING"
  1850. // @enum HsmStatus
  1851. HsmStatusSuspended = "SUSPENDED"
  1852. // @enum HsmStatus
  1853. HsmStatusTerminating = "TERMINATING"
  1854. // @enum HsmStatus
  1855. HsmStatusTerminated = "TERMINATED"
  1856. // @enum HsmStatus
  1857. HsmStatusDegraded = "DEGRADED"
  1858. )
  1859. // Specifies the type of subscription for the HSM.
  1860. //
  1861. // PRODUCTION - The HSM is being used in a production environment. TRIAL -
  1862. // The HSM is being used in a product trial.
  1863. const (
  1864. // @enum SubscriptionType
  1865. SubscriptionTypeProduction = "PRODUCTION"
  1866. )