1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package glacier 4 5import ( 6 "fmt" 7 "io" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/aws/awsutil" 11 "github.com/aws/aws-sdk-go/aws/request" 12 "github.com/aws/aws-sdk-go/private/protocol" 13 "github.com/aws/aws-sdk-go/private/protocol/restjson" 14) 15 16const opAbortMultipartUpload = "AbortMultipartUpload" 17 18// AbortMultipartUploadRequest generates a "aws/request.Request" representing the 19// client's request for the AbortMultipartUpload operation. The "output" return 20// value will be populated with the request's response once the request completes 21// successfully. 22// 23// Use "Send" method on the returned Request to send the API call to the service. 24// the "output" return value is not valid until after Send returns without error. 25// 26// See AbortMultipartUpload for more information on using the AbortMultipartUpload 27// API call, and error handling. 28// 29// This method is useful when you want to inject custom logic or configuration 30// into the SDK's request lifecycle. Such as custom headers, or retry logic. 31// 32// 33// // Example sending a request using the AbortMultipartUploadRequest method. 34// req, resp := client.AbortMultipartUploadRequest(params) 35// 36// err := req.Send() 37// if err == nil { // resp is now filled 38// fmt.Println(resp) 39// } 40func (c *Glacier) AbortMultipartUploadRequest(input *AbortMultipartUploadInput) (req *request.Request, output *AbortMultipartUploadOutput) { 41 op := &request.Operation{ 42 Name: opAbortMultipartUpload, 43 HTTPMethod: "DELETE", 44 HTTPPath: "/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}", 45 } 46 47 if input == nil { 48 input = &AbortMultipartUploadInput{} 49 } 50 51 output = &AbortMultipartUploadOutput{} 52 req = c.newRequest(op, input, output) 53 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 54 return 55} 56 57// AbortMultipartUpload API operation for Amazon Glacier. 58// 59// This operation aborts a multipart upload identified by the upload ID. 60// 61// After the Abort Multipart Upload request succeeds, you cannot upload any 62// more parts to the multipart upload or complete the multipart upload. Aborting 63// a completed upload fails. However, aborting an already-aborted upload will 64// succeed, for a short time. For more information about uploading a part and 65// completing a multipart upload, see UploadMultipartPart and CompleteMultipartUpload. 66// 67// This operation is idempotent. 68// 69// An AWS account has full permission to perform all operations (actions). However, 70// AWS Identity and Access Management (IAM) users don't have any permissions 71// by default. You must grant them explicit permission to perform specific actions. 72// For more information, see Access Control Using AWS Identity and Access Management 73// (IAM) (https://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html). 74// 75// For conceptual information and underlying REST API, see Working with Archives 76// in Amazon S3 Glacier (https://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-archives.html) 77// and Abort Multipart Upload (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-abort-upload.html) 78// in the Amazon Glacier Developer Guide. 79// 80// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 81// with awserr.Error's Code and Message methods to get detailed information about 82// the error. 83// 84// See the AWS API reference guide for Amazon Glacier's 85// API operation AbortMultipartUpload for usage and error information. 86// 87// Returned Error Codes: 88// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 89// Returned if the specified resource (such as a vault, upload ID, or job ID) 90// doesn't exist. 91// 92// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 93// Returned if a parameter of the request is incorrectly specified. 94// 95// * ErrCodeMissingParameterValueException "MissingParameterValueException" 96// Returned if a required header or parameter is missing from the request. 97// 98// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 99// Returned if the service cannot complete the request. 100// 101func (c *Glacier) AbortMultipartUpload(input *AbortMultipartUploadInput) (*AbortMultipartUploadOutput, error) { 102 req, out := c.AbortMultipartUploadRequest(input) 103 return out, req.Send() 104} 105 106// AbortMultipartUploadWithContext is the same as AbortMultipartUpload with the addition of 107// the ability to pass a context and additional request options. 108// 109// See AbortMultipartUpload for details on how to use this API operation. 110// 111// The context must be non-nil and will be used for request cancellation. If 112// the context is nil a panic will occur. In the future the SDK may create 113// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 114// for more information on using Contexts. 115func (c *Glacier) AbortMultipartUploadWithContext(ctx aws.Context, input *AbortMultipartUploadInput, opts ...request.Option) (*AbortMultipartUploadOutput, error) { 116 req, out := c.AbortMultipartUploadRequest(input) 117 req.SetContext(ctx) 118 req.ApplyOptions(opts...) 119 return out, req.Send() 120} 121 122const opAbortVaultLock = "AbortVaultLock" 123 124// AbortVaultLockRequest generates a "aws/request.Request" representing the 125// client's request for the AbortVaultLock operation. The "output" return 126// value will be populated with the request's response once the request completes 127// successfully. 128// 129// Use "Send" method on the returned Request to send the API call to the service. 130// the "output" return value is not valid until after Send returns without error. 131// 132// See AbortVaultLock for more information on using the AbortVaultLock 133// API call, and error handling. 134// 135// This method is useful when you want to inject custom logic or configuration 136// into the SDK's request lifecycle. Such as custom headers, or retry logic. 137// 138// 139// // Example sending a request using the AbortVaultLockRequest method. 140// req, resp := client.AbortVaultLockRequest(params) 141// 142// err := req.Send() 143// if err == nil { // resp is now filled 144// fmt.Println(resp) 145// } 146func (c *Glacier) AbortVaultLockRequest(input *AbortVaultLockInput) (req *request.Request, output *AbortVaultLockOutput) { 147 op := &request.Operation{ 148 Name: opAbortVaultLock, 149 HTTPMethod: "DELETE", 150 HTTPPath: "/{accountId}/vaults/{vaultName}/lock-policy", 151 } 152 153 if input == nil { 154 input = &AbortVaultLockInput{} 155 } 156 157 output = &AbortVaultLockOutput{} 158 req = c.newRequest(op, input, output) 159 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 160 return 161} 162 163// AbortVaultLock API operation for Amazon Glacier. 164// 165// This operation aborts the vault locking process if the vault lock is not 166// in the Locked state. If the vault lock is in the Locked state when this operation 167// is requested, the operation returns an AccessDeniedException error. Aborting 168// the vault locking process removes the vault lock policy from the specified 169// vault. 170// 171// A vault lock is put into the InProgress state by calling InitiateVaultLock. 172// A vault lock is put into the Locked state by calling CompleteVaultLock. You 173// can get the state of a vault lock by calling GetVaultLock. For more information 174// about the vault locking process, see Amazon Glacier Vault Lock (https://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock.html). 175// For more information about vault lock policies, see Amazon Glacier Access 176// Control with Vault Lock Policies (https://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock-policy.html). 177// 178// This operation is idempotent. You can successfully invoke this operation 179// multiple times, if the vault lock is in the InProgress state or if there 180// is no policy associated with the vault. 181// 182// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 183// with awserr.Error's Code and Message methods to get detailed information about 184// the error. 185// 186// See the AWS API reference guide for Amazon Glacier's 187// API operation AbortVaultLock for usage and error information. 188// 189// Returned Error Codes: 190// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 191// Returned if the specified resource (such as a vault, upload ID, or job ID) 192// doesn't exist. 193// 194// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 195// Returned if a parameter of the request is incorrectly specified. 196// 197// * ErrCodeMissingParameterValueException "MissingParameterValueException" 198// Returned if a required header or parameter is missing from the request. 199// 200// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 201// Returned if the service cannot complete the request. 202// 203func (c *Glacier) AbortVaultLock(input *AbortVaultLockInput) (*AbortVaultLockOutput, error) { 204 req, out := c.AbortVaultLockRequest(input) 205 return out, req.Send() 206} 207 208// AbortVaultLockWithContext is the same as AbortVaultLock with the addition of 209// the ability to pass a context and additional request options. 210// 211// See AbortVaultLock for details on how to use this API operation. 212// 213// The context must be non-nil and will be used for request cancellation. If 214// the context is nil a panic will occur. In the future the SDK may create 215// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 216// for more information on using Contexts. 217func (c *Glacier) AbortVaultLockWithContext(ctx aws.Context, input *AbortVaultLockInput, opts ...request.Option) (*AbortVaultLockOutput, error) { 218 req, out := c.AbortVaultLockRequest(input) 219 req.SetContext(ctx) 220 req.ApplyOptions(opts...) 221 return out, req.Send() 222} 223 224const opAddTagsToVault = "AddTagsToVault" 225 226// AddTagsToVaultRequest generates a "aws/request.Request" representing the 227// client's request for the AddTagsToVault operation. The "output" return 228// value will be populated with the request's response once the request completes 229// successfully. 230// 231// Use "Send" method on the returned Request to send the API call to the service. 232// the "output" return value is not valid until after Send returns without error. 233// 234// See AddTagsToVault for more information on using the AddTagsToVault 235// API call, and error handling. 236// 237// This method is useful when you want to inject custom logic or configuration 238// into the SDK's request lifecycle. Such as custom headers, or retry logic. 239// 240// 241// // Example sending a request using the AddTagsToVaultRequest method. 242// req, resp := client.AddTagsToVaultRequest(params) 243// 244// err := req.Send() 245// if err == nil { // resp is now filled 246// fmt.Println(resp) 247// } 248func (c *Glacier) AddTagsToVaultRequest(input *AddTagsToVaultInput) (req *request.Request, output *AddTagsToVaultOutput) { 249 op := &request.Operation{ 250 Name: opAddTagsToVault, 251 HTTPMethod: "POST", 252 HTTPPath: "/{accountId}/vaults/{vaultName}/tags?operation=add", 253 } 254 255 if input == nil { 256 input = &AddTagsToVaultInput{} 257 } 258 259 output = &AddTagsToVaultOutput{} 260 req = c.newRequest(op, input, output) 261 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 262 return 263} 264 265// AddTagsToVault API operation for Amazon Glacier. 266// 267// This operation adds the specified tags to a vault. Each tag is composed of 268// a key and a value. Each vault can have up to 10 tags. If your request would 269// cause the tag limit for the vault to be exceeded, the operation throws the 270// LimitExceededException error. If a tag already exists on the vault under 271// a specified key, the existing key value will be overwritten. For more information 272// about tags, see Tagging Amazon S3 Glacier Resources (https://docs.aws.amazon.com/amazonglacier/latest/dev/tagging.html). 273// 274// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 275// with awserr.Error's Code and Message methods to get detailed information about 276// the error. 277// 278// See the AWS API reference guide for Amazon Glacier's 279// API operation AddTagsToVault for usage and error information. 280// 281// Returned Error Codes: 282// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 283// Returned if a parameter of the request is incorrectly specified. 284// 285// * ErrCodeMissingParameterValueException "MissingParameterValueException" 286// Returned if a required header or parameter is missing from the request. 287// 288// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 289// Returned if the specified resource (such as a vault, upload ID, or job ID) 290// doesn't exist. 291// 292// * ErrCodeLimitExceededException "LimitExceededException" 293// Returned if the request results in a vault or account limit being exceeded. 294// 295// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 296// Returned if the service cannot complete the request. 297// 298func (c *Glacier) AddTagsToVault(input *AddTagsToVaultInput) (*AddTagsToVaultOutput, error) { 299 req, out := c.AddTagsToVaultRequest(input) 300 return out, req.Send() 301} 302 303// AddTagsToVaultWithContext is the same as AddTagsToVault with the addition of 304// the ability to pass a context and additional request options. 305// 306// See AddTagsToVault for details on how to use this API operation. 307// 308// The context must be non-nil and will be used for request cancellation. If 309// the context is nil a panic will occur. In the future the SDK may create 310// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 311// for more information on using Contexts. 312func (c *Glacier) AddTagsToVaultWithContext(ctx aws.Context, input *AddTagsToVaultInput, opts ...request.Option) (*AddTagsToVaultOutput, error) { 313 req, out := c.AddTagsToVaultRequest(input) 314 req.SetContext(ctx) 315 req.ApplyOptions(opts...) 316 return out, req.Send() 317} 318 319const opCompleteMultipartUpload = "CompleteMultipartUpload" 320 321// CompleteMultipartUploadRequest generates a "aws/request.Request" representing the 322// client's request for the CompleteMultipartUpload operation. The "output" return 323// value will be populated with the request's response once the request completes 324// successfully. 325// 326// Use "Send" method on the returned Request to send the API call to the service. 327// the "output" return value is not valid until after Send returns without error. 328// 329// See CompleteMultipartUpload for more information on using the CompleteMultipartUpload 330// API call, and error handling. 331// 332// This method is useful when you want to inject custom logic or configuration 333// into the SDK's request lifecycle. Such as custom headers, or retry logic. 334// 335// 336// // Example sending a request using the CompleteMultipartUploadRequest method. 337// req, resp := client.CompleteMultipartUploadRequest(params) 338// 339// err := req.Send() 340// if err == nil { // resp is now filled 341// fmt.Println(resp) 342// } 343func (c *Glacier) CompleteMultipartUploadRequest(input *CompleteMultipartUploadInput) (req *request.Request, output *ArchiveCreationOutput) { 344 op := &request.Operation{ 345 Name: opCompleteMultipartUpload, 346 HTTPMethod: "POST", 347 HTTPPath: "/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}", 348 } 349 350 if input == nil { 351 input = &CompleteMultipartUploadInput{} 352 } 353 354 output = &ArchiveCreationOutput{} 355 req = c.newRequest(op, input, output) 356 return 357} 358 359// CompleteMultipartUpload API operation for Amazon Glacier. 360// 361// You call this operation to inform Amazon S3 Glacier (Glacier) that all the 362// archive parts have been uploaded and that Glacier can now assemble the archive 363// from the uploaded parts. After assembling and saving the archive to the vault, 364// Glacier returns the URI path of the newly created archive resource. Using 365// the URI path, you can then access the archive. After you upload an archive, 366// you should save the archive ID returned to retrieve the archive at a later 367// point. You can also get the vault inventory to obtain a list of archive IDs 368// in a vault. For more information, see InitiateJob. 369// 370// In the request, you must include the computed SHA256 tree hash of the entire 371// archive you have uploaded. For information about computing a SHA256 tree 372// hash, see Computing Checksums (https://docs.aws.amazon.com/amazonglacier/latest/dev/checksum-calculations.html). 373// On the server side, Glacier also constructs the SHA256 tree hash of the assembled 374// archive. If the values match, Glacier saves the archive to the vault; otherwise, 375// it returns an error, and the operation fails. The ListParts operation returns 376// a list of parts uploaded for a specific multipart upload. It includes checksum 377// information for each uploaded part that can be used to debug a bad checksum 378// issue. 379// 380// Additionally, Glacier also checks for any missing content ranges when assembling 381// the archive, if missing content ranges are found, Glacier returns an error 382// and the operation fails. 383// 384// Complete Multipart Upload is an idempotent operation. After your first successful 385// complete multipart upload, if you call the operation again within a short 386// period, the operation will succeed and return the same archive ID. This is 387// useful in the event you experience a network issue that causes an aborted 388// connection or receive a 500 server error, in which case you can repeat your 389// Complete Multipart Upload request and get the same archive ID without creating 390// duplicate archives. Note, however, that after the multipart upload completes, 391// you cannot call the List Parts operation and the multipart upload will not 392// appear in List Multipart Uploads response, even if idempotent complete is 393// possible. 394// 395// An AWS account has full permission to perform all operations (actions). However, 396// AWS Identity and Access Management (IAM) users don't have any permissions 397// by default. You must grant them explicit permission to perform specific actions. 398// For more information, see Access Control Using AWS Identity and Access Management 399// (IAM) (https://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html). 400// 401// For conceptual information and underlying REST API, see Uploading Large Archives 402// in Parts (Multipart Upload) (https://docs.aws.amazon.com/amazonglacier/latest/dev/uploading-archive-mpu.html) 403// and Complete Multipart Upload (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-complete-upload.html) 404// in the Amazon Glacier Developer Guide. 405// 406// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 407// with awserr.Error's Code and Message methods to get detailed information about 408// the error. 409// 410// See the AWS API reference guide for Amazon Glacier's 411// API operation CompleteMultipartUpload for usage and error information. 412// 413// Returned Error Codes: 414// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 415// Returned if the specified resource (such as a vault, upload ID, or job ID) 416// doesn't exist. 417// 418// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 419// Returned if a parameter of the request is incorrectly specified. 420// 421// * ErrCodeMissingParameterValueException "MissingParameterValueException" 422// Returned if a required header or parameter is missing from the request. 423// 424// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 425// Returned if the service cannot complete the request. 426// 427func (c *Glacier) CompleteMultipartUpload(input *CompleteMultipartUploadInput) (*ArchiveCreationOutput, error) { 428 req, out := c.CompleteMultipartUploadRequest(input) 429 return out, req.Send() 430} 431 432// CompleteMultipartUploadWithContext is the same as CompleteMultipartUpload with the addition of 433// the ability to pass a context and additional request options. 434// 435// See CompleteMultipartUpload for details on how to use this API operation. 436// 437// The context must be non-nil and will be used for request cancellation. If 438// the context is nil a panic will occur. In the future the SDK may create 439// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 440// for more information on using Contexts. 441func (c *Glacier) CompleteMultipartUploadWithContext(ctx aws.Context, input *CompleteMultipartUploadInput, opts ...request.Option) (*ArchiveCreationOutput, error) { 442 req, out := c.CompleteMultipartUploadRequest(input) 443 req.SetContext(ctx) 444 req.ApplyOptions(opts...) 445 return out, req.Send() 446} 447 448const opCompleteVaultLock = "CompleteVaultLock" 449 450// CompleteVaultLockRequest generates a "aws/request.Request" representing the 451// client's request for the CompleteVaultLock operation. The "output" return 452// value will be populated with the request's response once the request completes 453// successfully. 454// 455// Use "Send" method on the returned Request to send the API call to the service. 456// the "output" return value is not valid until after Send returns without error. 457// 458// See CompleteVaultLock for more information on using the CompleteVaultLock 459// API call, and error handling. 460// 461// This method is useful when you want to inject custom logic or configuration 462// into the SDK's request lifecycle. Such as custom headers, or retry logic. 463// 464// 465// // Example sending a request using the CompleteVaultLockRequest method. 466// req, resp := client.CompleteVaultLockRequest(params) 467// 468// err := req.Send() 469// if err == nil { // resp is now filled 470// fmt.Println(resp) 471// } 472func (c *Glacier) CompleteVaultLockRequest(input *CompleteVaultLockInput) (req *request.Request, output *CompleteVaultLockOutput) { 473 op := &request.Operation{ 474 Name: opCompleteVaultLock, 475 HTTPMethod: "POST", 476 HTTPPath: "/{accountId}/vaults/{vaultName}/lock-policy/{lockId}", 477 } 478 479 if input == nil { 480 input = &CompleteVaultLockInput{} 481 } 482 483 output = &CompleteVaultLockOutput{} 484 req = c.newRequest(op, input, output) 485 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 486 return 487} 488 489// CompleteVaultLock API operation for Amazon Glacier. 490// 491// This operation completes the vault locking process by transitioning the vault 492// lock from the InProgress state to the Locked state, which causes the vault 493// lock policy to become unchangeable. A vault lock is put into the InProgress 494// state by calling InitiateVaultLock. You can obtain the state of the vault 495// lock by calling GetVaultLock. For more information about the vault locking 496// process, Amazon Glacier Vault Lock (https://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock.html). 497// 498// This operation is idempotent. This request is always successful if the vault 499// lock is in the Locked state and the provided lock ID matches the lock ID 500// originally used to lock the vault. 501// 502// If an invalid lock ID is passed in the request when the vault lock is in 503// the Locked state, the operation returns an AccessDeniedException error. If 504// an invalid lock ID is passed in the request when the vault lock is in the 505// InProgress state, the operation throws an InvalidParameter error. 506// 507// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 508// with awserr.Error's Code and Message methods to get detailed information about 509// the error. 510// 511// See the AWS API reference guide for Amazon Glacier's 512// API operation CompleteVaultLock for usage and error information. 513// 514// Returned Error Codes: 515// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 516// Returned if the specified resource (such as a vault, upload ID, or job ID) 517// doesn't exist. 518// 519// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 520// Returned if a parameter of the request is incorrectly specified. 521// 522// * ErrCodeMissingParameterValueException "MissingParameterValueException" 523// Returned if a required header or parameter is missing from the request. 524// 525// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 526// Returned if the service cannot complete the request. 527// 528func (c *Glacier) CompleteVaultLock(input *CompleteVaultLockInput) (*CompleteVaultLockOutput, error) { 529 req, out := c.CompleteVaultLockRequest(input) 530 return out, req.Send() 531} 532 533// CompleteVaultLockWithContext is the same as CompleteVaultLock with the addition of 534// the ability to pass a context and additional request options. 535// 536// See CompleteVaultLock for details on how to use this API operation. 537// 538// The context must be non-nil and will be used for request cancellation. If 539// the context is nil a panic will occur. In the future the SDK may create 540// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 541// for more information on using Contexts. 542func (c *Glacier) CompleteVaultLockWithContext(ctx aws.Context, input *CompleteVaultLockInput, opts ...request.Option) (*CompleteVaultLockOutput, error) { 543 req, out := c.CompleteVaultLockRequest(input) 544 req.SetContext(ctx) 545 req.ApplyOptions(opts...) 546 return out, req.Send() 547} 548 549const opCreateVault = "CreateVault" 550 551// CreateVaultRequest generates a "aws/request.Request" representing the 552// client's request for the CreateVault operation. The "output" return 553// value will be populated with the request's response once the request completes 554// successfully. 555// 556// Use "Send" method on the returned Request to send the API call to the service. 557// the "output" return value is not valid until after Send returns without error. 558// 559// See CreateVault for more information on using the CreateVault 560// API call, and error handling. 561// 562// This method is useful when you want to inject custom logic or configuration 563// into the SDK's request lifecycle. Such as custom headers, or retry logic. 564// 565// 566// // Example sending a request using the CreateVaultRequest method. 567// req, resp := client.CreateVaultRequest(params) 568// 569// err := req.Send() 570// if err == nil { // resp is now filled 571// fmt.Println(resp) 572// } 573func (c *Glacier) CreateVaultRequest(input *CreateVaultInput) (req *request.Request, output *CreateVaultOutput) { 574 op := &request.Operation{ 575 Name: opCreateVault, 576 HTTPMethod: "PUT", 577 HTTPPath: "/{accountId}/vaults/{vaultName}", 578 } 579 580 if input == nil { 581 input = &CreateVaultInput{} 582 } 583 584 output = &CreateVaultOutput{} 585 req = c.newRequest(op, input, output) 586 return 587} 588 589// CreateVault API operation for Amazon Glacier. 590// 591// This operation creates a new vault with the specified name. The name of the 592// vault must be unique within a region for an AWS account. You can create up 593// to 1,000 vaults per account. If you need to create more vaults, contact Amazon 594// S3 Glacier. 595// 596// You must use the following guidelines when naming a vault. 597// 598// * Names can be between 1 and 255 characters long. 599// 600// * Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), 601// and '.' (period). 602// 603// This operation is idempotent. 604// 605// An AWS account has full permission to perform all operations (actions). However, 606// AWS Identity and Access Management (IAM) users don't have any permissions 607// by default. You must grant them explicit permission to perform specific actions. 608// For more information, see Access Control Using AWS Identity and Access Management 609// (IAM) (https://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html). 610// 611// For conceptual information and underlying REST API, see Creating a Vault 612// in Amazon Glacier (https://docs.aws.amazon.com/amazonglacier/latest/dev/creating-vaults.html) 613// and Create Vault (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-put.html) 614// in the Amazon Glacier Developer Guide. 615// 616// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 617// with awserr.Error's Code and Message methods to get detailed information about 618// the error. 619// 620// See the AWS API reference guide for Amazon Glacier's 621// API operation CreateVault for usage and error information. 622// 623// Returned Error Codes: 624// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 625// Returned if a parameter of the request is incorrectly specified. 626// 627// * ErrCodeMissingParameterValueException "MissingParameterValueException" 628// Returned if a required header or parameter is missing from the request. 629// 630// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 631// Returned if the service cannot complete the request. 632// 633// * ErrCodeLimitExceededException "LimitExceededException" 634// Returned if the request results in a vault or account limit being exceeded. 635// 636func (c *Glacier) CreateVault(input *CreateVaultInput) (*CreateVaultOutput, error) { 637 req, out := c.CreateVaultRequest(input) 638 return out, req.Send() 639} 640 641// CreateVaultWithContext is the same as CreateVault with the addition of 642// the ability to pass a context and additional request options. 643// 644// See CreateVault for details on how to use this API operation. 645// 646// The context must be non-nil and will be used for request cancellation. If 647// the context is nil a panic will occur. In the future the SDK may create 648// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 649// for more information on using Contexts. 650func (c *Glacier) CreateVaultWithContext(ctx aws.Context, input *CreateVaultInput, opts ...request.Option) (*CreateVaultOutput, error) { 651 req, out := c.CreateVaultRequest(input) 652 req.SetContext(ctx) 653 req.ApplyOptions(opts...) 654 return out, req.Send() 655} 656 657const opDeleteArchive = "DeleteArchive" 658 659// DeleteArchiveRequest generates a "aws/request.Request" representing the 660// client's request for the DeleteArchive operation. The "output" return 661// value will be populated with the request's response once the request completes 662// successfully. 663// 664// Use "Send" method on the returned Request to send the API call to the service. 665// the "output" return value is not valid until after Send returns without error. 666// 667// See DeleteArchive for more information on using the DeleteArchive 668// API call, and error handling. 669// 670// This method is useful when you want to inject custom logic or configuration 671// into the SDK's request lifecycle. Such as custom headers, or retry logic. 672// 673// 674// // Example sending a request using the DeleteArchiveRequest method. 675// req, resp := client.DeleteArchiveRequest(params) 676// 677// err := req.Send() 678// if err == nil { // resp is now filled 679// fmt.Println(resp) 680// } 681func (c *Glacier) DeleteArchiveRequest(input *DeleteArchiveInput) (req *request.Request, output *DeleteArchiveOutput) { 682 op := &request.Operation{ 683 Name: opDeleteArchive, 684 HTTPMethod: "DELETE", 685 HTTPPath: "/{accountId}/vaults/{vaultName}/archives/{archiveId}", 686 } 687 688 if input == nil { 689 input = &DeleteArchiveInput{} 690 } 691 692 output = &DeleteArchiveOutput{} 693 req = c.newRequest(op, input, output) 694 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 695 return 696} 697 698// DeleteArchive API operation for Amazon Glacier. 699// 700// This operation deletes an archive from a vault. Subsequent requests to initiate 701// a retrieval of this archive will fail. Archive retrievals that are in progress 702// for this archive ID may or may not succeed according to the following scenarios: 703// 704// * If the archive retrieval job is actively preparing the data for download 705// when Amazon S3 Glacier receives the delete archive request, the archival 706// retrieval operation might fail. 707// 708// * If the archive retrieval job has successfully prepared the archive for 709// download when Amazon S3 Glacier receives the delete archive request, you 710// will be able to download the output. 711// 712// This operation is idempotent. Attempting to delete an already-deleted archive 713// does not result in an error. 714// 715// An AWS account has full permission to perform all operations (actions). However, 716// AWS Identity and Access Management (IAM) users don't have any permissions 717// by default. You must grant them explicit permission to perform specific actions. 718// For more information, see Access Control Using AWS Identity and Access Management 719// (IAM) (https://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html). 720// 721// For conceptual information and underlying REST API, see Deleting an Archive 722// in Amazon Glacier (https://docs.aws.amazon.com/amazonglacier/latest/dev/deleting-an-archive.html) 723// and Delete Archive (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-archive-delete.html) 724// in the Amazon Glacier Developer Guide. 725// 726// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 727// with awserr.Error's Code and Message methods to get detailed information about 728// the error. 729// 730// See the AWS API reference guide for Amazon Glacier's 731// API operation DeleteArchive for usage and error information. 732// 733// Returned Error Codes: 734// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 735// Returned if the specified resource (such as a vault, upload ID, or job ID) 736// doesn't exist. 737// 738// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 739// Returned if a parameter of the request is incorrectly specified. 740// 741// * ErrCodeMissingParameterValueException "MissingParameterValueException" 742// Returned if a required header or parameter is missing from the request. 743// 744// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 745// Returned if the service cannot complete the request. 746// 747func (c *Glacier) DeleteArchive(input *DeleteArchiveInput) (*DeleteArchiveOutput, error) { 748 req, out := c.DeleteArchiveRequest(input) 749 return out, req.Send() 750} 751 752// DeleteArchiveWithContext is the same as DeleteArchive with the addition of 753// the ability to pass a context and additional request options. 754// 755// See DeleteArchive for details on how to use this API operation. 756// 757// The context must be non-nil and will be used for request cancellation. If 758// the context is nil a panic will occur. In the future the SDK may create 759// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 760// for more information on using Contexts. 761func (c *Glacier) DeleteArchiveWithContext(ctx aws.Context, input *DeleteArchiveInput, opts ...request.Option) (*DeleteArchiveOutput, error) { 762 req, out := c.DeleteArchiveRequest(input) 763 req.SetContext(ctx) 764 req.ApplyOptions(opts...) 765 return out, req.Send() 766} 767 768const opDeleteVault = "DeleteVault" 769 770// DeleteVaultRequest generates a "aws/request.Request" representing the 771// client's request for the DeleteVault operation. The "output" return 772// value will be populated with the request's response once the request completes 773// successfully. 774// 775// Use "Send" method on the returned Request to send the API call to the service. 776// the "output" return value is not valid until after Send returns without error. 777// 778// See DeleteVault for more information on using the DeleteVault 779// API call, and error handling. 780// 781// This method is useful when you want to inject custom logic or configuration 782// into the SDK's request lifecycle. Such as custom headers, or retry logic. 783// 784// 785// // Example sending a request using the DeleteVaultRequest method. 786// req, resp := client.DeleteVaultRequest(params) 787// 788// err := req.Send() 789// if err == nil { // resp is now filled 790// fmt.Println(resp) 791// } 792func (c *Glacier) DeleteVaultRequest(input *DeleteVaultInput) (req *request.Request, output *DeleteVaultOutput) { 793 op := &request.Operation{ 794 Name: opDeleteVault, 795 HTTPMethod: "DELETE", 796 HTTPPath: "/{accountId}/vaults/{vaultName}", 797 } 798 799 if input == nil { 800 input = &DeleteVaultInput{} 801 } 802 803 output = &DeleteVaultOutput{} 804 req = c.newRequest(op, input, output) 805 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 806 return 807} 808 809// DeleteVault API operation for Amazon Glacier. 810// 811// This operation deletes a vault. Amazon S3 Glacier will delete a vault only 812// if there are no archives in the vault as of the last inventory and there 813// have been no writes to the vault since the last inventory. If either of these 814// conditions is not satisfied, the vault deletion fails (that is, the vault 815// is not removed) and Amazon S3 Glacier returns an error. You can use DescribeVault 816// to return the number of archives in a vault, and you can use Initiate a Job 817// (POST jobs) (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-initiate-job-post.html) 818// to initiate a new inventory retrieval for a vault. The inventory contains 819// the archive IDs you use to delete archives using Delete Archive (DELETE archive) 820// (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-archive-delete.html). 821// 822// This operation is idempotent. 823// 824// An AWS account has full permission to perform all operations (actions). However, 825// AWS Identity and Access Management (IAM) users don't have any permissions 826// by default. You must grant them explicit permission to perform specific actions. 827// For more information, see Access Control Using AWS Identity and Access Management 828// (IAM) (https://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html). 829// 830// For conceptual information and underlying REST API, see Deleting a Vault 831// in Amazon Glacier (https://docs.aws.amazon.com/amazonglacier/latest/dev/deleting-vaults.html) 832// and Delete Vault (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-delete.html) 833// in the Amazon S3 Glacier Developer Guide. 834// 835// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 836// with awserr.Error's Code and Message methods to get detailed information about 837// the error. 838// 839// See the AWS API reference guide for Amazon Glacier's 840// API operation DeleteVault for usage and error information. 841// 842// Returned Error Codes: 843// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 844// Returned if the specified resource (such as a vault, upload ID, or job ID) 845// doesn't exist. 846// 847// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 848// Returned if a parameter of the request is incorrectly specified. 849// 850// * ErrCodeMissingParameterValueException "MissingParameterValueException" 851// Returned if a required header or parameter is missing from the request. 852// 853// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 854// Returned if the service cannot complete the request. 855// 856func (c *Glacier) DeleteVault(input *DeleteVaultInput) (*DeleteVaultOutput, error) { 857 req, out := c.DeleteVaultRequest(input) 858 return out, req.Send() 859} 860 861// DeleteVaultWithContext is the same as DeleteVault with the addition of 862// the ability to pass a context and additional request options. 863// 864// See DeleteVault for details on how to use this API operation. 865// 866// The context must be non-nil and will be used for request cancellation. If 867// the context is nil a panic will occur. In the future the SDK may create 868// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 869// for more information on using Contexts. 870func (c *Glacier) DeleteVaultWithContext(ctx aws.Context, input *DeleteVaultInput, opts ...request.Option) (*DeleteVaultOutput, error) { 871 req, out := c.DeleteVaultRequest(input) 872 req.SetContext(ctx) 873 req.ApplyOptions(opts...) 874 return out, req.Send() 875} 876 877const opDeleteVaultAccessPolicy = "DeleteVaultAccessPolicy" 878 879// DeleteVaultAccessPolicyRequest generates a "aws/request.Request" representing the 880// client's request for the DeleteVaultAccessPolicy operation. The "output" return 881// value will be populated with the request's response once the request completes 882// successfully. 883// 884// Use "Send" method on the returned Request to send the API call to the service. 885// the "output" return value is not valid until after Send returns without error. 886// 887// See DeleteVaultAccessPolicy for more information on using the DeleteVaultAccessPolicy 888// API call, and error handling. 889// 890// This method is useful when you want to inject custom logic or configuration 891// into the SDK's request lifecycle. Such as custom headers, or retry logic. 892// 893// 894// // Example sending a request using the DeleteVaultAccessPolicyRequest method. 895// req, resp := client.DeleteVaultAccessPolicyRequest(params) 896// 897// err := req.Send() 898// if err == nil { // resp is now filled 899// fmt.Println(resp) 900// } 901func (c *Glacier) DeleteVaultAccessPolicyRequest(input *DeleteVaultAccessPolicyInput) (req *request.Request, output *DeleteVaultAccessPolicyOutput) { 902 op := &request.Operation{ 903 Name: opDeleteVaultAccessPolicy, 904 HTTPMethod: "DELETE", 905 HTTPPath: "/{accountId}/vaults/{vaultName}/access-policy", 906 } 907 908 if input == nil { 909 input = &DeleteVaultAccessPolicyInput{} 910 } 911 912 output = &DeleteVaultAccessPolicyOutput{} 913 req = c.newRequest(op, input, output) 914 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 915 return 916} 917 918// DeleteVaultAccessPolicy API operation for Amazon Glacier. 919// 920// This operation deletes the access policy associated with the specified vault. 921// The operation is eventually consistent; that is, it might take some time 922// for Amazon S3 Glacier to completely remove the access policy, and you might 923// still see the effect of the policy for a short time after you send the delete 924// request. 925// 926// This operation is idempotent. You can invoke delete multiple times, even 927// if there is no policy associated with the vault. For more information about 928// vault access policies, see Amazon Glacier Access Control with Vault Access 929// Policies (https://docs.aws.amazon.com/amazonglacier/latest/dev/vault-access-policy.html). 930// 931// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 932// with awserr.Error's Code and Message methods to get detailed information about 933// the error. 934// 935// See the AWS API reference guide for Amazon Glacier's 936// API operation DeleteVaultAccessPolicy for usage and error information. 937// 938// Returned Error Codes: 939// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 940// Returned if the specified resource (such as a vault, upload ID, or job ID) 941// doesn't exist. 942// 943// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 944// Returned if a parameter of the request is incorrectly specified. 945// 946// * ErrCodeMissingParameterValueException "MissingParameterValueException" 947// Returned if a required header or parameter is missing from the request. 948// 949// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 950// Returned if the service cannot complete the request. 951// 952func (c *Glacier) DeleteVaultAccessPolicy(input *DeleteVaultAccessPolicyInput) (*DeleteVaultAccessPolicyOutput, error) { 953 req, out := c.DeleteVaultAccessPolicyRequest(input) 954 return out, req.Send() 955} 956 957// DeleteVaultAccessPolicyWithContext is the same as DeleteVaultAccessPolicy with the addition of 958// the ability to pass a context and additional request options. 959// 960// See DeleteVaultAccessPolicy for details on how to use this API operation. 961// 962// The context must be non-nil and will be used for request cancellation. If 963// the context is nil a panic will occur. In the future the SDK may create 964// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 965// for more information on using Contexts. 966func (c *Glacier) DeleteVaultAccessPolicyWithContext(ctx aws.Context, input *DeleteVaultAccessPolicyInput, opts ...request.Option) (*DeleteVaultAccessPolicyOutput, error) { 967 req, out := c.DeleteVaultAccessPolicyRequest(input) 968 req.SetContext(ctx) 969 req.ApplyOptions(opts...) 970 return out, req.Send() 971} 972 973const opDeleteVaultNotifications = "DeleteVaultNotifications" 974 975// DeleteVaultNotificationsRequest generates a "aws/request.Request" representing the 976// client's request for the DeleteVaultNotifications operation. The "output" return 977// value will be populated with the request's response once the request completes 978// successfully. 979// 980// Use "Send" method on the returned Request to send the API call to the service. 981// the "output" return value is not valid until after Send returns without error. 982// 983// See DeleteVaultNotifications for more information on using the DeleteVaultNotifications 984// API call, and error handling. 985// 986// This method is useful when you want to inject custom logic or configuration 987// into the SDK's request lifecycle. Such as custom headers, or retry logic. 988// 989// 990// // Example sending a request using the DeleteVaultNotificationsRequest method. 991// req, resp := client.DeleteVaultNotificationsRequest(params) 992// 993// err := req.Send() 994// if err == nil { // resp is now filled 995// fmt.Println(resp) 996// } 997func (c *Glacier) DeleteVaultNotificationsRequest(input *DeleteVaultNotificationsInput) (req *request.Request, output *DeleteVaultNotificationsOutput) { 998 op := &request.Operation{ 999 Name: opDeleteVaultNotifications, 1000 HTTPMethod: "DELETE", 1001 HTTPPath: "/{accountId}/vaults/{vaultName}/notification-configuration", 1002 } 1003 1004 if input == nil { 1005 input = &DeleteVaultNotificationsInput{} 1006 } 1007 1008 output = &DeleteVaultNotificationsOutput{} 1009 req = c.newRequest(op, input, output) 1010 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1011 return 1012} 1013 1014// DeleteVaultNotifications API operation for Amazon Glacier. 1015// 1016// This operation deletes the notification configuration set for a vault. The 1017// operation is eventually consistent; that is, it might take some time for 1018// Amazon S3 Glacier to completely disable the notifications and you might still 1019// receive some notifications for a short time after you send the delete request. 1020// 1021// An AWS account has full permission to perform all operations (actions). However, 1022// AWS Identity and Access Management (IAM) users don't have any permissions 1023// by default. You must grant them explicit permission to perform specific actions. 1024// For more information, see Access Control Using AWS Identity and Access Management 1025// (IAM) (https://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html). 1026// 1027// For conceptual information and underlying REST API, see Configuring Vault 1028// Notifications in Amazon S3 Glacier (https://docs.aws.amazon.com/amazonglacier/latest/dev/configuring-notifications.html) 1029// and Delete Vault Notification Configuration (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-notifications-delete.html) 1030// in the Amazon S3 Glacier Developer Guide. 1031// 1032// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1033// with awserr.Error's Code and Message methods to get detailed information about 1034// the error. 1035// 1036// See the AWS API reference guide for Amazon Glacier's 1037// API operation DeleteVaultNotifications for usage and error information. 1038// 1039// Returned Error Codes: 1040// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 1041// Returned if the specified resource (such as a vault, upload ID, or job ID) 1042// doesn't exist. 1043// 1044// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 1045// Returned if a parameter of the request is incorrectly specified. 1046// 1047// * ErrCodeMissingParameterValueException "MissingParameterValueException" 1048// Returned if a required header or parameter is missing from the request. 1049// 1050// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 1051// Returned if the service cannot complete the request. 1052// 1053func (c *Glacier) DeleteVaultNotifications(input *DeleteVaultNotificationsInput) (*DeleteVaultNotificationsOutput, error) { 1054 req, out := c.DeleteVaultNotificationsRequest(input) 1055 return out, req.Send() 1056} 1057 1058// DeleteVaultNotificationsWithContext is the same as DeleteVaultNotifications with the addition of 1059// the ability to pass a context and additional request options. 1060// 1061// See DeleteVaultNotifications for details on how to use this API operation. 1062// 1063// The context must be non-nil and will be used for request cancellation. If 1064// the context is nil a panic will occur. In the future the SDK may create 1065// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1066// for more information on using Contexts. 1067func (c *Glacier) DeleteVaultNotificationsWithContext(ctx aws.Context, input *DeleteVaultNotificationsInput, opts ...request.Option) (*DeleteVaultNotificationsOutput, error) { 1068 req, out := c.DeleteVaultNotificationsRequest(input) 1069 req.SetContext(ctx) 1070 req.ApplyOptions(opts...) 1071 return out, req.Send() 1072} 1073 1074const opDescribeJob = "DescribeJob" 1075 1076// DescribeJobRequest generates a "aws/request.Request" representing the 1077// client's request for the DescribeJob operation. The "output" return 1078// value will be populated with the request's response once the request completes 1079// successfully. 1080// 1081// Use "Send" method on the returned Request to send the API call to the service. 1082// the "output" return value is not valid until after Send returns without error. 1083// 1084// See DescribeJob for more information on using the DescribeJob 1085// API call, and error handling. 1086// 1087// This method is useful when you want to inject custom logic or configuration 1088// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1089// 1090// 1091// // Example sending a request using the DescribeJobRequest method. 1092// req, resp := client.DescribeJobRequest(params) 1093// 1094// err := req.Send() 1095// if err == nil { // resp is now filled 1096// fmt.Println(resp) 1097// } 1098func (c *Glacier) DescribeJobRequest(input *DescribeJobInput) (req *request.Request, output *JobDescription) { 1099 op := &request.Operation{ 1100 Name: opDescribeJob, 1101 HTTPMethod: "GET", 1102 HTTPPath: "/{accountId}/vaults/{vaultName}/jobs/{jobId}", 1103 } 1104 1105 if input == nil { 1106 input = &DescribeJobInput{} 1107 } 1108 1109 output = &JobDescription{} 1110 req = c.newRequest(op, input, output) 1111 return 1112} 1113 1114// DescribeJob API operation for Amazon Glacier. 1115// 1116// This operation returns information about a job you previously initiated, 1117// including the job initiation date, the user who initiated the job, the job 1118// status code/message and the Amazon SNS topic to notify after Amazon S3 Glacier 1119// (Glacier) completes the job. For more information about initiating a job, 1120// see InitiateJob. 1121// 1122// This operation enables you to check the status of your job. However, it is 1123// strongly recommended that you set up an Amazon SNS topic and specify it in 1124// your initiate job request so that Glacier can notify the topic after it completes 1125// the job. 1126// 1127// A job ID will not expire for at least 24 hours after Glacier completes the 1128// job. 1129// 1130// An AWS account has full permission to perform all operations (actions). However, 1131// AWS Identity and Access Management (IAM) users don't have any permissions 1132// by default. You must grant them explicit permission to perform specific actions. 1133// For more information, see Access Control Using AWS Identity and Access Management 1134// (IAM) (https://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html). 1135// 1136// For more information about using this operation, see the documentation for 1137// the underlying REST API Describe Job (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-describe-job-get.html) 1138// in the Amazon Glacier Developer Guide. 1139// 1140// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1141// with awserr.Error's Code and Message methods to get detailed information about 1142// the error. 1143// 1144// See the AWS API reference guide for Amazon Glacier's 1145// API operation DescribeJob for usage and error information. 1146// 1147// Returned Error Codes: 1148// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 1149// Returned if the specified resource (such as a vault, upload ID, or job ID) 1150// doesn't exist. 1151// 1152// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 1153// Returned if a parameter of the request is incorrectly specified. 1154// 1155// * ErrCodeMissingParameterValueException "MissingParameterValueException" 1156// Returned if a required header or parameter is missing from the request. 1157// 1158// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 1159// Returned if the service cannot complete the request. 1160// 1161func (c *Glacier) DescribeJob(input *DescribeJobInput) (*JobDescription, error) { 1162 req, out := c.DescribeJobRequest(input) 1163 return out, req.Send() 1164} 1165 1166// DescribeJobWithContext is the same as DescribeJob with the addition of 1167// the ability to pass a context and additional request options. 1168// 1169// See DescribeJob for details on how to use this API operation. 1170// 1171// The context must be non-nil and will be used for request cancellation. If 1172// the context is nil a panic will occur. In the future the SDK may create 1173// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1174// for more information on using Contexts. 1175func (c *Glacier) DescribeJobWithContext(ctx aws.Context, input *DescribeJobInput, opts ...request.Option) (*JobDescription, error) { 1176 req, out := c.DescribeJobRequest(input) 1177 req.SetContext(ctx) 1178 req.ApplyOptions(opts...) 1179 return out, req.Send() 1180} 1181 1182const opDescribeVault = "DescribeVault" 1183 1184// DescribeVaultRequest generates a "aws/request.Request" representing the 1185// client's request for the DescribeVault operation. The "output" return 1186// value will be populated with the request's response once the request completes 1187// successfully. 1188// 1189// Use "Send" method on the returned Request to send the API call to the service. 1190// the "output" return value is not valid until after Send returns without error. 1191// 1192// See DescribeVault for more information on using the DescribeVault 1193// API call, and error handling. 1194// 1195// This method is useful when you want to inject custom logic or configuration 1196// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1197// 1198// 1199// // Example sending a request using the DescribeVaultRequest method. 1200// req, resp := client.DescribeVaultRequest(params) 1201// 1202// err := req.Send() 1203// if err == nil { // resp is now filled 1204// fmt.Println(resp) 1205// } 1206func (c *Glacier) DescribeVaultRequest(input *DescribeVaultInput) (req *request.Request, output *DescribeVaultOutput) { 1207 op := &request.Operation{ 1208 Name: opDescribeVault, 1209 HTTPMethod: "GET", 1210 HTTPPath: "/{accountId}/vaults/{vaultName}", 1211 } 1212 1213 if input == nil { 1214 input = &DescribeVaultInput{} 1215 } 1216 1217 output = &DescribeVaultOutput{} 1218 req = c.newRequest(op, input, output) 1219 return 1220} 1221 1222// DescribeVault API operation for Amazon Glacier. 1223// 1224// This operation returns information about a vault, including the vault's Amazon 1225// Resource Name (ARN), the date the vault was created, the number of archives 1226// it contains, and the total size of all the archives in the vault. The number 1227// of archives and their total size are as of the last inventory generation. 1228// This means that if you add or remove an archive from a vault, and then immediately 1229// use Describe Vault, the change in contents will not be immediately reflected. 1230// If you want to retrieve the latest inventory of the vault, use InitiateJob. 1231// Amazon S3 Glacier generates vault inventories approximately daily. For more 1232// information, see Downloading a Vault Inventory in Amazon S3 Glacier (https://docs.aws.amazon.com/amazonglacier/latest/dev/vault-inventory.html). 1233// 1234// An AWS account has full permission to perform all operations (actions). However, 1235// AWS Identity and Access Management (IAM) users don't have any permissions 1236// by default. You must grant them explicit permission to perform specific actions. 1237// For more information, see Access Control Using AWS Identity and Access Management 1238// (IAM) (https://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html). 1239// 1240// For conceptual information and underlying REST API, see Retrieving Vault 1241// Metadata in Amazon S3 Glacier (https://docs.aws.amazon.com/amazonglacier/latest/dev/retrieving-vault-info.html) 1242// and Describe Vault (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-get.html) 1243// in the Amazon Glacier Developer Guide. 1244// 1245// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1246// with awserr.Error's Code and Message methods to get detailed information about 1247// the error. 1248// 1249// See the AWS API reference guide for Amazon Glacier's 1250// API operation DescribeVault for usage and error information. 1251// 1252// Returned Error Codes: 1253// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 1254// Returned if the specified resource (such as a vault, upload ID, or job ID) 1255// doesn't exist. 1256// 1257// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 1258// Returned if a parameter of the request is incorrectly specified. 1259// 1260// * ErrCodeMissingParameterValueException "MissingParameterValueException" 1261// Returned if a required header or parameter is missing from the request. 1262// 1263// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 1264// Returned if the service cannot complete the request. 1265// 1266func (c *Glacier) DescribeVault(input *DescribeVaultInput) (*DescribeVaultOutput, error) { 1267 req, out := c.DescribeVaultRequest(input) 1268 return out, req.Send() 1269} 1270 1271// DescribeVaultWithContext is the same as DescribeVault with the addition of 1272// the ability to pass a context and additional request options. 1273// 1274// See DescribeVault for details on how to use this API operation. 1275// 1276// The context must be non-nil and will be used for request cancellation. If 1277// the context is nil a panic will occur. In the future the SDK may create 1278// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1279// for more information on using Contexts. 1280func (c *Glacier) DescribeVaultWithContext(ctx aws.Context, input *DescribeVaultInput, opts ...request.Option) (*DescribeVaultOutput, error) { 1281 req, out := c.DescribeVaultRequest(input) 1282 req.SetContext(ctx) 1283 req.ApplyOptions(opts...) 1284 return out, req.Send() 1285} 1286 1287const opGetDataRetrievalPolicy = "GetDataRetrievalPolicy" 1288 1289// GetDataRetrievalPolicyRequest generates a "aws/request.Request" representing the 1290// client's request for the GetDataRetrievalPolicy operation. The "output" return 1291// value will be populated with the request's response once the request completes 1292// successfully. 1293// 1294// Use "Send" method on the returned Request to send the API call to the service. 1295// the "output" return value is not valid until after Send returns without error. 1296// 1297// See GetDataRetrievalPolicy for more information on using the GetDataRetrievalPolicy 1298// API call, and error handling. 1299// 1300// This method is useful when you want to inject custom logic or configuration 1301// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1302// 1303// 1304// // Example sending a request using the GetDataRetrievalPolicyRequest method. 1305// req, resp := client.GetDataRetrievalPolicyRequest(params) 1306// 1307// err := req.Send() 1308// if err == nil { // resp is now filled 1309// fmt.Println(resp) 1310// } 1311func (c *Glacier) GetDataRetrievalPolicyRequest(input *GetDataRetrievalPolicyInput) (req *request.Request, output *GetDataRetrievalPolicyOutput) { 1312 op := &request.Operation{ 1313 Name: opGetDataRetrievalPolicy, 1314 HTTPMethod: "GET", 1315 HTTPPath: "/{accountId}/policies/data-retrieval", 1316 } 1317 1318 if input == nil { 1319 input = &GetDataRetrievalPolicyInput{} 1320 } 1321 1322 output = &GetDataRetrievalPolicyOutput{} 1323 req = c.newRequest(op, input, output) 1324 return 1325} 1326 1327// GetDataRetrievalPolicy API operation for Amazon Glacier. 1328// 1329// This operation returns the current data retrieval policy for the account 1330// and region specified in the GET request. For more information about data 1331// retrieval policies, see Amazon Glacier Data Retrieval Policies (https://docs.aws.amazon.com/amazonglacier/latest/dev/data-retrieval-policy.html). 1332// 1333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1334// with awserr.Error's Code and Message methods to get detailed information about 1335// the error. 1336// 1337// See the AWS API reference guide for Amazon Glacier's 1338// API operation GetDataRetrievalPolicy for usage and error information. 1339// 1340// Returned Error Codes: 1341// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 1342// Returned if a parameter of the request is incorrectly specified. 1343// 1344// * ErrCodeMissingParameterValueException "MissingParameterValueException" 1345// Returned if a required header or parameter is missing from the request. 1346// 1347// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 1348// Returned if the service cannot complete the request. 1349// 1350func (c *Glacier) GetDataRetrievalPolicy(input *GetDataRetrievalPolicyInput) (*GetDataRetrievalPolicyOutput, error) { 1351 req, out := c.GetDataRetrievalPolicyRequest(input) 1352 return out, req.Send() 1353} 1354 1355// GetDataRetrievalPolicyWithContext is the same as GetDataRetrievalPolicy with the addition of 1356// the ability to pass a context and additional request options. 1357// 1358// See GetDataRetrievalPolicy for details on how to use this API operation. 1359// 1360// The context must be non-nil and will be used for request cancellation. If 1361// the context is nil a panic will occur. In the future the SDK may create 1362// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1363// for more information on using Contexts. 1364func (c *Glacier) GetDataRetrievalPolicyWithContext(ctx aws.Context, input *GetDataRetrievalPolicyInput, opts ...request.Option) (*GetDataRetrievalPolicyOutput, error) { 1365 req, out := c.GetDataRetrievalPolicyRequest(input) 1366 req.SetContext(ctx) 1367 req.ApplyOptions(opts...) 1368 return out, req.Send() 1369} 1370 1371const opGetJobOutput = "GetJobOutput" 1372 1373// GetJobOutputRequest generates a "aws/request.Request" representing the 1374// client's request for the GetJobOutput operation. The "output" return 1375// value will be populated with the request's response once the request completes 1376// successfully. 1377// 1378// Use "Send" method on the returned Request to send the API call to the service. 1379// the "output" return value is not valid until after Send returns without error. 1380// 1381// See GetJobOutput for more information on using the GetJobOutput 1382// API call, and error handling. 1383// 1384// This method is useful when you want to inject custom logic or configuration 1385// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1386// 1387// 1388// // Example sending a request using the GetJobOutputRequest method. 1389// req, resp := client.GetJobOutputRequest(params) 1390// 1391// err := req.Send() 1392// if err == nil { // resp is now filled 1393// fmt.Println(resp) 1394// } 1395func (c *Glacier) GetJobOutputRequest(input *GetJobOutputInput) (req *request.Request, output *GetJobOutputOutput) { 1396 op := &request.Operation{ 1397 Name: opGetJobOutput, 1398 HTTPMethod: "GET", 1399 HTTPPath: "/{accountId}/vaults/{vaultName}/jobs/{jobId}/output", 1400 } 1401 1402 if input == nil { 1403 input = &GetJobOutputInput{} 1404 } 1405 1406 output = &GetJobOutputOutput{} 1407 req = c.newRequest(op, input, output) 1408 return 1409} 1410 1411// GetJobOutput API operation for Amazon Glacier. 1412// 1413// This operation downloads the output of the job you initiated using InitiateJob. 1414// Depending on the job type you specified when you initiated the job, the output 1415// will be either the content of an archive or a vault inventory. 1416// 1417// You can download all the job output or download a portion of the output by 1418// specifying a byte range. In the case of an archive retrieval job, depending 1419// on the byte range you specify, Amazon S3 Glacier (Glacier) returns the checksum 1420// for the portion of the data. You can compute the checksum on the client and 1421// verify that the values match to ensure the portion you downloaded is the 1422// correct data. 1423// 1424// A job ID will not expire for at least 24 hours after Glacier completes the 1425// job. That a byte range. For both archive and inventory retrieval jobs, you 1426// should verify the downloaded size against the size returned in the headers 1427// from the Get Job Output response. 1428// 1429// For archive retrieval jobs, you should also verify that the size is what 1430// you expected. If you download a portion of the output, the expected size 1431// is based on the range of bytes you specified. For example, if you specify 1432// a range of bytes=0-1048575, you should verify your download size is 1,048,576 1433// bytes. If you download an entire archive, the expected size is the size of 1434// the archive when you uploaded it to Amazon S3 Glacier The expected size is 1435// also returned in the headers from the Get Job Output response. 1436// 1437// In the case of an archive retrieval job, depending on the byte range you 1438// specify, Glacier returns the checksum for the portion of the data. To ensure 1439// the portion you downloaded is the correct data, compute the checksum on the 1440// client, verify that the values match, and verify that the size is what you 1441// expected. 1442// 1443// A job ID does not expire for at least 24 hours after Glacier completes the 1444// job. That is, you can download the job output within the 24 hours period 1445// after Amazon Glacier completes the job. 1446// 1447// An AWS account has full permission to perform all operations (actions). However, 1448// AWS Identity and Access Management (IAM) users don't have any permissions 1449// by default. You must grant them explicit permission to perform specific actions. 1450// For more information, see Access Control Using AWS Identity and Access Management 1451// (IAM) (https://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html). 1452// 1453// For conceptual information and the underlying REST API, see Downloading a 1454// Vault Inventory (https://docs.aws.amazon.com/amazonglacier/latest/dev/vault-inventory.html), 1455// Downloading an Archive (https://docs.aws.amazon.com/amazonglacier/latest/dev/downloading-an-archive.html), 1456// and Get Job Output (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-job-output-get.html) 1457// 1458// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1459// with awserr.Error's Code and Message methods to get detailed information about 1460// the error. 1461// 1462// See the AWS API reference guide for Amazon Glacier's 1463// API operation GetJobOutput for usage and error information. 1464// 1465// Returned Error Codes: 1466// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 1467// Returned if the specified resource (such as a vault, upload ID, or job ID) 1468// doesn't exist. 1469// 1470// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 1471// Returned if a parameter of the request is incorrectly specified. 1472// 1473// * ErrCodeMissingParameterValueException "MissingParameterValueException" 1474// Returned if a required header or parameter is missing from the request. 1475// 1476// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 1477// Returned if the service cannot complete the request. 1478// 1479func (c *Glacier) GetJobOutput(input *GetJobOutputInput) (*GetJobOutputOutput, error) { 1480 req, out := c.GetJobOutputRequest(input) 1481 return out, req.Send() 1482} 1483 1484// GetJobOutputWithContext is the same as GetJobOutput with the addition of 1485// the ability to pass a context and additional request options. 1486// 1487// See GetJobOutput for details on how to use this API operation. 1488// 1489// The context must be non-nil and will be used for request cancellation. If 1490// the context is nil a panic will occur. In the future the SDK may create 1491// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1492// for more information on using Contexts. 1493func (c *Glacier) GetJobOutputWithContext(ctx aws.Context, input *GetJobOutputInput, opts ...request.Option) (*GetJobOutputOutput, error) { 1494 req, out := c.GetJobOutputRequest(input) 1495 req.SetContext(ctx) 1496 req.ApplyOptions(opts...) 1497 return out, req.Send() 1498} 1499 1500const opGetVaultAccessPolicy = "GetVaultAccessPolicy" 1501 1502// GetVaultAccessPolicyRequest generates a "aws/request.Request" representing the 1503// client's request for the GetVaultAccessPolicy operation. The "output" return 1504// value will be populated with the request's response once the request completes 1505// successfully. 1506// 1507// Use "Send" method on the returned Request to send the API call to the service. 1508// the "output" return value is not valid until after Send returns without error. 1509// 1510// See GetVaultAccessPolicy for more information on using the GetVaultAccessPolicy 1511// API call, and error handling. 1512// 1513// This method is useful when you want to inject custom logic or configuration 1514// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1515// 1516// 1517// // Example sending a request using the GetVaultAccessPolicyRequest method. 1518// req, resp := client.GetVaultAccessPolicyRequest(params) 1519// 1520// err := req.Send() 1521// if err == nil { // resp is now filled 1522// fmt.Println(resp) 1523// } 1524func (c *Glacier) GetVaultAccessPolicyRequest(input *GetVaultAccessPolicyInput) (req *request.Request, output *GetVaultAccessPolicyOutput) { 1525 op := &request.Operation{ 1526 Name: opGetVaultAccessPolicy, 1527 HTTPMethod: "GET", 1528 HTTPPath: "/{accountId}/vaults/{vaultName}/access-policy", 1529 } 1530 1531 if input == nil { 1532 input = &GetVaultAccessPolicyInput{} 1533 } 1534 1535 output = &GetVaultAccessPolicyOutput{} 1536 req = c.newRequest(op, input, output) 1537 return 1538} 1539 1540// GetVaultAccessPolicy API operation for Amazon Glacier. 1541// 1542// This operation retrieves the access-policy subresource set on the vault; 1543// for more information on setting this subresource, see Set Vault Access Policy 1544// (PUT access-policy) (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-SetVaultAccessPolicy.html). 1545// If there is no access policy set on the vault, the operation returns a 404 1546// Not found error. For more information about vault access policies, see Amazon 1547// Glacier Access Control with Vault Access Policies (https://docs.aws.amazon.com/amazonglacier/latest/dev/vault-access-policy.html). 1548// 1549// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1550// with awserr.Error's Code and Message methods to get detailed information about 1551// the error. 1552// 1553// See the AWS API reference guide for Amazon Glacier's 1554// API operation GetVaultAccessPolicy for usage and error information. 1555// 1556// Returned Error Codes: 1557// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 1558// Returned if the specified resource (such as a vault, upload ID, or job ID) 1559// doesn't exist. 1560// 1561// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 1562// Returned if a parameter of the request is incorrectly specified. 1563// 1564// * ErrCodeMissingParameterValueException "MissingParameterValueException" 1565// Returned if a required header or parameter is missing from the request. 1566// 1567// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 1568// Returned if the service cannot complete the request. 1569// 1570func (c *Glacier) GetVaultAccessPolicy(input *GetVaultAccessPolicyInput) (*GetVaultAccessPolicyOutput, error) { 1571 req, out := c.GetVaultAccessPolicyRequest(input) 1572 return out, req.Send() 1573} 1574 1575// GetVaultAccessPolicyWithContext is the same as GetVaultAccessPolicy with the addition of 1576// the ability to pass a context and additional request options. 1577// 1578// See GetVaultAccessPolicy for details on how to use this API operation. 1579// 1580// The context must be non-nil and will be used for request cancellation. If 1581// the context is nil a panic will occur. In the future the SDK may create 1582// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1583// for more information on using Contexts. 1584func (c *Glacier) GetVaultAccessPolicyWithContext(ctx aws.Context, input *GetVaultAccessPolicyInput, opts ...request.Option) (*GetVaultAccessPolicyOutput, error) { 1585 req, out := c.GetVaultAccessPolicyRequest(input) 1586 req.SetContext(ctx) 1587 req.ApplyOptions(opts...) 1588 return out, req.Send() 1589} 1590 1591const opGetVaultLock = "GetVaultLock" 1592 1593// GetVaultLockRequest generates a "aws/request.Request" representing the 1594// client's request for the GetVaultLock operation. The "output" return 1595// value will be populated with the request's response once the request completes 1596// successfully. 1597// 1598// Use "Send" method on the returned Request to send the API call to the service. 1599// the "output" return value is not valid until after Send returns without error. 1600// 1601// See GetVaultLock for more information on using the GetVaultLock 1602// API call, and error handling. 1603// 1604// This method is useful when you want to inject custom logic or configuration 1605// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1606// 1607// 1608// // Example sending a request using the GetVaultLockRequest method. 1609// req, resp := client.GetVaultLockRequest(params) 1610// 1611// err := req.Send() 1612// if err == nil { // resp is now filled 1613// fmt.Println(resp) 1614// } 1615func (c *Glacier) GetVaultLockRequest(input *GetVaultLockInput) (req *request.Request, output *GetVaultLockOutput) { 1616 op := &request.Operation{ 1617 Name: opGetVaultLock, 1618 HTTPMethod: "GET", 1619 HTTPPath: "/{accountId}/vaults/{vaultName}/lock-policy", 1620 } 1621 1622 if input == nil { 1623 input = &GetVaultLockInput{} 1624 } 1625 1626 output = &GetVaultLockOutput{} 1627 req = c.newRequest(op, input, output) 1628 return 1629} 1630 1631// GetVaultLock API operation for Amazon Glacier. 1632// 1633// This operation retrieves the following attributes from the lock-policy subresource 1634// set on the specified vault: 1635// 1636// * The vault lock policy set on the vault. 1637// 1638// * The state of the vault lock, which is either InProgess or Locked. 1639// 1640// * When the lock ID expires. The lock ID is used to complete the vault 1641// locking process. 1642// 1643// * When the vault lock was initiated and put into the InProgress state. 1644// 1645// A vault lock is put into the InProgress state by calling InitiateVaultLock. 1646// A vault lock is put into the Locked state by calling CompleteVaultLock. You 1647// can abort the vault locking process by calling AbortVaultLock. For more information 1648// about the vault locking process, Amazon Glacier Vault Lock (https://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock.html). 1649// 1650// If there is no vault lock policy set on the vault, the operation returns 1651// a 404 Not found error. For more information about vault lock policies, Amazon 1652// Glacier Access Control with Vault Lock Policies (https://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock-policy.html). 1653// 1654// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1655// with awserr.Error's Code and Message methods to get detailed information about 1656// the error. 1657// 1658// See the AWS API reference guide for Amazon Glacier's 1659// API operation GetVaultLock for usage and error information. 1660// 1661// Returned Error Codes: 1662// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 1663// Returned if the specified resource (such as a vault, upload ID, or job ID) 1664// doesn't exist. 1665// 1666// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 1667// Returned if a parameter of the request is incorrectly specified. 1668// 1669// * ErrCodeMissingParameterValueException "MissingParameterValueException" 1670// Returned if a required header or parameter is missing from the request. 1671// 1672// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 1673// Returned if the service cannot complete the request. 1674// 1675func (c *Glacier) GetVaultLock(input *GetVaultLockInput) (*GetVaultLockOutput, error) { 1676 req, out := c.GetVaultLockRequest(input) 1677 return out, req.Send() 1678} 1679 1680// GetVaultLockWithContext is the same as GetVaultLock with the addition of 1681// the ability to pass a context and additional request options. 1682// 1683// See GetVaultLock for details on how to use this API operation. 1684// 1685// The context must be non-nil and will be used for request cancellation. If 1686// the context is nil a panic will occur. In the future the SDK may create 1687// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1688// for more information on using Contexts. 1689func (c *Glacier) GetVaultLockWithContext(ctx aws.Context, input *GetVaultLockInput, opts ...request.Option) (*GetVaultLockOutput, error) { 1690 req, out := c.GetVaultLockRequest(input) 1691 req.SetContext(ctx) 1692 req.ApplyOptions(opts...) 1693 return out, req.Send() 1694} 1695 1696const opGetVaultNotifications = "GetVaultNotifications" 1697 1698// GetVaultNotificationsRequest generates a "aws/request.Request" representing the 1699// client's request for the GetVaultNotifications operation. The "output" return 1700// value will be populated with the request's response once the request completes 1701// successfully. 1702// 1703// Use "Send" method on the returned Request to send the API call to the service. 1704// the "output" return value is not valid until after Send returns without error. 1705// 1706// See GetVaultNotifications for more information on using the GetVaultNotifications 1707// API call, and error handling. 1708// 1709// This method is useful when you want to inject custom logic or configuration 1710// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1711// 1712// 1713// // Example sending a request using the GetVaultNotificationsRequest method. 1714// req, resp := client.GetVaultNotificationsRequest(params) 1715// 1716// err := req.Send() 1717// if err == nil { // resp is now filled 1718// fmt.Println(resp) 1719// } 1720func (c *Glacier) GetVaultNotificationsRequest(input *GetVaultNotificationsInput) (req *request.Request, output *GetVaultNotificationsOutput) { 1721 op := &request.Operation{ 1722 Name: opGetVaultNotifications, 1723 HTTPMethod: "GET", 1724 HTTPPath: "/{accountId}/vaults/{vaultName}/notification-configuration", 1725 } 1726 1727 if input == nil { 1728 input = &GetVaultNotificationsInput{} 1729 } 1730 1731 output = &GetVaultNotificationsOutput{} 1732 req = c.newRequest(op, input, output) 1733 return 1734} 1735 1736// GetVaultNotifications API operation for Amazon Glacier. 1737// 1738// This operation retrieves the notification-configuration subresource of the 1739// specified vault. 1740// 1741// For information about setting a notification configuration on a vault, see 1742// SetVaultNotifications. If a notification configuration for a vault is not 1743// set, the operation returns a 404 Not Found error. For more information about 1744// vault notifications, see Configuring Vault Notifications in Amazon S3 Glacier 1745// (https://docs.aws.amazon.com/amazonglacier/latest/dev/configuring-notifications.html). 1746// 1747// An AWS account has full permission to perform all operations (actions). However, 1748// AWS Identity and Access Management (IAM) users don't have any permissions 1749// by default. You must grant them explicit permission to perform specific actions. 1750// For more information, see Access Control Using AWS Identity and Access Management 1751// (IAM) (https://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html). 1752// 1753// For conceptual information and underlying REST API, see Configuring Vault 1754// Notifications in Amazon S3 Glacier (https://docs.aws.amazon.com/amazonglacier/latest/dev/configuring-notifications.html) 1755// and Get Vault Notification Configuration (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-notifications-get.html) 1756// in the Amazon Glacier Developer Guide. 1757// 1758// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1759// with awserr.Error's Code and Message methods to get detailed information about 1760// the error. 1761// 1762// See the AWS API reference guide for Amazon Glacier's 1763// API operation GetVaultNotifications for usage and error information. 1764// 1765// Returned Error Codes: 1766// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 1767// Returned if the specified resource (such as a vault, upload ID, or job ID) 1768// doesn't exist. 1769// 1770// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 1771// Returned if a parameter of the request is incorrectly specified. 1772// 1773// * ErrCodeMissingParameterValueException "MissingParameterValueException" 1774// Returned if a required header or parameter is missing from the request. 1775// 1776// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 1777// Returned if the service cannot complete the request. 1778// 1779func (c *Glacier) GetVaultNotifications(input *GetVaultNotificationsInput) (*GetVaultNotificationsOutput, error) { 1780 req, out := c.GetVaultNotificationsRequest(input) 1781 return out, req.Send() 1782} 1783 1784// GetVaultNotificationsWithContext is the same as GetVaultNotifications with the addition of 1785// the ability to pass a context and additional request options. 1786// 1787// See GetVaultNotifications for details on how to use this API operation. 1788// 1789// The context must be non-nil and will be used for request cancellation. If 1790// the context is nil a panic will occur. In the future the SDK may create 1791// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1792// for more information on using Contexts. 1793func (c *Glacier) GetVaultNotificationsWithContext(ctx aws.Context, input *GetVaultNotificationsInput, opts ...request.Option) (*GetVaultNotificationsOutput, error) { 1794 req, out := c.GetVaultNotificationsRequest(input) 1795 req.SetContext(ctx) 1796 req.ApplyOptions(opts...) 1797 return out, req.Send() 1798} 1799 1800const opInitiateJob = "InitiateJob" 1801 1802// InitiateJobRequest generates a "aws/request.Request" representing the 1803// client's request for the InitiateJob operation. The "output" return 1804// value will be populated with the request's response once the request completes 1805// successfully. 1806// 1807// Use "Send" method on the returned Request to send the API call to the service. 1808// the "output" return value is not valid until after Send returns without error. 1809// 1810// See InitiateJob for more information on using the InitiateJob 1811// API call, and error handling. 1812// 1813// This method is useful when you want to inject custom logic or configuration 1814// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1815// 1816// 1817// // Example sending a request using the InitiateJobRequest method. 1818// req, resp := client.InitiateJobRequest(params) 1819// 1820// err := req.Send() 1821// if err == nil { // resp is now filled 1822// fmt.Println(resp) 1823// } 1824func (c *Glacier) InitiateJobRequest(input *InitiateJobInput) (req *request.Request, output *InitiateJobOutput) { 1825 op := &request.Operation{ 1826 Name: opInitiateJob, 1827 HTTPMethod: "POST", 1828 HTTPPath: "/{accountId}/vaults/{vaultName}/jobs", 1829 } 1830 1831 if input == nil { 1832 input = &InitiateJobInput{} 1833 } 1834 1835 output = &InitiateJobOutput{} 1836 req = c.newRequest(op, input, output) 1837 return 1838} 1839 1840// InitiateJob API operation for Amazon Glacier. 1841// 1842// This operation initiates a job of the specified type, which can be a select, 1843// an archival retrieval, or a vault retrieval. For more information about using 1844// this operation, see the documentation for the underlying REST API Initiate 1845// a Job (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-initiate-job-post.html). 1846// 1847// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1848// with awserr.Error's Code and Message methods to get detailed information about 1849// the error. 1850// 1851// See the AWS API reference guide for Amazon Glacier's 1852// API operation InitiateJob for usage and error information. 1853// 1854// Returned Error Codes: 1855// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 1856// Returned if the specified resource (such as a vault, upload ID, or job ID) 1857// doesn't exist. 1858// 1859// * ErrCodePolicyEnforcedException "PolicyEnforcedException" 1860// Returned if a retrieval job would exceed the current data policy's retrieval 1861// rate limit. For more information about data retrieval policies, 1862// 1863// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 1864// Returned if a parameter of the request is incorrectly specified. 1865// 1866// * ErrCodeMissingParameterValueException "MissingParameterValueException" 1867// Returned if a required header or parameter is missing from the request. 1868// 1869// * ErrCodeInsufficientCapacityException "InsufficientCapacityException" 1870// Returned if there is insufficient capacity to process this expedited request. 1871// This error only applies to expedited retrievals and not to standard or bulk 1872// retrievals. 1873// 1874// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 1875// Returned if the service cannot complete the request. 1876// 1877func (c *Glacier) InitiateJob(input *InitiateJobInput) (*InitiateJobOutput, error) { 1878 req, out := c.InitiateJobRequest(input) 1879 return out, req.Send() 1880} 1881 1882// InitiateJobWithContext is the same as InitiateJob with the addition of 1883// the ability to pass a context and additional request options. 1884// 1885// See InitiateJob for details on how to use this API operation. 1886// 1887// The context must be non-nil and will be used for request cancellation. If 1888// the context is nil a panic will occur. In the future the SDK may create 1889// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1890// for more information on using Contexts. 1891func (c *Glacier) InitiateJobWithContext(ctx aws.Context, input *InitiateJobInput, opts ...request.Option) (*InitiateJobOutput, error) { 1892 req, out := c.InitiateJobRequest(input) 1893 req.SetContext(ctx) 1894 req.ApplyOptions(opts...) 1895 return out, req.Send() 1896} 1897 1898const opInitiateMultipartUpload = "InitiateMultipartUpload" 1899 1900// InitiateMultipartUploadRequest generates a "aws/request.Request" representing the 1901// client's request for the InitiateMultipartUpload operation. The "output" return 1902// value will be populated with the request's response once the request completes 1903// successfully. 1904// 1905// Use "Send" method on the returned Request to send the API call to the service. 1906// the "output" return value is not valid until after Send returns without error. 1907// 1908// See InitiateMultipartUpload for more information on using the InitiateMultipartUpload 1909// API call, and error handling. 1910// 1911// This method is useful when you want to inject custom logic or configuration 1912// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1913// 1914// 1915// // Example sending a request using the InitiateMultipartUploadRequest method. 1916// req, resp := client.InitiateMultipartUploadRequest(params) 1917// 1918// err := req.Send() 1919// if err == nil { // resp is now filled 1920// fmt.Println(resp) 1921// } 1922func (c *Glacier) InitiateMultipartUploadRequest(input *InitiateMultipartUploadInput) (req *request.Request, output *InitiateMultipartUploadOutput) { 1923 op := &request.Operation{ 1924 Name: opInitiateMultipartUpload, 1925 HTTPMethod: "POST", 1926 HTTPPath: "/{accountId}/vaults/{vaultName}/multipart-uploads", 1927 } 1928 1929 if input == nil { 1930 input = &InitiateMultipartUploadInput{} 1931 } 1932 1933 output = &InitiateMultipartUploadOutput{} 1934 req = c.newRequest(op, input, output) 1935 return 1936} 1937 1938// InitiateMultipartUpload API operation for Amazon Glacier. 1939// 1940// This operation initiates a multipart upload. Amazon S3 Glacier creates a 1941// multipart upload resource and returns its ID in the response. The multipart 1942// upload ID is used in subsequent requests to upload parts of an archive (see 1943// UploadMultipartPart). 1944// 1945// When you initiate a multipart upload, you specify the part size in number 1946// of bytes. The part size must be a megabyte (1024 KB) multiplied by a power 1947// of 2-for example, 1048576 (1 MB), 2097152 (2 MB), 4194304 (4 MB), 8388608 1948// (8 MB), and so on. The minimum allowable part size is 1 MB, and the maximum 1949// is 4 GB. 1950// 1951// Every part you upload to this resource (see UploadMultipartPart), except 1952// the last one, must have the same size. The last one can be the same size 1953// or smaller. For example, suppose you want to upload a 16.2 MB file. If you 1954// initiate the multipart upload with a part size of 4 MB, you will upload four 1955// parts of 4 MB each and one part of 0.2 MB. 1956// 1957// You don't need to know the size of the archive when you start a multipart 1958// upload because Amazon S3 Glacier does not require you to specify the overall 1959// archive size. 1960// 1961// After you complete the multipart upload, Amazon S3 Glacier (Glacier) removes 1962// the multipart upload resource referenced by the ID. Glacier also removes 1963// the multipart upload resource if you cancel the multipart upload or it may 1964// be removed if there is no activity for a period of 24 hours. 1965// 1966// An AWS account has full permission to perform all operations (actions). However, 1967// AWS Identity and Access Management (IAM) users don't have any permissions 1968// by default. You must grant them explicit permission to perform specific actions. 1969// For more information, see Access Control Using AWS Identity and Access Management 1970// (IAM) (https://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html). 1971// 1972// For conceptual information and underlying REST API, see Uploading Large Archives 1973// in Parts (Multipart Upload) (https://docs.aws.amazon.com/amazonglacier/latest/dev/uploading-archive-mpu.html) 1974// and Initiate Multipart Upload (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-initiate-upload.html) 1975// in the Amazon Glacier Developer Guide. 1976// 1977// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1978// with awserr.Error's Code and Message methods to get detailed information about 1979// the error. 1980// 1981// See the AWS API reference guide for Amazon Glacier's 1982// API operation InitiateMultipartUpload for usage and error information. 1983// 1984// Returned Error Codes: 1985// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 1986// Returned if the specified resource (such as a vault, upload ID, or job ID) 1987// doesn't exist. 1988// 1989// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 1990// Returned if a parameter of the request is incorrectly specified. 1991// 1992// * ErrCodeMissingParameterValueException "MissingParameterValueException" 1993// Returned if a required header or parameter is missing from the request. 1994// 1995// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 1996// Returned if the service cannot complete the request. 1997// 1998func (c *Glacier) InitiateMultipartUpload(input *InitiateMultipartUploadInput) (*InitiateMultipartUploadOutput, error) { 1999 req, out := c.InitiateMultipartUploadRequest(input) 2000 return out, req.Send() 2001} 2002 2003// InitiateMultipartUploadWithContext is the same as InitiateMultipartUpload with the addition of 2004// the ability to pass a context and additional request options. 2005// 2006// See InitiateMultipartUpload for details on how to use this API operation. 2007// 2008// The context must be non-nil and will be used for request cancellation. If 2009// the context is nil a panic will occur. In the future the SDK may create 2010// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2011// for more information on using Contexts. 2012func (c *Glacier) InitiateMultipartUploadWithContext(ctx aws.Context, input *InitiateMultipartUploadInput, opts ...request.Option) (*InitiateMultipartUploadOutput, error) { 2013 req, out := c.InitiateMultipartUploadRequest(input) 2014 req.SetContext(ctx) 2015 req.ApplyOptions(opts...) 2016 return out, req.Send() 2017} 2018 2019const opInitiateVaultLock = "InitiateVaultLock" 2020 2021// InitiateVaultLockRequest generates a "aws/request.Request" representing the 2022// client's request for the InitiateVaultLock operation. The "output" return 2023// value will be populated with the request's response once the request completes 2024// successfully. 2025// 2026// Use "Send" method on the returned Request to send the API call to the service. 2027// the "output" return value is not valid until after Send returns without error. 2028// 2029// See InitiateVaultLock for more information on using the InitiateVaultLock 2030// API call, and error handling. 2031// 2032// This method is useful when you want to inject custom logic or configuration 2033// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2034// 2035// 2036// // Example sending a request using the InitiateVaultLockRequest method. 2037// req, resp := client.InitiateVaultLockRequest(params) 2038// 2039// err := req.Send() 2040// if err == nil { // resp is now filled 2041// fmt.Println(resp) 2042// } 2043func (c *Glacier) InitiateVaultLockRequest(input *InitiateVaultLockInput) (req *request.Request, output *InitiateVaultLockOutput) { 2044 op := &request.Operation{ 2045 Name: opInitiateVaultLock, 2046 HTTPMethod: "POST", 2047 HTTPPath: "/{accountId}/vaults/{vaultName}/lock-policy", 2048 } 2049 2050 if input == nil { 2051 input = &InitiateVaultLockInput{} 2052 } 2053 2054 output = &InitiateVaultLockOutput{} 2055 req = c.newRequest(op, input, output) 2056 return 2057} 2058 2059// InitiateVaultLock API operation for Amazon Glacier. 2060// 2061// This operation initiates the vault locking process by doing the following: 2062// 2063// * Installing a vault lock policy on the specified vault. 2064// 2065// * Setting the lock state of vault lock to InProgress. 2066// 2067// * Returning a lock ID, which is used to complete the vault locking process. 2068// 2069// You can set one vault lock policy for each vault and this policy can be up 2070// to 20 KB in size. For more information about vault lock policies, see Amazon 2071// Glacier Access Control with Vault Lock Policies (https://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock-policy.html). 2072// 2073// You must complete the vault locking process within 24 hours after the vault 2074// lock enters the InProgress state. After the 24 hour window ends, the lock 2075// ID expires, the vault automatically exits the InProgress state, and the vault 2076// lock policy is removed from the vault. You call CompleteVaultLock to complete 2077// the vault locking process by setting the state of the vault lock to Locked. 2078// 2079// After a vault lock is in the Locked state, you cannot initiate a new vault 2080// lock for the vault. 2081// 2082// You can abort the vault locking process by calling AbortVaultLock. You can 2083// get the state of the vault lock by calling GetVaultLock. For more information 2084// about the vault locking process, Amazon Glacier Vault Lock (https://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock.html). 2085// 2086// If this operation is called when the vault lock is in the InProgress state, 2087// the operation returns an AccessDeniedException error. When the vault lock 2088// is in the InProgress state you must call AbortVaultLock before you can initiate 2089// a new vault lock policy. 2090// 2091// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2092// with awserr.Error's Code and Message methods to get detailed information about 2093// the error. 2094// 2095// See the AWS API reference guide for Amazon Glacier's 2096// API operation InitiateVaultLock for usage and error information. 2097// 2098// Returned Error Codes: 2099// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 2100// Returned if the specified resource (such as a vault, upload ID, or job ID) 2101// doesn't exist. 2102// 2103// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 2104// Returned if a parameter of the request is incorrectly specified. 2105// 2106// * ErrCodeMissingParameterValueException "MissingParameterValueException" 2107// Returned if a required header or parameter is missing from the request. 2108// 2109// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 2110// Returned if the service cannot complete the request. 2111// 2112func (c *Glacier) InitiateVaultLock(input *InitiateVaultLockInput) (*InitiateVaultLockOutput, error) { 2113 req, out := c.InitiateVaultLockRequest(input) 2114 return out, req.Send() 2115} 2116 2117// InitiateVaultLockWithContext is the same as InitiateVaultLock with the addition of 2118// the ability to pass a context and additional request options. 2119// 2120// See InitiateVaultLock for details on how to use this API operation. 2121// 2122// The context must be non-nil and will be used for request cancellation. If 2123// the context is nil a panic will occur. In the future the SDK may create 2124// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2125// for more information on using Contexts. 2126func (c *Glacier) InitiateVaultLockWithContext(ctx aws.Context, input *InitiateVaultLockInput, opts ...request.Option) (*InitiateVaultLockOutput, error) { 2127 req, out := c.InitiateVaultLockRequest(input) 2128 req.SetContext(ctx) 2129 req.ApplyOptions(opts...) 2130 return out, req.Send() 2131} 2132 2133const opListJobs = "ListJobs" 2134 2135// ListJobsRequest generates a "aws/request.Request" representing the 2136// client's request for the ListJobs operation. The "output" return 2137// value will be populated with the request's response once the request completes 2138// successfully. 2139// 2140// Use "Send" method on the returned Request to send the API call to the service. 2141// the "output" return value is not valid until after Send returns without error. 2142// 2143// See ListJobs for more information on using the ListJobs 2144// API call, and error handling. 2145// 2146// This method is useful when you want to inject custom logic or configuration 2147// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2148// 2149// 2150// // Example sending a request using the ListJobsRequest method. 2151// req, resp := client.ListJobsRequest(params) 2152// 2153// err := req.Send() 2154// if err == nil { // resp is now filled 2155// fmt.Println(resp) 2156// } 2157func (c *Glacier) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) { 2158 op := &request.Operation{ 2159 Name: opListJobs, 2160 HTTPMethod: "GET", 2161 HTTPPath: "/{accountId}/vaults/{vaultName}/jobs", 2162 Paginator: &request.Paginator{ 2163 InputTokens: []string{"marker"}, 2164 OutputTokens: []string{"Marker"}, 2165 LimitToken: "limit", 2166 TruncationToken: "", 2167 }, 2168 } 2169 2170 if input == nil { 2171 input = &ListJobsInput{} 2172 } 2173 2174 output = &ListJobsOutput{} 2175 req = c.newRequest(op, input, output) 2176 return 2177} 2178 2179// ListJobs API operation for Amazon Glacier. 2180// 2181// This operation lists jobs for a vault, including jobs that are in-progress 2182// and jobs that have recently finished. The List Job operation returns a list 2183// of these jobs sorted by job initiation time. 2184// 2185// Amazon Glacier retains recently completed jobs for a period before deleting 2186// them; however, it eventually removes completed jobs. The output of completed 2187// jobs can be retrieved. Retaining completed jobs for a period of time after 2188// they have completed enables you to get a job output in the event you miss 2189// the job completion notification or your first attempt to download it fails. 2190// For example, suppose you start an archive retrieval job to download an archive. 2191// After the job completes, you start to download the archive but encounter 2192// a network error. In this scenario, you can retry and download the archive 2193// while the job exists. 2194// 2195// The List Jobs operation supports pagination. You should always check the 2196// response Marker field. If there are no more jobs to list, the Marker field 2197// is set to null. If there are more jobs to list, the Marker field is set to 2198// a non-null value, which you can use to continue the pagination of the list. 2199// To return a list of jobs that begins at a specific job, set the marker request 2200// parameter to the Marker value for that job that you obtained from a previous 2201// List Jobs request. 2202// 2203// You can set a maximum limit for the number of jobs returned in the response 2204// by specifying the limit parameter in the request. The default limit is 50. 2205// The number of jobs returned might be fewer than the limit, but the number 2206// of returned jobs never exceeds the limit. 2207// 2208// Additionally, you can filter the jobs list returned by specifying the optional 2209// statuscode parameter or completed parameter, or both. Using the statuscode 2210// parameter, you can specify to return only jobs that match either the InProgress, 2211// Succeeded, or Failed status. Using the completed parameter, you can specify 2212// to return only jobs that were completed (true) or jobs that were not completed 2213// (false). 2214// 2215// For more information about using this operation, see the documentation for 2216// the underlying REST API List Jobs (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-jobs-get.html). 2217// 2218// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2219// with awserr.Error's Code and Message methods to get detailed information about 2220// the error. 2221// 2222// See the AWS API reference guide for Amazon Glacier's 2223// API operation ListJobs for usage and error information. 2224// 2225// Returned Error Codes: 2226// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 2227// Returned if the specified resource (such as a vault, upload ID, or job ID) 2228// doesn't exist. 2229// 2230// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 2231// Returned if a parameter of the request is incorrectly specified. 2232// 2233// * ErrCodeMissingParameterValueException "MissingParameterValueException" 2234// Returned if a required header or parameter is missing from the request. 2235// 2236// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 2237// Returned if the service cannot complete the request. 2238// 2239func (c *Glacier) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) { 2240 req, out := c.ListJobsRequest(input) 2241 return out, req.Send() 2242} 2243 2244// ListJobsWithContext is the same as ListJobs with the addition of 2245// the ability to pass a context and additional request options. 2246// 2247// See ListJobs for details on how to use this API operation. 2248// 2249// The context must be non-nil and will be used for request cancellation. If 2250// the context is nil a panic will occur. In the future the SDK may create 2251// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2252// for more information on using Contexts. 2253func (c *Glacier) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts ...request.Option) (*ListJobsOutput, error) { 2254 req, out := c.ListJobsRequest(input) 2255 req.SetContext(ctx) 2256 req.ApplyOptions(opts...) 2257 return out, req.Send() 2258} 2259 2260// ListJobsPages iterates over the pages of a ListJobs operation, 2261// calling the "fn" function with the response data for each page. To stop 2262// iterating, return false from the fn function. 2263// 2264// See ListJobs method for more information on how to use this operation. 2265// 2266// Note: This operation can generate multiple requests to a service. 2267// 2268// // Example iterating over at most 3 pages of a ListJobs operation. 2269// pageNum := 0 2270// err := client.ListJobsPages(params, 2271// func(page *glacier.ListJobsOutput, lastPage bool) bool { 2272// pageNum++ 2273// fmt.Println(page) 2274// return pageNum <= 3 2275// }) 2276// 2277func (c *Glacier) ListJobsPages(input *ListJobsInput, fn func(*ListJobsOutput, bool) bool) error { 2278 return c.ListJobsPagesWithContext(aws.BackgroundContext(), input, fn) 2279} 2280 2281// ListJobsPagesWithContext same as ListJobsPages except 2282// it takes a Context and allows setting request options on the pages. 2283// 2284// The context must be non-nil and will be used for request cancellation. If 2285// the context is nil a panic will occur. In the future the SDK may create 2286// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2287// for more information on using Contexts. 2288func (c *Glacier) ListJobsPagesWithContext(ctx aws.Context, input *ListJobsInput, fn func(*ListJobsOutput, bool) bool, opts ...request.Option) error { 2289 p := request.Pagination{ 2290 NewRequest: func() (*request.Request, error) { 2291 var inCpy *ListJobsInput 2292 if input != nil { 2293 tmp := *input 2294 inCpy = &tmp 2295 } 2296 req, _ := c.ListJobsRequest(inCpy) 2297 req.SetContext(ctx) 2298 req.ApplyOptions(opts...) 2299 return req, nil 2300 }, 2301 } 2302 2303 cont := true 2304 for p.Next() && cont { 2305 cont = fn(p.Page().(*ListJobsOutput), !p.HasNextPage()) 2306 } 2307 return p.Err() 2308} 2309 2310const opListMultipartUploads = "ListMultipartUploads" 2311 2312// ListMultipartUploadsRequest generates a "aws/request.Request" representing the 2313// client's request for the ListMultipartUploads operation. The "output" return 2314// value will be populated with the request's response once the request completes 2315// successfully. 2316// 2317// Use "Send" method on the returned Request to send the API call to the service. 2318// the "output" return value is not valid until after Send returns without error. 2319// 2320// See ListMultipartUploads for more information on using the ListMultipartUploads 2321// API call, and error handling. 2322// 2323// This method is useful when you want to inject custom logic or configuration 2324// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2325// 2326// 2327// // Example sending a request using the ListMultipartUploadsRequest method. 2328// req, resp := client.ListMultipartUploadsRequest(params) 2329// 2330// err := req.Send() 2331// if err == nil { // resp is now filled 2332// fmt.Println(resp) 2333// } 2334func (c *Glacier) ListMultipartUploadsRequest(input *ListMultipartUploadsInput) (req *request.Request, output *ListMultipartUploadsOutput) { 2335 op := &request.Operation{ 2336 Name: opListMultipartUploads, 2337 HTTPMethod: "GET", 2338 HTTPPath: "/{accountId}/vaults/{vaultName}/multipart-uploads", 2339 Paginator: &request.Paginator{ 2340 InputTokens: []string{"marker"}, 2341 OutputTokens: []string{"Marker"}, 2342 LimitToken: "limit", 2343 TruncationToken: "", 2344 }, 2345 } 2346 2347 if input == nil { 2348 input = &ListMultipartUploadsInput{} 2349 } 2350 2351 output = &ListMultipartUploadsOutput{} 2352 req = c.newRequest(op, input, output) 2353 return 2354} 2355 2356// ListMultipartUploads API operation for Amazon Glacier. 2357// 2358// This operation lists in-progress multipart uploads for the specified vault. 2359// An in-progress multipart upload is a multipart upload that has been initiated 2360// by an InitiateMultipartUpload request, but has not yet been completed or 2361// aborted. The list returned in the List Multipart Upload response has no guaranteed 2362// order. 2363// 2364// The List Multipart Uploads operation supports pagination. By default, this 2365// operation returns up to 50 multipart uploads in the response. You should 2366// always check the response for a marker at which to continue the list; if 2367// there are no more items the marker is null. To return a list of multipart 2368// uploads that begins at a specific upload, set the marker request parameter 2369// to the value you obtained from a previous List Multipart Upload request. 2370// You can also limit the number of uploads returned in the response by specifying 2371// the limit parameter in the request. 2372// 2373// Note the difference between this operation and listing parts (ListParts). 2374// The List Multipart Uploads operation lists all multipart uploads for a vault 2375// and does not require a multipart upload ID. The List Parts operation requires 2376// a multipart upload ID since parts are associated with a single upload. 2377// 2378// An AWS account has full permission to perform all operations (actions). However, 2379// AWS Identity and Access Management (IAM) users don't have any permissions 2380// by default. You must grant them explicit permission to perform specific actions. 2381// For more information, see Access Control Using AWS Identity and Access Management 2382// (IAM) (https://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html). 2383// 2384// For conceptual information and the underlying REST API, see Working with 2385// Archives in Amazon S3 Glacier (https://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-archives.html) 2386// and List Multipart Uploads (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-list-uploads.html) 2387// in the Amazon Glacier Developer Guide. 2388// 2389// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2390// with awserr.Error's Code and Message methods to get detailed information about 2391// the error. 2392// 2393// See the AWS API reference guide for Amazon Glacier's 2394// API operation ListMultipartUploads for usage and error information. 2395// 2396// Returned Error Codes: 2397// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 2398// Returned if the specified resource (such as a vault, upload ID, or job ID) 2399// doesn't exist. 2400// 2401// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 2402// Returned if a parameter of the request is incorrectly specified. 2403// 2404// * ErrCodeMissingParameterValueException "MissingParameterValueException" 2405// Returned if a required header or parameter is missing from the request. 2406// 2407// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 2408// Returned if the service cannot complete the request. 2409// 2410func (c *Glacier) ListMultipartUploads(input *ListMultipartUploadsInput) (*ListMultipartUploadsOutput, error) { 2411 req, out := c.ListMultipartUploadsRequest(input) 2412 return out, req.Send() 2413} 2414 2415// ListMultipartUploadsWithContext is the same as ListMultipartUploads with the addition of 2416// the ability to pass a context and additional request options. 2417// 2418// See ListMultipartUploads for details on how to use this API operation. 2419// 2420// The context must be non-nil and will be used for request cancellation. If 2421// the context is nil a panic will occur. In the future the SDK may create 2422// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2423// for more information on using Contexts. 2424func (c *Glacier) ListMultipartUploadsWithContext(ctx aws.Context, input *ListMultipartUploadsInput, opts ...request.Option) (*ListMultipartUploadsOutput, error) { 2425 req, out := c.ListMultipartUploadsRequest(input) 2426 req.SetContext(ctx) 2427 req.ApplyOptions(opts...) 2428 return out, req.Send() 2429} 2430 2431// ListMultipartUploadsPages iterates over the pages of a ListMultipartUploads operation, 2432// calling the "fn" function with the response data for each page. To stop 2433// iterating, return false from the fn function. 2434// 2435// See ListMultipartUploads method for more information on how to use this operation. 2436// 2437// Note: This operation can generate multiple requests to a service. 2438// 2439// // Example iterating over at most 3 pages of a ListMultipartUploads operation. 2440// pageNum := 0 2441// err := client.ListMultipartUploadsPages(params, 2442// func(page *glacier.ListMultipartUploadsOutput, lastPage bool) bool { 2443// pageNum++ 2444// fmt.Println(page) 2445// return pageNum <= 3 2446// }) 2447// 2448func (c *Glacier) ListMultipartUploadsPages(input *ListMultipartUploadsInput, fn func(*ListMultipartUploadsOutput, bool) bool) error { 2449 return c.ListMultipartUploadsPagesWithContext(aws.BackgroundContext(), input, fn) 2450} 2451 2452// ListMultipartUploadsPagesWithContext same as ListMultipartUploadsPages except 2453// it takes a Context and allows setting request options on the pages. 2454// 2455// The context must be non-nil and will be used for request cancellation. If 2456// the context is nil a panic will occur. In the future the SDK may create 2457// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2458// for more information on using Contexts. 2459func (c *Glacier) ListMultipartUploadsPagesWithContext(ctx aws.Context, input *ListMultipartUploadsInput, fn func(*ListMultipartUploadsOutput, bool) bool, opts ...request.Option) error { 2460 p := request.Pagination{ 2461 NewRequest: func() (*request.Request, error) { 2462 var inCpy *ListMultipartUploadsInput 2463 if input != nil { 2464 tmp := *input 2465 inCpy = &tmp 2466 } 2467 req, _ := c.ListMultipartUploadsRequest(inCpy) 2468 req.SetContext(ctx) 2469 req.ApplyOptions(opts...) 2470 return req, nil 2471 }, 2472 } 2473 2474 cont := true 2475 for p.Next() && cont { 2476 cont = fn(p.Page().(*ListMultipartUploadsOutput), !p.HasNextPage()) 2477 } 2478 return p.Err() 2479} 2480 2481const opListParts = "ListParts" 2482 2483// ListPartsRequest generates a "aws/request.Request" representing the 2484// client's request for the ListParts operation. The "output" return 2485// value will be populated with the request's response once the request completes 2486// successfully. 2487// 2488// Use "Send" method on the returned Request to send the API call to the service. 2489// the "output" return value is not valid until after Send returns without error. 2490// 2491// See ListParts for more information on using the ListParts 2492// API call, and error handling. 2493// 2494// This method is useful when you want to inject custom logic or configuration 2495// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2496// 2497// 2498// // Example sending a request using the ListPartsRequest method. 2499// req, resp := client.ListPartsRequest(params) 2500// 2501// err := req.Send() 2502// if err == nil { // resp is now filled 2503// fmt.Println(resp) 2504// } 2505func (c *Glacier) ListPartsRequest(input *ListPartsInput) (req *request.Request, output *ListPartsOutput) { 2506 op := &request.Operation{ 2507 Name: opListParts, 2508 HTTPMethod: "GET", 2509 HTTPPath: "/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}", 2510 Paginator: &request.Paginator{ 2511 InputTokens: []string{"marker"}, 2512 OutputTokens: []string{"Marker"}, 2513 LimitToken: "limit", 2514 TruncationToken: "", 2515 }, 2516 } 2517 2518 if input == nil { 2519 input = &ListPartsInput{} 2520 } 2521 2522 output = &ListPartsOutput{} 2523 req = c.newRequest(op, input, output) 2524 return 2525} 2526 2527// ListParts API operation for Amazon Glacier. 2528// 2529// This operation lists the parts of an archive that have been uploaded in a 2530// specific multipart upload. You can make this request at any time during an 2531// in-progress multipart upload before you complete the upload (see CompleteMultipartUpload. 2532// List Parts returns an error for completed uploads. The list returned in the 2533// List Parts response is sorted by part range. 2534// 2535// The List Parts operation supports pagination. By default, this operation 2536// returns up to 50 uploaded parts in the response. You should always check 2537// the response for a marker at which to continue the list; if there are no 2538// more items the marker is null. To return a list of parts that begins at a 2539// specific part, set the marker request parameter to the value you obtained 2540// from a previous List Parts request. You can also limit the number of parts 2541// returned in the response by specifying the limit parameter in the request. 2542// 2543// An AWS account has full permission to perform all operations (actions). However, 2544// AWS Identity and Access Management (IAM) users don't have any permissions 2545// by default. You must grant them explicit permission to perform specific actions. 2546// For more information, see Access Control Using AWS Identity and Access Management 2547// (IAM) (https://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html). 2548// 2549// For conceptual information and the underlying REST API, see Working with 2550// Archives in Amazon S3 Glacier (https://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-archives.html) 2551// and List Parts (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-list-parts.html) 2552// in the Amazon Glacier Developer Guide. 2553// 2554// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2555// with awserr.Error's Code and Message methods to get detailed information about 2556// the error. 2557// 2558// See the AWS API reference guide for Amazon Glacier's 2559// API operation ListParts for usage and error information. 2560// 2561// Returned Error Codes: 2562// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 2563// Returned if the specified resource (such as a vault, upload ID, or job ID) 2564// doesn't exist. 2565// 2566// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 2567// Returned if a parameter of the request is incorrectly specified. 2568// 2569// * ErrCodeMissingParameterValueException "MissingParameterValueException" 2570// Returned if a required header or parameter is missing from the request. 2571// 2572// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 2573// Returned if the service cannot complete the request. 2574// 2575func (c *Glacier) ListParts(input *ListPartsInput) (*ListPartsOutput, error) { 2576 req, out := c.ListPartsRequest(input) 2577 return out, req.Send() 2578} 2579 2580// ListPartsWithContext is the same as ListParts with the addition of 2581// the ability to pass a context and additional request options. 2582// 2583// See ListParts for details on how to use this API operation. 2584// 2585// The context must be non-nil and will be used for request cancellation. If 2586// the context is nil a panic will occur. In the future the SDK may create 2587// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2588// for more information on using Contexts. 2589func (c *Glacier) ListPartsWithContext(ctx aws.Context, input *ListPartsInput, opts ...request.Option) (*ListPartsOutput, error) { 2590 req, out := c.ListPartsRequest(input) 2591 req.SetContext(ctx) 2592 req.ApplyOptions(opts...) 2593 return out, req.Send() 2594} 2595 2596// ListPartsPages iterates over the pages of a ListParts operation, 2597// calling the "fn" function with the response data for each page. To stop 2598// iterating, return false from the fn function. 2599// 2600// See ListParts method for more information on how to use this operation. 2601// 2602// Note: This operation can generate multiple requests to a service. 2603// 2604// // Example iterating over at most 3 pages of a ListParts operation. 2605// pageNum := 0 2606// err := client.ListPartsPages(params, 2607// func(page *glacier.ListPartsOutput, lastPage bool) bool { 2608// pageNum++ 2609// fmt.Println(page) 2610// return pageNum <= 3 2611// }) 2612// 2613func (c *Glacier) ListPartsPages(input *ListPartsInput, fn func(*ListPartsOutput, bool) bool) error { 2614 return c.ListPartsPagesWithContext(aws.BackgroundContext(), input, fn) 2615} 2616 2617// ListPartsPagesWithContext same as ListPartsPages except 2618// it takes a Context and allows setting request options on the pages. 2619// 2620// The context must be non-nil and will be used for request cancellation. If 2621// the context is nil a panic will occur. In the future the SDK may create 2622// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2623// for more information on using Contexts. 2624func (c *Glacier) ListPartsPagesWithContext(ctx aws.Context, input *ListPartsInput, fn func(*ListPartsOutput, bool) bool, opts ...request.Option) error { 2625 p := request.Pagination{ 2626 NewRequest: func() (*request.Request, error) { 2627 var inCpy *ListPartsInput 2628 if input != nil { 2629 tmp := *input 2630 inCpy = &tmp 2631 } 2632 req, _ := c.ListPartsRequest(inCpy) 2633 req.SetContext(ctx) 2634 req.ApplyOptions(opts...) 2635 return req, nil 2636 }, 2637 } 2638 2639 cont := true 2640 for p.Next() && cont { 2641 cont = fn(p.Page().(*ListPartsOutput), !p.HasNextPage()) 2642 } 2643 return p.Err() 2644} 2645 2646const opListProvisionedCapacity = "ListProvisionedCapacity" 2647 2648// ListProvisionedCapacityRequest generates a "aws/request.Request" representing the 2649// client's request for the ListProvisionedCapacity operation. The "output" return 2650// value will be populated with the request's response once the request completes 2651// successfully. 2652// 2653// Use "Send" method on the returned Request to send the API call to the service. 2654// the "output" return value is not valid until after Send returns without error. 2655// 2656// See ListProvisionedCapacity for more information on using the ListProvisionedCapacity 2657// API call, and error handling. 2658// 2659// This method is useful when you want to inject custom logic or configuration 2660// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2661// 2662// 2663// // Example sending a request using the ListProvisionedCapacityRequest method. 2664// req, resp := client.ListProvisionedCapacityRequest(params) 2665// 2666// err := req.Send() 2667// if err == nil { // resp is now filled 2668// fmt.Println(resp) 2669// } 2670func (c *Glacier) ListProvisionedCapacityRequest(input *ListProvisionedCapacityInput) (req *request.Request, output *ListProvisionedCapacityOutput) { 2671 op := &request.Operation{ 2672 Name: opListProvisionedCapacity, 2673 HTTPMethod: "GET", 2674 HTTPPath: "/{accountId}/provisioned-capacity", 2675 } 2676 2677 if input == nil { 2678 input = &ListProvisionedCapacityInput{} 2679 } 2680 2681 output = &ListProvisionedCapacityOutput{} 2682 req = c.newRequest(op, input, output) 2683 return 2684} 2685 2686// ListProvisionedCapacity API operation for Amazon Glacier. 2687// 2688// This operation lists the provisioned capacity units for the specified AWS 2689// account. 2690// 2691// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2692// with awserr.Error's Code and Message methods to get detailed information about 2693// the error. 2694// 2695// See the AWS API reference guide for Amazon Glacier's 2696// API operation ListProvisionedCapacity for usage and error information. 2697// 2698// Returned Error Codes: 2699// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 2700// Returned if a parameter of the request is incorrectly specified. 2701// 2702// * ErrCodeMissingParameterValueException "MissingParameterValueException" 2703// Returned if a required header or parameter is missing from the request. 2704// 2705// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 2706// Returned if the service cannot complete the request. 2707// 2708func (c *Glacier) ListProvisionedCapacity(input *ListProvisionedCapacityInput) (*ListProvisionedCapacityOutput, error) { 2709 req, out := c.ListProvisionedCapacityRequest(input) 2710 return out, req.Send() 2711} 2712 2713// ListProvisionedCapacityWithContext is the same as ListProvisionedCapacity with the addition of 2714// the ability to pass a context and additional request options. 2715// 2716// See ListProvisionedCapacity for details on how to use this API operation. 2717// 2718// The context must be non-nil and will be used for request cancellation. If 2719// the context is nil a panic will occur. In the future the SDK may create 2720// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2721// for more information on using Contexts. 2722func (c *Glacier) ListProvisionedCapacityWithContext(ctx aws.Context, input *ListProvisionedCapacityInput, opts ...request.Option) (*ListProvisionedCapacityOutput, error) { 2723 req, out := c.ListProvisionedCapacityRequest(input) 2724 req.SetContext(ctx) 2725 req.ApplyOptions(opts...) 2726 return out, req.Send() 2727} 2728 2729const opListTagsForVault = "ListTagsForVault" 2730 2731// ListTagsForVaultRequest generates a "aws/request.Request" representing the 2732// client's request for the ListTagsForVault operation. The "output" return 2733// value will be populated with the request's response once the request completes 2734// successfully. 2735// 2736// Use "Send" method on the returned Request to send the API call to the service. 2737// the "output" return value is not valid until after Send returns without error. 2738// 2739// See ListTagsForVault for more information on using the ListTagsForVault 2740// API call, and error handling. 2741// 2742// This method is useful when you want to inject custom logic or configuration 2743// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2744// 2745// 2746// // Example sending a request using the ListTagsForVaultRequest method. 2747// req, resp := client.ListTagsForVaultRequest(params) 2748// 2749// err := req.Send() 2750// if err == nil { // resp is now filled 2751// fmt.Println(resp) 2752// } 2753func (c *Glacier) ListTagsForVaultRequest(input *ListTagsForVaultInput) (req *request.Request, output *ListTagsForVaultOutput) { 2754 op := &request.Operation{ 2755 Name: opListTagsForVault, 2756 HTTPMethod: "GET", 2757 HTTPPath: "/{accountId}/vaults/{vaultName}/tags", 2758 } 2759 2760 if input == nil { 2761 input = &ListTagsForVaultInput{} 2762 } 2763 2764 output = &ListTagsForVaultOutput{} 2765 req = c.newRequest(op, input, output) 2766 return 2767} 2768 2769// ListTagsForVault API operation for Amazon Glacier. 2770// 2771// This operation lists all the tags attached to a vault. The operation returns 2772// an empty map if there are no tags. For more information about tags, see Tagging 2773// Amazon S3 Glacier Resources (https://docs.aws.amazon.com/amazonglacier/latest/dev/tagging.html). 2774// 2775// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2776// with awserr.Error's Code and Message methods to get detailed information about 2777// the error. 2778// 2779// See the AWS API reference guide for Amazon Glacier's 2780// API operation ListTagsForVault for usage and error information. 2781// 2782// Returned Error Codes: 2783// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 2784// Returned if a parameter of the request is incorrectly specified. 2785// 2786// * ErrCodeMissingParameterValueException "MissingParameterValueException" 2787// Returned if a required header or parameter is missing from the request. 2788// 2789// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 2790// Returned if the specified resource (such as a vault, upload ID, or job ID) 2791// doesn't exist. 2792// 2793// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 2794// Returned if the service cannot complete the request. 2795// 2796func (c *Glacier) ListTagsForVault(input *ListTagsForVaultInput) (*ListTagsForVaultOutput, error) { 2797 req, out := c.ListTagsForVaultRequest(input) 2798 return out, req.Send() 2799} 2800 2801// ListTagsForVaultWithContext is the same as ListTagsForVault with the addition of 2802// the ability to pass a context and additional request options. 2803// 2804// See ListTagsForVault for details on how to use this API operation. 2805// 2806// The context must be non-nil and will be used for request cancellation. If 2807// the context is nil a panic will occur. In the future the SDK may create 2808// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2809// for more information on using Contexts. 2810func (c *Glacier) ListTagsForVaultWithContext(ctx aws.Context, input *ListTagsForVaultInput, opts ...request.Option) (*ListTagsForVaultOutput, error) { 2811 req, out := c.ListTagsForVaultRequest(input) 2812 req.SetContext(ctx) 2813 req.ApplyOptions(opts...) 2814 return out, req.Send() 2815} 2816 2817const opListVaults = "ListVaults" 2818 2819// ListVaultsRequest generates a "aws/request.Request" representing the 2820// client's request for the ListVaults operation. The "output" return 2821// value will be populated with the request's response once the request completes 2822// successfully. 2823// 2824// Use "Send" method on the returned Request to send the API call to the service. 2825// the "output" return value is not valid until after Send returns without error. 2826// 2827// See ListVaults for more information on using the ListVaults 2828// API call, and error handling. 2829// 2830// This method is useful when you want to inject custom logic or configuration 2831// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2832// 2833// 2834// // Example sending a request using the ListVaultsRequest method. 2835// req, resp := client.ListVaultsRequest(params) 2836// 2837// err := req.Send() 2838// if err == nil { // resp is now filled 2839// fmt.Println(resp) 2840// } 2841func (c *Glacier) ListVaultsRequest(input *ListVaultsInput) (req *request.Request, output *ListVaultsOutput) { 2842 op := &request.Operation{ 2843 Name: opListVaults, 2844 HTTPMethod: "GET", 2845 HTTPPath: "/{accountId}/vaults", 2846 Paginator: &request.Paginator{ 2847 InputTokens: []string{"marker"}, 2848 OutputTokens: []string{"Marker"}, 2849 LimitToken: "limit", 2850 TruncationToken: "", 2851 }, 2852 } 2853 2854 if input == nil { 2855 input = &ListVaultsInput{} 2856 } 2857 2858 output = &ListVaultsOutput{} 2859 req = c.newRequest(op, input, output) 2860 return 2861} 2862 2863// ListVaults API operation for Amazon Glacier. 2864// 2865// This operation lists all vaults owned by the calling user's account. The 2866// list returned in the response is ASCII-sorted by vault name. 2867// 2868// By default, this operation returns up to 10 items. If there are more vaults 2869// to list, the response marker field contains the vault Amazon Resource Name 2870// (ARN) at which to continue the list with a new List Vaults request; otherwise, 2871// the marker field is null. To return a list of vaults that begins at a specific 2872// vault, set the marker request parameter to the vault ARN you obtained from 2873// a previous List Vaults request. You can also limit the number of vaults returned 2874// in the response by specifying the limit parameter in the request. 2875// 2876// An AWS account has full permission to perform all operations (actions). However, 2877// AWS Identity and Access Management (IAM) users don't have any permissions 2878// by default. You must grant them explicit permission to perform specific actions. 2879// For more information, see Access Control Using AWS Identity and Access Management 2880// (IAM) (https://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html). 2881// 2882// For conceptual information and underlying REST API, see Retrieving Vault 2883// Metadata in Amazon S3 Glacier (https://docs.aws.amazon.com/amazonglacier/latest/dev/retrieving-vault-info.html) 2884// and List Vaults (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-vaults-get.html) 2885// in the Amazon Glacier Developer Guide. 2886// 2887// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2888// with awserr.Error's Code and Message methods to get detailed information about 2889// the error. 2890// 2891// See the AWS API reference guide for Amazon Glacier's 2892// API operation ListVaults for usage and error information. 2893// 2894// Returned Error Codes: 2895// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 2896// Returned if the specified resource (such as a vault, upload ID, or job ID) 2897// doesn't exist. 2898// 2899// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 2900// Returned if a parameter of the request is incorrectly specified. 2901// 2902// * ErrCodeMissingParameterValueException "MissingParameterValueException" 2903// Returned if a required header or parameter is missing from the request. 2904// 2905// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 2906// Returned if the service cannot complete the request. 2907// 2908func (c *Glacier) ListVaults(input *ListVaultsInput) (*ListVaultsOutput, error) { 2909 req, out := c.ListVaultsRequest(input) 2910 return out, req.Send() 2911} 2912 2913// ListVaultsWithContext is the same as ListVaults with the addition of 2914// the ability to pass a context and additional request options. 2915// 2916// See ListVaults for details on how to use this API operation. 2917// 2918// The context must be non-nil and will be used for request cancellation. If 2919// the context is nil a panic will occur. In the future the SDK may create 2920// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2921// for more information on using Contexts. 2922func (c *Glacier) ListVaultsWithContext(ctx aws.Context, input *ListVaultsInput, opts ...request.Option) (*ListVaultsOutput, error) { 2923 req, out := c.ListVaultsRequest(input) 2924 req.SetContext(ctx) 2925 req.ApplyOptions(opts...) 2926 return out, req.Send() 2927} 2928 2929// ListVaultsPages iterates over the pages of a ListVaults operation, 2930// calling the "fn" function with the response data for each page. To stop 2931// iterating, return false from the fn function. 2932// 2933// See ListVaults method for more information on how to use this operation. 2934// 2935// Note: This operation can generate multiple requests to a service. 2936// 2937// // Example iterating over at most 3 pages of a ListVaults operation. 2938// pageNum := 0 2939// err := client.ListVaultsPages(params, 2940// func(page *glacier.ListVaultsOutput, lastPage bool) bool { 2941// pageNum++ 2942// fmt.Println(page) 2943// return pageNum <= 3 2944// }) 2945// 2946func (c *Glacier) ListVaultsPages(input *ListVaultsInput, fn func(*ListVaultsOutput, bool) bool) error { 2947 return c.ListVaultsPagesWithContext(aws.BackgroundContext(), input, fn) 2948} 2949 2950// ListVaultsPagesWithContext same as ListVaultsPages except 2951// it takes a Context and allows setting request options on the pages. 2952// 2953// The context must be non-nil and will be used for request cancellation. If 2954// the context is nil a panic will occur. In the future the SDK may create 2955// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2956// for more information on using Contexts. 2957func (c *Glacier) ListVaultsPagesWithContext(ctx aws.Context, input *ListVaultsInput, fn func(*ListVaultsOutput, bool) bool, opts ...request.Option) error { 2958 p := request.Pagination{ 2959 NewRequest: func() (*request.Request, error) { 2960 var inCpy *ListVaultsInput 2961 if input != nil { 2962 tmp := *input 2963 inCpy = &tmp 2964 } 2965 req, _ := c.ListVaultsRequest(inCpy) 2966 req.SetContext(ctx) 2967 req.ApplyOptions(opts...) 2968 return req, nil 2969 }, 2970 } 2971 2972 cont := true 2973 for p.Next() && cont { 2974 cont = fn(p.Page().(*ListVaultsOutput), !p.HasNextPage()) 2975 } 2976 return p.Err() 2977} 2978 2979const opPurchaseProvisionedCapacity = "PurchaseProvisionedCapacity" 2980 2981// PurchaseProvisionedCapacityRequest generates a "aws/request.Request" representing the 2982// client's request for the PurchaseProvisionedCapacity operation. The "output" return 2983// value will be populated with the request's response once the request completes 2984// successfully. 2985// 2986// Use "Send" method on the returned Request to send the API call to the service. 2987// the "output" return value is not valid until after Send returns without error. 2988// 2989// See PurchaseProvisionedCapacity for more information on using the PurchaseProvisionedCapacity 2990// API call, and error handling. 2991// 2992// This method is useful when you want to inject custom logic or configuration 2993// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2994// 2995// 2996// // Example sending a request using the PurchaseProvisionedCapacityRequest method. 2997// req, resp := client.PurchaseProvisionedCapacityRequest(params) 2998// 2999// err := req.Send() 3000// if err == nil { // resp is now filled 3001// fmt.Println(resp) 3002// } 3003func (c *Glacier) PurchaseProvisionedCapacityRequest(input *PurchaseProvisionedCapacityInput) (req *request.Request, output *PurchaseProvisionedCapacityOutput) { 3004 op := &request.Operation{ 3005 Name: opPurchaseProvisionedCapacity, 3006 HTTPMethod: "POST", 3007 HTTPPath: "/{accountId}/provisioned-capacity", 3008 } 3009 3010 if input == nil { 3011 input = &PurchaseProvisionedCapacityInput{} 3012 } 3013 3014 output = &PurchaseProvisionedCapacityOutput{} 3015 req = c.newRequest(op, input, output) 3016 return 3017} 3018 3019// PurchaseProvisionedCapacity API operation for Amazon Glacier. 3020// 3021// This operation purchases a provisioned capacity unit for an AWS account. 3022// 3023// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3024// with awserr.Error's Code and Message methods to get detailed information about 3025// the error. 3026// 3027// See the AWS API reference guide for Amazon Glacier's 3028// API operation PurchaseProvisionedCapacity for usage and error information. 3029// 3030// Returned Error Codes: 3031// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 3032// Returned if a parameter of the request is incorrectly specified. 3033// 3034// * ErrCodeMissingParameterValueException "MissingParameterValueException" 3035// Returned if a required header or parameter is missing from the request. 3036// 3037// * ErrCodeLimitExceededException "LimitExceededException" 3038// Returned if the request results in a vault or account limit being exceeded. 3039// 3040// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 3041// Returned if the service cannot complete the request. 3042// 3043func (c *Glacier) PurchaseProvisionedCapacity(input *PurchaseProvisionedCapacityInput) (*PurchaseProvisionedCapacityOutput, error) { 3044 req, out := c.PurchaseProvisionedCapacityRequest(input) 3045 return out, req.Send() 3046} 3047 3048// PurchaseProvisionedCapacityWithContext is the same as PurchaseProvisionedCapacity with the addition of 3049// the ability to pass a context and additional request options. 3050// 3051// See PurchaseProvisionedCapacity for details on how to use this API operation. 3052// 3053// The context must be non-nil and will be used for request cancellation. If 3054// the context is nil a panic will occur. In the future the SDK may create 3055// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3056// for more information on using Contexts. 3057func (c *Glacier) PurchaseProvisionedCapacityWithContext(ctx aws.Context, input *PurchaseProvisionedCapacityInput, opts ...request.Option) (*PurchaseProvisionedCapacityOutput, error) { 3058 req, out := c.PurchaseProvisionedCapacityRequest(input) 3059 req.SetContext(ctx) 3060 req.ApplyOptions(opts...) 3061 return out, req.Send() 3062} 3063 3064const opRemoveTagsFromVault = "RemoveTagsFromVault" 3065 3066// RemoveTagsFromVaultRequest generates a "aws/request.Request" representing the 3067// client's request for the RemoveTagsFromVault operation. The "output" return 3068// value will be populated with the request's response once the request completes 3069// successfully. 3070// 3071// Use "Send" method on the returned Request to send the API call to the service. 3072// the "output" return value is not valid until after Send returns without error. 3073// 3074// See RemoveTagsFromVault for more information on using the RemoveTagsFromVault 3075// API call, and error handling. 3076// 3077// This method is useful when you want to inject custom logic or configuration 3078// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3079// 3080// 3081// // Example sending a request using the RemoveTagsFromVaultRequest method. 3082// req, resp := client.RemoveTagsFromVaultRequest(params) 3083// 3084// err := req.Send() 3085// if err == nil { // resp is now filled 3086// fmt.Println(resp) 3087// } 3088func (c *Glacier) RemoveTagsFromVaultRequest(input *RemoveTagsFromVaultInput) (req *request.Request, output *RemoveTagsFromVaultOutput) { 3089 op := &request.Operation{ 3090 Name: opRemoveTagsFromVault, 3091 HTTPMethod: "POST", 3092 HTTPPath: "/{accountId}/vaults/{vaultName}/tags?operation=remove", 3093 } 3094 3095 if input == nil { 3096 input = &RemoveTagsFromVaultInput{} 3097 } 3098 3099 output = &RemoveTagsFromVaultOutput{} 3100 req = c.newRequest(op, input, output) 3101 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3102 return 3103} 3104 3105// RemoveTagsFromVault API operation for Amazon Glacier. 3106// 3107// This operation removes one or more tags from the set of tags attached to 3108// a vault. For more information about tags, see Tagging Amazon S3 Glacier Resources 3109// (https://docs.aws.amazon.com/amazonglacier/latest/dev/tagging.html). This 3110// operation is idempotent. The operation will be successful, even if there 3111// are no tags attached to the vault. 3112// 3113// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3114// with awserr.Error's Code and Message methods to get detailed information about 3115// the error. 3116// 3117// See the AWS API reference guide for Amazon Glacier's 3118// API operation RemoveTagsFromVault for usage and error information. 3119// 3120// Returned Error Codes: 3121// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 3122// Returned if a parameter of the request is incorrectly specified. 3123// 3124// * ErrCodeMissingParameterValueException "MissingParameterValueException" 3125// Returned if a required header or parameter is missing from the request. 3126// 3127// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 3128// Returned if the specified resource (such as a vault, upload ID, or job ID) 3129// doesn't exist. 3130// 3131// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 3132// Returned if the service cannot complete the request. 3133// 3134func (c *Glacier) RemoveTagsFromVault(input *RemoveTagsFromVaultInput) (*RemoveTagsFromVaultOutput, error) { 3135 req, out := c.RemoveTagsFromVaultRequest(input) 3136 return out, req.Send() 3137} 3138 3139// RemoveTagsFromVaultWithContext is the same as RemoveTagsFromVault with the addition of 3140// the ability to pass a context and additional request options. 3141// 3142// See RemoveTagsFromVault for details on how to use this API operation. 3143// 3144// The context must be non-nil and will be used for request cancellation. If 3145// the context is nil a panic will occur. In the future the SDK may create 3146// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3147// for more information on using Contexts. 3148func (c *Glacier) RemoveTagsFromVaultWithContext(ctx aws.Context, input *RemoveTagsFromVaultInput, opts ...request.Option) (*RemoveTagsFromVaultOutput, error) { 3149 req, out := c.RemoveTagsFromVaultRequest(input) 3150 req.SetContext(ctx) 3151 req.ApplyOptions(opts...) 3152 return out, req.Send() 3153} 3154 3155const opSetDataRetrievalPolicy = "SetDataRetrievalPolicy" 3156 3157// SetDataRetrievalPolicyRequest generates a "aws/request.Request" representing the 3158// client's request for the SetDataRetrievalPolicy operation. The "output" return 3159// value will be populated with the request's response once the request completes 3160// successfully. 3161// 3162// Use "Send" method on the returned Request to send the API call to the service. 3163// the "output" return value is not valid until after Send returns without error. 3164// 3165// See SetDataRetrievalPolicy for more information on using the SetDataRetrievalPolicy 3166// API call, and error handling. 3167// 3168// This method is useful when you want to inject custom logic or configuration 3169// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3170// 3171// 3172// // Example sending a request using the SetDataRetrievalPolicyRequest method. 3173// req, resp := client.SetDataRetrievalPolicyRequest(params) 3174// 3175// err := req.Send() 3176// if err == nil { // resp is now filled 3177// fmt.Println(resp) 3178// } 3179func (c *Glacier) SetDataRetrievalPolicyRequest(input *SetDataRetrievalPolicyInput) (req *request.Request, output *SetDataRetrievalPolicyOutput) { 3180 op := &request.Operation{ 3181 Name: opSetDataRetrievalPolicy, 3182 HTTPMethod: "PUT", 3183 HTTPPath: "/{accountId}/policies/data-retrieval", 3184 } 3185 3186 if input == nil { 3187 input = &SetDataRetrievalPolicyInput{} 3188 } 3189 3190 output = &SetDataRetrievalPolicyOutput{} 3191 req = c.newRequest(op, input, output) 3192 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3193 return 3194} 3195 3196// SetDataRetrievalPolicy API operation for Amazon Glacier. 3197// 3198// This operation sets and then enacts a data retrieval policy in the region 3199// specified in the PUT request. You can set one policy per region for an AWS 3200// account. The policy is enacted within a few minutes of a successful PUT operation. 3201// 3202// The set policy operation does not affect retrieval jobs that were in progress 3203// before the policy was enacted. For more information about data retrieval 3204// policies, see Amazon Glacier Data Retrieval Policies (https://docs.aws.amazon.com/amazonglacier/latest/dev/data-retrieval-policy.html). 3205// 3206// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3207// with awserr.Error's Code and Message methods to get detailed information about 3208// the error. 3209// 3210// See the AWS API reference guide for Amazon Glacier's 3211// API operation SetDataRetrievalPolicy for usage and error information. 3212// 3213// Returned Error Codes: 3214// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 3215// Returned if a parameter of the request is incorrectly specified. 3216// 3217// * ErrCodeMissingParameterValueException "MissingParameterValueException" 3218// Returned if a required header or parameter is missing from the request. 3219// 3220// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 3221// Returned if the service cannot complete the request. 3222// 3223func (c *Glacier) SetDataRetrievalPolicy(input *SetDataRetrievalPolicyInput) (*SetDataRetrievalPolicyOutput, error) { 3224 req, out := c.SetDataRetrievalPolicyRequest(input) 3225 return out, req.Send() 3226} 3227 3228// SetDataRetrievalPolicyWithContext is the same as SetDataRetrievalPolicy with the addition of 3229// the ability to pass a context and additional request options. 3230// 3231// See SetDataRetrievalPolicy for details on how to use this API operation. 3232// 3233// The context must be non-nil and will be used for request cancellation. If 3234// the context is nil a panic will occur. In the future the SDK may create 3235// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3236// for more information on using Contexts. 3237func (c *Glacier) SetDataRetrievalPolicyWithContext(ctx aws.Context, input *SetDataRetrievalPolicyInput, opts ...request.Option) (*SetDataRetrievalPolicyOutput, error) { 3238 req, out := c.SetDataRetrievalPolicyRequest(input) 3239 req.SetContext(ctx) 3240 req.ApplyOptions(opts...) 3241 return out, req.Send() 3242} 3243 3244const opSetVaultAccessPolicy = "SetVaultAccessPolicy" 3245 3246// SetVaultAccessPolicyRequest generates a "aws/request.Request" representing the 3247// client's request for the SetVaultAccessPolicy operation. The "output" return 3248// value will be populated with the request's response once the request completes 3249// successfully. 3250// 3251// Use "Send" method on the returned Request to send the API call to the service. 3252// the "output" return value is not valid until after Send returns without error. 3253// 3254// See SetVaultAccessPolicy for more information on using the SetVaultAccessPolicy 3255// API call, and error handling. 3256// 3257// This method is useful when you want to inject custom logic or configuration 3258// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3259// 3260// 3261// // Example sending a request using the SetVaultAccessPolicyRequest method. 3262// req, resp := client.SetVaultAccessPolicyRequest(params) 3263// 3264// err := req.Send() 3265// if err == nil { // resp is now filled 3266// fmt.Println(resp) 3267// } 3268func (c *Glacier) SetVaultAccessPolicyRequest(input *SetVaultAccessPolicyInput) (req *request.Request, output *SetVaultAccessPolicyOutput) { 3269 op := &request.Operation{ 3270 Name: opSetVaultAccessPolicy, 3271 HTTPMethod: "PUT", 3272 HTTPPath: "/{accountId}/vaults/{vaultName}/access-policy", 3273 } 3274 3275 if input == nil { 3276 input = &SetVaultAccessPolicyInput{} 3277 } 3278 3279 output = &SetVaultAccessPolicyOutput{} 3280 req = c.newRequest(op, input, output) 3281 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3282 return 3283} 3284 3285// SetVaultAccessPolicy API operation for Amazon Glacier. 3286// 3287// This operation configures an access policy for a vault and will overwrite 3288// an existing policy. To configure a vault access policy, send a PUT request 3289// to the access-policy subresource of the vault. An access policy is specific 3290// to a vault and is also called a vault subresource. You can set one access 3291// policy per vault and the policy can be up to 20 KB in size. For more information 3292// about vault access policies, see Amazon Glacier Access Control with Vault 3293// Access Policies (https://docs.aws.amazon.com/amazonglacier/latest/dev/vault-access-policy.html). 3294// 3295// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3296// with awserr.Error's Code and Message methods to get detailed information about 3297// the error. 3298// 3299// See the AWS API reference guide for Amazon Glacier's 3300// API operation SetVaultAccessPolicy for usage and error information. 3301// 3302// Returned Error Codes: 3303// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 3304// Returned if the specified resource (such as a vault, upload ID, or job ID) 3305// doesn't exist. 3306// 3307// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 3308// Returned if a parameter of the request is incorrectly specified. 3309// 3310// * ErrCodeMissingParameterValueException "MissingParameterValueException" 3311// Returned if a required header or parameter is missing from the request. 3312// 3313// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 3314// Returned if the service cannot complete the request. 3315// 3316func (c *Glacier) SetVaultAccessPolicy(input *SetVaultAccessPolicyInput) (*SetVaultAccessPolicyOutput, error) { 3317 req, out := c.SetVaultAccessPolicyRequest(input) 3318 return out, req.Send() 3319} 3320 3321// SetVaultAccessPolicyWithContext is the same as SetVaultAccessPolicy with the addition of 3322// the ability to pass a context and additional request options. 3323// 3324// See SetVaultAccessPolicy for details on how to use this API operation. 3325// 3326// The context must be non-nil and will be used for request cancellation. If 3327// the context is nil a panic will occur. In the future the SDK may create 3328// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3329// for more information on using Contexts. 3330func (c *Glacier) SetVaultAccessPolicyWithContext(ctx aws.Context, input *SetVaultAccessPolicyInput, opts ...request.Option) (*SetVaultAccessPolicyOutput, error) { 3331 req, out := c.SetVaultAccessPolicyRequest(input) 3332 req.SetContext(ctx) 3333 req.ApplyOptions(opts...) 3334 return out, req.Send() 3335} 3336 3337const opSetVaultNotifications = "SetVaultNotifications" 3338 3339// SetVaultNotificationsRequest generates a "aws/request.Request" representing the 3340// client's request for the SetVaultNotifications operation. The "output" return 3341// value will be populated with the request's response once the request completes 3342// successfully. 3343// 3344// Use "Send" method on the returned Request to send the API call to the service. 3345// the "output" return value is not valid until after Send returns without error. 3346// 3347// See SetVaultNotifications for more information on using the SetVaultNotifications 3348// API call, and error handling. 3349// 3350// This method is useful when you want to inject custom logic or configuration 3351// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3352// 3353// 3354// // Example sending a request using the SetVaultNotificationsRequest method. 3355// req, resp := client.SetVaultNotificationsRequest(params) 3356// 3357// err := req.Send() 3358// if err == nil { // resp is now filled 3359// fmt.Println(resp) 3360// } 3361func (c *Glacier) SetVaultNotificationsRequest(input *SetVaultNotificationsInput) (req *request.Request, output *SetVaultNotificationsOutput) { 3362 op := &request.Operation{ 3363 Name: opSetVaultNotifications, 3364 HTTPMethod: "PUT", 3365 HTTPPath: "/{accountId}/vaults/{vaultName}/notification-configuration", 3366 } 3367 3368 if input == nil { 3369 input = &SetVaultNotificationsInput{} 3370 } 3371 3372 output = &SetVaultNotificationsOutput{} 3373 req = c.newRequest(op, input, output) 3374 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3375 return 3376} 3377 3378// SetVaultNotifications API operation for Amazon Glacier. 3379// 3380// This operation configures notifications that will be sent when specific events 3381// happen to a vault. By default, you don't get any notifications. 3382// 3383// To configure vault notifications, send a PUT request to the notification-configuration 3384// subresource of the vault. The request should include a JSON document that 3385// provides an Amazon SNS topic and specific events for which you want Amazon 3386// S3 Glacier to send notifications to the topic. 3387// 3388// Amazon SNS topics must grant permission to the vault to be allowed to publish 3389// notifications to the topic. You can configure a vault to publish a notification 3390// for the following vault events: 3391// 3392// * ArchiveRetrievalCompleted This event occurs when a job that was initiated 3393// for an archive retrieval is completed (InitiateJob). The status of the 3394// completed job can be "Succeeded" or "Failed". The notification sent to 3395// the SNS topic is the same output as returned from DescribeJob. 3396// 3397// * InventoryRetrievalCompleted This event occurs when a job that was initiated 3398// for an inventory retrieval is completed (InitiateJob). The status of the 3399// completed job can be "Succeeded" or "Failed". The notification sent to 3400// the SNS topic is the same output as returned from DescribeJob. 3401// 3402// An AWS account has full permission to perform all operations (actions). However, 3403// AWS Identity and Access Management (IAM) users don't have any permissions 3404// by default. You must grant them explicit permission to perform specific actions. 3405// For more information, see Access Control Using AWS Identity and Access Management 3406// (IAM) (https://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html). 3407// 3408// For conceptual information and underlying REST API, see Configuring Vault 3409// Notifications in Amazon S3 Glacier (https://docs.aws.amazon.com/amazonglacier/latest/dev/configuring-notifications.html) 3410// and Set Vault Notification Configuration (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-vault-notifications-put.html) 3411// in the Amazon Glacier Developer Guide. 3412// 3413// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3414// with awserr.Error's Code and Message methods to get detailed information about 3415// the error. 3416// 3417// See the AWS API reference guide for Amazon Glacier's 3418// API operation SetVaultNotifications for usage and error information. 3419// 3420// Returned Error Codes: 3421// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 3422// Returned if the specified resource (such as a vault, upload ID, or job ID) 3423// doesn't exist. 3424// 3425// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 3426// Returned if a parameter of the request is incorrectly specified. 3427// 3428// * ErrCodeMissingParameterValueException "MissingParameterValueException" 3429// Returned if a required header or parameter is missing from the request. 3430// 3431// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 3432// Returned if the service cannot complete the request. 3433// 3434func (c *Glacier) SetVaultNotifications(input *SetVaultNotificationsInput) (*SetVaultNotificationsOutput, error) { 3435 req, out := c.SetVaultNotificationsRequest(input) 3436 return out, req.Send() 3437} 3438 3439// SetVaultNotificationsWithContext is the same as SetVaultNotifications with the addition of 3440// the ability to pass a context and additional request options. 3441// 3442// See SetVaultNotifications for details on how to use this API operation. 3443// 3444// The context must be non-nil and will be used for request cancellation. If 3445// the context is nil a panic will occur. In the future the SDK may create 3446// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3447// for more information on using Contexts. 3448func (c *Glacier) SetVaultNotificationsWithContext(ctx aws.Context, input *SetVaultNotificationsInput, opts ...request.Option) (*SetVaultNotificationsOutput, error) { 3449 req, out := c.SetVaultNotificationsRequest(input) 3450 req.SetContext(ctx) 3451 req.ApplyOptions(opts...) 3452 return out, req.Send() 3453} 3454 3455const opUploadArchive = "UploadArchive" 3456 3457// UploadArchiveRequest generates a "aws/request.Request" representing the 3458// client's request for the UploadArchive operation. The "output" return 3459// value will be populated with the request's response once the request completes 3460// successfully. 3461// 3462// Use "Send" method on the returned Request to send the API call to the service. 3463// the "output" return value is not valid until after Send returns without error. 3464// 3465// See UploadArchive for more information on using the UploadArchive 3466// API call, and error handling. 3467// 3468// This method is useful when you want to inject custom logic or configuration 3469// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3470// 3471// 3472// // Example sending a request using the UploadArchiveRequest method. 3473// req, resp := client.UploadArchiveRequest(params) 3474// 3475// err := req.Send() 3476// if err == nil { // resp is now filled 3477// fmt.Println(resp) 3478// } 3479func (c *Glacier) UploadArchiveRequest(input *UploadArchiveInput) (req *request.Request, output *ArchiveCreationOutput) { 3480 op := &request.Operation{ 3481 Name: opUploadArchive, 3482 HTTPMethod: "POST", 3483 HTTPPath: "/{accountId}/vaults/{vaultName}/archives", 3484 } 3485 3486 if input == nil { 3487 input = &UploadArchiveInput{} 3488 } 3489 3490 output = &ArchiveCreationOutput{} 3491 req = c.newRequest(op, input, output) 3492 return 3493} 3494 3495// UploadArchive API operation for Amazon Glacier. 3496// 3497// This operation adds an archive to a vault. This is a synchronous operation, 3498// and for a successful upload, your data is durably persisted. Amazon S3 Glacier 3499// returns the archive ID in the x-amz-archive-id header of the response. 3500// 3501// You must use the archive ID to access your data in Amazon S3 Glacier. After 3502// you upload an archive, you should save the archive ID returned so that you 3503// can retrieve or delete the archive later. Besides saving the archive ID, 3504// you can also index it and give it a friendly name to allow for better searching. 3505// You can also use the optional archive description field to specify how the 3506// archive is referred to in an external index of archives, such as you might 3507// create in Amazon DynamoDB. You can also get the vault inventory to obtain 3508// a list of archive IDs in a vault. For more information, see InitiateJob. 3509// 3510// You must provide a SHA256 tree hash of the data you are uploading. For information 3511// about computing a SHA256 tree hash, see Computing Checksums (https://docs.aws.amazon.com/amazonglacier/latest/dev/checksum-calculations.html). 3512// 3513// You can optionally specify an archive description of up to 1,024 printable 3514// ASCII characters. You can get the archive description when you either retrieve 3515// the archive or get the vault inventory. For more information, see InitiateJob. 3516// Amazon Glacier does not interpret the description in any way. An archive 3517// description does not need to be unique. You cannot use the description to 3518// retrieve or sort the archive list. 3519// 3520// Archives are immutable. After you upload an archive, you cannot edit the 3521// archive or its description. 3522// 3523// An AWS account has full permission to perform all operations (actions). However, 3524// AWS Identity and Access Management (IAM) users don't have any permissions 3525// by default. You must grant them explicit permission to perform specific actions. 3526// For more information, see Access Control Using AWS Identity and Access Management 3527// (IAM) (https://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html). 3528// 3529// For conceptual information and underlying REST API, see Uploading an Archive 3530// in Amazon Glacier (https://docs.aws.amazon.com/amazonglacier/latest/dev/uploading-an-archive.html) 3531// and Upload Archive (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-archive-post.html) 3532// in the Amazon Glacier Developer Guide. 3533// 3534// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3535// with awserr.Error's Code and Message methods to get detailed information about 3536// the error. 3537// 3538// See the AWS API reference guide for Amazon Glacier's 3539// API operation UploadArchive for usage and error information. 3540// 3541// Returned Error Codes: 3542// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 3543// Returned if the specified resource (such as a vault, upload ID, or job ID) 3544// doesn't exist. 3545// 3546// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 3547// Returned if a parameter of the request is incorrectly specified. 3548// 3549// * ErrCodeMissingParameterValueException "MissingParameterValueException" 3550// Returned if a required header or parameter is missing from the request. 3551// 3552// * ErrCodeRequestTimeoutException "RequestTimeoutException" 3553// Returned if, when uploading an archive, Amazon S3 Glacier times out while 3554// receiving the upload. 3555// 3556// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 3557// Returned if the service cannot complete the request. 3558// 3559func (c *Glacier) UploadArchive(input *UploadArchiveInput) (*ArchiveCreationOutput, error) { 3560 req, out := c.UploadArchiveRequest(input) 3561 return out, req.Send() 3562} 3563 3564// UploadArchiveWithContext is the same as UploadArchive with the addition of 3565// the ability to pass a context and additional request options. 3566// 3567// See UploadArchive for details on how to use this API operation. 3568// 3569// The context must be non-nil and will be used for request cancellation. If 3570// the context is nil a panic will occur. In the future the SDK may create 3571// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3572// for more information on using Contexts. 3573func (c *Glacier) UploadArchiveWithContext(ctx aws.Context, input *UploadArchiveInput, opts ...request.Option) (*ArchiveCreationOutput, error) { 3574 req, out := c.UploadArchiveRequest(input) 3575 req.SetContext(ctx) 3576 req.ApplyOptions(opts...) 3577 return out, req.Send() 3578} 3579 3580const opUploadMultipartPart = "UploadMultipartPart" 3581 3582// UploadMultipartPartRequest generates a "aws/request.Request" representing the 3583// client's request for the UploadMultipartPart operation. The "output" return 3584// value will be populated with the request's response once the request completes 3585// successfully. 3586// 3587// Use "Send" method on the returned Request to send the API call to the service. 3588// the "output" return value is not valid until after Send returns without error. 3589// 3590// See UploadMultipartPart for more information on using the UploadMultipartPart 3591// API call, and error handling. 3592// 3593// This method is useful when you want to inject custom logic or configuration 3594// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3595// 3596// 3597// // Example sending a request using the UploadMultipartPartRequest method. 3598// req, resp := client.UploadMultipartPartRequest(params) 3599// 3600// err := req.Send() 3601// if err == nil { // resp is now filled 3602// fmt.Println(resp) 3603// } 3604func (c *Glacier) UploadMultipartPartRequest(input *UploadMultipartPartInput) (req *request.Request, output *UploadMultipartPartOutput) { 3605 op := &request.Operation{ 3606 Name: opUploadMultipartPart, 3607 HTTPMethod: "PUT", 3608 HTTPPath: "/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}", 3609 } 3610 3611 if input == nil { 3612 input = &UploadMultipartPartInput{} 3613 } 3614 3615 output = &UploadMultipartPartOutput{} 3616 req = c.newRequest(op, input, output) 3617 return 3618} 3619 3620// UploadMultipartPart API operation for Amazon Glacier. 3621// 3622// This operation uploads a part of an archive. You can upload archive parts 3623// in any order. You can also upload them in parallel. You can upload up to 3624// 10,000 parts for a multipart upload. 3625// 3626// Amazon Glacier rejects your upload part request if any of the following conditions 3627// is true: 3628// 3629// * SHA256 tree hash does not matchTo ensure that part data is not corrupted 3630// in transmission, you compute a SHA256 tree hash of the part and include 3631// it in your request. Upon receiving the part data, Amazon S3 Glacier also 3632// computes a SHA256 tree hash. If these hash values don't match, the operation 3633// fails. For information about computing a SHA256 tree hash, see Computing 3634// Checksums (https://docs.aws.amazon.com/amazonglacier/latest/dev/checksum-calculations.html). 3635// 3636// * Part size does not matchThe size of each part except the last must match 3637// the size specified in the corresponding InitiateMultipartUpload request. 3638// The size of the last part must be the same size as, or smaller than, the 3639// specified size. If you upload a part whose size is smaller than the part 3640// size you specified in your initiate multipart upload request and that 3641// part is not the last part, then the upload part request will succeed. 3642// However, the subsequent Complete Multipart Upload request will fail. 3643// 3644// * Range does not alignThe byte range value in the request does not align 3645// with the part size specified in the corresponding initiate request. For 3646// example, if you specify a part size of 4194304 bytes (4 MB), then 0 to 3647// 4194303 bytes (4 MB - 1) and 4194304 (4 MB) to 8388607 (8 MB - 1) are 3648// valid part ranges. However, if you set a range value of 2 MB to 6 MB, 3649// the range does not align with the part size and the upload will fail. 3650// 3651// This operation is idempotent. If you upload the same part multiple times, 3652// the data included in the most recent request overwrites the previously uploaded 3653// data. 3654// 3655// An AWS account has full permission to perform all operations (actions). However, 3656// AWS Identity and Access Management (IAM) users don't have any permissions 3657// by default. You must grant them explicit permission to perform specific actions. 3658// For more information, see Access Control Using AWS Identity and Access Management 3659// (IAM) (https://docs.aws.amazon.com/amazonglacier/latest/dev/using-iam-with-amazon-glacier.html). 3660// 3661// For conceptual information and underlying REST API, see Uploading Large Archives 3662// in Parts (Multipart Upload) (https://docs.aws.amazon.com/amazonglacier/latest/dev/uploading-archive-mpu.html) 3663// and Upload Part (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-upload-part.html) 3664// in the Amazon Glacier Developer Guide. 3665// 3666// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3667// with awserr.Error's Code and Message methods to get detailed information about 3668// the error. 3669// 3670// See the AWS API reference guide for Amazon Glacier's 3671// API operation UploadMultipartPart for usage and error information. 3672// 3673// Returned Error Codes: 3674// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 3675// Returned if the specified resource (such as a vault, upload ID, or job ID) 3676// doesn't exist. 3677// 3678// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" 3679// Returned if a parameter of the request is incorrectly specified. 3680// 3681// * ErrCodeMissingParameterValueException "MissingParameterValueException" 3682// Returned if a required header or parameter is missing from the request. 3683// 3684// * ErrCodeRequestTimeoutException "RequestTimeoutException" 3685// Returned if, when uploading an archive, Amazon S3 Glacier times out while 3686// receiving the upload. 3687// 3688// * ErrCodeServiceUnavailableException "ServiceUnavailableException" 3689// Returned if the service cannot complete the request. 3690// 3691func (c *Glacier) UploadMultipartPart(input *UploadMultipartPartInput) (*UploadMultipartPartOutput, error) { 3692 req, out := c.UploadMultipartPartRequest(input) 3693 return out, req.Send() 3694} 3695 3696// UploadMultipartPartWithContext is the same as UploadMultipartPart with the addition of 3697// the ability to pass a context and additional request options. 3698// 3699// See UploadMultipartPart for details on how to use this API operation. 3700// 3701// The context must be non-nil and will be used for request cancellation. If 3702// the context is nil a panic will occur. In the future the SDK may create 3703// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3704// for more information on using Contexts. 3705func (c *Glacier) UploadMultipartPartWithContext(ctx aws.Context, input *UploadMultipartPartInput, opts ...request.Option) (*UploadMultipartPartOutput, error) { 3706 req, out := c.UploadMultipartPartRequest(input) 3707 req.SetContext(ctx) 3708 req.ApplyOptions(opts...) 3709 return out, req.Send() 3710} 3711 3712// Provides options to abort a multipart upload identified by the upload ID. 3713// 3714// For information about the underlying REST API, see Abort Multipart Upload 3715// (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-multipart-abort-upload.html). 3716// For conceptual information, see Working with Archives in Amazon S3 Glacier 3717// (https://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-archives.html). 3718type AbortMultipartUploadInput struct { 3719 _ struct{} `type:"structure"` 3720 3721 // The AccountId value is the AWS account ID of the account that owns the vault. 3722 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 3723 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 3724 // credentials used to sign the request. If you use an account ID, do not include 3725 // any hyphens ('-') in the ID. 3726 // 3727 // AccountId is a required field 3728 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 3729 3730 // The upload ID of the multipart upload to delete. 3731 // 3732 // UploadId is a required field 3733 UploadId *string `location:"uri" locationName:"uploadId" type:"string" required:"true"` 3734 3735 // The name of the vault. 3736 // 3737 // VaultName is a required field 3738 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 3739} 3740 3741// String returns the string representation 3742func (s AbortMultipartUploadInput) String() string { 3743 return awsutil.Prettify(s) 3744} 3745 3746// GoString returns the string representation 3747func (s AbortMultipartUploadInput) GoString() string { 3748 return s.String() 3749} 3750 3751// Validate inspects the fields of the type to determine if they are valid. 3752func (s *AbortMultipartUploadInput) Validate() error { 3753 invalidParams := request.ErrInvalidParams{Context: "AbortMultipartUploadInput"} 3754 if s.AccountId == nil { 3755 invalidParams.Add(request.NewErrParamRequired("AccountId")) 3756 } 3757 if s.AccountId != nil && len(*s.AccountId) < 1 { 3758 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 3759 } 3760 if s.UploadId == nil { 3761 invalidParams.Add(request.NewErrParamRequired("UploadId")) 3762 } 3763 if s.UploadId != nil && len(*s.UploadId) < 1 { 3764 invalidParams.Add(request.NewErrParamMinLen("UploadId", 1)) 3765 } 3766 if s.VaultName == nil { 3767 invalidParams.Add(request.NewErrParamRequired("VaultName")) 3768 } 3769 if s.VaultName != nil && len(*s.VaultName) < 1 { 3770 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 3771 } 3772 3773 if invalidParams.Len() > 0 { 3774 return invalidParams 3775 } 3776 return nil 3777} 3778 3779// SetAccountId sets the AccountId field's value. 3780func (s *AbortMultipartUploadInput) SetAccountId(v string) *AbortMultipartUploadInput { 3781 s.AccountId = &v 3782 return s 3783} 3784 3785// SetUploadId sets the UploadId field's value. 3786func (s *AbortMultipartUploadInput) SetUploadId(v string) *AbortMultipartUploadInput { 3787 s.UploadId = &v 3788 return s 3789} 3790 3791// SetVaultName sets the VaultName field's value. 3792func (s *AbortMultipartUploadInput) SetVaultName(v string) *AbortMultipartUploadInput { 3793 s.VaultName = &v 3794 return s 3795} 3796 3797type AbortMultipartUploadOutput struct { 3798 _ struct{} `type:"structure"` 3799} 3800 3801// String returns the string representation 3802func (s AbortMultipartUploadOutput) String() string { 3803 return awsutil.Prettify(s) 3804} 3805 3806// GoString returns the string representation 3807func (s AbortMultipartUploadOutput) GoString() string { 3808 return s.String() 3809} 3810 3811// The input values for AbortVaultLock. 3812type AbortVaultLockInput struct { 3813 _ struct{} `type:"structure"` 3814 3815 // The AccountId value is the AWS account ID. This value must match the AWS 3816 // account ID associated with the credentials used to sign the request. You 3817 // can either specify an AWS account ID or optionally a single '-' (hyphen), 3818 // in which case Amazon Glacier uses the AWS account ID associated with the 3819 // credentials used to sign the request. If you specify your account ID, do 3820 // not include any hyphens ('-') in the ID. 3821 // 3822 // AccountId is a required field 3823 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 3824 3825 // The name of the vault. 3826 // 3827 // VaultName is a required field 3828 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 3829} 3830 3831// String returns the string representation 3832func (s AbortVaultLockInput) String() string { 3833 return awsutil.Prettify(s) 3834} 3835 3836// GoString returns the string representation 3837func (s AbortVaultLockInput) GoString() string { 3838 return s.String() 3839} 3840 3841// Validate inspects the fields of the type to determine if they are valid. 3842func (s *AbortVaultLockInput) Validate() error { 3843 invalidParams := request.ErrInvalidParams{Context: "AbortVaultLockInput"} 3844 if s.AccountId == nil { 3845 invalidParams.Add(request.NewErrParamRequired("AccountId")) 3846 } 3847 if s.AccountId != nil && len(*s.AccountId) < 1 { 3848 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 3849 } 3850 if s.VaultName == nil { 3851 invalidParams.Add(request.NewErrParamRequired("VaultName")) 3852 } 3853 if s.VaultName != nil && len(*s.VaultName) < 1 { 3854 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 3855 } 3856 3857 if invalidParams.Len() > 0 { 3858 return invalidParams 3859 } 3860 return nil 3861} 3862 3863// SetAccountId sets the AccountId field's value. 3864func (s *AbortVaultLockInput) SetAccountId(v string) *AbortVaultLockInput { 3865 s.AccountId = &v 3866 return s 3867} 3868 3869// SetVaultName sets the VaultName field's value. 3870func (s *AbortVaultLockInput) SetVaultName(v string) *AbortVaultLockInput { 3871 s.VaultName = &v 3872 return s 3873} 3874 3875type AbortVaultLockOutput struct { 3876 _ struct{} `type:"structure"` 3877} 3878 3879// String returns the string representation 3880func (s AbortVaultLockOutput) String() string { 3881 return awsutil.Prettify(s) 3882} 3883 3884// GoString returns the string representation 3885func (s AbortVaultLockOutput) GoString() string { 3886 return s.String() 3887} 3888 3889// The input values for AddTagsToVault. 3890type AddTagsToVaultInput struct { 3891 _ struct{} `type:"structure"` 3892 3893 // The AccountId value is the AWS account ID of the account that owns the vault. 3894 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 3895 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 3896 // credentials used to sign the request. If you use an account ID, do not include 3897 // any hyphens ('-') in the ID. 3898 // 3899 // AccountId is a required field 3900 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 3901 3902 // The tags to add to the vault. Each tag is composed of a key and a value. 3903 // The value can be an empty string. 3904 Tags map[string]*string `type:"map"` 3905 3906 // The name of the vault. 3907 // 3908 // VaultName is a required field 3909 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 3910} 3911 3912// String returns the string representation 3913func (s AddTagsToVaultInput) String() string { 3914 return awsutil.Prettify(s) 3915} 3916 3917// GoString returns the string representation 3918func (s AddTagsToVaultInput) GoString() string { 3919 return s.String() 3920} 3921 3922// Validate inspects the fields of the type to determine if they are valid. 3923func (s *AddTagsToVaultInput) Validate() error { 3924 invalidParams := request.ErrInvalidParams{Context: "AddTagsToVaultInput"} 3925 if s.AccountId == nil { 3926 invalidParams.Add(request.NewErrParamRequired("AccountId")) 3927 } 3928 if s.AccountId != nil && len(*s.AccountId) < 1 { 3929 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 3930 } 3931 if s.VaultName == nil { 3932 invalidParams.Add(request.NewErrParamRequired("VaultName")) 3933 } 3934 if s.VaultName != nil && len(*s.VaultName) < 1 { 3935 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 3936 } 3937 3938 if invalidParams.Len() > 0 { 3939 return invalidParams 3940 } 3941 return nil 3942} 3943 3944// SetAccountId sets the AccountId field's value. 3945func (s *AddTagsToVaultInput) SetAccountId(v string) *AddTagsToVaultInput { 3946 s.AccountId = &v 3947 return s 3948} 3949 3950// SetTags sets the Tags field's value. 3951func (s *AddTagsToVaultInput) SetTags(v map[string]*string) *AddTagsToVaultInput { 3952 s.Tags = v 3953 return s 3954} 3955 3956// SetVaultName sets the VaultName field's value. 3957func (s *AddTagsToVaultInput) SetVaultName(v string) *AddTagsToVaultInput { 3958 s.VaultName = &v 3959 return s 3960} 3961 3962type AddTagsToVaultOutput struct { 3963 _ struct{} `type:"structure"` 3964} 3965 3966// String returns the string representation 3967func (s AddTagsToVaultOutput) String() string { 3968 return awsutil.Prettify(s) 3969} 3970 3971// GoString returns the string representation 3972func (s AddTagsToVaultOutput) GoString() string { 3973 return s.String() 3974} 3975 3976// Contains the Amazon S3 Glacier response to your request. 3977// 3978// For information about the underlying REST API, see Upload Archive (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-archive-post.html). 3979// For conceptual information, see Working with Archives in Amazon S3 Glacier 3980// (https://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-archives.html). 3981type ArchiveCreationOutput struct { 3982 _ struct{} `type:"structure"` 3983 3984 // The ID of the archive. This value is also included as part of the location. 3985 ArchiveId *string `location:"header" locationName:"x-amz-archive-id" type:"string"` 3986 3987 // The checksum of the archive computed by Amazon S3 Glacier. 3988 Checksum *string `location:"header" locationName:"x-amz-sha256-tree-hash" type:"string"` 3989 3990 // The relative URI path of the newly added archive resource. 3991 Location *string `location:"header" locationName:"Location" type:"string"` 3992} 3993 3994// String returns the string representation 3995func (s ArchiveCreationOutput) String() string { 3996 return awsutil.Prettify(s) 3997} 3998 3999// GoString returns the string representation 4000func (s ArchiveCreationOutput) GoString() string { 4001 return s.String() 4002} 4003 4004// SetArchiveId sets the ArchiveId field's value. 4005func (s *ArchiveCreationOutput) SetArchiveId(v string) *ArchiveCreationOutput { 4006 s.ArchiveId = &v 4007 return s 4008} 4009 4010// SetChecksum sets the Checksum field's value. 4011func (s *ArchiveCreationOutput) SetChecksum(v string) *ArchiveCreationOutput { 4012 s.Checksum = &v 4013 return s 4014} 4015 4016// SetLocation sets the Location field's value. 4017func (s *ArchiveCreationOutput) SetLocation(v string) *ArchiveCreationOutput { 4018 s.Location = &v 4019 return s 4020} 4021 4022// Contains information about the comma-separated value (CSV) file to select 4023// from. 4024type CSVInput struct { 4025 _ struct{} `type:"structure"` 4026 4027 // A single character used to indicate that a row should be ignored when the 4028 // character is present at the start of that row. 4029 Comments *string `type:"string"` 4030 4031 // A value used to separate individual fields from each other within a record. 4032 FieldDelimiter *string `type:"string"` 4033 4034 // Describes the first line of input. Valid values are None, Ignore, and Use. 4035 FileHeaderInfo *string `type:"string" enum:"FileHeaderInfo"` 4036 4037 // A value used as an escape character where the field delimiter is part of 4038 // the value. 4039 QuoteCharacter *string `type:"string"` 4040 4041 // A single character used for escaping the quotation-mark character inside 4042 // an already escaped value. 4043 QuoteEscapeCharacter *string `type:"string"` 4044 4045 // A value used to separate individual records from each other. 4046 RecordDelimiter *string `type:"string"` 4047} 4048 4049// String returns the string representation 4050func (s CSVInput) String() string { 4051 return awsutil.Prettify(s) 4052} 4053 4054// GoString returns the string representation 4055func (s CSVInput) GoString() string { 4056 return s.String() 4057} 4058 4059// SetComments sets the Comments field's value. 4060func (s *CSVInput) SetComments(v string) *CSVInput { 4061 s.Comments = &v 4062 return s 4063} 4064 4065// SetFieldDelimiter sets the FieldDelimiter field's value. 4066func (s *CSVInput) SetFieldDelimiter(v string) *CSVInput { 4067 s.FieldDelimiter = &v 4068 return s 4069} 4070 4071// SetFileHeaderInfo sets the FileHeaderInfo field's value. 4072func (s *CSVInput) SetFileHeaderInfo(v string) *CSVInput { 4073 s.FileHeaderInfo = &v 4074 return s 4075} 4076 4077// SetQuoteCharacter sets the QuoteCharacter field's value. 4078func (s *CSVInput) SetQuoteCharacter(v string) *CSVInput { 4079 s.QuoteCharacter = &v 4080 return s 4081} 4082 4083// SetQuoteEscapeCharacter sets the QuoteEscapeCharacter field's value. 4084func (s *CSVInput) SetQuoteEscapeCharacter(v string) *CSVInput { 4085 s.QuoteEscapeCharacter = &v 4086 return s 4087} 4088 4089// SetRecordDelimiter sets the RecordDelimiter field's value. 4090func (s *CSVInput) SetRecordDelimiter(v string) *CSVInput { 4091 s.RecordDelimiter = &v 4092 return s 4093} 4094 4095// Contains information about the comma-separated value (CSV) file that the 4096// job results are stored in. 4097type CSVOutput struct { 4098 _ struct{} `type:"structure"` 4099 4100 // A value used to separate individual fields from each other within a record. 4101 FieldDelimiter *string `type:"string"` 4102 4103 // A value used as an escape character where the field delimiter is part of 4104 // the value. 4105 QuoteCharacter *string `type:"string"` 4106 4107 // A single character used for escaping the quotation-mark character inside 4108 // an already escaped value. 4109 QuoteEscapeCharacter *string `type:"string"` 4110 4111 // A value that indicates whether all output fields should be contained within 4112 // quotation marks. 4113 QuoteFields *string `type:"string" enum:"QuoteFields"` 4114 4115 // A value used to separate individual records from each other. 4116 RecordDelimiter *string `type:"string"` 4117} 4118 4119// String returns the string representation 4120func (s CSVOutput) String() string { 4121 return awsutil.Prettify(s) 4122} 4123 4124// GoString returns the string representation 4125func (s CSVOutput) GoString() string { 4126 return s.String() 4127} 4128 4129// SetFieldDelimiter sets the FieldDelimiter field's value. 4130func (s *CSVOutput) SetFieldDelimiter(v string) *CSVOutput { 4131 s.FieldDelimiter = &v 4132 return s 4133} 4134 4135// SetQuoteCharacter sets the QuoteCharacter field's value. 4136func (s *CSVOutput) SetQuoteCharacter(v string) *CSVOutput { 4137 s.QuoteCharacter = &v 4138 return s 4139} 4140 4141// SetQuoteEscapeCharacter sets the QuoteEscapeCharacter field's value. 4142func (s *CSVOutput) SetQuoteEscapeCharacter(v string) *CSVOutput { 4143 s.QuoteEscapeCharacter = &v 4144 return s 4145} 4146 4147// SetQuoteFields sets the QuoteFields field's value. 4148func (s *CSVOutput) SetQuoteFields(v string) *CSVOutput { 4149 s.QuoteFields = &v 4150 return s 4151} 4152 4153// SetRecordDelimiter sets the RecordDelimiter field's value. 4154func (s *CSVOutput) SetRecordDelimiter(v string) *CSVOutput { 4155 s.RecordDelimiter = &v 4156 return s 4157} 4158 4159// Provides options to complete a multipart upload operation. This informs Amazon 4160// Glacier that all the archive parts have been uploaded and Amazon S3 Glacier 4161// (Glacier) can now assemble the archive from the uploaded parts. After assembling 4162// and saving the archive to the vault, Glacier returns the URI path of the 4163// newly created archive resource. 4164type CompleteMultipartUploadInput struct { 4165 _ struct{} `type:"structure"` 4166 4167 // The AccountId value is the AWS account ID of the account that owns the vault. 4168 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 4169 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 4170 // credentials used to sign the request. If you use an account ID, do not include 4171 // any hyphens ('-') in the ID. 4172 // 4173 // AccountId is a required field 4174 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 4175 4176 // The total size, in bytes, of the entire archive. This value should be the 4177 // sum of all the sizes of the individual parts that you uploaded. 4178 ArchiveSize *string `location:"header" locationName:"x-amz-archive-size" type:"string"` 4179 4180 // The SHA256 tree hash of the entire archive. It is the tree hash of SHA256 4181 // tree hash of the individual parts. If the value you specify in the request 4182 // does not match the SHA256 tree hash of the final assembled archive as computed 4183 // by Amazon S3 Glacier (Glacier), Glacier returns an error and the request 4184 // fails. 4185 Checksum *string `location:"header" locationName:"x-amz-sha256-tree-hash" type:"string"` 4186 4187 // The upload ID of the multipart upload. 4188 // 4189 // UploadId is a required field 4190 UploadId *string `location:"uri" locationName:"uploadId" type:"string" required:"true"` 4191 4192 // The name of the vault. 4193 // 4194 // VaultName is a required field 4195 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 4196} 4197 4198// String returns the string representation 4199func (s CompleteMultipartUploadInput) String() string { 4200 return awsutil.Prettify(s) 4201} 4202 4203// GoString returns the string representation 4204func (s CompleteMultipartUploadInput) GoString() string { 4205 return s.String() 4206} 4207 4208// Validate inspects the fields of the type to determine if they are valid. 4209func (s *CompleteMultipartUploadInput) Validate() error { 4210 invalidParams := request.ErrInvalidParams{Context: "CompleteMultipartUploadInput"} 4211 if s.AccountId == nil { 4212 invalidParams.Add(request.NewErrParamRequired("AccountId")) 4213 } 4214 if s.AccountId != nil && len(*s.AccountId) < 1 { 4215 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 4216 } 4217 if s.UploadId == nil { 4218 invalidParams.Add(request.NewErrParamRequired("UploadId")) 4219 } 4220 if s.UploadId != nil && len(*s.UploadId) < 1 { 4221 invalidParams.Add(request.NewErrParamMinLen("UploadId", 1)) 4222 } 4223 if s.VaultName == nil { 4224 invalidParams.Add(request.NewErrParamRequired("VaultName")) 4225 } 4226 if s.VaultName != nil && len(*s.VaultName) < 1 { 4227 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 4228 } 4229 4230 if invalidParams.Len() > 0 { 4231 return invalidParams 4232 } 4233 return nil 4234} 4235 4236// SetAccountId sets the AccountId field's value. 4237func (s *CompleteMultipartUploadInput) SetAccountId(v string) *CompleteMultipartUploadInput { 4238 s.AccountId = &v 4239 return s 4240} 4241 4242// SetArchiveSize sets the ArchiveSize field's value. 4243func (s *CompleteMultipartUploadInput) SetArchiveSize(v string) *CompleteMultipartUploadInput { 4244 s.ArchiveSize = &v 4245 return s 4246} 4247 4248// SetChecksum sets the Checksum field's value. 4249func (s *CompleteMultipartUploadInput) SetChecksum(v string) *CompleteMultipartUploadInput { 4250 s.Checksum = &v 4251 return s 4252} 4253 4254// SetUploadId sets the UploadId field's value. 4255func (s *CompleteMultipartUploadInput) SetUploadId(v string) *CompleteMultipartUploadInput { 4256 s.UploadId = &v 4257 return s 4258} 4259 4260// SetVaultName sets the VaultName field's value. 4261func (s *CompleteMultipartUploadInput) SetVaultName(v string) *CompleteMultipartUploadInput { 4262 s.VaultName = &v 4263 return s 4264} 4265 4266// The input values for CompleteVaultLock. 4267type CompleteVaultLockInput struct { 4268 _ struct{} `type:"structure"` 4269 4270 // The AccountId value is the AWS account ID. This value must match the AWS 4271 // account ID associated with the credentials used to sign the request. You 4272 // can either specify an AWS account ID or optionally a single '-' (hyphen), 4273 // in which case Amazon Glacier uses the AWS account ID associated with the 4274 // credentials used to sign the request. If you specify your account ID, do 4275 // not include any hyphens ('-') in the ID. 4276 // 4277 // AccountId is a required field 4278 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 4279 4280 // The lockId value is the lock ID obtained from a InitiateVaultLock request. 4281 // 4282 // LockId is a required field 4283 LockId *string `location:"uri" locationName:"lockId" type:"string" required:"true"` 4284 4285 // The name of the vault. 4286 // 4287 // VaultName is a required field 4288 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 4289} 4290 4291// String returns the string representation 4292func (s CompleteVaultLockInput) String() string { 4293 return awsutil.Prettify(s) 4294} 4295 4296// GoString returns the string representation 4297func (s CompleteVaultLockInput) GoString() string { 4298 return s.String() 4299} 4300 4301// Validate inspects the fields of the type to determine if they are valid. 4302func (s *CompleteVaultLockInput) Validate() error { 4303 invalidParams := request.ErrInvalidParams{Context: "CompleteVaultLockInput"} 4304 if s.AccountId == nil { 4305 invalidParams.Add(request.NewErrParamRequired("AccountId")) 4306 } 4307 if s.AccountId != nil && len(*s.AccountId) < 1 { 4308 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 4309 } 4310 if s.LockId == nil { 4311 invalidParams.Add(request.NewErrParamRequired("LockId")) 4312 } 4313 if s.LockId != nil && len(*s.LockId) < 1 { 4314 invalidParams.Add(request.NewErrParamMinLen("LockId", 1)) 4315 } 4316 if s.VaultName == nil { 4317 invalidParams.Add(request.NewErrParamRequired("VaultName")) 4318 } 4319 if s.VaultName != nil && len(*s.VaultName) < 1 { 4320 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 4321 } 4322 4323 if invalidParams.Len() > 0 { 4324 return invalidParams 4325 } 4326 return nil 4327} 4328 4329// SetAccountId sets the AccountId field's value. 4330func (s *CompleteVaultLockInput) SetAccountId(v string) *CompleteVaultLockInput { 4331 s.AccountId = &v 4332 return s 4333} 4334 4335// SetLockId sets the LockId field's value. 4336func (s *CompleteVaultLockInput) SetLockId(v string) *CompleteVaultLockInput { 4337 s.LockId = &v 4338 return s 4339} 4340 4341// SetVaultName sets the VaultName field's value. 4342func (s *CompleteVaultLockInput) SetVaultName(v string) *CompleteVaultLockInput { 4343 s.VaultName = &v 4344 return s 4345} 4346 4347type CompleteVaultLockOutput struct { 4348 _ struct{} `type:"structure"` 4349} 4350 4351// String returns the string representation 4352func (s CompleteVaultLockOutput) String() string { 4353 return awsutil.Prettify(s) 4354} 4355 4356// GoString returns the string representation 4357func (s CompleteVaultLockOutput) GoString() string { 4358 return s.String() 4359} 4360 4361// Provides options to create a vault. 4362type CreateVaultInput struct { 4363 _ struct{} `type:"structure"` 4364 4365 // The AccountId value is the AWS account ID. This value must match the AWS 4366 // account ID associated with the credentials used to sign the request. You 4367 // can either specify an AWS account ID or optionally a single '-' (hyphen), 4368 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 4369 // credentials used to sign the request. If you specify your account ID, do 4370 // not include any hyphens ('-') in the ID. 4371 // 4372 // AccountId is a required field 4373 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 4374 4375 // The name of the vault. 4376 // 4377 // VaultName is a required field 4378 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 4379} 4380 4381// String returns the string representation 4382func (s CreateVaultInput) String() string { 4383 return awsutil.Prettify(s) 4384} 4385 4386// GoString returns the string representation 4387func (s CreateVaultInput) GoString() string { 4388 return s.String() 4389} 4390 4391// Validate inspects the fields of the type to determine if they are valid. 4392func (s *CreateVaultInput) Validate() error { 4393 invalidParams := request.ErrInvalidParams{Context: "CreateVaultInput"} 4394 if s.AccountId == nil { 4395 invalidParams.Add(request.NewErrParamRequired("AccountId")) 4396 } 4397 if s.AccountId != nil && len(*s.AccountId) < 1 { 4398 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 4399 } 4400 if s.VaultName == nil { 4401 invalidParams.Add(request.NewErrParamRequired("VaultName")) 4402 } 4403 if s.VaultName != nil && len(*s.VaultName) < 1 { 4404 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 4405 } 4406 4407 if invalidParams.Len() > 0 { 4408 return invalidParams 4409 } 4410 return nil 4411} 4412 4413// SetAccountId sets the AccountId field's value. 4414func (s *CreateVaultInput) SetAccountId(v string) *CreateVaultInput { 4415 s.AccountId = &v 4416 return s 4417} 4418 4419// SetVaultName sets the VaultName field's value. 4420func (s *CreateVaultInput) SetVaultName(v string) *CreateVaultInput { 4421 s.VaultName = &v 4422 return s 4423} 4424 4425// Contains the Amazon S3 Glacier response to your request. 4426type CreateVaultOutput struct { 4427 _ struct{} `type:"structure"` 4428 4429 // The URI of the vault that was created. 4430 Location *string `location:"header" locationName:"Location" type:"string"` 4431} 4432 4433// String returns the string representation 4434func (s CreateVaultOutput) String() string { 4435 return awsutil.Prettify(s) 4436} 4437 4438// GoString returns the string representation 4439func (s CreateVaultOutput) GoString() string { 4440 return s.String() 4441} 4442 4443// SetLocation sets the Location field's value. 4444func (s *CreateVaultOutput) SetLocation(v string) *CreateVaultOutput { 4445 s.Location = &v 4446 return s 4447} 4448 4449// Data retrieval policy. 4450type DataRetrievalPolicy struct { 4451 _ struct{} `type:"structure"` 4452 4453 // The policy rule. Although this is a list type, currently there must be only 4454 // one rule, which contains a Strategy field and optionally a BytesPerHour field. 4455 Rules []*DataRetrievalRule `type:"list"` 4456} 4457 4458// String returns the string representation 4459func (s DataRetrievalPolicy) String() string { 4460 return awsutil.Prettify(s) 4461} 4462 4463// GoString returns the string representation 4464func (s DataRetrievalPolicy) GoString() string { 4465 return s.String() 4466} 4467 4468// SetRules sets the Rules field's value. 4469func (s *DataRetrievalPolicy) SetRules(v []*DataRetrievalRule) *DataRetrievalPolicy { 4470 s.Rules = v 4471 return s 4472} 4473 4474// Data retrieval policy rule. 4475type DataRetrievalRule struct { 4476 _ struct{} `type:"structure"` 4477 4478 // The maximum number of bytes that can be retrieved in an hour. 4479 // 4480 // This field is required only if the value of the Strategy field is BytesPerHour. 4481 // Your PUT operation will be rejected if the Strategy field is not set to BytesPerHour 4482 // and you set this field. 4483 BytesPerHour *int64 `type:"long"` 4484 4485 // The type of data retrieval policy to set. 4486 // 4487 // Valid values: BytesPerHour|FreeTier|None 4488 Strategy *string `type:"string"` 4489} 4490 4491// String returns the string representation 4492func (s DataRetrievalRule) String() string { 4493 return awsutil.Prettify(s) 4494} 4495 4496// GoString returns the string representation 4497func (s DataRetrievalRule) GoString() string { 4498 return s.String() 4499} 4500 4501// SetBytesPerHour sets the BytesPerHour field's value. 4502func (s *DataRetrievalRule) SetBytesPerHour(v int64) *DataRetrievalRule { 4503 s.BytesPerHour = &v 4504 return s 4505} 4506 4507// SetStrategy sets the Strategy field's value. 4508func (s *DataRetrievalRule) SetStrategy(v string) *DataRetrievalRule { 4509 s.Strategy = &v 4510 return s 4511} 4512 4513// Provides options for deleting an archive from an Amazon S3 Glacier vault. 4514type DeleteArchiveInput struct { 4515 _ struct{} `type:"structure"` 4516 4517 // The AccountId value is the AWS account ID of the account that owns the vault. 4518 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 4519 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 4520 // credentials used to sign the request. If you use an account ID, do not include 4521 // any hyphens ('-') in the ID. 4522 // 4523 // AccountId is a required field 4524 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 4525 4526 // The ID of the archive to delete. 4527 // 4528 // ArchiveId is a required field 4529 ArchiveId *string `location:"uri" locationName:"archiveId" type:"string" required:"true"` 4530 4531 // The name of the vault. 4532 // 4533 // VaultName is a required field 4534 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 4535} 4536 4537// String returns the string representation 4538func (s DeleteArchiveInput) String() string { 4539 return awsutil.Prettify(s) 4540} 4541 4542// GoString returns the string representation 4543func (s DeleteArchiveInput) GoString() string { 4544 return s.String() 4545} 4546 4547// Validate inspects the fields of the type to determine if they are valid. 4548func (s *DeleteArchiveInput) Validate() error { 4549 invalidParams := request.ErrInvalidParams{Context: "DeleteArchiveInput"} 4550 if s.AccountId == nil { 4551 invalidParams.Add(request.NewErrParamRequired("AccountId")) 4552 } 4553 if s.AccountId != nil && len(*s.AccountId) < 1 { 4554 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 4555 } 4556 if s.ArchiveId == nil { 4557 invalidParams.Add(request.NewErrParamRequired("ArchiveId")) 4558 } 4559 if s.ArchiveId != nil && len(*s.ArchiveId) < 1 { 4560 invalidParams.Add(request.NewErrParamMinLen("ArchiveId", 1)) 4561 } 4562 if s.VaultName == nil { 4563 invalidParams.Add(request.NewErrParamRequired("VaultName")) 4564 } 4565 if s.VaultName != nil && len(*s.VaultName) < 1 { 4566 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 4567 } 4568 4569 if invalidParams.Len() > 0 { 4570 return invalidParams 4571 } 4572 return nil 4573} 4574 4575// SetAccountId sets the AccountId field's value. 4576func (s *DeleteArchiveInput) SetAccountId(v string) *DeleteArchiveInput { 4577 s.AccountId = &v 4578 return s 4579} 4580 4581// SetArchiveId sets the ArchiveId field's value. 4582func (s *DeleteArchiveInput) SetArchiveId(v string) *DeleteArchiveInput { 4583 s.ArchiveId = &v 4584 return s 4585} 4586 4587// SetVaultName sets the VaultName field's value. 4588func (s *DeleteArchiveInput) SetVaultName(v string) *DeleteArchiveInput { 4589 s.VaultName = &v 4590 return s 4591} 4592 4593type DeleteArchiveOutput struct { 4594 _ struct{} `type:"structure"` 4595} 4596 4597// String returns the string representation 4598func (s DeleteArchiveOutput) String() string { 4599 return awsutil.Prettify(s) 4600} 4601 4602// GoString returns the string representation 4603func (s DeleteArchiveOutput) GoString() string { 4604 return s.String() 4605} 4606 4607// DeleteVaultAccessPolicy input. 4608type DeleteVaultAccessPolicyInput struct { 4609 _ struct{} `type:"structure"` 4610 4611 // The AccountId value is the AWS account ID of the account that owns the vault. 4612 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 4613 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 4614 // credentials used to sign the request. If you use an account ID, do not include 4615 // any hyphens ('-') in the ID. 4616 // 4617 // AccountId is a required field 4618 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 4619 4620 // The name of the vault. 4621 // 4622 // VaultName is a required field 4623 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 4624} 4625 4626// String returns the string representation 4627func (s DeleteVaultAccessPolicyInput) String() string { 4628 return awsutil.Prettify(s) 4629} 4630 4631// GoString returns the string representation 4632func (s DeleteVaultAccessPolicyInput) GoString() string { 4633 return s.String() 4634} 4635 4636// Validate inspects the fields of the type to determine if they are valid. 4637func (s *DeleteVaultAccessPolicyInput) Validate() error { 4638 invalidParams := request.ErrInvalidParams{Context: "DeleteVaultAccessPolicyInput"} 4639 if s.AccountId == nil { 4640 invalidParams.Add(request.NewErrParamRequired("AccountId")) 4641 } 4642 if s.AccountId != nil && len(*s.AccountId) < 1 { 4643 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 4644 } 4645 if s.VaultName == nil { 4646 invalidParams.Add(request.NewErrParamRequired("VaultName")) 4647 } 4648 if s.VaultName != nil && len(*s.VaultName) < 1 { 4649 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 4650 } 4651 4652 if invalidParams.Len() > 0 { 4653 return invalidParams 4654 } 4655 return nil 4656} 4657 4658// SetAccountId sets the AccountId field's value. 4659func (s *DeleteVaultAccessPolicyInput) SetAccountId(v string) *DeleteVaultAccessPolicyInput { 4660 s.AccountId = &v 4661 return s 4662} 4663 4664// SetVaultName sets the VaultName field's value. 4665func (s *DeleteVaultAccessPolicyInput) SetVaultName(v string) *DeleteVaultAccessPolicyInput { 4666 s.VaultName = &v 4667 return s 4668} 4669 4670type DeleteVaultAccessPolicyOutput struct { 4671 _ struct{} `type:"structure"` 4672} 4673 4674// String returns the string representation 4675func (s DeleteVaultAccessPolicyOutput) String() string { 4676 return awsutil.Prettify(s) 4677} 4678 4679// GoString returns the string representation 4680func (s DeleteVaultAccessPolicyOutput) GoString() string { 4681 return s.String() 4682} 4683 4684// Provides options for deleting a vault from Amazon S3 Glacier. 4685type DeleteVaultInput struct { 4686 _ struct{} `type:"structure"` 4687 4688 // The AccountId value is the AWS account ID of the account that owns the vault. 4689 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 4690 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 4691 // credentials used to sign the request. If you use an account ID, do not include 4692 // any hyphens ('-') in the ID. 4693 // 4694 // AccountId is a required field 4695 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 4696 4697 // The name of the vault. 4698 // 4699 // VaultName is a required field 4700 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 4701} 4702 4703// String returns the string representation 4704func (s DeleteVaultInput) String() string { 4705 return awsutil.Prettify(s) 4706} 4707 4708// GoString returns the string representation 4709func (s DeleteVaultInput) GoString() string { 4710 return s.String() 4711} 4712 4713// Validate inspects the fields of the type to determine if they are valid. 4714func (s *DeleteVaultInput) Validate() error { 4715 invalidParams := request.ErrInvalidParams{Context: "DeleteVaultInput"} 4716 if s.AccountId == nil { 4717 invalidParams.Add(request.NewErrParamRequired("AccountId")) 4718 } 4719 if s.AccountId != nil && len(*s.AccountId) < 1 { 4720 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 4721 } 4722 if s.VaultName == nil { 4723 invalidParams.Add(request.NewErrParamRequired("VaultName")) 4724 } 4725 if s.VaultName != nil && len(*s.VaultName) < 1 { 4726 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 4727 } 4728 4729 if invalidParams.Len() > 0 { 4730 return invalidParams 4731 } 4732 return nil 4733} 4734 4735// SetAccountId sets the AccountId field's value. 4736func (s *DeleteVaultInput) SetAccountId(v string) *DeleteVaultInput { 4737 s.AccountId = &v 4738 return s 4739} 4740 4741// SetVaultName sets the VaultName field's value. 4742func (s *DeleteVaultInput) SetVaultName(v string) *DeleteVaultInput { 4743 s.VaultName = &v 4744 return s 4745} 4746 4747// Provides options for deleting a vault notification configuration from an 4748// Amazon Glacier vault. 4749type DeleteVaultNotificationsInput struct { 4750 _ struct{} `type:"structure"` 4751 4752 // The AccountId value is the AWS account ID of the account that owns the vault. 4753 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 4754 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 4755 // credentials used to sign the request. If you use an account ID, do not include 4756 // any hyphens ('-') in the ID. 4757 // 4758 // AccountId is a required field 4759 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 4760 4761 // The name of the vault. 4762 // 4763 // VaultName is a required field 4764 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 4765} 4766 4767// String returns the string representation 4768func (s DeleteVaultNotificationsInput) String() string { 4769 return awsutil.Prettify(s) 4770} 4771 4772// GoString returns the string representation 4773func (s DeleteVaultNotificationsInput) GoString() string { 4774 return s.String() 4775} 4776 4777// Validate inspects the fields of the type to determine if they are valid. 4778func (s *DeleteVaultNotificationsInput) Validate() error { 4779 invalidParams := request.ErrInvalidParams{Context: "DeleteVaultNotificationsInput"} 4780 if s.AccountId == nil { 4781 invalidParams.Add(request.NewErrParamRequired("AccountId")) 4782 } 4783 if s.AccountId != nil && len(*s.AccountId) < 1 { 4784 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 4785 } 4786 if s.VaultName == nil { 4787 invalidParams.Add(request.NewErrParamRequired("VaultName")) 4788 } 4789 if s.VaultName != nil && len(*s.VaultName) < 1 { 4790 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 4791 } 4792 4793 if invalidParams.Len() > 0 { 4794 return invalidParams 4795 } 4796 return nil 4797} 4798 4799// SetAccountId sets the AccountId field's value. 4800func (s *DeleteVaultNotificationsInput) SetAccountId(v string) *DeleteVaultNotificationsInput { 4801 s.AccountId = &v 4802 return s 4803} 4804 4805// SetVaultName sets the VaultName field's value. 4806func (s *DeleteVaultNotificationsInput) SetVaultName(v string) *DeleteVaultNotificationsInput { 4807 s.VaultName = &v 4808 return s 4809} 4810 4811type DeleteVaultNotificationsOutput struct { 4812 _ struct{} `type:"structure"` 4813} 4814 4815// String returns the string representation 4816func (s DeleteVaultNotificationsOutput) String() string { 4817 return awsutil.Prettify(s) 4818} 4819 4820// GoString returns the string representation 4821func (s DeleteVaultNotificationsOutput) GoString() string { 4822 return s.String() 4823} 4824 4825type DeleteVaultOutput struct { 4826 _ struct{} `type:"structure"` 4827} 4828 4829// String returns the string representation 4830func (s DeleteVaultOutput) String() string { 4831 return awsutil.Prettify(s) 4832} 4833 4834// GoString returns the string representation 4835func (s DeleteVaultOutput) GoString() string { 4836 return s.String() 4837} 4838 4839// Provides options for retrieving a job description. 4840type DescribeJobInput struct { 4841 _ struct{} `type:"structure"` 4842 4843 // The AccountId value is the AWS account ID of the account that owns the vault. 4844 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 4845 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 4846 // credentials used to sign the request. If you use an account ID, do not include 4847 // any hyphens ('-') in the ID. 4848 // 4849 // AccountId is a required field 4850 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 4851 4852 // The ID of the job to describe. 4853 // 4854 // JobId is a required field 4855 JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"` 4856 4857 // The name of the vault. 4858 // 4859 // VaultName is a required field 4860 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 4861} 4862 4863// String returns the string representation 4864func (s DescribeJobInput) String() string { 4865 return awsutil.Prettify(s) 4866} 4867 4868// GoString returns the string representation 4869func (s DescribeJobInput) GoString() string { 4870 return s.String() 4871} 4872 4873// Validate inspects the fields of the type to determine if they are valid. 4874func (s *DescribeJobInput) Validate() error { 4875 invalidParams := request.ErrInvalidParams{Context: "DescribeJobInput"} 4876 if s.AccountId == nil { 4877 invalidParams.Add(request.NewErrParamRequired("AccountId")) 4878 } 4879 if s.AccountId != nil && len(*s.AccountId) < 1 { 4880 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 4881 } 4882 if s.JobId == nil { 4883 invalidParams.Add(request.NewErrParamRequired("JobId")) 4884 } 4885 if s.JobId != nil && len(*s.JobId) < 1 { 4886 invalidParams.Add(request.NewErrParamMinLen("JobId", 1)) 4887 } 4888 if s.VaultName == nil { 4889 invalidParams.Add(request.NewErrParamRequired("VaultName")) 4890 } 4891 if s.VaultName != nil && len(*s.VaultName) < 1 { 4892 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 4893 } 4894 4895 if invalidParams.Len() > 0 { 4896 return invalidParams 4897 } 4898 return nil 4899} 4900 4901// SetAccountId sets the AccountId field's value. 4902func (s *DescribeJobInput) SetAccountId(v string) *DescribeJobInput { 4903 s.AccountId = &v 4904 return s 4905} 4906 4907// SetJobId sets the JobId field's value. 4908func (s *DescribeJobInput) SetJobId(v string) *DescribeJobInput { 4909 s.JobId = &v 4910 return s 4911} 4912 4913// SetVaultName sets the VaultName field's value. 4914func (s *DescribeJobInput) SetVaultName(v string) *DescribeJobInput { 4915 s.VaultName = &v 4916 return s 4917} 4918 4919// Provides options for retrieving metadata for a specific vault in Amazon Glacier. 4920type DescribeVaultInput struct { 4921 _ struct{} `type:"structure"` 4922 4923 // The AccountId value is the AWS account ID of the account that owns the vault. 4924 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 4925 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 4926 // credentials used to sign the request. If you use an account ID, do not include 4927 // any hyphens ('-') in the ID. 4928 // 4929 // AccountId is a required field 4930 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 4931 4932 // The name of the vault. 4933 // 4934 // VaultName is a required field 4935 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 4936} 4937 4938// String returns the string representation 4939func (s DescribeVaultInput) String() string { 4940 return awsutil.Prettify(s) 4941} 4942 4943// GoString returns the string representation 4944func (s DescribeVaultInput) GoString() string { 4945 return s.String() 4946} 4947 4948// Validate inspects the fields of the type to determine if they are valid. 4949func (s *DescribeVaultInput) Validate() error { 4950 invalidParams := request.ErrInvalidParams{Context: "DescribeVaultInput"} 4951 if s.AccountId == nil { 4952 invalidParams.Add(request.NewErrParamRequired("AccountId")) 4953 } 4954 if s.AccountId != nil && len(*s.AccountId) < 1 { 4955 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 4956 } 4957 if s.VaultName == nil { 4958 invalidParams.Add(request.NewErrParamRequired("VaultName")) 4959 } 4960 if s.VaultName != nil && len(*s.VaultName) < 1 { 4961 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 4962 } 4963 4964 if invalidParams.Len() > 0 { 4965 return invalidParams 4966 } 4967 return nil 4968} 4969 4970// SetAccountId sets the AccountId field's value. 4971func (s *DescribeVaultInput) SetAccountId(v string) *DescribeVaultInput { 4972 s.AccountId = &v 4973 return s 4974} 4975 4976// SetVaultName sets the VaultName field's value. 4977func (s *DescribeVaultInput) SetVaultName(v string) *DescribeVaultInput { 4978 s.VaultName = &v 4979 return s 4980} 4981 4982// Contains the Amazon S3 Glacier response to your request. 4983type DescribeVaultOutput struct { 4984 _ struct{} `type:"structure"` 4985 4986 // The Universal Coordinated Time (UTC) date when the vault was created. This 4987 // value should be a string in the ISO 8601 date format, for example 2012-03-20T17:03:43.221Z. 4988 CreationDate *string `type:"string"` 4989 4990 // The Universal Coordinated Time (UTC) date when Amazon S3 Glacier completed 4991 // the last vault inventory. This value should be a string in the ISO 8601 date 4992 // format, for example 2012-03-20T17:03:43.221Z. 4993 LastInventoryDate *string `type:"string"` 4994 4995 // The number of archives in the vault as of the last inventory date. This field 4996 // will return null if an inventory has not yet run on the vault, for example 4997 // if you just created the vault. 4998 NumberOfArchives *int64 `type:"long"` 4999 5000 // Total size, in bytes, of the archives in the vault as of the last inventory 5001 // date. This field will return null if an inventory has not yet run on the 5002 // vault, for example if you just created the vault. 5003 SizeInBytes *int64 `type:"long"` 5004 5005 // The Amazon Resource Name (ARN) of the vault. 5006 VaultARN *string `type:"string"` 5007 5008 // The name of the vault. 5009 VaultName *string `type:"string"` 5010} 5011 5012// String returns the string representation 5013func (s DescribeVaultOutput) String() string { 5014 return awsutil.Prettify(s) 5015} 5016 5017// GoString returns the string representation 5018func (s DescribeVaultOutput) GoString() string { 5019 return s.String() 5020} 5021 5022// SetCreationDate sets the CreationDate field's value. 5023func (s *DescribeVaultOutput) SetCreationDate(v string) *DescribeVaultOutput { 5024 s.CreationDate = &v 5025 return s 5026} 5027 5028// SetLastInventoryDate sets the LastInventoryDate field's value. 5029func (s *DescribeVaultOutput) SetLastInventoryDate(v string) *DescribeVaultOutput { 5030 s.LastInventoryDate = &v 5031 return s 5032} 5033 5034// SetNumberOfArchives sets the NumberOfArchives field's value. 5035func (s *DescribeVaultOutput) SetNumberOfArchives(v int64) *DescribeVaultOutput { 5036 s.NumberOfArchives = &v 5037 return s 5038} 5039 5040// SetSizeInBytes sets the SizeInBytes field's value. 5041func (s *DescribeVaultOutput) SetSizeInBytes(v int64) *DescribeVaultOutput { 5042 s.SizeInBytes = &v 5043 return s 5044} 5045 5046// SetVaultARN sets the VaultARN field's value. 5047func (s *DescribeVaultOutput) SetVaultARN(v string) *DescribeVaultOutput { 5048 s.VaultARN = &v 5049 return s 5050} 5051 5052// SetVaultName sets the VaultName field's value. 5053func (s *DescribeVaultOutput) SetVaultName(v string) *DescribeVaultOutput { 5054 s.VaultName = &v 5055 return s 5056} 5057 5058// Contains information about the encryption used to store the job results in 5059// Amazon S3. 5060type Encryption struct { 5061 _ struct{} `type:"structure"` 5062 5063 // The server-side encryption algorithm used when storing job results in Amazon 5064 // S3, for example AES256 or aws:kms. 5065 EncryptionType *string `type:"string" enum:"EncryptionType"` 5066 5067 // Optional. If the encryption type is aws:kms, you can use this value to specify 5068 // the encryption context for the job results. 5069 KMSContext *string `type:"string"` 5070 5071 // The AWS KMS key ID to use for object encryption. All GET and PUT requests 5072 // for an object protected by AWS KMS fail if not made by using Secure Sockets 5073 // Layer (SSL) or Signature Version 4. 5074 KMSKeyId *string `type:"string"` 5075} 5076 5077// String returns the string representation 5078func (s Encryption) String() string { 5079 return awsutil.Prettify(s) 5080} 5081 5082// GoString returns the string representation 5083func (s Encryption) GoString() string { 5084 return s.String() 5085} 5086 5087// SetEncryptionType sets the EncryptionType field's value. 5088func (s *Encryption) SetEncryptionType(v string) *Encryption { 5089 s.EncryptionType = &v 5090 return s 5091} 5092 5093// SetKMSContext sets the KMSContext field's value. 5094func (s *Encryption) SetKMSContext(v string) *Encryption { 5095 s.KMSContext = &v 5096 return s 5097} 5098 5099// SetKMSKeyId sets the KMSKeyId field's value. 5100func (s *Encryption) SetKMSKeyId(v string) *Encryption { 5101 s.KMSKeyId = &v 5102 return s 5103} 5104 5105// Input for GetDataRetrievalPolicy. 5106type GetDataRetrievalPolicyInput struct { 5107 _ struct{} `type:"structure"` 5108 5109 // The AccountId value is the AWS account ID. This value must match the AWS 5110 // account ID associated with the credentials used to sign the request. You 5111 // can either specify an AWS account ID or optionally a single '-' (hyphen), 5112 // in which case Amazon Glacier uses the AWS account ID associated with the 5113 // credentials used to sign the request. If you specify your account ID, do 5114 // not include any hyphens ('-') in the ID. 5115 // 5116 // AccountId is a required field 5117 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 5118} 5119 5120// String returns the string representation 5121func (s GetDataRetrievalPolicyInput) String() string { 5122 return awsutil.Prettify(s) 5123} 5124 5125// GoString returns the string representation 5126func (s GetDataRetrievalPolicyInput) GoString() string { 5127 return s.String() 5128} 5129 5130// Validate inspects the fields of the type to determine if they are valid. 5131func (s *GetDataRetrievalPolicyInput) Validate() error { 5132 invalidParams := request.ErrInvalidParams{Context: "GetDataRetrievalPolicyInput"} 5133 if s.AccountId == nil { 5134 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5135 } 5136 if s.AccountId != nil && len(*s.AccountId) < 1 { 5137 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 5138 } 5139 5140 if invalidParams.Len() > 0 { 5141 return invalidParams 5142 } 5143 return nil 5144} 5145 5146// SetAccountId sets the AccountId field's value. 5147func (s *GetDataRetrievalPolicyInput) SetAccountId(v string) *GetDataRetrievalPolicyInput { 5148 s.AccountId = &v 5149 return s 5150} 5151 5152// Contains the Amazon S3 Glacier response to the GetDataRetrievalPolicy request. 5153type GetDataRetrievalPolicyOutput struct { 5154 _ struct{} `type:"structure"` 5155 5156 // Contains the returned data retrieval policy in JSON format. 5157 Policy *DataRetrievalPolicy `type:"structure"` 5158} 5159 5160// String returns the string representation 5161func (s GetDataRetrievalPolicyOutput) String() string { 5162 return awsutil.Prettify(s) 5163} 5164 5165// GoString returns the string representation 5166func (s GetDataRetrievalPolicyOutput) GoString() string { 5167 return s.String() 5168} 5169 5170// SetPolicy sets the Policy field's value. 5171func (s *GetDataRetrievalPolicyOutput) SetPolicy(v *DataRetrievalPolicy) *GetDataRetrievalPolicyOutput { 5172 s.Policy = v 5173 return s 5174} 5175 5176// Provides options for downloading output of an Amazon S3 Glacier job. 5177type GetJobOutputInput struct { 5178 _ struct{} `type:"structure"` 5179 5180 // The AccountId value is the AWS account ID of the account that owns the vault. 5181 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 5182 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 5183 // credentials used to sign the request. If you use an account ID, do not include 5184 // any hyphens ('-') in the ID. 5185 // 5186 // AccountId is a required field 5187 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 5188 5189 // The job ID whose data is downloaded. 5190 // 5191 // JobId is a required field 5192 JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"` 5193 5194 // The range of bytes to retrieve from the output. For example, if you want 5195 // to download the first 1,048,576 bytes, specify the range as bytes=0-1048575. 5196 // By default, this operation downloads the entire output. 5197 // 5198 // If the job output is large, then you can use a range to retrieve a portion 5199 // of the output. This allows you to download the entire output in smaller chunks 5200 // of bytes. For example, suppose you have 1 GB of job output you want to download 5201 // and you decide to download 128 MB chunks of data at a time, which is a total 5202 // of eight Get Job Output requests. You use the following process to download 5203 // the job output: 5204 // 5205 // Download a 128 MB chunk of output by specifying the appropriate byte range. 5206 // Verify that all 128 MB of data was received. 5207 // 5208 // Along with the data, the response includes a SHA256 tree hash of the payload. 5209 // You compute the checksum of the payload on the client and compare it with 5210 // the checksum you received in the response to ensure you received all the 5211 // expected data. 5212 // 5213 // Repeat steps 1 and 2 for all the eight 128 MB chunks of output data, each 5214 // time specifying the appropriate byte range. 5215 // 5216 // After downloading all the parts of the job output, you have a list of eight 5217 // checksum values. Compute the tree hash of these values to find the checksum 5218 // of the entire output. Using the DescribeJob API, obtain job information of 5219 // the job that provided you the output. The response includes the checksum 5220 // of the entire archive stored in Amazon S3 Glacier. You compare this value 5221 // with the checksum you computed to ensure you have downloaded the entire archive 5222 // content with no errors. 5223 Range *string `location:"header" locationName:"Range" type:"string"` 5224 5225 // The name of the vault. 5226 // 5227 // VaultName is a required field 5228 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 5229} 5230 5231// String returns the string representation 5232func (s GetJobOutputInput) String() string { 5233 return awsutil.Prettify(s) 5234} 5235 5236// GoString returns the string representation 5237func (s GetJobOutputInput) GoString() string { 5238 return s.String() 5239} 5240 5241// Validate inspects the fields of the type to determine if they are valid. 5242func (s *GetJobOutputInput) Validate() error { 5243 invalidParams := request.ErrInvalidParams{Context: "GetJobOutputInput"} 5244 if s.AccountId == nil { 5245 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5246 } 5247 if s.AccountId != nil && len(*s.AccountId) < 1 { 5248 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 5249 } 5250 if s.JobId == nil { 5251 invalidParams.Add(request.NewErrParamRequired("JobId")) 5252 } 5253 if s.JobId != nil && len(*s.JobId) < 1 { 5254 invalidParams.Add(request.NewErrParamMinLen("JobId", 1)) 5255 } 5256 if s.VaultName == nil { 5257 invalidParams.Add(request.NewErrParamRequired("VaultName")) 5258 } 5259 if s.VaultName != nil && len(*s.VaultName) < 1 { 5260 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 5261 } 5262 5263 if invalidParams.Len() > 0 { 5264 return invalidParams 5265 } 5266 return nil 5267} 5268 5269// SetAccountId sets the AccountId field's value. 5270func (s *GetJobOutputInput) SetAccountId(v string) *GetJobOutputInput { 5271 s.AccountId = &v 5272 return s 5273} 5274 5275// SetJobId sets the JobId field's value. 5276func (s *GetJobOutputInput) SetJobId(v string) *GetJobOutputInput { 5277 s.JobId = &v 5278 return s 5279} 5280 5281// SetRange sets the Range field's value. 5282func (s *GetJobOutputInput) SetRange(v string) *GetJobOutputInput { 5283 s.Range = &v 5284 return s 5285} 5286 5287// SetVaultName sets the VaultName field's value. 5288func (s *GetJobOutputInput) SetVaultName(v string) *GetJobOutputInput { 5289 s.VaultName = &v 5290 return s 5291} 5292 5293// Contains the Amazon S3 Glacier response to your request. 5294type GetJobOutputOutput struct { 5295 _ struct{} `type:"structure" payload:"Body"` 5296 5297 // Indicates the range units accepted. For more information, see RFC2616 (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). 5298 AcceptRanges *string `location:"header" locationName:"Accept-Ranges" type:"string"` 5299 5300 // The description of an archive. 5301 ArchiveDescription *string `location:"header" locationName:"x-amz-archive-description" type:"string"` 5302 5303 // The job data, either archive data or inventory data. 5304 Body io.ReadCloser `locationName:"body" type:"blob"` 5305 5306 // The checksum of the data in the response. This header is returned only when 5307 // retrieving the output for an archive retrieval job. Furthermore, this header 5308 // appears only under the following conditions: 5309 // 5310 // * You get the entire range of the archive. 5311 // 5312 // * You request a range to return of the archive that starts and ends on 5313 // a multiple of 1 MB. For example, if you have an 3.1 MB archive and you 5314 // specify a range to return that starts at 1 MB and ends at 2 MB, then the 5315 // x-amz-sha256-tree-hash is returned as a response header. 5316 // 5317 // * You request a range of the archive to return that starts on a multiple 5318 // of 1 MB and goes to the end of the archive. For example, if you have a 5319 // 3.1 MB archive and you specify a range that starts at 2 MB and ends at 5320 // 3.1 MB (the end of the archive), then the x-amz-sha256-tree-hash is returned 5321 // as a response header. 5322 Checksum *string `location:"header" locationName:"x-amz-sha256-tree-hash" type:"string"` 5323 5324 // The range of bytes returned by Amazon S3 Glacier. If only partial output 5325 // is downloaded, the response provides the range of bytes Amazon S3 Glacier 5326 // returned. For example, bytes 0-1048575/8388608 returns the first 1 MB from 5327 // 8 MB. 5328 ContentRange *string `location:"header" locationName:"Content-Range" type:"string"` 5329 5330 // The Content-Type depends on whether the job output is an archive or a vault 5331 // inventory. For archive data, the Content-Type is application/octet-stream. 5332 // For vault inventory, if you requested CSV format when you initiated the job, 5333 // the Content-Type is text/csv. Otherwise, by default, vault inventory is returned 5334 // as JSON, and the Content-Type is application/json. 5335 ContentType *string `location:"header" locationName:"Content-Type" type:"string"` 5336 5337 // The HTTP response code for a job output request. The value depends on whether 5338 // a range was specified in the request. 5339 Status *int64 `location:"statusCode" locationName:"status" type:"integer"` 5340} 5341 5342// String returns the string representation 5343func (s GetJobOutputOutput) String() string { 5344 return awsutil.Prettify(s) 5345} 5346 5347// GoString returns the string representation 5348func (s GetJobOutputOutput) GoString() string { 5349 return s.String() 5350} 5351 5352// SetAcceptRanges sets the AcceptRanges field's value. 5353func (s *GetJobOutputOutput) SetAcceptRanges(v string) *GetJobOutputOutput { 5354 s.AcceptRanges = &v 5355 return s 5356} 5357 5358// SetArchiveDescription sets the ArchiveDescription field's value. 5359func (s *GetJobOutputOutput) SetArchiveDescription(v string) *GetJobOutputOutput { 5360 s.ArchiveDescription = &v 5361 return s 5362} 5363 5364// SetBody sets the Body field's value. 5365func (s *GetJobOutputOutput) SetBody(v io.ReadCloser) *GetJobOutputOutput { 5366 s.Body = v 5367 return s 5368} 5369 5370// SetChecksum sets the Checksum field's value. 5371func (s *GetJobOutputOutput) SetChecksum(v string) *GetJobOutputOutput { 5372 s.Checksum = &v 5373 return s 5374} 5375 5376// SetContentRange sets the ContentRange field's value. 5377func (s *GetJobOutputOutput) SetContentRange(v string) *GetJobOutputOutput { 5378 s.ContentRange = &v 5379 return s 5380} 5381 5382// SetContentType sets the ContentType field's value. 5383func (s *GetJobOutputOutput) SetContentType(v string) *GetJobOutputOutput { 5384 s.ContentType = &v 5385 return s 5386} 5387 5388// SetStatus sets the Status field's value. 5389func (s *GetJobOutputOutput) SetStatus(v int64) *GetJobOutputOutput { 5390 s.Status = &v 5391 return s 5392} 5393 5394// Input for GetVaultAccessPolicy. 5395type GetVaultAccessPolicyInput struct { 5396 _ struct{} `type:"structure"` 5397 5398 // The AccountId value is the AWS account ID of the account that owns the vault. 5399 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 5400 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 5401 // credentials used to sign the request. If you use an account ID, do not include 5402 // any hyphens ('-') in the ID. 5403 // 5404 // AccountId is a required field 5405 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 5406 5407 // The name of the vault. 5408 // 5409 // VaultName is a required field 5410 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 5411} 5412 5413// String returns the string representation 5414func (s GetVaultAccessPolicyInput) String() string { 5415 return awsutil.Prettify(s) 5416} 5417 5418// GoString returns the string representation 5419func (s GetVaultAccessPolicyInput) GoString() string { 5420 return s.String() 5421} 5422 5423// Validate inspects the fields of the type to determine if they are valid. 5424func (s *GetVaultAccessPolicyInput) Validate() error { 5425 invalidParams := request.ErrInvalidParams{Context: "GetVaultAccessPolicyInput"} 5426 if s.AccountId == nil { 5427 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5428 } 5429 if s.AccountId != nil && len(*s.AccountId) < 1 { 5430 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 5431 } 5432 if s.VaultName == nil { 5433 invalidParams.Add(request.NewErrParamRequired("VaultName")) 5434 } 5435 if s.VaultName != nil && len(*s.VaultName) < 1 { 5436 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 5437 } 5438 5439 if invalidParams.Len() > 0 { 5440 return invalidParams 5441 } 5442 return nil 5443} 5444 5445// SetAccountId sets the AccountId field's value. 5446func (s *GetVaultAccessPolicyInput) SetAccountId(v string) *GetVaultAccessPolicyInput { 5447 s.AccountId = &v 5448 return s 5449} 5450 5451// SetVaultName sets the VaultName field's value. 5452func (s *GetVaultAccessPolicyInput) SetVaultName(v string) *GetVaultAccessPolicyInput { 5453 s.VaultName = &v 5454 return s 5455} 5456 5457// Output for GetVaultAccessPolicy. 5458type GetVaultAccessPolicyOutput struct { 5459 _ struct{} `type:"structure" payload:"Policy"` 5460 5461 // Contains the returned vault access policy as a JSON string. 5462 Policy *VaultAccessPolicy `locationName:"policy" type:"structure"` 5463} 5464 5465// String returns the string representation 5466func (s GetVaultAccessPolicyOutput) String() string { 5467 return awsutil.Prettify(s) 5468} 5469 5470// GoString returns the string representation 5471func (s GetVaultAccessPolicyOutput) GoString() string { 5472 return s.String() 5473} 5474 5475// SetPolicy sets the Policy field's value. 5476func (s *GetVaultAccessPolicyOutput) SetPolicy(v *VaultAccessPolicy) *GetVaultAccessPolicyOutput { 5477 s.Policy = v 5478 return s 5479} 5480 5481// The input values for GetVaultLock. 5482type GetVaultLockInput struct { 5483 _ struct{} `type:"structure"` 5484 5485 // The AccountId value is the AWS account ID of the account that owns the vault. 5486 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 5487 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 5488 // credentials used to sign the request. If you use an account ID, do not include 5489 // any hyphens ('-') in the ID. 5490 // 5491 // AccountId is a required field 5492 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 5493 5494 // The name of the vault. 5495 // 5496 // VaultName is a required field 5497 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 5498} 5499 5500// String returns the string representation 5501func (s GetVaultLockInput) String() string { 5502 return awsutil.Prettify(s) 5503} 5504 5505// GoString returns the string representation 5506func (s GetVaultLockInput) GoString() string { 5507 return s.String() 5508} 5509 5510// Validate inspects the fields of the type to determine if they are valid. 5511func (s *GetVaultLockInput) Validate() error { 5512 invalidParams := request.ErrInvalidParams{Context: "GetVaultLockInput"} 5513 if s.AccountId == nil { 5514 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5515 } 5516 if s.AccountId != nil && len(*s.AccountId) < 1 { 5517 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 5518 } 5519 if s.VaultName == nil { 5520 invalidParams.Add(request.NewErrParamRequired("VaultName")) 5521 } 5522 if s.VaultName != nil && len(*s.VaultName) < 1 { 5523 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 5524 } 5525 5526 if invalidParams.Len() > 0 { 5527 return invalidParams 5528 } 5529 return nil 5530} 5531 5532// SetAccountId sets the AccountId field's value. 5533func (s *GetVaultLockInput) SetAccountId(v string) *GetVaultLockInput { 5534 s.AccountId = &v 5535 return s 5536} 5537 5538// SetVaultName sets the VaultName field's value. 5539func (s *GetVaultLockInput) SetVaultName(v string) *GetVaultLockInput { 5540 s.VaultName = &v 5541 return s 5542} 5543 5544// Contains the Amazon S3 Glacier response to your request. 5545type GetVaultLockOutput struct { 5546 _ struct{} `type:"structure"` 5547 5548 // The UTC date and time at which the vault lock was put into the InProgress 5549 // state. 5550 CreationDate *string `type:"string"` 5551 5552 // The UTC date and time at which the lock ID expires. This value can be null 5553 // if the vault lock is in a Locked state. 5554 ExpirationDate *string `type:"string"` 5555 5556 // The vault lock policy as a JSON string, which uses "\" as an escape character. 5557 Policy *string `type:"string"` 5558 5559 // The state of the vault lock. InProgress or Locked. 5560 State *string `type:"string"` 5561} 5562 5563// String returns the string representation 5564func (s GetVaultLockOutput) String() string { 5565 return awsutil.Prettify(s) 5566} 5567 5568// GoString returns the string representation 5569func (s GetVaultLockOutput) GoString() string { 5570 return s.String() 5571} 5572 5573// SetCreationDate sets the CreationDate field's value. 5574func (s *GetVaultLockOutput) SetCreationDate(v string) *GetVaultLockOutput { 5575 s.CreationDate = &v 5576 return s 5577} 5578 5579// SetExpirationDate sets the ExpirationDate field's value. 5580func (s *GetVaultLockOutput) SetExpirationDate(v string) *GetVaultLockOutput { 5581 s.ExpirationDate = &v 5582 return s 5583} 5584 5585// SetPolicy sets the Policy field's value. 5586func (s *GetVaultLockOutput) SetPolicy(v string) *GetVaultLockOutput { 5587 s.Policy = &v 5588 return s 5589} 5590 5591// SetState sets the State field's value. 5592func (s *GetVaultLockOutput) SetState(v string) *GetVaultLockOutput { 5593 s.State = &v 5594 return s 5595} 5596 5597// Provides options for retrieving the notification configuration set on an 5598// Amazon Glacier vault. 5599type GetVaultNotificationsInput struct { 5600 _ struct{} `type:"structure"` 5601 5602 // The AccountId value is the AWS account ID of the account that owns the vault. 5603 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 5604 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 5605 // credentials used to sign the request. If you use an account ID, do not include 5606 // any hyphens ('-') in the ID. 5607 // 5608 // AccountId is a required field 5609 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 5610 5611 // The name of the vault. 5612 // 5613 // VaultName is a required field 5614 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 5615} 5616 5617// String returns the string representation 5618func (s GetVaultNotificationsInput) String() string { 5619 return awsutil.Prettify(s) 5620} 5621 5622// GoString returns the string representation 5623func (s GetVaultNotificationsInput) GoString() string { 5624 return s.String() 5625} 5626 5627// Validate inspects the fields of the type to determine if they are valid. 5628func (s *GetVaultNotificationsInput) Validate() error { 5629 invalidParams := request.ErrInvalidParams{Context: "GetVaultNotificationsInput"} 5630 if s.AccountId == nil { 5631 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5632 } 5633 if s.AccountId != nil && len(*s.AccountId) < 1 { 5634 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 5635 } 5636 if s.VaultName == nil { 5637 invalidParams.Add(request.NewErrParamRequired("VaultName")) 5638 } 5639 if s.VaultName != nil && len(*s.VaultName) < 1 { 5640 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 5641 } 5642 5643 if invalidParams.Len() > 0 { 5644 return invalidParams 5645 } 5646 return nil 5647} 5648 5649// SetAccountId sets the AccountId field's value. 5650func (s *GetVaultNotificationsInput) SetAccountId(v string) *GetVaultNotificationsInput { 5651 s.AccountId = &v 5652 return s 5653} 5654 5655// SetVaultName sets the VaultName field's value. 5656func (s *GetVaultNotificationsInput) SetVaultName(v string) *GetVaultNotificationsInput { 5657 s.VaultName = &v 5658 return s 5659} 5660 5661// Contains the Amazon S3 Glacier response to your request. 5662type GetVaultNotificationsOutput struct { 5663 _ struct{} `type:"structure" payload:"VaultNotificationConfig"` 5664 5665 // Returns the notification configuration set on the vault. 5666 VaultNotificationConfig *VaultNotificationConfig `locationName:"vaultNotificationConfig" type:"structure"` 5667} 5668 5669// String returns the string representation 5670func (s GetVaultNotificationsOutput) String() string { 5671 return awsutil.Prettify(s) 5672} 5673 5674// GoString returns the string representation 5675func (s GetVaultNotificationsOutput) GoString() string { 5676 return s.String() 5677} 5678 5679// SetVaultNotificationConfig sets the VaultNotificationConfig field's value. 5680func (s *GetVaultNotificationsOutput) SetVaultNotificationConfig(v *VaultNotificationConfig) *GetVaultNotificationsOutput { 5681 s.VaultNotificationConfig = v 5682 return s 5683} 5684 5685// Contains information about a grant. 5686type Grant struct { 5687 _ struct{} `type:"structure"` 5688 5689 // The grantee. 5690 Grantee *Grantee `type:"structure"` 5691 5692 // Specifies the permission given to the grantee. 5693 Permission *string `type:"string" enum:"Permission"` 5694} 5695 5696// String returns the string representation 5697func (s Grant) String() string { 5698 return awsutil.Prettify(s) 5699} 5700 5701// GoString returns the string representation 5702func (s Grant) GoString() string { 5703 return s.String() 5704} 5705 5706// Validate inspects the fields of the type to determine if they are valid. 5707func (s *Grant) Validate() error { 5708 invalidParams := request.ErrInvalidParams{Context: "Grant"} 5709 if s.Grantee != nil { 5710 if err := s.Grantee.Validate(); err != nil { 5711 invalidParams.AddNested("Grantee", err.(request.ErrInvalidParams)) 5712 } 5713 } 5714 5715 if invalidParams.Len() > 0 { 5716 return invalidParams 5717 } 5718 return nil 5719} 5720 5721// SetGrantee sets the Grantee field's value. 5722func (s *Grant) SetGrantee(v *Grantee) *Grant { 5723 s.Grantee = v 5724 return s 5725} 5726 5727// SetPermission sets the Permission field's value. 5728func (s *Grant) SetPermission(v string) *Grant { 5729 s.Permission = &v 5730 return s 5731} 5732 5733// Contains information about the grantee. 5734type Grantee struct { 5735 _ struct{} `type:"structure"` 5736 5737 // Screen name of the grantee. 5738 DisplayName *string `type:"string"` 5739 5740 // Email address of the grantee. 5741 EmailAddress *string `type:"string"` 5742 5743 // The canonical user ID of the grantee. 5744 ID *string `type:"string"` 5745 5746 // Type of grantee 5747 // 5748 // Type is a required field 5749 Type *string `type:"string" required:"true" enum:"Type"` 5750 5751 // URI of the grantee group. 5752 URI *string `type:"string"` 5753} 5754 5755// String returns the string representation 5756func (s Grantee) String() string { 5757 return awsutil.Prettify(s) 5758} 5759 5760// GoString returns the string representation 5761func (s Grantee) GoString() string { 5762 return s.String() 5763} 5764 5765// Validate inspects the fields of the type to determine if they are valid. 5766func (s *Grantee) Validate() error { 5767 invalidParams := request.ErrInvalidParams{Context: "Grantee"} 5768 if s.Type == nil { 5769 invalidParams.Add(request.NewErrParamRequired("Type")) 5770 } 5771 5772 if invalidParams.Len() > 0 { 5773 return invalidParams 5774 } 5775 return nil 5776} 5777 5778// SetDisplayName sets the DisplayName field's value. 5779func (s *Grantee) SetDisplayName(v string) *Grantee { 5780 s.DisplayName = &v 5781 return s 5782} 5783 5784// SetEmailAddress sets the EmailAddress field's value. 5785func (s *Grantee) SetEmailAddress(v string) *Grantee { 5786 s.EmailAddress = &v 5787 return s 5788} 5789 5790// SetID sets the ID field's value. 5791func (s *Grantee) SetID(v string) *Grantee { 5792 s.ID = &v 5793 return s 5794} 5795 5796// SetType sets the Type field's value. 5797func (s *Grantee) SetType(v string) *Grantee { 5798 s.Type = &v 5799 return s 5800} 5801 5802// SetURI sets the URI field's value. 5803func (s *Grantee) SetURI(v string) *Grantee { 5804 s.URI = &v 5805 return s 5806} 5807 5808// Provides options for initiating an Amazon S3 Glacier job. 5809type InitiateJobInput struct { 5810 _ struct{} `type:"structure" payload:"JobParameters"` 5811 5812 // The AccountId value is the AWS account ID of the account that owns the vault. 5813 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 5814 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 5815 // credentials used to sign the request. If you use an account ID, do not include 5816 // any hyphens ('-') in the ID. 5817 // 5818 // AccountId is a required field 5819 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 5820 5821 // Provides options for specifying job information. 5822 JobParameters *JobParameters `locationName:"jobParameters" type:"structure"` 5823 5824 // The name of the vault. 5825 // 5826 // VaultName is a required field 5827 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 5828} 5829 5830// String returns the string representation 5831func (s InitiateJobInput) String() string { 5832 return awsutil.Prettify(s) 5833} 5834 5835// GoString returns the string representation 5836func (s InitiateJobInput) GoString() string { 5837 return s.String() 5838} 5839 5840// Validate inspects the fields of the type to determine if they are valid. 5841func (s *InitiateJobInput) Validate() error { 5842 invalidParams := request.ErrInvalidParams{Context: "InitiateJobInput"} 5843 if s.AccountId == nil { 5844 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5845 } 5846 if s.AccountId != nil && len(*s.AccountId) < 1 { 5847 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 5848 } 5849 if s.VaultName == nil { 5850 invalidParams.Add(request.NewErrParamRequired("VaultName")) 5851 } 5852 if s.VaultName != nil && len(*s.VaultName) < 1 { 5853 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 5854 } 5855 if s.JobParameters != nil { 5856 if err := s.JobParameters.Validate(); err != nil { 5857 invalidParams.AddNested("JobParameters", err.(request.ErrInvalidParams)) 5858 } 5859 } 5860 5861 if invalidParams.Len() > 0 { 5862 return invalidParams 5863 } 5864 return nil 5865} 5866 5867// SetAccountId sets the AccountId field's value. 5868func (s *InitiateJobInput) SetAccountId(v string) *InitiateJobInput { 5869 s.AccountId = &v 5870 return s 5871} 5872 5873// SetJobParameters sets the JobParameters field's value. 5874func (s *InitiateJobInput) SetJobParameters(v *JobParameters) *InitiateJobInput { 5875 s.JobParameters = v 5876 return s 5877} 5878 5879// SetVaultName sets the VaultName field's value. 5880func (s *InitiateJobInput) SetVaultName(v string) *InitiateJobInput { 5881 s.VaultName = &v 5882 return s 5883} 5884 5885// Contains the Amazon S3 Glacier response to your request. 5886type InitiateJobOutput struct { 5887 _ struct{} `type:"structure"` 5888 5889 // The ID of the job. 5890 JobId *string `location:"header" locationName:"x-amz-job-id" type:"string"` 5891 5892 // The path to the location of where the select results are stored. 5893 JobOutputPath *string `location:"header" locationName:"x-amz-job-output-path" type:"string"` 5894 5895 // The relative URI path of the job. 5896 Location *string `location:"header" locationName:"Location" type:"string"` 5897} 5898 5899// String returns the string representation 5900func (s InitiateJobOutput) String() string { 5901 return awsutil.Prettify(s) 5902} 5903 5904// GoString returns the string representation 5905func (s InitiateJobOutput) GoString() string { 5906 return s.String() 5907} 5908 5909// SetJobId sets the JobId field's value. 5910func (s *InitiateJobOutput) SetJobId(v string) *InitiateJobOutput { 5911 s.JobId = &v 5912 return s 5913} 5914 5915// SetJobOutputPath sets the JobOutputPath field's value. 5916func (s *InitiateJobOutput) SetJobOutputPath(v string) *InitiateJobOutput { 5917 s.JobOutputPath = &v 5918 return s 5919} 5920 5921// SetLocation sets the Location field's value. 5922func (s *InitiateJobOutput) SetLocation(v string) *InitiateJobOutput { 5923 s.Location = &v 5924 return s 5925} 5926 5927// Provides options for initiating a multipart upload to an Amazon S3 Glacier 5928// vault. 5929type InitiateMultipartUploadInput struct { 5930 _ struct{} `type:"structure"` 5931 5932 // The AccountId value is the AWS account ID of the account that owns the vault. 5933 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 5934 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 5935 // credentials used to sign the request. If you use an account ID, do not include 5936 // any hyphens ('-') in the ID. 5937 // 5938 // AccountId is a required field 5939 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 5940 5941 // The archive description that you are uploading in parts. 5942 // 5943 // The part size must be a megabyte (1024 KB) multiplied by a power of 2, for 5944 // example 1048576 (1 MB), 2097152 (2 MB), 4194304 (4 MB), 8388608 (8 MB), and 5945 // so on. The minimum allowable part size is 1 MB, and the maximum is 4 GB (4096 5946 // MB). 5947 ArchiveDescription *string `location:"header" locationName:"x-amz-archive-description" type:"string"` 5948 5949 // The size of each part except the last, in bytes. The last part can be smaller 5950 // than this part size. 5951 PartSize *string `location:"header" locationName:"x-amz-part-size" type:"string"` 5952 5953 // The name of the vault. 5954 // 5955 // VaultName is a required field 5956 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 5957} 5958 5959// String returns the string representation 5960func (s InitiateMultipartUploadInput) String() string { 5961 return awsutil.Prettify(s) 5962} 5963 5964// GoString returns the string representation 5965func (s InitiateMultipartUploadInput) GoString() string { 5966 return s.String() 5967} 5968 5969// Validate inspects the fields of the type to determine if they are valid. 5970func (s *InitiateMultipartUploadInput) Validate() error { 5971 invalidParams := request.ErrInvalidParams{Context: "InitiateMultipartUploadInput"} 5972 if s.AccountId == nil { 5973 invalidParams.Add(request.NewErrParamRequired("AccountId")) 5974 } 5975 if s.AccountId != nil && len(*s.AccountId) < 1 { 5976 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 5977 } 5978 if s.VaultName == nil { 5979 invalidParams.Add(request.NewErrParamRequired("VaultName")) 5980 } 5981 if s.VaultName != nil && len(*s.VaultName) < 1 { 5982 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 5983 } 5984 5985 if invalidParams.Len() > 0 { 5986 return invalidParams 5987 } 5988 return nil 5989} 5990 5991// SetAccountId sets the AccountId field's value. 5992func (s *InitiateMultipartUploadInput) SetAccountId(v string) *InitiateMultipartUploadInput { 5993 s.AccountId = &v 5994 return s 5995} 5996 5997// SetArchiveDescription sets the ArchiveDescription field's value. 5998func (s *InitiateMultipartUploadInput) SetArchiveDescription(v string) *InitiateMultipartUploadInput { 5999 s.ArchiveDescription = &v 6000 return s 6001} 6002 6003// SetPartSize sets the PartSize field's value. 6004func (s *InitiateMultipartUploadInput) SetPartSize(v string) *InitiateMultipartUploadInput { 6005 s.PartSize = &v 6006 return s 6007} 6008 6009// SetVaultName sets the VaultName field's value. 6010func (s *InitiateMultipartUploadInput) SetVaultName(v string) *InitiateMultipartUploadInput { 6011 s.VaultName = &v 6012 return s 6013} 6014 6015// The Amazon S3 Glacier response to your request. 6016type InitiateMultipartUploadOutput struct { 6017 _ struct{} `type:"structure"` 6018 6019 // The relative URI path of the multipart upload ID Amazon S3 Glacier created. 6020 Location *string `location:"header" locationName:"Location" type:"string"` 6021 6022 // The ID of the multipart upload. This value is also included as part of the 6023 // location. 6024 UploadId *string `location:"header" locationName:"x-amz-multipart-upload-id" type:"string"` 6025} 6026 6027// String returns the string representation 6028func (s InitiateMultipartUploadOutput) String() string { 6029 return awsutil.Prettify(s) 6030} 6031 6032// GoString returns the string representation 6033func (s InitiateMultipartUploadOutput) GoString() string { 6034 return s.String() 6035} 6036 6037// SetLocation sets the Location field's value. 6038func (s *InitiateMultipartUploadOutput) SetLocation(v string) *InitiateMultipartUploadOutput { 6039 s.Location = &v 6040 return s 6041} 6042 6043// SetUploadId sets the UploadId field's value. 6044func (s *InitiateMultipartUploadOutput) SetUploadId(v string) *InitiateMultipartUploadOutput { 6045 s.UploadId = &v 6046 return s 6047} 6048 6049// The input values for InitiateVaultLock. 6050type InitiateVaultLockInput struct { 6051 _ struct{} `type:"structure" payload:"Policy"` 6052 6053 // The AccountId value is the AWS account ID. This value must match the AWS 6054 // account ID associated with the credentials used to sign the request. You 6055 // can either specify an AWS account ID or optionally a single '-' (hyphen), 6056 // in which case Amazon Glacier uses the AWS account ID associated with the 6057 // credentials used to sign the request. If you specify your account ID, do 6058 // not include any hyphens ('-') in the ID. 6059 // 6060 // AccountId is a required field 6061 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 6062 6063 // The vault lock policy as a JSON string, which uses "\" as an escape character. 6064 Policy *VaultLockPolicy `locationName:"policy" type:"structure"` 6065 6066 // The name of the vault. 6067 // 6068 // VaultName is a required field 6069 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 6070} 6071 6072// String returns the string representation 6073func (s InitiateVaultLockInput) String() string { 6074 return awsutil.Prettify(s) 6075} 6076 6077// GoString returns the string representation 6078func (s InitiateVaultLockInput) GoString() string { 6079 return s.String() 6080} 6081 6082// Validate inspects the fields of the type to determine if they are valid. 6083func (s *InitiateVaultLockInput) Validate() error { 6084 invalidParams := request.ErrInvalidParams{Context: "InitiateVaultLockInput"} 6085 if s.AccountId == nil { 6086 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6087 } 6088 if s.AccountId != nil && len(*s.AccountId) < 1 { 6089 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6090 } 6091 if s.VaultName == nil { 6092 invalidParams.Add(request.NewErrParamRequired("VaultName")) 6093 } 6094 if s.VaultName != nil && len(*s.VaultName) < 1 { 6095 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 6096 } 6097 6098 if invalidParams.Len() > 0 { 6099 return invalidParams 6100 } 6101 return nil 6102} 6103 6104// SetAccountId sets the AccountId field's value. 6105func (s *InitiateVaultLockInput) SetAccountId(v string) *InitiateVaultLockInput { 6106 s.AccountId = &v 6107 return s 6108} 6109 6110// SetPolicy sets the Policy field's value. 6111func (s *InitiateVaultLockInput) SetPolicy(v *VaultLockPolicy) *InitiateVaultLockInput { 6112 s.Policy = v 6113 return s 6114} 6115 6116// SetVaultName sets the VaultName field's value. 6117func (s *InitiateVaultLockInput) SetVaultName(v string) *InitiateVaultLockInput { 6118 s.VaultName = &v 6119 return s 6120} 6121 6122// Contains the Amazon S3 Glacier response to your request. 6123type InitiateVaultLockOutput struct { 6124 _ struct{} `type:"structure"` 6125 6126 // The lock ID, which is used to complete the vault locking process. 6127 LockId *string `location:"header" locationName:"x-amz-lock-id" type:"string"` 6128} 6129 6130// String returns the string representation 6131func (s InitiateVaultLockOutput) String() string { 6132 return awsutil.Prettify(s) 6133} 6134 6135// GoString returns the string representation 6136func (s InitiateVaultLockOutput) GoString() string { 6137 return s.String() 6138} 6139 6140// SetLockId sets the LockId field's value. 6141func (s *InitiateVaultLockOutput) SetLockId(v string) *InitiateVaultLockOutput { 6142 s.LockId = &v 6143 return s 6144} 6145 6146// Describes how the archive is serialized. 6147type InputSerialization struct { 6148 _ struct{} `type:"structure"` 6149 6150 // Describes the serialization of a CSV-encoded object. 6151 Csv *CSVInput `locationName:"csv" type:"structure"` 6152} 6153 6154// String returns the string representation 6155func (s InputSerialization) String() string { 6156 return awsutil.Prettify(s) 6157} 6158 6159// GoString returns the string representation 6160func (s InputSerialization) GoString() string { 6161 return s.String() 6162} 6163 6164// SetCsv sets the Csv field's value. 6165func (s *InputSerialization) SetCsv(v *CSVInput) *InputSerialization { 6166 s.Csv = v 6167 return s 6168} 6169 6170// Describes the options for a range inventory retrieval job. 6171type InventoryRetrievalJobDescription struct { 6172 _ struct{} `type:"structure"` 6173 6174 // The end of the date range in UTC for vault inventory retrieval that includes 6175 // archives created before this date. This value should be a string in the ISO 6176 // 8601 date format, for example 2013-03-20T17:03:43Z. 6177 EndDate *string `type:"string"` 6178 6179 // The output format for the vault inventory list, which is set by the InitiateJob 6180 // request when initiating a job to retrieve a vault inventory. Valid values 6181 // are CSV and JSON. 6182 Format *string `type:"string"` 6183 6184 // The maximum number of inventory items returned per vault inventory retrieval 6185 // request. This limit is set when initiating the job with the a InitiateJob 6186 // request. 6187 Limit *string `type:"string"` 6188 6189 // An opaque string that represents where to continue pagination of the vault 6190 // inventory retrieval results. You use the marker in a new InitiateJob request 6191 // to obtain additional inventory items. If there are no more inventory items, 6192 // this value is null. For more information, see Range Inventory Retrieval (https://docs.aws.amazon.com/amazonglacier/latest/dev/api-initiate-job-post.html#api-initiate-job-post-vault-inventory-list-filtering). 6193 Marker *string `type:"string"` 6194 6195 // The start of the date range in Universal Coordinated Time (UTC) for vault 6196 // inventory retrieval that includes archives created on or after this date. 6197 // This value should be a string in the ISO 8601 date format, for example 2013-03-20T17:03:43Z. 6198 StartDate *string `type:"string"` 6199} 6200 6201// String returns the string representation 6202func (s InventoryRetrievalJobDescription) String() string { 6203 return awsutil.Prettify(s) 6204} 6205 6206// GoString returns the string representation 6207func (s InventoryRetrievalJobDescription) GoString() string { 6208 return s.String() 6209} 6210 6211// SetEndDate sets the EndDate field's value. 6212func (s *InventoryRetrievalJobDescription) SetEndDate(v string) *InventoryRetrievalJobDescription { 6213 s.EndDate = &v 6214 return s 6215} 6216 6217// SetFormat sets the Format field's value. 6218func (s *InventoryRetrievalJobDescription) SetFormat(v string) *InventoryRetrievalJobDescription { 6219 s.Format = &v 6220 return s 6221} 6222 6223// SetLimit sets the Limit field's value. 6224func (s *InventoryRetrievalJobDescription) SetLimit(v string) *InventoryRetrievalJobDescription { 6225 s.Limit = &v 6226 return s 6227} 6228 6229// SetMarker sets the Marker field's value. 6230func (s *InventoryRetrievalJobDescription) SetMarker(v string) *InventoryRetrievalJobDescription { 6231 s.Marker = &v 6232 return s 6233} 6234 6235// SetStartDate sets the StartDate field's value. 6236func (s *InventoryRetrievalJobDescription) SetStartDate(v string) *InventoryRetrievalJobDescription { 6237 s.StartDate = &v 6238 return s 6239} 6240 6241// Provides options for specifying a range inventory retrieval job. 6242type InventoryRetrievalJobInput struct { 6243 _ struct{} `type:"structure"` 6244 6245 // The end of the date range in UTC for vault inventory retrieval that includes 6246 // archives created before this date. This value should be a string in the ISO 6247 // 8601 date format, for example 2013-03-20T17:03:43Z. 6248 EndDate *string `type:"string"` 6249 6250 // Specifies the maximum number of inventory items returned per vault inventory 6251 // retrieval request. Valid values are greater than or equal to 1. 6252 Limit *string `type:"string"` 6253 6254 // An opaque string that represents where to continue pagination of the vault 6255 // inventory retrieval results. You use the marker in a new InitiateJob request 6256 // to obtain additional inventory items. If there are no more inventory items, 6257 // this value is null. 6258 Marker *string `type:"string"` 6259 6260 // The start of the date range in UTC for vault inventory retrieval that includes 6261 // archives created on or after this date. This value should be a string in 6262 // the ISO 8601 date format, for example 2013-03-20T17:03:43Z. 6263 StartDate *string `type:"string"` 6264} 6265 6266// String returns the string representation 6267func (s InventoryRetrievalJobInput) String() string { 6268 return awsutil.Prettify(s) 6269} 6270 6271// GoString returns the string representation 6272func (s InventoryRetrievalJobInput) GoString() string { 6273 return s.String() 6274} 6275 6276// SetEndDate sets the EndDate field's value. 6277func (s *InventoryRetrievalJobInput) SetEndDate(v string) *InventoryRetrievalJobInput { 6278 s.EndDate = &v 6279 return s 6280} 6281 6282// SetLimit sets the Limit field's value. 6283func (s *InventoryRetrievalJobInput) SetLimit(v string) *InventoryRetrievalJobInput { 6284 s.Limit = &v 6285 return s 6286} 6287 6288// SetMarker sets the Marker field's value. 6289func (s *InventoryRetrievalJobInput) SetMarker(v string) *InventoryRetrievalJobInput { 6290 s.Marker = &v 6291 return s 6292} 6293 6294// SetStartDate sets the StartDate field's value. 6295func (s *InventoryRetrievalJobInput) SetStartDate(v string) *InventoryRetrievalJobInput { 6296 s.StartDate = &v 6297 return s 6298} 6299 6300// Contains the description of an Amazon S3 Glacier job. 6301type JobDescription struct { 6302 _ struct{} `type:"structure"` 6303 6304 // The job type. This value is either ArchiveRetrieval, InventoryRetrieval, 6305 // or Select. 6306 Action *string `type:"string" enum:"ActionCode"` 6307 6308 // The archive ID requested for a select job or archive retrieval. Otherwise, 6309 // this field is null. 6310 ArchiveId *string `type:"string"` 6311 6312 // The SHA256 tree hash of the entire archive for an archive retrieval. For 6313 // inventory retrieval or select jobs, this field is null. 6314 ArchiveSHA256TreeHash *string `type:"string"` 6315 6316 // For an archive retrieval job, this value is the size in bytes of the archive 6317 // being requested for download. For an inventory retrieval or select job, this 6318 // value is null. 6319 ArchiveSizeInBytes *int64 `type:"long"` 6320 6321 // The job status. When a job is completed, you get the job's output using Get 6322 // Job Output (GET output). 6323 Completed *bool `type:"boolean"` 6324 6325 // The UTC time that the job request completed. While the job is in progress, 6326 // the value is null. 6327 CompletionDate *string `type:"string"` 6328 6329 // The UTC date when the job was created. This value is a string representation 6330 // of ISO 8601 date format, for example "2012-03-20T17:03:43.221Z". 6331 CreationDate *string `type:"string"` 6332 6333 // Parameters used for range inventory retrieval. 6334 InventoryRetrievalParameters *InventoryRetrievalJobDescription `type:"structure"` 6335 6336 // For an inventory retrieval job, this value is the size in bytes of the inventory 6337 // requested for download. For an archive retrieval or select job, this value 6338 // is null. 6339 InventorySizeInBytes *int64 `type:"long"` 6340 6341 // The job description provided when initiating the job. 6342 JobDescription *string `type:"string"` 6343 6344 // An opaque string that identifies an Amazon S3 Glacier job. 6345 JobId *string `type:"string"` 6346 6347 // Contains the job output location. 6348 JobOutputPath *string `type:"string"` 6349 6350 // Contains the location where the data from the select job is stored. 6351 OutputLocation *OutputLocation `type:"structure"` 6352 6353 // The retrieved byte range for archive retrieval jobs in the form StartByteValue-EndByteValue. 6354 // If no range was specified in the archive retrieval, then the whole archive 6355 // is retrieved. In this case, StartByteValue equals 0 and EndByteValue equals 6356 // the size of the archive minus 1. For inventory retrieval or select jobs, 6357 // this field is null. 6358 RetrievalByteRange *string `type:"string"` 6359 6360 // For an archive retrieval job, this value is the checksum of the archive. 6361 // Otherwise, this value is null. 6362 // 6363 // The SHA256 tree hash value for the requested range of an archive. If the 6364 // InitiateJob request for an archive specified a tree-hash aligned range, then 6365 // this field returns a value. 6366 // 6367 // If the whole archive is retrieved, this value is the same as the ArchiveSHA256TreeHash 6368 // value. 6369 // 6370 // This field is null for the following: 6371 // 6372 // * Archive retrieval jobs that specify a range that is not tree-hash aligned 6373 // 6374 // * Archival jobs that specify a range that is equal to the whole archive, 6375 // when the job status is InProgress 6376 // 6377 // * Inventory jobs 6378 // 6379 // * Select jobs 6380 SHA256TreeHash *string `type:"string"` 6381 6382 // An Amazon SNS topic that receives notification. 6383 SNSTopic *string `type:"string"` 6384 6385 // Contains the parameters used for a select. 6386 SelectParameters *SelectParameters `type:"structure"` 6387 6388 // The status code can be InProgress, Succeeded, or Failed, and indicates the 6389 // status of the job. 6390 StatusCode *string `type:"string" enum:"StatusCode"` 6391 6392 // A friendly message that describes the job status. 6393 StatusMessage *string `type:"string"` 6394 6395 // The tier to use for a select or an archive retrieval. Valid values are Expedited, 6396 // Standard, or Bulk. Standard is the default. 6397 Tier *string `type:"string"` 6398 6399 // The Amazon Resource Name (ARN) of the vault from which an archive retrieval 6400 // was requested. 6401 VaultARN *string `type:"string"` 6402} 6403 6404// String returns the string representation 6405func (s JobDescription) String() string { 6406 return awsutil.Prettify(s) 6407} 6408 6409// GoString returns the string representation 6410func (s JobDescription) GoString() string { 6411 return s.String() 6412} 6413 6414// SetAction sets the Action field's value. 6415func (s *JobDescription) SetAction(v string) *JobDescription { 6416 s.Action = &v 6417 return s 6418} 6419 6420// SetArchiveId sets the ArchiveId field's value. 6421func (s *JobDescription) SetArchiveId(v string) *JobDescription { 6422 s.ArchiveId = &v 6423 return s 6424} 6425 6426// SetArchiveSHA256TreeHash sets the ArchiveSHA256TreeHash field's value. 6427func (s *JobDescription) SetArchiveSHA256TreeHash(v string) *JobDescription { 6428 s.ArchiveSHA256TreeHash = &v 6429 return s 6430} 6431 6432// SetArchiveSizeInBytes sets the ArchiveSizeInBytes field's value. 6433func (s *JobDescription) SetArchiveSizeInBytes(v int64) *JobDescription { 6434 s.ArchiveSizeInBytes = &v 6435 return s 6436} 6437 6438// SetCompleted sets the Completed field's value. 6439func (s *JobDescription) SetCompleted(v bool) *JobDescription { 6440 s.Completed = &v 6441 return s 6442} 6443 6444// SetCompletionDate sets the CompletionDate field's value. 6445func (s *JobDescription) SetCompletionDate(v string) *JobDescription { 6446 s.CompletionDate = &v 6447 return s 6448} 6449 6450// SetCreationDate sets the CreationDate field's value. 6451func (s *JobDescription) SetCreationDate(v string) *JobDescription { 6452 s.CreationDate = &v 6453 return s 6454} 6455 6456// SetInventoryRetrievalParameters sets the InventoryRetrievalParameters field's value. 6457func (s *JobDescription) SetInventoryRetrievalParameters(v *InventoryRetrievalJobDescription) *JobDescription { 6458 s.InventoryRetrievalParameters = v 6459 return s 6460} 6461 6462// SetInventorySizeInBytes sets the InventorySizeInBytes field's value. 6463func (s *JobDescription) SetInventorySizeInBytes(v int64) *JobDescription { 6464 s.InventorySizeInBytes = &v 6465 return s 6466} 6467 6468// SetJobDescription sets the JobDescription field's value. 6469func (s *JobDescription) SetJobDescription(v string) *JobDescription { 6470 s.JobDescription = &v 6471 return s 6472} 6473 6474// SetJobId sets the JobId field's value. 6475func (s *JobDescription) SetJobId(v string) *JobDescription { 6476 s.JobId = &v 6477 return s 6478} 6479 6480// SetJobOutputPath sets the JobOutputPath field's value. 6481func (s *JobDescription) SetJobOutputPath(v string) *JobDescription { 6482 s.JobOutputPath = &v 6483 return s 6484} 6485 6486// SetOutputLocation sets the OutputLocation field's value. 6487func (s *JobDescription) SetOutputLocation(v *OutputLocation) *JobDescription { 6488 s.OutputLocation = v 6489 return s 6490} 6491 6492// SetRetrievalByteRange sets the RetrievalByteRange field's value. 6493func (s *JobDescription) SetRetrievalByteRange(v string) *JobDescription { 6494 s.RetrievalByteRange = &v 6495 return s 6496} 6497 6498// SetSHA256TreeHash sets the SHA256TreeHash field's value. 6499func (s *JobDescription) SetSHA256TreeHash(v string) *JobDescription { 6500 s.SHA256TreeHash = &v 6501 return s 6502} 6503 6504// SetSNSTopic sets the SNSTopic field's value. 6505func (s *JobDescription) SetSNSTopic(v string) *JobDescription { 6506 s.SNSTopic = &v 6507 return s 6508} 6509 6510// SetSelectParameters sets the SelectParameters field's value. 6511func (s *JobDescription) SetSelectParameters(v *SelectParameters) *JobDescription { 6512 s.SelectParameters = v 6513 return s 6514} 6515 6516// SetStatusCode sets the StatusCode field's value. 6517func (s *JobDescription) SetStatusCode(v string) *JobDescription { 6518 s.StatusCode = &v 6519 return s 6520} 6521 6522// SetStatusMessage sets the StatusMessage field's value. 6523func (s *JobDescription) SetStatusMessage(v string) *JobDescription { 6524 s.StatusMessage = &v 6525 return s 6526} 6527 6528// SetTier sets the Tier field's value. 6529func (s *JobDescription) SetTier(v string) *JobDescription { 6530 s.Tier = &v 6531 return s 6532} 6533 6534// SetVaultARN sets the VaultARN field's value. 6535func (s *JobDescription) SetVaultARN(v string) *JobDescription { 6536 s.VaultARN = &v 6537 return s 6538} 6539 6540// Provides options for defining a job. 6541type JobParameters struct { 6542 _ struct{} `type:"structure"` 6543 6544 // The ID of the archive that you want to retrieve. This field is required only 6545 // if Type is set to select or archive-retrievalcode>. An error occurs if you 6546 // specify this request parameter for an inventory retrieval job request. 6547 ArchiveId *string `type:"string"` 6548 6549 // The optional description for the job. The description must be less than or 6550 // equal to 1,024 bytes. The allowable characters are 7-bit ASCII without control 6551 // codes-specifically, ASCII values 32-126 decimal or 0x20-0x7E hexadecimal. 6552 Description *string `type:"string"` 6553 6554 // When initiating a job to retrieve a vault inventory, you can optionally add 6555 // this parameter to your request to specify the output format. If you are initiating 6556 // an inventory job and do not specify a Format field, JSON is the default format. 6557 // Valid values are "CSV" and "JSON". 6558 Format *string `type:"string"` 6559 6560 // Input parameters used for range inventory retrieval. 6561 InventoryRetrievalParameters *InventoryRetrievalJobInput `type:"structure"` 6562 6563 // Contains information about the location where the select job results are 6564 // stored. 6565 OutputLocation *OutputLocation `type:"structure"` 6566 6567 // The byte range to retrieve for an archive retrieval. in the form "StartByteValue-EndByteValue" 6568 // If not specified, the whole archive is retrieved. If specified, the byte 6569 // range must be megabyte (1024*1024) aligned which means that StartByteValue 6570 // must be divisible by 1 MB and EndByteValue plus 1 must be divisible by 1 6571 // MB or be the end of the archive specified as the archive byte size value 6572 // minus 1. If RetrievalByteRange is not megabyte aligned, this operation returns 6573 // a 400 response. 6574 // 6575 // An error occurs if you specify this field for an inventory retrieval job 6576 // request. 6577 RetrievalByteRange *string `type:"string"` 6578 6579 // The Amazon SNS topic ARN to which Amazon S3 Glacier sends a notification 6580 // when the job is completed and the output is ready for you to download. The 6581 // specified topic publishes the notification to its subscribers. The SNS topic 6582 // must exist. 6583 SNSTopic *string `type:"string"` 6584 6585 // Contains the parameters that define a job. 6586 SelectParameters *SelectParameters `type:"structure"` 6587 6588 // The tier to use for a select or an archive retrieval job. Valid values are 6589 // Expedited, Standard, or Bulk. Standard is the default. 6590 Tier *string `type:"string"` 6591 6592 // The job type. You can initiate a job to perform a select query on an archive, 6593 // retrieve an archive, or get an inventory of a vault. Valid values are "select", 6594 // "archive-retrieval" and "inventory-retrieval". 6595 Type *string `type:"string"` 6596} 6597 6598// String returns the string representation 6599func (s JobParameters) String() string { 6600 return awsutil.Prettify(s) 6601} 6602 6603// GoString returns the string representation 6604func (s JobParameters) GoString() string { 6605 return s.String() 6606} 6607 6608// Validate inspects the fields of the type to determine if they are valid. 6609func (s *JobParameters) Validate() error { 6610 invalidParams := request.ErrInvalidParams{Context: "JobParameters"} 6611 if s.OutputLocation != nil { 6612 if err := s.OutputLocation.Validate(); err != nil { 6613 invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams)) 6614 } 6615 } 6616 6617 if invalidParams.Len() > 0 { 6618 return invalidParams 6619 } 6620 return nil 6621} 6622 6623// SetArchiveId sets the ArchiveId field's value. 6624func (s *JobParameters) SetArchiveId(v string) *JobParameters { 6625 s.ArchiveId = &v 6626 return s 6627} 6628 6629// SetDescription sets the Description field's value. 6630func (s *JobParameters) SetDescription(v string) *JobParameters { 6631 s.Description = &v 6632 return s 6633} 6634 6635// SetFormat sets the Format field's value. 6636func (s *JobParameters) SetFormat(v string) *JobParameters { 6637 s.Format = &v 6638 return s 6639} 6640 6641// SetInventoryRetrievalParameters sets the InventoryRetrievalParameters field's value. 6642func (s *JobParameters) SetInventoryRetrievalParameters(v *InventoryRetrievalJobInput) *JobParameters { 6643 s.InventoryRetrievalParameters = v 6644 return s 6645} 6646 6647// SetOutputLocation sets the OutputLocation field's value. 6648func (s *JobParameters) SetOutputLocation(v *OutputLocation) *JobParameters { 6649 s.OutputLocation = v 6650 return s 6651} 6652 6653// SetRetrievalByteRange sets the RetrievalByteRange field's value. 6654func (s *JobParameters) SetRetrievalByteRange(v string) *JobParameters { 6655 s.RetrievalByteRange = &v 6656 return s 6657} 6658 6659// SetSNSTopic sets the SNSTopic field's value. 6660func (s *JobParameters) SetSNSTopic(v string) *JobParameters { 6661 s.SNSTopic = &v 6662 return s 6663} 6664 6665// SetSelectParameters sets the SelectParameters field's value. 6666func (s *JobParameters) SetSelectParameters(v *SelectParameters) *JobParameters { 6667 s.SelectParameters = v 6668 return s 6669} 6670 6671// SetTier sets the Tier field's value. 6672func (s *JobParameters) SetTier(v string) *JobParameters { 6673 s.Tier = &v 6674 return s 6675} 6676 6677// SetType sets the Type field's value. 6678func (s *JobParameters) SetType(v string) *JobParameters { 6679 s.Type = &v 6680 return s 6681} 6682 6683// Provides options for retrieving a job list for an Amazon S3 Glacier vault. 6684type ListJobsInput struct { 6685 _ struct{} `type:"structure"` 6686 6687 // The AccountId value is the AWS account ID of the account that owns the vault. 6688 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 6689 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 6690 // credentials used to sign the request. If you use an account ID, do not include 6691 // any hyphens ('-') in the ID. 6692 // 6693 // AccountId is a required field 6694 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 6695 6696 // The state of the jobs to return. You can specify true or false. 6697 Completed *string `location:"querystring" locationName:"completed" type:"string"` 6698 6699 // The maximum number of jobs to be returned. The default limit is 50. The number 6700 // of jobs returned might be fewer than the specified limit, but the number 6701 // of returned jobs never exceeds the limit. 6702 Limit *string `location:"querystring" locationName:"limit" type:"string"` 6703 6704 // An opaque string used for pagination. This value specifies the job at which 6705 // the listing of jobs should begin. Get the marker value from a previous List 6706 // Jobs response. You only need to include the marker if you are continuing 6707 // the pagination of results started in a previous List Jobs request. 6708 Marker *string `location:"querystring" locationName:"marker" type:"string"` 6709 6710 // The type of job status to return. You can specify the following values: InProgress, 6711 // Succeeded, or Failed. 6712 Statuscode *string `location:"querystring" locationName:"statuscode" type:"string"` 6713 6714 // The name of the vault. 6715 // 6716 // VaultName is a required field 6717 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 6718} 6719 6720// String returns the string representation 6721func (s ListJobsInput) String() string { 6722 return awsutil.Prettify(s) 6723} 6724 6725// GoString returns the string representation 6726func (s ListJobsInput) GoString() string { 6727 return s.String() 6728} 6729 6730// Validate inspects the fields of the type to determine if they are valid. 6731func (s *ListJobsInput) Validate() error { 6732 invalidParams := request.ErrInvalidParams{Context: "ListJobsInput"} 6733 if s.AccountId == nil { 6734 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6735 } 6736 if s.AccountId != nil && len(*s.AccountId) < 1 { 6737 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6738 } 6739 if s.VaultName == nil { 6740 invalidParams.Add(request.NewErrParamRequired("VaultName")) 6741 } 6742 if s.VaultName != nil && len(*s.VaultName) < 1 { 6743 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 6744 } 6745 6746 if invalidParams.Len() > 0 { 6747 return invalidParams 6748 } 6749 return nil 6750} 6751 6752// SetAccountId sets the AccountId field's value. 6753func (s *ListJobsInput) SetAccountId(v string) *ListJobsInput { 6754 s.AccountId = &v 6755 return s 6756} 6757 6758// SetCompleted sets the Completed field's value. 6759func (s *ListJobsInput) SetCompleted(v string) *ListJobsInput { 6760 s.Completed = &v 6761 return s 6762} 6763 6764// SetLimit sets the Limit field's value. 6765func (s *ListJobsInput) SetLimit(v string) *ListJobsInput { 6766 s.Limit = &v 6767 return s 6768} 6769 6770// SetMarker sets the Marker field's value. 6771func (s *ListJobsInput) SetMarker(v string) *ListJobsInput { 6772 s.Marker = &v 6773 return s 6774} 6775 6776// SetStatuscode sets the Statuscode field's value. 6777func (s *ListJobsInput) SetStatuscode(v string) *ListJobsInput { 6778 s.Statuscode = &v 6779 return s 6780} 6781 6782// SetVaultName sets the VaultName field's value. 6783func (s *ListJobsInput) SetVaultName(v string) *ListJobsInput { 6784 s.VaultName = &v 6785 return s 6786} 6787 6788// Contains the Amazon S3 Glacier response to your request. 6789type ListJobsOutput struct { 6790 _ struct{} `type:"structure"` 6791 6792 // A list of job objects. Each job object contains metadata describing the job. 6793 JobList []*JobDescription `type:"list"` 6794 6795 // An opaque string used for pagination that specifies the job at which the 6796 // listing of jobs should begin. You get the marker value from a previous List 6797 // Jobs response. You only need to include the marker if you are continuing 6798 // the pagination of the results started in a previous List Jobs request. 6799 Marker *string `type:"string"` 6800} 6801 6802// String returns the string representation 6803func (s ListJobsOutput) String() string { 6804 return awsutil.Prettify(s) 6805} 6806 6807// GoString returns the string representation 6808func (s ListJobsOutput) GoString() string { 6809 return s.String() 6810} 6811 6812// SetJobList sets the JobList field's value. 6813func (s *ListJobsOutput) SetJobList(v []*JobDescription) *ListJobsOutput { 6814 s.JobList = v 6815 return s 6816} 6817 6818// SetMarker sets the Marker field's value. 6819func (s *ListJobsOutput) SetMarker(v string) *ListJobsOutput { 6820 s.Marker = &v 6821 return s 6822} 6823 6824// Provides options for retrieving list of in-progress multipart uploads for 6825// an Amazon Glacier vault. 6826type ListMultipartUploadsInput struct { 6827 _ struct{} `type:"structure"` 6828 6829 // The AccountId value is the AWS account ID of the account that owns the vault. 6830 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 6831 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 6832 // credentials used to sign the request. If you use an account ID, do not include 6833 // any hyphens ('-') in the ID. 6834 // 6835 // AccountId is a required field 6836 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 6837 6838 // Specifies the maximum number of uploads returned in the response body. If 6839 // this value is not specified, the List Uploads operation returns up to 50 6840 // uploads. 6841 Limit *string `location:"querystring" locationName:"limit" type:"string"` 6842 6843 // An opaque string used for pagination. This value specifies the upload at 6844 // which the listing of uploads should begin. Get the marker value from a previous 6845 // List Uploads response. You need only include the marker if you are continuing 6846 // the pagination of results started in a previous List Uploads request. 6847 Marker *string `location:"querystring" locationName:"marker" type:"string"` 6848 6849 // The name of the vault. 6850 // 6851 // VaultName is a required field 6852 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 6853} 6854 6855// String returns the string representation 6856func (s ListMultipartUploadsInput) String() string { 6857 return awsutil.Prettify(s) 6858} 6859 6860// GoString returns the string representation 6861func (s ListMultipartUploadsInput) GoString() string { 6862 return s.String() 6863} 6864 6865// Validate inspects the fields of the type to determine if they are valid. 6866func (s *ListMultipartUploadsInput) Validate() error { 6867 invalidParams := request.ErrInvalidParams{Context: "ListMultipartUploadsInput"} 6868 if s.AccountId == nil { 6869 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6870 } 6871 if s.AccountId != nil && len(*s.AccountId) < 1 { 6872 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 6873 } 6874 if s.VaultName == nil { 6875 invalidParams.Add(request.NewErrParamRequired("VaultName")) 6876 } 6877 if s.VaultName != nil && len(*s.VaultName) < 1 { 6878 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 6879 } 6880 6881 if invalidParams.Len() > 0 { 6882 return invalidParams 6883 } 6884 return nil 6885} 6886 6887// SetAccountId sets the AccountId field's value. 6888func (s *ListMultipartUploadsInput) SetAccountId(v string) *ListMultipartUploadsInput { 6889 s.AccountId = &v 6890 return s 6891} 6892 6893// SetLimit sets the Limit field's value. 6894func (s *ListMultipartUploadsInput) SetLimit(v string) *ListMultipartUploadsInput { 6895 s.Limit = &v 6896 return s 6897} 6898 6899// SetMarker sets the Marker field's value. 6900func (s *ListMultipartUploadsInput) SetMarker(v string) *ListMultipartUploadsInput { 6901 s.Marker = &v 6902 return s 6903} 6904 6905// SetVaultName sets the VaultName field's value. 6906func (s *ListMultipartUploadsInput) SetVaultName(v string) *ListMultipartUploadsInput { 6907 s.VaultName = &v 6908 return s 6909} 6910 6911// Contains the Amazon S3 Glacier response to your request. 6912type ListMultipartUploadsOutput struct { 6913 _ struct{} `type:"structure"` 6914 6915 // An opaque string that represents where to continue pagination of the results. 6916 // You use the marker in a new List Multipart Uploads request to obtain more 6917 // uploads in the list. If there are no more uploads, this value is null. 6918 Marker *string `type:"string"` 6919 6920 // A list of in-progress multipart uploads. 6921 UploadsList []*UploadListElement `type:"list"` 6922} 6923 6924// String returns the string representation 6925func (s ListMultipartUploadsOutput) String() string { 6926 return awsutil.Prettify(s) 6927} 6928 6929// GoString returns the string representation 6930func (s ListMultipartUploadsOutput) GoString() string { 6931 return s.String() 6932} 6933 6934// SetMarker sets the Marker field's value. 6935func (s *ListMultipartUploadsOutput) SetMarker(v string) *ListMultipartUploadsOutput { 6936 s.Marker = &v 6937 return s 6938} 6939 6940// SetUploadsList sets the UploadsList field's value. 6941func (s *ListMultipartUploadsOutput) SetUploadsList(v []*UploadListElement) *ListMultipartUploadsOutput { 6942 s.UploadsList = v 6943 return s 6944} 6945 6946// Provides options for retrieving a list of parts of an archive that have been 6947// uploaded in a specific multipart upload. 6948type ListPartsInput struct { 6949 _ struct{} `type:"structure"` 6950 6951 // The AccountId value is the AWS account ID of the account that owns the vault. 6952 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 6953 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 6954 // credentials used to sign the request. If you use an account ID, do not include 6955 // any hyphens ('-') in the ID. 6956 // 6957 // AccountId is a required field 6958 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 6959 6960 // The maximum number of parts to be returned. The default limit is 50. The 6961 // number of parts returned might be fewer than the specified limit, but the 6962 // number of returned parts never exceeds the limit. 6963 Limit *string `location:"querystring" locationName:"limit" type:"string"` 6964 6965 // An opaque string used for pagination. This value specifies the part at which 6966 // the listing of parts should begin. Get the marker value from the response 6967 // of a previous List Parts response. You need only include the marker if you 6968 // are continuing the pagination of results started in a previous List Parts 6969 // request. 6970 Marker *string `location:"querystring" locationName:"marker" type:"string"` 6971 6972 // The upload ID of the multipart upload. 6973 // 6974 // UploadId is a required field 6975 UploadId *string `location:"uri" locationName:"uploadId" type:"string" required:"true"` 6976 6977 // The name of the vault. 6978 // 6979 // VaultName is a required field 6980 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 6981} 6982 6983// String returns the string representation 6984func (s ListPartsInput) String() string { 6985 return awsutil.Prettify(s) 6986} 6987 6988// GoString returns the string representation 6989func (s ListPartsInput) GoString() string { 6990 return s.String() 6991} 6992 6993// Validate inspects the fields of the type to determine if they are valid. 6994func (s *ListPartsInput) Validate() error { 6995 invalidParams := request.ErrInvalidParams{Context: "ListPartsInput"} 6996 if s.AccountId == nil { 6997 invalidParams.Add(request.NewErrParamRequired("AccountId")) 6998 } 6999 if s.AccountId != nil && len(*s.AccountId) < 1 { 7000 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7001 } 7002 if s.UploadId == nil { 7003 invalidParams.Add(request.NewErrParamRequired("UploadId")) 7004 } 7005 if s.UploadId != nil && len(*s.UploadId) < 1 { 7006 invalidParams.Add(request.NewErrParamMinLen("UploadId", 1)) 7007 } 7008 if s.VaultName == nil { 7009 invalidParams.Add(request.NewErrParamRequired("VaultName")) 7010 } 7011 if s.VaultName != nil && len(*s.VaultName) < 1 { 7012 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 7013 } 7014 7015 if invalidParams.Len() > 0 { 7016 return invalidParams 7017 } 7018 return nil 7019} 7020 7021// SetAccountId sets the AccountId field's value. 7022func (s *ListPartsInput) SetAccountId(v string) *ListPartsInput { 7023 s.AccountId = &v 7024 return s 7025} 7026 7027// SetLimit sets the Limit field's value. 7028func (s *ListPartsInput) SetLimit(v string) *ListPartsInput { 7029 s.Limit = &v 7030 return s 7031} 7032 7033// SetMarker sets the Marker field's value. 7034func (s *ListPartsInput) SetMarker(v string) *ListPartsInput { 7035 s.Marker = &v 7036 return s 7037} 7038 7039// SetUploadId sets the UploadId field's value. 7040func (s *ListPartsInput) SetUploadId(v string) *ListPartsInput { 7041 s.UploadId = &v 7042 return s 7043} 7044 7045// SetVaultName sets the VaultName field's value. 7046func (s *ListPartsInput) SetVaultName(v string) *ListPartsInput { 7047 s.VaultName = &v 7048 return s 7049} 7050 7051// Contains the Amazon S3 Glacier response to your request. 7052type ListPartsOutput struct { 7053 _ struct{} `type:"structure"` 7054 7055 // The description of the archive that was specified in the Initiate Multipart 7056 // Upload request. 7057 ArchiveDescription *string `type:"string"` 7058 7059 // The UTC time at which the multipart upload was initiated. 7060 CreationDate *string `type:"string"` 7061 7062 // An opaque string that represents where to continue pagination of the results. 7063 // You use the marker in a new List Parts request to obtain more jobs in the 7064 // list. If there are no more parts, this value is null. 7065 Marker *string `type:"string"` 7066 7067 // The ID of the upload to which the parts are associated. 7068 MultipartUploadId *string `type:"string"` 7069 7070 // The part size in bytes. This is the same value that you specified in the 7071 // Initiate Multipart Upload request. 7072 PartSizeInBytes *int64 `type:"long"` 7073 7074 // A list of the part sizes of the multipart upload. Each object in the array 7075 // contains a RangeBytes and sha256-tree-hash name/value pair. 7076 Parts []*PartListElement `type:"list"` 7077 7078 // The Amazon Resource Name (ARN) of the vault to which the multipart upload 7079 // was initiated. 7080 VaultARN *string `type:"string"` 7081} 7082 7083// String returns the string representation 7084func (s ListPartsOutput) String() string { 7085 return awsutil.Prettify(s) 7086} 7087 7088// GoString returns the string representation 7089func (s ListPartsOutput) GoString() string { 7090 return s.String() 7091} 7092 7093// SetArchiveDescription sets the ArchiveDescription field's value. 7094func (s *ListPartsOutput) SetArchiveDescription(v string) *ListPartsOutput { 7095 s.ArchiveDescription = &v 7096 return s 7097} 7098 7099// SetCreationDate sets the CreationDate field's value. 7100func (s *ListPartsOutput) SetCreationDate(v string) *ListPartsOutput { 7101 s.CreationDate = &v 7102 return s 7103} 7104 7105// SetMarker sets the Marker field's value. 7106func (s *ListPartsOutput) SetMarker(v string) *ListPartsOutput { 7107 s.Marker = &v 7108 return s 7109} 7110 7111// SetMultipartUploadId sets the MultipartUploadId field's value. 7112func (s *ListPartsOutput) SetMultipartUploadId(v string) *ListPartsOutput { 7113 s.MultipartUploadId = &v 7114 return s 7115} 7116 7117// SetPartSizeInBytes sets the PartSizeInBytes field's value. 7118func (s *ListPartsOutput) SetPartSizeInBytes(v int64) *ListPartsOutput { 7119 s.PartSizeInBytes = &v 7120 return s 7121} 7122 7123// SetParts sets the Parts field's value. 7124func (s *ListPartsOutput) SetParts(v []*PartListElement) *ListPartsOutput { 7125 s.Parts = v 7126 return s 7127} 7128 7129// SetVaultARN sets the VaultARN field's value. 7130func (s *ListPartsOutput) SetVaultARN(v string) *ListPartsOutput { 7131 s.VaultARN = &v 7132 return s 7133} 7134 7135type ListProvisionedCapacityInput struct { 7136 _ struct{} `type:"structure"` 7137 7138 // The AWS account ID of the account that owns the vault. You can either specify 7139 // an AWS account ID or optionally a single '-' (hyphen), in which case Amazon 7140 // S3 Glacier uses the AWS account ID associated with the credentials used to 7141 // sign the request. If you use an account ID, don't include any hyphens ('-') 7142 // in the ID. 7143 // 7144 // AccountId is a required field 7145 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 7146} 7147 7148// String returns the string representation 7149func (s ListProvisionedCapacityInput) String() string { 7150 return awsutil.Prettify(s) 7151} 7152 7153// GoString returns the string representation 7154func (s ListProvisionedCapacityInput) GoString() string { 7155 return s.String() 7156} 7157 7158// Validate inspects the fields of the type to determine if they are valid. 7159func (s *ListProvisionedCapacityInput) Validate() error { 7160 invalidParams := request.ErrInvalidParams{Context: "ListProvisionedCapacityInput"} 7161 if s.AccountId == nil { 7162 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7163 } 7164 if s.AccountId != nil && len(*s.AccountId) < 1 { 7165 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7166 } 7167 7168 if invalidParams.Len() > 0 { 7169 return invalidParams 7170 } 7171 return nil 7172} 7173 7174// SetAccountId sets the AccountId field's value. 7175func (s *ListProvisionedCapacityInput) SetAccountId(v string) *ListProvisionedCapacityInput { 7176 s.AccountId = &v 7177 return s 7178} 7179 7180type ListProvisionedCapacityOutput struct { 7181 _ struct{} `type:"structure"` 7182 7183 // The response body contains the following JSON fields. 7184 ProvisionedCapacityList []*ProvisionedCapacityDescription `type:"list"` 7185} 7186 7187// String returns the string representation 7188func (s ListProvisionedCapacityOutput) String() string { 7189 return awsutil.Prettify(s) 7190} 7191 7192// GoString returns the string representation 7193func (s ListProvisionedCapacityOutput) GoString() string { 7194 return s.String() 7195} 7196 7197// SetProvisionedCapacityList sets the ProvisionedCapacityList field's value. 7198func (s *ListProvisionedCapacityOutput) SetProvisionedCapacityList(v []*ProvisionedCapacityDescription) *ListProvisionedCapacityOutput { 7199 s.ProvisionedCapacityList = v 7200 return s 7201} 7202 7203// The input value for ListTagsForVaultInput. 7204type ListTagsForVaultInput struct { 7205 _ struct{} `type:"structure"` 7206 7207 // The AccountId value is the AWS account ID of the account that owns the vault. 7208 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 7209 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 7210 // credentials used to sign the request. If you use an account ID, do not include 7211 // any hyphens ('-') in the ID. 7212 // 7213 // AccountId is a required field 7214 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 7215 7216 // The name of the vault. 7217 // 7218 // VaultName is a required field 7219 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 7220} 7221 7222// String returns the string representation 7223func (s ListTagsForVaultInput) String() string { 7224 return awsutil.Prettify(s) 7225} 7226 7227// GoString returns the string representation 7228func (s ListTagsForVaultInput) GoString() string { 7229 return s.String() 7230} 7231 7232// Validate inspects the fields of the type to determine if they are valid. 7233func (s *ListTagsForVaultInput) Validate() error { 7234 invalidParams := request.ErrInvalidParams{Context: "ListTagsForVaultInput"} 7235 if s.AccountId == nil { 7236 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7237 } 7238 if s.AccountId != nil && len(*s.AccountId) < 1 { 7239 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7240 } 7241 if s.VaultName == nil { 7242 invalidParams.Add(request.NewErrParamRequired("VaultName")) 7243 } 7244 if s.VaultName != nil && len(*s.VaultName) < 1 { 7245 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 7246 } 7247 7248 if invalidParams.Len() > 0 { 7249 return invalidParams 7250 } 7251 return nil 7252} 7253 7254// SetAccountId sets the AccountId field's value. 7255func (s *ListTagsForVaultInput) SetAccountId(v string) *ListTagsForVaultInput { 7256 s.AccountId = &v 7257 return s 7258} 7259 7260// SetVaultName sets the VaultName field's value. 7261func (s *ListTagsForVaultInput) SetVaultName(v string) *ListTagsForVaultInput { 7262 s.VaultName = &v 7263 return s 7264} 7265 7266// Contains the Amazon S3 Glacier response to your request. 7267type ListTagsForVaultOutput struct { 7268 _ struct{} `type:"structure"` 7269 7270 // The tags attached to the vault. Each tag is composed of a key and a value. 7271 Tags map[string]*string `type:"map"` 7272} 7273 7274// String returns the string representation 7275func (s ListTagsForVaultOutput) String() string { 7276 return awsutil.Prettify(s) 7277} 7278 7279// GoString returns the string representation 7280func (s ListTagsForVaultOutput) GoString() string { 7281 return s.String() 7282} 7283 7284// SetTags sets the Tags field's value. 7285func (s *ListTagsForVaultOutput) SetTags(v map[string]*string) *ListTagsForVaultOutput { 7286 s.Tags = v 7287 return s 7288} 7289 7290// Provides options to retrieve the vault list owned by the calling user's account. 7291// The list provides metadata information for each vault. 7292type ListVaultsInput struct { 7293 _ struct{} `type:"structure"` 7294 7295 // The AccountId value is the AWS account ID. This value must match the AWS 7296 // account ID associated with the credentials used to sign the request. You 7297 // can either specify an AWS account ID or optionally a single '-' (hyphen), 7298 // in which case Amazon Glacier uses the AWS account ID associated with the 7299 // credentials used to sign the request. If you specify your account ID, do 7300 // not include any hyphens ('-') in the ID. 7301 // 7302 // AccountId is a required field 7303 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 7304 7305 // The maximum number of vaults to be returned. The default limit is 10. The 7306 // number of vaults returned might be fewer than the specified limit, but the 7307 // number of returned vaults never exceeds the limit. 7308 Limit *string `location:"querystring" locationName:"limit" type:"string"` 7309 7310 // A string used for pagination. The marker specifies the vault ARN after which 7311 // the listing of vaults should begin. 7312 Marker *string `location:"querystring" locationName:"marker" type:"string"` 7313} 7314 7315// String returns the string representation 7316func (s ListVaultsInput) String() string { 7317 return awsutil.Prettify(s) 7318} 7319 7320// GoString returns the string representation 7321func (s ListVaultsInput) GoString() string { 7322 return s.String() 7323} 7324 7325// Validate inspects the fields of the type to determine if they are valid. 7326func (s *ListVaultsInput) Validate() error { 7327 invalidParams := request.ErrInvalidParams{Context: "ListVaultsInput"} 7328 if s.AccountId == nil { 7329 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7330 } 7331 if s.AccountId != nil && len(*s.AccountId) < 1 { 7332 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7333 } 7334 7335 if invalidParams.Len() > 0 { 7336 return invalidParams 7337 } 7338 return nil 7339} 7340 7341// SetAccountId sets the AccountId field's value. 7342func (s *ListVaultsInput) SetAccountId(v string) *ListVaultsInput { 7343 s.AccountId = &v 7344 return s 7345} 7346 7347// SetLimit sets the Limit field's value. 7348func (s *ListVaultsInput) SetLimit(v string) *ListVaultsInput { 7349 s.Limit = &v 7350 return s 7351} 7352 7353// SetMarker sets the Marker field's value. 7354func (s *ListVaultsInput) SetMarker(v string) *ListVaultsInput { 7355 s.Marker = &v 7356 return s 7357} 7358 7359// Contains the Amazon S3 Glacier response to your request. 7360type ListVaultsOutput struct { 7361 _ struct{} `type:"structure"` 7362 7363 // The vault ARN at which to continue pagination of the results. You use the 7364 // marker in another List Vaults request to obtain more vaults in the list. 7365 Marker *string `type:"string"` 7366 7367 // List of vaults. 7368 VaultList []*DescribeVaultOutput `type:"list"` 7369} 7370 7371// String returns the string representation 7372func (s ListVaultsOutput) String() string { 7373 return awsutil.Prettify(s) 7374} 7375 7376// GoString returns the string representation 7377func (s ListVaultsOutput) GoString() string { 7378 return s.String() 7379} 7380 7381// SetMarker sets the Marker field's value. 7382func (s *ListVaultsOutput) SetMarker(v string) *ListVaultsOutput { 7383 s.Marker = &v 7384 return s 7385} 7386 7387// SetVaultList sets the VaultList field's value. 7388func (s *ListVaultsOutput) SetVaultList(v []*DescribeVaultOutput) *ListVaultsOutput { 7389 s.VaultList = v 7390 return s 7391} 7392 7393// Contains information about the location where the select job results are 7394// stored. 7395type OutputLocation struct { 7396 _ struct{} `type:"structure"` 7397 7398 // Describes an S3 location that will receive the results of the job request. 7399 S3 *S3Location `type:"structure"` 7400} 7401 7402// String returns the string representation 7403func (s OutputLocation) String() string { 7404 return awsutil.Prettify(s) 7405} 7406 7407// GoString returns the string representation 7408func (s OutputLocation) GoString() string { 7409 return s.String() 7410} 7411 7412// Validate inspects the fields of the type to determine if they are valid. 7413func (s *OutputLocation) Validate() error { 7414 invalidParams := request.ErrInvalidParams{Context: "OutputLocation"} 7415 if s.S3 != nil { 7416 if err := s.S3.Validate(); err != nil { 7417 invalidParams.AddNested("S3", err.(request.ErrInvalidParams)) 7418 } 7419 } 7420 7421 if invalidParams.Len() > 0 { 7422 return invalidParams 7423 } 7424 return nil 7425} 7426 7427// SetS3 sets the S3 field's value. 7428func (s *OutputLocation) SetS3(v *S3Location) *OutputLocation { 7429 s.S3 = v 7430 return s 7431} 7432 7433// Describes how the select output is serialized. 7434type OutputSerialization struct { 7435 _ struct{} `type:"structure"` 7436 7437 // Describes the serialization of CSV-encoded query results. 7438 Csv *CSVOutput `locationName:"csv" type:"structure"` 7439} 7440 7441// String returns the string representation 7442func (s OutputSerialization) String() string { 7443 return awsutil.Prettify(s) 7444} 7445 7446// GoString returns the string representation 7447func (s OutputSerialization) GoString() string { 7448 return s.String() 7449} 7450 7451// SetCsv sets the Csv field's value. 7452func (s *OutputSerialization) SetCsv(v *CSVOutput) *OutputSerialization { 7453 s.Csv = v 7454 return s 7455} 7456 7457// A list of the part sizes of the multipart upload. 7458type PartListElement struct { 7459 _ struct{} `type:"structure"` 7460 7461 // The byte range of a part, inclusive of the upper value of the range. 7462 RangeInBytes *string `type:"string"` 7463 7464 // The SHA256 tree hash value that Amazon S3 Glacier calculated for the part. 7465 // This field is never null. 7466 SHA256TreeHash *string `type:"string"` 7467} 7468 7469// String returns the string representation 7470func (s PartListElement) String() string { 7471 return awsutil.Prettify(s) 7472} 7473 7474// GoString returns the string representation 7475func (s PartListElement) GoString() string { 7476 return s.String() 7477} 7478 7479// SetRangeInBytes sets the RangeInBytes field's value. 7480func (s *PartListElement) SetRangeInBytes(v string) *PartListElement { 7481 s.RangeInBytes = &v 7482 return s 7483} 7484 7485// SetSHA256TreeHash sets the SHA256TreeHash field's value. 7486func (s *PartListElement) SetSHA256TreeHash(v string) *PartListElement { 7487 s.SHA256TreeHash = &v 7488 return s 7489} 7490 7491// The definition for a provisioned capacity unit. 7492type ProvisionedCapacityDescription struct { 7493 _ struct{} `type:"structure"` 7494 7495 // The ID that identifies the provisioned capacity unit. 7496 CapacityId *string `type:"string"` 7497 7498 // The date that the provisioned capacity unit expires, in Universal Coordinated 7499 // Time (UTC). 7500 ExpirationDate *string `type:"string"` 7501 7502 // The date that the provisioned capacity unit was purchased, in Universal Coordinated 7503 // Time (UTC). 7504 StartDate *string `type:"string"` 7505} 7506 7507// String returns the string representation 7508func (s ProvisionedCapacityDescription) String() string { 7509 return awsutil.Prettify(s) 7510} 7511 7512// GoString returns the string representation 7513func (s ProvisionedCapacityDescription) GoString() string { 7514 return s.String() 7515} 7516 7517// SetCapacityId sets the CapacityId field's value. 7518func (s *ProvisionedCapacityDescription) SetCapacityId(v string) *ProvisionedCapacityDescription { 7519 s.CapacityId = &v 7520 return s 7521} 7522 7523// SetExpirationDate sets the ExpirationDate field's value. 7524func (s *ProvisionedCapacityDescription) SetExpirationDate(v string) *ProvisionedCapacityDescription { 7525 s.ExpirationDate = &v 7526 return s 7527} 7528 7529// SetStartDate sets the StartDate field's value. 7530func (s *ProvisionedCapacityDescription) SetStartDate(v string) *ProvisionedCapacityDescription { 7531 s.StartDate = &v 7532 return s 7533} 7534 7535type PurchaseProvisionedCapacityInput struct { 7536 _ struct{} `type:"structure"` 7537 7538 // The AWS account ID of the account that owns the vault. You can either specify 7539 // an AWS account ID or optionally a single '-' (hyphen), in which case Amazon 7540 // S3 Glacier uses the AWS account ID associated with the credentials used to 7541 // sign the request. If you use an account ID, don't include any hyphens ('-') 7542 // in the ID. 7543 // 7544 // AccountId is a required field 7545 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 7546} 7547 7548// String returns the string representation 7549func (s PurchaseProvisionedCapacityInput) String() string { 7550 return awsutil.Prettify(s) 7551} 7552 7553// GoString returns the string representation 7554func (s PurchaseProvisionedCapacityInput) GoString() string { 7555 return s.String() 7556} 7557 7558// Validate inspects the fields of the type to determine if they are valid. 7559func (s *PurchaseProvisionedCapacityInput) Validate() error { 7560 invalidParams := request.ErrInvalidParams{Context: "PurchaseProvisionedCapacityInput"} 7561 if s.AccountId == nil { 7562 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7563 } 7564 if s.AccountId != nil && len(*s.AccountId) < 1 { 7565 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7566 } 7567 7568 if invalidParams.Len() > 0 { 7569 return invalidParams 7570 } 7571 return nil 7572} 7573 7574// SetAccountId sets the AccountId field's value. 7575func (s *PurchaseProvisionedCapacityInput) SetAccountId(v string) *PurchaseProvisionedCapacityInput { 7576 s.AccountId = &v 7577 return s 7578} 7579 7580type PurchaseProvisionedCapacityOutput struct { 7581 _ struct{} `type:"structure"` 7582 7583 // The ID that identifies the provisioned capacity unit. 7584 CapacityId *string `location:"header" locationName:"x-amz-capacity-id" type:"string"` 7585} 7586 7587// String returns the string representation 7588func (s PurchaseProvisionedCapacityOutput) String() string { 7589 return awsutil.Prettify(s) 7590} 7591 7592// GoString returns the string representation 7593func (s PurchaseProvisionedCapacityOutput) GoString() string { 7594 return s.String() 7595} 7596 7597// SetCapacityId sets the CapacityId field's value. 7598func (s *PurchaseProvisionedCapacityOutput) SetCapacityId(v string) *PurchaseProvisionedCapacityOutput { 7599 s.CapacityId = &v 7600 return s 7601} 7602 7603// The input value for RemoveTagsFromVaultInput. 7604type RemoveTagsFromVaultInput struct { 7605 _ struct{} `type:"structure"` 7606 7607 // The AccountId value is the AWS account ID of the account that owns the vault. 7608 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 7609 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 7610 // credentials used to sign the request. If you use an account ID, do not include 7611 // any hyphens ('-') in the ID. 7612 // 7613 // AccountId is a required field 7614 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 7615 7616 // A list of tag keys. Each corresponding tag is removed from the vault. 7617 TagKeys []*string `type:"list"` 7618 7619 // The name of the vault. 7620 // 7621 // VaultName is a required field 7622 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 7623} 7624 7625// String returns the string representation 7626func (s RemoveTagsFromVaultInput) String() string { 7627 return awsutil.Prettify(s) 7628} 7629 7630// GoString returns the string representation 7631func (s RemoveTagsFromVaultInput) GoString() string { 7632 return s.String() 7633} 7634 7635// Validate inspects the fields of the type to determine if they are valid. 7636func (s *RemoveTagsFromVaultInput) Validate() error { 7637 invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromVaultInput"} 7638 if s.AccountId == nil { 7639 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7640 } 7641 if s.AccountId != nil && len(*s.AccountId) < 1 { 7642 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7643 } 7644 if s.VaultName == nil { 7645 invalidParams.Add(request.NewErrParamRequired("VaultName")) 7646 } 7647 if s.VaultName != nil && len(*s.VaultName) < 1 { 7648 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 7649 } 7650 7651 if invalidParams.Len() > 0 { 7652 return invalidParams 7653 } 7654 return nil 7655} 7656 7657// SetAccountId sets the AccountId field's value. 7658func (s *RemoveTagsFromVaultInput) SetAccountId(v string) *RemoveTagsFromVaultInput { 7659 s.AccountId = &v 7660 return s 7661} 7662 7663// SetTagKeys sets the TagKeys field's value. 7664func (s *RemoveTagsFromVaultInput) SetTagKeys(v []*string) *RemoveTagsFromVaultInput { 7665 s.TagKeys = v 7666 return s 7667} 7668 7669// SetVaultName sets the VaultName field's value. 7670func (s *RemoveTagsFromVaultInput) SetVaultName(v string) *RemoveTagsFromVaultInput { 7671 s.VaultName = &v 7672 return s 7673} 7674 7675type RemoveTagsFromVaultOutput struct { 7676 _ struct{} `type:"structure"` 7677} 7678 7679// String returns the string representation 7680func (s RemoveTagsFromVaultOutput) String() string { 7681 return awsutil.Prettify(s) 7682} 7683 7684// GoString returns the string representation 7685func (s RemoveTagsFromVaultOutput) GoString() string { 7686 return s.String() 7687} 7688 7689// Contains information about the location in Amazon S3 where the select job 7690// results are stored. 7691type S3Location struct { 7692 _ struct{} `type:"structure"` 7693 7694 // A list of grants that control access to the staged results. 7695 AccessControlList []*Grant `type:"list"` 7696 7697 // The name of the Amazon S3 bucket where the job results are stored. 7698 BucketName *string `type:"string"` 7699 7700 // The canned access control list (ACL) to apply to the job results. 7701 CannedACL *string `type:"string" enum:"CannedACL"` 7702 7703 // Contains information about the encryption used to store the job results in 7704 // Amazon S3. 7705 Encryption *Encryption `type:"structure"` 7706 7707 // The prefix that is prepended to the results for this request. 7708 Prefix *string `type:"string"` 7709 7710 // The storage class used to store the job results. 7711 StorageClass *string `type:"string" enum:"StorageClass"` 7712 7713 // The tag-set that is applied to the job results. 7714 Tagging map[string]*string `type:"map"` 7715 7716 // A map of metadata to store with the job results in Amazon S3. 7717 UserMetadata map[string]*string `type:"map"` 7718} 7719 7720// String returns the string representation 7721func (s S3Location) String() string { 7722 return awsutil.Prettify(s) 7723} 7724 7725// GoString returns the string representation 7726func (s S3Location) GoString() string { 7727 return s.String() 7728} 7729 7730// Validate inspects the fields of the type to determine if they are valid. 7731func (s *S3Location) Validate() error { 7732 invalidParams := request.ErrInvalidParams{Context: "S3Location"} 7733 if s.AccessControlList != nil { 7734 for i, v := range s.AccessControlList { 7735 if v == nil { 7736 continue 7737 } 7738 if err := v.Validate(); err != nil { 7739 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccessControlList", i), err.(request.ErrInvalidParams)) 7740 } 7741 } 7742 } 7743 7744 if invalidParams.Len() > 0 { 7745 return invalidParams 7746 } 7747 return nil 7748} 7749 7750// SetAccessControlList sets the AccessControlList field's value. 7751func (s *S3Location) SetAccessControlList(v []*Grant) *S3Location { 7752 s.AccessControlList = v 7753 return s 7754} 7755 7756// SetBucketName sets the BucketName field's value. 7757func (s *S3Location) SetBucketName(v string) *S3Location { 7758 s.BucketName = &v 7759 return s 7760} 7761 7762// SetCannedACL sets the CannedACL field's value. 7763func (s *S3Location) SetCannedACL(v string) *S3Location { 7764 s.CannedACL = &v 7765 return s 7766} 7767 7768// SetEncryption sets the Encryption field's value. 7769func (s *S3Location) SetEncryption(v *Encryption) *S3Location { 7770 s.Encryption = v 7771 return s 7772} 7773 7774// SetPrefix sets the Prefix field's value. 7775func (s *S3Location) SetPrefix(v string) *S3Location { 7776 s.Prefix = &v 7777 return s 7778} 7779 7780// SetStorageClass sets the StorageClass field's value. 7781func (s *S3Location) SetStorageClass(v string) *S3Location { 7782 s.StorageClass = &v 7783 return s 7784} 7785 7786// SetTagging sets the Tagging field's value. 7787func (s *S3Location) SetTagging(v map[string]*string) *S3Location { 7788 s.Tagging = v 7789 return s 7790} 7791 7792// SetUserMetadata sets the UserMetadata field's value. 7793func (s *S3Location) SetUserMetadata(v map[string]*string) *S3Location { 7794 s.UserMetadata = v 7795 return s 7796} 7797 7798// Contains information about the parameters used for a select. 7799type SelectParameters struct { 7800 _ struct{} `type:"structure"` 7801 7802 // The expression that is used to select the object. 7803 Expression *string `type:"string"` 7804 7805 // The type of the provided expression, for example SQL. 7806 ExpressionType *string `type:"string" enum:"ExpressionType"` 7807 7808 // Describes the serialization format of the object. 7809 InputSerialization *InputSerialization `type:"structure"` 7810 7811 // Describes how the results of the select job are serialized. 7812 OutputSerialization *OutputSerialization `type:"structure"` 7813} 7814 7815// String returns the string representation 7816func (s SelectParameters) String() string { 7817 return awsutil.Prettify(s) 7818} 7819 7820// GoString returns the string representation 7821func (s SelectParameters) GoString() string { 7822 return s.String() 7823} 7824 7825// SetExpression sets the Expression field's value. 7826func (s *SelectParameters) SetExpression(v string) *SelectParameters { 7827 s.Expression = &v 7828 return s 7829} 7830 7831// SetExpressionType sets the ExpressionType field's value. 7832func (s *SelectParameters) SetExpressionType(v string) *SelectParameters { 7833 s.ExpressionType = &v 7834 return s 7835} 7836 7837// SetInputSerialization sets the InputSerialization field's value. 7838func (s *SelectParameters) SetInputSerialization(v *InputSerialization) *SelectParameters { 7839 s.InputSerialization = v 7840 return s 7841} 7842 7843// SetOutputSerialization sets the OutputSerialization field's value. 7844func (s *SelectParameters) SetOutputSerialization(v *OutputSerialization) *SelectParameters { 7845 s.OutputSerialization = v 7846 return s 7847} 7848 7849// SetDataRetrievalPolicy input. 7850type SetDataRetrievalPolicyInput struct { 7851 _ struct{} `type:"structure"` 7852 7853 // The AccountId value is the AWS account ID. This value must match the AWS 7854 // account ID associated with the credentials used to sign the request. You 7855 // can either specify an AWS account ID or optionally a single '-' (hyphen), 7856 // in which case Amazon Glacier uses the AWS account ID associated with the 7857 // credentials used to sign the request. If you specify your account ID, do 7858 // not include any hyphens ('-') in the ID. 7859 // 7860 // AccountId is a required field 7861 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 7862 7863 // The data retrieval policy in JSON format. 7864 Policy *DataRetrievalPolicy `type:"structure"` 7865} 7866 7867// String returns the string representation 7868func (s SetDataRetrievalPolicyInput) String() string { 7869 return awsutil.Prettify(s) 7870} 7871 7872// GoString returns the string representation 7873func (s SetDataRetrievalPolicyInput) GoString() string { 7874 return s.String() 7875} 7876 7877// Validate inspects the fields of the type to determine if they are valid. 7878func (s *SetDataRetrievalPolicyInput) Validate() error { 7879 invalidParams := request.ErrInvalidParams{Context: "SetDataRetrievalPolicyInput"} 7880 if s.AccountId == nil { 7881 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7882 } 7883 if s.AccountId != nil && len(*s.AccountId) < 1 { 7884 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7885 } 7886 7887 if invalidParams.Len() > 0 { 7888 return invalidParams 7889 } 7890 return nil 7891} 7892 7893// SetAccountId sets the AccountId field's value. 7894func (s *SetDataRetrievalPolicyInput) SetAccountId(v string) *SetDataRetrievalPolicyInput { 7895 s.AccountId = &v 7896 return s 7897} 7898 7899// SetPolicy sets the Policy field's value. 7900func (s *SetDataRetrievalPolicyInput) SetPolicy(v *DataRetrievalPolicy) *SetDataRetrievalPolicyInput { 7901 s.Policy = v 7902 return s 7903} 7904 7905type SetDataRetrievalPolicyOutput struct { 7906 _ struct{} `type:"structure"` 7907} 7908 7909// String returns the string representation 7910func (s SetDataRetrievalPolicyOutput) String() string { 7911 return awsutil.Prettify(s) 7912} 7913 7914// GoString returns the string representation 7915func (s SetDataRetrievalPolicyOutput) GoString() string { 7916 return s.String() 7917} 7918 7919// SetVaultAccessPolicy input. 7920type SetVaultAccessPolicyInput struct { 7921 _ struct{} `type:"structure" payload:"Policy"` 7922 7923 // The AccountId value is the AWS account ID of the account that owns the vault. 7924 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 7925 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 7926 // credentials used to sign the request. If you use an account ID, do not include 7927 // any hyphens ('-') in the ID. 7928 // 7929 // AccountId is a required field 7930 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 7931 7932 // The vault access policy as a JSON string. 7933 Policy *VaultAccessPolicy `locationName:"policy" type:"structure"` 7934 7935 // The name of the vault. 7936 // 7937 // VaultName is a required field 7938 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 7939} 7940 7941// String returns the string representation 7942func (s SetVaultAccessPolicyInput) String() string { 7943 return awsutil.Prettify(s) 7944} 7945 7946// GoString returns the string representation 7947func (s SetVaultAccessPolicyInput) GoString() string { 7948 return s.String() 7949} 7950 7951// Validate inspects the fields of the type to determine if they are valid. 7952func (s *SetVaultAccessPolicyInput) Validate() error { 7953 invalidParams := request.ErrInvalidParams{Context: "SetVaultAccessPolicyInput"} 7954 if s.AccountId == nil { 7955 invalidParams.Add(request.NewErrParamRequired("AccountId")) 7956 } 7957 if s.AccountId != nil && len(*s.AccountId) < 1 { 7958 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 7959 } 7960 if s.VaultName == nil { 7961 invalidParams.Add(request.NewErrParamRequired("VaultName")) 7962 } 7963 if s.VaultName != nil && len(*s.VaultName) < 1 { 7964 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 7965 } 7966 7967 if invalidParams.Len() > 0 { 7968 return invalidParams 7969 } 7970 return nil 7971} 7972 7973// SetAccountId sets the AccountId field's value. 7974func (s *SetVaultAccessPolicyInput) SetAccountId(v string) *SetVaultAccessPolicyInput { 7975 s.AccountId = &v 7976 return s 7977} 7978 7979// SetPolicy sets the Policy field's value. 7980func (s *SetVaultAccessPolicyInput) SetPolicy(v *VaultAccessPolicy) *SetVaultAccessPolicyInput { 7981 s.Policy = v 7982 return s 7983} 7984 7985// SetVaultName sets the VaultName field's value. 7986func (s *SetVaultAccessPolicyInput) SetVaultName(v string) *SetVaultAccessPolicyInput { 7987 s.VaultName = &v 7988 return s 7989} 7990 7991type SetVaultAccessPolicyOutput struct { 7992 _ struct{} `type:"structure"` 7993} 7994 7995// String returns the string representation 7996func (s SetVaultAccessPolicyOutput) String() string { 7997 return awsutil.Prettify(s) 7998} 7999 8000// GoString returns the string representation 8001func (s SetVaultAccessPolicyOutput) GoString() string { 8002 return s.String() 8003} 8004 8005// Provides options to configure notifications that will be sent when specific 8006// events happen to a vault. 8007type SetVaultNotificationsInput struct { 8008 _ struct{} `type:"structure" payload:"VaultNotificationConfig"` 8009 8010 // The AccountId value is the AWS account ID of the account that owns the vault. 8011 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 8012 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 8013 // credentials used to sign the request. If you use an account ID, do not include 8014 // any hyphens ('-') in the ID. 8015 // 8016 // AccountId is a required field 8017 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 8018 8019 // The name of the vault. 8020 // 8021 // VaultName is a required field 8022 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 8023 8024 // Provides options for specifying notification configuration. 8025 VaultNotificationConfig *VaultNotificationConfig `locationName:"vaultNotificationConfig" type:"structure"` 8026} 8027 8028// String returns the string representation 8029func (s SetVaultNotificationsInput) String() string { 8030 return awsutil.Prettify(s) 8031} 8032 8033// GoString returns the string representation 8034func (s SetVaultNotificationsInput) GoString() string { 8035 return s.String() 8036} 8037 8038// Validate inspects the fields of the type to determine if they are valid. 8039func (s *SetVaultNotificationsInput) Validate() error { 8040 invalidParams := request.ErrInvalidParams{Context: "SetVaultNotificationsInput"} 8041 if s.AccountId == nil { 8042 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8043 } 8044 if s.AccountId != nil && len(*s.AccountId) < 1 { 8045 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8046 } 8047 if s.VaultName == nil { 8048 invalidParams.Add(request.NewErrParamRequired("VaultName")) 8049 } 8050 if s.VaultName != nil && len(*s.VaultName) < 1 { 8051 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 8052 } 8053 8054 if invalidParams.Len() > 0 { 8055 return invalidParams 8056 } 8057 return nil 8058} 8059 8060// SetAccountId sets the AccountId field's value. 8061func (s *SetVaultNotificationsInput) SetAccountId(v string) *SetVaultNotificationsInput { 8062 s.AccountId = &v 8063 return s 8064} 8065 8066// SetVaultName sets the VaultName field's value. 8067func (s *SetVaultNotificationsInput) SetVaultName(v string) *SetVaultNotificationsInput { 8068 s.VaultName = &v 8069 return s 8070} 8071 8072// SetVaultNotificationConfig sets the VaultNotificationConfig field's value. 8073func (s *SetVaultNotificationsInput) SetVaultNotificationConfig(v *VaultNotificationConfig) *SetVaultNotificationsInput { 8074 s.VaultNotificationConfig = v 8075 return s 8076} 8077 8078type SetVaultNotificationsOutput struct { 8079 _ struct{} `type:"structure"` 8080} 8081 8082// String returns the string representation 8083func (s SetVaultNotificationsOutput) String() string { 8084 return awsutil.Prettify(s) 8085} 8086 8087// GoString returns the string representation 8088func (s SetVaultNotificationsOutput) GoString() string { 8089 return s.String() 8090} 8091 8092// Provides options to add an archive to a vault. 8093type UploadArchiveInput struct { 8094 _ struct{} `type:"structure" payload:"Body"` 8095 8096 // The AccountId value is the AWS account ID of the account that owns the vault. 8097 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 8098 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 8099 // credentials used to sign the request. If you use an account ID, do not include 8100 // any hyphens ('-') in the ID. 8101 // 8102 // AccountId is a required field 8103 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 8104 8105 // The optional description of the archive you are uploading. 8106 ArchiveDescription *string `location:"header" locationName:"x-amz-archive-description" type:"string"` 8107 8108 // The data to upload. 8109 Body io.ReadSeeker `locationName:"body" type:"blob"` 8110 8111 // The SHA256 tree hash of the data being uploaded. 8112 Checksum *string `location:"header" locationName:"x-amz-sha256-tree-hash" type:"string"` 8113 8114 // The name of the vault. 8115 // 8116 // VaultName is a required field 8117 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 8118} 8119 8120// String returns the string representation 8121func (s UploadArchiveInput) String() string { 8122 return awsutil.Prettify(s) 8123} 8124 8125// GoString returns the string representation 8126func (s UploadArchiveInput) GoString() string { 8127 return s.String() 8128} 8129 8130// Validate inspects the fields of the type to determine if they are valid. 8131func (s *UploadArchiveInput) Validate() error { 8132 invalidParams := request.ErrInvalidParams{Context: "UploadArchiveInput"} 8133 if s.AccountId == nil { 8134 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8135 } 8136 if s.AccountId != nil && len(*s.AccountId) < 1 { 8137 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8138 } 8139 if s.VaultName == nil { 8140 invalidParams.Add(request.NewErrParamRequired("VaultName")) 8141 } 8142 if s.VaultName != nil && len(*s.VaultName) < 1 { 8143 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 8144 } 8145 8146 if invalidParams.Len() > 0 { 8147 return invalidParams 8148 } 8149 return nil 8150} 8151 8152// SetAccountId sets the AccountId field's value. 8153func (s *UploadArchiveInput) SetAccountId(v string) *UploadArchiveInput { 8154 s.AccountId = &v 8155 return s 8156} 8157 8158// SetArchiveDescription sets the ArchiveDescription field's value. 8159func (s *UploadArchiveInput) SetArchiveDescription(v string) *UploadArchiveInput { 8160 s.ArchiveDescription = &v 8161 return s 8162} 8163 8164// SetBody sets the Body field's value. 8165func (s *UploadArchiveInput) SetBody(v io.ReadSeeker) *UploadArchiveInput { 8166 s.Body = v 8167 return s 8168} 8169 8170// SetChecksum sets the Checksum field's value. 8171func (s *UploadArchiveInput) SetChecksum(v string) *UploadArchiveInput { 8172 s.Checksum = &v 8173 return s 8174} 8175 8176// SetVaultName sets the VaultName field's value. 8177func (s *UploadArchiveInput) SetVaultName(v string) *UploadArchiveInput { 8178 s.VaultName = &v 8179 return s 8180} 8181 8182// A list of in-progress multipart uploads for a vault. 8183type UploadListElement struct { 8184 _ struct{} `type:"structure"` 8185 8186 // The description of the archive that was specified in the Initiate Multipart 8187 // Upload request. 8188 ArchiveDescription *string `type:"string"` 8189 8190 // The UTC time at which the multipart upload was initiated. 8191 CreationDate *string `type:"string"` 8192 8193 // The ID of a multipart upload. 8194 MultipartUploadId *string `type:"string"` 8195 8196 // The part size, in bytes, specified in the Initiate Multipart Upload request. 8197 // This is the size of all the parts in the upload except the last part, which 8198 // may be smaller than this size. 8199 PartSizeInBytes *int64 `type:"long"` 8200 8201 // The Amazon Resource Name (ARN) of the vault that contains the archive. 8202 VaultARN *string `type:"string"` 8203} 8204 8205// String returns the string representation 8206func (s UploadListElement) String() string { 8207 return awsutil.Prettify(s) 8208} 8209 8210// GoString returns the string representation 8211func (s UploadListElement) GoString() string { 8212 return s.String() 8213} 8214 8215// SetArchiveDescription sets the ArchiveDescription field's value. 8216func (s *UploadListElement) SetArchiveDescription(v string) *UploadListElement { 8217 s.ArchiveDescription = &v 8218 return s 8219} 8220 8221// SetCreationDate sets the CreationDate field's value. 8222func (s *UploadListElement) SetCreationDate(v string) *UploadListElement { 8223 s.CreationDate = &v 8224 return s 8225} 8226 8227// SetMultipartUploadId sets the MultipartUploadId field's value. 8228func (s *UploadListElement) SetMultipartUploadId(v string) *UploadListElement { 8229 s.MultipartUploadId = &v 8230 return s 8231} 8232 8233// SetPartSizeInBytes sets the PartSizeInBytes field's value. 8234func (s *UploadListElement) SetPartSizeInBytes(v int64) *UploadListElement { 8235 s.PartSizeInBytes = &v 8236 return s 8237} 8238 8239// SetVaultARN sets the VaultARN field's value. 8240func (s *UploadListElement) SetVaultARN(v string) *UploadListElement { 8241 s.VaultARN = &v 8242 return s 8243} 8244 8245// Provides options to upload a part of an archive in a multipart upload operation. 8246type UploadMultipartPartInput struct { 8247 _ struct{} `type:"structure" payload:"Body"` 8248 8249 // The AccountId value is the AWS account ID of the account that owns the vault. 8250 // You can either specify an AWS account ID or optionally a single '-' (hyphen), 8251 // in which case Amazon S3 Glacier uses the AWS account ID associated with the 8252 // credentials used to sign the request. If you use an account ID, do not include 8253 // any hyphens ('-') in the ID. 8254 // 8255 // AccountId is a required field 8256 AccountId *string `location:"uri" locationName:"accountId" type:"string" required:"true"` 8257 8258 // The data to upload. 8259 Body io.ReadSeeker `locationName:"body" type:"blob"` 8260 8261 // The SHA256 tree hash of the data being uploaded. 8262 Checksum *string `location:"header" locationName:"x-amz-sha256-tree-hash" type:"string"` 8263 8264 // Identifies the range of bytes in the assembled archive that will be uploaded 8265 // in this part. Amazon S3 Glacier uses this information to assemble the archive 8266 // in the proper sequence. The format of this header follows RFC 2616. An example 8267 // header is Content-Range:bytes 0-4194303/*. 8268 Range *string `location:"header" locationName:"Content-Range" type:"string"` 8269 8270 // The upload ID of the multipart upload. 8271 // 8272 // UploadId is a required field 8273 UploadId *string `location:"uri" locationName:"uploadId" type:"string" required:"true"` 8274 8275 // The name of the vault. 8276 // 8277 // VaultName is a required field 8278 VaultName *string `location:"uri" locationName:"vaultName" type:"string" required:"true"` 8279} 8280 8281// String returns the string representation 8282func (s UploadMultipartPartInput) String() string { 8283 return awsutil.Prettify(s) 8284} 8285 8286// GoString returns the string representation 8287func (s UploadMultipartPartInput) GoString() string { 8288 return s.String() 8289} 8290 8291// Validate inspects the fields of the type to determine if they are valid. 8292func (s *UploadMultipartPartInput) Validate() error { 8293 invalidParams := request.ErrInvalidParams{Context: "UploadMultipartPartInput"} 8294 if s.AccountId == nil { 8295 invalidParams.Add(request.NewErrParamRequired("AccountId")) 8296 } 8297 if s.AccountId != nil && len(*s.AccountId) < 1 { 8298 invalidParams.Add(request.NewErrParamMinLen("AccountId", 1)) 8299 } 8300 if s.UploadId == nil { 8301 invalidParams.Add(request.NewErrParamRequired("UploadId")) 8302 } 8303 if s.UploadId != nil && len(*s.UploadId) < 1 { 8304 invalidParams.Add(request.NewErrParamMinLen("UploadId", 1)) 8305 } 8306 if s.VaultName == nil { 8307 invalidParams.Add(request.NewErrParamRequired("VaultName")) 8308 } 8309 if s.VaultName != nil && len(*s.VaultName) < 1 { 8310 invalidParams.Add(request.NewErrParamMinLen("VaultName", 1)) 8311 } 8312 8313 if invalidParams.Len() > 0 { 8314 return invalidParams 8315 } 8316 return nil 8317} 8318 8319// SetAccountId sets the AccountId field's value. 8320func (s *UploadMultipartPartInput) SetAccountId(v string) *UploadMultipartPartInput { 8321 s.AccountId = &v 8322 return s 8323} 8324 8325// SetBody sets the Body field's value. 8326func (s *UploadMultipartPartInput) SetBody(v io.ReadSeeker) *UploadMultipartPartInput { 8327 s.Body = v 8328 return s 8329} 8330 8331// SetChecksum sets the Checksum field's value. 8332func (s *UploadMultipartPartInput) SetChecksum(v string) *UploadMultipartPartInput { 8333 s.Checksum = &v 8334 return s 8335} 8336 8337// SetRange sets the Range field's value. 8338func (s *UploadMultipartPartInput) SetRange(v string) *UploadMultipartPartInput { 8339 s.Range = &v 8340 return s 8341} 8342 8343// SetUploadId sets the UploadId field's value. 8344func (s *UploadMultipartPartInput) SetUploadId(v string) *UploadMultipartPartInput { 8345 s.UploadId = &v 8346 return s 8347} 8348 8349// SetVaultName sets the VaultName field's value. 8350func (s *UploadMultipartPartInput) SetVaultName(v string) *UploadMultipartPartInput { 8351 s.VaultName = &v 8352 return s 8353} 8354 8355// Contains the Amazon S3 Glacier response to your request. 8356type UploadMultipartPartOutput struct { 8357 _ struct{} `type:"structure"` 8358 8359 // The SHA256 tree hash that Amazon S3 Glacier computed for the uploaded part. 8360 Checksum *string `location:"header" locationName:"x-amz-sha256-tree-hash" type:"string"` 8361} 8362 8363// String returns the string representation 8364func (s UploadMultipartPartOutput) String() string { 8365 return awsutil.Prettify(s) 8366} 8367 8368// GoString returns the string representation 8369func (s UploadMultipartPartOutput) GoString() string { 8370 return s.String() 8371} 8372 8373// SetChecksum sets the Checksum field's value. 8374func (s *UploadMultipartPartOutput) SetChecksum(v string) *UploadMultipartPartOutput { 8375 s.Checksum = &v 8376 return s 8377} 8378 8379// Contains the vault access policy. 8380type VaultAccessPolicy struct { 8381 _ struct{} `type:"structure"` 8382 8383 // The vault access policy. 8384 Policy *string `type:"string"` 8385} 8386 8387// String returns the string representation 8388func (s VaultAccessPolicy) String() string { 8389 return awsutil.Prettify(s) 8390} 8391 8392// GoString returns the string representation 8393func (s VaultAccessPolicy) GoString() string { 8394 return s.String() 8395} 8396 8397// SetPolicy sets the Policy field's value. 8398func (s *VaultAccessPolicy) SetPolicy(v string) *VaultAccessPolicy { 8399 s.Policy = &v 8400 return s 8401} 8402 8403// Contains the vault lock policy. 8404type VaultLockPolicy struct { 8405 _ struct{} `type:"structure"` 8406 8407 // The vault lock policy. 8408 Policy *string `type:"string"` 8409} 8410 8411// String returns the string representation 8412func (s VaultLockPolicy) String() string { 8413 return awsutil.Prettify(s) 8414} 8415 8416// GoString returns the string representation 8417func (s VaultLockPolicy) GoString() string { 8418 return s.String() 8419} 8420 8421// SetPolicy sets the Policy field's value. 8422func (s *VaultLockPolicy) SetPolicy(v string) *VaultLockPolicy { 8423 s.Policy = &v 8424 return s 8425} 8426 8427// Represents a vault's notification configuration. 8428type VaultNotificationConfig struct { 8429 _ struct{} `type:"structure"` 8430 8431 // A list of one or more events for which Amazon S3 Glacier will send a notification 8432 // to the specified Amazon SNS topic. 8433 Events []*string `type:"list"` 8434 8435 // The Amazon Simple Notification Service (Amazon SNS) topic Amazon Resource 8436 // Name (ARN). 8437 SNSTopic *string `type:"string"` 8438} 8439 8440// String returns the string representation 8441func (s VaultNotificationConfig) String() string { 8442 return awsutil.Prettify(s) 8443} 8444 8445// GoString returns the string representation 8446func (s VaultNotificationConfig) GoString() string { 8447 return s.String() 8448} 8449 8450// SetEvents sets the Events field's value. 8451func (s *VaultNotificationConfig) SetEvents(v []*string) *VaultNotificationConfig { 8452 s.Events = v 8453 return s 8454} 8455 8456// SetSNSTopic sets the SNSTopic field's value. 8457func (s *VaultNotificationConfig) SetSNSTopic(v string) *VaultNotificationConfig { 8458 s.SNSTopic = &v 8459 return s 8460} 8461 8462const ( 8463 // ActionCodeArchiveRetrieval is a ActionCode enum value 8464 ActionCodeArchiveRetrieval = "ArchiveRetrieval" 8465 8466 // ActionCodeInventoryRetrieval is a ActionCode enum value 8467 ActionCodeInventoryRetrieval = "InventoryRetrieval" 8468 8469 // ActionCodeSelect is a ActionCode enum value 8470 ActionCodeSelect = "Select" 8471) 8472 8473const ( 8474 // CannedACLPrivate is a CannedACL enum value 8475 CannedACLPrivate = "private" 8476 8477 // CannedACLPublicRead is a CannedACL enum value 8478 CannedACLPublicRead = "public-read" 8479 8480 // CannedACLPublicReadWrite is a CannedACL enum value 8481 CannedACLPublicReadWrite = "public-read-write" 8482 8483 // CannedACLAwsExecRead is a CannedACL enum value 8484 CannedACLAwsExecRead = "aws-exec-read" 8485 8486 // CannedACLAuthenticatedRead is a CannedACL enum value 8487 CannedACLAuthenticatedRead = "authenticated-read" 8488 8489 // CannedACLBucketOwnerRead is a CannedACL enum value 8490 CannedACLBucketOwnerRead = "bucket-owner-read" 8491 8492 // CannedACLBucketOwnerFullControl is a CannedACL enum value 8493 CannedACLBucketOwnerFullControl = "bucket-owner-full-control" 8494) 8495 8496const ( 8497 // EncryptionTypeAwsKms is a EncryptionType enum value 8498 EncryptionTypeAwsKms = "aws:kms" 8499 8500 // EncryptionTypeAes256 is a EncryptionType enum value 8501 EncryptionTypeAes256 = "AES256" 8502) 8503 8504const ( 8505 // ExpressionTypeSql is a ExpressionType enum value 8506 ExpressionTypeSql = "SQL" 8507) 8508 8509const ( 8510 // FileHeaderInfoUse is a FileHeaderInfo enum value 8511 FileHeaderInfoUse = "USE" 8512 8513 // FileHeaderInfoIgnore is a FileHeaderInfo enum value 8514 FileHeaderInfoIgnore = "IGNORE" 8515 8516 // FileHeaderInfoNone is a FileHeaderInfo enum value 8517 FileHeaderInfoNone = "NONE" 8518) 8519 8520const ( 8521 // PermissionFullControl is a Permission enum value 8522 PermissionFullControl = "FULL_CONTROL" 8523 8524 // PermissionWrite is a Permission enum value 8525 PermissionWrite = "WRITE" 8526 8527 // PermissionWriteAcp is a Permission enum value 8528 PermissionWriteAcp = "WRITE_ACP" 8529 8530 // PermissionRead is a Permission enum value 8531 PermissionRead = "READ" 8532 8533 // PermissionReadAcp is a Permission enum value 8534 PermissionReadAcp = "READ_ACP" 8535) 8536 8537const ( 8538 // QuoteFieldsAlways is a QuoteFields enum value 8539 QuoteFieldsAlways = "ALWAYS" 8540 8541 // QuoteFieldsAsneeded is a QuoteFields enum value 8542 QuoteFieldsAsneeded = "ASNEEDED" 8543) 8544 8545const ( 8546 // StatusCodeInProgress is a StatusCode enum value 8547 StatusCodeInProgress = "InProgress" 8548 8549 // StatusCodeSucceeded is a StatusCode enum value 8550 StatusCodeSucceeded = "Succeeded" 8551 8552 // StatusCodeFailed is a StatusCode enum value 8553 StatusCodeFailed = "Failed" 8554) 8555 8556const ( 8557 // StorageClassStandard is a StorageClass enum value 8558 StorageClassStandard = "STANDARD" 8559 8560 // StorageClassReducedRedundancy is a StorageClass enum value 8561 StorageClassReducedRedundancy = "REDUCED_REDUNDANCY" 8562 8563 // StorageClassStandardIa is a StorageClass enum value 8564 StorageClassStandardIa = "STANDARD_IA" 8565) 8566 8567const ( 8568 // TypeAmazonCustomerByEmail is a Type enum value 8569 TypeAmazonCustomerByEmail = "AmazonCustomerByEmail" 8570 8571 // TypeCanonicalUser is a Type enum value 8572 TypeCanonicalUser = "CanonicalUser" 8573 8574 // TypeGroup is a Type enum value 8575 TypeGroup = "Group" 8576) 8577