api.go 149 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828
  1. // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
  2. // Package glacier provides a client for Amazon Glacier.
  3. package glacier
  4. import (
  5. "io"
  6. "github.com/aws/aws-sdk-go/aws/awsutil"
  7. "github.com/aws/aws-sdk-go/aws/request"
  8. )
  9. const opAbortMultipartUpload = "AbortMultipartUpload"
  10. // AbortMultipartUploadRequest generates a request for the AbortMultipartUpload operation.
  11. func (c *Glacier) AbortMultipartUploadRequest(input *AbortMultipartUploadInput) (req *request.Request, output *AbortMultipartUploadOutput) {
  12. op := &request.Operation{
  13. Name: opAbortMultipartUpload,
  14. HTTPMethod: "DELETE",
  15. HTTPPath: "/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}",
  16. }
  17. if input == nil {
  18. input = &AbortMultipartUploadInput{}
  19. }
  20. req = c.newRequest(op, input, output)
  21. output = &AbortMultipartUploadOutput{}
  22. req.Data = output
  23. return
  24. }
  25. // This operation aborts a multipart upload identified by the upload ID.
  26. //
  27. // After the Abort Multipart Upload request succeeds, you cannot upload any
  28. // more parts to the multipart upload or complete the multipart upload. Aborting
  29. // a completed upload fails. However, aborting an already-aborted upload will
  30. // succeed, for a short time. For more information about uploading a part and
  31. // completing a multipart upload, see UploadMultipartPart and CompleteMultipartUpload.
  32. //
  33. // This operation is idempotent.
  34. //
  35. // An AWS account has full permission to perform all operations (actions).
  36. // However, AWS Identity and Access Management (IAM) users don't have any permissions
  37. // by default. You must grant them explicit permission to perform specific actions.
  38. // For more information, see Access Control Using AWS Identity and Access Management
  39. // (IAM) (http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html).
  40. //
  41. // For conceptual information and underlying REST API, go to Working with
  42. // Archives in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-archives.html)
  43. // and Abort Multipart Upload (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-abort-upload.html)
  44. // in the Amazon Glacier Developer Guide.
  45. func (c *Glacier) AbortMultipartUpload(input *AbortMultipartUploadInput) (*AbortMultipartUploadOutput, error) {
  46. req, out := c.AbortMultipartUploadRequest(input)
  47. err := req.Send()
  48. return out, err
  49. }
  50. const opAbortVaultLock = "AbortVaultLock"
  51. // AbortVaultLockRequest generates a request for the AbortVaultLock operation.
  52. func (c *Glacier) AbortVaultLockRequest(input *AbortVaultLockInput) (req *request.Request, output *AbortVaultLockOutput) {
  53. op := &request.Operation{
  54. Name: opAbortVaultLock,
  55. HTTPMethod: "DELETE",
  56. HTTPPath: "/{accountId}/vaults/{vaultName}/lock-policy",
  57. }
  58. if input == nil {
  59. input = &AbortVaultLockInput{}
  60. }
  61. req = c.newRequest(op, input, output)
  62. output = &AbortVaultLockOutput{}
  63. req.Data = output
  64. return
  65. }
  66. // This operation aborts the vault locking process if the vault lock is not
  67. // in the Locked state. If the vault lock is in the Locked state when this operation
  68. // is requested, the operation returns an AccessDeniedException error. Aborting
  69. // the vault locking process removes the vault lock policy from the specified
  70. // vault.
  71. //
  72. // A vault lock is put into the InProgress state by calling InitiateVaultLock.
  73. // A vault lock is put into the Locked state by calling CompleteVaultLock. You
  74. // can get the state of a vault lock by calling GetVaultLock. For more information
  75. // about the vault locking process, see Amazon Glacier Vault Lock (http://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock.html).
  76. // For more information about vault lock policies, see Amazon Glacier Access
  77. // Control with Vault Lock Policies (http://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock-policy.html).
  78. //
  79. // This operation is idempotent. You can successfully invoke this operation
  80. // multiple times, if the vault lock is in the InProgress state or if there
  81. // is no policy associated with the vault.
  82. func (c *Glacier) AbortVaultLock(input *AbortVaultLockInput) (*AbortVaultLockOutput, error) {
  83. req, out := c.AbortVaultLockRequest(input)
  84. err := req.Send()
  85. return out, err
  86. }
  87. const opAddTagsToVault = "AddTagsToVault"
  88. // AddTagsToVaultRequest generates a request for the AddTagsToVault operation.
  89. func (c *Glacier) AddTagsToVaultRequest(input *AddTagsToVaultInput) (req *request.Request, output *AddTagsToVaultOutput) {
  90. op := &request.Operation{
  91. Name: opAddTagsToVault,
  92. HTTPMethod: "POST",
  93. HTTPPath: "/{accountId}/vaults/{vaultName}/tags?operation=add",
  94. }
  95. if input == nil {
  96. input = &AddTagsToVaultInput{}
  97. }
  98. req = c.newRequest(op, input, output)
  99. output = &AddTagsToVaultOutput{}
  100. req.Data = output
  101. return
  102. }
  103. // This operation adds the specified tags to a vault. Each tag is composed of
  104. // a key and a value. Each vault can have up to 10 tags. If your request would
  105. // cause the tag limit for the vault to be exceeded, the operation throws the
  106. // LimitExceededException error. If a tag already exists on the vault under
  107. // a specified key, the existing key value will be overwritten. For more information
  108. // about tags, see Tagging Amazon Glacier Resources (http://docs.aws.amazon.com/amazonglacier/latest/dev/tagging.html).
  109. func (c *Glacier) AddTagsToVault(input *AddTagsToVaultInput) (*AddTagsToVaultOutput, error) {
  110. req, out := c.AddTagsToVaultRequest(input)
  111. err := req.Send()
  112. return out, err
  113. }
  114. const opCompleteMultipartUpload = "CompleteMultipartUpload"
  115. // CompleteMultipartUploadRequest generates a request for the CompleteMultipartUpload operation.
  116. func (c *Glacier) CompleteMultipartUploadRequest(input *CompleteMultipartUploadInput) (req *request.Request, output *ArchiveCreationOutput) {
  117. op := &request.Operation{
  118. Name: opCompleteMultipartUpload,
  119. HTTPMethod: "POST",
  120. HTTPPath: "/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}",
  121. }
  122. if input == nil {
  123. input = &CompleteMultipartUploadInput{}
  124. }
  125. req = c.newRequest(op, input, output)
  126. output = &ArchiveCreationOutput{}
  127. req.Data = output
  128. return
  129. }
  130. // You call this operation to inform Amazon Glacier that all the archive parts
  131. // have been uploaded and that Amazon Glacier can now assemble the archive from
  132. // the uploaded parts. After assembling and saving the archive to the vault,
  133. // Amazon Glacier returns the URI path of the newly created archive resource.
  134. // Using the URI path, you can then access the archive. After you upload an
  135. // archive, you should save the archive ID returned to retrieve the archive
  136. // at a later point. You can also get the vault inventory to obtain a list of
  137. // archive IDs in a vault. For more information, see InitiateJob.
  138. //
  139. // In the request, you must include the computed SHA256 tree hash of the entire
  140. // archive you have uploaded. For information about computing a SHA256 tree
  141. // hash, see Computing Checksums (http://docs.aws.amazon.com/amazonglacier/latest/dev/checksum-calculations.html).
  142. // On the server side, Amazon Glacier also constructs the SHA256 tree hash of
  143. // the assembled archive. If the values match, Amazon Glacier saves the archive
  144. // to the vault; otherwise, it returns an error, and the operation fails. The
  145. // ListParts operation returns a list of parts uploaded for a specific multipart
  146. // upload. It includes checksum information for each uploaded part that can
  147. // be used to debug a bad checksum issue.
  148. //
  149. // Additionally, Amazon Glacier also checks for any missing content ranges
  150. // when assembling the archive, if missing content ranges are found, Amazon
  151. // Glacier returns an error and the operation fails.
  152. //
  153. // Complete Multipart Upload is an idempotent operation. After your first successful
  154. // complete multipart upload, if you call the operation again within a short
  155. // period, the operation will succeed and return the same archive ID. This is
  156. // useful in the event you experience a network issue that causes an aborted
  157. // connection or receive a 500 server error, in which case you can repeat your
  158. // Complete Multipart Upload request and get the same archive ID without creating
  159. // duplicate archives. Note, however, that after the multipart upload completes,
  160. // you cannot call the List Parts operation and the multipart upload will not
  161. // appear in List Multipart Uploads response, even if idempotent complete is
  162. // possible.
  163. //
  164. // An AWS account has full permission to perform all operations (actions).
  165. // However, AWS Identity and Access Management (IAM) users don't have any permissions
  166. // by default. You must grant them explicit permission to perform specific actions.
  167. // For more information, see Access Control Using AWS Identity and Access Management
  168. // (IAM) (http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html).
  169. //
  170. // For conceptual information and underlying REST API, go to Uploading Large
  171. // Archives in Parts (Multipart Upload) (http://docs.aws.amazon.com/amazonglacier/latest/dev/uploading-archive-mpu.html)
  172. // and Complete Multipart Upload (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-complete-upload.html)
  173. // in the Amazon Glacier Developer Guide.
  174. func (c *Glacier) CompleteMultipartUpload(input *CompleteMultipartUploadInput) (*ArchiveCreationOutput, error) {
  175. req, out := c.CompleteMultipartUploadRequest(input)
  176. err := req.Send()
  177. return out, err
  178. }
  179. const opCompleteVaultLock = "CompleteVaultLock"
  180. // CompleteVaultLockRequest generates a request for the CompleteVaultLock operation.
  181. func (c *Glacier) CompleteVaultLockRequest(input *CompleteVaultLockInput) (req *request.Request, output *CompleteVaultLockOutput) {
  182. op := &request.Operation{
  183. Name: opCompleteVaultLock,
  184. HTTPMethod: "POST",
  185. HTTPPath: "/{accountId}/vaults/{vaultName}/lock-policy/{lockId}",
  186. }
  187. if input == nil {
  188. input = &CompleteVaultLockInput{}
  189. }
  190. req = c.newRequest(op, input, output)
  191. output = &CompleteVaultLockOutput{}
  192. req.Data = output
  193. return
  194. }
  195. // This operation completes the vault locking process by transitioning the vault
  196. // lock from the InProgress state to the Locked state, which causes the vault
  197. // lock policy to become unchangeable. A vault lock is put into the InProgress
  198. // state by calling InitiateVaultLock. You can obtain the state of the vault
  199. // lock by calling GetVaultLock. For more information about the vault locking
  200. // process, Amazon Glacier Vault Lock (http://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock.html).
  201. //
  202. // This operation is idempotent. This request is always successful if the vault
  203. // lock is in the Locked state and the provided lock ID matches the lock ID
  204. // originally used to lock the vault.
  205. //
  206. // If an invalid lock ID is passed in the request when the vault lock is in
  207. // the Locked state, the operation returns an AccessDeniedException error. If
  208. // an invalid lock ID is passed in the request when the vault lock is in the
  209. // InProgress state, the operation throws an InvalidParameter error.
  210. func (c *Glacier) CompleteVaultLock(input *CompleteVaultLockInput) (*CompleteVaultLockOutput, error) {
  211. req, out := c.CompleteVaultLockRequest(input)
  212. err := req.Send()
  213. return out, err
  214. }
  215. const opCreateVault = "CreateVault"
  216. // CreateVaultRequest generates a request for the CreateVault operation.
  217. func (c *Glacier) CreateVaultRequest(input *CreateVaultInput) (req *request.Request, output *CreateVaultOutput) {
  218. op := &request.Operation{
  219. Name: opCreateVault,
  220. HTTPMethod: "PUT",
  221. HTTPPath: "/{accountId}/vaults/{vaultName}",
  222. }
  223. if input == nil {
  224. input = &CreateVaultInput{}
  225. }
  226. req = c.newRequest(op, input, output)
  227. output = &CreateVaultOutput{}
  228. req.Data = output
  229. return
  230. }
  231. // This operation creates a new vault with the specified name. The name of the
  232. // vault must be unique within a region for an AWS account. You can create up
  233. // to 1,000 vaults per account. If you need to create more vaults, contact Amazon
  234. // Glacier.
  235. //
  236. // You must use the following guidelines when naming a vault.
  237. //
  238. // Names can be between 1 and 255 characters long.
  239. //
  240. // Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen),
  241. // and '.' (period).
  242. //
  243. // This operation is idempotent.
  244. //
  245. // An AWS account has full permission to perform all operations (actions).
  246. // However, AWS Identity and Access Management (IAM) users don't have any permissions
  247. // by default. You must grant them explicit permission to perform specific actions.
  248. // For more information, see Access Control Using AWS Identity and Access Management
  249. // (IAM) (http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html).
  250. //
  251. // For conceptual information and underlying REST API, go to Creating a Vault
  252. // in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/creating-vaults.html)
  253. // and Create Vault (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-put.html)
  254. // in the Amazon Glacier Developer Guide.
  255. func (c *Glacier) CreateVault(input *CreateVaultInput) (*CreateVaultOutput, error) {
  256. req, out := c.CreateVaultRequest(input)
  257. err := req.Send()
  258. return out, err
  259. }
  260. const opDeleteArchive = "DeleteArchive"
  261. // DeleteArchiveRequest generates a request for the DeleteArchive operation.
  262. func (c *Glacier) DeleteArchiveRequest(input *DeleteArchiveInput) (req *request.Request, output *DeleteArchiveOutput) {
  263. op := &request.Operation{
  264. Name: opDeleteArchive,
  265. HTTPMethod: "DELETE",
  266. HTTPPath: "/{accountId}/vaults/{vaultName}/archives/{archiveId}",
  267. }
  268. if input == nil {
  269. input = &DeleteArchiveInput{}
  270. }
  271. req = c.newRequest(op, input, output)
  272. output = &DeleteArchiveOutput{}
  273. req.Data = output
  274. return
  275. }
  276. // This operation deletes an archive from a vault. Subsequent requests to initiate
  277. // a retrieval of this archive will fail. Archive retrievals that are in progress
  278. // for this archive ID may or may not succeed according to the following scenarios:
  279. //
  280. // If the archive retrieval job is actively preparing the data for download
  281. // when Amazon Glacier receives the delete archive request, the archival retrieval
  282. // operation might fail. If the archive retrieval job has successfully prepared
  283. // the archive for download when Amazon Glacier receives the delete archive
  284. // request, you will be able to download the output. This operation is idempotent.
  285. // Attempting to delete an already-deleted archive does not result in an error.
  286. //
  287. // An AWS account has full permission to perform all operations (actions).
  288. // However, AWS Identity and Access Management (IAM) users don't have any permissions
  289. // by default. You must grant them explicit permission to perform specific actions.
  290. // For more information, see Access Control Using AWS Identity and Access Management
  291. // (IAM) (http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html).
  292. //
  293. // For conceptual information and underlying REST API, go to Deleting an Archive
  294. // in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/deleting-an-archive.html)
  295. // and Delete Archive (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-archive-delete.html)
  296. // in the Amazon Glacier Developer Guide.
  297. func (c *Glacier) DeleteArchive(input *DeleteArchiveInput) (*DeleteArchiveOutput, error) {
  298. req, out := c.DeleteArchiveRequest(input)
  299. err := req.Send()
  300. return out, err
  301. }
  302. const opDeleteVault = "DeleteVault"
  303. // DeleteVaultRequest generates a request for the DeleteVault operation.
  304. func (c *Glacier) DeleteVaultRequest(input *DeleteVaultInput) (req *request.Request, output *DeleteVaultOutput) {
  305. op := &request.Operation{
  306. Name: opDeleteVault,
  307. HTTPMethod: "DELETE",
  308. HTTPPath: "/{accountId}/vaults/{vaultName}",
  309. }
  310. if input == nil {
  311. input = &DeleteVaultInput{}
  312. }
  313. req = c.newRequest(op, input, output)
  314. output = &DeleteVaultOutput{}
  315. req.Data = output
  316. return
  317. }
  318. // This operation deletes a vault. Amazon Glacier will delete a vault only if
  319. // there are no archives in the vault as of the last inventory and there have
  320. // been no writes to the vault since the last inventory. If either of these
  321. // conditions is not satisfied, the vault deletion fails (that is, the vault
  322. // is not removed) and Amazon Glacier returns an error. You can use DescribeVault
  323. // to return the number of archives in a vault, and you can use Initiate a Job
  324. // (POST jobs) (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-initiate-job-post.html)
  325. // to initiate a new inventory retrieval for a vault. The inventory contains
  326. // the archive IDs you use to delete archives using Delete Archive (DELETE archive)
  327. // (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-archive-delete.html).
  328. //
  329. // This operation is idempotent.
  330. //
  331. // An AWS account has full permission to perform all operations (actions).
  332. // However, AWS Identity and Access Management (IAM) users don't have any permissions
  333. // by default. You must grant them explicit permission to perform specific actions.
  334. // For more information, see Access Control Using AWS Identity and Access Management
  335. // (IAM) (http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html).
  336. //
  337. // For conceptual information and underlying REST API, go to Deleting a Vault
  338. // in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/deleting-vaults.html)
  339. // and Delete Vault (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-delete.html)
  340. // in the Amazon Glacier Developer Guide.
  341. func (c *Glacier) DeleteVault(input *DeleteVaultInput) (*DeleteVaultOutput, error) {
  342. req, out := c.DeleteVaultRequest(input)
  343. err := req.Send()
  344. return out, err
  345. }
  346. const opDeleteVaultAccessPolicy = "DeleteVaultAccessPolicy"
  347. // DeleteVaultAccessPolicyRequest generates a request for the DeleteVaultAccessPolicy operation.
  348. func (c *Glacier) DeleteVaultAccessPolicyRequest(input *DeleteVaultAccessPolicyInput) (req *request.Request, output *DeleteVaultAccessPolicyOutput) {
  349. op := &request.Operation{
  350. Name: opDeleteVaultAccessPolicy,
  351. HTTPMethod: "DELETE",
  352. HTTPPath: "/{accountId}/vaults/{vaultName}/access-policy",
  353. }
  354. if input == nil {
  355. input = &DeleteVaultAccessPolicyInput{}
  356. }
  357. req = c.newRequest(op, input, output)
  358. output = &DeleteVaultAccessPolicyOutput{}
  359. req.Data = output
  360. return
  361. }
  362. // This operation deletes the access policy associated with the specified vault.
  363. // The operation is eventually consistent; that is, it might take some time
  364. // for Amazon Glacier to completely remove the access policy, and you might
  365. // still see the effect of the policy for a short time after you send the delete
  366. // request.
  367. //
  368. // This operation is idempotent. You can invoke delete multiple times, even
  369. // if there is no policy associated with the vault. For more information about
  370. // vault access policies, see Amazon Glacier Access Control with Vault Access
  371. // Policies (http://docs.aws.amazon.com/amazonglacier/latest/dev/vault-access-policy.html).
  372. func (c *Glacier) DeleteVaultAccessPolicy(input *DeleteVaultAccessPolicyInput) (*DeleteVaultAccessPolicyOutput, error) {
  373. req, out := c.DeleteVaultAccessPolicyRequest(input)
  374. err := req.Send()
  375. return out, err
  376. }
  377. const opDeleteVaultNotifications = "DeleteVaultNotifications"
  378. // DeleteVaultNotificationsRequest generates a request for the DeleteVaultNotifications operation.
  379. func (c *Glacier) DeleteVaultNotificationsRequest(input *DeleteVaultNotificationsInput) (req *request.Request, output *DeleteVaultNotificationsOutput) {
  380. op := &request.Operation{
  381. Name: opDeleteVaultNotifications,
  382. HTTPMethod: "DELETE",
  383. HTTPPath: "/{accountId}/vaults/{vaultName}/notification-configuration",
  384. }
  385. if input == nil {
  386. input = &DeleteVaultNotificationsInput{}
  387. }
  388. req = c.newRequest(op, input, output)
  389. output = &DeleteVaultNotificationsOutput{}
  390. req.Data = output
  391. return
  392. }
  393. // This operation deletes the notification configuration set for a vault. The
  394. // operation is eventually consistent; that is, it might take some time for
  395. // Amazon Glacier to completely disable the notifications and you might still
  396. // receive some notifications for a short time after you send the delete request.
  397. //
  398. // An AWS account has full permission to perform all operations (actions).
  399. // However, AWS Identity and Access Management (IAM) users don't have any permissions
  400. // by default. You must grant them explicit permission to perform specific actions.
  401. // For more information, see Access Control Using AWS Identity and Access Management
  402. // (IAM) (http://docs.aws.amazon.com/latest/dev/using-iam-with-amazon-glacier.html).
  403. //
  404. // For conceptual information and underlying REST API, go to Configuring Vault
  405. // Notifications in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/configuring-notifications.html)
  406. // and Delete Vault Notification Configuration (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-notifications-delete.html)
  407. // in the Amazon Glacier Developer Guide.
  408. func (c *Glacier) DeleteVaultNotifications(input *DeleteVaultNotificationsInput) (*DeleteVaultNotificationsOutput, error) {
  409. req, out := c.DeleteVaultNotificationsRequest(input)
  410. err := req.Send()
  411. return out, err
  412. }
  413. const opDescribeJob = "DescribeJob"
  414. // DescribeJobRequest generates a request for the DescribeJob operation.
  415. func (c *Glacier) DescribeJobRequest(input *DescribeJobInput) (req *request.Request, output *JobDescription) {
  416. op := &request.Operation{
  417. Name: opDescribeJob,
  418. HTTPMethod: "GET",
  419. HTTPPath: "/{accountId}/vaults/{vaultName}/jobs/{jobId}",
  420. }
  421. if input == nil {
  422. input = &DescribeJobInput{}
  423. }
  424. req = c.newRequest(op, input, output)
  425. output = &JobDescription{}
  426. req.Data = output
  427. return
  428. }
  429. // This operation returns information about a job you previously initiated,
  430. // including the job initiation date, the user who initiated the job, the job
  431. // status code/message and the Amazon SNS topic to notify after Amazon Glacier
  432. // completes the job. For more information about initiating a job, see InitiateJob.
  433. //
  434. // This operation enables you to check the status of your job. However, it
  435. // is strongly recommended that you set up an Amazon SNS topic and specify it
  436. // in your initiate job request so that Amazon Glacier can notify the topic
  437. // after it completes the job.
  438. //
  439. // A job ID will not expire for at least 24 hours after Amazon Glacier completes
  440. // the job.
  441. //
  442. // An AWS account has full permission to perform all operations (actions).
  443. // However, AWS Identity and Access Management (IAM) users don't have any permissions
  444. // by default. You must grant them explicit permission to perform specific actions.
  445. // For more information, see Access Control Using AWS Identity and Access Management
  446. // (IAM) (http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html).
  447. //
  448. // For information about the underlying REST API, go to Working with Archives
  449. // in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-describe-job-get.html)
  450. // in the Amazon Glacier Developer Guide.
  451. func (c *Glacier) DescribeJob(input *DescribeJobInput) (*JobDescription, error) {
  452. req, out := c.DescribeJobRequest(input)
  453. err := req.Send()
  454. return out, err
  455. }
  456. const opDescribeVault = "DescribeVault"
  457. // DescribeVaultRequest generates a request for the DescribeVault operation.
  458. func (c *Glacier) DescribeVaultRequest(input *DescribeVaultInput) (req *request.Request, output *DescribeVaultOutput) {
  459. op := &request.Operation{
  460. Name: opDescribeVault,
  461. HTTPMethod: "GET",
  462. HTTPPath: "/{accountId}/vaults/{vaultName}",
  463. }
  464. if input == nil {
  465. input = &DescribeVaultInput{}
  466. }
  467. req = c.newRequest(op, input, output)
  468. output = &DescribeVaultOutput{}
  469. req.Data = output
  470. return
  471. }
  472. // This operation returns information about a vault, including the vault's Amazon
  473. // Resource Name (ARN), the date the vault was created, the number of archives
  474. // it contains, and the total size of all the archives in the vault. The number
  475. // of archives and their total size are as of the last inventory generation.
  476. // This means that if you add or remove an archive from a vault, and then immediately
  477. // use Describe Vault, the change in contents will not be immediately reflected.
  478. // If you want to retrieve the latest inventory of the vault, use InitiateJob.
  479. // Amazon Glacier generates vault inventories approximately daily. For more
  480. // information, see Downloading a Vault Inventory in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/vault-inventory.html).
  481. //
  482. // An AWS account has full permission to perform all operations (actions).
  483. // However, AWS Identity and Access Management (IAM) users don't have any permissions
  484. // by default. You must grant them explicit permission to perform specific actions.
  485. // For more information, see Access Control Using AWS Identity and Access Management
  486. // (IAM) (http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html).
  487. //
  488. // For conceptual information and underlying REST API, go to Retrieving Vault
  489. // Metadata in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/retrieving-vault-info.html)
  490. // and Describe Vault (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-get.html)
  491. // in the Amazon Glacier Developer Guide.
  492. func (c *Glacier) DescribeVault(input *DescribeVaultInput) (*DescribeVaultOutput, error) {
  493. req, out := c.DescribeVaultRequest(input)
  494. err := req.Send()
  495. return out, err
  496. }
  497. const opGetDataRetrievalPolicy = "GetDataRetrievalPolicy"
  498. // GetDataRetrievalPolicyRequest generates a request for the GetDataRetrievalPolicy operation.
  499. func (c *Glacier) GetDataRetrievalPolicyRequest(input *GetDataRetrievalPolicyInput) (req *request.Request, output *GetDataRetrievalPolicyOutput) {
  500. op := &request.Operation{
  501. Name: opGetDataRetrievalPolicy,
  502. HTTPMethod: "GET",
  503. HTTPPath: "/{accountId}/policies/data-retrieval",
  504. }
  505. if input == nil {
  506. input = &GetDataRetrievalPolicyInput{}
  507. }
  508. req = c.newRequest(op, input, output)
  509. output = &GetDataRetrievalPolicyOutput{}
  510. req.Data = output
  511. return
  512. }
  513. // This operation returns the current data retrieval policy for the account
  514. // and region specified in the GET request. For more information about data
  515. // retrieval policies, see Amazon Glacier Data Retrieval Policies (http://docs.aws.amazon.com/amazonglacier/latest/dev/data-retrieval-policy.html).
  516. func (c *Glacier) GetDataRetrievalPolicy(input *GetDataRetrievalPolicyInput) (*GetDataRetrievalPolicyOutput, error) {
  517. req, out := c.GetDataRetrievalPolicyRequest(input)
  518. err := req.Send()
  519. return out, err
  520. }
  521. const opGetJobOutput = "GetJobOutput"
  522. // GetJobOutputRequest generates a request for the GetJobOutput operation.
  523. func (c *Glacier) GetJobOutputRequest(input *GetJobOutputInput) (req *request.Request, output *GetJobOutputOutput) {
  524. op := &request.Operation{
  525. Name: opGetJobOutput,
  526. HTTPMethod: "GET",
  527. HTTPPath: "/{accountId}/vaults/{vaultName}/jobs/{jobId}/output",
  528. }
  529. if input == nil {
  530. input = &GetJobOutputInput{}
  531. }
  532. req = c.newRequest(op, input, output)
  533. output = &GetJobOutputOutput{}
  534. req.Data = output
  535. return
  536. }
  537. // This operation downloads the output of the job you initiated using InitiateJob.
  538. // Depending on the job type you specified when you initiated the job, the output
  539. // will be either the content of an archive or a vault inventory.
  540. //
  541. // A job ID will not expire for at least 24 hours after Amazon Glacier completes
  542. // the job. That is, you can download the job output within the 24 hours period
  543. // after Amazon Glacier completes the job.
  544. //
  545. // If the job output is large, then you can use the Range request header to
  546. // retrieve a portion of the output. This allows you to download the entire
  547. // output in smaller chunks of bytes. For example, suppose you have 1 GB of
  548. // job output you want to download and you decide to download 128 MB chunks
  549. // of data at a time, which is a total of eight Get Job Output requests. You
  550. // use the following process to download the job output:
  551. //
  552. // Download a 128 MB chunk of output by specifying the appropriate byte range
  553. // using the Range header.
  554. //
  555. // Along with the data, the response includes a SHA256 tree hash of the payload.
  556. // You compute the checksum of the payload on the client and compare it with
  557. // the checksum you received in the response to ensure you received all the
  558. // expected data.
  559. //
  560. // Repeat steps 1 and 2 for all the eight 128 MB chunks of output data, each
  561. // time specifying the appropriate byte range.
  562. //
  563. // After downloading all the parts of the job output, you have a list of
  564. // eight checksum values. Compute the tree hash of these values to find the
  565. // checksum of the entire output. Using the DescribeJob API, obtain job information
  566. // of the job that provided you the output. The response includes the checksum
  567. // of the entire archive stored in Amazon Glacier. You compare this value with
  568. // the checksum you computed to ensure you have downloaded the entire archive
  569. // content with no errors.
  570. //
  571. // An AWS account has full permission to perform all operations (actions).
  572. // However, AWS Identity and Access Management (IAM) users don't have any permissions
  573. // by default. You must grant them explicit permission to perform specific actions.
  574. // For more information, see Access Control Using AWS Identity and Access Management
  575. // (IAM) (http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html).
  576. //
  577. // For conceptual information and the underlying REST API, go to Downloading
  578. // a Vault Inventory (http://docs.aws.amazon.com/amazonglacier/latest/dev/vault-inventory.html),
  579. // Downloading an Archive (http://docs.aws.amazon.com/amazonglacier/latest/dev/downloading-an-archive.html),
  580. // and Get Job Output (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-job-output-get.html)
  581. func (c *Glacier) GetJobOutput(input *GetJobOutputInput) (*GetJobOutputOutput, error) {
  582. req, out := c.GetJobOutputRequest(input)
  583. err := req.Send()
  584. return out, err
  585. }
  586. const opGetVaultAccessPolicy = "GetVaultAccessPolicy"
  587. // GetVaultAccessPolicyRequest generates a request for the GetVaultAccessPolicy operation.
  588. func (c *Glacier) GetVaultAccessPolicyRequest(input *GetVaultAccessPolicyInput) (req *request.Request, output *GetVaultAccessPolicyOutput) {
  589. op := &request.Operation{
  590. Name: opGetVaultAccessPolicy,
  591. HTTPMethod: "GET",
  592. HTTPPath: "/{accountId}/vaults/{vaultName}/access-policy",
  593. }
  594. if input == nil {
  595. input = &GetVaultAccessPolicyInput{}
  596. }
  597. req = c.newRequest(op, input, output)
  598. output = &GetVaultAccessPolicyOutput{}
  599. req.Data = output
  600. return
  601. }
  602. // This operation retrieves the access-policy subresource set on the vault;
  603. // for more information on setting this subresource, see Set Vault Access Policy
  604. // (PUT access-policy) (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-SetVaultAccessPolicy.html).
  605. // If there is no access policy set on the vault, the operation returns a 404
  606. // Not found error. For more information about vault access policies, see Amazon
  607. // Glacier Access Control with Vault Access Policies (http://docs.aws.amazon.com/amazonglacier/latest/dev/vault-access-policy.html).
  608. func (c *Glacier) GetVaultAccessPolicy(input *GetVaultAccessPolicyInput) (*GetVaultAccessPolicyOutput, error) {
  609. req, out := c.GetVaultAccessPolicyRequest(input)
  610. err := req.Send()
  611. return out, err
  612. }
  613. const opGetVaultLock = "GetVaultLock"
  614. // GetVaultLockRequest generates a request for the GetVaultLock operation.
  615. func (c *Glacier) GetVaultLockRequest(input *GetVaultLockInput) (req *request.Request, output *GetVaultLockOutput) {
  616. op := &request.Operation{
  617. Name: opGetVaultLock,
  618. HTTPMethod: "GET",
  619. HTTPPath: "/{accountId}/vaults/{vaultName}/lock-policy",
  620. }
  621. if input == nil {
  622. input = &GetVaultLockInput{}
  623. }
  624. req = c.newRequest(op, input, output)
  625. output = &GetVaultLockOutput{}
  626. req.Data = output
  627. return
  628. }
  629. // This operation retrieves the following attributes from the lock-policy subresource
  630. // set on the specified vault: The vault lock policy set on the vault.
  631. //
  632. // The state of the vault lock, which is either InProgess or Locked.
  633. //
  634. // When the lock ID expires. The lock ID is used to complete the vault locking
  635. // process.
  636. //
  637. // When the vault lock was initiated and put into the InProgress state.
  638. //
  639. // A vault lock is put into the InProgress state by calling InitiateVaultLock.
  640. // A vault lock is put into the Locked state by calling CompleteVaultLock. You
  641. // can abort the vault locking process by calling AbortVaultLock. For more information
  642. // about the vault locking process, Amazon Glacier Vault Lock (http://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock.html).
  643. //
  644. // If there is no vault lock policy set on the vault, the operation returns
  645. // a 404 Not found error. For more information about vault lock policies, Amazon
  646. // Glacier Access Control with Vault Lock Policies (http://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock-policy.html).
  647. func (c *Glacier) GetVaultLock(input *GetVaultLockInput) (*GetVaultLockOutput, error) {
  648. req, out := c.GetVaultLockRequest(input)
  649. err := req.Send()
  650. return out, err
  651. }
  652. const opGetVaultNotifications = "GetVaultNotifications"
  653. // GetVaultNotificationsRequest generates a request for the GetVaultNotifications operation.
  654. func (c *Glacier) GetVaultNotificationsRequest(input *GetVaultNotificationsInput) (req *request.Request, output *GetVaultNotificationsOutput) {
  655. op := &request.Operation{
  656. Name: opGetVaultNotifications,
  657. HTTPMethod: "GET",
  658. HTTPPath: "/{accountId}/vaults/{vaultName}/notification-configuration",
  659. }
  660. if input == nil {
  661. input = &GetVaultNotificationsInput{}
  662. }
  663. req = c.newRequest(op, input, output)
  664. output = &GetVaultNotificationsOutput{}
  665. req.Data = output
  666. return
  667. }
  668. // This operation retrieves the notification-configuration subresource of the
  669. // specified vault.
  670. //
  671. // For information about setting a notification configuration on a vault, see
  672. // SetVaultNotifications. If a notification configuration for a vault is not
  673. // set, the operation returns a 404 Not Found error. For more information about
  674. // vault notifications, see Configuring Vault Notifications in Amazon Glacier
  675. // (http://docs.aws.amazon.com/amazonglacier/latest/dev/configuring-notifications.html).
  676. //
  677. // An AWS account has full permission to perform all operations (actions).
  678. // However, AWS Identity and Access Management (IAM) users don't have any permissions
  679. // by default. You must grant them explicit permission to perform specific actions.
  680. // For more information, see Access Control Using AWS Identity and Access Management
  681. // (IAM) (http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html).
  682. //
  683. // For conceptual information and underlying REST API, go to Configuring Vault
  684. // Notifications in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/configuring-notifications.html)
  685. // and Get Vault Notification Configuration (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-notifications-get.html)
  686. // in the Amazon Glacier Developer Guide.
  687. func (c *Glacier) GetVaultNotifications(input *GetVaultNotificationsInput) (*GetVaultNotificationsOutput, error) {
  688. req, out := c.GetVaultNotificationsRequest(input)
  689. err := req.Send()
  690. return out, err
  691. }
  692. const opInitiateJob = "InitiateJob"
  693. // InitiateJobRequest generates a request for the InitiateJob operation.
  694. func (c *Glacier) InitiateJobRequest(input *InitiateJobInput) (req *request.Request, output *InitiateJobOutput) {
  695. op := &request.Operation{
  696. Name: opInitiateJob,
  697. HTTPMethod: "POST",
  698. HTTPPath: "/{accountId}/vaults/{vaultName}/jobs",
  699. }
  700. if input == nil {
  701. input = &InitiateJobInput{}
  702. }
  703. req = c.newRequest(op, input, output)
  704. output = &InitiateJobOutput{}
  705. req.Data = output
  706. return
  707. }
  708. // This operation initiates a job of the specified type. In this release, you
  709. // can initiate a job to retrieve either an archive or a vault inventory (a
  710. // list of archives in a vault).
  711. //
  712. // Retrieving data from Amazon Glacier is a two-step process:
  713. //
  714. // Initiate a retrieval job.
  715. //
  716. // A data retrieval policy can cause your initiate retrieval job request to
  717. // fail with a PolicyEnforcedException exception. For more information about
  718. // data retrieval policies, see Amazon Glacier Data Retrieval Policies (http://docs.aws.amazon.com/amazonglacier/latest/dev/data-retrieval-policy.html).
  719. // For more information about the PolicyEnforcedException exception, see Error
  720. // Responses (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-error-responses.html).
  721. //
  722. // After the job completes, download the bytes.
  723. //
  724. // The retrieval request is executed asynchronously. When you initiate a retrieval
  725. // job, Amazon Glacier creates a job and returns a job ID in the response. When
  726. // Amazon Glacier completes the job, you can get the job output (archive or
  727. // inventory data). For information about getting job output, see GetJobOutput
  728. // operation.
  729. //
  730. // The job must complete before you can get its output. To determine when a
  731. // job is complete, you have the following options:
  732. //
  733. // Use Amazon SNS Notification You can specify an Amazon Simple Notification
  734. // Service (Amazon SNS) topic to which Amazon Glacier can post a notification
  735. // after the job is completed. You can specify an SNS topic per job request.
  736. // The notification is sent only after Amazon Glacier completes the job. In
  737. // addition to specifying an SNS topic per job request, you can configure vault
  738. // notifications for a vault so that job notifications are always sent. For
  739. // more information, see SetVaultNotifications.
  740. //
  741. // Get job details You can make a DescribeJob request to obtain job status
  742. // information while a job is in progress. However, it is more efficient to
  743. // use an Amazon SNS notification to determine when a job is complete.
  744. //
  745. // The information you get via notification is same that you get by calling
  746. // DescribeJob.
  747. //
  748. // If for a specific event, you add both the notification configuration on
  749. // the vault and also specify an SNS topic in your initiate job request, Amazon
  750. // Glacier sends both notifications. For more information, see SetVaultNotifications.
  751. //
  752. // An AWS account has full permission to perform all operations (actions).
  753. // However, AWS Identity and Access Management (IAM) users don't have any permissions
  754. // by default. You must grant them explicit permission to perform specific actions.
  755. // For more information, see Access Control Using AWS Identity and Access Management
  756. // (IAM) (http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html).
  757. //
  758. // About the Vault Inventory
  759. //
  760. // Amazon Glacier prepares an inventory for each vault periodically, every
  761. // 24 hours. When you initiate a job for a vault inventory, Amazon Glacier returns
  762. // the last inventory for the vault. The inventory data you get might be up
  763. // to a day or two days old. Also, the initiate inventory job might take some
  764. // time to complete before you can download the vault inventory. So you do not
  765. // want to retrieve a vault inventory for each vault operation. However, in
  766. // some scenarios, you might find the vault inventory useful. For example, when
  767. // you upload an archive, you can provide an archive description but not an
  768. // archive name. Amazon Glacier provides you a unique archive ID, an opaque
  769. // string of characters. So, you might maintain your own database that maps
  770. // archive names to their corresponding Amazon Glacier assigned archive IDs.
  771. // You might find the vault inventory useful in the event you need to reconcile
  772. // information in your database with the actual vault inventory.
  773. //
  774. // Range Inventory Retrieval
  775. //
  776. // You can limit the number of inventory items retrieved by filtering on the
  777. // archive creation date or by setting a limit.
  778. //
  779. // Filtering by Archive Creation Date
  780. //
  781. // You can retrieve inventory items for archives created between StartDate
  782. // and EndDate by specifying values for these parameters in the InitiateJob
  783. // request. Archives created on or after the StartDate and before the EndDate
  784. // will be returned. If you only provide the StartDate without the EndDate,
  785. // you will retrieve the inventory for all archives created on or after the
  786. // StartDate. If you only provide the EndDate without the StartDate, you will
  787. // get back the inventory for all archives created before the EndDate.
  788. //
  789. // Limiting Inventory Items per Retrieval
  790. //
  791. // You can limit the number of inventory items returned by setting the Limit
  792. // parameter in the InitiateJob request. The inventory job output will contain
  793. // inventory items up to the specified Limit. If there are more inventory items
  794. // available, the result is paginated. After a job is complete you can use the
  795. // DescribeJob operation to get a marker that you use in a subsequent InitiateJob
  796. // request. The marker will indicate the starting point to retrieve the next
  797. // set of inventory items. You can page through your entire inventory by repeatedly
  798. // making InitiateJob requests with the marker from the previous DescribeJob
  799. // output, until you get a marker from DescribeJob that returns null, indicating
  800. // that there are no more inventory items available.
  801. //
  802. // You can use the Limit parameter together with the date range parameters.
  803. //
  804. // About Ranged Archive Retrieval
  805. //
  806. // You can initiate an archive retrieval for the whole archive or a range
  807. // of the archive. In the case of ranged archive retrieval, you specify a byte
  808. // range to return or the whole archive. The range specified must be megabyte
  809. // (MB) aligned, that is the range start value must be divisible by 1 MB and
  810. // range end value plus 1 must be divisible by 1 MB or equal the end of the
  811. // archive. If the ranged archive retrieval is not megabyte aligned, this operation
  812. // returns a 400 response. Furthermore, to ensure you get checksum values for
  813. // data you download using Get Job Output API, the range must be tree hash aligned.
  814. //
  815. // An AWS account has full permission to perform all operations (actions).
  816. // However, AWS Identity and Access Management (IAM) users don't have any permissions
  817. // by default. You must grant them explicit permission to perform specific actions.
  818. // For more information, see Access Control Using AWS Identity and Access Management
  819. // (IAM) (http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html).
  820. //
  821. // For conceptual information and the underlying REST API, go to Initiate a
  822. // Job (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-initiate-job-post.html)
  823. // and Downloading a Vault Inventory (http://docs.aws.amazon.com/amazonglacier/latest/dev/vault-inventory.html)
  824. func (c *Glacier) InitiateJob(input *InitiateJobInput) (*InitiateJobOutput, error) {
  825. req, out := c.InitiateJobRequest(input)
  826. err := req.Send()
  827. return out, err
  828. }
  829. const opInitiateMultipartUpload = "InitiateMultipartUpload"
  830. // InitiateMultipartUploadRequest generates a request for the InitiateMultipartUpload operation.
  831. func (c *Glacier) InitiateMultipartUploadRequest(input *InitiateMultipartUploadInput) (req *request.Request, output *InitiateMultipartUploadOutput) {
  832. op := &request.Operation{
  833. Name: opInitiateMultipartUpload,
  834. HTTPMethod: "POST",
  835. HTTPPath: "/{accountId}/vaults/{vaultName}/multipart-uploads",
  836. }
  837. if input == nil {
  838. input = &InitiateMultipartUploadInput{}
  839. }
  840. req = c.newRequest(op, input, output)
  841. output = &InitiateMultipartUploadOutput{}
  842. req.Data = output
  843. return
  844. }
  845. // This operation initiates a multipart upload. Amazon Glacier creates a multipart
  846. // upload resource and returns its ID in the response. The multipart upload
  847. // ID is used in subsequent requests to upload parts of an archive (see UploadMultipartPart).
  848. //
  849. // When you initiate a multipart upload, you specify the part size in number
  850. // of bytes. The part size must be a megabyte (1024 KB) multiplied by a power
  851. // of 2-for example, 1048576 (1 MB), 2097152 (2 MB), 4194304 (4 MB), 8388608
  852. // (8 MB), and so on. The minimum allowable part size is 1 MB, and the maximum
  853. // is 4 GB.
  854. //
  855. // Every part you upload to this resource (see UploadMultipartPart), except
  856. // the last one, must have the same size. The last one can be the same size
  857. // or smaller. For example, suppose you want to upload a 16.2 MB file. If you
  858. // initiate the multipart upload with a part size of 4 MB, you will upload four
  859. // parts of 4 MB each and one part of 0.2 MB.
  860. //
  861. // You don't need to know the size of the archive when you start a multipart
  862. // upload because Amazon Glacier does not require you to specify the overall
  863. // archive size.
  864. //
  865. // After you complete the multipart upload, Amazon Glacier removes the multipart
  866. // upload resource referenced by the ID. Amazon Glacier also removes the multipart
  867. // upload resource if you cancel the multipart upload or it may be removed if
  868. // there is no activity for a period of 24 hours.
  869. //
  870. // An AWS account has full permission to perform all operations (actions).
  871. // However, AWS Identity and Access Management (IAM) users don't have any permissions
  872. // by default. You must grant them explicit permission to perform specific actions.
  873. // For more information, see Access Control Using AWS Identity and Access Management
  874. // (IAM) (http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html).
  875. //
  876. // For conceptual information and underlying REST API, go to Uploading Large
  877. // Archives in Parts (Multipart Upload) (http://docs.aws.amazon.com/amazonglacier/latest/dev/uploading-archive-mpu.html)
  878. // and Initiate Multipart Upload (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-initiate-upload.html)
  879. // in the Amazon Glacier Developer Guide.
  880. func (c *Glacier) InitiateMultipartUpload(input *InitiateMultipartUploadInput) (*InitiateMultipartUploadOutput, error) {
  881. req, out := c.InitiateMultipartUploadRequest(input)
  882. err := req.Send()
  883. return out, err
  884. }
  885. const opInitiateVaultLock = "InitiateVaultLock"
  886. // InitiateVaultLockRequest generates a request for the InitiateVaultLock operation.
  887. func (c *Glacier) InitiateVaultLockRequest(input *InitiateVaultLockInput) (req *request.Request, output *InitiateVaultLockOutput) {
  888. op := &request.Operation{
  889. Name: opInitiateVaultLock,
  890. HTTPMethod: "POST",
  891. HTTPPath: "/{accountId}/vaults/{vaultName}/lock-policy",
  892. }
  893. if input == nil {
  894. input = &InitiateVaultLockInput{}
  895. }
  896. req = c.newRequest(op, input, output)
  897. output = &InitiateVaultLockOutput{}
  898. req.Data = output
  899. return
  900. }
  901. // This operation initiates the vault locking process by doing the following:
  902. // Installing a vault lock policy on the specified vault.
  903. //
  904. // Setting the lock state of vault lock to InProgress.
  905. //
  906. // Returning a lock ID, which is used to complete the vault locking process.
  907. //
  908. // You can set one vault lock policy for each vault and this policy can
  909. // be up to 20 KB in size. For more information about vault lock policies, see
  910. // Amazon Glacier Access Control with Vault Lock Policies (http://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock-policy.html).
  911. //
  912. // You must complete the vault locking process within 24 hours after the vault
  913. // lock enters the InProgress state. After the 24 hour window ends, the lock
  914. // ID expires, the vault automatically exits the InProgress state, and the vault
  915. // lock policy is removed from the vault. You call CompleteVaultLock to complete
  916. // the vault locking process by setting the state of the vault lock to Locked.
  917. //
  918. // After a vault lock is in the Locked state, you cannot initiate a new vault
  919. // lock for the vault.
  920. //
  921. // You can abort the vault locking process by calling AbortVaultLock. You can
  922. // get the state of the vault lock by calling GetVaultLock. For more information
  923. // about the vault locking process, Amazon Glacier Vault Lock (http://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock.html).
  924. //
  925. // If this operation is called when the vault lock is in the InProgress state,
  926. // the operation returns an AccessDeniedException error. When the vault lock
  927. // is in the InProgress state you must call AbortVaultLock before you can initiate
  928. // a new vault lock policy.
  929. func (c *Glacier) InitiateVaultLock(input *InitiateVaultLockInput) (*InitiateVaultLockOutput, error) {
  930. req, out := c.InitiateVaultLockRequest(input)
  931. err := req.Send()
  932. return out, err
  933. }
  934. const opListJobs = "ListJobs"
  935. // ListJobsRequest generates a request for the ListJobs operation.
  936. func (c *Glacier) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) {
  937. op := &request.Operation{
  938. Name: opListJobs,
  939. HTTPMethod: "GET",
  940. HTTPPath: "/{accountId}/vaults/{vaultName}/jobs",
  941. Paginator: &request.Paginator{
  942. InputTokens: []string{"marker"},
  943. OutputTokens: []string{"Marker"},
  944. LimitToken: "limit",
  945. TruncationToken: "",
  946. },
  947. }
  948. if input == nil {
  949. input = &ListJobsInput{}
  950. }
  951. req = c.newRequest(op, input, output)
  952. output = &ListJobsOutput{}
  953. req.Data = output
  954. return
  955. }
  956. // This operation lists jobs for a vault, including jobs that are in-progress
  957. // and jobs that have recently finished.
  958. //
  959. // Amazon Glacier retains recently completed jobs for a period before deleting
  960. // them; however, it eventually removes completed jobs. The output of completed
  961. // jobs can be retrieved. Retaining completed jobs for a period of time after
  962. // they have completed enables you to get a job output in the event you miss
  963. // the job completion notification or your first attempt to download it fails.
  964. // For example, suppose you start an archive retrieval job to download an archive.
  965. // After the job completes, you start to download the archive but encounter
  966. // a network error. In this scenario, you can retry and download the archive
  967. // while the job exists.
  968. //
  969. // To retrieve an archive or retrieve a vault inventory from Amazon Glacier,
  970. // you first initiate a job, and after the job completes, you download the data.
  971. // For an archive retrieval, the output is the archive data, and for an inventory
  972. // retrieval, it is the inventory list. The List Job operation returns a list
  973. // of these jobs sorted by job initiation time.
  974. //
  975. // This List Jobs operation supports pagination. By default, this operation
  976. // returns up to 1,000 jobs in the response. You should always check the response
  977. // for a marker at which to continue the list; if there are no more items the
  978. // marker is null. To return a list of jobs that begins at a specific job, set
  979. // the marker request parameter to the value you obtained from a previous List
  980. // Jobs request. You can also limit the number of jobs returned in the response
  981. // by specifying the limit parameter in the request.
  982. //
  983. // Additionally, you can filter the jobs list returned by specifying an optional
  984. // statuscode (InProgress, Succeeded, or Failed) and completed (true, false)
  985. // parameter. The statuscode allows you to specify that only jobs that match
  986. // a specified status are returned. The completed parameter allows you to specify
  987. // that only jobs in a specific completion state are returned.
  988. //
  989. // An AWS account has full permission to perform all operations (actions).
  990. // However, AWS Identity and Access Management (IAM) users don't have any permissions
  991. // by default. You must grant them explicit permission to perform specific actions.
  992. // For more information, see Access Control Using AWS Identity and Access Management
  993. // (IAM) (http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html).
  994. //
  995. // For the underlying REST API, go to List Jobs (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-jobs-get.html)
  996. func (c *Glacier) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) {
  997. req, out := c.ListJobsRequest(input)
  998. err := req.Send()
  999. return out, err
  1000. }
  1001. func (c *Glacier) ListJobsPages(input *ListJobsInput, fn func(p *ListJobsOutput, lastPage bool) (shouldContinue bool)) error {
  1002. page, _ := c.ListJobsRequest(input)
  1003. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1004. return fn(p.(*ListJobsOutput), lastPage)
  1005. })
  1006. }
  1007. const opListMultipartUploads = "ListMultipartUploads"
  1008. // ListMultipartUploadsRequest generates a request for the ListMultipartUploads operation.
  1009. func (c *Glacier) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) (req *request.Request, output *ListMultipartUploadsOutput) {
  1010. op := &request.Operation{
  1011. Name: opListMultipartUploads,
  1012. HTTPMethod: "GET",
  1013. HTTPPath: "/{accountId}/vaults/{vaultName}/multipart-uploads",
  1014. Paginator: &request.Paginator{
  1015. InputTokens: []string{"marker"},
  1016. OutputTokens: []string{"Marker"},
  1017. LimitToken: "limit",
  1018. TruncationToken: "",
  1019. },
  1020. }
  1021. if input == nil {
  1022. input = &ListMultipartUploadsInput{}
  1023. }
  1024. req = c.newRequest(op, input, output)
  1025. output = &ListMultipartUploadsOutput{}
  1026. req.Data = output
  1027. return
  1028. }
  1029. // This operation lists in-progress multipart uploads for the specified vault.
  1030. // An in-progress multipart upload is a multipart upload that has been initiated
  1031. // by an InitiateMultipartUpload request, but has not yet been completed or
  1032. // aborted. The list returned in the List Multipart Upload response has no guaranteed
  1033. // order.
  1034. //
  1035. // The List Multipart Uploads operation supports pagination. By default, this
  1036. // operation returns up to 1,000 multipart uploads in the response. You should
  1037. // always check the response for a marker at which to continue the list; if
  1038. // there are no more items the marker is null. To return a list of multipart
  1039. // uploads that begins at a specific upload, set the marker request parameter
  1040. // to the value you obtained from a previous List Multipart Upload request.
  1041. // You can also limit the number of uploads returned in the response by specifying
  1042. // the limit parameter in the request.
  1043. //
  1044. // Note the difference between this operation and listing parts (ListParts).
  1045. // The List Multipart Uploads operation lists all multipart uploads for a vault
  1046. // and does not require a multipart upload ID. The List Parts operation requires
  1047. // a multipart upload ID since parts are associated with a single upload.
  1048. //
  1049. // An AWS account has full permission to perform all operations (actions).
  1050. // However, AWS Identity and Access Management (IAM) users don't have any permissions
  1051. // by default. You must grant them explicit permission to perform specific actions.
  1052. // For more information, see Access Control Using AWS Identity and Access Management
  1053. // (IAM) (http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html).
  1054. //
  1055. // For conceptual information and the underlying REST API, go to Working with
  1056. // Archives in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-archives.html)
  1057. // and List Multipart Uploads (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-list-uploads.html)
  1058. // in the Amazon Glacier Developer Guide.
  1059. func (c *Glacier) ListMultipartUploads(input *ListMultipartUploadsInput) (*ListMultipartUploadsOutput, error) {
  1060. req, out := c.ListMultipartUploadsRequest(input)
  1061. err := req.Send()
  1062. return out, err
  1063. }
  1064. func (c *Glacier) ListMultipartUploadsPages(input *ListMultipartUploadsInput, fn func(p *ListMultipartUploadsOutput, lastPage bool) (shouldContinue bool)) error {
  1065. page, _ := c.ListMultipartUploadsRequest(input)
  1066. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1067. return fn(p.(*ListMultipartUploadsOutput), lastPage)
  1068. })
  1069. }
  1070. const opListParts = "ListParts"
  1071. // ListPartsRequest generates a request for the ListParts operation.
  1072. func (c *Glacier) ListPartsRequest(input *ListPartsInput) (req *request.Request, output *ListPartsOutput) {
  1073. op := &request.Operation{
  1074. Name: opListParts,
  1075. HTTPMethod: "GET",
  1076. HTTPPath: "/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}",
  1077. Paginator: &request.Paginator{
  1078. InputTokens: []string{"marker"},
  1079. OutputTokens: []string{"Marker"},
  1080. LimitToken: "limit",
  1081. TruncationToken: "",
  1082. },
  1083. }
  1084. if input == nil {
  1085. input = &ListPartsInput{}
  1086. }
  1087. req = c.newRequest(op, input, output)
  1088. output = &ListPartsOutput{}
  1089. req.Data = output
  1090. return
  1091. }
  1092. // This operation lists the parts of an archive that have been uploaded in a
  1093. // specific multipart upload. You can make this request at any time during an
  1094. // in-progress multipart upload before you complete the upload (see CompleteMultipartUpload.
  1095. // List Parts returns an error for completed uploads. The list returned in the
  1096. // List Parts response is sorted by part range.
  1097. //
  1098. // The List Parts operation supports pagination. By default, this operation
  1099. // returns up to 1,000 uploaded parts in the response. You should always check
  1100. // the response for a marker at which to continue the list; if there are no
  1101. // more items the marker is null. To return a list of parts that begins at a
  1102. // specific part, set the marker request parameter to the value you obtained
  1103. // from a previous List Parts request. You can also limit the number of parts
  1104. // returned in the response by specifying the limit parameter in the request.
  1105. //
  1106. // An AWS account has full permission to perform all operations (actions).
  1107. // However, AWS Identity and Access Management (IAM) users don't have any permissions
  1108. // by default. You must grant them explicit permission to perform specific actions.
  1109. // For more information, see Access Control Using AWS Identity and Access Management
  1110. // (IAM) (http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html).
  1111. //
  1112. // For conceptual information and the underlying REST API, go to Working with
  1113. // Archives in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-archives.html)
  1114. // and List Parts (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-list-parts.html)
  1115. // in the Amazon Glacier Developer Guide.
  1116. func (c *Glacier) ListParts(input *ListPartsInput) (*ListPartsOutput, error) {
  1117. req, out := c.ListPartsRequest(input)
  1118. err := req.Send()
  1119. return out, err
  1120. }
  1121. func (c *Glacier) ListPartsPages(input *ListPartsInput, fn func(p *ListPartsOutput, lastPage bool) (shouldContinue bool)) error {
  1122. page, _ := c.ListPartsRequest(input)
  1123. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1124. return fn(p.(*ListPartsOutput), lastPage)
  1125. })
  1126. }
  1127. const opListTagsForVault = "ListTagsForVault"
  1128. // ListTagsForVaultRequest generates a request for the ListTagsForVault operation.
  1129. func (c *Glacier) ListTagsForVaultRequest(input *ListTagsForVaultInput) (req *request.Request, output *ListTagsForVaultOutput) {
  1130. op := &request.Operation{
  1131. Name: opListTagsForVault,
  1132. HTTPMethod: "GET",
  1133. HTTPPath: "/{accountId}/vaults/{vaultName}/tags",
  1134. }
  1135. if input == nil {
  1136. input = &ListTagsForVaultInput{}
  1137. }
  1138. req = c.newRequest(op, input, output)
  1139. output = &ListTagsForVaultOutput{}
  1140. req.Data = output
  1141. return
  1142. }
  1143. // This operation lists all the tags attached to a vault. The operation returns
  1144. // an empty map if there are no tags. For more information about tags, see Tagging
  1145. // Amazon Glacier Resources (http://docs.aws.amazon.com/amazonglacier/latest/dev/tagging.html).
  1146. func (c *Glacier) ListTagsForVault(input *ListTagsForVaultInput) (*ListTagsForVaultOutput, error) {
  1147. req, out := c.ListTagsForVaultRequest(input)
  1148. err := req.Send()
  1149. return out, err
  1150. }
  1151. const opListVaults = "ListVaults"
  1152. // ListVaultsRequest generates a request for the ListVaults operation.
  1153. func (c *Glacier) ListVaultsRequest(input *ListVaultsInput) (req *request.Request, output *ListVaultsOutput) {
  1154. op := &request.Operation{
  1155. Name: opListVaults,
  1156. HTTPMethod: "GET",
  1157. HTTPPath: "/{accountId}/vaults",
  1158. Paginator: &request.Paginator{
  1159. InputTokens: []string{"marker"},
  1160. OutputTokens: []string{"Marker"},
  1161. LimitToken: "limit",
  1162. TruncationToken: "",
  1163. },
  1164. }
  1165. if input == nil {
  1166. input = &ListVaultsInput{}
  1167. }
  1168. req = c.newRequest(op, input, output)
  1169. output = &ListVaultsOutput{}
  1170. req.Data = output
  1171. return
  1172. }
  1173. // This operation lists all vaults owned by the calling user's account. The
  1174. // list returned in the response is ASCII-sorted by vault name.
  1175. //
  1176. // By default, this operation returns up to 1,000 items. If there are more
  1177. // vaults to list, the response marker field contains the vault Amazon Resource
  1178. // Name (ARN) at which to continue the list with a new List Vaults request;
  1179. // otherwise, the marker field is null. To return a list of vaults that begins
  1180. // at a specific vault, set the marker request parameter to the vault ARN you
  1181. // obtained from a previous List Vaults request. You can also limit the number
  1182. // of vaults returned in the response by specifying the limit parameter in the
  1183. // request.
  1184. //
  1185. // An AWS account has full permission to perform all operations (actions).
  1186. // However, AWS Identity and Access Management (IAM) users don't have any permissions
  1187. // by default. You must grant them explicit permission to perform specific actions.
  1188. // For more information, see Access Control Using AWS Identity and Access Management
  1189. // (IAM) (http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html).
  1190. //
  1191. // For conceptual information and underlying REST API, go to Retrieving Vault
  1192. // Metadata in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/retrieving-vault-info.html)
  1193. // and List Vaults (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-vaults-get.html)
  1194. // in the Amazon Glacier Developer Guide.
  1195. func (c *Glacier) ListVaults(input *ListVaultsInput) (*ListVaultsOutput, error) {
  1196. req, out := c.ListVaultsRequest(input)
  1197. err := req.Send()
  1198. return out, err
  1199. }
  1200. func (c *Glacier) ListVaultsPages(input *ListVaultsInput, fn func(p *ListVaultsOutput, lastPage bool) (shouldContinue bool)) error {
  1201. page, _ := c.ListVaultsRequest(input)
  1202. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1203. return fn(p.(*ListVaultsOutput), lastPage)
  1204. })
  1205. }
  1206. const opRemoveTagsFromVault = "RemoveTagsFromVault"
  1207. // RemoveTagsFromVaultRequest generates a request for the RemoveTagsFromVault operation.
  1208. func (c *Glacier) RemoveTagsFromVaultRequest(input *RemoveTagsFromVaultInput) (req *request.Request, output *RemoveTagsFromVaultOutput) {
  1209. op := &request.Operation{
  1210. Name: opRemoveTagsFromVault,
  1211. HTTPMethod: "POST",
  1212. HTTPPath: "/{accountId}/vaults/{vaultName}/tags?operation=remove",
  1213. }
  1214. if input == nil {
  1215. input = &RemoveTagsFromVaultInput{}
  1216. }
  1217. req = c.newRequest(op, input, output)
  1218. output = &RemoveTagsFromVaultOutput{}
  1219. req.Data = output
  1220. return
  1221. }
  1222. // This operation removes one or more tags from the set of tags attached to
  1223. // a vault. For more information about tags, see Tagging Amazon Glacier Resources
  1224. // (http://docs.aws.amazon.com/amazonglacier/latest/dev/tagging.html). This
  1225. // operation is idempotent. The operation will be successful, even if there
  1226. // are no tags attached to the vault.
  1227. func (c *Glacier) RemoveTagsFromVault(input *RemoveTagsFromVaultInput) (*RemoveTagsFromVaultOutput, error) {
  1228. req, out := c.RemoveTagsFromVaultRequest(input)
  1229. err := req.Send()
  1230. return out, err
  1231. }
  1232. const opSetDataRetrievalPolicy = "SetDataRetrievalPolicy"
  1233. // SetDataRetrievalPolicyRequest generates a request for the SetDataRetrievalPolicy operation.
  1234. func (c *Glacier) SetDataRetrievalPolicyRequest(input *SetDataRetrievalPolicyInput) (req *request.Request, output *SetDataRetrievalPolicyOutput) {
  1235. op := &request.Operation{
  1236. Name: opSetDataRetrievalPolicy,
  1237. HTTPMethod: "PUT",
  1238. HTTPPath: "/{accountId}/policies/data-retrieval",
  1239. }
  1240. if input == nil {
  1241. input = &SetDataRetrievalPolicyInput{}
  1242. }
  1243. req = c.newRequest(op, input, output)
  1244. output = &SetDataRetrievalPolicyOutput{}
  1245. req.Data = output
  1246. return
  1247. }
  1248. // This operation sets and then enacts a data retrieval policy in the region
  1249. // specified in the PUT request. You can set one policy per region for an AWS
  1250. // account. The policy is enacted within a few minutes of a successful PUT operation.
  1251. //
  1252. // The set policy operation does not affect retrieval jobs that were in progress
  1253. // before the policy was enacted. For more information about data retrieval
  1254. // policies, see Amazon Glacier Data Retrieval Policies (http://docs.aws.amazon.com/amazonglacier/latest/dev/data-retrieval-policy.html).
  1255. func (c *Glacier) SetDataRetrievalPolicy(input *SetDataRetrievalPolicyInput) (*SetDataRetrievalPolicyOutput, error) {
  1256. req, out := c.SetDataRetrievalPolicyRequest(input)
  1257. err := req.Send()
  1258. return out, err
  1259. }
  1260. const opSetVaultAccessPolicy = "SetVaultAccessPolicy"
  1261. // SetVaultAccessPolicyRequest generates a request for the SetVaultAccessPolicy operation.
  1262. func (c *Glacier) SetVaultAccessPolicyRequest(input *SetVaultAccessPolicyInput) (req *request.Request, output *SetVaultAccessPolicyOutput) {
  1263. op := &request.Operation{
  1264. Name: opSetVaultAccessPolicy,
  1265. HTTPMethod: "PUT",
  1266. HTTPPath: "/{accountId}/vaults/{vaultName}/access-policy",
  1267. }
  1268. if input == nil {
  1269. input = &SetVaultAccessPolicyInput{}
  1270. }
  1271. req = c.newRequest(op, input, output)
  1272. output = &SetVaultAccessPolicyOutput{}
  1273. req.Data = output
  1274. return
  1275. }
  1276. // This operation configures an access policy for a vault and will overwrite
  1277. // an existing policy. To configure a vault access policy, send a PUT request
  1278. // to the access-policy subresource of the vault. An access policy is specific
  1279. // to a vault and is also called a vault subresource. You can set one access
  1280. // policy per vault and the policy can be up to 20 KB in size. For more information
  1281. // about vault access policies, see Amazon Glacier Access Control with Vault
  1282. // Access Policies (http://docs.aws.amazon.com/amazonglacier/latest/dev/vault-access-policy.html).
  1283. func (c *Glacier) SetVaultAccessPolicy(input *SetVaultAccessPolicyInput) (*SetVaultAccessPolicyOutput, error) {
  1284. req, out := c.SetVaultAccessPolicyRequest(input)
  1285. err := req.Send()
  1286. return out, err
  1287. }
  1288. const opSetVaultNotifications = "SetVaultNotifications"
  1289. // SetVaultNotificationsRequest generates a request for the SetVaultNotifications operation.
  1290. func (c *Glacier) SetVaultNotificationsRequest(input *SetVaultNotificationsInput) (req *request.Request, output *SetVaultNotificationsOutput) {
  1291. op := &request.Operation{
  1292. Name: opSetVaultNotifications,
  1293. HTTPMethod: "PUT",
  1294. HTTPPath: "/{accountId}/vaults/{vaultName}/notification-configuration",
  1295. }
  1296. if input == nil {
  1297. input = &SetVaultNotificationsInput{}
  1298. }
  1299. req = c.newRequest(op, input, output)
  1300. output = &SetVaultNotificationsOutput{}
  1301. req.Data = output
  1302. return
  1303. }
  1304. // This operation configures notifications that will be sent when specific events
  1305. // happen to a vault. By default, you don't get any notifications.
  1306. //
  1307. // To configure vault notifications, send a PUT request to the notification-configuration
  1308. // subresource of the vault. The request should include a JSON document that
  1309. // provides an Amazon SNS topic and specific events for which you want Amazon
  1310. // Glacier to send notifications to the topic.
  1311. //
  1312. // Amazon SNS topics must grant permission to the vault to be allowed to publish
  1313. // notifications to the topic. You can configure a vault to publish a notification
  1314. // for the following vault events:
  1315. //
  1316. // ArchiveRetrievalCompleted This event occurs when a job that was initiated
  1317. // for an archive retrieval is completed (InitiateJob). The status of the completed
  1318. // job can be "Succeeded" or "Failed". The notification sent to the SNS topic
  1319. // is the same output as returned from DescribeJob. InventoryRetrievalCompleted
  1320. // This event occurs when a job that was initiated for an inventory retrieval
  1321. // is completed (InitiateJob). The status of the completed job can be "Succeeded"
  1322. // or "Failed". The notification sent to the SNS topic is the same output as
  1323. // returned from DescribeJob. An AWS account has full permission to perform
  1324. // all operations (actions). However, AWS Identity and Access Management (IAM)
  1325. // users don't have any permissions by default. You must grant them explicit
  1326. // permission to perform specific actions. For more information, see Access
  1327. // Control Using AWS Identity and Access Management (IAM) (http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html).
  1328. //
  1329. // For conceptual information and underlying REST API, go to Configuring Vault
  1330. // Notifications in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/configuring-notifications.html)
  1331. // and Set Vault Notification Configuration (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-notifications-put.html)
  1332. // in the Amazon Glacier Developer Guide.
  1333. func (c *Glacier) SetVaultNotifications(input *SetVaultNotificationsInput) (*SetVaultNotificationsOutput, error) {
  1334. req, out := c.SetVaultNotificationsRequest(input)
  1335. err := req.Send()
  1336. return out, err
  1337. }
  1338. const opUploadArchive = "UploadArchive"
  1339. // UploadArchiveRequest generates a request for the UploadArchive operation.
  1340. func (c *Glacier) UploadArchiveRequest(input *UploadArchiveInput) (req *request.Request, output *ArchiveCreationOutput) {
  1341. op := &request.Operation{
  1342. Name: opUploadArchive,
  1343. HTTPMethod: "POST",
  1344. HTTPPath: "/{accountId}/vaults/{vaultName}/archives",
  1345. }
  1346. if input == nil {
  1347. input = &UploadArchiveInput{}
  1348. }
  1349. req = c.newRequest(op, input, output)
  1350. output = &ArchiveCreationOutput{}
  1351. req.Data = output
  1352. return
  1353. }
  1354. // This operation adds an archive to a vault. This is a synchronous operation,
  1355. // and for a successful upload, your data is durably persisted. Amazon Glacier
  1356. // returns the archive ID in the x-amz-archive-id header of the response.
  1357. //
  1358. // You must use the archive ID to access your data in Amazon Glacier. After
  1359. // you upload an archive, you should save the archive ID returned so that you
  1360. // can retrieve or delete the archive later. Besides saving the archive ID,
  1361. // you can also index it and give it a friendly name to allow for better searching.
  1362. // You can also use the optional archive description field to specify how the
  1363. // archive is referred to in an external index of archives, such as you might
  1364. // create in Amazon DynamoDB. You can also get the vault inventory to obtain
  1365. // a list of archive IDs in a vault. For more information, see InitiateJob.
  1366. //
  1367. // You must provide a SHA256 tree hash of the data you are uploading. For information
  1368. // about computing a SHA256 tree hash, see Computing Checksums (http://docs.aws.amazon.com/amazonglacier/latest/dev/checksum-calculations.html).
  1369. //
  1370. // You can optionally specify an archive description of up to 1,024 printable
  1371. // ASCII characters. You can get the archive description when you either retrieve
  1372. // the archive or get the vault inventory. For more information, see InitiateJob.
  1373. // Amazon Glacier does not interpret the description in any way. An archive
  1374. // description does not need to be unique. You cannot use the description to
  1375. // retrieve or sort the archive list.
  1376. //
  1377. // Archives are immutable. After you upload an archive, you cannot edit the
  1378. // archive or its description.
  1379. //
  1380. // An AWS account has full permission to perform all operations (actions).
  1381. // However, AWS Identity and Access Management (IAM) users don't have any permissions
  1382. // by default. You must grant them explicit permission to perform specific actions.
  1383. // For more information, see Access Control Using AWS Identity and Access Management
  1384. // (IAM) (http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html).
  1385. //
  1386. // For conceptual information and underlying REST API, go to Uploading an
  1387. // Archive in Amazon Glacier (http://docs.aws.amazon.com/amazonglacier/latest/dev/uploading-an-archive.html)
  1388. // and Upload Archive (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-archive-post.html)
  1389. // in the Amazon Glacier Developer Guide.
  1390. func (c *Glacier) UploadArchive(input *UploadArchiveInput) (*ArchiveCreationOutput, error) {
  1391. req, out := c.UploadArchiveRequest(input)
  1392. err := req.Send()
  1393. return out, err
  1394. }
  1395. const opUploadMultipartPart = "UploadMultipartPart"
  1396. // UploadMultipartPartRequest generates a request for the UploadMultipartPart operation.
  1397. func (c *Glacier) UploadMultipartPartRequest(input *UploadMultipartPartInput) (req *request.Request, output *UploadMultipartPartOutput) {
  1398. op := &request.Operation{
  1399. Name: opUploadMultipartPart,
  1400. HTTPMethod: "PUT",
  1401. HTTPPath: "/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}",
  1402. }
  1403. if input == nil {
  1404. input = &UploadMultipartPartInput{}
  1405. }
  1406. req = c.newRequest(op, input, output)
  1407. output = &UploadMultipartPartOutput{}
  1408. req.Data = output
  1409. return
  1410. }
  1411. // This operation uploads a part of an archive. You can upload archive parts
  1412. // in any order. You can also upload them in parallel. You can upload up to
  1413. // 10,000 parts for a multipart upload.
  1414. //
  1415. // Amazon Glacier rejects your upload part request if any of the following
  1416. // conditions is true:
  1417. //
  1418. // SHA256 tree hash does not matchTo ensure that part data is not corrupted
  1419. // in transmission, you compute a SHA256 tree hash of the part and include it
  1420. // in your request. Upon receiving the part data, Amazon Glacier also computes
  1421. // a SHA256 tree hash. If these hash values don't match, the operation fails.
  1422. // For information about computing a SHA256 tree hash, see Computing Checksums
  1423. // (http://docs.aws.amazon.com/amazonglacier/latest/dev/checksum-calculations.html).
  1424. //
  1425. // Part size does not matchThe size of each part except the last must match
  1426. // the size specified in the corresponding InitiateMultipartUpload request.
  1427. // The size of the last part must be the same size as, or smaller than, the
  1428. // specified size.
  1429. //
  1430. // If you upload a part whose size is smaller than the part size you specified
  1431. // in your initiate multipart upload request and that part is not the last part,
  1432. // then the upload part request will succeed. However, the subsequent Complete
  1433. // Multipart Upload request will fail.
  1434. //
  1435. // Range does not alignThe byte range value in the request does not align
  1436. // with the part size specified in the corresponding initiate request. For example,
  1437. // if you specify a part size of 4194304 bytes (4 MB), then 0 to 4194303 bytes
  1438. // (4 MB - 1) and 4194304 (4 MB) to 8388607 (8 MB - 1) are valid part ranges.
  1439. // However, if you set a range value of 2 MB to 6 MB, the range does not align
  1440. // with the part size and the upload will fail. This operation is idempotent.
  1441. // If you upload the same part multiple times, the data included in the most
  1442. // recent request overwrites the previously uploaded data.
  1443. //
  1444. // An AWS account has full permission to perform all operations (actions).
  1445. // However, AWS Identity and Access Management (IAM) users don't have any permissions
  1446. // by default. You must grant them explicit permission to perform specific actions.
  1447. // For more information, see Access Control Using AWS Identity and Access Management
  1448. // (IAM) (http://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html).
  1449. //
  1450. // For conceptual information and underlying REST API, go to Uploading Large
  1451. // Archives in Parts (Multipart Upload) (http://docs.aws.amazon.com/amazonglacier/latest/dev/uploading-archive-mpu.html)
  1452. // and Upload Part (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-upload-part.html)
  1453. // in the Amazon Glacier Developer Guide.
  1454. func (c *Glacier) UploadMultipartPart(input *UploadMultipartPartInput) (*UploadMultipartPartOutput, error) {
  1455. req, out := c.UploadMultipartPartRequest(input)
  1456. err := req.Send()
  1457. return out, err
  1458. }
  1459. // Provides options to abort a multipart upload identified by the upload ID.
  1460. //
  1461. // For information about the underlying REST API, go to Abort Multipart Upload
  1462. // (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-abort-upload.html).
  1463. // For conceptual information, go to Working with Archives in Amazon Glacier
  1464. // (http://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-archives.html).
  1465. type AbortMultipartUploadInput struct {
  1466. // The AccountId value is the AWS account ID of the account that owns the vault.
  1467. // You can either specify an AWS account ID or optionally a single apos-apos
  1468. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  1469. // with the credentials used to sign the request. If you use an account ID,
  1470. // do not include any hyphens (apos-apos) in the ID.
  1471. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  1472. // The upload ID of the multipart upload to delete.
  1473. UploadId *string `location:"uri" locationName:"uploadId" type:"string" required:"true"`
  1474. // The name of the vault.
  1475. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  1476. metadataAbortMultipartUploadInput `json:"-" xml:"-"`
  1477. }
  1478. type metadataAbortMultipartUploadInput struct {
  1479. SDKShapeTraits bool `type:"structure"`
  1480. }
  1481. // String returns the string representation
  1482. func (s AbortMultipartUploadInput) String() string {
  1483. return awsutil.Prettify(s)
  1484. }
  1485. // GoString returns the string representation
  1486. func (s AbortMultipartUploadInput) GoString() string {
  1487. return s.String()
  1488. }
  1489. type AbortMultipartUploadOutput struct {
  1490. metadataAbortMultipartUploadOutput `json:"-" xml:"-"`
  1491. }
  1492. type metadataAbortMultipartUploadOutput struct {
  1493. SDKShapeTraits bool `type:"structure"`
  1494. }
  1495. // String returns the string representation
  1496. func (s AbortMultipartUploadOutput) String() string {
  1497. return awsutil.Prettify(s)
  1498. }
  1499. // GoString returns the string representation
  1500. func (s AbortMultipartUploadOutput) GoString() string {
  1501. return s.String()
  1502. }
  1503. // The input values for AbortVaultLock.
  1504. type AbortVaultLockInput struct {
  1505. // The AccountId value is the AWS account ID. This value must match the AWS
  1506. // account ID associated with the credentials used to sign the request. You
  1507. // can either specify an AWS account ID or optionally a single apos-apos (hyphen),
  1508. // in which case Amazon Glacier uses the AWS account ID associated with the
  1509. // credentials used to sign the request. If you specify your account ID, do
  1510. // not include any hyphens (apos-apos) in the ID.
  1511. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  1512. // The name of the vault.
  1513. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  1514. metadataAbortVaultLockInput `json:"-" xml:"-"`
  1515. }
  1516. type metadataAbortVaultLockInput struct {
  1517. SDKShapeTraits bool `type:"structure"`
  1518. }
  1519. // String returns the string representation
  1520. func (s AbortVaultLockInput) String() string {
  1521. return awsutil.Prettify(s)
  1522. }
  1523. // GoString returns the string representation
  1524. func (s AbortVaultLockInput) GoString() string {
  1525. return s.String()
  1526. }
  1527. type AbortVaultLockOutput struct {
  1528. metadataAbortVaultLockOutput `json:"-" xml:"-"`
  1529. }
  1530. type metadataAbortVaultLockOutput struct {
  1531. SDKShapeTraits bool `type:"structure"`
  1532. }
  1533. // String returns the string representation
  1534. func (s AbortVaultLockOutput) String() string {
  1535. return awsutil.Prettify(s)
  1536. }
  1537. // GoString returns the string representation
  1538. func (s AbortVaultLockOutput) GoString() string {
  1539. return s.String()
  1540. }
  1541. // The input values for AddTagsToVault.
  1542. type AddTagsToVaultInput struct {
  1543. // The AccountId value is the AWS account ID of the account that owns the vault.
  1544. // You can either specify an AWS account ID or optionally a single apos-apos
  1545. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  1546. // with the credentials used to sign the request. If you use an account ID,
  1547. // do not include any hyphens (apos-apos) in the ID.
  1548. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  1549. // The tags to add to the vault. Each tag is composed of a key and a value.
  1550. // The value can be an empty string.
  1551. Tags map[string]*string `type:"map"`
  1552. // The name of the vault.
  1553. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  1554. metadataAddTagsToVaultInput `json:"-" xml:"-"`
  1555. }
  1556. type metadataAddTagsToVaultInput struct {
  1557. SDKShapeTraits bool `type:"structure"`
  1558. }
  1559. // String returns the string representation
  1560. func (s AddTagsToVaultInput) String() string {
  1561. return awsutil.Prettify(s)
  1562. }
  1563. // GoString returns the string representation
  1564. func (s AddTagsToVaultInput) GoString() string {
  1565. return s.String()
  1566. }
  1567. type AddTagsToVaultOutput struct {
  1568. metadataAddTagsToVaultOutput `json:"-" xml:"-"`
  1569. }
  1570. type metadataAddTagsToVaultOutput struct {
  1571. SDKShapeTraits bool `type:"structure"`
  1572. }
  1573. // String returns the string representation
  1574. func (s AddTagsToVaultOutput) String() string {
  1575. return awsutil.Prettify(s)
  1576. }
  1577. // GoString returns the string representation
  1578. func (s AddTagsToVaultOutput) GoString() string {
  1579. return s.String()
  1580. }
  1581. // Contains the Amazon Glacier response to your request.
  1582. //
  1583. // For information about the underlying REST API, go to Upload Archive (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-archive-post.html).
  1584. // For conceptual information, go to Working with Archives in Amazon Glacier
  1585. // (http://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-archives.html).
  1586. type ArchiveCreationOutput struct {
  1587. // The ID of the archive. This value is also included as part of the location.
  1588. ArchiveId *string `location:"header" locationName:"x-amz-archive-id" type:"string"`
  1589. // The checksum of the archive computed by Amazon Glacier.
  1590. Checksum *string `location:"header" locationName:"x-amz-sha256-tree-hash" type:"string"`
  1591. // The relative URI path of the newly added archive resource.
  1592. Location *string `location:"header" locationName:"Location" type:"string"`
  1593. metadataArchiveCreationOutput `json:"-" xml:"-"`
  1594. }
  1595. type metadataArchiveCreationOutput struct {
  1596. SDKShapeTraits bool `type:"structure"`
  1597. }
  1598. // String returns the string representation
  1599. func (s ArchiveCreationOutput) String() string {
  1600. return awsutil.Prettify(s)
  1601. }
  1602. // GoString returns the string representation
  1603. func (s ArchiveCreationOutput) GoString() string {
  1604. return s.String()
  1605. }
  1606. // Provides options to complete a multipart upload operation. This informs Amazon
  1607. // Glacier that all the archive parts have been uploaded and Amazon Glacier
  1608. // can now assemble the archive from the uploaded parts. After assembling and
  1609. // saving the archive to the vault, Amazon Glacier returns the URI path of the
  1610. // newly created archive resource.
  1611. type CompleteMultipartUploadInput struct {
  1612. // The AccountId value is the AWS account ID of the account that owns the vault.
  1613. // You can either specify an AWS account ID or optionally a single apos-apos
  1614. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  1615. // with the credentials used to sign the request. If you use an account ID,
  1616. // do not include any hyphens (apos-apos) in the ID.
  1617. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  1618. // The total size, in bytes, of the entire archive. This value should be the
  1619. // sum of all the sizes of the individual parts that you uploaded.
  1620. ArchiveSize *string `location:"header" locationName:"x-amz-archive-size" type:"string"`
  1621. // The SHA256 tree hash of the entire archive. It is the tree hash of SHA256
  1622. // tree hash of the individual parts. If the value you specify in the request
  1623. // does not match the SHA256 tree hash of the final assembled archive as computed
  1624. // by Amazon Glacier, Amazon Glacier returns an error and the request fails.
  1625. Checksum *string `location:"header" locationName:"x-amz-sha256-tree-hash" type:"string"`
  1626. // The upload ID of the multipart upload.
  1627. UploadId *string `location:"uri" locationName:"uploadId" type:"string" required:"true"`
  1628. // The name of the vault.
  1629. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  1630. metadataCompleteMultipartUploadInput `json:"-" xml:"-"`
  1631. }
  1632. type metadataCompleteMultipartUploadInput struct {
  1633. SDKShapeTraits bool `type:"structure"`
  1634. }
  1635. // String returns the string representation
  1636. func (s CompleteMultipartUploadInput) String() string {
  1637. return awsutil.Prettify(s)
  1638. }
  1639. // GoString returns the string representation
  1640. func (s CompleteMultipartUploadInput) GoString() string {
  1641. return s.String()
  1642. }
  1643. // The input values for CompleteVaultLock.
  1644. type CompleteVaultLockInput struct {
  1645. // The AccountId value is the AWS account ID. This value must match the AWS
  1646. // account ID associated with the credentials used to sign the request. You
  1647. // can either specify an AWS account ID or optionally a single apos-apos (hyphen),
  1648. // in which case Amazon Glacier uses the AWS account ID associated with the
  1649. // credentials used to sign the request. If you specify your account ID, do
  1650. // not include any hyphens (apos-apos) in the ID.
  1651. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  1652. // The lockId value is the lock ID obtained from a InitiateVaultLock request.
  1653. LockId *string `location:"uri" locationName:"lockId" type:"string" required:"true"`
  1654. // The name of the vault.
  1655. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  1656. metadataCompleteVaultLockInput `json:"-" xml:"-"`
  1657. }
  1658. type metadataCompleteVaultLockInput struct {
  1659. SDKShapeTraits bool `type:"structure"`
  1660. }
  1661. // String returns the string representation
  1662. func (s CompleteVaultLockInput) String() string {
  1663. return awsutil.Prettify(s)
  1664. }
  1665. // GoString returns the string representation
  1666. func (s CompleteVaultLockInput) GoString() string {
  1667. return s.String()
  1668. }
  1669. type CompleteVaultLockOutput struct {
  1670. metadataCompleteVaultLockOutput `json:"-" xml:"-"`
  1671. }
  1672. type metadataCompleteVaultLockOutput struct {
  1673. SDKShapeTraits bool `type:"structure"`
  1674. }
  1675. // String returns the string representation
  1676. func (s CompleteVaultLockOutput) String() string {
  1677. return awsutil.Prettify(s)
  1678. }
  1679. // GoString returns the string representation
  1680. func (s CompleteVaultLockOutput) GoString() string {
  1681. return s.String()
  1682. }
  1683. // Provides options to create a vault.
  1684. type CreateVaultInput struct {
  1685. // The AccountId value is the AWS account ID. This value must match the AWS
  1686. // account ID associated with the credentials used to sign the request. You
  1687. // can either specify an AWS account ID or optionally a single apos-apos (hyphen),
  1688. // in which case Amazon Glacier uses the AWS account ID associated with the
  1689. // credentials used to sign the request. If you specify your account ID, do
  1690. // not include any hyphens (apos-apos) in the ID.
  1691. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  1692. // The name of the vault.
  1693. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  1694. metadataCreateVaultInput `json:"-" xml:"-"`
  1695. }
  1696. type metadataCreateVaultInput struct {
  1697. SDKShapeTraits bool `type:"structure"`
  1698. }
  1699. // String returns the string representation
  1700. func (s CreateVaultInput) String() string {
  1701. return awsutil.Prettify(s)
  1702. }
  1703. // GoString returns the string representation
  1704. func (s CreateVaultInput) GoString() string {
  1705. return s.String()
  1706. }
  1707. // Contains the Amazon Glacier response to your request.
  1708. type CreateVaultOutput struct {
  1709. // The URI of the vault that was created.
  1710. Location *string `location:"header" locationName:"Location" type:"string"`
  1711. metadataCreateVaultOutput `json:"-" xml:"-"`
  1712. }
  1713. type metadataCreateVaultOutput struct {
  1714. SDKShapeTraits bool `type:"structure"`
  1715. }
  1716. // String returns the string representation
  1717. func (s CreateVaultOutput) String() string {
  1718. return awsutil.Prettify(s)
  1719. }
  1720. // GoString returns the string representation
  1721. func (s CreateVaultOutput) GoString() string {
  1722. return s.String()
  1723. }
  1724. // Data retrieval policy.
  1725. type DataRetrievalPolicy struct {
  1726. // The policy rule. Although this is a list type, currently there must be only
  1727. // one rule, which contains a Strategy field and optionally a BytesPerHour field.
  1728. Rules []*DataRetrievalRule `type:"list"`
  1729. metadataDataRetrievalPolicy `json:"-" xml:"-"`
  1730. }
  1731. type metadataDataRetrievalPolicy struct {
  1732. SDKShapeTraits bool `type:"structure"`
  1733. }
  1734. // String returns the string representation
  1735. func (s DataRetrievalPolicy) String() string {
  1736. return awsutil.Prettify(s)
  1737. }
  1738. // GoString returns the string representation
  1739. func (s DataRetrievalPolicy) GoString() string {
  1740. return s.String()
  1741. }
  1742. // Data retrieval policy rule.
  1743. type DataRetrievalRule struct {
  1744. // The maximum number of bytes that can be retrieved in an hour.
  1745. //
  1746. // This field is required only if the value of the Strategy field is BytesPerHour.
  1747. // Your PUT operation will be rejected if the Strategy field is not set to BytesPerHour
  1748. // and you set this field.
  1749. BytesPerHour *int64 `type:"long"`
  1750. // The type of data retrieval policy to set.
  1751. //
  1752. // Valid values: BytesPerHour|FreeTier|None
  1753. Strategy *string `type:"string"`
  1754. metadataDataRetrievalRule `json:"-" xml:"-"`
  1755. }
  1756. type metadataDataRetrievalRule struct {
  1757. SDKShapeTraits bool `type:"structure"`
  1758. }
  1759. // String returns the string representation
  1760. func (s DataRetrievalRule) String() string {
  1761. return awsutil.Prettify(s)
  1762. }
  1763. // GoString returns the string representation
  1764. func (s DataRetrievalRule) GoString() string {
  1765. return s.String()
  1766. }
  1767. // Provides options for deleting an archive from an Amazon Glacier vault.
  1768. type DeleteArchiveInput struct {
  1769. // The AccountId value is the AWS account ID of the account that owns the vault.
  1770. // You can either specify an AWS account ID or optionally a single apos-apos
  1771. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  1772. // with the credentials used to sign the request. If you use an account ID,
  1773. // do not include any hyphens (apos-apos) in the ID.
  1774. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  1775. // The ID of the archive to delete.
  1776. ArchiveId *string `location:"uri" locationName:"archiveId" type:"string" required:"true"`
  1777. // The name of the vault.
  1778. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  1779. metadataDeleteArchiveInput `json:"-" xml:"-"`
  1780. }
  1781. type metadataDeleteArchiveInput struct {
  1782. SDKShapeTraits bool `type:"structure"`
  1783. }
  1784. // String returns the string representation
  1785. func (s DeleteArchiveInput) String() string {
  1786. return awsutil.Prettify(s)
  1787. }
  1788. // GoString returns the string representation
  1789. func (s DeleteArchiveInput) GoString() string {
  1790. return s.String()
  1791. }
  1792. type DeleteArchiveOutput struct {
  1793. metadataDeleteArchiveOutput `json:"-" xml:"-"`
  1794. }
  1795. type metadataDeleteArchiveOutput struct {
  1796. SDKShapeTraits bool `type:"structure"`
  1797. }
  1798. // String returns the string representation
  1799. func (s DeleteArchiveOutput) String() string {
  1800. return awsutil.Prettify(s)
  1801. }
  1802. // GoString returns the string representation
  1803. func (s DeleteArchiveOutput) GoString() string {
  1804. return s.String()
  1805. }
  1806. // DeleteVaultAccessPolicy input.
  1807. type DeleteVaultAccessPolicyInput struct {
  1808. // The AccountId value is the AWS account ID of the account that owns the vault.
  1809. // You can either specify an AWS account ID or optionally a single apos-apos
  1810. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  1811. // with the credentials used to sign the request. If you use an account ID,
  1812. // do not include any hyphens (apos-apos) in the ID.
  1813. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  1814. // The name of the vault.
  1815. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  1816. metadataDeleteVaultAccessPolicyInput `json:"-" xml:"-"`
  1817. }
  1818. type metadataDeleteVaultAccessPolicyInput struct {
  1819. SDKShapeTraits bool `type:"structure"`
  1820. }
  1821. // String returns the string representation
  1822. func (s DeleteVaultAccessPolicyInput) String() string {
  1823. return awsutil.Prettify(s)
  1824. }
  1825. // GoString returns the string representation
  1826. func (s DeleteVaultAccessPolicyInput) GoString() string {
  1827. return s.String()
  1828. }
  1829. type DeleteVaultAccessPolicyOutput struct {
  1830. metadataDeleteVaultAccessPolicyOutput `json:"-" xml:"-"`
  1831. }
  1832. type metadataDeleteVaultAccessPolicyOutput struct {
  1833. SDKShapeTraits bool `type:"structure"`
  1834. }
  1835. // String returns the string representation
  1836. func (s DeleteVaultAccessPolicyOutput) String() string {
  1837. return awsutil.Prettify(s)
  1838. }
  1839. // GoString returns the string representation
  1840. func (s DeleteVaultAccessPolicyOutput) GoString() string {
  1841. return s.String()
  1842. }
  1843. // Provides options for deleting a vault from Amazon Glacier.
  1844. type DeleteVaultInput struct {
  1845. // The AccountId value is the AWS account ID of the account that owns the vault.
  1846. // You can either specify an AWS account ID or optionally a single apos-apos
  1847. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  1848. // with the credentials used to sign the request. If you use an account ID,
  1849. // do not include any hyphens (apos-apos) in the ID.
  1850. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  1851. // The name of the vault.
  1852. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  1853. metadataDeleteVaultInput `json:"-" xml:"-"`
  1854. }
  1855. type metadataDeleteVaultInput struct {
  1856. SDKShapeTraits bool `type:"structure"`
  1857. }
  1858. // String returns the string representation
  1859. func (s DeleteVaultInput) String() string {
  1860. return awsutil.Prettify(s)
  1861. }
  1862. // GoString returns the string representation
  1863. func (s DeleteVaultInput) GoString() string {
  1864. return s.String()
  1865. }
  1866. // Provides options for deleting a vault notification configuration from an
  1867. // Amazon Glacier vault.
  1868. type DeleteVaultNotificationsInput struct {
  1869. // The AccountId value is the AWS account ID of the account that owns the vault.
  1870. // You can either specify an AWS account ID or optionally a single apos-apos
  1871. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  1872. // with the credentials used to sign the request. If you use an account ID,
  1873. // do not include any hyphens (apos-apos) in the ID.
  1874. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  1875. // The name of the vault.
  1876. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  1877. metadataDeleteVaultNotificationsInput `json:"-" xml:"-"`
  1878. }
  1879. type metadataDeleteVaultNotificationsInput struct {
  1880. SDKShapeTraits bool `type:"structure"`
  1881. }
  1882. // String returns the string representation
  1883. func (s DeleteVaultNotificationsInput) String() string {
  1884. return awsutil.Prettify(s)
  1885. }
  1886. // GoString returns the string representation
  1887. func (s DeleteVaultNotificationsInput) GoString() string {
  1888. return s.String()
  1889. }
  1890. type DeleteVaultNotificationsOutput struct {
  1891. metadataDeleteVaultNotificationsOutput `json:"-" xml:"-"`
  1892. }
  1893. type metadataDeleteVaultNotificationsOutput struct {
  1894. SDKShapeTraits bool `type:"structure"`
  1895. }
  1896. // String returns the string representation
  1897. func (s DeleteVaultNotificationsOutput) String() string {
  1898. return awsutil.Prettify(s)
  1899. }
  1900. // GoString returns the string representation
  1901. func (s DeleteVaultNotificationsOutput) GoString() string {
  1902. return s.String()
  1903. }
  1904. type DeleteVaultOutput struct {
  1905. metadataDeleteVaultOutput `json:"-" xml:"-"`
  1906. }
  1907. type metadataDeleteVaultOutput struct {
  1908. SDKShapeTraits bool `type:"structure"`
  1909. }
  1910. // String returns the string representation
  1911. func (s DeleteVaultOutput) String() string {
  1912. return awsutil.Prettify(s)
  1913. }
  1914. // GoString returns the string representation
  1915. func (s DeleteVaultOutput) GoString() string {
  1916. return s.String()
  1917. }
  1918. // Provides options for retrieving a job description.
  1919. type DescribeJobInput struct {
  1920. // The AccountId value is the AWS account ID of the account that owns the vault.
  1921. // You can either specify an AWS account ID or optionally a single apos-apos
  1922. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  1923. // with the credentials used to sign the request. If you use an account ID,
  1924. // do not include any hyphens (apos-apos) in the ID.
  1925. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  1926. // The ID of the job to describe.
  1927. JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"`
  1928. // The name of the vault.
  1929. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  1930. metadataDescribeJobInput `json:"-" xml:"-"`
  1931. }
  1932. type metadataDescribeJobInput struct {
  1933. SDKShapeTraits bool `type:"structure"`
  1934. }
  1935. // String returns the string representation
  1936. func (s DescribeJobInput) String() string {
  1937. return awsutil.Prettify(s)
  1938. }
  1939. // GoString returns the string representation
  1940. func (s DescribeJobInput) GoString() string {
  1941. return s.String()
  1942. }
  1943. // Provides options for retrieving metadata for a specific vault in Amazon Glacier.
  1944. type DescribeVaultInput struct {
  1945. // The AccountId value is the AWS account ID of the account that owns the vault.
  1946. // You can either specify an AWS account ID or optionally a single apos-apos
  1947. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  1948. // with the credentials used to sign the request. If you use an account ID,
  1949. // do not include any hyphens (apos-apos) in the ID.
  1950. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  1951. // The name of the vault.
  1952. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  1953. metadataDescribeVaultInput `json:"-" xml:"-"`
  1954. }
  1955. type metadataDescribeVaultInput struct {
  1956. SDKShapeTraits bool `type:"structure"`
  1957. }
  1958. // String returns the string representation
  1959. func (s DescribeVaultInput) String() string {
  1960. return awsutil.Prettify(s)
  1961. }
  1962. // GoString returns the string representation
  1963. func (s DescribeVaultInput) GoString() string {
  1964. return s.String()
  1965. }
  1966. // Contains the Amazon Glacier response to your request.
  1967. type DescribeVaultOutput struct {
  1968. // The UTC date when the vault was created. A string representation of ISO 8601
  1969. // date format, for example, "2012-03-20T17:03:43.221Z".
  1970. CreationDate *string `type:"string"`
  1971. // The UTC date when Amazon Glacier completed the last vault inventory. A string
  1972. // representation of ISO 8601 date format, for example, "2012-03-20T17:03:43.221Z".
  1973. LastInventoryDate *string `type:"string"`
  1974. // The number of archives in the vault as of the last inventory date. This field
  1975. // will return null if an inventory has not yet run on the vault, for example,
  1976. // if you just created the vault.
  1977. NumberOfArchives *int64 `type:"long"`
  1978. // Total size, in bytes, of the archives in the vault as of the last inventory
  1979. // date. This field will return null if an inventory has not yet run on the
  1980. // vault, for example, if you just created the vault.
  1981. SizeInBytes *int64 `type:"long"`
  1982. // The Amazon Resource Name (ARN) of the vault.
  1983. VaultARN *string `type:"string"`
  1984. // The name of the vault.
  1985. VaultName *string `type:"string"`
  1986. metadataDescribeVaultOutput `json:"-" xml:"-"`
  1987. }
  1988. type metadataDescribeVaultOutput struct {
  1989. SDKShapeTraits bool `type:"structure"`
  1990. }
  1991. // String returns the string representation
  1992. func (s DescribeVaultOutput) String() string {
  1993. return awsutil.Prettify(s)
  1994. }
  1995. // GoString returns the string representation
  1996. func (s DescribeVaultOutput) GoString() string {
  1997. return s.String()
  1998. }
  1999. // Input for GetDataRetrievalPolicy.
  2000. type GetDataRetrievalPolicyInput struct {
  2001. // The AccountId value is the AWS account ID. This value must match the AWS
  2002. // account ID associated with the credentials used to sign the request. You
  2003. // can either specify an AWS account ID or optionally a single apos-apos (hyphen),
  2004. // in which case Amazon Glacier uses the AWS account ID associated with the
  2005. // credentials used to sign the request. If you specify your account ID, do
  2006. // not include any hyphens (apos-apos) in the ID.
  2007. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  2008. metadataGetDataRetrievalPolicyInput `json:"-" xml:"-"`
  2009. }
  2010. type metadataGetDataRetrievalPolicyInput struct {
  2011. SDKShapeTraits bool `type:"structure"`
  2012. }
  2013. // String returns the string representation
  2014. func (s GetDataRetrievalPolicyInput) String() string {
  2015. return awsutil.Prettify(s)
  2016. }
  2017. // GoString returns the string representation
  2018. func (s GetDataRetrievalPolicyInput) GoString() string {
  2019. return s.String()
  2020. }
  2021. // Contains the Amazon Glacier response to the GetDataRetrievalPolicy request.
  2022. type GetDataRetrievalPolicyOutput struct {
  2023. // Contains the returned data retrieval policy in JSON format.
  2024. Policy *DataRetrievalPolicy `type:"structure"`
  2025. metadataGetDataRetrievalPolicyOutput `json:"-" xml:"-"`
  2026. }
  2027. type metadataGetDataRetrievalPolicyOutput struct {
  2028. SDKShapeTraits bool `type:"structure"`
  2029. }
  2030. // String returns the string representation
  2031. func (s GetDataRetrievalPolicyOutput) String() string {
  2032. return awsutil.Prettify(s)
  2033. }
  2034. // GoString returns the string representation
  2035. func (s GetDataRetrievalPolicyOutput) GoString() string {
  2036. return s.String()
  2037. }
  2038. // Provides options for downloading output of an Amazon Glacier job.
  2039. type GetJobOutputInput struct {
  2040. // The AccountId value is the AWS account ID of the account that owns the vault.
  2041. // You can either specify an AWS account ID or optionally a single apos-apos
  2042. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  2043. // with the credentials used to sign the request. If you use an account ID,
  2044. // do not include any hyphens (apos-apos) in the ID.
  2045. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  2046. // The job ID whose data is downloaded.
  2047. JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"`
  2048. // The range of bytes to retrieve from the output. For example, if you want
  2049. // to download the first 1,048,576 bytes, specify "Range: bytes=0-1048575".
  2050. // By default, this operation downloads the entire output.
  2051. Range *string `location:"header" locationName:"Range" type:"string"`
  2052. // The name of the vault.
  2053. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  2054. metadataGetJobOutputInput `json:"-" xml:"-"`
  2055. }
  2056. type metadataGetJobOutputInput struct {
  2057. SDKShapeTraits bool `type:"structure"`
  2058. }
  2059. // String returns the string representation
  2060. func (s GetJobOutputInput) String() string {
  2061. return awsutil.Prettify(s)
  2062. }
  2063. // GoString returns the string representation
  2064. func (s GetJobOutputInput) GoString() string {
  2065. return s.String()
  2066. }
  2067. // Contains the Amazon Glacier response to your request.
  2068. type GetJobOutputOutput struct {
  2069. // Indicates the range units accepted. For more information, go to RFC2616 (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).
  2070. AcceptRanges *string `location:"header" locationName:"Accept-Ranges" type:"string"`
  2071. // The description of an archive.
  2072. ArchiveDescription *string `location:"header" locationName:"x-amz-archive-description" type:"string"`
  2073. // The job data, either archive data or inventory data.
  2074. Body io.ReadCloser `locationName:"body" type:"blob"`
  2075. // The checksum of the data in the response. This header is returned only when
  2076. // retrieving the output for an archive retrieval job. Furthermore, this header
  2077. // appears only under the following conditions: You get the entire range of
  2078. // the archive. You request a range to return of the archive that starts and
  2079. // ends on a multiple of 1 MB. For example, if you have an 3.1 MB archive and
  2080. // you specify a range to return that starts at 1 MB and ends at 2 MB, then
  2081. // the x-amz-sha256-tree-hash is returned as a response header. You request
  2082. // a range of the archive to return that starts on a multiple of 1 MB and goes
  2083. // to the end of the archive. For example, if you have a 3.1 MB archive and
  2084. // you specify a range that starts at 2 MB and ends at 3.1 MB (the end of the
  2085. // archive), then the x-amz-sha256-tree-hash is returned as a response header.
  2086. Checksum *string `location:"header" locationName:"x-amz-sha256-tree-hash" type:"string"`
  2087. // The range of bytes returned by Amazon Glacier. If only partial output is
  2088. // downloaded, the response provides the range of bytes Amazon Glacier returned.
  2089. // For example, bytes 0-1048575/8388608 returns the first 1 MB from 8 MB.
  2090. ContentRange *string `location:"header" locationName:"Content-Range" type:"string"`
  2091. // The Content-Type depends on whether the job output is an archive or a vault
  2092. // inventory. For archive data, the Content-Type is application/octet-stream.
  2093. // For vault inventory, if you requested CSV format when you initiated the job,
  2094. // the Content-Type is text/csv. Otherwise, by default, vault inventory is returned
  2095. // as JSON, and the Content-Type is application/json.
  2096. ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
  2097. // The HTTP response code for a job output request. The value depends on whether
  2098. // a range was specified in the request.
  2099. Status *int64 `location:"statusCode" locationName:"status" type:"integer"`
  2100. metadataGetJobOutputOutput `json:"-" xml:"-"`
  2101. }
  2102. type metadataGetJobOutputOutput struct {
  2103. SDKShapeTraits bool `type:"structure" payload:"Body"`
  2104. }
  2105. // String returns the string representation
  2106. func (s GetJobOutputOutput) String() string {
  2107. return awsutil.Prettify(s)
  2108. }
  2109. // GoString returns the string representation
  2110. func (s GetJobOutputOutput) GoString() string {
  2111. return s.String()
  2112. }
  2113. // Input for GetVaultAccessPolicy.
  2114. type GetVaultAccessPolicyInput struct {
  2115. // The AccountId value is the AWS account ID of the account that owns the vault.
  2116. // You can either specify an AWS account ID or optionally a single apos-apos
  2117. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  2118. // with the credentials used to sign the request. If you use an account ID,
  2119. // do not include any hyphens (apos-apos) in the ID.
  2120. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  2121. // The name of the vault.
  2122. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  2123. metadataGetVaultAccessPolicyInput `json:"-" xml:"-"`
  2124. }
  2125. type metadataGetVaultAccessPolicyInput struct {
  2126. SDKShapeTraits bool `type:"structure"`
  2127. }
  2128. // String returns the string representation
  2129. func (s GetVaultAccessPolicyInput) String() string {
  2130. return awsutil.Prettify(s)
  2131. }
  2132. // GoString returns the string representation
  2133. func (s GetVaultAccessPolicyInput) GoString() string {
  2134. return s.String()
  2135. }
  2136. // Output for GetVaultAccessPolicy.
  2137. type GetVaultAccessPolicyOutput struct {
  2138. // Contains the returned vault access policy as a JSON string.
  2139. Policy *VaultAccessPolicy `locationName:"policy" type:"structure"`
  2140. metadataGetVaultAccessPolicyOutput `json:"-" xml:"-"`
  2141. }
  2142. type metadataGetVaultAccessPolicyOutput struct {
  2143. SDKShapeTraits bool `type:"structure" payload:"Policy"`
  2144. }
  2145. // String returns the string representation
  2146. func (s GetVaultAccessPolicyOutput) String() string {
  2147. return awsutil.Prettify(s)
  2148. }
  2149. // GoString returns the string representation
  2150. func (s GetVaultAccessPolicyOutput) GoString() string {
  2151. return s.String()
  2152. }
  2153. // The input values for GetVaultLock.
  2154. type GetVaultLockInput struct {
  2155. // The AccountId value is the AWS account ID of the account that owns the vault.
  2156. // You can either specify an AWS account ID or optionally a single apos-apos
  2157. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  2158. // with the credentials used to sign the request. If you use an account ID,
  2159. // do not include any hyphens (apos-apos) in the ID.
  2160. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  2161. // The name of the vault.
  2162. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  2163. metadataGetVaultLockInput `json:"-" xml:"-"`
  2164. }
  2165. type metadataGetVaultLockInput struct {
  2166. SDKShapeTraits bool `type:"structure"`
  2167. }
  2168. // String returns the string representation
  2169. func (s GetVaultLockInput) String() string {
  2170. return awsutil.Prettify(s)
  2171. }
  2172. // GoString returns the string representation
  2173. func (s GetVaultLockInput) GoString() string {
  2174. return s.String()
  2175. }
  2176. // Contains the Amazon Glacier response to your request.
  2177. type GetVaultLockOutput struct {
  2178. // The UTC date and time at which the vault lock was put into the InProgress
  2179. // state.
  2180. CreationDate *string `type:"string"`
  2181. // The UTC date and time at which the lock ID expires. This value can be null
  2182. // if the vault lock is in a Locked state.
  2183. ExpirationDate *string `type:"string"`
  2184. // The vault lock policy as a JSON string, which uses "\" as an escape character.
  2185. Policy *string `type:"string"`
  2186. // The state of the vault lock. InProgress or Locked.
  2187. State *string `type:"string"`
  2188. metadataGetVaultLockOutput `json:"-" xml:"-"`
  2189. }
  2190. type metadataGetVaultLockOutput struct {
  2191. SDKShapeTraits bool `type:"structure"`
  2192. }
  2193. // String returns the string representation
  2194. func (s GetVaultLockOutput) String() string {
  2195. return awsutil.Prettify(s)
  2196. }
  2197. // GoString returns the string representation
  2198. func (s GetVaultLockOutput) GoString() string {
  2199. return s.String()
  2200. }
  2201. // Provides options for retrieving the notification configuration set on an
  2202. // Amazon Glacier vault.
  2203. type GetVaultNotificationsInput struct {
  2204. // The AccountId value is the AWS account ID of the account that owns the vault.
  2205. // You can either specify an AWS account ID or optionally a single apos-apos
  2206. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  2207. // with the credentials used to sign the request. If you use an account ID,
  2208. // do not include any hyphens (apos-apos) in the ID.
  2209. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  2210. // The name of the vault.
  2211. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  2212. metadataGetVaultNotificationsInput `json:"-" xml:"-"`
  2213. }
  2214. type metadataGetVaultNotificationsInput struct {
  2215. SDKShapeTraits bool `type:"structure"`
  2216. }
  2217. // String returns the string representation
  2218. func (s GetVaultNotificationsInput) String() string {
  2219. return awsutil.Prettify(s)
  2220. }
  2221. // GoString returns the string representation
  2222. func (s GetVaultNotificationsInput) GoString() string {
  2223. return s.String()
  2224. }
  2225. // Contains the Amazon Glacier response to your request.
  2226. type GetVaultNotificationsOutput struct {
  2227. // Returns the notification configuration set on the vault.
  2228. VaultNotificationConfig *VaultNotificationConfig `locationName:"vaultNotificationConfig" type:"structure"`
  2229. metadataGetVaultNotificationsOutput `json:"-" xml:"-"`
  2230. }
  2231. type metadataGetVaultNotificationsOutput struct {
  2232. SDKShapeTraits bool `type:"structure" payload:"VaultNotificationConfig"`
  2233. }
  2234. // String returns the string representation
  2235. func (s GetVaultNotificationsOutput) String() string {
  2236. return awsutil.Prettify(s)
  2237. }
  2238. // GoString returns the string representation
  2239. func (s GetVaultNotificationsOutput) GoString() string {
  2240. return s.String()
  2241. }
  2242. // Provides options for initiating an Amazon Glacier job.
  2243. type InitiateJobInput struct {
  2244. // The AccountId value is the AWS account ID of the account that owns the vault.
  2245. // You can either specify an AWS account ID or optionally a single apos-apos
  2246. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  2247. // with the credentials used to sign the request. If you use an account ID,
  2248. // do not include any hyphens (apos-apos) in the ID.
  2249. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  2250. // Provides options for specifying job information.
  2251. JobParameters *JobParameters `locationName:"jobParameters" type:"structure"`
  2252. // The name of the vault.
  2253. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  2254. metadataInitiateJobInput `json:"-" xml:"-"`
  2255. }
  2256. type metadataInitiateJobInput struct {
  2257. SDKShapeTraits bool `type:"structure" payload:"JobParameters"`
  2258. }
  2259. // String returns the string representation
  2260. func (s InitiateJobInput) String() string {
  2261. return awsutil.Prettify(s)
  2262. }
  2263. // GoString returns the string representation
  2264. func (s InitiateJobInput) GoString() string {
  2265. return s.String()
  2266. }
  2267. // Contains the Amazon Glacier response to your request.
  2268. type InitiateJobOutput struct {
  2269. // The ID of the job.
  2270. JobId *string `location:"header" locationName:"x-amz-job-id" type:"string"`
  2271. // The relative URI path of the job.
  2272. Location *string `location:"header" locationName:"Location" type:"string"`
  2273. metadataInitiateJobOutput `json:"-" xml:"-"`
  2274. }
  2275. type metadataInitiateJobOutput struct {
  2276. SDKShapeTraits bool `type:"structure"`
  2277. }
  2278. // String returns the string representation
  2279. func (s InitiateJobOutput) String() string {
  2280. return awsutil.Prettify(s)
  2281. }
  2282. // GoString returns the string representation
  2283. func (s InitiateJobOutput) GoString() string {
  2284. return s.String()
  2285. }
  2286. // Provides options for initiating a multipart upload to an Amazon Glacier vault.
  2287. type InitiateMultipartUploadInput struct {
  2288. // The AccountId value is the AWS account ID of the account that owns the vault.
  2289. // You can either specify an AWS account ID or optionally a single apos-apos
  2290. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  2291. // with the credentials used to sign the request. If you use an account ID,
  2292. // do not include any hyphens (apos-apos) in the ID.
  2293. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  2294. // The archive description that you are uploading in parts.
  2295. //
  2296. // The part size must be a megabyte (1024 KB) multiplied by a power of 2, for
  2297. // example 1048576 (1 MB), 2097152 (2 MB), 4194304 (4 MB), 8388608 (8 MB), and
  2298. // so on. The minimum allowable part size is 1 MB, and the maximum is 4 GB (4096
  2299. // MB).
  2300. ArchiveDescription *string `location:"header" locationName:"x-amz-archive-description" type:"string"`
  2301. // The size of each part except the last, in bytes. The last part can be smaller
  2302. // than this part size.
  2303. PartSize *string `location:"header" locationName:"x-amz-part-size" type:"string"`
  2304. // The name of the vault.
  2305. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  2306. metadataInitiateMultipartUploadInput `json:"-" xml:"-"`
  2307. }
  2308. type metadataInitiateMultipartUploadInput struct {
  2309. SDKShapeTraits bool `type:"structure"`
  2310. }
  2311. // String returns the string representation
  2312. func (s InitiateMultipartUploadInput) String() string {
  2313. return awsutil.Prettify(s)
  2314. }
  2315. // GoString returns the string representation
  2316. func (s InitiateMultipartUploadInput) GoString() string {
  2317. return s.String()
  2318. }
  2319. // The Amazon Glacier response to your request.
  2320. type InitiateMultipartUploadOutput struct {
  2321. // The relative URI path of the multipart upload ID Amazon Glacier created.
  2322. Location *string `location:"header" locationName:"Location" type:"string"`
  2323. // The ID of the multipart upload. This value is also included as part of the
  2324. // location.
  2325. UploadId *string `location:"header" locationName:"x-amz-multipart-upload-id" type:"string"`
  2326. metadataInitiateMultipartUploadOutput `json:"-" xml:"-"`
  2327. }
  2328. type metadataInitiateMultipartUploadOutput struct {
  2329. SDKShapeTraits bool `type:"structure"`
  2330. }
  2331. // String returns the string representation
  2332. func (s InitiateMultipartUploadOutput) String() string {
  2333. return awsutil.Prettify(s)
  2334. }
  2335. // GoString returns the string representation
  2336. func (s InitiateMultipartUploadOutput) GoString() string {
  2337. return s.String()
  2338. }
  2339. // The input values for InitiateVaultLock.
  2340. type InitiateVaultLockInput struct {
  2341. // The AccountId value is the AWS account ID. This value must match the AWS
  2342. // account ID associated with the credentials used to sign the request. You
  2343. // can either specify an AWS account ID or optionally a single apos-apos (hyphen),
  2344. // in which case Amazon Glacier uses the AWS account ID associated with the
  2345. // credentials used to sign the request. If you specify your account ID, do
  2346. // not include any hyphens (apos-apos) in the ID.
  2347. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  2348. // The vault lock policy as a JSON string, which uses "\" as an escape character.
  2349. Policy *VaultLockPolicy `locationName:"policy" type:"structure"`
  2350. // The name of the vault.
  2351. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  2352. metadataInitiateVaultLockInput `json:"-" xml:"-"`
  2353. }
  2354. type metadataInitiateVaultLockInput struct {
  2355. SDKShapeTraits bool `type:"structure" payload:"Policy"`
  2356. }
  2357. // String returns the string representation
  2358. func (s InitiateVaultLockInput) String() string {
  2359. return awsutil.Prettify(s)
  2360. }
  2361. // GoString returns the string representation
  2362. func (s InitiateVaultLockInput) GoString() string {
  2363. return s.String()
  2364. }
  2365. // Contains the Amazon Glacier response to your request.
  2366. type InitiateVaultLockOutput struct {
  2367. // The lock ID, which is used to complete the vault locking process.
  2368. LockId *string `location:"header" locationName:"x-amz-lock-id" type:"string"`
  2369. metadataInitiateVaultLockOutput `json:"-" xml:"-"`
  2370. }
  2371. type metadataInitiateVaultLockOutput struct {
  2372. SDKShapeTraits bool `type:"structure"`
  2373. }
  2374. // String returns the string representation
  2375. func (s InitiateVaultLockOutput) String() string {
  2376. return awsutil.Prettify(s)
  2377. }
  2378. // GoString returns the string representation
  2379. func (s InitiateVaultLockOutput) GoString() string {
  2380. return s.String()
  2381. }
  2382. // Describes the options for a range inventory retrieval job.
  2383. type InventoryRetrievalJobDescription struct {
  2384. // The end of the date range in UTC for vault inventory retrieval that includes
  2385. // archives created before this date. A string representation of ISO 8601 date
  2386. // format, for example, 2013-03-20T17:03:43Z.
  2387. EndDate *string `type:"string"`
  2388. // The output format for the vault inventory list, which is set by the InitiateJob
  2389. // request when initiating a job to retrieve a vault inventory. Valid values
  2390. // are "CSV" and "JSON".
  2391. Format *string `type:"string"`
  2392. // Specifies the maximum number of inventory items returned per vault inventory
  2393. // retrieval request. This limit is set when initiating the job with the a InitiateJob
  2394. // request.
  2395. Limit *string `type:"string"`
  2396. // An opaque string that represents where to continue pagination of the vault
  2397. // inventory retrieval results. You use the marker in a new InitiateJob request
  2398. // to obtain additional inventory items. If there are no more inventory items,
  2399. // this value is null. For more information, see Range Inventory Retrieval
  2400. // (http://docs.aws.amazon.com/amazonglacier/latest/dev/api-initiate-job-post.html#api-initiate-job-post-vault-inventory-list-filtering).
  2401. Marker *string `type:"string"`
  2402. // The start of the date range in UTC for vault inventory retrieval that includes
  2403. // archives created on or after this date. A string representation of ISO 8601
  2404. // date format, for example, 2013-03-20T17:03:43Z.
  2405. StartDate *string `type:"string"`
  2406. metadataInventoryRetrievalJobDescription `json:"-" xml:"-"`
  2407. }
  2408. type metadataInventoryRetrievalJobDescription struct {
  2409. SDKShapeTraits bool `type:"structure"`
  2410. }
  2411. // String returns the string representation
  2412. func (s InventoryRetrievalJobDescription) String() string {
  2413. return awsutil.Prettify(s)
  2414. }
  2415. // GoString returns the string representation
  2416. func (s InventoryRetrievalJobDescription) GoString() string {
  2417. return s.String()
  2418. }
  2419. // Provides options for specifying a range inventory retrieval job.
  2420. type InventoryRetrievalJobInput struct {
  2421. // The end of the date range in UTC for vault inventory retrieval that includes
  2422. // archives created before this date. A string representation of ISO 8601 date
  2423. // format, for example, 2013-03-20T17:03:43Z.
  2424. EndDate *string `type:"string"`
  2425. // Specifies the maximum number of inventory items returned per vault inventory
  2426. // retrieval request. Valid values are greater than or equal to 1.
  2427. Limit *string `type:"string"`
  2428. // An opaque string that represents where to continue pagination of the vault
  2429. // inventory retrieval results. You use the marker in a new InitiateJob request
  2430. // to obtain additional inventory items. If there are no more inventory items,
  2431. // this value is null.
  2432. Marker *string `type:"string"`
  2433. // The start of the date range in UTC for vault inventory retrieval that includes
  2434. // archives created on or after this date. A string representation of ISO 8601
  2435. // date format, for example, 2013-03-20T17:03:43Z.
  2436. StartDate *string `type:"string"`
  2437. metadataInventoryRetrievalJobInput `json:"-" xml:"-"`
  2438. }
  2439. type metadataInventoryRetrievalJobInput struct {
  2440. SDKShapeTraits bool `type:"structure"`
  2441. }
  2442. // String returns the string representation
  2443. func (s InventoryRetrievalJobInput) String() string {
  2444. return awsutil.Prettify(s)
  2445. }
  2446. // GoString returns the string representation
  2447. func (s InventoryRetrievalJobInput) GoString() string {
  2448. return s.String()
  2449. }
  2450. // Describes an Amazon Glacier job.
  2451. type JobDescription struct {
  2452. // The job type. It is either ArchiveRetrieval or InventoryRetrieval.
  2453. Action *string `type:"string" enum:"ActionCode"`
  2454. // For an ArchiveRetrieval job, this is the archive ID requested for download.
  2455. // Otherwise, this field is null.
  2456. ArchiveId *string `type:"string"`
  2457. // The SHA256 tree hash of the entire archive for an archive retrieval. For
  2458. // inventory retrieval jobs, this field is null.
  2459. ArchiveSHA256TreeHash *string `type:"string"`
  2460. // For an ArchiveRetrieval job, this is the size in bytes of the archive being
  2461. // requested for download. For the InventoryRetrieval job, the value is null.
  2462. ArchiveSizeInBytes *int64 `type:"long"`
  2463. // The job status. When a job is completed, you get the job's output.
  2464. Completed *bool `type:"boolean"`
  2465. // The UTC time that the archive retrieval request completed. While the job
  2466. // is in progress, the value will be null.
  2467. CompletionDate *string `type:"string"`
  2468. // The UTC date when the job was created. A string representation of ISO 8601
  2469. // date format, for example, "2012-03-20T17:03:43.221Z".
  2470. CreationDate *string `type:"string"`
  2471. // Parameters used for range inventory retrieval.
  2472. InventoryRetrievalParameters *InventoryRetrievalJobDescription `type:"structure"`
  2473. // For an InventoryRetrieval job, this is the size in bytes of the inventory
  2474. // requested for download. For the ArchiveRetrieval job, the value is null.
  2475. InventorySizeInBytes *int64 `type:"long"`
  2476. // The job description you provided when you initiated the job.
  2477. JobDescription *string `type:"string"`
  2478. // An opaque string that identifies an Amazon Glacier job.
  2479. JobId *string `type:"string"`
  2480. // The retrieved byte range for archive retrieval jobs in the form "StartByteValue-EndByteValue"
  2481. // If no range was specified in the archive retrieval, then the whole archive
  2482. // is retrieved and StartByteValue equals 0 and EndByteValue equals the size
  2483. // of the archive minus 1. For inventory retrieval jobs this field is null.
  2484. RetrievalByteRange *string `type:"string"`
  2485. // For an ArchiveRetrieval job, it is the checksum of the archive. Otherwise,
  2486. // the value is null.
  2487. //
  2488. // The SHA256 tree hash value for the requested range of an archive. If the
  2489. // Initiate a Job request for an archive specified a tree-hash aligned range,
  2490. // then this field returns a value.
  2491. //
  2492. // For the specific case when the whole archive is retrieved, this value is
  2493. // the same as the ArchiveSHA256TreeHash value.
  2494. //
  2495. // This field is null in the following situations: Archive retrieval jobs
  2496. // that specify a range that is not tree-hash aligned.
  2497. //
  2498. // Archival jobs that specify a range that is equal to the whole archive
  2499. // and the job status is InProgress.
  2500. //
  2501. // Inventory jobs.
  2502. SHA256TreeHash *string `type:"string"`
  2503. // An Amazon Simple Notification Service (Amazon SNS) topic that receives notification.
  2504. SNSTopic *string `type:"string"`
  2505. // The status code can be InProgress, Succeeded, or Failed, and indicates the
  2506. // status of the job.
  2507. StatusCode *string `type:"string" enum:"StatusCode"`
  2508. // A friendly message that describes the job status.
  2509. StatusMessage *string `type:"string"`
  2510. // The Amazon Resource Name (ARN) of the vault from which the archive retrieval
  2511. // was requested.
  2512. VaultARN *string `type:"string"`
  2513. metadataJobDescription `json:"-" xml:"-"`
  2514. }
  2515. type metadataJobDescription struct {
  2516. SDKShapeTraits bool `type:"structure"`
  2517. }
  2518. // String returns the string representation
  2519. func (s JobDescription) String() string {
  2520. return awsutil.Prettify(s)
  2521. }
  2522. // GoString returns the string representation
  2523. func (s JobDescription) GoString() string {
  2524. return s.String()
  2525. }
  2526. // Provides options for defining a job.
  2527. type JobParameters struct {
  2528. // The ID of the archive that you want to retrieve. This field is required only
  2529. // if Type is set to archive-retrieval. An error occurs if you specify this
  2530. // request parameter for an inventory retrieval job request.
  2531. ArchiveId *string `type:"string"`
  2532. // The optional description for the job. The description must be less than or
  2533. // equal to 1,024 bytes. The allowable characters are 7-bit ASCII without control
  2534. // codes-specifically, ASCII values 32-126 decimal or 0x20-0x7E hexadecimal.
  2535. Description *string `type:"string"`
  2536. // When initiating a job to retrieve a vault inventory, you can optionally add
  2537. // this parameter to your request to specify the output format. If you are initiating
  2538. // an inventory job and do not specify a Format field, JSON is the default format.
  2539. // Valid values are "CSV" and "JSON".
  2540. Format *string `type:"string"`
  2541. // Input parameters used for range inventory retrieval.
  2542. InventoryRetrievalParameters *InventoryRetrievalJobInput `type:"structure"`
  2543. // The byte range to retrieve for an archive retrieval. in the form "StartByteValue-EndByteValue"
  2544. // If not specified, the whole archive is retrieved. If specified, the byte
  2545. // range must be megabyte (1024*1024) aligned which means that StartByteValue
  2546. // must be divisible by 1 MB and EndByteValue plus 1 must be divisible by 1
  2547. // MB or be the end of the archive specified as the archive byte size value
  2548. // minus 1. If RetrievalByteRange is not megabyte aligned, this operation returns
  2549. // a 400 response.
  2550. //
  2551. // An error occurs if you specify this field for an inventory retrieval job
  2552. // request.
  2553. RetrievalByteRange *string `type:"string"`
  2554. // The Amazon SNS topic ARN to which Amazon Glacier sends a notification when
  2555. // the job is completed and the output is ready for you to download. The specified
  2556. // topic publishes the notification to its subscribers. The SNS topic must exist.
  2557. SNSTopic *string `type:"string"`
  2558. // The job type. You can initiate a job to retrieve an archive or get an inventory
  2559. // of a vault. Valid values are "archive-retrieval" and "inventory-retrieval".
  2560. Type *string `type:"string"`
  2561. metadataJobParameters `json:"-" xml:"-"`
  2562. }
  2563. type metadataJobParameters struct {
  2564. SDKShapeTraits bool `type:"structure"`
  2565. }
  2566. // String returns the string representation
  2567. func (s JobParameters) String() string {
  2568. return awsutil.Prettify(s)
  2569. }
  2570. // GoString returns the string representation
  2571. func (s JobParameters) GoString() string {
  2572. return s.String()
  2573. }
  2574. // Provides options for retrieving a job list for an Amazon Glacier vault.
  2575. type ListJobsInput struct {
  2576. // The AccountId value is the AWS account ID of the account that owns the vault.
  2577. // You can either specify an AWS account ID or optionally a single apos-apos
  2578. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  2579. // with the credentials used to sign the request. If you use an account ID,
  2580. // do not include any hyphens (apos-apos) in the ID.
  2581. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  2582. // Specifies the state of the jobs to return. You can specify true or false.
  2583. Completed *string `location:"querystring" locationName:"completed" type:"string"`
  2584. // Specifies that the response be limited to the specified number of items or
  2585. // fewer. If not specified, the List Jobs operation returns up to 1,000 jobs.
  2586. Limit *string `location:"querystring" locationName:"limit" type:"string"`
  2587. // An opaque string used for pagination. This value specifies the job at which
  2588. // the listing of jobs should begin. Get the marker value from a previous List
  2589. // Jobs response. You need only include the marker if you are continuing the
  2590. // pagination of results started in a previous List Jobs request.
  2591. Marker *string `location:"querystring" locationName:"marker" type:"string"`
  2592. // Specifies the type of job status to return. You can specify the following
  2593. // values: "InProgress", "Succeeded", or "Failed".
  2594. Statuscode *string `location:"querystring" locationName:"statuscode" type:"string"`
  2595. // The name of the vault.
  2596. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  2597. metadataListJobsInput `json:"-" xml:"-"`
  2598. }
  2599. type metadataListJobsInput struct {
  2600. SDKShapeTraits bool `type:"structure"`
  2601. }
  2602. // String returns the string representation
  2603. func (s ListJobsInput) String() string {
  2604. return awsutil.Prettify(s)
  2605. }
  2606. // GoString returns the string representation
  2607. func (s ListJobsInput) GoString() string {
  2608. return s.String()
  2609. }
  2610. // Contains the Amazon Glacier response to your request.
  2611. type ListJobsOutput struct {
  2612. // A list of job objects. Each job object contains metadata describing the job.
  2613. JobList []*JobDescription `type:"list"`
  2614. // An opaque string that represents where to continue pagination of the results.
  2615. // You use this value in a new List Jobs request to obtain more jobs in the
  2616. // list. If there are no more jobs, this value is null.
  2617. Marker *string `type:"string"`
  2618. metadataListJobsOutput `json:"-" xml:"-"`
  2619. }
  2620. type metadataListJobsOutput struct {
  2621. SDKShapeTraits bool `type:"structure"`
  2622. }
  2623. // String returns the string representation
  2624. func (s ListJobsOutput) String() string {
  2625. return awsutil.Prettify(s)
  2626. }
  2627. // GoString returns the string representation
  2628. func (s ListJobsOutput) GoString() string {
  2629. return s.String()
  2630. }
  2631. // Provides options for retrieving list of in-progress multipart uploads for
  2632. // an Amazon Glacier vault.
  2633. type ListMultipartUploadsInput struct {
  2634. // The AccountId value is the AWS account ID of the account that owns the vault.
  2635. // You can either specify an AWS account ID or optionally a single apos-apos
  2636. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  2637. // with the credentials used to sign the request. If you use an account ID,
  2638. // do not include any hyphens (apos-apos) in the ID.
  2639. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  2640. // Specifies the maximum number of uploads returned in the response body. If
  2641. // this value is not specified, the List Uploads operation returns up to 1,000
  2642. // uploads.
  2643. Limit *string `location:"querystring" locationName:"limit" type:"string"`
  2644. // An opaque string used for pagination. This value specifies the upload at
  2645. // which the listing of uploads should begin. Get the marker value from a previous
  2646. // List Uploads response. You need only include the marker if you are continuing
  2647. // the pagination of results started in a previous List Uploads request.
  2648. Marker *string `location:"querystring" locationName:"marker" type:"string"`
  2649. // The name of the vault.
  2650. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  2651. metadataListMultipartUploadsInput `json:"-" xml:"-"`
  2652. }
  2653. type metadataListMultipartUploadsInput struct {
  2654. SDKShapeTraits bool `type:"structure"`
  2655. }
  2656. // String returns the string representation
  2657. func (s ListMultipartUploadsInput) String() string {
  2658. return awsutil.Prettify(s)
  2659. }
  2660. // GoString returns the string representation
  2661. func (s ListMultipartUploadsInput) GoString() string {
  2662. return s.String()
  2663. }
  2664. // Contains the Amazon Glacier response to your request.
  2665. type ListMultipartUploadsOutput struct {
  2666. // An opaque string that represents where to continue pagination of the results.
  2667. // You use the marker in a new List Multipart Uploads request to obtain more
  2668. // uploads in the list. If there are no more uploads, this value is null.
  2669. Marker *string `type:"string"`
  2670. // A list of in-progress multipart uploads.
  2671. UploadsList []*UploadListElement `type:"list"`
  2672. metadataListMultipartUploadsOutput `json:"-" xml:"-"`
  2673. }
  2674. type metadataListMultipartUploadsOutput struct {
  2675. SDKShapeTraits bool `type:"structure"`
  2676. }
  2677. // String returns the string representation
  2678. func (s ListMultipartUploadsOutput) String() string {
  2679. return awsutil.Prettify(s)
  2680. }
  2681. // GoString returns the string representation
  2682. func (s ListMultipartUploadsOutput) GoString() string {
  2683. return s.String()
  2684. }
  2685. // Provides options for retrieving a list of parts of an archive that have been
  2686. // uploaded in a specific multipart upload.
  2687. type ListPartsInput struct {
  2688. // The AccountId value is the AWS account ID of the account that owns the vault.
  2689. // You can either specify an AWS account ID or optionally a single apos-apos
  2690. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  2691. // with the credentials used to sign the request. If you use an account ID,
  2692. // do not include any hyphens (apos-apos) in the ID.
  2693. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  2694. // Specifies the maximum number of parts returned in the response body. If this
  2695. // value is not specified, the List Parts operation returns up to 1,000 uploads.
  2696. Limit *string `location:"querystring" locationName:"limit" type:"string"`
  2697. // An opaque string used for pagination. This value specifies the part at which
  2698. // the listing of parts should begin. Get the marker value from the response
  2699. // of a previous List Parts response. You need only include the marker if you
  2700. // are continuing the pagination of results started in a previous List Parts
  2701. // request.
  2702. Marker *string `location:"querystring" locationName:"marker" type:"string"`
  2703. // The upload ID of the multipart upload.
  2704. UploadId *string `location:"uri" locationName:"uploadId" type:"string" required:"true"`
  2705. // The name of the vault.
  2706. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  2707. metadataListPartsInput `json:"-" xml:"-"`
  2708. }
  2709. type metadataListPartsInput struct {
  2710. SDKShapeTraits bool `type:"structure"`
  2711. }
  2712. // String returns the string representation
  2713. func (s ListPartsInput) String() string {
  2714. return awsutil.Prettify(s)
  2715. }
  2716. // GoString returns the string representation
  2717. func (s ListPartsInput) GoString() string {
  2718. return s.String()
  2719. }
  2720. // Contains the Amazon Glacier response to your request.
  2721. type ListPartsOutput struct {
  2722. // The description of the archive that was specified in the Initiate Multipart
  2723. // Upload request.
  2724. ArchiveDescription *string `type:"string"`
  2725. // The UTC time at which the multipart upload was initiated.
  2726. CreationDate *string `type:"string"`
  2727. // An opaque string that represents where to continue pagination of the results.
  2728. // You use the marker in a new List Parts request to obtain more jobs in the
  2729. // list. If there are no more parts, this value is null.
  2730. Marker *string `type:"string"`
  2731. // The ID of the upload to which the parts are associated.
  2732. MultipartUploadId *string `type:"string"`
  2733. // The part size in bytes.
  2734. PartSizeInBytes *int64 `type:"long"`
  2735. // A list of the part sizes of the multipart upload.
  2736. Parts []*PartListElement `type:"list"`
  2737. // The Amazon Resource Name (ARN) of the vault to which the multipart upload
  2738. // was initiated.
  2739. VaultARN *string `type:"string"`
  2740. metadataListPartsOutput `json:"-" xml:"-"`
  2741. }
  2742. type metadataListPartsOutput struct {
  2743. SDKShapeTraits bool `type:"structure"`
  2744. }
  2745. // String returns the string representation
  2746. func (s ListPartsOutput) String() string {
  2747. return awsutil.Prettify(s)
  2748. }
  2749. // GoString returns the string representation
  2750. func (s ListPartsOutput) GoString() string {
  2751. return s.String()
  2752. }
  2753. // The input value for ListTagsForVaultInput.
  2754. type ListTagsForVaultInput struct {
  2755. // The AccountId value is the AWS account ID of the account that owns the vault.
  2756. // You can either specify an AWS account ID or optionally a single apos-apos
  2757. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  2758. // with the credentials used to sign the request. If you use an account ID,
  2759. // do not include any hyphens (apos-apos) in the ID.
  2760. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  2761. // The name of the vault.
  2762. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  2763. metadataListTagsForVaultInput `json:"-" xml:"-"`
  2764. }
  2765. type metadataListTagsForVaultInput struct {
  2766. SDKShapeTraits bool `type:"structure"`
  2767. }
  2768. // String returns the string representation
  2769. func (s ListTagsForVaultInput) String() string {
  2770. return awsutil.Prettify(s)
  2771. }
  2772. // GoString returns the string representation
  2773. func (s ListTagsForVaultInput) GoString() string {
  2774. return s.String()
  2775. }
  2776. // Contains the Amazon Glacier response to your request.
  2777. type ListTagsForVaultOutput struct {
  2778. // The tags attached to the vault. Each tag is composed of a key and a value.
  2779. Tags map[string]*string `type:"map"`
  2780. metadataListTagsForVaultOutput `json:"-" xml:"-"`
  2781. }
  2782. type metadataListTagsForVaultOutput struct {
  2783. SDKShapeTraits bool `type:"structure"`
  2784. }
  2785. // String returns the string representation
  2786. func (s ListTagsForVaultOutput) String() string {
  2787. return awsutil.Prettify(s)
  2788. }
  2789. // GoString returns the string representation
  2790. func (s ListTagsForVaultOutput) GoString() string {
  2791. return s.String()
  2792. }
  2793. // Provides options to retrieve the vault list owned by the calling user's account.
  2794. // The list provides metadata information for each vault.
  2795. type ListVaultsInput struct {
  2796. // The AccountId value is the AWS account ID. This value must match the AWS
  2797. // account ID associated with the credentials used to sign the request. You
  2798. // can either specify an AWS account ID or optionally a single apos-apos (hyphen),
  2799. // in which case Amazon Glacier uses the AWS account ID associated with the
  2800. // credentials used to sign the request. If you specify your account ID, do
  2801. // not include any hyphens (apos-apos) in the ID.
  2802. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  2803. // The maximum number of items returned in the response. If you don't specify
  2804. // a value, the List Vaults operation returns up to 1,000 items.
  2805. Limit *string `location:"querystring" locationName:"limit" type:"string"`
  2806. // A string used for pagination. The marker specifies the vault ARN after which
  2807. // the listing of vaults should begin.
  2808. Marker *string `location:"querystring" locationName:"marker" type:"string"`
  2809. metadataListVaultsInput `json:"-" xml:"-"`
  2810. }
  2811. type metadataListVaultsInput struct {
  2812. SDKShapeTraits bool `type:"structure"`
  2813. }
  2814. // String returns the string representation
  2815. func (s ListVaultsInput) String() string {
  2816. return awsutil.Prettify(s)
  2817. }
  2818. // GoString returns the string representation
  2819. func (s ListVaultsInput) GoString() string {
  2820. return s.String()
  2821. }
  2822. // Contains the Amazon Glacier response to your request.
  2823. type ListVaultsOutput struct {
  2824. // The vault ARN at which to continue pagination of the results. You use the
  2825. // marker in another List Vaults request to obtain more vaults in the list.
  2826. Marker *string `type:"string"`
  2827. // List of vaults.
  2828. VaultList []*DescribeVaultOutput `type:"list"`
  2829. metadataListVaultsOutput `json:"-" xml:"-"`
  2830. }
  2831. type metadataListVaultsOutput struct {
  2832. SDKShapeTraits bool `type:"structure"`
  2833. }
  2834. // String returns the string representation
  2835. func (s ListVaultsOutput) String() string {
  2836. return awsutil.Prettify(s)
  2837. }
  2838. // GoString returns the string representation
  2839. func (s ListVaultsOutput) GoString() string {
  2840. return s.String()
  2841. }
  2842. // A list of the part sizes of the multipart upload.
  2843. type PartListElement struct {
  2844. // The byte range of a part, inclusive of the upper value of the range.
  2845. RangeInBytes *string `type:"string"`
  2846. // The SHA256 tree hash value that Amazon Glacier calculated for the part. This
  2847. // field is never null.
  2848. SHA256TreeHash *string `type:"string"`
  2849. metadataPartListElement `json:"-" xml:"-"`
  2850. }
  2851. type metadataPartListElement struct {
  2852. SDKShapeTraits bool `type:"structure"`
  2853. }
  2854. // String returns the string representation
  2855. func (s PartListElement) String() string {
  2856. return awsutil.Prettify(s)
  2857. }
  2858. // GoString returns the string representation
  2859. func (s PartListElement) GoString() string {
  2860. return s.String()
  2861. }
  2862. // The input value for RemoveTagsFromVaultInput.
  2863. type RemoveTagsFromVaultInput struct {
  2864. // The AccountId value is the AWS account ID of the account that owns the vault.
  2865. // You can either specify an AWS account ID or optionally a single apos-apos
  2866. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  2867. // with the credentials used to sign the request. If you use an account ID,
  2868. // do not include any hyphens (apos-apos) in the ID.
  2869. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  2870. // A list of tag keys. Each corresponding tag is removed from the vault.
  2871. TagKeys []*string `type:"list"`
  2872. // The name of the vault.
  2873. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  2874. metadataRemoveTagsFromVaultInput `json:"-" xml:"-"`
  2875. }
  2876. type metadataRemoveTagsFromVaultInput struct {
  2877. SDKShapeTraits bool `type:"structure"`
  2878. }
  2879. // String returns the string representation
  2880. func (s RemoveTagsFromVaultInput) String() string {
  2881. return awsutil.Prettify(s)
  2882. }
  2883. // GoString returns the string representation
  2884. func (s RemoveTagsFromVaultInput) GoString() string {
  2885. return s.String()
  2886. }
  2887. type RemoveTagsFromVaultOutput struct {
  2888. metadataRemoveTagsFromVaultOutput `json:"-" xml:"-"`
  2889. }
  2890. type metadataRemoveTagsFromVaultOutput struct {
  2891. SDKShapeTraits bool `type:"structure"`
  2892. }
  2893. // String returns the string representation
  2894. func (s RemoveTagsFromVaultOutput) String() string {
  2895. return awsutil.Prettify(s)
  2896. }
  2897. // GoString returns the string representation
  2898. func (s RemoveTagsFromVaultOutput) GoString() string {
  2899. return s.String()
  2900. }
  2901. // SetDataRetrievalPolicy input.
  2902. type SetDataRetrievalPolicyInput struct {
  2903. // The AccountId value is the AWS account ID. This value must match the AWS
  2904. // account ID associated with the credentials used to sign the request. You
  2905. // can either specify an AWS account ID or optionally a single apos-apos (hyphen),
  2906. // in which case Amazon Glacier uses the AWS account ID associated with the
  2907. // credentials used to sign the request. If you specify your account ID, do
  2908. // not include any hyphens (apos-apos) in the ID.
  2909. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  2910. // The data retrieval policy in JSON format.
  2911. Policy *DataRetrievalPolicy `type:"structure"`
  2912. metadataSetDataRetrievalPolicyInput `json:"-" xml:"-"`
  2913. }
  2914. type metadataSetDataRetrievalPolicyInput struct {
  2915. SDKShapeTraits bool `type:"structure"`
  2916. }
  2917. // String returns the string representation
  2918. func (s SetDataRetrievalPolicyInput) String() string {
  2919. return awsutil.Prettify(s)
  2920. }
  2921. // GoString returns the string representation
  2922. func (s SetDataRetrievalPolicyInput) GoString() string {
  2923. return s.String()
  2924. }
  2925. type SetDataRetrievalPolicyOutput struct {
  2926. metadataSetDataRetrievalPolicyOutput `json:"-" xml:"-"`
  2927. }
  2928. type metadataSetDataRetrievalPolicyOutput struct {
  2929. SDKShapeTraits bool `type:"structure"`
  2930. }
  2931. // String returns the string representation
  2932. func (s SetDataRetrievalPolicyOutput) String() string {
  2933. return awsutil.Prettify(s)
  2934. }
  2935. // GoString returns the string representation
  2936. func (s SetDataRetrievalPolicyOutput) GoString() string {
  2937. return s.String()
  2938. }
  2939. // SetVaultAccessPolicy input.
  2940. type SetVaultAccessPolicyInput struct {
  2941. // The AccountId value is the AWS account ID of the account that owns the vault.
  2942. // You can either specify an AWS account ID or optionally a single apos-apos
  2943. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  2944. // with the credentials used to sign the request. If you use an account ID,
  2945. // do not include any hyphens (apos-apos) in the ID.
  2946. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  2947. // The vault access policy as a JSON string.
  2948. Policy *VaultAccessPolicy `locationName:"policy" type:"structure"`
  2949. // The name of the vault.
  2950. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  2951. metadataSetVaultAccessPolicyInput `json:"-" xml:"-"`
  2952. }
  2953. type metadataSetVaultAccessPolicyInput struct {
  2954. SDKShapeTraits bool `type:"structure" payload:"Policy"`
  2955. }
  2956. // String returns the string representation
  2957. func (s SetVaultAccessPolicyInput) String() string {
  2958. return awsutil.Prettify(s)
  2959. }
  2960. // GoString returns the string representation
  2961. func (s SetVaultAccessPolicyInput) GoString() string {
  2962. return s.String()
  2963. }
  2964. type SetVaultAccessPolicyOutput struct {
  2965. metadataSetVaultAccessPolicyOutput `json:"-" xml:"-"`
  2966. }
  2967. type metadataSetVaultAccessPolicyOutput struct {
  2968. SDKShapeTraits bool `type:"structure"`
  2969. }
  2970. // String returns the string representation
  2971. func (s SetVaultAccessPolicyOutput) String() string {
  2972. return awsutil.Prettify(s)
  2973. }
  2974. // GoString returns the string representation
  2975. func (s SetVaultAccessPolicyOutput) GoString() string {
  2976. return s.String()
  2977. }
  2978. // Provides options to configure notifications that will be sent when specific
  2979. // events happen to a vault.
  2980. type SetVaultNotificationsInput struct {
  2981. // The AccountId value is the AWS account ID of the account that owns the vault.
  2982. // You can either specify an AWS account ID or optionally a single apos-apos
  2983. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  2984. // with the credentials used to sign the request. If you use an account ID,
  2985. // do not include any hyphens (apos-apos) in the ID.
  2986. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  2987. // The name of the vault.
  2988. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  2989. // Provides options for specifying notification configuration.
  2990. VaultNotificationConfig *VaultNotificationConfig `locationName:"vaultNotificationConfig" type:"structure"`
  2991. metadataSetVaultNotificationsInput `json:"-" xml:"-"`
  2992. }
  2993. type metadataSetVaultNotificationsInput struct {
  2994. SDKShapeTraits bool `type:"structure" payload:"VaultNotificationConfig"`
  2995. }
  2996. // String returns the string representation
  2997. func (s SetVaultNotificationsInput) String() string {
  2998. return awsutil.Prettify(s)
  2999. }
  3000. // GoString returns the string representation
  3001. func (s SetVaultNotificationsInput) GoString() string {
  3002. return s.String()
  3003. }
  3004. type SetVaultNotificationsOutput struct {
  3005. metadataSetVaultNotificationsOutput `json:"-" xml:"-"`
  3006. }
  3007. type metadataSetVaultNotificationsOutput struct {
  3008. SDKShapeTraits bool `type:"structure"`
  3009. }
  3010. // String returns the string representation
  3011. func (s SetVaultNotificationsOutput) String() string {
  3012. return awsutil.Prettify(s)
  3013. }
  3014. // GoString returns the string representation
  3015. func (s SetVaultNotificationsOutput) GoString() string {
  3016. return s.String()
  3017. }
  3018. // Provides options to add an archive to a vault.
  3019. type UploadArchiveInput struct {
  3020. // The AccountId value is the AWS account ID of the account that owns the vault.
  3021. // You can either specify an AWS account ID or optionally a single apos-apos
  3022. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  3023. // with the credentials used to sign the request. If you use an account ID,
  3024. // do not include any hyphens (apos-apos) in the ID.
  3025. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  3026. // The optional description of the archive you are uploading.
  3027. ArchiveDescription *string `location:"header" locationName:"x-amz-archive-description" type:"string"`
  3028. // The data to upload.
  3029. Body io.ReadSeeker `locationName:"body" type:"blob"`
  3030. // The SHA256 tree hash of the data being uploaded.
  3031. Checksum *string `location:"header" locationName:"x-amz-sha256-tree-hash" type:"string"`
  3032. // The name of the vault.
  3033. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  3034. metadataUploadArchiveInput `json:"-" xml:"-"`
  3035. }
  3036. type metadataUploadArchiveInput struct {
  3037. SDKShapeTraits bool `type:"structure" payload:"Body"`
  3038. }
  3039. // String returns the string representation
  3040. func (s UploadArchiveInput) String() string {
  3041. return awsutil.Prettify(s)
  3042. }
  3043. // GoString returns the string representation
  3044. func (s UploadArchiveInput) GoString() string {
  3045. return s.String()
  3046. }
  3047. // A list of in-progress multipart uploads for a vault.
  3048. type UploadListElement struct {
  3049. // The description of the archive that was specified in the Initiate Multipart
  3050. // Upload request.
  3051. ArchiveDescription *string `type:"string"`
  3052. // The UTC time at which the multipart upload was initiated.
  3053. CreationDate *string `type:"string"`
  3054. // The ID of a multipart upload.
  3055. MultipartUploadId *string `type:"string"`
  3056. // The part size, in bytes, specified in the Initiate Multipart Upload request.
  3057. // This is the size of all the parts in the upload except the last part, which
  3058. // may be smaller than this size.
  3059. PartSizeInBytes *int64 `type:"long"`
  3060. // The Amazon Resource Name (ARN) of the vault that contains the archive.
  3061. VaultARN *string `type:"string"`
  3062. metadataUploadListElement `json:"-" xml:"-"`
  3063. }
  3064. type metadataUploadListElement struct {
  3065. SDKShapeTraits bool `type:"structure"`
  3066. }
  3067. // String returns the string representation
  3068. func (s UploadListElement) String() string {
  3069. return awsutil.Prettify(s)
  3070. }
  3071. // GoString returns the string representation
  3072. func (s UploadListElement) GoString() string {
  3073. return s.String()
  3074. }
  3075. // Provides options to upload a part of an archive in a multipart upload operation.
  3076. type UploadMultipartPartInput struct {
  3077. // The AccountId value is the AWS account ID of the account that owns the vault.
  3078. // You can either specify an AWS account ID or optionally a single apos-apos
  3079. // (hyphen), in which case Amazon Glacier uses the AWS account ID associated
  3080. // with the credentials used to sign the request. If you use an account ID,
  3081. // do not include any hyphens (apos-apos) in the ID.
  3082. AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"`
  3083. // The data to upload.
  3084. Body io.ReadSeeker `locationName:"body" type:"blob"`
  3085. // The SHA256 tree hash of the data being uploaded.
  3086. Checksum *string `location:"header" locationName:"x-amz-sha256-tree-hash" type:"string"`
  3087. // Identifies the range of bytes in the assembled archive that will be uploaded
  3088. // in this part. Amazon Glacier uses this information to assemble the archive
  3089. // in the proper sequence. The format of this header follows RFC 2616. An example
  3090. // header is Content-Range:bytes 0-4194303/*.
  3091. Range *string `location:"header" locationName:"Content-Range" type:"string"`
  3092. // The upload ID of the multipart upload.
  3093. UploadId *string `location:"uri" locationName:"uploadId" type:"string" required:"true"`
  3094. // The name of the vault.
  3095. VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"`
  3096. metadataUploadMultipartPartInput `json:"-" xml:"-"`
  3097. }
  3098. type metadataUploadMultipartPartInput struct {
  3099. SDKShapeTraits bool `type:"structure" payload:"Body"`
  3100. }
  3101. // String returns the string representation
  3102. func (s UploadMultipartPartInput) String() string {
  3103. return awsutil.Prettify(s)
  3104. }
  3105. // GoString returns the string representation
  3106. func (s UploadMultipartPartInput) GoString() string {
  3107. return s.String()
  3108. }
  3109. // Contains the Amazon Glacier response to your request.
  3110. type UploadMultipartPartOutput struct {
  3111. // The SHA256 tree hash that Amazon Glacier computed for the uploaded part.
  3112. Checksum *string `location:"header" locationName:"x-amz-sha256-tree-hash" type:"string"`
  3113. metadataUploadMultipartPartOutput `json:"-" xml:"-"`
  3114. }
  3115. type metadataUploadMultipartPartOutput struct {
  3116. SDKShapeTraits bool `type:"structure"`
  3117. }
  3118. // String returns the string representation
  3119. func (s UploadMultipartPartOutput) String() string {
  3120. return awsutil.Prettify(s)
  3121. }
  3122. // GoString returns the string representation
  3123. func (s UploadMultipartPartOutput) GoString() string {
  3124. return s.String()
  3125. }
  3126. // Contains the vault access policy.
  3127. type VaultAccessPolicy struct {
  3128. // The vault access policy.
  3129. Policy *string `type:"string"`
  3130. metadataVaultAccessPolicy `json:"-" xml:"-"`
  3131. }
  3132. type metadataVaultAccessPolicy struct {
  3133. SDKShapeTraits bool `type:"structure"`
  3134. }
  3135. // String returns the string representation
  3136. func (s VaultAccessPolicy) String() string {
  3137. return awsutil.Prettify(s)
  3138. }
  3139. // GoString returns the string representation
  3140. func (s VaultAccessPolicy) GoString() string {
  3141. return s.String()
  3142. }
  3143. // Contains the vault lock policy.
  3144. type VaultLockPolicy struct {
  3145. // The vault lock policy.
  3146. Policy *string `type:"string"`
  3147. metadataVaultLockPolicy `json:"-" xml:"-"`
  3148. }
  3149. type metadataVaultLockPolicy struct {
  3150. SDKShapeTraits bool `type:"structure"`
  3151. }
  3152. // String returns the string representation
  3153. func (s VaultLockPolicy) String() string {
  3154. return awsutil.Prettify(s)
  3155. }
  3156. // GoString returns the string representation
  3157. func (s VaultLockPolicy) GoString() string {
  3158. return s.String()
  3159. }
  3160. // Represents a vault's notification configuration.
  3161. type VaultNotificationConfig struct {
  3162. // A list of one or more events for which Amazon Glacier will send a notification
  3163. // to the specified Amazon SNS topic.
  3164. Events []*string `type:"list"`
  3165. // The Amazon Simple Notification Service (Amazon SNS) topic Amazon Resource
  3166. // Name (ARN).
  3167. SNSTopic *string `type:"string"`
  3168. metadataVaultNotificationConfig `json:"-" xml:"-"`
  3169. }
  3170. type metadataVaultNotificationConfig struct {
  3171. SDKShapeTraits bool `type:"structure"`
  3172. }
  3173. // String returns the string representation
  3174. func (s VaultNotificationConfig) String() string {
  3175. return awsutil.Prettify(s)
  3176. }
  3177. // GoString returns the string representation
  3178. func (s VaultNotificationConfig) GoString() string {
  3179. return s.String()
  3180. }
  3181. const (
  3182. // @enum ActionCode
  3183. ActionCodeArchiveRetrieval = "ArchiveRetrieval"
  3184. // @enum ActionCode
  3185. ActionCodeInventoryRetrieval = "InventoryRetrieval"
  3186. )
  3187. const (
  3188. // @enum StatusCode
  3189. StatusCodeInProgress = "InProgress"
  3190. // @enum StatusCode
  3191. StatusCodeSucceeded = "Succeeded"
  3192. // @enum StatusCode
  3193. StatusCodeFailed = "Failed"
  3194. )