1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package backup
4
5import (
6	"fmt"
7	"time"
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 opCreateBackupPlan = "CreateBackupPlan"
17
18// CreateBackupPlanRequest generates a "aws/request.Request" representing the
19// client's request for the CreateBackupPlan 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 CreateBackupPlan for more information on using the CreateBackupPlan
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 CreateBackupPlanRequest method.
34//    req, resp := client.CreateBackupPlanRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateBackupPlan
42func (c *Backup) CreateBackupPlanRequest(input *CreateBackupPlanInput) (req *request.Request, output *CreateBackupPlanOutput) {
43	op := &request.Operation{
44		Name:       opCreateBackupPlan,
45		HTTPMethod: "PUT",
46		HTTPPath:   "/backup/plans/",
47	}
48
49	if input == nil {
50		input = &CreateBackupPlanInput{}
51	}
52
53	output = &CreateBackupPlanOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// CreateBackupPlan API operation for AWS Backup.
59//
60// Backup plans are documents that contain information that AWS Backup uses
61// to schedule tasks that create recovery points of resources.
62//
63// If you call CreateBackupPlan with a plan that already exists, the existing
64// backupPlanId is returned.
65//
66// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
67// with awserr.Error's Code and Message methods to get detailed information about
68// the error.
69//
70// See the AWS API reference guide for AWS Backup's
71// API operation CreateBackupPlan for usage and error information.
72//
73// Returned Error Codes:
74//   * ErrCodeLimitExceededException "LimitExceededException"
75//   A limit in the request has been exceeded; for example, a maximum number of
76//   items allowed in a request.
77//
78//   * ErrCodeAlreadyExistsException "AlreadyExistsException"
79//   The required resource already exists.
80//
81//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
82//   Indicates that something is wrong with a parameter's value. For example,
83//   the value is out of range.
84//
85//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
86//   Indicates that a required parameter is missing.
87//
88//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
89//   The request failed due to a temporary failure of the server.
90//
91// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateBackupPlan
92func (c *Backup) CreateBackupPlan(input *CreateBackupPlanInput) (*CreateBackupPlanOutput, error) {
93	req, out := c.CreateBackupPlanRequest(input)
94	return out, req.Send()
95}
96
97// CreateBackupPlanWithContext is the same as CreateBackupPlan with the addition of
98// the ability to pass a context and additional request options.
99//
100// See CreateBackupPlan for details on how to use this API operation.
101//
102// The context must be non-nil and will be used for request cancellation. If
103// the context is nil a panic will occur. In the future the SDK may create
104// sub-contexts for http.Requests. See https://golang.org/pkg/context/
105// for more information on using Contexts.
106func (c *Backup) CreateBackupPlanWithContext(ctx aws.Context, input *CreateBackupPlanInput, opts ...request.Option) (*CreateBackupPlanOutput, error) {
107	req, out := c.CreateBackupPlanRequest(input)
108	req.SetContext(ctx)
109	req.ApplyOptions(opts...)
110	return out, req.Send()
111}
112
113const opCreateBackupSelection = "CreateBackupSelection"
114
115// CreateBackupSelectionRequest generates a "aws/request.Request" representing the
116// client's request for the CreateBackupSelection operation. The "output" return
117// value will be populated with the request's response once the request completes
118// successfully.
119//
120// Use "Send" method on the returned Request to send the API call to the service.
121// the "output" return value is not valid until after Send returns without error.
122//
123// See CreateBackupSelection for more information on using the CreateBackupSelection
124// API call, and error handling.
125//
126// This method is useful when you want to inject custom logic or configuration
127// into the SDK's request lifecycle. Such as custom headers, or retry logic.
128//
129//
130//    // Example sending a request using the CreateBackupSelectionRequest method.
131//    req, resp := client.CreateBackupSelectionRequest(params)
132//
133//    err := req.Send()
134//    if err == nil { // resp is now filled
135//        fmt.Println(resp)
136//    }
137//
138// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateBackupSelection
139func (c *Backup) CreateBackupSelectionRequest(input *CreateBackupSelectionInput) (req *request.Request, output *CreateBackupSelectionOutput) {
140	op := &request.Operation{
141		Name:       opCreateBackupSelection,
142		HTTPMethod: "PUT",
143		HTTPPath:   "/backup/plans/{backupPlanId}/selections/",
144	}
145
146	if input == nil {
147		input = &CreateBackupSelectionInput{}
148	}
149
150	output = &CreateBackupSelectionOutput{}
151	req = c.newRequest(op, input, output)
152	return
153}
154
155// CreateBackupSelection API operation for AWS Backup.
156//
157// Creates a JSON document that specifies a set of resources to assign to a
158// backup plan. Resources can be included by specifying patterns for a ListOfTags
159// and selected Resources.
160//
161// For example, consider the following patterns:
162//
163//    * Resources: "arn:aws:ec2:region:account-id:volume/volume-id"
164//
165//    * ConditionKey:"department" ConditionValue:"finance" ConditionType:"StringEquals"
166//
167//    * ConditionKey:"importance" ConditionValue:"critical" ConditionType:"StringEquals"
168//
169// Using these patterns would back up all Amazon Elastic Block Store (Amazon
170// EBS) volumes that are tagged as "department=finance", "importance=critical",
171// in addition to an EBS volume with the specified volume Id.
172//
173// Resources and conditions are additive in that all resources that match the
174// pattern are selected. This shouldn't be confused with a logical AND, where
175// all conditions must match. The matching patterns are logically 'put together
176// using the OR operator. In other words, all patterns that match are selected
177// for backup.
178//
179// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
180// with awserr.Error's Code and Message methods to get detailed information about
181// the error.
182//
183// See the AWS API reference guide for AWS Backup's
184// API operation CreateBackupSelection for usage and error information.
185//
186// Returned Error Codes:
187//   * ErrCodeLimitExceededException "LimitExceededException"
188//   A limit in the request has been exceeded; for example, a maximum number of
189//   items allowed in a request.
190//
191//   * ErrCodeAlreadyExistsException "AlreadyExistsException"
192//   The required resource already exists.
193//
194//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
195//   Indicates that something is wrong with a parameter's value. For example,
196//   the value is out of range.
197//
198//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
199//   Indicates that a required parameter is missing.
200//
201//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
202//   The request failed due to a temporary failure of the server.
203//
204// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateBackupSelection
205func (c *Backup) CreateBackupSelection(input *CreateBackupSelectionInput) (*CreateBackupSelectionOutput, error) {
206	req, out := c.CreateBackupSelectionRequest(input)
207	return out, req.Send()
208}
209
210// CreateBackupSelectionWithContext is the same as CreateBackupSelection with the addition of
211// the ability to pass a context and additional request options.
212//
213// See CreateBackupSelection for details on how to use this API operation.
214//
215// The context must be non-nil and will be used for request cancellation. If
216// the context is nil a panic will occur. In the future the SDK may create
217// sub-contexts for http.Requests. See https://golang.org/pkg/context/
218// for more information on using Contexts.
219func (c *Backup) CreateBackupSelectionWithContext(ctx aws.Context, input *CreateBackupSelectionInput, opts ...request.Option) (*CreateBackupSelectionOutput, error) {
220	req, out := c.CreateBackupSelectionRequest(input)
221	req.SetContext(ctx)
222	req.ApplyOptions(opts...)
223	return out, req.Send()
224}
225
226const opCreateBackupVault = "CreateBackupVault"
227
228// CreateBackupVaultRequest generates a "aws/request.Request" representing the
229// client's request for the CreateBackupVault operation. The "output" return
230// value will be populated with the request's response once the request completes
231// successfully.
232//
233// Use "Send" method on the returned Request to send the API call to the service.
234// the "output" return value is not valid until after Send returns without error.
235//
236// See CreateBackupVault for more information on using the CreateBackupVault
237// API call, and error handling.
238//
239// This method is useful when you want to inject custom logic or configuration
240// into the SDK's request lifecycle. Such as custom headers, or retry logic.
241//
242//
243//    // Example sending a request using the CreateBackupVaultRequest method.
244//    req, resp := client.CreateBackupVaultRequest(params)
245//
246//    err := req.Send()
247//    if err == nil { // resp is now filled
248//        fmt.Println(resp)
249//    }
250//
251// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateBackupVault
252func (c *Backup) CreateBackupVaultRequest(input *CreateBackupVaultInput) (req *request.Request, output *CreateBackupVaultOutput) {
253	op := &request.Operation{
254		Name:       opCreateBackupVault,
255		HTTPMethod: "PUT",
256		HTTPPath:   "/backup-vaults/{backupVaultName}",
257	}
258
259	if input == nil {
260		input = &CreateBackupVaultInput{}
261	}
262
263	output = &CreateBackupVaultOutput{}
264	req = c.newRequest(op, input, output)
265	return
266}
267
268// CreateBackupVault API operation for AWS Backup.
269//
270// Creates a logical container where backups are stored. A CreateBackupVault
271// request includes a name, optionally one or more resource tags, an encryption
272// key, and a request ID.
273//
274// Sensitive data, such as passport numbers, should not be included the name
275// of a backup vault.
276//
277// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
278// with awserr.Error's Code and Message methods to get detailed information about
279// the error.
280//
281// See the AWS API reference guide for AWS Backup's
282// API operation CreateBackupVault for usage and error information.
283//
284// Returned Error Codes:
285//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
286//   Indicates that something is wrong with a parameter's value. For example,
287//   the value is out of range.
288//
289//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
290//   Indicates that a required parameter is missing.
291//
292//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
293//   The request failed due to a temporary failure of the server.
294//
295//   * ErrCodeLimitExceededException "LimitExceededException"
296//   A limit in the request has been exceeded; for example, a maximum number of
297//   items allowed in a request.
298//
299//   * ErrCodeAlreadyExistsException "AlreadyExistsException"
300//   The required resource already exists.
301//
302// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/CreateBackupVault
303func (c *Backup) CreateBackupVault(input *CreateBackupVaultInput) (*CreateBackupVaultOutput, error) {
304	req, out := c.CreateBackupVaultRequest(input)
305	return out, req.Send()
306}
307
308// CreateBackupVaultWithContext is the same as CreateBackupVault with the addition of
309// the ability to pass a context and additional request options.
310//
311// See CreateBackupVault for details on how to use this API operation.
312//
313// The context must be non-nil and will be used for request cancellation. If
314// the context is nil a panic will occur. In the future the SDK may create
315// sub-contexts for http.Requests. See https://golang.org/pkg/context/
316// for more information on using Contexts.
317func (c *Backup) CreateBackupVaultWithContext(ctx aws.Context, input *CreateBackupVaultInput, opts ...request.Option) (*CreateBackupVaultOutput, error) {
318	req, out := c.CreateBackupVaultRequest(input)
319	req.SetContext(ctx)
320	req.ApplyOptions(opts...)
321	return out, req.Send()
322}
323
324const opDeleteBackupPlan = "DeleteBackupPlan"
325
326// DeleteBackupPlanRequest generates a "aws/request.Request" representing the
327// client's request for the DeleteBackupPlan operation. The "output" return
328// value will be populated with the request's response once the request completes
329// successfully.
330//
331// Use "Send" method on the returned Request to send the API call to the service.
332// the "output" return value is not valid until after Send returns without error.
333//
334// See DeleteBackupPlan for more information on using the DeleteBackupPlan
335// API call, and error handling.
336//
337// This method is useful when you want to inject custom logic or configuration
338// into the SDK's request lifecycle. Such as custom headers, or retry logic.
339//
340//
341//    // Example sending a request using the DeleteBackupPlanRequest method.
342//    req, resp := client.DeleteBackupPlanRequest(params)
343//
344//    err := req.Send()
345//    if err == nil { // resp is now filled
346//        fmt.Println(resp)
347//    }
348//
349// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupPlan
350func (c *Backup) DeleteBackupPlanRequest(input *DeleteBackupPlanInput) (req *request.Request, output *DeleteBackupPlanOutput) {
351	op := &request.Operation{
352		Name:       opDeleteBackupPlan,
353		HTTPMethod: "DELETE",
354		HTTPPath:   "/backup/plans/{backupPlanId}",
355	}
356
357	if input == nil {
358		input = &DeleteBackupPlanInput{}
359	}
360
361	output = &DeleteBackupPlanOutput{}
362	req = c.newRequest(op, input, output)
363	return
364}
365
366// DeleteBackupPlan API operation for AWS Backup.
367//
368// Deletes a backup plan. A backup plan can only be deleted after all associated
369// selections of resources have been deleted. Deleting a backup plan deletes
370// the current version of a backup plan. Previous versions, if any, will still
371// exist.
372//
373// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
374// with awserr.Error's Code and Message methods to get detailed information about
375// the error.
376//
377// See the AWS API reference guide for AWS Backup's
378// API operation DeleteBackupPlan for usage and error information.
379//
380// Returned Error Codes:
381//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
382//   A resource that is required for the action doesn't exist.
383//
384//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
385//   Indicates that something is wrong with a parameter's value. For example,
386//   the value is out of range.
387//
388//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
389//   Indicates that a required parameter is missing.
390//
391//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
392//   The request failed due to a temporary failure of the server.
393//
394//   * ErrCodeInvalidRequestException "InvalidRequestException"
395//   Indicates that something is wrong with the input to the request. For example,
396//   a parameter is of the wrong type.
397//
398// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupPlan
399func (c *Backup) DeleteBackupPlan(input *DeleteBackupPlanInput) (*DeleteBackupPlanOutput, error) {
400	req, out := c.DeleteBackupPlanRequest(input)
401	return out, req.Send()
402}
403
404// DeleteBackupPlanWithContext is the same as DeleteBackupPlan with the addition of
405// the ability to pass a context and additional request options.
406//
407// See DeleteBackupPlan for details on how to use this API operation.
408//
409// The context must be non-nil and will be used for request cancellation. If
410// the context is nil a panic will occur. In the future the SDK may create
411// sub-contexts for http.Requests. See https://golang.org/pkg/context/
412// for more information on using Contexts.
413func (c *Backup) DeleteBackupPlanWithContext(ctx aws.Context, input *DeleteBackupPlanInput, opts ...request.Option) (*DeleteBackupPlanOutput, error) {
414	req, out := c.DeleteBackupPlanRequest(input)
415	req.SetContext(ctx)
416	req.ApplyOptions(opts...)
417	return out, req.Send()
418}
419
420const opDeleteBackupSelection = "DeleteBackupSelection"
421
422// DeleteBackupSelectionRequest generates a "aws/request.Request" representing the
423// client's request for the DeleteBackupSelection operation. The "output" return
424// value will be populated with the request's response once the request completes
425// successfully.
426//
427// Use "Send" method on the returned Request to send the API call to the service.
428// the "output" return value is not valid until after Send returns without error.
429//
430// See DeleteBackupSelection for more information on using the DeleteBackupSelection
431// API call, and error handling.
432//
433// This method is useful when you want to inject custom logic or configuration
434// into the SDK's request lifecycle. Such as custom headers, or retry logic.
435//
436//
437//    // Example sending a request using the DeleteBackupSelectionRequest method.
438//    req, resp := client.DeleteBackupSelectionRequest(params)
439//
440//    err := req.Send()
441//    if err == nil { // resp is now filled
442//        fmt.Println(resp)
443//    }
444//
445// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupSelection
446func (c *Backup) DeleteBackupSelectionRequest(input *DeleteBackupSelectionInput) (req *request.Request, output *DeleteBackupSelectionOutput) {
447	op := &request.Operation{
448		Name:       opDeleteBackupSelection,
449		HTTPMethod: "DELETE",
450		HTTPPath:   "/backup/plans/{backupPlanId}/selections/{selectionId}",
451	}
452
453	if input == nil {
454		input = &DeleteBackupSelectionInput{}
455	}
456
457	output = &DeleteBackupSelectionOutput{}
458	req = c.newRequest(op, input, output)
459	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
460	return
461}
462
463// DeleteBackupSelection API operation for AWS Backup.
464//
465// Deletes the resource selection associated with a backup plan that is specified
466// by the SelectionId.
467//
468// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
469// with awserr.Error's Code and Message methods to get detailed information about
470// the error.
471//
472// See the AWS API reference guide for AWS Backup's
473// API operation DeleteBackupSelection for usage and error information.
474//
475// Returned Error Codes:
476//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
477//   A resource that is required for the action doesn't exist.
478//
479//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
480//   Indicates that something is wrong with a parameter's value. For example,
481//   the value is out of range.
482//
483//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
484//   Indicates that a required parameter is missing.
485//
486//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
487//   The request failed due to a temporary failure of the server.
488//
489// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupSelection
490func (c *Backup) DeleteBackupSelection(input *DeleteBackupSelectionInput) (*DeleteBackupSelectionOutput, error) {
491	req, out := c.DeleteBackupSelectionRequest(input)
492	return out, req.Send()
493}
494
495// DeleteBackupSelectionWithContext is the same as DeleteBackupSelection with the addition of
496// the ability to pass a context and additional request options.
497//
498// See DeleteBackupSelection for details on how to use this API operation.
499//
500// The context must be non-nil and will be used for request cancellation. If
501// the context is nil a panic will occur. In the future the SDK may create
502// sub-contexts for http.Requests. See https://golang.org/pkg/context/
503// for more information on using Contexts.
504func (c *Backup) DeleteBackupSelectionWithContext(ctx aws.Context, input *DeleteBackupSelectionInput, opts ...request.Option) (*DeleteBackupSelectionOutput, error) {
505	req, out := c.DeleteBackupSelectionRequest(input)
506	req.SetContext(ctx)
507	req.ApplyOptions(opts...)
508	return out, req.Send()
509}
510
511const opDeleteBackupVault = "DeleteBackupVault"
512
513// DeleteBackupVaultRequest generates a "aws/request.Request" representing the
514// client's request for the DeleteBackupVault operation. The "output" return
515// value will be populated with the request's response once the request completes
516// successfully.
517//
518// Use "Send" method on the returned Request to send the API call to the service.
519// the "output" return value is not valid until after Send returns without error.
520//
521// See DeleteBackupVault for more information on using the DeleteBackupVault
522// API call, and error handling.
523//
524// This method is useful when you want to inject custom logic or configuration
525// into the SDK's request lifecycle. Such as custom headers, or retry logic.
526//
527//
528//    // Example sending a request using the DeleteBackupVaultRequest method.
529//    req, resp := client.DeleteBackupVaultRequest(params)
530//
531//    err := req.Send()
532//    if err == nil { // resp is now filled
533//        fmt.Println(resp)
534//    }
535//
536// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupVault
537func (c *Backup) DeleteBackupVaultRequest(input *DeleteBackupVaultInput) (req *request.Request, output *DeleteBackupVaultOutput) {
538	op := &request.Operation{
539		Name:       opDeleteBackupVault,
540		HTTPMethod: "DELETE",
541		HTTPPath:   "/backup-vaults/{backupVaultName}",
542	}
543
544	if input == nil {
545		input = &DeleteBackupVaultInput{}
546	}
547
548	output = &DeleteBackupVaultOutput{}
549	req = c.newRequest(op, input, output)
550	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
551	return
552}
553
554// DeleteBackupVault API operation for AWS Backup.
555//
556// Deletes the backup vault identified by its name. A vault can be deleted only
557// if it is empty.
558//
559// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
560// with awserr.Error's Code and Message methods to get detailed information about
561// the error.
562//
563// See the AWS API reference guide for AWS Backup's
564// API operation DeleteBackupVault for usage and error information.
565//
566// Returned Error Codes:
567//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
568//   A resource that is required for the action doesn't exist.
569//
570//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
571//   Indicates that something is wrong with a parameter's value. For example,
572//   the value is out of range.
573//
574//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
575//   Indicates that a required parameter is missing.
576//
577//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
578//   The request failed due to a temporary failure of the server.
579//
580//   * ErrCodeInvalidRequestException "InvalidRequestException"
581//   Indicates that something is wrong with the input to the request. For example,
582//   a parameter is of the wrong type.
583//
584// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupVault
585func (c *Backup) DeleteBackupVault(input *DeleteBackupVaultInput) (*DeleteBackupVaultOutput, error) {
586	req, out := c.DeleteBackupVaultRequest(input)
587	return out, req.Send()
588}
589
590// DeleteBackupVaultWithContext is the same as DeleteBackupVault with the addition of
591// the ability to pass a context and additional request options.
592//
593// See DeleteBackupVault for details on how to use this API operation.
594//
595// The context must be non-nil and will be used for request cancellation. If
596// the context is nil a panic will occur. In the future the SDK may create
597// sub-contexts for http.Requests. See https://golang.org/pkg/context/
598// for more information on using Contexts.
599func (c *Backup) DeleteBackupVaultWithContext(ctx aws.Context, input *DeleteBackupVaultInput, opts ...request.Option) (*DeleteBackupVaultOutput, error) {
600	req, out := c.DeleteBackupVaultRequest(input)
601	req.SetContext(ctx)
602	req.ApplyOptions(opts...)
603	return out, req.Send()
604}
605
606const opDeleteBackupVaultAccessPolicy = "DeleteBackupVaultAccessPolicy"
607
608// DeleteBackupVaultAccessPolicyRequest generates a "aws/request.Request" representing the
609// client's request for the DeleteBackupVaultAccessPolicy operation. The "output" return
610// value will be populated with the request's response once the request completes
611// successfully.
612//
613// Use "Send" method on the returned Request to send the API call to the service.
614// the "output" return value is not valid until after Send returns without error.
615//
616// See DeleteBackupVaultAccessPolicy for more information on using the DeleteBackupVaultAccessPolicy
617// API call, and error handling.
618//
619// This method is useful when you want to inject custom logic or configuration
620// into the SDK's request lifecycle. Such as custom headers, or retry logic.
621//
622//
623//    // Example sending a request using the DeleteBackupVaultAccessPolicyRequest method.
624//    req, resp := client.DeleteBackupVaultAccessPolicyRequest(params)
625//
626//    err := req.Send()
627//    if err == nil { // resp is now filled
628//        fmt.Println(resp)
629//    }
630//
631// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupVaultAccessPolicy
632func (c *Backup) DeleteBackupVaultAccessPolicyRequest(input *DeleteBackupVaultAccessPolicyInput) (req *request.Request, output *DeleteBackupVaultAccessPolicyOutput) {
633	op := &request.Operation{
634		Name:       opDeleteBackupVaultAccessPolicy,
635		HTTPMethod: "DELETE",
636		HTTPPath:   "/backup-vaults/{backupVaultName}/access-policy",
637	}
638
639	if input == nil {
640		input = &DeleteBackupVaultAccessPolicyInput{}
641	}
642
643	output = &DeleteBackupVaultAccessPolicyOutput{}
644	req = c.newRequest(op, input, output)
645	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
646	return
647}
648
649// DeleteBackupVaultAccessPolicy API operation for AWS Backup.
650//
651// Deletes the policy document that manages permissions on a backup vault.
652//
653// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
654// with awserr.Error's Code and Message methods to get detailed information about
655// the error.
656//
657// See the AWS API reference guide for AWS Backup's
658// API operation DeleteBackupVaultAccessPolicy for usage and error information.
659//
660// Returned Error Codes:
661//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
662//   A resource that is required for the action doesn't exist.
663//
664//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
665//   Indicates that something is wrong with a parameter's value. For example,
666//   the value is out of range.
667//
668//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
669//   Indicates that a required parameter is missing.
670//
671//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
672//   The request failed due to a temporary failure of the server.
673//
674// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupVaultAccessPolicy
675func (c *Backup) DeleteBackupVaultAccessPolicy(input *DeleteBackupVaultAccessPolicyInput) (*DeleteBackupVaultAccessPolicyOutput, error) {
676	req, out := c.DeleteBackupVaultAccessPolicyRequest(input)
677	return out, req.Send()
678}
679
680// DeleteBackupVaultAccessPolicyWithContext is the same as DeleteBackupVaultAccessPolicy with the addition of
681// the ability to pass a context and additional request options.
682//
683// See DeleteBackupVaultAccessPolicy for details on how to use this API operation.
684//
685// The context must be non-nil and will be used for request cancellation. If
686// the context is nil a panic will occur. In the future the SDK may create
687// sub-contexts for http.Requests. See https://golang.org/pkg/context/
688// for more information on using Contexts.
689func (c *Backup) DeleteBackupVaultAccessPolicyWithContext(ctx aws.Context, input *DeleteBackupVaultAccessPolicyInput, opts ...request.Option) (*DeleteBackupVaultAccessPolicyOutput, error) {
690	req, out := c.DeleteBackupVaultAccessPolicyRequest(input)
691	req.SetContext(ctx)
692	req.ApplyOptions(opts...)
693	return out, req.Send()
694}
695
696const opDeleteBackupVaultNotifications = "DeleteBackupVaultNotifications"
697
698// DeleteBackupVaultNotificationsRequest generates a "aws/request.Request" representing the
699// client's request for the DeleteBackupVaultNotifications operation. The "output" return
700// value will be populated with the request's response once the request completes
701// successfully.
702//
703// Use "Send" method on the returned Request to send the API call to the service.
704// the "output" return value is not valid until after Send returns without error.
705//
706// See DeleteBackupVaultNotifications for more information on using the DeleteBackupVaultNotifications
707// API call, and error handling.
708//
709// This method is useful when you want to inject custom logic or configuration
710// into the SDK's request lifecycle. Such as custom headers, or retry logic.
711//
712//
713//    // Example sending a request using the DeleteBackupVaultNotificationsRequest method.
714//    req, resp := client.DeleteBackupVaultNotificationsRequest(params)
715//
716//    err := req.Send()
717//    if err == nil { // resp is now filled
718//        fmt.Println(resp)
719//    }
720//
721// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupVaultNotifications
722func (c *Backup) DeleteBackupVaultNotificationsRequest(input *DeleteBackupVaultNotificationsInput) (req *request.Request, output *DeleteBackupVaultNotificationsOutput) {
723	op := &request.Operation{
724		Name:       opDeleteBackupVaultNotifications,
725		HTTPMethod: "DELETE",
726		HTTPPath:   "/backup-vaults/{backupVaultName}/notification-configuration",
727	}
728
729	if input == nil {
730		input = &DeleteBackupVaultNotificationsInput{}
731	}
732
733	output = &DeleteBackupVaultNotificationsOutput{}
734	req = c.newRequest(op, input, output)
735	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
736	return
737}
738
739// DeleteBackupVaultNotifications API operation for AWS Backup.
740//
741// Deletes event notifications for the specified backup vault.
742//
743// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
744// with awserr.Error's Code and Message methods to get detailed information about
745// the error.
746//
747// See the AWS API reference guide for AWS Backup's
748// API operation DeleteBackupVaultNotifications for usage and error information.
749//
750// Returned Error Codes:
751//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
752//   A resource that is required for the action doesn't exist.
753//
754//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
755//   Indicates that something is wrong with a parameter's value. For example,
756//   the value is out of range.
757//
758//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
759//   Indicates that a required parameter is missing.
760//
761//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
762//   The request failed due to a temporary failure of the server.
763//
764// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteBackupVaultNotifications
765func (c *Backup) DeleteBackupVaultNotifications(input *DeleteBackupVaultNotificationsInput) (*DeleteBackupVaultNotificationsOutput, error) {
766	req, out := c.DeleteBackupVaultNotificationsRequest(input)
767	return out, req.Send()
768}
769
770// DeleteBackupVaultNotificationsWithContext is the same as DeleteBackupVaultNotifications with the addition of
771// the ability to pass a context and additional request options.
772//
773// See DeleteBackupVaultNotifications for details on how to use this API operation.
774//
775// The context must be non-nil and will be used for request cancellation. If
776// the context is nil a panic will occur. In the future the SDK may create
777// sub-contexts for http.Requests. See https://golang.org/pkg/context/
778// for more information on using Contexts.
779func (c *Backup) DeleteBackupVaultNotificationsWithContext(ctx aws.Context, input *DeleteBackupVaultNotificationsInput, opts ...request.Option) (*DeleteBackupVaultNotificationsOutput, error) {
780	req, out := c.DeleteBackupVaultNotificationsRequest(input)
781	req.SetContext(ctx)
782	req.ApplyOptions(opts...)
783	return out, req.Send()
784}
785
786const opDeleteRecoveryPoint = "DeleteRecoveryPoint"
787
788// DeleteRecoveryPointRequest generates a "aws/request.Request" representing the
789// client's request for the DeleteRecoveryPoint operation. The "output" return
790// value will be populated with the request's response once the request completes
791// successfully.
792//
793// Use "Send" method on the returned Request to send the API call to the service.
794// the "output" return value is not valid until after Send returns without error.
795//
796// See DeleteRecoveryPoint for more information on using the DeleteRecoveryPoint
797// API call, and error handling.
798//
799// This method is useful when you want to inject custom logic or configuration
800// into the SDK's request lifecycle. Such as custom headers, or retry logic.
801//
802//
803//    // Example sending a request using the DeleteRecoveryPointRequest method.
804//    req, resp := client.DeleteRecoveryPointRequest(params)
805//
806//    err := req.Send()
807//    if err == nil { // resp is now filled
808//        fmt.Println(resp)
809//    }
810//
811// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteRecoveryPoint
812func (c *Backup) DeleteRecoveryPointRequest(input *DeleteRecoveryPointInput) (req *request.Request, output *DeleteRecoveryPointOutput) {
813	op := &request.Operation{
814		Name:       opDeleteRecoveryPoint,
815		HTTPMethod: "DELETE",
816		HTTPPath:   "/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}",
817	}
818
819	if input == nil {
820		input = &DeleteRecoveryPointInput{}
821	}
822
823	output = &DeleteRecoveryPointOutput{}
824	req = c.newRequest(op, input, output)
825	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
826	return
827}
828
829// DeleteRecoveryPoint API operation for AWS Backup.
830//
831// Deletes the recovery point specified by a recovery point ID.
832//
833// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
834// with awserr.Error's Code and Message methods to get detailed information about
835// the error.
836//
837// See the AWS API reference guide for AWS Backup's
838// API operation DeleteRecoveryPoint for usage and error information.
839//
840// Returned Error Codes:
841//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
842//   A resource that is required for the action doesn't exist.
843//
844//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
845//   Indicates that something is wrong with a parameter's value. For example,
846//   the value is out of range.
847//
848//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
849//   Indicates that a required parameter is missing.
850//
851//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
852//   The request failed due to a temporary failure of the server.
853//
854//   * ErrCodeInvalidRequestException "InvalidRequestException"
855//   Indicates that something is wrong with the input to the request. For example,
856//   a parameter is of the wrong type.
857//
858// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteRecoveryPoint
859func (c *Backup) DeleteRecoveryPoint(input *DeleteRecoveryPointInput) (*DeleteRecoveryPointOutput, error) {
860	req, out := c.DeleteRecoveryPointRequest(input)
861	return out, req.Send()
862}
863
864// DeleteRecoveryPointWithContext is the same as DeleteRecoveryPoint with the addition of
865// the ability to pass a context and additional request options.
866//
867// See DeleteRecoveryPoint for details on how to use this API operation.
868//
869// The context must be non-nil and will be used for request cancellation. If
870// the context is nil a panic will occur. In the future the SDK may create
871// sub-contexts for http.Requests. See https://golang.org/pkg/context/
872// for more information on using Contexts.
873func (c *Backup) DeleteRecoveryPointWithContext(ctx aws.Context, input *DeleteRecoveryPointInput, opts ...request.Option) (*DeleteRecoveryPointOutput, error) {
874	req, out := c.DeleteRecoveryPointRequest(input)
875	req.SetContext(ctx)
876	req.ApplyOptions(opts...)
877	return out, req.Send()
878}
879
880const opDescribeBackupJob = "DescribeBackupJob"
881
882// DescribeBackupJobRequest generates a "aws/request.Request" representing the
883// client's request for the DescribeBackupJob operation. The "output" return
884// value will be populated with the request's response once the request completes
885// successfully.
886//
887// Use "Send" method on the returned Request to send the API call to the service.
888// the "output" return value is not valid until after Send returns without error.
889//
890// See DescribeBackupJob for more information on using the DescribeBackupJob
891// API call, and error handling.
892//
893// This method is useful when you want to inject custom logic or configuration
894// into the SDK's request lifecycle. Such as custom headers, or retry logic.
895//
896//
897//    // Example sending a request using the DescribeBackupJobRequest method.
898//    req, resp := client.DescribeBackupJobRequest(params)
899//
900//    err := req.Send()
901//    if err == nil { // resp is now filled
902//        fmt.Println(resp)
903//    }
904//
905// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeBackupJob
906func (c *Backup) DescribeBackupJobRequest(input *DescribeBackupJobInput) (req *request.Request, output *DescribeBackupJobOutput) {
907	op := &request.Operation{
908		Name:       opDescribeBackupJob,
909		HTTPMethod: "GET",
910		HTTPPath:   "/backup-jobs/{backupJobId}",
911	}
912
913	if input == nil {
914		input = &DescribeBackupJobInput{}
915	}
916
917	output = &DescribeBackupJobOutput{}
918	req = c.newRequest(op, input, output)
919	return
920}
921
922// DescribeBackupJob API operation for AWS Backup.
923//
924// Returns metadata associated with creating a backup of a resource.
925//
926// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
927// with awserr.Error's Code and Message methods to get detailed information about
928// the error.
929//
930// See the AWS API reference guide for AWS Backup's
931// API operation DescribeBackupJob for usage and error information.
932//
933// Returned Error Codes:
934//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
935//   A resource that is required for the action doesn't exist.
936//
937//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
938//   Indicates that something is wrong with a parameter's value. For example,
939//   the value is out of range.
940//
941//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
942//   Indicates that a required parameter is missing.
943//
944//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
945//   The request failed due to a temporary failure of the server.
946//
947//   * ErrCodeDependencyFailureException "DependencyFailureException"
948//   A dependent AWS service or resource returned an error to the AWS Backup service,
949//   and the action cannot be completed.
950//
951// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeBackupJob
952func (c *Backup) DescribeBackupJob(input *DescribeBackupJobInput) (*DescribeBackupJobOutput, error) {
953	req, out := c.DescribeBackupJobRequest(input)
954	return out, req.Send()
955}
956
957// DescribeBackupJobWithContext is the same as DescribeBackupJob with the addition of
958// the ability to pass a context and additional request options.
959//
960// See DescribeBackupJob 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 *Backup) DescribeBackupJobWithContext(ctx aws.Context, input *DescribeBackupJobInput, opts ...request.Option) (*DescribeBackupJobOutput, error) {
967	req, out := c.DescribeBackupJobRequest(input)
968	req.SetContext(ctx)
969	req.ApplyOptions(opts...)
970	return out, req.Send()
971}
972
973const opDescribeBackupVault = "DescribeBackupVault"
974
975// DescribeBackupVaultRequest generates a "aws/request.Request" representing the
976// client's request for the DescribeBackupVault 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 DescribeBackupVault for more information on using the DescribeBackupVault
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 DescribeBackupVaultRequest method.
991//    req, resp := client.DescribeBackupVaultRequest(params)
992//
993//    err := req.Send()
994//    if err == nil { // resp is now filled
995//        fmt.Println(resp)
996//    }
997//
998// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeBackupVault
999func (c *Backup) DescribeBackupVaultRequest(input *DescribeBackupVaultInput) (req *request.Request, output *DescribeBackupVaultOutput) {
1000	op := &request.Operation{
1001		Name:       opDescribeBackupVault,
1002		HTTPMethod: "GET",
1003		HTTPPath:   "/backup-vaults/{backupVaultName}",
1004	}
1005
1006	if input == nil {
1007		input = &DescribeBackupVaultInput{}
1008	}
1009
1010	output = &DescribeBackupVaultOutput{}
1011	req = c.newRequest(op, input, output)
1012	return
1013}
1014
1015// DescribeBackupVault API operation for AWS Backup.
1016//
1017// Returns metadata about a backup vault specified by its name.
1018//
1019// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1020// with awserr.Error's Code and Message methods to get detailed information about
1021// the error.
1022//
1023// See the AWS API reference guide for AWS Backup's
1024// API operation DescribeBackupVault for usage and error information.
1025//
1026// Returned Error Codes:
1027//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1028//   A resource that is required for the action doesn't exist.
1029//
1030//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
1031//   Indicates that something is wrong with a parameter's value. For example,
1032//   the value is out of range.
1033//
1034//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
1035//   Indicates that a required parameter is missing.
1036//
1037//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1038//   The request failed due to a temporary failure of the server.
1039//
1040// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeBackupVault
1041func (c *Backup) DescribeBackupVault(input *DescribeBackupVaultInput) (*DescribeBackupVaultOutput, error) {
1042	req, out := c.DescribeBackupVaultRequest(input)
1043	return out, req.Send()
1044}
1045
1046// DescribeBackupVaultWithContext is the same as DescribeBackupVault with the addition of
1047// the ability to pass a context and additional request options.
1048//
1049// See DescribeBackupVault for details on how to use this API operation.
1050//
1051// The context must be non-nil and will be used for request cancellation. If
1052// the context is nil a panic will occur. In the future the SDK may create
1053// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1054// for more information on using Contexts.
1055func (c *Backup) DescribeBackupVaultWithContext(ctx aws.Context, input *DescribeBackupVaultInput, opts ...request.Option) (*DescribeBackupVaultOutput, error) {
1056	req, out := c.DescribeBackupVaultRequest(input)
1057	req.SetContext(ctx)
1058	req.ApplyOptions(opts...)
1059	return out, req.Send()
1060}
1061
1062const opDescribeProtectedResource = "DescribeProtectedResource"
1063
1064// DescribeProtectedResourceRequest generates a "aws/request.Request" representing the
1065// client's request for the DescribeProtectedResource operation. The "output" return
1066// value will be populated with the request's response once the request completes
1067// successfully.
1068//
1069// Use "Send" method on the returned Request to send the API call to the service.
1070// the "output" return value is not valid until after Send returns without error.
1071//
1072// See DescribeProtectedResource for more information on using the DescribeProtectedResource
1073// API call, and error handling.
1074//
1075// This method is useful when you want to inject custom logic or configuration
1076// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1077//
1078//
1079//    // Example sending a request using the DescribeProtectedResourceRequest method.
1080//    req, resp := client.DescribeProtectedResourceRequest(params)
1081//
1082//    err := req.Send()
1083//    if err == nil { // resp is now filled
1084//        fmt.Println(resp)
1085//    }
1086//
1087// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeProtectedResource
1088func (c *Backup) DescribeProtectedResourceRequest(input *DescribeProtectedResourceInput) (req *request.Request, output *DescribeProtectedResourceOutput) {
1089	op := &request.Operation{
1090		Name:       opDescribeProtectedResource,
1091		HTTPMethod: "GET",
1092		HTTPPath:   "/resources/{resourceArn}",
1093	}
1094
1095	if input == nil {
1096		input = &DescribeProtectedResourceInput{}
1097	}
1098
1099	output = &DescribeProtectedResourceOutput{}
1100	req = c.newRequest(op, input, output)
1101	return
1102}
1103
1104// DescribeProtectedResource API operation for AWS Backup.
1105//
1106// Returns information about a saved resource, including the last time it was
1107// backed-up, its Amazon Resource Name (ARN), and the AWS service type of the
1108// saved resource.
1109//
1110// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1111// with awserr.Error's Code and Message methods to get detailed information about
1112// the error.
1113//
1114// See the AWS API reference guide for AWS Backup's
1115// API operation DescribeProtectedResource for usage and error information.
1116//
1117// Returned Error Codes:
1118//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
1119//   Indicates that a required parameter is missing.
1120//
1121//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
1122//   Indicates that something is wrong with a parameter's value. For example,
1123//   the value is out of range.
1124//
1125//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1126//   The request failed due to a temporary failure of the server.
1127//
1128//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1129//   A resource that is required for the action doesn't exist.
1130//
1131// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeProtectedResource
1132func (c *Backup) DescribeProtectedResource(input *DescribeProtectedResourceInput) (*DescribeProtectedResourceOutput, error) {
1133	req, out := c.DescribeProtectedResourceRequest(input)
1134	return out, req.Send()
1135}
1136
1137// DescribeProtectedResourceWithContext is the same as DescribeProtectedResource with the addition of
1138// the ability to pass a context and additional request options.
1139//
1140// See DescribeProtectedResource for details on how to use this API operation.
1141//
1142// The context must be non-nil and will be used for request cancellation. If
1143// the context is nil a panic will occur. In the future the SDK may create
1144// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1145// for more information on using Contexts.
1146func (c *Backup) DescribeProtectedResourceWithContext(ctx aws.Context, input *DescribeProtectedResourceInput, opts ...request.Option) (*DescribeProtectedResourceOutput, error) {
1147	req, out := c.DescribeProtectedResourceRequest(input)
1148	req.SetContext(ctx)
1149	req.ApplyOptions(opts...)
1150	return out, req.Send()
1151}
1152
1153const opDescribeRecoveryPoint = "DescribeRecoveryPoint"
1154
1155// DescribeRecoveryPointRequest generates a "aws/request.Request" representing the
1156// client's request for the DescribeRecoveryPoint operation. The "output" return
1157// value will be populated with the request's response once the request completes
1158// successfully.
1159//
1160// Use "Send" method on the returned Request to send the API call to the service.
1161// the "output" return value is not valid until after Send returns without error.
1162//
1163// See DescribeRecoveryPoint for more information on using the DescribeRecoveryPoint
1164// API call, and error handling.
1165//
1166// This method is useful when you want to inject custom logic or configuration
1167// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1168//
1169//
1170//    // Example sending a request using the DescribeRecoveryPointRequest method.
1171//    req, resp := client.DescribeRecoveryPointRequest(params)
1172//
1173//    err := req.Send()
1174//    if err == nil { // resp is now filled
1175//        fmt.Println(resp)
1176//    }
1177//
1178// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeRecoveryPoint
1179func (c *Backup) DescribeRecoveryPointRequest(input *DescribeRecoveryPointInput) (req *request.Request, output *DescribeRecoveryPointOutput) {
1180	op := &request.Operation{
1181		Name:       opDescribeRecoveryPoint,
1182		HTTPMethod: "GET",
1183		HTTPPath:   "/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}",
1184	}
1185
1186	if input == nil {
1187		input = &DescribeRecoveryPointInput{}
1188	}
1189
1190	output = &DescribeRecoveryPointOutput{}
1191	req = c.newRequest(op, input, output)
1192	return
1193}
1194
1195// DescribeRecoveryPoint API operation for AWS Backup.
1196//
1197// Returns metadata associated with a recovery point, including ID, status,
1198// encryption, and lifecycle.
1199//
1200// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1201// with awserr.Error's Code and Message methods to get detailed information about
1202// the error.
1203//
1204// See the AWS API reference guide for AWS Backup's
1205// API operation DescribeRecoveryPoint for usage and error information.
1206//
1207// Returned Error Codes:
1208//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1209//   A resource that is required for the action doesn't exist.
1210//
1211//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
1212//   Indicates that something is wrong with a parameter's value. For example,
1213//   the value is out of range.
1214//
1215//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
1216//   Indicates that a required parameter is missing.
1217//
1218//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1219//   The request failed due to a temporary failure of the server.
1220//
1221// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeRecoveryPoint
1222func (c *Backup) DescribeRecoveryPoint(input *DescribeRecoveryPointInput) (*DescribeRecoveryPointOutput, error) {
1223	req, out := c.DescribeRecoveryPointRequest(input)
1224	return out, req.Send()
1225}
1226
1227// DescribeRecoveryPointWithContext is the same as DescribeRecoveryPoint with the addition of
1228// the ability to pass a context and additional request options.
1229//
1230// See DescribeRecoveryPoint for details on how to use this API operation.
1231//
1232// The context must be non-nil and will be used for request cancellation. If
1233// the context is nil a panic will occur. In the future the SDK may create
1234// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1235// for more information on using Contexts.
1236func (c *Backup) DescribeRecoveryPointWithContext(ctx aws.Context, input *DescribeRecoveryPointInput, opts ...request.Option) (*DescribeRecoveryPointOutput, error) {
1237	req, out := c.DescribeRecoveryPointRequest(input)
1238	req.SetContext(ctx)
1239	req.ApplyOptions(opts...)
1240	return out, req.Send()
1241}
1242
1243const opDescribeRestoreJob = "DescribeRestoreJob"
1244
1245// DescribeRestoreJobRequest generates a "aws/request.Request" representing the
1246// client's request for the DescribeRestoreJob operation. The "output" return
1247// value will be populated with the request's response once the request completes
1248// successfully.
1249//
1250// Use "Send" method on the returned Request to send the API call to the service.
1251// the "output" return value is not valid until after Send returns without error.
1252//
1253// See DescribeRestoreJob for more information on using the DescribeRestoreJob
1254// API call, and error handling.
1255//
1256// This method is useful when you want to inject custom logic or configuration
1257// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1258//
1259//
1260//    // Example sending a request using the DescribeRestoreJobRequest method.
1261//    req, resp := client.DescribeRestoreJobRequest(params)
1262//
1263//    err := req.Send()
1264//    if err == nil { // resp is now filled
1265//        fmt.Println(resp)
1266//    }
1267//
1268// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeRestoreJob
1269func (c *Backup) DescribeRestoreJobRequest(input *DescribeRestoreJobInput) (req *request.Request, output *DescribeRestoreJobOutput) {
1270	op := &request.Operation{
1271		Name:       opDescribeRestoreJob,
1272		HTTPMethod: "GET",
1273		HTTPPath:   "/restore-jobs/{restoreJobId}",
1274	}
1275
1276	if input == nil {
1277		input = &DescribeRestoreJobInput{}
1278	}
1279
1280	output = &DescribeRestoreJobOutput{}
1281	req = c.newRequest(op, input, output)
1282	return
1283}
1284
1285// DescribeRestoreJob API operation for AWS Backup.
1286//
1287// Returns metadata associated with a restore job that is specified by a job
1288// ID.
1289//
1290// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1291// with awserr.Error's Code and Message methods to get detailed information about
1292// the error.
1293//
1294// See the AWS API reference guide for AWS Backup's
1295// API operation DescribeRestoreJob for usage and error information.
1296//
1297// Returned Error Codes:
1298//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1299//   A resource that is required for the action doesn't exist.
1300//
1301//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
1302//   Indicates that something is wrong with a parameter's value. For example,
1303//   the value is out of range.
1304//
1305//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
1306//   Indicates that a required parameter is missing.
1307//
1308//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1309//   The request failed due to a temporary failure of the server.
1310//
1311//   * ErrCodeDependencyFailureException "DependencyFailureException"
1312//   A dependent AWS service or resource returned an error to the AWS Backup service,
1313//   and the action cannot be completed.
1314//
1315// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DescribeRestoreJob
1316func (c *Backup) DescribeRestoreJob(input *DescribeRestoreJobInput) (*DescribeRestoreJobOutput, error) {
1317	req, out := c.DescribeRestoreJobRequest(input)
1318	return out, req.Send()
1319}
1320
1321// DescribeRestoreJobWithContext is the same as DescribeRestoreJob with the addition of
1322// the ability to pass a context and additional request options.
1323//
1324// See DescribeRestoreJob for details on how to use this API operation.
1325//
1326// The context must be non-nil and will be used for request cancellation. If
1327// the context is nil a panic will occur. In the future the SDK may create
1328// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1329// for more information on using Contexts.
1330func (c *Backup) DescribeRestoreJobWithContext(ctx aws.Context, input *DescribeRestoreJobInput, opts ...request.Option) (*DescribeRestoreJobOutput, error) {
1331	req, out := c.DescribeRestoreJobRequest(input)
1332	req.SetContext(ctx)
1333	req.ApplyOptions(opts...)
1334	return out, req.Send()
1335}
1336
1337const opExportBackupPlanTemplate = "ExportBackupPlanTemplate"
1338
1339// ExportBackupPlanTemplateRequest generates a "aws/request.Request" representing the
1340// client's request for the ExportBackupPlanTemplate operation. The "output" return
1341// value will be populated with the request's response once the request completes
1342// successfully.
1343//
1344// Use "Send" method on the returned Request to send the API call to the service.
1345// the "output" return value is not valid until after Send returns without error.
1346//
1347// See ExportBackupPlanTemplate for more information on using the ExportBackupPlanTemplate
1348// API call, and error handling.
1349//
1350// This method is useful when you want to inject custom logic or configuration
1351// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1352//
1353//
1354//    // Example sending a request using the ExportBackupPlanTemplateRequest method.
1355//    req, resp := client.ExportBackupPlanTemplateRequest(params)
1356//
1357//    err := req.Send()
1358//    if err == nil { // resp is now filled
1359//        fmt.Println(resp)
1360//    }
1361//
1362// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ExportBackupPlanTemplate
1363func (c *Backup) ExportBackupPlanTemplateRequest(input *ExportBackupPlanTemplateInput) (req *request.Request, output *ExportBackupPlanTemplateOutput) {
1364	op := &request.Operation{
1365		Name:       opExportBackupPlanTemplate,
1366		HTTPMethod: "GET",
1367		HTTPPath:   "/backup/plans/{backupPlanId}/toTemplate/",
1368	}
1369
1370	if input == nil {
1371		input = &ExportBackupPlanTemplateInput{}
1372	}
1373
1374	output = &ExportBackupPlanTemplateOutput{}
1375	req = c.newRequest(op, input, output)
1376	return
1377}
1378
1379// ExportBackupPlanTemplate API operation for AWS Backup.
1380//
1381// Returns the backup plan that is specified by the plan ID as a backup template.
1382//
1383// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1384// with awserr.Error's Code and Message methods to get detailed information about
1385// the error.
1386//
1387// See the AWS API reference guide for AWS Backup's
1388// API operation ExportBackupPlanTemplate for usage and error information.
1389//
1390// Returned Error Codes:
1391//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
1392//   Indicates that something is wrong with a parameter's value. For example,
1393//   the value is out of range.
1394//
1395//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
1396//   Indicates that a required parameter is missing.
1397//
1398//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1399//   The request failed due to a temporary failure of the server.
1400//
1401//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1402//   A resource that is required for the action doesn't exist.
1403//
1404// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ExportBackupPlanTemplate
1405func (c *Backup) ExportBackupPlanTemplate(input *ExportBackupPlanTemplateInput) (*ExportBackupPlanTemplateOutput, error) {
1406	req, out := c.ExportBackupPlanTemplateRequest(input)
1407	return out, req.Send()
1408}
1409
1410// ExportBackupPlanTemplateWithContext is the same as ExportBackupPlanTemplate with the addition of
1411// the ability to pass a context and additional request options.
1412//
1413// See ExportBackupPlanTemplate for details on how to use this API operation.
1414//
1415// The context must be non-nil and will be used for request cancellation. If
1416// the context is nil a panic will occur. In the future the SDK may create
1417// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1418// for more information on using Contexts.
1419func (c *Backup) ExportBackupPlanTemplateWithContext(ctx aws.Context, input *ExportBackupPlanTemplateInput, opts ...request.Option) (*ExportBackupPlanTemplateOutput, error) {
1420	req, out := c.ExportBackupPlanTemplateRequest(input)
1421	req.SetContext(ctx)
1422	req.ApplyOptions(opts...)
1423	return out, req.Send()
1424}
1425
1426const opGetBackupPlan = "GetBackupPlan"
1427
1428// GetBackupPlanRequest generates a "aws/request.Request" representing the
1429// client's request for the GetBackupPlan operation. The "output" return
1430// value will be populated with the request's response once the request completes
1431// successfully.
1432//
1433// Use "Send" method on the returned Request to send the API call to the service.
1434// the "output" return value is not valid until after Send returns without error.
1435//
1436// See GetBackupPlan for more information on using the GetBackupPlan
1437// API call, and error handling.
1438//
1439// This method is useful when you want to inject custom logic or configuration
1440// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1441//
1442//
1443//    // Example sending a request using the GetBackupPlanRequest method.
1444//    req, resp := client.GetBackupPlanRequest(params)
1445//
1446//    err := req.Send()
1447//    if err == nil { // resp is now filled
1448//        fmt.Println(resp)
1449//    }
1450//
1451// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupPlan
1452func (c *Backup) GetBackupPlanRequest(input *GetBackupPlanInput) (req *request.Request, output *GetBackupPlanOutput) {
1453	op := &request.Operation{
1454		Name:       opGetBackupPlan,
1455		HTTPMethod: "GET",
1456		HTTPPath:   "/backup/plans/{backupPlanId}/",
1457	}
1458
1459	if input == nil {
1460		input = &GetBackupPlanInput{}
1461	}
1462
1463	output = &GetBackupPlanOutput{}
1464	req = c.newRequest(op, input, output)
1465	return
1466}
1467
1468// GetBackupPlan API operation for AWS Backup.
1469//
1470// Returns the body of a backup plan in JSON format, in addition to plan metadata.
1471//
1472// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1473// with awserr.Error's Code and Message methods to get detailed information about
1474// the error.
1475//
1476// See the AWS API reference guide for AWS Backup's
1477// API operation GetBackupPlan for usage and error information.
1478//
1479// Returned Error Codes:
1480//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1481//   A resource that is required for the action doesn't exist.
1482//
1483//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
1484//   Indicates that something is wrong with a parameter's value. For example,
1485//   the value is out of range.
1486//
1487//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
1488//   Indicates that a required parameter is missing.
1489//
1490//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1491//   The request failed due to a temporary failure of the server.
1492//
1493// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupPlan
1494func (c *Backup) GetBackupPlan(input *GetBackupPlanInput) (*GetBackupPlanOutput, error) {
1495	req, out := c.GetBackupPlanRequest(input)
1496	return out, req.Send()
1497}
1498
1499// GetBackupPlanWithContext is the same as GetBackupPlan with the addition of
1500// the ability to pass a context and additional request options.
1501//
1502// See GetBackupPlan for details on how to use this API operation.
1503//
1504// The context must be non-nil and will be used for request cancellation. If
1505// the context is nil a panic will occur. In the future the SDK may create
1506// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1507// for more information on using Contexts.
1508func (c *Backup) GetBackupPlanWithContext(ctx aws.Context, input *GetBackupPlanInput, opts ...request.Option) (*GetBackupPlanOutput, error) {
1509	req, out := c.GetBackupPlanRequest(input)
1510	req.SetContext(ctx)
1511	req.ApplyOptions(opts...)
1512	return out, req.Send()
1513}
1514
1515const opGetBackupPlanFromJSON = "GetBackupPlanFromJSON"
1516
1517// GetBackupPlanFromJSONRequest generates a "aws/request.Request" representing the
1518// client's request for the GetBackupPlanFromJSON operation. The "output" return
1519// value will be populated with the request's response once the request completes
1520// successfully.
1521//
1522// Use "Send" method on the returned Request to send the API call to the service.
1523// the "output" return value is not valid until after Send returns without error.
1524//
1525// See GetBackupPlanFromJSON for more information on using the GetBackupPlanFromJSON
1526// API call, and error handling.
1527//
1528// This method is useful when you want to inject custom logic or configuration
1529// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1530//
1531//
1532//    // Example sending a request using the GetBackupPlanFromJSONRequest method.
1533//    req, resp := client.GetBackupPlanFromJSONRequest(params)
1534//
1535//    err := req.Send()
1536//    if err == nil { // resp is now filled
1537//        fmt.Println(resp)
1538//    }
1539//
1540// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupPlanFromJSON
1541func (c *Backup) GetBackupPlanFromJSONRequest(input *GetBackupPlanFromJSONInput) (req *request.Request, output *GetBackupPlanFromJSONOutput) {
1542	op := &request.Operation{
1543		Name:       opGetBackupPlanFromJSON,
1544		HTTPMethod: "POST",
1545		HTTPPath:   "/backup/template/json/toPlan",
1546	}
1547
1548	if input == nil {
1549		input = &GetBackupPlanFromJSONInput{}
1550	}
1551
1552	output = &GetBackupPlanFromJSONOutput{}
1553	req = c.newRequest(op, input, output)
1554	return
1555}
1556
1557// GetBackupPlanFromJSON API operation for AWS Backup.
1558//
1559// Returns a valid JSON document specifying a backup plan or an error.
1560//
1561// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1562// with awserr.Error's Code and Message methods to get detailed information about
1563// the error.
1564//
1565// See the AWS API reference guide for AWS Backup's
1566// API operation GetBackupPlanFromJSON for usage and error information.
1567//
1568// Returned Error Codes:
1569//   * ErrCodeLimitExceededException "LimitExceededException"
1570//   A limit in the request has been exceeded; for example, a maximum number of
1571//   items allowed in a request.
1572//
1573//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
1574//   Indicates that something is wrong with a parameter's value. For example,
1575//   the value is out of range.
1576//
1577//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
1578//   Indicates that a required parameter is missing.
1579//
1580//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1581//   The request failed due to a temporary failure of the server.
1582//
1583//   * ErrCodeInvalidRequestException "InvalidRequestException"
1584//   Indicates that something is wrong with the input to the request. For example,
1585//   a parameter is of the wrong type.
1586//
1587// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupPlanFromJSON
1588func (c *Backup) GetBackupPlanFromJSON(input *GetBackupPlanFromJSONInput) (*GetBackupPlanFromJSONOutput, error) {
1589	req, out := c.GetBackupPlanFromJSONRequest(input)
1590	return out, req.Send()
1591}
1592
1593// GetBackupPlanFromJSONWithContext is the same as GetBackupPlanFromJSON with the addition of
1594// the ability to pass a context and additional request options.
1595//
1596// See GetBackupPlanFromJSON for details on how to use this API operation.
1597//
1598// The context must be non-nil and will be used for request cancellation. If
1599// the context is nil a panic will occur. In the future the SDK may create
1600// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1601// for more information on using Contexts.
1602func (c *Backup) GetBackupPlanFromJSONWithContext(ctx aws.Context, input *GetBackupPlanFromJSONInput, opts ...request.Option) (*GetBackupPlanFromJSONOutput, error) {
1603	req, out := c.GetBackupPlanFromJSONRequest(input)
1604	req.SetContext(ctx)
1605	req.ApplyOptions(opts...)
1606	return out, req.Send()
1607}
1608
1609const opGetBackupPlanFromTemplate = "GetBackupPlanFromTemplate"
1610
1611// GetBackupPlanFromTemplateRequest generates a "aws/request.Request" representing the
1612// client's request for the GetBackupPlanFromTemplate operation. The "output" return
1613// value will be populated with the request's response once the request completes
1614// successfully.
1615//
1616// Use "Send" method on the returned Request to send the API call to the service.
1617// the "output" return value is not valid until after Send returns without error.
1618//
1619// See GetBackupPlanFromTemplate for more information on using the GetBackupPlanFromTemplate
1620// API call, and error handling.
1621//
1622// This method is useful when you want to inject custom logic or configuration
1623// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1624//
1625//
1626//    // Example sending a request using the GetBackupPlanFromTemplateRequest method.
1627//    req, resp := client.GetBackupPlanFromTemplateRequest(params)
1628//
1629//    err := req.Send()
1630//    if err == nil { // resp is now filled
1631//        fmt.Println(resp)
1632//    }
1633//
1634// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupPlanFromTemplate
1635func (c *Backup) GetBackupPlanFromTemplateRequest(input *GetBackupPlanFromTemplateInput) (req *request.Request, output *GetBackupPlanFromTemplateOutput) {
1636	op := &request.Operation{
1637		Name:       opGetBackupPlanFromTemplate,
1638		HTTPMethod: "GET",
1639		HTTPPath:   "/backup/template/plans/{templateId}/toPlan",
1640	}
1641
1642	if input == nil {
1643		input = &GetBackupPlanFromTemplateInput{}
1644	}
1645
1646	output = &GetBackupPlanFromTemplateOutput{}
1647	req = c.newRequest(op, input, output)
1648	return
1649}
1650
1651// GetBackupPlanFromTemplate API operation for AWS Backup.
1652//
1653// Returns the template specified by its templateId as a backup plan.
1654//
1655// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1656// with awserr.Error's Code and Message methods to get detailed information about
1657// the error.
1658//
1659// See the AWS API reference guide for AWS Backup's
1660// API operation GetBackupPlanFromTemplate for usage and error information.
1661//
1662// Returned Error Codes:
1663//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
1664//   Indicates that something is wrong with a parameter's value. For example,
1665//   the value is out of range.
1666//
1667//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
1668//   Indicates that a required parameter is missing.
1669//
1670//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1671//   The request failed due to a temporary failure of the server.
1672//
1673//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1674//   A resource that is required for the action doesn't exist.
1675//
1676// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupPlanFromTemplate
1677func (c *Backup) GetBackupPlanFromTemplate(input *GetBackupPlanFromTemplateInput) (*GetBackupPlanFromTemplateOutput, error) {
1678	req, out := c.GetBackupPlanFromTemplateRequest(input)
1679	return out, req.Send()
1680}
1681
1682// GetBackupPlanFromTemplateWithContext is the same as GetBackupPlanFromTemplate with the addition of
1683// the ability to pass a context and additional request options.
1684//
1685// See GetBackupPlanFromTemplate for details on how to use this API operation.
1686//
1687// The context must be non-nil and will be used for request cancellation. If
1688// the context is nil a panic will occur. In the future the SDK may create
1689// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1690// for more information on using Contexts.
1691func (c *Backup) GetBackupPlanFromTemplateWithContext(ctx aws.Context, input *GetBackupPlanFromTemplateInput, opts ...request.Option) (*GetBackupPlanFromTemplateOutput, error) {
1692	req, out := c.GetBackupPlanFromTemplateRequest(input)
1693	req.SetContext(ctx)
1694	req.ApplyOptions(opts...)
1695	return out, req.Send()
1696}
1697
1698const opGetBackupSelection = "GetBackupSelection"
1699
1700// GetBackupSelectionRequest generates a "aws/request.Request" representing the
1701// client's request for the GetBackupSelection operation. The "output" return
1702// value will be populated with the request's response once the request completes
1703// successfully.
1704//
1705// Use "Send" method on the returned Request to send the API call to the service.
1706// the "output" return value is not valid until after Send returns without error.
1707//
1708// See GetBackupSelection for more information on using the GetBackupSelection
1709// API call, and error handling.
1710//
1711// This method is useful when you want to inject custom logic or configuration
1712// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1713//
1714//
1715//    // Example sending a request using the GetBackupSelectionRequest method.
1716//    req, resp := client.GetBackupSelectionRequest(params)
1717//
1718//    err := req.Send()
1719//    if err == nil { // resp is now filled
1720//        fmt.Println(resp)
1721//    }
1722//
1723// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupSelection
1724func (c *Backup) GetBackupSelectionRequest(input *GetBackupSelectionInput) (req *request.Request, output *GetBackupSelectionOutput) {
1725	op := &request.Operation{
1726		Name:       opGetBackupSelection,
1727		HTTPMethod: "GET",
1728		HTTPPath:   "/backup/plans/{backupPlanId}/selections/{selectionId}",
1729	}
1730
1731	if input == nil {
1732		input = &GetBackupSelectionInput{}
1733	}
1734
1735	output = &GetBackupSelectionOutput{}
1736	req = c.newRequest(op, input, output)
1737	return
1738}
1739
1740// GetBackupSelection API operation for AWS Backup.
1741//
1742// Returns selection metadata and a document in JSON format that specifies a
1743// list of resources that are associated with a backup plan.
1744//
1745// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1746// with awserr.Error's Code and Message methods to get detailed information about
1747// the error.
1748//
1749// See the AWS API reference guide for AWS Backup's
1750// API operation GetBackupSelection for usage and error information.
1751//
1752// Returned Error Codes:
1753//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1754//   A resource that is required for the action doesn't exist.
1755//
1756//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
1757//   Indicates that something is wrong with a parameter's value. For example,
1758//   the value is out of range.
1759//
1760//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
1761//   Indicates that a required parameter is missing.
1762//
1763//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1764//   The request failed due to a temporary failure of the server.
1765//
1766// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupSelection
1767func (c *Backup) GetBackupSelection(input *GetBackupSelectionInput) (*GetBackupSelectionOutput, error) {
1768	req, out := c.GetBackupSelectionRequest(input)
1769	return out, req.Send()
1770}
1771
1772// GetBackupSelectionWithContext is the same as GetBackupSelection with the addition of
1773// the ability to pass a context and additional request options.
1774//
1775// See GetBackupSelection for details on how to use this API operation.
1776//
1777// The context must be non-nil and will be used for request cancellation. If
1778// the context is nil a panic will occur. In the future the SDK may create
1779// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1780// for more information on using Contexts.
1781func (c *Backup) GetBackupSelectionWithContext(ctx aws.Context, input *GetBackupSelectionInput, opts ...request.Option) (*GetBackupSelectionOutput, error) {
1782	req, out := c.GetBackupSelectionRequest(input)
1783	req.SetContext(ctx)
1784	req.ApplyOptions(opts...)
1785	return out, req.Send()
1786}
1787
1788const opGetBackupVaultAccessPolicy = "GetBackupVaultAccessPolicy"
1789
1790// GetBackupVaultAccessPolicyRequest generates a "aws/request.Request" representing the
1791// client's request for the GetBackupVaultAccessPolicy operation. The "output" return
1792// value will be populated with the request's response once the request completes
1793// successfully.
1794//
1795// Use "Send" method on the returned Request to send the API call to the service.
1796// the "output" return value is not valid until after Send returns without error.
1797//
1798// See GetBackupVaultAccessPolicy for more information on using the GetBackupVaultAccessPolicy
1799// API call, and error handling.
1800//
1801// This method is useful when you want to inject custom logic or configuration
1802// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1803//
1804//
1805//    // Example sending a request using the GetBackupVaultAccessPolicyRequest method.
1806//    req, resp := client.GetBackupVaultAccessPolicyRequest(params)
1807//
1808//    err := req.Send()
1809//    if err == nil { // resp is now filled
1810//        fmt.Println(resp)
1811//    }
1812//
1813// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupVaultAccessPolicy
1814func (c *Backup) GetBackupVaultAccessPolicyRequest(input *GetBackupVaultAccessPolicyInput) (req *request.Request, output *GetBackupVaultAccessPolicyOutput) {
1815	op := &request.Operation{
1816		Name:       opGetBackupVaultAccessPolicy,
1817		HTTPMethod: "GET",
1818		HTTPPath:   "/backup-vaults/{backupVaultName}/access-policy",
1819	}
1820
1821	if input == nil {
1822		input = &GetBackupVaultAccessPolicyInput{}
1823	}
1824
1825	output = &GetBackupVaultAccessPolicyOutput{}
1826	req = c.newRequest(op, input, output)
1827	return
1828}
1829
1830// GetBackupVaultAccessPolicy API operation for AWS Backup.
1831//
1832// Returns the access policy document that is associated with the named backup
1833// vault.
1834//
1835// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1836// with awserr.Error's Code and Message methods to get detailed information about
1837// the error.
1838//
1839// See the AWS API reference guide for AWS Backup's
1840// API operation GetBackupVaultAccessPolicy for usage and error information.
1841//
1842// Returned Error Codes:
1843//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1844//   A resource that is required for the action doesn't exist.
1845//
1846//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
1847//   Indicates that something is wrong with a parameter's value. For example,
1848//   the value is out of range.
1849//
1850//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
1851//   Indicates that a required parameter is missing.
1852//
1853//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1854//   The request failed due to a temporary failure of the server.
1855//
1856// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupVaultAccessPolicy
1857func (c *Backup) GetBackupVaultAccessPolicy(input *GetBackupVaultAccessPolicyInput) (*GetBackupVaultAccessPolicyOutput, error) {
1858	req, out := c.GetBackupVaultAccessPolicyRequest(input)
1859	return out, req.Send()
1860}
1861
1862// GetBackupVaultAccessPolicyWithContext is the same as GetBackupVaultAccessPolicy with the addition of
1863// the ability to pass a context and additional request options.
1864//
1865// See GetBackupVaultAccessPolicy for details on how to use this API operation.
1866//
1867// The context must be non-nil and will be used for request cancellation. If
1868// the context is nil a panic will occur. In the future the SDK may create
1869// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1870// for more information on using Contexts.
1871func (c *Backup) GetBackupVaultAccessPolicyWithContext(ctx aws.Context, input *GetBackupVaultAccessPolicyInput, opts ...request.Option) (*GetBackupVaultAccessPolicyOutput, error) {
1872	req, out := c.GetBackupVaultAccessPolicyRequest(input)
1873	req.SetContext(ctx)
1874	req.ApplyOptions(opts...)
1875	return out, req.Send()
1876}
1877
1878const opGetBackupVaultNotifications = "GetBackupVaultNotifications"
1879
1880// GetBackupVaultNotificationsRequest generates a "aws/request.Request" representing the
1881// client's request for the GetBackupVaultNotifications operation. The "output" return
1882// value will be populated with the request's response once the request completes
1883// successfully.
1884//
1885// Use "Send" method on the returned Request to send the API call to the service.
1886// the "output" return value is not valid until after Send returns without error.
1887//
1888// See GetBackupVaultNotifications for more information on using the GetBackupVaultNotifications
1889// API call, and error handling.
1890//
1891// This method is useful when you want to inject custom logic or configuration
1892// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1893//
1894//
1895//    // Example sending a request using the GetBackupVaultNotificationsRequest method.
1896//    req, resp := client.GetBackupVaultNotificationsRequest(params)
1897//
1898//    err := req.Send()
1899//    if err == nil { // resp is now filled
1900//        fmt.Println(resp)
1901//    }
1902//
1903// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupVaultNotifications
1904func (c *Backup) GetBackupVaultNotificationsRequest(input *GetBackupVaultNotificationsInput) (req *request.Request, output *GetBackupVaultNotificationsOutput) {
1905	op := &request.Operation{
1906		Name:       opGetBackupVaultNotifications,
1907		HTTPMethod: "GET",
1908		HTTPPath:   "/backup-vaults/{backupVaultName}/notification-configuration",
1909	}
1910
1911	if input == nil {
1912		input = &GetBackupVaultNotificationsInput{}
1913	}
1914
1915	output = &GetBackupVaultNotificationsOutput{}
1916	req = c.newRequest(op, input, output)
1917	return
1918}
1919
1920// GetBackupVaultNotifications API operation for AWS Backup.
1921//
1922// Returns event notifications for the specified backup vault.
1923//
1924// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1925// with awserr.Error's Code and Message methods to get detailed information about
1926// the error.
1927//
1928// See the AWS API reference guide for AWS Backup's
1929// API operation GetBackupVaultNotifications for usage and error information.
1930//
1931// Returned Error Codes:
1932//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1933//   A resource that is required for the action doesn't exist.
1934//
1935//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
1936//   Indicates that something is wrong with a parameter's value. For example,
1937//   the value is out of range.
1938//
1939//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
1940//   Indicates that a required parameter is missing.
1941//
1942//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1943//   The request failed due to a temporary failure of the server.
1944//
1945// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetBackupVaultNotifications
1946func (c *Backup) GetBackupVaultNotifications(input *GetBackupVaultNotificationsInput) (*GetBackupVaultNotificationsOutput, error) {
1947	req, out := c.GetBackupVaultNotificationsRequest(input)
1948	return out, req.Send()
1949}
1950
1951// GetBackupVaultNotificationsWithContext is the same as GetBackupVaultNotifications with the addition of
1952// the ability to pass a context and additional request options.
1953//
1954// See GetBackupVaultNotifications for details on how to use this API operation.
1955//
1956// The context must be non-nil and will be used for request cancellation. If
1957// the context is nil a panic will occur. In the future the SDK may create
1958// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1959// for more information on using Contexts.
1960func (c *Backup) GetBackupVaultNotificationsWithContext(ctx aws.Context, input *GetBackupVaultNotificationsInput, opts ...request.Option) (*GetBackupVaultNotificationsOutput, error) {
1961	req, out := c.GetBackupVaultNotificationsRequest(input)
1962	req.SetContext(ctx)
1963	req.ApplyOptions(opts...)
1964	return out, req.Send()
1965}
1966
1967const opGetRecoveryPointRestoreMetadata = "GetRecoveryPointRestoreMetadata"
1968
1969// GetRecoveryPointRestoreMetadataRequest generates a "aws/request.Request" representing the
1970// client's request for the GetRecoveryPointRestoreMetadata operation. The "output" return
1971// value will be populated with the request's response once the request completes
1972// successfully.
1973//
1974// Use "Send" method on the returned Request to send the API call to the service.
1975// the "output" return value is not valid until after Send returns without error.
1976//
1977// See GetRecoveryPointRestoreMetadata for more information on using the GetRecoveryPointRestoreMetadata
1978// API call, and error handling.
1979//
1980// This method is useful when you want to inject custom logic or configuration
1981// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1982//
1983//
1984//    // Example sending a request using the GetRecoveryPointRestoreMetadataRequest method.
1985//    req, resp := client.GetRecoveryPointRestoreMetadataRequest(params)
1986//
1987//    err := req.Send()
1988//    if err == nil { // resp is now filled
1989//        fmt.Println(resp)
1990//    }
1991//
1992// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetRecoveryPointRestoreMetadata
1993func (c *Backup) GetRecoveryPointRestoreMetadataRequest(input *GetRecoveryPointRestoreMetadataInput) (req *request.Request, output *GetRecoveryPointRestoreMetadataOutput) {
1994	op := &request.Operation{
1995		Name:       opGetRecoveryPointRestoreMetadata,
1996		HTTPMethod: "GET",
1997		HTTPPath:   "/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}/restore-metadata",
1998	}
1999
2000	if input == nil {
2001		input = &GetRecoveryPointRestoreMetadataInput{}
2002	}
2003
2004	output = &GetRecoveryPointRestoreMetadataOutput{}
2005	req = c.newRequest(op, input, output)
2006	return
2007}
2008
2009// GetRecoveryPointRestoreMetadata API operation for AWS Backup.
2010//
2011// Returns two sets of metadata key-value pairs. The first set lists the metadata
2012// that the recovery point was created with. The second set lists the metadata
2013// key-value pairs that are required to restore the recovery point.
2014//
2015// These sets can be the same, or the restore metadata set can contain different
2016// values if the target service to be restored has changed since the recovery
2017// point was created and now requires additional or different information in
2018// order to be restored.
2019//
2020// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2021// with awserr.Error's Code and Message methods to get detailed information about
2022// the error.
2023//
2024// See the AWS API reference guide for AWS Backup's
2025// API operation GetRecoveryPointRestoreMetadata for usage and error information.
2026//
2027// Returned Error Codes:
2028//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2029//   A resource that is required for the action doesn't exist.
2030//
2031//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
2032//   Indicates that something is wrong with a parameter's value. For example,
2033//   the value is out of range.
2034//
2035//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
2036//   Indicates that a required parameter is missing.
2037//
2038//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2039//   The request failed due to a temporary failure of the server.
2040//
2041// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetRecoveryPointRestoreMetadata
2042func (c *Backup) GetRecoveryPointRestoreMetadata(input *GetRecoveryPointRestoreMetadataInput) (*GetRecoveryPointRestoreMetadataOutput, error) {
2043	req, out := c.GetRecoveryPointRestoreMetadataRequest(input)
2044	return out, req.Send()
2045}
2046
2047// GetRecoveryPointRestoreMetadataWithContext is the same as GetRecoveryPointRestoreMetadata with the addition of
2048// the ability to pass a context and additional request options.
2049//
2050// See GetRecoveryPointRestoreMetadata for details on how to use this API operation.
2051//
2052// The context must be non-nil and will be used for request cancellation. If
2053// the context is nil a panic will occur. In the future the SDK may create
2054// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2055// for more information on using Contexts.
2056func (c *Backup) GetRecoveryPointRestoreMetadataWithContext(ctx aws.Context, input *GetRecoveryPointRestoreMetadataInput, opts ...request.Option) (*GetRecoveryPointRestoreMetadataOutput, error) {
2057	req, out := c.GetRecoveryPointRestoreMetadataRequest(input)
2058	req.SetContext(ctx)
2059	req.ApplyOptions(opts...)
2060	return out, req.Send()
2061}
2062
2063const opGetSupportedResourceTypes = "GetSupportedResourceTypes"
2064
2065// GetSupportedResourceTypesRequest generates a "aws/request.Request" representing the
2066// client's request for the GetSupportedResourceTypes operation. The "output" return
2067// value will be populated with the request's response once the request completes
2068// successfully.
2069//
2070// Use "Send" method on the returned Request to send the API call to the service.
2071// the "output" return value is not valid until after Send returns without error.
2072//
2073// See GetSupportedResourceTypes for more information on using the GetSupportedResourceTypes
2074// API call, and error handling.
2075//
2076// This method is useful when you want to inject custom logic or configuration
2077// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2078//
2079//
2080//    // Example sending a request using the GetSupportedResourceTypesRequest method.
2081//    req, resp := client.GetSupportedResourceTypesRequest(params)
2082//
2083//    err := req.Send()
2084//    if err == nil { // resp is now filled
2085//        fmt.Println(resp)
2086//    }
2087//
2088// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetSupportedResourceTypes
2089func (c *Backup) GetSupportedResourceTypesRequest(input *GetSupportedResourceTypesInput) (req *request.Request, output *GetSupportedResourceTypesOutput) {
2090	op := &request.Operation{
2091		Name:       opGetSupportedResourceTypes,
2092		HTTPMethod: "GET",
2093		HTTPPath:   "/supported-resource-types",
2094	}
2095
2096	if input == nil {
2097		input = &GetSupportedResourceTypesInput{}
2098	}
2099
2100	output = &GetSupportedResourceTypesOutput{}
2101	req = c.newRequest(op, input, output)
2102	return
2103}
2104
2105// GetSupportedResourceTypes API operation for AWS Backup.
2106//
2107// Returns the AWS resource types supported by AWS Backup.
2108//
2109// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2110// with awserr.Error's Code and Message methods to get detailed information about
2111// the error.
2112//
2113// See the AWS API reference guide for AWS Backup's
2114// API operation GetSupportedResourceTypes for usage and error information.
2115//
2116// Returned Error Codes:
2117//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2118//   The request failed due to a temporary failure of the server.
2119//
2120// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/GetSupportedResourceTypes
2121func (c *Backup) GetSupportedResourceTypes(input *GetSupportedResourceTypesInput) (*GetSupportedResourceTypesOutput, error) {
2122	req, out := c.GetSupportedResourceTypesRequest(input)
2123	return out, req.Send()
2124}
2125
2126// GetSupportedResourceTypesWithContext is the same as GetSupportedResourceTypes with the addition of
2127// the ability to pass a context and additional request options.
2128//
2129// See GetSupportedResourceTypes for details on how to use this API operation.
2130//
2131// The context must be non-nil and will be used for request cancellation. If
2132// the context is nil a panic will occur. In the future the SDK may create
2133// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2134// for more information on using Contexts.
2135func (c *Backup) GetSupportedResourceTypesWithContext(ctx aws.Context, input *GetSupportedResourceTypesInput, opts ...request.Option) (*GetSupportedResourceTypesOutput, error) {
2136	req, out := c.GetSupportedResourceTypesRequest(input)
2137	req.SetContext(ctx)
2138	req.ApplyOptions(opts...)
2139	return out, req.Send()
2140}
2141
2142const opListBackupJobs = "ListBackupJobs"
2143
2144// ListBackupJobsRequest generates a "aws/request.Request" representing the
2145// client's request for the ListBackupJobs operation. The "output" return
2146// value will be populated with the request's response once the request completes
2147// successfully.
2148//
2149// Use "Send" method on the returned Request to send the API call to the service.
2150// the "output" return value is not valid until after Send returns without error.
2151//
2152// See ListBackupJobs for more information on using the ListBackupJobs
2153// API call, and error handling.
2154//
2155// This method is useful when you want to inject custom logic or configuration
2156// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2157//
2158//
2159//    // Example sending a request using the ListBackupJobsRequest method.
2160//    req, resp := client.ListBackupJobsRequest(params)
2161//
2162//    err := req.Send()
2163//    if err == nil { // resp is now filled
2164//        fmt.Println(resp)
2165//    }
2166//
2167// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupJobs
2168func (c *Backup) ListBackupJobsRequest(input *ListBackupJobsInput) (req *request.Request, output *ListBackupJobsOutput) {
2169	op := &request.Operation{
2170		Name:       opListBackupJobs,
2171		HTTPMethod: "GET",
2172		HTTPPath:   "/backup-jobs/",
2173		Paginator: &request.Paginator{
2174			InputTokens:     []string{"NextToken"},
2175			OutputTokens:    []string{"NextToken"},
2176			LimitToken:      "MaxResults",
2177			TruncationToken: "",
2178		},
2179	}
2180
2181	if input == nil {
2182		input = &ListBackupJobsInput{}
2183	}
2184
2185	output = &ListBackupJobsOutput{}
2186	req = c.newRequest(op, input, output)
2187	return
2188}
2189
2190// ListBackupJobs API operation for AWS Backup.
2191//
2192// Returns metadata about your backup jobs.
2193//
2194// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2195// with awserr.Error's Code and Message methods to get detailed information about
2196// the error.
2197//
2198// See the AWS API reference guide for AWS Backup's
2199// API operation ListBackupJobs for usage and error information.
2200//
2201// Returned Error Codes:
2202//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
2203//   Indicates that something is wrong with a parameter's value. For example,
2204//   the value is out of range.
2205//
2206//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2207//   The request failed due to a temporary failure of the server.
2208//
2209// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupJobs
2210func (c *Backup) ListBackupJobs(input *ListBackupJobsInput) (*ListBackupJobsOutput, error) {
2211	req, out := c.ListBackupJobsRequest(input)
2212	return out, req.Send()
2213}
2214
2215// ListBackupJobsWithContext is the same as ListBackupJobs with the addition of
2216// the ability to pass a context and additional request options.
2217//
2218// See ListBackupJobs for details on how to use this API operation.
2219//
2220// The context must be non-nil and will be used for request cancellation. If
2221// the context is nil a panic will occur. In the future the SDK may create
2222// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2223// for more information on using Contexts.
2224func (c *Backup) ListBackupJobsWithContext(ctx aws.Context, input *ListBackupJobsInput, opts ...request.Option) (*ListBackupJobsOutput, error) {
2225	req, out := c.ListBackupJobsRequest(input)
2226	req.SetContext(ctx)
2227	req.ApplyOptions(opts...)
2228	return out, req.Send()
2229}
2230
2231// ListBackupJobsPages iterates over the pages of a ListBackupJobs operation,
2232// calling the "fn" function with the response data for each page. To stop
2233// iterating, return false from the fn function.
2234//
2235// See ListBackupJobs method for more information on how to use this operation.
2236//
2237// Note: This operation can generate multiple requests to a service.
2238//
2239//    // Example iterating over at most 3 pages of a ListBackupJobs operation.
2240//    pageNum := 0
2241//    err := client.ListBackupJobsPages(params,
2242//        func(page *backup.ListBackupJobsOutput, lastPage bool) bool {
2243//            pageNum++
2244//            fmt.Println(page)
2245//            return pageNum <= 3
2246//        })
2247//
2248func (c *Backup) ListBackupJobsPages(input *ListBackupJobsInput, fn func(*ListBackupJobsOutput, bool) bool) error {
2249	return c.ListBackupJobsPagesWithContext(aws.BackgroundContext(), input, fn)
2250}
2251
2252// ListBackupJobsPagesWithContext same as ListBackupJobsPages except
2253// it takes a Context and allows setting request options on the pages.
2254//
2255// The context must be non-nil and will be used for request cancellation. If
2256// the context is nil a panic will occur. In the future the SDK may create
2257// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2258// for more information on using Contexts.
2259func (c *Backup) ListBackupJobsPagesWithContext(ctx aws.Context, input *ListBackupJobsInput, fn func(*ListBackupJobsOutput, bool) bool, opts ...request.Option) error {
2260	p := request.Pagination{
2261		NewRequest: func() (*request.Request, error) {
2262			var inCpy *ListBackupJobsInput
2263			if input != nil {
2264				tmp := *input
2265				inCpy = &tmp
2266			}
2267			req, _ := c.ListBackupJobsRequest(inCpy)
2268			req.SetContext(ctx)
2269			req.ApplyOptions(opts...)
2270			return req, nil
2271		},
2272	}
2273
2274	cont := true
2275	for p.Next() && cont {
2276		cont = fn(p.Page().(*ListBackupJobsOutput), !p.HasNextPage())
2277	}
2278	return p.Err()
2279}
2280
2281const opListBackupPlanTemplates = "ListBackupPlanTemplates"
2282
2283// ListBackupPlanTemplatesRequest generates a "aws/request.Request" representing the
2284// client's request for the ListBackupPlanTemplates operation. The "output" return
2285// value will be populated with the request's response once the request completes
2286// successfully.
2287//
2288// Use "Send" method on the returned Request to send the API call to the service.
2289// the "output" return value is not valid until after Send returns without error.
2290//
2291// See ListBackupPlanTemplates for more information on using the ListBackupPlanTemplates
2292// API call, and error handling.
2293//
2294// This method is useful when you want to inject custom logic or configuration
2295// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2296//
2297//
2298//    // Example sending a request using the ListBackupPlanTemplatesRequest method.
2299//    req, resp := client.ListBackupPlanTemplatesRequest(params)
2300//
2301//    err := req.Send()
2302//    if err == nil { // resp is now filled
2303//        fmt.Println(resp)
2304//    }
2305//
2306// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupPlanTemplates
2307func (c *Backup) ListBackupPlanTemplatesRequest(input *ListBackupPlanTemplatesInput) (req *request.Request, output *ListBackupPlanTemplatesOutput) {
2308	op := &request.Operation{
2309		Name:       opListBackupPlanTemplates,
2310		HTTPMethod: "GET",
2311		HTTPPath:   "/backup/template/plans",
2312		Paginator: &request.Paginator{
2313			InputTokens:     []string{"NextToken"},
2314			OutputTokens:    []string{"NextToken"},
2315			LimitToken:      "MaxResults",
2316			TruncationToken: "",
2317		},
2318	}
2319
2320	if input == nil {
2321		input = &ListBackupPlanTemplatesInput{}
2322	}
2323
2324	output = &ListBackupPlanTemplatesOutput{}
2325	req = c.newRequest(op, input, output)
2326	return
2327}
2328
2329// ListBackupPlanTemplates API operation for AWS Backup.
2330//
2331// Returns metadata of your saved backup plan templates, including the template
2332// ID, name, and the creation and deletion dates.
2333//
2334// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2335// with awserr.Error's Code and Message methods to get detailed information about
2336// the error.
2337//
2338// See the AWS API reference guide for AWS Backup's
2339// API operation ListBackupPlanTemplates for usage and error information.
2340//
2341// Returned Error Codes:
2342//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
2343//   Indicates that something is wrong with a parameter's value. For example,
2344//   the value is out of range.
2345//
2346//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
2347//   Indicates that a required parameter is missing.
2348//
2349//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2350//   The request failed due to a temporary failure of the server.
2351//
2352//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2353//   A resource that is required for the action doesn't exist.
2354//
2355// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupPlanTemplates
2356func (c *Backup) ListBackupPlanTemplates(input *ListBackupPlanTemplatesInput) (*ListBackupPlanTemplatesOutput, error) {
2357	req, out := c.ListBackupPlanTemplatesRequest(input)
2358	return out, req.Send()
2359}
2360
2361// ListBackupPlanTemplatesWithContext is the same as ListBackupPlanTemplates with the addition of
2362// the ability to pass a context and additional request options.
2363//
2364// See ListBackupPlanTemplates for details on how to use this API operation.
2365//
2366// The context must be non-nil and will be used for request cancellation. If
2367// the context is nil a panic will occur. In the future the SDK may create
2368// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2369// for more information on using Contexts.
2370func (c *Backup) ListBackupPlanTemplatesWithContext(ctx aws.Context, input *ListBackupPlanTemplatesInput, opts ...request.Option) (*ListBackupPlanTemplatesOutput, error) {
2371	req, out := c.ListBackupPlanTemplatesRequest(input)
2372	req.SetContext(ctx)
2373	req.ApplyOptions(opts...)
2374	return out, req.Send()
2375}
2376
2377// ListBackupPlanTemplatesPages iterates over the pages of a ListBackupPlanTemplates operation,
2378// calling the "fn" function with the response data for each page. To stop
2379// iterating, return false from the fn function.
2380//
2381// See ListBackupPlanTemplates method for more information on how to use this operation.
2382//
2383// Note: This operation can generate multiple requests to a service.
2384//
2385//    // Example iterating over at most 3 pages of a ListBackupPlanTemplates operation.
2386//    pageNum := 0
2387//    err := client.ListBackupPlanTemplatesPages(params,
2388//        func(page *backup.ListBackupPlanTemplatesOutput, lastPage bool) bool {
2389//            pageNum++
2390//            fmt.Println(page)
2391//            return pageNum <= 3
2392//        })
2393//
2394func (c *Backup) ListBackupPlanTemplatesPages(input *ListBackupPlanTemplatesInput, fn func(*ListBackupPlanTemplatesOutput, bool) bool) error {
2395	return c.ListBackupPlanTemplatesPagesWithContext(aws.BackgroundContext(), input, fn)
2396}
2397
2398// ListBackupPlanTemplatesPagesWithContext same as ListBackupPlanTemplatesPages except
2399// it takes a Context and allows setting request options on the pages.
2400//
2401// The context must be non-nil and will be used for request cancellation. If
2402// the context is nil a panic will occur. In the future the SDK may create
2403// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2404// for more information on using Contexts.
2405func (c *Backup) ListBackupPlanTemplatesPagesWithContext(ctx aws.Context, input *ListBackupPlanTemplatesInput, fn func(*ListBackupPlanTemplatesOutput, bool) bool, opts ...request.Option) error {
2406	p := request.Pagination{
2407		NewRequest: func() (*request.Request, error) {
2408			var inCpy *ListBackupPlanTemplatesInput
2409			if input != nil {
2410				tmp := *input
2411				inCpy = &tmp
2412			}
2413			req, _ := c.ListBackupPlanTemplatesRequest(inCpy)
2414			req.SetContext(ctx)
2415			req.ApplyOptions(opts...)
2416			return req, nil
2417		},
2418	}
2419
2420	cont := true
2421	for p.Next() && cont {
2422		cont = fn(p.Page().(*ListBackupPlanTemplatesOutput), !p.HasNextPage())
2423	}
2424	return p.Err()
2425}
2426
2427const opListBackupPlanVersions = "ListBackupPlanVersions"
2428
2429// ListBackupPlanVersionsRequest generates a "aws/request.Request" representing the
2430// client's request for the ListBackupPlanVersions operation. The "output" return
2431// value will be populated with the request's response once the request completes
2432// successfully.
2433//
2434// Use "Send" method on the returned Request to send the API call to the service.
2435// the "output" return value is not valid until after Send returns without error.
2436//
2437// See ListBackupPlanVersions for more information on using the ListBackupPlanVersions
2438// API call, and error handling.
2439//
2440// This method is useful when you want to inject custom logic or configuration
2441// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2442//
2443//
2444//    // Example sending a request using the ListBackupPlanVersionsRequest method.
2445//    req, resp := client.ListBackupPlanVersionsRequest(params)
2446//
2447//    err := req.Send()
2448//    if err == nil { // resp is now filled
2449//        fmt.Println(resp)
2450//    }
2451//
2452// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupPlanVersions
2453func (c *Backup) ListBackupPlanVersionsRequest(input *ListBackupPlanVersionsInput) (req *request.Request, output *ListBackupPlanVersionsOutput) {
2454	op := &request.Operation{
2455		Name:       opListBackupPlanVersions,
2456		HTTPMethod: "GET",
2457		HTTPPath:   "/backup/plans/{backupPlanId}/versions/",
2458		Paginator: &request.Paginator{
2459			InputTokens:     []string{"NextToken"},
2460			OutputTokens:    []string{"NextToken"},
2461			LimitToken:      "MaxResults",
2462			TruncationToken: "",
2463		},
2464	}
2465
2466	if input == nil {
2467		input = &ListBackupPlanVersionsInput{}
2468	}
2469
2470	output = &ListBackupPlanVersionsOutput{}
2471	req = c.newRequest(op, input, output)
2472	return
2473}
2474
2475// ListBackupPlanVersions API operation for AWS Backup.
2476//
2477// Returns version metadata of your backup plans, including Amazon Resource
2478// Names (ARNs), backup plan IDs, creation and deletion dates, plan names, and
2479// version IDs.
2480//
2481// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2482// with awserr.Error's Code and Message methods to get detailed information about
2483// the error.
2484//
2485// See the AWS API reference guide for AWS Backup's
2486// API operation ListBackupPlanVersions for usage and error information.
2487//
2488// Returned Error Codes:
2489//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2490//   A resource that is required for the action doesn't exist.
2491//
2492//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
2493//   Indicates that something is wrong with a parameter's value. For example,
2494//   the value is out of range.
2495//
2496//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
2497//   Indicates that a required parameter is missing.
2498//
2499//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2500//   The request failed due to a temporary failure of the server.
2501//
2502// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupPlanVersions
2503func (c *Backup) ListBackupPlanVersions(input *ListBackupPlanVersionsInput) (*ListBackupPlanVersionsOutput, error) {
2504	req, out := c.ListBackupPlanVersionsRequest(input)
2505	return out, req.Send()
2506}
2507
2508// ListBackupPlanVersionsWithContext is the same as ListBackupPlanVersions with the addition of
2509// the ability to pass a context and additional request options.
2510//
2511// See ListBackupPlanVersions for details on how to use this API operation.
2512//
2513// The context must be non-nil and will be used for request cancellation. If
2514// the context is nil a panic will occur. In the future the SDK may create
2515// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2516// for more information on using Contexts.
2517func (c *Backup) ListBackupPlanVersionsWithContext(ctx aws.Context, input *ListBackupPlanVersionsInput, opts ...request.Option) (*ListBackupPlanVersionsOutput, error) {
2518	req, out := c.ListBackupPlanVersionsRequest(input)
2519	req.SetContext(ctx)
2520	req.ApplyOptions(opts...)
2521	return out, req.Send()
2522}
2523
2524// ListBackupPlanVersionsPages iterates over the pages of a ListBackupPlanVersions operation,
2525// calling the "fn" function with the response data for each page. To stop
2526// iterating, return false from the fn function.
2527//
2528// See ListBackupPlanVersions method for more information on how to use this operation.
2529//
2530// Note: This operation can generate multiple requests to a service.
2531//
2532//    // Example iterating over at most 3 pages of a ListBackupPlanVersions operation.
2533//    pageNum := 0
2534//    err := client.ListBackupPlanVersionsPages(params,
2535//        func(page *backup.ListBackupPlanVersionsOutput, lastPage bool) bool {
2536//            pageNum++
2537//            fmt.Println(page)
2538//            return pageNum <= 3
2539//        })
2540//
2541func (c *Backup) ListBackupPlanVersionsPages(input *ListBackupPlanVersionsInput, fn func(*ListBackupPlanVersionsOutput, bool) bool) error {
2542	return c.ListBackupPlanVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
2543}
2544
2545// ListBackupPlanVersionsPagesWithContext same as ListBackupPlanVersionsPages except
2546// it takes a Context and allows setting request options on the pages.
2547//
2548// The context must be non-nil and will be used for request cancellation. If
2549// the context is nil a panic will occur. In the future the SDK may create
2550// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2551// for more information on using Contexts.
2552func (c *Backup) ListBackupPlanVersionsPagesWithContext(ctx aws.Context, input *ListBackupPlanVersionsInput, fn func(*ListBackupPlanVersionsOutput, bool) bool, opts ...request.Option) error {
2553	p := request.Pagination{
2554		NewRequest: func() (*request.Request, error) {
2555			var inCpy *ListBackupPlanVersionsInput
2556			if input != nil {
2557				tmp := *input
2558				inCpy = &tmp
2559			}
2560			req, _ := c.ListBackupPlanVersionsRequest(inCpy)
2561			req.SetContext(ctx)
2562			req.ApplyOptions(opts...)
2563			return req, nil
2564		},
2565	}
2566
2567	cont := true
2568	for p.Next() && cont {
2569		cont = fn(p.Page().(*ListBackupPlanVersionsOutput), !p.HasNextPage())
2570	}
2571	return p.Err()
2572}
2573
2574const opListBackupPlans = "ListBackupPlans"
2575
2576// ListBackupPlansRequest generates a "aws/request.Request" representing the
2577// client's request for the ListBackupPlans operation. The "output" return
2578// value will be populated with the request's response once the request completes
2579// successfully.
2580//
2581// Use "Send" method on the returned Request to send the API call to the service.
2582// the "output" return value is not valid until after Send returns without error.
2583//
2584// See ListBackupPlans for more information on using the ListBackupPlans
2585// API call, and error handling.
2586//
2587// This method is useful when you want to inject custom logic or configuration
2588// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2589//
2590//
2591//    // Example sending a request using the ListBackupPlansRequest method.
2592//    req, resp := client.ListBackupPlansRequest(params)
2593//
2594//    err := req.Send()
2595//    if err == nil { // resp is now filled
2596//        fmt.Println(resp)
2597//    }
2598//
2599// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupPlans
2600func (c *Backup) ListBackupPlansRequest(input *ListBackupPlansInput) (req *request.Request, output *ListBackupPlansOutput) {
2601	op := &request.Operation{
2602		Name:       opListBackupPlans,
2603		HTTPMethod: "GET",
2604		HTTPPath:   "/backup/plans/",
2605		Paginator: &request.Paginator{
2606			InputTokens:     []string{"NextToken"},
2607			OutputTokens:    []string{"NextToken"},
2608			LimitToken:      "MaxResults",
2609			TruncationToken: "",
2610		},
2611	}
2612
2613	if input == nil {
2614		input = &ListBackupPlansInput{}
2615	}
2616
2617	output = &ListBackupPlansOutput{}
2618	req = c.newRequest(op, input, output)
2619	return
2620}
2621
2622// ListBackupPlans API operation for AWS Backup.
2623//
2624// Returns metadata of your saved backup plans, including Amazon Resource Names
2625// (ARNs), plan IDs, creation and deletion dates, version IDs, plan names, and
2626// creator request IDs.
2627//
2628// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2629// with awserr.Error's Code and Message methods to get detailed information about
2630// the error.
2631//
2632// See the AWS API reference guide for AWS Backup's
2633// API operation ListBackupPlans for usage and error information.
2634//
2635// Returned Error Codes:
2636//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2637//   A resource that is required for the action doesn't exist.
2638//
2639//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
2640//   Indicates that something is wrong with a parameter's value. For example,
2641//   the value is out of range.
2642//
2643//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
2644//   Indicates that a required parameter is missing.
2645//
2646//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2647//   The request failed due to a temporary failure of the server.
2648//
2649// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupPlans
2650func (c *Backup) ListBackupPlans(input *ListBackupPlansInput) (*ListBackupPlansOutput, error) {
2651	req, out := c.ListBackupPlansRequest(input)
2652	return out, req.Send()
2653}
2654
2655// ListBackupPlansWithContext is the same as ListBackupPlans with the addition of
2656// the ability to pass a context and additional request options.
2657//
2658// See ListBackupPlans for details on how to use this API operation.
2659//
2660// The context must be non-nil and will be used for request cancellation. If
2661// the context is nil a panic will occur. In the future the SDK may create
2662// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2663// for more information on using Contexts.
2664func (c *Backup) ListBackupPlansWithContext(ctx aws.Context, input *ListBackupPlansInput, opts ...request.Option) (*ListBackupPlansOutput, error) {
2665	req, out := c.ListBackupPlansRequest(input)
2666	req.SetContext(ctx)
2667	req.ApplyOptions(opts...)
2668	return out, req.Send()
2669}
2670
2671// ListBackupPlansPages iterates over the pages of a ListBackupPlans operation,
2672// calling the "fn" function with the response data for each page. To stop
2673// iterating, return false from the fn function.
2674//
2675// See ListBackupPlans method for more information on how to use this operation.
2676//
2677// Note: This operation can generate multiple requests to a service.
2678//
2679//    // Example iterating over at most 3 pages of a ListBackupPlans operation.
2680//    pageNum := 0
2681//    err := client.ListBackupPlansPages(params,
2682//        func(page *backup.ListBackupPlansOutput, lastPage bool) bool {
2683//            pageNum++
2684//            fmt.Println(page)
2685//            return pageNum <= 3
2686//        })
2687//
2688func (c *Backup) ListBackupPlansPages(input *ListBackupPlansInput, fn func(*ListBackupPlansOutput, bool) bool) error {
2689	return c.ListBackupPlansPagesWithContext(aws.BackgroundContext(), input, fn)
2690}
2691
2692// ListBackupPlansPagesWithContext same as ListBackupPlansPages except
2693// it takes a Context and allows setting request options on the pages.
2694//
2695// The context must be non-nil and will be used for request cancellation. If
2696// the context is nil a panic will occur. In the future the SDK may create
2697// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2698// for more information on using Contexts.
2699func (c *Backup) ListBackupPlansPagesWithContext(ctx aws.Context, input *ListBackupPlansInput, fn func(*ListBackupPlansOutput, bool) bool, opts ...request.Option) error {
2700	p := request.Pagination{
2701		NewRequest: func() (*request.Request, error) {
2702			var inCpy *ListBackupPlansInput
2703			if input != nil {
2704				tmp := *input
2705				inCpy = &tmp
2706			}
2707			req, _ := c.ListBackupPlansRequest(inCpy)
2708			req.SetContext(ctx)
2709			req.ApplyOptions(opts...)
2710			return req, nil
2711		},
2712	}
2713
2714	cont := true
2715	for p.Next() && cont {
2716		cont = fn(p.Page().(*ListBackupPlansOutput), !p.HasNextPage())
2717	}
2718	return p.Err()
2719}
2720
2721const opListBackupSelections = "ListBackupSelections"
2722
2723// ListBackupSelectionsRequest generates a "aws/request.Request" representing the
2724// client's request for the ListBackupSelections operation. The "output" return
2725// value will be populated with the request's response once the request completes
2726// successfully.
2727//
2728// Use "Send" method on the returned Request to send the API call to the service.
2729// the "output" return value is not valid until after Send returns without error.
2730//
2731// See ListBackupSelections for more information on using the ListBackupSelections
2732// API call, and error handling.
2733//
2734// This method is useful when you want to inject custom logic or configuration
2735// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2736//
2737//
2738//    // Example sending a request using the ListBackupSelectionsRequest method.
2739//    req, resp := client.ListBackupSelectionsRequest(params)
2740//
2741//    err := req.Send()
2742//    if err == nil { // resp is now filled
2743//        fmt.Println(resp)
2744//    }
2745//
2746// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupSelections
2747func (c *Backup) ListBackupSelectionsRequest(input *ListBackupSelectionsInput) (req *request.Request, output *ListBackupSelectionsOutput) {
2748	op := &request.Operation{
2749		Name:       opListBackupSelections,
2750		HTTPMethod: "GET",
2751		HTTPPath:   "/backup/plans/{backupPlanId}/selections/",
2752		Paginator: &request.Paginator{
2753			InputTokens:     []string{"NextToken"},
2754			OutputTokens:    []string{"NextToken"},
2755			LimitToken:      "MaxResults",
2756			TruncationToken: "",
2757		},
2758	}
2759
2760	if input == nil {
2761		input = &ListBackupSelectionsInput{}
2762	}
2763
2764	output = &ListBackupSelectionsOutput{}
2765	req = c.newRequest(op, input, output)
2766	return
2767}
2768
2769// ListBackupSelections API operation for AWS Backup.
2770//
2771// Returns an array containing metadata of the resources associated with the
2772// target backup plan.
2773//
2774// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2775// with awserr.Error's Code and Message methods to get detailed information about
2776// the error.
2777//
2778// See the AWS API reference guide for AWS Backup's
2779// API operation ListBackupSelections for usage and error information.
2780//
2781// Returned Error Codes:
2782//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2783//   A resource that is required for the action doesn't exist.
2784//
2785//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
2786//   Indicates that something is wrong with a parameter's value. For example,
2787//   the value is out of range.
2788//
2789//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
2790//   Indicates that a required parameter is missing.
2791//
2792//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2793//   The request failed due to a temporary failure of the server.
2794//
2795// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupSelections
2796func (c *Backup) ListBackupSelections(input *ListBackupSelectionsInput) (*ListBackupSelectionsOutput, error) {
2797	req, out := c.ListBackupSelectionsRequest(input)
2798	return out, req.Send()
2799}
2800
2801// ListBackupSelectionsWithContext is the same as ListBackupSelections with the addition of
2802// the ability to pass a context and additional request options.
2803//
2804// See ListBackupSelections 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 *Backup) ListBackupSelectionsWithContext(ctx aws.Context, input *ListBackupSelectionsInput, opts ...request.Option) (*ListBackupSelectionsOutput, error) {
2811	req, out := c.ListBackupSelectionsRequest(input)
2812	req.SetContext(ctx)
2813	req.ApplyOptions(opts...)
2814	return out, req.Send()
2815}
2816
2817// ListBackupSelectionsPages iterates over the pages of a ListBackupSelections operation,
2818// calling the "fn" function with the response data for each page. To stop
2819// iterating, return false from the fn function.
2820//
2821// See ListBackupSelections method for more information on how to use this operation.
2822//
2823// Note: This operation can generate multiple requests to a service.
2824//
2825//    // Example iterating over at most 3 pages of a ListBackupSelections operation.
2826//    pageNum := 0
2827//    err := client.ListBackupSelectionsPages(params,
2828//        func(page *backup.ListBackupSelectionsOutput, lastPage bool) bool {
2829//            pageNum++
2830//            fmt.Println(page)
2831//            return pageNum <= 3
2832//        })
2833//
2834func (c *Backup) ListBackupSelectionsPages(input *ListBackupSelectionsInput, fn func(*ListBackupSelectionsOutput, bool) bool) error {
2835	return c.ListBackupSelectionsPagesWithContext(aws.BackgroundContext(), input, fn)
2836}
2837
2838// ListBackupSelectionsPagesWithContext same as ListBackupSelectionsPages except
2839// it takes a Context and allows setting request options on the pages.
2840//
2841// The context must be non-nil and will be used for request cancellation. If
2842// the context is nil a panic will occur. In the future the SDK may create
2843// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2844// for more information on using Contexts.
2845func (c *Backup) ListBackupSelectionsPagesWithContext(ctx aws.Context, input *ListBackupSelectionsInput, fn func(*ListBackupSelectionsOutput, bool) bool, opts ...request.Option) error {
2846	p := request.Pagination{
2847		NewRequest: func() (*request.Request, error) {
2848			var inCpy *ListBackupSelectionsInput
2849			if input != nil {
2850				tmp := *input
2851				inCpy = &tmp
2852			}
2853			req, _ := c.ListBackupSelectionsRequest(inCpy)
2854			req.SetContext(ctx)
2855			req.ApplyOptions(opts...)
2856			return req, nil
2857		},
2858	}
2859
2860	cont := true
2861	for p.Next() && cont {
2862		cont = fn(p.Page().(*ListBackupSelectionsOutput), !p.HasNextPage())
2863	}
2864	return p.Err()
2865}
2866
2867const opListBackupVaults = "ListBackupVaults"
2868
2869// ListBackupVaultsRequest generates a "aws/request.Request" representing the
2870// client's request for the ListBackupVaults operation. The "output" return
2871// value will be populated with the request's response once the request completes
2872// successfully.
2873//
2874// Use "Send" method on the returned Request to send the API call to the service.
2875// the "output" return value is not valid until after Send returns without error.
2876//
2877// See ListBackupVaults for more information on using the ListBackupVaults
2878// API call, and error handling.
2879//
2880// This method is useful when you want to inject custom logic or configuration
2881// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2882//
2883//
2884//    // Example sending a request using the ListBackupVaultsRequest method.
2885//    req, resp := client.ListBackupVaultsRequest(params)
2886//
2887//    err := req.Send()
2888//    if err == nil { // resp is now filled
2889//        fmt.Println(resp)
2890//    }
2891//
2892// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupVaults
2893func (c *Backup) ListBackupVaultsRequest(input *ListBackupVaultsInput) (req *request.Request, output *ListBackupVaultsOutput) {
2894	op := &request.Operation{
2895		Name:       opListBackupVaults,
2896		HTTPMethod: "GET",
2897		HTTPPath:   "/backup-vaults/",
2898		Paginator: &request.Paginator{
2899			InputTokens:     []string{"NextToken"},
2900			OutputTokens:    []string{"NextToken"},
2901			LimitToken:      "MaxResults",
2902			TruncationToken: "",
2903		},
2904	}
2905
2906	if input == nil {
2907		input = &ListBackupVaultsInput{}
2908	}
2909
2910	output = &ListBackupVaultsOutput{}
2911	req = c.newRequest(op, input, output)
2912	return
2913}
2914
2915// ListBackupVaults API operation for AWS Backup.
2916//
2917// Returns a list of recovery point storage containers along with information
2918// about them.
2919//
2920// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2921// with awserr.Error's Code and Message methods to get detailed information about
2922// the error.
2923//
2924// See the AWS API reference guide for AWS Backup's
2925// API operation ListBackupVaults for usage and error information.
2926//
2927// Returned Error Codes:
2928//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2929//   A resource that is required for the action doesn't exist.
2930//
2931//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
2932//   Indicates that something is wrong with a parameter's value. For example,
2933//   the value is out of range.
2934//
2935//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
2936//   Indicates that a required parameter is missing.
2937//
2938//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
2939//   The request failed due to a temporary failure of the server.
2940//
2941// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListBackupVaults
2942func (c *Backup) ListBackupVaults(input *ListBackupVaultsInput) (*ListBackupVaultsOutput, error) {
2943	req, out := c.ListBackupVaultsRequest(input)
2944	return out, req.Send()
2945}
2946
2947// ListBackupVaultsWithContext is the same as ListBackupVaults with the addition of
2948// the ability to pass a context and additional request options.
2949//
2950// See ListBackupVaults for details on how to use this API operation.
2951//
2952// The context must be non-nil and will be used for request cancellation. If
2953// the context is nil a panic will occur. In the future the SDK may create
2954// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2955// for more information on using Contexts.
2956func (c *Backup) ListBackupVaultsWithContext(ctx aws.Context, input *ListBackupVaultsInput, opts ...request.Option) (*ListBackupVaultsOutput, error) {
2957	req, out := c.ListBackupVaultsRequest(input)
2958	req.SetContext(ctx)
2959	req.ApplyOptions(opts...)
2960	return out, req.Send()
2961}
2962
2963// ListBackupVaultsPages iterates over the pages of a ListBackupVaults operation,
2964// calling the "fn" function with the response data for each page. To stop
2965// iterating, return false from the fn function.
2966//
2967// See ListBackupVaults method for more information on how to use this operation.
2968//
2969// Note: This operation can generate multiple requests to a service.
2970//
2971//    // Example iterating over at most 3 pages of a ListBackupVaults operation.
2972//    pageNum := 0
2973//    err := client.ListBackupVaultsPages(params,
2974//        func(page *backup.ListBackupVaultsOutput, lastPage bool) bool {
2975//            pageNum++
2976//            fmt.Println(page)
2977//            return pageNum <= 3
2978//        })
2979//
2980func (c *Backup) ListBackupVaultsPages(input *ListBackupVaultsInput, fn func(*ListBackupVaultsOutput, bool) bool) error {
2981	return c.ListBackupVaultsPagesWithContext(aws.BackgroundContext(), input, fn)
2982}
2983
2984// ListBackupVaultsPagesWithContext same as ListBackupVaultsPages except
2985// it takes a Context and allows setting request options on the pages.
2986//
2987// The context must be non-nil and will be used for request cancellation. If
2988// the context is nil a panic will occur. In the future the SDK may create
2989// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2990// for more information on using Contexts.
2991func (c *Backup) ListBackupVaultsPagesWithContext(ctx aws.Context, input *ListBackupVaultsInput, fn func(*ListBackupVaultsOutput, bool) bool, opts ...request.Option) error {
2992	p := request.Pagination{
2993		NewRequest: func() (*request.Request, error) {
2994			var inCpy *ListBackupVaultsInput
2995			if input != nil {
2996				tmp := *input
2997				inCpy = &tmp
2998			}
2999			req, _ := c.ListBackupVaultsRequest(inCpy)
3000			req.SetContext(ctx)
3001			req.ApplyOptions(opts...)
3002			return req, nil
3003		},
3004	}
3005
3006	cont := true
3007	for p.Next() && cont {
3008		cont = fn(p.Page().(*ListBackupVaultsOutput), !p.HasNextPage())
3009	}
3010	return p.Err()
3011}
3012
3013const opListProtectedResources = "ListProtectedResources"
3014
3015// ListProtectedResourcesRequest generates a "aws/request.Request" representing the
3016// client's request for the ListProtectedResources operation. The "output" return
3017// value will be populated with the request's response once the request completes
3018// successfully.
3019//
3020// Use "Send" method on the returned Request to send the API call to the service.
3021// the "output" return value is not valid until after Send returns without error.
3022//
3023// See ListProtectedResources for more information on using the ListProtectedResources
3024// API call, and error handling.
3025//
3026// This method is useful when you want to inject custom logic or configuration
3027// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3028//
3029//
3030//    // Example sending a request using the ListProtectedResourcesRequest method.
3031//    req, resp := client.ListProtectedResourcesRequest(params)
3032//
3033//    err := req.Send()
3034//    if err == nil { // resp is now filled
3035//        fmt.Println(resp)
3036//    }
3037//
3038// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListProtectedResources
3039func (c *Backup) ListProtectedResourcesRequest(input *ListProtectedResourcesInput) (req *request.Request, output *ListProtectedResourcesOutput) {
3040	op := &request.Operation{
3041		Name:       opListProtectedResources,
3042		HTTPMethod: "GET",
3043		HTTPPath:   "/resources/",
3044		Paginator: &request.Paginator{
3045			InputTokens:     []string{"NextToken"},
3046			OutputTokens:    []string{"NextToken"},
3047			LimitToken:      "MaxResults",
3048			TruncationToken: "",
3049		},
3050	}
3051
3052	if input == nil {
3053		input = &ListProtectedResourcesInput{}
3054	}
3055
3056	output = &ListProtectedResourcesOutput{}
3057	req = c.newRequest(op, input, output)
3058	return
3059}
3060
3061// ListProtectedResources API operation for AWS Backup.
3062//
3063// Returns an array of resources successfully backed up by AWS Backup, including
3064// the time the resource was saved, an Amazon Resource Name (ARN) of the resource,
3065// and a resource type.
3066//
3067// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3068// with awserr.Error's Code and Message methods to get detailed information about
3069// the error.
3070//
3071// See the AWS API reference guide for AWS Backup's
3072// API operation ListProtectedResources for usage and error information.
3073//
3074// Returned Error Codes:
3075//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
3076//   Indicates that something is wrong with a parameter's value. For example,
3077//   the value is out of range.
3078//
3079//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
3080//   The request failed due to a temporary failure of the server.
3081//
3082// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListProtectedResources
3083func (c *Backup) ListProtectedResources(input *ListProtectedResourcesInput) (*ListProtectedResourcesOutput, error) {
3084	req, out := c.ListProtectedResourcesRequest(input)
3085	return out, req.Send()
3086}
3087
3088// ListProtectedResourcesWithContext is the same as ListProtectedResources with the addition of
3089// the ability to pass a context and additional request options.
3090//
3091// See ListProtectedResources for details on how to use this API operation.
3092//
3093// The context must be non-nil and will be used for request cancellation. If
3094// the context is nil a panic will occur. In the future the SDK may create
3095// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3096// for more information on using Contexts.
3097func (c *Backup) ListProtectedResourcesWithContext(ctx aws.Context, input *ListProtectedResourcesInput, opts ...request.Option) (*ListProtectedResourcesOutput, error) {
3098	req, out := c.ListProtectedResourcesRequest(input)
3099	req.SetContext(ctx)
3100	req.ApplyOptions(opts...)
3101	return out, req.Send()
3102}
3103
3104// ListProtectedResourcesPages iterates over the pages of a ListProtectedResources operation,
3105// calling the "fn" function with the response data for each page. To stop
3106// iterating, return false from the fn function.
3107//
3108// See ListProtectedResources method for more information on how to use this operation.
3109//
3110// Note: This operation can generate multiple requests to a service.
3111//
3112//    // Example iterating over at most 3 pages of a ListProtectedResources operation.
3113//    pageNum := 0
3114//    err := client.ListProtectedResourcesPages(params,
3115//        func(page *backup.ListProtectedResourcesOutput, lastPage bool) bool {
3116//            pageNum++
3117//            fmt.Println(page)
3118//            return pageNum <= 3
3119//        })
3120//
3121func (c *Backup) ListProtectedResourcesPages(input *ListProtectedResourcesInput, fn func(*ListProtectedResourcesOutput, bool) bool) error {
3122	return c.ListProtectedResourcesPagesWithContext(aws.BackgroundContext(), input, fn)
3123}
3124
3125// ListProtectedResourcesPagesWithContext same as ListProtectedResourcesPages except
3126// it takes a Context and allows setting request options on the pages.
3127//
3128// The context must be non-nil and will be used for request cancellation. If
3129// the context is nil a panic will occur. In the future the SDK may create
3130// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3131// for more information on using Contexts.
3132func (c *Backup) ListProtectedResourcesPagesWithContext(ctx aws.Context, input *ListProtectedResourcesInput, fn func(*ListProtectedResourcesOutput, bool) bool, opts ...request.Option) error {
3133	p := request.Pagination{
3134		NewRequest: func() (*request.Request, error) {
3135			var inCpy *ListProtectedResourcesInput
3136			if input != nil {
3137				tmp := *input
3138				inCpy = &tmp
3139			}
3140			req, _ := c.ListProtectedResourcesRequest(inCpy)
3141			req.SetContext(ctx)
3142			req.ApplyOptions(opts...)
3143			return req, nil
3144		},
3145	}
3146
3147	cont := true
3148	for p.Next() && cont {
3149		cont = fn(p.Page().(*ListProtectedResourcesOutput), !p.HasNextPage())
3150	}
3151	return p.Err()
3152}
3153
3154const opListRecoveryPointsByBackupVault = "ListRecoveryPointsByBackupVault"
3155
3156// ListRecoveryPointsByBackupVaultRequest generates a "aws/request.Request" representing the
3157// client's request for the ListRecoveryPointsByBackupVault operation. The "output" return
3158// value will be populated with the request's response once the request completes
3159// successfully.
3160//
3161// Use "Send" method on the returned Request to send the API call to the service.
3162// the "output" return value is not valid until after Send returns without error.
3163//
3164// See ListRecoveryPointsByBackupVault for more information on using the ListRecoveryPointsByBackupVault
3165// API call, and error handling.
3166//
3167// This method is useful when you want to inject custom logic or configuration
3168// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3169//
3170//
3171//    // Example sending a request using the ListRecoveryPointsByBackupVaultRequest method.
3172//    req, resp := client.ListRecoveryPointsByBackupVaultRequest(params)
3173//
3174//    err := req.Send()
3175//    if err == nil { // resp is now filled
3176//        fmt.Println(resp)
3177//    }
3178//
3179// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRecoveryPointsByBackupVault
3180func (c *Backup) ListRecoveryPointsByBackupVaultRequest(input *ListRecoveryPointsByBackupVaultInput) (req *request.Request, output *ListRecoveryPointsByBackupVaultOutput) {
3181	op := &request.Operation{
3182		Name:       opListRecoveryPointsByBackupVault,
3183		HTTPMethod: "GET",
3184		HTTPPath:   "/backup-vaults/{backupVaultName}/recovery-points/",
3185		Paginator: &request.Paginator{
3186			InputTokens:     []string{"NextToken"},
3187			OutputTokens:    []string{"NextToken"},
3188			LimitToken:      "MaxResults",
3189			TruncationToken: "",
3190		},
3191	}
3192
3193	if input == nil {
3194		input = &ListRecoveryPointsByBackupVaultInput{}
3195	}
3196
3197	output = &ListRecoveryPointsByBackupVaultOutput{}
3198	req = c.newRequest(op, input, output)
3199	return
3200}
3201
3202// ListRecoveryPointsByBackupVault API operation for AWS Backup.
3203//
3204// Returns detailed information about the recovery points stored in a backup
3205// vault.
3206//
3207// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3208// with awserr.Error's Code and Message methods to get detailed information about
3209// the error.
3210//
3211// See the AWS API reference guide for AWS Backup's
3212// API operation ListRecoveryPointsByBackupVault for usage and error information.
3213//
3214// Returned Error Codes:
3215//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3216//   A resource that is required for the action doesn't exist.
3217//
3218//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
3219//   Indicates that something is wrong with a parameter's value. For example,
3220//   the value is out of range.
3221//
3222//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
3223//   Indicates that a required parameter is missing.
3224//
3225//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
3226//   The request failed due to a temporary failure of the server.
3227//
3228// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRecoveryPointsByBackupVault
3229func (c *Backup) ListRecoveryPointsByBackupVault(input *ListRecoveryPointsByBackupVaultInput) (*ListRecoveryPointsByBackupVaultOutput, error) {
3230	req, out := c.ListRecoveryPointsByBackupVaultRequest(input)
3231	return out, req.Send()
3232}
3233
3234// ListRecoveryPointsByBackupVaultWithContext is the same as ListRecoveryPointsByBackupVault with the addition of
3235// the ability to pass a context and additional request options.
3236//
3237// See ListRecoveryPointsByBackupVault for details on how to use this API operation.
3238//
3239// The context must be non-nil and will be used for request cancellation. If
3240// the context is nil a panic will occur. In the future the SDK may create
3241// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3242// for more information on using Contexts.
3243func (c *Backup) ListRecoveryPointsByBackupVaultWithContext(ctx aws.Context, input *ListRecoveryPointsByBackupVaultInput, opts ...request.Option) (*ListRecoveryPointsByBackupVaultOutput, error) {
3244	req, out := c.ListRecoveryPointsByBackupVaultRequest(input)
3245	req.SetContext(ctx)
3246	req.ApplyOptions(opts...)
3247	return out, req.Send()
3248}
3249
3250// ListRecoveryPointsByBackupVaultPages iterates over the pages of a ListRecoveryPointsByBackupVault operation,
3251// calling the "fn" function with the response data for each page. To stop
3252// iterating, return false from the fn function.
3253//
3254// See ListRecoveryPointsByBackupVault method for more information on how to use this operation.
3255//
3256// Note: This operation can generate multiple requests to a service.
3257//
3258//    // Example iterating over at most 3 pages of a ListRecoveryPointsByBackupVault operation.
3259//    pageNum := 0
3260//    err := client.ListRecoveryPointsByBackupVaultPages(params,
3261//        func(page *backup.ListRecoveryPointsByBackupVaultOutput, lastPage bool) bool {
3262//            pageNum++
3263//            fmt.Println(page)
3264//            return pageNum <= 3
3265//        })
3266//
3267func (c *Backup) ListRecoveryPointsByBackupVaultPages(input *ListRecoveryPointsByBackupVaultInput, fn func(*ListRecoveryPointsByBackupVaultOutput, bool) bool) error {
3268	return c.ListRecoveryPointsByBackupVaultPagesWithContext(aws.BackgroundContext(), input, fn)
3269}
3270
3271// ListRecoveryPointsByBackupVaultPagesWithContext same as ListRecoveryPointsByBackupVaultPages except
3272// it takes a Context and allows setting request options on the pages.
3273//
3274// The context must be non-nil and will be used for request cancellation. If
3275// the context is nil a panic will occur. In the future the SDK may create
3276// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3277// for more information on using Contexts.
3278func (c *Backup) ListRecoveryPointsByBackupVaultPagesWithContext(ctx aws.Context, input *ListRecoveryPointsByBackupVaultInput, fn func(*ListRecoveryPointsByBackupVaultOutput, bool) bool, opts ...request.Option) error {
3279	p := request.Pagination{
3280		NewRequest: func() (*request.Request, error) {
3281			var inCpy *ListRecoveryPointsByBackupVaultInput
3282			if input != nil {
3283				tmp := *input
3284				inCpy = &tmp
3285			}
3286			req, _ := c.ListRecoveryPointsByBackupVaultRequest(inCpy)
3287			req.SetContext(ctx)
3288			req.ApplyOptions(opts...)
3289			return req, nil
3290		},
3291	}
3292
3293	cont := true
3294	for p.Next() && cont {
3295		cont = fn(p.Page().(*ListRecoveryPointsByBackupVaultOutput), !p.HasNextPage())
3296	}
3297	return p.Err()
3298}
3299
3300const opListRecoveryPointsByResource = "ListRecoveryPointsByResource"
3301
3302// ListRecoveryPointsByResourceRequest generates a "aws/request.Request" representing the
3303// client's request for the ListRecoveryPointsByResource operation. The "output" return
3304// value will be populated with the request's response once the request completes
3305// successfully.
3306//
3307// Use "Send" method on the returned Request to send the API call to the service.
3308// the "output" return value is not valid until after Send returns without error.
3309//
3310// See ListRecoveryPointsByResource for more information on using the ListRecoveryPointsByResource
3311// API call, and error handling.
3312//
3313// This method is useful when you want to inject custom logic or configuration
3314// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3315//
3316//
3317//    // Example sending a request using the ListRecoveryPointsByResourceRequest method.
3318//    req, resp := client.ListRecoveryPointsByResourceRequest(params)
3319//
3320//    err := req.Send()
3321//    if err == nil { // resp is now filled
3322//        fmt.Println(resp)
3323//    }
3324//
3325// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRecoveryPointsByResource
3326func (c *Backup) ListRecoveryPointsByResourceRequest(input *ListRecoveryPointsByResourceInput) (req *request.Request, output *ListRecoveryPointsByResourceOutput) {
3327	op := &request.Operation{
3328		Name:       opListRecoveryPointsByResource,
3329		HTTPMethod: "GET",
3330		HTTPPath:   "/resources/{resourceArn}/recovery-points/",
3331		Paginator: &request.Paginator{
3332			InputTokens:     []string{"NextToken"},
3333			OutputTokens:    []string{"NextToken"},
3334			LimitToken:      "MaxResults",
3335			TruncationToken: "",
3336		},
3337	}
3338
3339	if input == nil {
3340		input = &ListRecoveryPointsByResourceInput{}
3341	}
3342
3343	output = &ListRecoveryPointsByResourceOutput{}
3344	req = c.newRequest(op, input, output)
3345	return
3346}
3347
3348// ListRecoveryPointsByResource API operation for AWS Backup.
3349//
3350// Returns detailed information about recovery points of the type specified
3351// by a resource Amazon Resource Name (ARN).
3352//
3353// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3354// with awserr.Error's Code and Message methods to get detailed information about
3355// the error.
3356//
3357// See the AWS API reference guide for AWS Backup's
3358// API operation ListRecoveryPointsByResource for usage and error information.
3359//
3360// Returned Error Codes:
3361//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3362//   A resource that is required for the action doesn't exist.
3363//
3364//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
3365//   Indicates that something is wrong with a parameter's value. For example,
3366//   the value is out of range.
3367//
3368//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
3369//   Indicates that a required parameter is missing.
3370//
3371//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
3372//   The request failed due to a temporary failure of the server.
3373//
3374// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRecoveryPointsByResource
3375func (c *Backup) ListRecoveryPointsByResource(input *ListRecoveryPointsByResourceInput) (*ListRecoveryPointsByResourceOutput, error) {
3376	req, out := c.ListRecoveryPointsByResourceRequest(input)
3377	return out, req.Send()
3378}
3379
3380// ListRecoveryPointsByResourceWithContext is the same as ListRecoveryPointsByResource with the addition of
3381// the ability to pass a context and additional request options.
3382//
3383// See ListRecoveryPointsByResource for details on how to use this API operation.
3384//
3385// The context must be non-nil and will be used for request cancellation. If
3386// the context is nil a panic will occur. In the future the SDK may create
3387// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3388// for more information on using Contexts.
3389func (c *Backup) ListRecoveryPointsByResourceWithContext(ctx aws.Context, input *ListRecoveryPointsByResourceInput, opts ...request.Option) (*ListRecoveryPointsByResourceOutput, error) {
3390	req, out := c.ListRecoveryPointsByResourceRequest(input)
3391	req.SetContext(ctx)
3392	req.ApplyOptions(opts...)
3393	return out, req.Send()
3394}
3395
3396// ListRecoveryPointsByResourcePages iterates over the pages of a ListRecoveryPointsByResource operation,
3397// calling the "fn" function with the response data for each page. To stop
3398// iterating, return false from the fn function.
3399//
3400// See ListRecoveryPointsByResource method for more information on how to use this operation.
3401//
3402// Note: This operation can generate multiple requests to a service.
3403//
3404//    // Example iterating over at most 3 pages of a ListRecoveryPointsByResource operation.
3405//    pageNum := 0
3406//    err := client.ListRecoveryPointsByResourcePages(params,
3407//        func(page *backup.ListRecoveryPointsByResourceOutput, lastPage bool) bool {
3408//            pageNum++
3409//            fmt.Println(page)
3410//            return pageNum <= 3
3411//        })
3412//
3413func (c *Backup) ListRecoveryPointsByResourcePages(input *ListRecoveryPointsByResourceInput, fn func(*ListRecoveryPointsByResourceOutput, bool) bool) error {
3414	return c.ListRecoveryPointsByResourcePagesWithContext(aws.BackgroundContext(), input, fn)
3415}
3416
3417// ListRecoveryPointsByResourcePagesWithContext same as ListRecoveryPointsByResourcePages except
3418// it takes a Context and allows setting request options on the pages.
3419//
3420// The context must be non-nil and will be used for request cancellation. If
3421// the context is nil a panic will occur. In the future the SDK may create
3422// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3423// for more information on using Contexts.
3424func (c *Backup) ListRecoveryPointsByResourcePagesWithContext(ctx aws.Context, input *ListRecoveryPointsByResourceInput, fn func(*ListRecoveryPointsByResourceOutput, bool) bool, opts ...request.Option) error {
3425	p := request.Pagination{
3426		NewRequest: func() (*request.Request, error) {
3427			var inCpy *ListRecoveryPointsByResourceInput
3428			if input != nil {
3429				tmp := *input
3430				inCpy = &tmp
3431			}
3432			req, _ := c.ListRecoveryPointsByResourceRequest(inCpy)
3433			req.SetContext(ctx)
3434			req.ApplyOptions(opts...)
3435			return req, nil
3436		},
3437	}
3438
3439	cont := true
3440	for p.Next() && cont {
3441		cont = fn(p.Page().(*ListRecoveryPointsByResourceOutput), !p.HasNextPage())
3442	}
3443	return p.Err()
3444}
3445
3446const opListRestoreJobs = "ListRestoreJobs"
3447
3448// ListRestoreJobsRequest generates a "aws/request.Request" representing the
3449// client's request for the ListRestoreJobs operation. The "output" return
3450// value will be populated with the request's response once the request completes
3451// successfully.
3452//
3453// Use "Send" method on the returned Request to send the API call to the service.
3454// the "output" return value is not valid until after Send returns without error.
3455//
3456// See ListRestoreJobs for more information on using the ListRestoreJobs
3457// API call, and error handling.
3458//
3459// This method is useful when you want to inject custom logic or configuration
3460// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3461//
3462//
3463//    // Example sending a request using the ListRestoreJobsRequest method.
3464//    req, resp := client.ListRestoreJobsRequest(params)
3465//
3466//    err := req.Send()
3467//    if err == nil { // resp is now filled
3468//        fmt.Println(resp)
3469//    }
3470//
3471// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRestoreJobs
3472func (c *Backup) ListRestoreJobsRequest(input *ListRestoreJobsInput) (req *request.Request, output *ListRestoreJobsOutput) {
3473	op := &request.Operation{
3474		Name:       opListRestoreJobs,
3475		HTTPMethod: "GET",
3476		HTTPPath:   "/restore-jobs/",
3477		Paginator: &request.Paginator{
3478			InputTokens:     []string{"NextToken"},
3479			OutputTokens:    []string{"NextToken"},
3480			LimitToken:      "MaxResults",
3481			TruncationToken: "",
3482		},
3483	}
3484
3485	if input == nil {
3486		input = &ListRestoreJobsInput{}
3487	}
3488
3489	output = &ListRestoreJobsOutput{}
3490	req = c.newRequest(op, input, output)
3491	return
3492}
3493
3494// ListRestoreJobs API operation for AWS Backup.
3495//
3496// Returns a list of jobs that AWS Backup initiated to restore a saved resource,
3497// including metadata about the recovery process.
3498//
3499// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3500// with awserr.Error's Code and Message methods to get detailed information about
3501// the error.
3502//
3503// See the AWS API reference guide for AWS Backup's
3504// API operation ListRestoreJobs for usage and error information.
3505//
3506// Returned Error Codes:
3507//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3508//   A resource that is required for the action doesn't exist.
3509//
3510//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
3511//   Indicates that something is wrong with a parameter's value. For example,
3512//   the value is out of range.
3513//
3514//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
3515//   Indicates that a required parameter is missing.
3516//
3517//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
3518//   The request failed due to a temporary failure of the server.
3519//
3520// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListRestoreJobs
3521func (c *Backup) ListRestoreJobs(input *ListRestoreJobsInput) (*ListRestoreJobsOutput, error) {
3522	req, out := c.ListRestoreJobsRequest(input)
3523	return out, req.Send()
3524}
3525
3526// ListRestoreJobsWithContext is the same as ListRestoreJobs with the addition of
3527// the ability to pass a context and additional request options.
3528//
3529// See ListRestoreJobs for details on how to use this API operation.
3530//
3531// The context must be non-nil and will be used for request cancellation. If
3532// the context is nil a panic will occur. In the future the SDK may create
3533// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3534// for more information on using Contexts.
3535func (c *Backup) ListRestoreJobsWithContext(ctx aws.Context, input *ListRestoreJobsInput, opts ...request.Option) (*ListRestoreJobsOutput, error) {
3536	req, out := c.ListRestoreJobsRequest(input)
3537	req.SetContext(ctx)
3538	req.ApplyOptions(opts...)
3539	return out, req.Send()
3540}
3541
3542// ListRestoreJobsPages iterates over the pages of a ListRestoreJobs operation,
3543// calling the "fn" function with the response data for each page. To stop
3544// iterating, return false from the fn function.
3545//
3546// See ListRestoreJobs method for more information on how to use this operation.
3547//
3548// Note: This operation can generate multiple requests to a service.
3549//
3550//    // Example iterating over at most 3 pages of a ListRestoreJobs operation.
3551//    pageNum := 0
3552//    err := client.ListRestoreJobsPages(params,
3553//        func(page *backup.ListRestoreJobsOutput, lastPage bool) bool {
3554//            pageNum++
3555//            fmt.Println(page)
3556//            return pageNum <= 3
3557//        })
3558//
3559func (c *Backup) ListRestoreJobsPages(input *ListRestoreJobsInput, fn func(*ListRestoreJobsOutput, bool) bool) error {
3560	return c.ListRestoreJobsPagesWithContext(aws.BackgroundContext(), input, fn)
3561}
3562
3563// ListRestoreJobsPagesWithContext same as ListRestoreJobsPages except
3564// it takes a Context and allows setting request options on the pages.
3565//
3566// The context must be non-nil and will be used for request cancellation. If
3567// the context is nil a panic will occur. In the future the SDK may create
3568// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3569// for more information on using Contexts.
3570func (c *Backup) ListRestoreJobsPagesWithContext(ctx aws.Context, input *ListRestoreJobsInput, fn func(*ListRestoreJobsOutput, bool) bool, opts ...request.Option) error {
3571	p := request.Pagination{
3572		NewRequest: func() (*request.Request, error) {
3573			var inCpy *ListRestoreJobsInput
3574			if input != nil {
3575				tmp := *input
3576				inCpy = &tmp
3577			}
3578			req, _ := c.ListRestoreJobsRequest(inCpy)
3579			req.SetContext(ctx)
3580			req.ApplyOptions(opts...)
3581			return req, nil
3582		},
3583	}
3584
3585	cont := true
3586	for p.Next() && cont {
3587		cont = fn(p.Page().(*ListRestoreJobsOutput), !p.HasNextPage())
3588	}
3589	return p.Err()
3590}
3591
3592const opListTags = "ListTags"
3593
3594// ListTagsRequest generates a "aws/request.Request" representing the
3595// client's request for the ListTags operation. The "output" return
3596// value will be populated with the request's response once the request completes
3597// successfully.
3598//
3599// Use "Send" method on the returned Request to send the API call to the service.
3600// the "output" return value is not valid until after Send returns without error.
3601//
3602// See ListTags for more information on using the ListTags
3603// API call, and error handling.
3604//
3605// This method is useful when you want to inject custom logic or configuration
3606// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3607//
3608//
3609//    // Example sending a request using the ListTagsRequest method.
3610//    req, resp := client.ListTagsRequest(params)
3611//
3612//    err := req.Send()
3613//    if err == nil { // resp is now filled
3614//        fmt.Println(resp)
3615//    }
3616//
3617// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListTags
3618func (c *Backup) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) {
3619	op := &request.Operation{
3620		Name:       opListTags,
3621		HTTPMethod: "GET",
3622		HTTPPath:   "/tags/{resourceArn}/",
3623		Paginator: &request.Paginator{
3624			InputTokens:     []string{"NextToken"},
3625			OutputTokens:    []string{"NextToken"},
3626			LimitToken:      "MaxResults",
3627			TruncationToken: "",
3628		},
3629	}
3630
3631	if input == nil {
3632		input = &ListTagsInput{}
3633	}
3634
3635	output = &ListTagsOutput{}
3636	req = c.newRequest(op, input, output)
3637	return
3638}
3639
3640// ListTags API operation for AWS Backup.
3641//
3642// Returns a list of key-value pairs assigned to a target recovery point, backup
3643// plan, or backup vault.
3644//
3645// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3646// with awserr.Error's Code and Message methods to get detailed information about
3647// the error.
3648//
3649// See the AWS API reference guide for AWS Backup's
3650// API operation ListTags for usage and error information.
3651//
3652// Returned Error Codes:
3653//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3654//   A resource that is required for the action doesn't exist.
3655//
3656//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
3657//   Indicates that something is wrong with a parameter's value. For example,
3658//   the value is out of range.
3659//
3660//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
3661//   Indicates that a required parameter is missing.
3662//
3663//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
3664//   The request failed due to a temporary failure of the server.
3665//
3666// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/ListTags
3667func (c *Backup) ListTags(input *ListTagsInput) (*ListTagsOutput, error) {
3668	req, out := c.ListTagsRequest(input)
3669	return out, req.Send()
3670}
3671
3672// ListTagsWithContext is the same as ListTags with the addition of
3673// the ability to pass a context and additional request options.
3674//
3675// See ListTags for details on how to use this API operation.
3676//
3677// The context must be non-nil and will be used for request cancellation. If
3678// the context is nil a panic will occur. In the future the SDK may create
3679// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3680// for more information on using Contexts.
3681func (c *Backup) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, opts ...request.Option) (*ListTagsOutput, error) {
3682	req, out := c.ListTagsRequest(input)
3683	req.SetContext(ctx)
3684	req.ApplyOptions(opts...)
3685	return out, req.Send()
3686}
3687
3688// ListTagsPages iterates over the pages of a ListTags operation,
3689// calling the "fn" function with the response data for each page. To stop
3690// iterating, return false from the fn function.
3691//
3692// See ListTags method for more information on how to use this operation.
3693//
3694// Note: This operation can generate multiple requests to a service.
3695//
3696//    // Example iterating over at most 3 pages of a ListTags operation.
3697//    pageNum := 0
3698//    err := client.ListTagsPages(params,
3699//        func(page *backup.ListTagsOutput, lastPage bool) bool {
3700//            pageNum++
3701//            fmt.Println(page)
3702//            return pageNum <= 3
3703//        })
3704//
3705func (c *Backup) ListTagsPages(input *ListTagsInput, fn func(*ListTagsOutput, bool) bool) error {
3706	return c.ListTagsPagesWithContext(aws.BackgroundContext(), input, fn)
3707}
3708
3709// ListTagsPagesWithContext same as ListTagsPages except
3710// it takes a Context and allows setting request options on the pages.
3711//
3712// The context must be non-nil and will be used for request cancellation. If
3713// the context is nil a panic will occur. In the future the SDK may create
3714// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3715// for more information on using Contexts.
3716func (c *Backup) ListTagsPagesWithContext(ctx aws.Context, input *ListTagsInput, fn func(*ListTagsOutput, bool) bool, opts ...request.Option) error {
3717	p := request.Pagination{
3718		NewRequest: func() (*request.Request, error) {
3719			var inCpy *ListTagsInput
3720			if input != nil {
3721				tmp := *input
3722				inCpy = &tmp
3723			}
3724			req, _ := c.ListTagsRequest(inCpy)
3725			req.SetContext(ctx)
3726			req.ApplyOptions(opts...)
3727			return req, nil
3728		},
3729	}
3730
3731	cont := true
3732	for p.Next() && cont {
3733		cont = fn(p.Page().(*ListTagsOutput), !p.HasNextPage())
3734	}
3735	return p.Err()
3736}
3737
3738const opPutBackupVaultAccessPolicy = "PutBackupVaultAccessPolicy"
3739
3740// PutBackupVaultAccessPolicyRequest generates a "aws/request.Request" representing the
3741// client's request for the PutBackupVaultAccessPolicy operation. The "output" return
3742// value will be populated with the request's response once the request completes
3743// successfully.
3744//
3745// Use "Send" method on the returned Request to send the API call to the service.
3746// the "output" return value is not valid until after Send returns without error.
3747//
3748// See PutBackupVaultAccessPolicy for more information on using the PutBackupVaultAccessPolicy
3749// API call, and error handling.
3750//
3751// This method is useful when you want to inject custom logic or configuration
3752// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3753//
3754//
3755//    // Example sending a request using the PutBackupVaultAccessPolicyRequest method.
3756//    req, resp := client.PutBackupVaultAccessPolicyRequest(params)
3757//
3758//    err := req.Send()
3759//    if err == nil { // resp is now filled
3760//        fmt.Println(resp)
3761//    }
3762//
3763// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/PutBackupVaultAccessPolicy
3764func (c *Backup) PutBackupVaultAccessPolicyRequest(input *PutBackupVaultAccessPolicyInput) (req *request.Request, output *PutBackupVaultAccessPolicyOutput) {
3765	op := &request.Operation{
3766		Name:       opPutBackupVaultAccessPolicy,
3767		HTTPMethod: "PUT",
3768		HTTPPath:   "/backup-vaults/{backupVaultName}/access-policy",
3769	}
3770
3771	if input == nil {
3772		input = &PutBackupVaultAccessPolicyInput{}
3773	}
3774
3775	output = &PutBackupVaultAccessPolicyOutput{}
3776	req = c.newRequest(op, input, output)
3777	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3778	return
3779}
3780
3781// PutBackupVaultAccessPolicy API operation for AWS Backup.
3782//
3783// Sets a resource-based policy that is used to manage access permissions on
3784// the target backup vault. Requires a backup vault name and an access policy
3785// document in JSON format.
3786//
3787// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3788// with awserr.Error's Code and Message methods to get detailed information about
3789// the error.
3790//
3791// See the AWS API reference guide for AWS Backup's
3792// API operation PutBackupVaultAccessPolicy for usage and error information.
3793//
3794// Returned Error Codes:
3795//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3796//   A resource that is required for the action doesn't exist.
3797//
3798//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
3799//   Indicates that something is wrong with a parameter's value. For example,
3800//   the value is out of range.
3801//
3802//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
3803//   Indicates that a required parameter is missing.
3804//
3805//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
3806//   The request failed due to a temporary failure of the server.
3807//
3808// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/PutBackupVaultAccessPolicy
3809func (c *Backup) PutBackupVaultAccessPolicy(input *PutBackupVaultAccessPolicyInput) (*PutBackupVaultAccessPolicyOutput, error) {
3810	req, out := c.PutBackupVaultAccessPolicyRequest(input)
3811	return out, req.Send()
3812}
3813
3814// PutBackupVaultAccessPolicyWithContext is the same as PutBackupVaultAccessPolicy with the addition of
3815// the ability to pass a context and additional request options.
3816//
3817// See PutBackupVaultAccessPolicy for details on how to use this API operation.
3818//
3819// The context must be non-nil and will be used for request cancellation. If
3820// the context is nil a panic will occur. In the future the SDK may create
3821// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3822// for more information on using Contexts.
3823func (c *Backup) PutBackupVaultAccessPolicyWithContext(ctx aws.Context, input *PutBackupVaultAccessPolicyInput, opts ...request.Option) (*PutBackupVaultAccessPolicyOutput, error) {
3824	req, out := c.PutBackupVaultAccessPolicyRequest(input)
3825	req.SetContext(ctx)
3826	req.ApplyOptions(opts...)
3827	return out, req.Send()
3828}
3829
3830const opPutBackupVaultNotifications = "PutBackupVaultNotifications"
3831
3832// PutBackupVaultNotificationsRequest generates a "aws/request.Request" representing the
3833// client's request for the PutBackupVaultNotifications operation. The "output" return
3834// value will be populated with the request's response once the request completes
3835// successfully.
3836//
3837// Use "Send" method on the returned Request to send the API call to the service.
3838// the "output" return value is not valid until after Send returns without error.
3839//
3840// See PutBackupVaultNotifications for more information on using the PutBackupVaultNotifications
3841// API call, and error handling.
3842//
3843// This method is useful when you want to inject custom logic or configuration
3844// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3845//
3846//
3847//    // Example sending a request using the PutBackupVaultNotificationsRequest method.
3848//    req, resp := client.PutBackupVaultNotificationsRequest(params)
3849//
3850//    err := req.Send()
3851//    if err == nil { // resp is now filled
3852//        fmt.Println(resp)
3853//    }
3854//
3855// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/PutBackupVaultNotifications
3856func (c *Backup) PutBackupVaultNotificationsRequest(input *PutBackupVaultNotificationsInput) (req *request.Request, output *PutBackupVaultNotificationsOutput) {
3857	op := &request.Operation{
3858		Name:       opPutBackupVaultNotifications,
3859		HTTPMethod: "PUT",
3860		HTTPPath:   "/backup-vaults/{backupVaultName}/notification-configuration",
3861	}
3862
3863	if input == nil {
3864		input = &PutBackupVaultNotificationsInput{}
3865	}
3866
3867	output = &PutBackupVaultNotificationsOutput{}
3868	req = c.newRequest(op, input, output)
3869	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3870	return
3871}
3872
3873// PutBackupVaultNotifications API operation for AWS Backup.
3874//
3875// Turns on notifications on a backup vault for the specified topic and events.
3876//
3877// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3878// with awserr.Error's Code and Message methods to get detailed information about
3879// the error.
3880//
3881// See the AWS API reference guide for AWS Backup's
3882// API operation PutBackupVaultNotifications for usage and error information.
3883//
3884// Returned Error Codes:
3885//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3886//   A resource that is required for the action doesn't exist.
3887//
3888//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
3889//   Indicates that something is wrong with a parameter's value. For example,
3890//   the value is out of range.
3891//
3892//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
3893//   Indicates that a required parameter is missing.
3894//
3895//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
3896//   The request failed due to a temporary failure of the server.
3897//
3898// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/PutBackupVaultNotifications
3899func (c *Backup) PutBackupVaultNotifications(input *PutBackupVaultNotificationsInput) (*PutBackupVaultNotificationsOutput, error) {
3900	req, out := c.PutBackupVaultNotificationsRequest(input)
3901	return out, req.Send()
3902}
3903
3904// PutBackupVaultNotificationsWithContext is the same as PutBackupVaultNotifications with the addition of
3905// the ability to pass a context and additional request options.
3906//
3907// See PutBackupVaultNotifications for details on how to use this API operation.
3908//
3909// The context must be non-nil and will be used for request cancellation. If
3910// the context is nil a panic will occur. In the future the SDK may create
3911// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3912// for more information on using Contexts.
3913func (c *Backup) PutBackupVaultNotificationsWithContext(ctx aws.Context, input *PutBackupVaultNotificationsInput, opts ...request.Option) (*PutBackupVaultNotificationsOutput, error) {
3914	req, out := c.PutBackupVaultNotificationsRequest(input)
3915	req.SetContext(ctx)
3916	req.ApplyOptions(opts...)
3917	return out, req.Send()
3918}
3919
3920const opStartBackupJob = "StartBackupJob"
3921
3922// StartBackupJobRequest generates a "aws/request.Request" representing the
3923// client's request for the StartBackupJob operation. The "output" return
3924// value will be populated with the request's response once the request completes
3925// successfully.
3926//
3927// Use "Send" method on the returned Request to send the API call to the service.
3928// the "output" return value is not valid until after Send returns without error.
3929//
3930// See StartBackupJob for more information on using the StartBackupJob
3931// API call, and error handling.
3932//
3933// This method is useful when you want to inject custom logic or configuration
3934// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3935//
3936//
3937//    // Example sending a request using the StartBackupJobRequest method.
3938//    req, resp := client.StartBackupJobRequest(params)
3939//
3940//    err := req.Send()
3941//    if err == nil { // resp is now filled
3942//        fmt.Println(resp)
3943//    }
3944//
3945// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartBackupJob
3946func (c *Backup) StartBackupJobRequest(input *StartBackupJobInput) (req *request.Request, output *StartBackupJobOutput) {
3947	op := &request.Operation{
3948		Name:       opStartBackupJob,
3949		HTTPMethod: "PUT",
3950		HTTPPath:   "/backup-jobs",
3951	}
3952
3953	if input == nil {
3954		input = &StartBackupJobInput{}
3955	}
3956
3957	output = &StartBackupJobOutput{}
3958	req = c.newRequest(op, input, output)
3959	return
3960}
3961
3962// StartBackupJob API operation for AWS Backup.
3963//
3964// Starts a job to create a one-time backup of the specified resource.
3965//
3966// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3967// with awserr.Error's Code and Message methods to get detailed information about
3968// the error.
3969//
3970// See the AWS API reference guide for AWS Backup's
3971// API operation StartBackupJob for usage and error information.
3972//
3973// Returned Error Codes:
3974//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3975//   A resource that is required for the action doesn't exist.
3976//
3977//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
3978//   Indicates that something is wrong with a parameter's value. For example,
3979//   the value is out of range.
3980//
3981//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
3982//   Indicates that a required parameter is missing.
3983//
3984//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
3985//   The request failed due to a temporary failure of the server.
3986//
3987//   * ErrCodeLimitExceededException "LimitExceededException"
3988//   A limit in the request has been exceeded; for example, a maximum number of
3989//   items allowed in a request.
3990//
3991// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartBackupJob
3992func (c *Backup) StartBackupJob(input *StartBackupJobInput) (*StartBackupJobOutput, error) {
3993	req, out := c.StartBackupJobRequest(input)
3994	return out, req.Send()
3995}
3996
3997// StartBackupJobWithContext is the same as StartBackupJob with the addition of
3998// the ability to pass a context and additional request options.
3999//
4000// See StartBackupJob for details on how to use this API operation.
4001//
4002// The context must be non-nil and will be used for request cancellation. If
4003// the context is nil a panic will occur. In the future the SDK may create
4004// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4005// for more information on using Contexts.
4006func (c *Backup) StartBackupJobWithContext(ctx aws.Context, input *StartBackupJobInput, opts ...request.Option) (*StartBackupJobOutput, error) {
4007	req, out := c.StartBackupJobRequest(input)
4008	req.SetContext(ctx)
4009	req.ApplyOptions(opts...)
4010	return out, req.Send()
4011}
4012
4013const opStartRestoreJob = "StartRestoreJob"
4014
4015// StartRestoreJobRequest generates a "aws/request.Request" representing the
4016// client's request for the StartRestoreJob operation. The "output" return
4017// value will be populated with the request's response once the request completes
4018// successfully.
4019//
4020// Use "Send" method on the returned Request to send the API call to the service.
4021// the "output" return value is not valid until after Send returns without error.
4022//
4023// See StartRestoreJob for more information on using the StartRestoreJob
4024// API call, and error handling.
4025//
4026// This method is useful when you want to inject custom logic or configuration
4027// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4028//
4029//
4030//    // Example sending a request using the StartRestoreJobRequest method.
4031//    req, resp := client.StartRestoreJobRequest(params)
4032//
4033//    err := req.Send()
4034//    if err == nil { // resp is now filled
4035//        fmt.Println(resp)
4036//    }
4037//
4038// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartRestoreJob
4039func (c *Backup) StartRestoreJobRequest(input *StartRestoreJobInput) (req *request.Request, output *StartRestoreJobOutput) {
4040	op := &request.Operation{
4041		Name:       opStartRestoreJob,
4042		HTTPMethod: "PUT",
4043		HTTPPath:   "/restore-jobs",
4044	}
4045
4046	if input == nil {
4047		input = &StartRestoreJobInput{}
4048	}
4049
4050	output = &StartRestoreJobOutput{}
4051	req = c.newRequest(op, input, output)
4052	return
4053}
4054
4055// StartRestoreJob API operation for AWS Backup.
4056//
4057// Recovers the saved resource identified by an Amazon Resource Name (ARN).
4058//
4059// If the resource ARN is included in the request, then the last complete backup
4060// of that resource is recovered. If the ARN of a recovery point is supplied,
4061// then that recovery point is restored.
4062//
4063// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4064// with awserr.Error's Code and Message methods to get detailed information about
4065// the error.
4066//
4067// See the AWS API reference guide for AWS Backup's
4068// API operation StartRestoreJob for usage and error information.
4069//
4070// Returned Error Codes:
4071//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
4072//   A resource that is required for the action doesn't exist.
4073//
4074//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
4075//   Indicates that something is wrong with a parameter's value. For example,
4076//   the value is out of range.
4077//
4078//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
4079//   Indicates that a required parameter is missing.
4080//
4081//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
4082//   The request failed due to a temporary failure of the server.
4083//
4084// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StartRestoreJob
4085func (c *Backup) StartRestoreJob(input *StartRestoreJobInput) (*StartRestoreJobOutput, error) {
4086	req, out := c.StartRestoreJobRequest(input)
4087	return out, req.Send()
4088}
4089
4090// StartRestoreJobWithContext is the same as StartRestoreJob with the addition of
4091// the ability to pass a context and additional request options.
4092//
4093// See StartRestoreJob for details on how to use this API operation.
4094//
4095// The context must be non-nil and will be used for request cancellation. If
4096// the context is nil a panic will occur. In the future the SDK may create
4097// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4098// for more information on using Contexts.
4099func (c *Backup) StartRestoreJobWithContext(ctx aws.Context, input *StartRestoreJobInput, opts ...request.Option) (*StartRestoreJobOutput, error) {
4100	req, out := c.StartRestoreJobRequest(input)
4101	req.SetContext(ctx)
4102	req.ApplyOptions(opts...)
4103	return out, req.Send()
4104}
4105
4106const opStopBackupJob = "StopBackupJob"
4107
4108// StopBackupJobRequest generates a "aws/request.Request" representing the
4109// client's request for the StopBackupJob operation. The "output" return
4110// value will be populated with the request's response once the request completes
4111// successfully.
4112//
4113// Use "Send" method on the returned Request to send the API call to the service.
4114// the "output" return value is not valid until after Send returns without error.
4115//
4116// See StopBackupJob for more information on using the StopBackupJob
4117// API call, and error handling.
4118//
4119// This method is useful when you want to inject custom logic or configuration
4120// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4121//
4122//
4123//    // Example sending a request using the StopBackupJobRequest method.
4124//    req, resp := client.StopBackupJobRequest(params)
4125//
4126//    err := req.Send()
4127//    if err == nil { // resp is now filled
4128//        fmt.Println(resp)
4129//    }
4130//
4131// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StopBackupJob
4132func (c *Backup) StopBackupJobRequest(input *StopBackupJobInput) (req *request.Request, output *StopBackupJobOutput) {
4133	op := &request.Operation{
4134		Name:       opStopBackupJob,
4135		HTTPMethod: "POST",
4136		HTTPPath:   "/backup-jobs/{backupJobId}",
4137	}
4138
4139	if input == nil {
4140		input = &StopBackupJobInput{}
4141	}
4142
4143	output = &StopBackupJobOutput{}
4144	req = c.newRequest(op, input, output)
4145	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4146	return
4147}
4148
4149// StopBackupJob API operation for AWS Backup.
4150//
4151// Attempts to cancel a job to create a one-time backup of a resource.
4152//
4153// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4154// with awserr.Error's Code and Message methods to get detailed information about
4155// the error.
4156//
4157// See the AWS API reference guide for AWS Backup's
4158// API operation StopBackupJob for usage and error information.
4159//
4160// Returned Error Codes:
4161//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
4162//   Indicates that a required parameter is missing.
4163//
4164//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
4165//   A resource that is required for the action doesn't exist.
4166//
4167//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
4168//   Indicates that something is wrong with a parameter's value. For example,
4169//   the value is out of range.
4170//
4171//   * ErrCodeInvalidRequestException "InvalidRequestException"
4172//   Indicates that something is wrong with the input to the request. For example,
4173//   a parameter is of the wrong type.
4174//
4175//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
4176//   The request failed due to a temporary failure of the server.
4177//
4178// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/StopBackupJob
4179func (c *Backup) StopBackupJob(input *StopBackupJobInput) (*StopBackupJobOutput, error) {
4180	req, out := c.StopBackupJobRequest(input)
4181	return out, req.Send()
4182}
4183
4184// StopBackupJobWithContext is the same as StopBackupJob with the addition of
4185// the ability to pass a context and additional request options.
4186//
4187// See StopBackupJob for details on how to use this API operation.
4188//
4189// The context must be non-nil and will be used for request cancellation. If
4190// the context is nil a panic will occur. In the future the SDK may create
4191// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4192// for more information on using Contexts.
4193func (c *Backup) StopBackupJobWithContext(ctx aws.Context, input *StopBackupJobInput, opts ...request.Option) (*StopBackupJobOutput, error) {
4194	req, out := c.StopBackupJobRequest(input)
4195	req.SetContext(ctx)
4196	req.ApplyOptions(opts...)
4197	return out, req.Send()
4198}
4199
4200const opTagResource = "TagResource"
4201
4202// TagResourceRequest generates a "aws/request.Request" representing the
4203// client's request for the TagResource operation. The "output" return
4204// value will be populated with the request's response once the request completes
4205// successfully.
4206//
4207// Use "Send" method on the returned Request to send the API call to the service.
4208// the "output" return value is not valid until after Send returns without error.
4209//
4210// See TagResource for more information on using the TagResource
4211// API call, and error handling.
4212//
4213// This method is useful when you want to inject custom logic or configuration
4214// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4215//
4216//
4217//    // Example sending a request using the TagResourceRequest method.
4218//    req, resp := client.TagResourceRequest(params)
4219//
4220//    err := req.Send()
4221//    if err == nil { // resp is now filled
4222//        fmt.Println(resp)
4223//    }
4224//
4225// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/TagResource
4226func (c *Backup) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
4227	op := &request.Operation{
4228		Name:       opTagResource,
4229		HTTPMethod: "POST",
4230		HTTPPath:   "/tags/{resourceArn}",
4231	}
4232
4233	if input == nil {
4234		input = &TagResourceInput{}
4235	}
4236
4237	output = &TagResourceOutput{}
4238	req = c.newRequest(op, input, output)
4239	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4240	return
4241}
4242
4243// TagResource API operation for AWS Backup.
4244//
4245// Assigns a set of key-value pairs to a recovery point, backup plan, or backup
4246// vault identified by an Amazon Resource Name (ARN).
4247//
4248// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4249// with awserr.Error's Code and Message methods to get detailed information about
4250// the error.
4251//
4252// See the AWS API reference guide for AWS Backup's
4253// API operation TagResource for usage and error information.
4254//
4255// Returned Error Codes:
4256//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
4257//   A resource that is required for the action doesn't exist.
4258//
4259//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
4260//   Indicates that something is wrong with a parameter's value. For example,
4261//   the value is out of range.
4262//
4263//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
4264//   Indicates that a required parameter is missing.
4265//
4266//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
4267//   The request failed due to a temporary failure of the server.
4268//
4269//   * ErrCodeLimitExceededException "LimitExceededException"
4270//   A limit in the request has been exceeded; for example, a maximum number of
4271//   items allowed in a request.
4272//
4273// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/TagResource
4274func (c *Backup) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
4275	req, out := c.TagResourceRequest(input)
4276	return out, req.Send()
4277}
4278
4279// TagResourceWithContext is the same as TagResource with the addition of
4280// the ability to pass a context and additional request options.
4281//
4282// See TagResource for details on how to use this API operation.
4283//
4284// The context must be non-nil and will be used for request cancellation. If
4285// the context is nil a panic will occur. In the future the SDK may create
4286// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4287// for more information on using Contexts.
4288func (c *Backup) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
4289	req, out := c.TagResourceRequest(input)
4290	req.SetContext(ctx)
4291	req.ApplyOptions(opts...)
4292	return out, req.Send()
4293}
4294
4295const opUntagResource = "UntagResource"
4296
4297// UntagResourceRequest generates a "aws/request.Request" representing the
4298// client's request for the UntagResource operation. The "output" return
4299// value will be populated with the request's response once the request completes
4300// successfully.
4301//
4302// Use "Send" method on the returned Request to send the API call to the service.
4303// the "output" return value is not valid until after Send returns without error.
4304//
4305// See UntagResource for more information on using the UntagResource
4306// API call, and error handling.
4307//
4308// This method is useful when you want to inject custom logic or configuration
4309// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4310//
4311//
4312//    // Example sending a request using the UntagResourceRequest method.
4313//    req, resp := client.UntagResourceRequest(params)
4314//
4315//    err := req.Send()
4316//    if err == nil { // resp is now filled
4317//        fmt.Println(resp)
4318//    }
4319//
4320// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UntagResource
4321func (c *Backup) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
4322	op := &request.Operation{
4323		Name:       opUntagResource,
4324		HTTPMethod: "POST",
4325		HTTPPath:   "/untag/{resourceArn}",
4326	}
4327
4328	if input == nil {
4329		input = &UntagResourceInput{}
4330	}
4331
4332	output = &UntagResourceOutput{}
4333	req = c.newRequest(op, input, output)
4334	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4335	return
4336}
4337
4338// UntagResource API operation for AWS Backup.
4339//
4340// Removes a set of key-value pairs from a recovery point, backup plan, or backup
4341// vault identified by an Amazon Resource Name (ARN)
4342//
4343// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4344// with awserr.Error's Code and Message methods to get detailed information about
4345// the error.
4346//
4347// See the AWS API reference guide for AWS Backup's
4348// API operation UntagResource for usage and error information.
4349//
4350// Returned Error Codes:
4351//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
4352//   A resource that is required for the action doesn't exist.
4353//
4354//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
4355//   Indicates that something is wrong with a parameter's value. For example,
4356//   the value is out of range.
4357//
4358//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
4359//   Indicates that a required parameter is missing.
4360//
4361//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
4362//   The request failed due to a temporary failure of the server.
4363//
4364// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UntagResource
4365func (c *Backup) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
4366	req, out := c.UntagResourceRequest(input)
4367	return out, req.Send()
4368}
4369
4370// UntagResourceWithContext is the same as UntagResource with the addition of
4371// the ability to pass a context and additional request options.
4372//
4373// See UntagResource for details on how to use this API operation.
4374//
4375// The context must be non-nil and will be used for request cancellation. If
4376// the context is nil a panic will occur. In the future the SDK may create
4377// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4378// for more information on using Contexts.
4379func (c *Backup) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
4380	req, out := c.UntagResourceRequest(input)
4381	req.SetContext(ctx)
4382	req.ApplyOptions(opts...)
4383	return out, req.Send()
4384}
4385
4386const opUpdateBackupPlan = "UpdateBackupPlan"
4387
4388// UpdateBackupPlanRequest generates a "aws/request.Request" representing the
4389// client's request for the UpdateBackupPlan operation. The "output" return
4390// value will be populated with the request's response once the request completes
4391// successfully.
4392//
4393// Use "Send" method on the returned Request to send the API call to the service.
4394// the "output" return value is not valid until after Send returns without error.
4395//
4396// See UpdateBackupPlan for more information on using the UpdateBackupPlan
4397// API call, and error handling.
4398//
4399// This method is useful when you want to inject custom logic or configuration
4400// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4401//
4402//
4403//    // Example sending a request using the UpdateBackupPlanRequest method.
4404//    req, resp := client.UpdateBackupPlanRequest(params)
4405//
4406//    err := req.Send()
4407//    if err == nil { // resp is now filled
4408//        fmt.Println(resp)
4409//    }
4410//
4411// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateBackupPlan
4412func (c *Backup) UpdateBackupPlanRequest(input *UpdateBackupPlanInput) (req *request.Request, output *UpdateBackupPlanOutput) {
4413	op := &request.Operation{
4414		Name:       opUpdateBackupPlan,
4415		HTTPMethod: "POST",
4416		HTTPPath:   "/backup/plans/{backupPlanId}",
4417	}
4418
4419	if input == nil {
4420		input = &UpdateBackupPlanInput{}
4421	}
4422
4423	output = &UpdateBackupPlanOutput{}
4424	req = c.newRequest(op, input, output)
4425	return
4426}
4427
4428// UpdateBackupPlan API operation for AWS Backup.
4429//
4430// Replaces the body of a saved backup plan identified by its backupPlanId with
4431// the input document in JSON format. The new version is uniquely identified
4432// by a VersionId.
4433//
4434// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4435// with awserr.Error's Code and Message methods to get detailed information about
4436// the error.
4437//
4438// See the AWS API reference guide for AWS Backup's
4439// API operation UpdateBackupPlan for usage and error information.
4440//
4441// Returned Error Codes:
4442//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
4443//   A resource that is required for the action doesn't exist.
4444//
4445//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
4446//   Indicates that something is wrong with a parameter's value. For example,
4447//   the value is out of range.
4448//
4449//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
4450//   Indicates that a required parameter is missing.
4451//
4452//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
4453//   The request failed due to a temporary failure of the server.
4454//
4455// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateBackupPlan
4456func (c *Backup) UpdateBackupPlan(input *UpdateBackupPlanInput) (*UpdateBackupPlanOutput, error) {
4457	req, out := c.UpdateBackupPlanRequest(input)
4458	return out, req.Send()
4459}
4460
4461// UpdateBackupPlanWithContext is the same as UpdateBackupPlan with the addition of
4462// the ability to pass a context and additional request options.
4463//
4464// See UpdateBackupPlan for details on how to use this API operation.
4465//
4466// The context must be non-nil and will be used for request cancellation. If
4467// the context is nil a panic will occur. In the future the SDK may create
4468// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4469// for more information on using Contexts.
4470func (c *Backup) UpdateBackupPlanWithContext(ctx aws.Context, input *UpdateBackupPlanInput, opts ...request.Option) (*UpdateBackupPlanOutput, error) {
4471	req, out := c.UpdateBackupPlanRequest(input)
4472	req.SetContext(ctx)
4473	req.ApplyOptions(opts...)
4474	return out, req.Send()
4475}
4476
4477const opUpdateRecoveryPointLifecycle = "UpdateRecoveryPointLifecycle"
4478
4479// UpdateRecoveryPointLifecycleRequest generates a "aws/request.Request" representing the
4480// client's request for the UpdateRecoveryPointLifecycle operation. The "output" return
4481// value will be populated with the request's response once the request completes
4482// successfully.
4483//
4484// Use "Send" method on the returned Request to send the API call to the service.
4485// the "output" return value is not valid until after Send returns without error.
4486//
4487// See UpdateRecoveryPointLifecycle for more information on using the UpdateRecoveryPointLifecycle
4488// API call, and error handling.
4489//
4490// This method is useful when you want to inject custom logic or configuration
4491// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4492//
4493//
4494//    // Example sending a request using the UpdateRecoveryPointLifecycleRequest method.
4495//    req, resp := client.UpdateRecoveryPointLifecycleRequest(params)
4496//
4497//    err := req.Send()
4498//    if err == nil { // resp is now filled
4499//        fmt.Println(resp)
4500//    }
4501//
4502// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateRecoveryPointLifecycle
4503func (c *Backup) UpdateRecoveryPointLifecycleRequest(input *UpdateRecoveryPointLifecycleInput) (req *request.Request, output *UpdateRecoveryPointLifecycleOutput) {
4504	op := &request.Operation{
4505		Name:       opUpdateRecoveryPointLifecycle,
4506		HTTPMethod: "POST",
4507		HTTPPath:   "/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}",
4508	}
4509
4510	if input == nil {
4511		input = &UpdateRecoveryPointLifecycleInput{}
4512	}
4513
4514	output = &UpdateRecoveryPointLifecycleOutput{}
4515	req = c.newRequest(op, input, output)
4516	return
4517}
4518
4519// UpdateRecoveryPointLifecycle API operation for AWS Backup.
4520//
4521// Sets the transition lifecycle of a recovery point.
4522//
4523// The lifecycle defines when a protected resource is transitioned to cold storage
4524// and when it expires. AWS Backup transitions and expires backups automatically
4525// according to the lifecycle that you define.
4526//
4527// Backups transitioned to cold storage must be stored in cold storage for a
4528// minimum of 90 days. Therefore, the “expire after days” setting must be
4529// 90 days greater than the “transition to cold after days” setting. The
4530// “transition to cold after days” setting cannot be changed after a backup
4531// has been transitioned to cold.
4532//
4533// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4534// with awserr.Error's Code and Message methods to get detailed information about
4535// the error.
4536//
4537// See the AWS API reference guide for AWS Backup's
4538// API operation UpdateRecoveryPointLifecycle for usage and error information.
4539//
4540// Returned Error Codes:
4541//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
4542//   A resource that is required for the action doesn't exist.
4543//
4544//   * ErrCodeInvalidParameterValueException "InvalidParameterValueException"
4545//   Indicates that something is wrong with a parameter's value. For example,
4546//   the value is out of range.
4547//
4548//   * ErrCodeMissingParameterValueException "MissingParameterValueException"
4549//   Indicates that a required parameter is missing.
4550//
4551//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
4552//   The request failed due to a temporary failure of the server.
4553//
4554// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/UpdateRecoveryPointLifecycle
4555func (c *Backup) UpdateRecoveryPointLifecycle(input *UpdateRecoveryPointLifecycleInput) (*UpdateRecoveryPointLifecycleOutput, error) {
4556	req, out := c.UpdateRecoveryPointLifecycleRequest(input)
4557	return out, req.Send()
4558}
4559
4560// UpdateRecoveryPointLifecycleWithContext is the same as UpdateRecoveryPointLifecycle with the addition of
4561// the ability to pass a context and additional request options.
4562//
4563// See UpdateRecoveryPointLifecycle for details on how to use this API operation.
4564//
4565// The context must be non-nil and will be used for request cancellation. If
4566// the context is nil a panic will occur. In the future the SDK may create
4567// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4568// for more information on using Contexts.
4569func (c *Backup) UpdateRecoveryPointLifecycleWithContext(ctx aws.Context, input *UpdateRecoveryPointLifecycleInput, opts ...request.Option) (*UpdateRecoveryPointLifecycleOutput, error) {
4570	req, out := c.UpdateRecoveryPointLifecycleRequest(input)
4571	req.SetContext(ctx)
4572	req.ApplyOptions(opts...)
4573	return out, req.Send()
4574}
4575
4576// Contains DeleteAt and MoveToColdStorageAt timestamps, which are used to specify
4577// a lifecycle for a recovery point.
4578//
4579// The lifecycle defines when a protected resource is transitioned to cold storage
4580// and when it expires. AWS Backup transitions and expires backups automatically
4581// according to the lifecycle that you define.
4582//
4583// Backups transitioned to cold storage must be stored in cold storage for a
4584// minimum of 90 days. Therefore, the “expire after days” setting must be
4585// 90 days greater than the “transition to cold after days” setting. The
4586// “transition to cold after days” setting cannot be changed after a backup
4587// has been transitioned to cold.
4588type CalculatedLifecycle struct {
4589	_ struct{} `type:"structure"`
4590
4591	// A timestamp that specifies when to delete a recovery point.
4592	DeleteAt *time.Time `type:"timestamp"`
4593
4594	// A timestamp that specifies when to transition a recovery point to cold storage.
4595	MoveToColdStorageAt *time.Time `type:"timestamp"`
4596}
4597
4598// String returns the string representation
4599func (s CalculatedLifecycle) String() string {
4600	return awsutil.Prettify(s)
4601}
4602
4603// GoString returns the string representation
4604func (s CalculatedLifecycle) GoString() string {
4605	return s.String()
4606}
4607
4608// SetDeleteAt sets the DeleteAt field's value.
4609func (s *CalculatedLifecycle) SetDeleteAt(v time.Time) *CalculatedLifecycle {
4610	s.DeleteAt = &v
4611	return s
4612}
4613
4614// SetMoveToColdStorageAt sets the MoveToColdStorageAt field's value.
4615func (s *CalculatedLifecycle) SetMoveToColdStorageAt(v time.Time) *CalculatedLifecycle {
4616	s.MoveToColdStorageAt = &v
4617	return s
4618}
4619
4620// Contains an array of triplets made up of a condition type (such as StringEquals),
4621// a key, and a value. Conditions are used to filter resources in a selection
4622// that is assigned to a backup plan.
4623type Condition struct {
4624	_ struct{} `type:"structure"`
4625
4626	// The key in a key-value pair. For example, in "ec2:ResourceTag/Department":
4627	// "accounting", "ec2:ResourceTag/Department" is the key.
4628	//
4629	// ConditionKey is a required field
4630	ConditionKey *string `type:"string" required:"true"`
4631
4632	// An operation, such as StringEquals, that is applied to a key-value pair used
4633	// to filter resources in a selection.
4634	//
4635	// ConditionType is a required field
4636	ConditionType *string `type:"string" required:"true" enum:"ConditionType"`
4637
4638	// The value in a key-value pair. For example, in "ec2:ResourceTag/Department":
4639	// "accounting", "accounting" is the value.
4640	//
4641	// ConditionValue is a required field
4642	ConditionValue *string `type:"string" required:"true"`
4643}
4644
4645// String returns the string representation
4646func (s Condition) String() string {
4647	return awsutil.Prettify(s)
4648}
4649
4650// GoString returns the string representation
4651func (s Condition) GoString() string {
4652	return s.String()
4653}
4654
4655// Validate inspects the fields of the type to determine if they are valid.
4656func (s *Condition) Validate() error {
4657	invalidParams := request.ErrInvalidParams{Context: "Condition"}
4658	if s.ConditionKey == nil {
4659		invalidParams.Add(request.NewErrParamRequired("ConditionKey"))
4660	}
4661	if s.ConditionType == nil {
4662		invalidParams.Add(request.NewErrParamRequired("ConditionType"))
4663	}
4664	if s.ConditionValue == nil {
4665		invalidParams.Add(request.NewErrParamRequired("ConditionValue"))
4666	}
4667
4668	if invalidParams.Len() > 0 {
4669		return invalidParams
4670	}
4671	return nil
4672}
4673
4674// SetConditionKey sets the ConditionKey field's value.
4675func (s *Condition) SetConditionKey(v string) *Condition {
4676	s.ConditionKey = &v
4677	return s
4678}
4679
4680// SetConditionType sets the ConditionType field's value.
4681func (s *Condition) SetConditionType(v string) *Condition {
4682	s.ConditionType = &v
4683	return s
4684}
4685
4686// SetConditionValue sets the ConditionValue field's value.
4687func (s *Condition) SetConditionValue(v string) *Condition {
4688	s.ConditionValue = &v
4689	return s
4690}
4691
4692type CreateBackupPlanInput struct {
4693	_ struct{} `type:"structure"`
4694
4695	// Specifies the body of a backup plan. Includes a BackupPlanName and one or
4696	// more sets of Rules.
4697	//
4698	// BackupPlan is a required field
4699	BackupPlan *PlanInput `type:"structure" required:"true"`
4700
4701	// To help organize your resources, you can assign your own metadata to the
4702	// resources that you create. Each tag is a key-value pair. The specified tags
4703	// are assigned to all backups created with this plan.
4704	BackupPlanTags map[string]*string `type:"map" sensitive:"true"`
4705
4706	// Identifies the request and allows failed requests to be retried without the
4707	// risk of executing the operation twice. If the request includes a CreatorRequestId
4708	// that matches an existing backup plan, that plan is returned. This parameter
4709	// is optional.
4710	CreatorRequestId *string `type:"string"`
4711}
4712
4713// String returns the string representation
4714func (s CreateBackupPlanInput) String() string {
4715	return awsutil.Prettify(s)
4716}
4717
4718// GoString returns the string representation
4719func (s CreateBackupPlanInput) GoString() string {
4720	return s.String()
4721}
4722
4723// Validate inspects the fields of the type to determine if they are valid.
4724func (s *CreateBackupPlanInput) Validate() error {
4725	invalidParams := request.ErrInvalidParams{Context: "CreateBackupPlanInput"}
4726	if s.BackupPlan == nil {
4727		invalidParams.Add(request.NewErrParamRequired("BackupPlan"))
4728	}
4729	if s.BackupPlan != nil {
4730		if err := s.BackupPlan.Validate(); err != nil {
4731			invalidParams.AddNested("BackupPlan", err.(request.ErrInvalidParams))
4732		}
4733	}
4734
4735	if invalidParams.Len() > 0 {
4736		return invalidParams
4737	}
4738	return nil
4739}
4740
4741// SetBackupPlan sets the BackupPlan field's value.
4742func (s *CreateBackupPlanInput) SetBackupPlan(v *PlanInput) *CreateBackupPlanInput {
4743	s.BackupPlan = v
4744	return s
4745}
4746
4747// SetBackupPlanTags sets the BackupPlanTags field's value.
4748func (s *CreateBackupPlanInput) SetBackupPlanTags(v map[string]*string) *CreateBackupPlanInput {
4749	s.BackupPlanTags = v
4750	return s
4751}
4752
4753// SetCreatorRequestId sets the CreatorRequestId field's value.
4754func (s *CreateBackupPlanInput) SetCreatorRequestId(v string) *CreateBackupPlanInput {
4755	s.CreatorRequestId = &v
4756	return s
4757}
4758
4759type CreateBackupPlanOutput struct {
4760	_ struct{} `type:"structure"`
4761
4762	// An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for
4763	// example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.
4764	BackupPlanArn *string `type:"string"`
4765
4766	// Uniquely identifies a backup plan.
4767	BackupPlanId *string `type:"string"`
4768
4769	// The date and time that a backup plan is created, in Unix format and Coordinated
4770	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds.
4771	// For example, the value 1516925490.087 represents Friday, January 26, 2018
4772	// 12:11:30.087 AM.
4773	CreationDate *time.Time `type:"timestamp"`
4774
4775	// Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most
4776	// 1024 bytes long. They cannot be edited.
4777	VersionId *string `type:"string"`
4778}
4779
4780// String returns the string representation
4781func (s CreateBackupPlanOutput) String() string {
4782	return awsutil.Prettify(s)
4783}
4784
4785// GoString returns the string representation
4786func (s CreateBackupPlanOutput) GoString() string {
4787	return s.String()
4788}
4789
4790// SetBackupPlanArn sets the BackupPlanArn field's value.
4791func (s *CreateBackupPlanOutput) SetBackupPlanArn(v string) *CreateBackupPlanOutput {
4792	s.BackupPlanArn = &v
4793	return s
4794}
4795
4796// SetBackupPlanId sets the BackupPlanId field's value.
4797func (s *CreateBackupPlanOutput) SetBackupPlanId(v string) *CreateBackupPlanOutput {
4798	s.BackupPlanId = &v
4799	return s
4800}
4801
4802// SetCreationDate sets the CreationDate field's value.
4803func (s *CreateBackupPlanOutput) SetCreationDate(v time.Time) *CreateBackupPlanOutput {
4804	s.CreationDate = &v
4805	return s
4806}
4807
4808// SetVersionId sets the VersionId field's value.
4809func (s *CreateBackupPlanOutput) SetVersionId(v string) *CreateBackupPlanOutput {
4810	s.VersionId = &v
4811	return s
4812}
4813
4814type CreateBackupSelectionInput struct {
4815	_ struct{} `type:"structure"`
4816
4817	// Uniquely identifies the backup plan to be associated with the selection of
4818	// resources.
4819	//
4820	// BackupPlanId is a required field
4821	BackupPlanId *string `location:"uri" locationName:"backupPlanId" type:"string" required:"true"`
4822
4823	// Specifies the body of a request to assign a set of resources to a backup
4824	// plan.
4825	//
4826	// It includes an array of resources, an optional array of patterns to exclude
4827	// resources, an optional role to provide access to the AWS service the resource
4828	// belongs to, and an optional array of tags used to identify a set of resources.
4829	//
4830	// BackupSelection is a required field
4831	BackupSelection *Selection `type:"structure" required:"true"`
4832
4833	// A unique string that identifies the request and allows failed requests to
4834	// be retried without the risk of executing the operation twice.
4835	CreatorRequestId *string `type:"string"`
4836}
4837
4838// String returns the string representation
4839func (s CreateBackupSelectionInput) String() string {
4840	return awsutil.Prettify(s)
4841}
4842
4843// GoString returns the string representation
4844func (s CreateBackupSelectionInput) GoString() string {
4845	return s.String()
4846}
4847
4848// Validate inspects the fields of the type to determine if they are valid.
4849func (s *CreateBackupSelectionInput) Validate() error {
4850	invalidParams := request.ErrInvalidParams{Context: "CreateBackupSelectionInput"}
4851	if s.BackupPlanId == nil {
4852		invalidParams.Add(request.NewErrParamRequired("BackupPlanId"))
4853	}
4854	if s.BackupPlanId != nil && len(*s.BackupPlanId) < 1 {
4855		invalidParams.Add(request.NewErrParamMinLen("BackupPlanId", 1))
4856	}
4857	if s.BackupSelection == nil {
4858		invalidParams.Add(request.NewErrParamRequired("BackupSelection"))
4859	}
4860	if s.BackupSelection != nil {
4861		if err := s.BackupSelection.Validate(); err != nil {
4862			invalidParams.AddNested("BackupSelection", err.(request.ErrInvalidParams))
4863		}
4864	}
4865
4866	if invalidParams.Len() > 0 {
4867		return invalidParams
4868	}
4869	return nil
4870}
4871
4872// SetBackupPlanId sets the BackupPlanId field's value.
4873func (s *CreateBackupSelectionInput) SetBackupPlanId(v string) *CreateBackupSelectionInput {
4874	s.BackupPlanId = &v
4875	return s
4876}
4877
4878// SetBackupSelection sets the BackupSelection field's value.
4879func (s *CreateBackupSelectionInput) SetBackupSelection(v *Selection) *CreateBackupSelectionInput {
4880	s.BackupSelection = v
4881	return s
4882}
4883
4884// SetCreatorRequestId sets the CreatorRequestId field's value.
4885func (s *CreateBackupSelectionInput) SetCreatorRequestId(v string) *CreateBackupSelectionInput {
4886	s.CreatorRequestId = &v
4887	return s
4888}
4889
4890type CreateBackupSelectionOutput struct {
4891	_ struct{} `type:"structure"`
4892
4893	// Uniquely identifies a backup plan.
4894	BackupPlanId *string `type:"string"`
4895
4896	// The date and time a backup selection is created, in Unix format and Coordinated
4897	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds.
4898	// For example, the value 1516925490.087 represents Friday, January 26, 2018
4899	// 12:11:30.087 AM.
4900	CreationDate *time.Time `type:"timestamp"`
4901
4902	// Uniquely identifies the body of a request to assign a set of resources to
4903	// a backup plan.
4904	SelectionId *string `type:"string"`
4905}
4906
4907// String returns the string representation
4908func (s CreateBackupSelectionOutput) String() string {
4909	return awsutil.Prettify(s)
4910}
4911
4912// GoString returns the string representation
4913func (s CreateBackupSelectionOutput) GoString() string {
4914	return s.String()
4915}
4916
4917// SetBackupPlanId sets the BackupPlanId field's value.
4918func (s *CreateBackupSelectionOutput) SetBackupPlanId(v string) *CreateBackupSelectionOutput {
4919	s.BackupPlanId = &v
4920	return s
4921}
4922
4923// SetCreationDate sets the CreationDate field's value.
4924func (s *CreateBackupSelectionOutput) SetCreationDate(v time.Time) *CreateBackupSelectionOutput {
4925	s.CreationDate = &v
4926	return s
4927}
4928
4929// SetSelectionId sets the SelectionId field's value.
4930func (s *CreateBackupSelectionOutput) SetSelectionId(v string) *CreateBackupSelectionOutput {
4931	s.SelectionId = &v
4932	return s
4933}
4934
4935type CreateBackupVaultInput struct {
4936	_ struct{} `type:"structure"`
4937
4938	// The name of a logical container where backups are stored. Backup vaults are
4939	// identified by names that are unique to the account used to create them and
4940	// the AWS Region where they are created. They consist of lowercase letters,
4941	// numbers, and hyphens.
4942	//
4943	// BackupVaultName is a required field
4944	BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"`
4945
4946	// Metadata that you can assign to help organize the resources that you create.
4947	// Each tag is a key-value pair.
4948	BackupVaultTags map[string]*string `type:"map" sensitive:"true"`
4949
4950	// A unique string that identifies the request and allows failed requests to
4951	// be retried without the risk of executing the operation twice.
4952	CreatorRequestId *string `type:"string"`
4953
4954	// The server-side encryption key that is used to protect your backups; for
4955	// example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
4956	EncryptionKeyArn *string `type:"string"`
4957}
4958
4959// String returns the string representation
4960func (s CreateBackupVaultInput) String() string {
4961	return awsutil.Prettify(s)
4962}
4963
4964// GoString returns the string representation
4965func (s CreateBackupVaultInput) GoString() string {
4966	return s.String()
4967}
4968
4969// Validate inspects the fields of the type to determine if they are valid.
4970func (s *CreateBackupVaultInput) Validate() error {
4971	invalidParams := request.ErrInvalidParams{Context: "CreateBackupVaultInput"}
4972	if s.BackupVaultName == nil {
4973		invalidParams.Add(request.NewErrParamRequired("BackupVaultName"))
4974	}
4975	if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 {
4976		invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1))
4977	}
4978
4979	if invalidParams.Len() > 0 {
4980		return invalidParams
4981	}
4982	return nil
4983}
4984
4985// SetBackupVaultName sets the BackupVaultName field's value.
4986func (s *CreateBackupVaultInput) SetBackupVaultName(v string) *CreateBackupVaultInput {
4987	s.BackupVaultName = &v
4988	return s
4989}
4990
4991// SetBackupVaultTags sets the BackupVaultTags field's value.
4992func (s *CreateBackupVaultInput) SetBackupVaultTags(v map[string]*string) *CreateBackupVaultInput {
4993	s.BackupVaultTags = v
4994	return s
4995}
4996
4997// SetCreatorRequestId sets the CreatorRequestId field's value.
4998func (s *CreateBackupVaultInput) SetCreatorRequestId(v string) *CreateBackupVaultInput {
4999	s.CreatorRequestId = &v
5000	return s
5001}
5002
5003// SetEncryptionKeyArn sets the EncryptionKeyArn field's value.
5004func (s *CreateBackupVaultInput) SetEncryptionKeyArn(v string) *CreateBackupVaultInput {
5005	s.EncryptionKeyArn = &v
5006	return s
5007}
5008
5009type CreateBackupVaultOutput struct {
5010	_ struct{} `type:"structure"`
5011
5012	// An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
5013	// example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
5014	BackupVaultArn *string `type:"string"`
5015
5016	// The name of a logical container where backups are stored. Backup vaults are
5017	// identified by names that are unique to the account used to create them and
5018	// the Region where they are created. They consist of lowercase letters, numbers,
5019	// and hyphens.
5020	BackupVaultName *string `type:"string"`
5021
5022	// The date and time a backup vault is created, in Unix format and Coordinated
5023	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds.
5024	// For example, the value 1516925490.087 represents Friday, January 26, 2018
5025	// 12:11:30.087 AM.
5026	CreationDate *time.Time `type:"timestamp"`
5027}
5028
5029// String returns the string representation
5030func (s CreateBackupVaultOutput) String() string {
5031	return awsutil.Prettify(s)
5032}
5033
5034// GoString returns the string representation
5035func (s CreateBackupVaultOutput) GoString() string {
5036	return s.String()
5037}
5038
5039// SetBackupVaultArn sets the BackupVaultArn field's value.
5040func (s *CreateBackupVaultOutput) SetBackupVaultArn(v string) *CreateBackupVaultOutput {
5041	s.BackupVaultArn = &v
5042	return s
5043}
5044
5045// SetBackupVaultName sets the BackupVaultName field's value.
5046func (s *CreateBackupVaultOutput) SetBackupVaultName(v string) *CreateBackupVaultOutput {
5047	s.BackupVaultName = &v
5048	return s
5049}
5050
5051// SetCreationDate sets the CreationDate field's value.
5052func (s *CreateBackupVaultOutput) SetCreationDate(v time.Time) *CreateBackupVaultOutput {
5053	s.CreationDate = &v
5054	return s
5055}
5056
5057type DeleteBackupPlanInput struct {
5058	_ struct{} `type:"structure"`
5059
5060	// Uniquely identifies a backup plan.
5061	//
5062	// BackupPlanId is a required field
5063	BackupPlanId *string `location:"uri" locationName:"backupPlanId" type:"string" required:"true"`
5064}
5065
5066// String returns the string representation
5067func (s DeleteBackupPlanInput) String() string {
5068	return awsutil.Prettify(s)
5069}
5070
5071// GoString returns the string representation
5072func (s DeleteBackupPlanInput) GoString() string {
5073	return s.String()
5074}
5075
5076// Validate inspects the fields of the type to determine if they are valid.
5077func (s *DeleteBackupPlanInput) Validate() error {
5078	invalidParams := request.ErrInvalidParams{Context: "DeleteBackupPlanInput"}
5079	if s.BackupPlanId == nil {
5080		invalidParams.Add(request.NewErrParamRequired("BackupPlanId"))
5081	}
5082	if s.BackupPlanId != nil && len(*s.BackupPlanId) < 1 {
5083		invalidParams.Add(request.NewErrParamMinLen("BackupPlanId", 1))
5084	}
5085
5086	if invalidParams.Len() > 0 {
5087		return invalidParams
5088	}
5089	return nil
5090}
5091
5092// SetBackupPlanId sets the BackupPlanId field's value.
5093func (s *DeleteBackupPlanInput) SetBackupPlanId(v string) *DeleteBackupPlanInput {
5094	s.BackupPlanId = &v
5095	return s
5096}
5097
5098type DeleteBackupPlanOutput struct {
5099	_ struct{} `type:"structure"`
5100
5101	// An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for
5102	// example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.
5103	BackupPlanArn *string `type:"string"`
5104
5105	// Uniquely identifies a backup plan.
5106	BackupPlanId *string `type:"string"`
5107
5108	// The date and time a backup plan is deleted, in Unix format and Coordinated
5109	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds.
5110	// For example, the value 1516925490.087 represents Friday, January 26, 2018
5111	// 12:11:30.087 AM.
5112	DeletionDate *time.Time `type:"timestamp"`
5113
5114	// Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most
5115	// 1,024 bytes long. Version Ids cannot be edited.
5116	VersionId *string `type:"string"`
5117}
5118
5119// String returns the string representation
5120func (s DeleteBackupPlanOutput) String() string {
5121	return awsutil.Prettify(s)
5122}
5123
5124// GoString returns the string representation
5125func (s DeleteBackupPlanOutput) GoString() string {
5126	return s.String()
5127}
5128
5129// SetBackupPlanArn sets the BackupPlanArn field's value.
5130func (s *DeleteBackupPlanOutput) SetBackupPlanArn(v string) *DeleteBackupPlanOutput {
5131	s.BackupPlanArn = &v
5132	return s
5133}
5134
5135// SetBackupPlanId sets the BackupPlanId field's value.
5136func (s *DeleteBackupPlanOutput) SetBackupPlanId(v string) *DeleteBackupPlanOutput {
5137	s.BackupPlanId = &v
5138	return s
5139}
5140
5141// SetDeletionDate sets the DeletionDate field's value.
5142func (s *DeleteBackupPlanOutput) SetDeletionDate(v time.Time) *DeleteBackupPlanOutput {
5143	s.DeletionDate = &v
5144	return s
5145}
5146
5147// SetVersionId sets the VersionId field's value.
5148func (s *DeleteBackupPlanOutput) SetVersionId(v string) *DeleteBackupPlanOutput {
5149	s.VersionId = &v
5150	return s
5151}
5152
5153type DeleteBackupSelectionInput struct {
5154	_ struct{} `type:"structure"`
5155
5156	// Uniquely identifies a backup plan.
5157	//
5158	// BackupPlanId is a required field
5159	BackupPlanId *string `location:"uri" locationName:"backupPlanId" type:"string" required:"true"`
5160
5161	// Uniquely identifies the body of a request to assign a set of resources to
5162	// a backup plan.
5163	//
5164	// SelectionId is a required field
5165	SelectionId *string `location:"uri" locationName:"selectionId" type:"string" required:"true"`
5166}
5167
5168// String returns the string representation
5169func (s DeleteBackupSelectionInput) String() string {
5170	return awsutil.Prettify(s)
5171}
5172
5173// GoString returns the string representation
5174func (s DeleteBackupSelectionInput) GoString() string {
5175	return s.String()
5176}
5177
5178// Validate inspects the fields of the type to determine if they are valid.
5179func (s *DeleteBackupSelectionInput) Validate() error {
5180	invalidParams := request.ErrInvalidParams{Context: "DeleteBackupSelectionInput"}
5181	if s.BackupPlanId == nil {
5182		invalidParams.Add(request.NewErrParamRequired("BackupPlanId"))
5183	}
5184	if s.BackupPlanId != nil && len(*s.BackupPlanId) < 1 {
5185		invalidParams.Add(request.NewErrParamMinLen("BackupPlanId", 1))
5186	}
5187	if s.SelectionId == nil {
5188		invalidParams.Add(request.NewErrParamRequired("SelectionId"))
5189	}
5190	if s.SelectionId != nil && len(*s.SelectionId) < 1 {
5191		invalidParams.Add(request.NewErrParamMinLen("SelectionId", 1))
5192	}
5193
5194	if invalidParams.Len() > 0 {
5195		return invalidParams
5196	}
5197	return nil
5198}
5199
5200// SetBackupPlanId sets the BackupPlanId field's value.
5201func (s *DeleteBackupSelectionInput) SetBackupPlanId(v string) *DeleteBackupSelectionInput {
5202	s.BackupPlanId = &v
5203	return s
5204}
5205
5206// SetSelectionId sets the SelectionId field's value.
5207func (s *DeleteBackupSelectionInput) SetSelectionId(v string) *DeleteBackupSelectionInput {
5208	s.SelectionId = &v
5209	return s
5210}
5211
5212type DeleteBackupSelectionOutput struct {
5213	_ struct{} `type:"structure"`
5214}
5215
5216// String returns the string representation
5217func (s DeleteBackupSelectionOutput) String() string {
5218	return awsutil.Prettify(s)
5219}
5220
5221// GoString returns the string representation
5222func (s DeleteBackupSelectionOutput) GoString() string {
5223	return s.String()
5224}
5225
5226type DeleteBackupVaultAccessPolicyInput struct {
5227	_ struct{} `type:"structure"`
5228
5229	// The name of a logical container where backups are stored. Backup vaults are
5230	// identified by names that are unique to the account used to create them and
5231	// the AWS Region where they are created. They consist of lowercase letters,
5232	// numbers, and hyphens.
5233	//
5234	// BackupVaultName is a required field
5235	BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"`
5236}
5237
5238// String returns the string representation
5239func (s DeleteBackupVaultAccessPolicyInput) String() string {
5240	return awsutil.Prettify(s)
5241}
5242
5243// GoString returns the string representation
5244func (s DeleteBackupVaultAccessPolicyInput) GoString() string {
5245	return s.String()
5246}
5247
5248// Validate inspects the fields of the type to determine if they are valid.
5249func (s *DeleteBackupVaultAccessPolicyInput) Validate() error {
5250	invalidParams := request.ErrInvalidParams{Context: "DeleteBackupVaultAccessPolicyInput"}
5251	if s.BackupVaultName == nil {
5252		invalidParams.Add(request.NewErrParamRequired("BackupVaultName"))
5253	}
5254	if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 {
5255		invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1))
5256	}
5257
5258	if invalidParams.Len() > 0 {
5259		return invalidParams
5260	}
5261	return nil
5262}
5263
5264// SetBackupVaultName sets the BackupVaultName field's value.
5265func (s *DeleteBackupVaultAccessPolicyInput) SetBackupVaultName(v string) *DeleteBackupVaultAccessPolicyInput {
5266	s.BackupVaultName = &v
5267	return s
5268}
5269
5270type DeleteBackupVaultAccessPolicyOutput struct {
5271	_ struct{} `type:"structure"`
5272}
5273
5274// String returns the string representation
5275func (s DeleteBackupVaultAccessPolicyOutput) String() string {
5276	return awsutil.Prettify(s)
5277}
5278
5279// GoString returns the string representation
5280func (s DeleteBackupVaultAccessPolicyOutput) GoString() string {
5281	return s.String()
5282}
5283
5284type DeleteBackupVaultInput struct {
5285	_ struct{} `type:"structure"`
5286
5287	// The name of a logical container where backups are stored. Backup vaults are
5288	// identified by names that are unique to the account used to create them and
5289	// theAWS Region where they are created. They consist of lowercase letters,
5290	// numbers, and hyphens.
5291	//
5292	// BackupVaultName is a required field
5293	BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"`
5294}
5295
5296// String returns the string representation
5297func (s DeleteBackupVaultInput) String() string {
5298	return awsutil.Prettify(s)
5299}
5300
5301// GoString returns the string representation
5302func (s DeleteBackupVaultInput) GoString() string {
5303	return s.String()
5304}
5305
5306// Validate inspects the fields of the type to determine if they are valid.
5307func (s *DeleteBackupVaultInput) Validate() error {
5308	invalidParams := request.ErrInvalidParams{Context: "DeleteBackupVaultInput"}
5309	if s.BackupVaultName == nil {
5310		invalidParams.Add(request.NewErrParamRequired("BackupVaultName"))
5311	}
5312	if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 {
5313		invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1))
5314	}
5315
5316	if invalidParams.Len() > 0 {
5317		return invalidParams
5318	}
5319	return nil
5320}
5321
5322// SetBackupVaultName sets the BackupVaultName field's value.
5323func (s *DeleteBackupVaultInput) SetBackupVaultName(v string) *DeleteBackupVaultInput {
5324	s.BackupVaultName = &v
5325	return s
5326}
5327
5328type DeleteBackupVaultNotificationsInput struct {
5329	_ struct{} `type:"structure"`
5330
5331	// The name of a logical container where backups are stored. Backup vaults are
5332	// identified by names that are unique to the account used to create them and
5333	// the Region where they are created. They consist of lowercase letters, numbers,
5334	// and hyphens.
5335	//
5336	// BackupVaultName is a required field
5337	BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"`
5338}
5339
5340// String returns the string representation
5341func (s DeleteBackupVaultNotificationsInput) String() string {
5342	return awsutil.Prettify(s)
5343}
5344
5345// GoString returns the string representation
5346func (s DeleteBackupVaultNotificationsInput) GoString() string {
5347	return s.String()
5348}
5349
5350// Validate inspects the fields of the type to determine if they are valid.
5351func (s *DeleteBackupVaultNotificationsInput) Validate() error {
5352	invalidParams := request.ErrInvalidParams{Context: "DeleteBackupVaultNotificationsInput"}
5353	if s.BackupVaultName == nil {
5354		invalidParams.Add(request.NewErrParamRequired("BackupVaultName"))
5355	}
5356	if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 {
5357		invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1))
5358	}
5359
5360	if invalidParams.Len() > 0 {
5361		return invalidParams
5362	}
5363	return nil
5364}
5365
5366// SetBackupVaultName sets the BackupVaultName field's value.
5367func (s *DeleteBackupVaultNotificationsInput) SetBackupVaultName(v string) *DeleteBackupVaultNotificationsInput {
5368	s.BackupVaultName = &v
5369	return s
5370}
5371
5372type DeleteBackupVaultNotificationsOutput struct {
5373	_ struct{} `type:"structure"`
5374}
5375
5376// String returns the string representation
5377func (s DeleteBackupVaultNotificationsOutput) String() string {
5378	return awsutil.Prettify(s)
5379}
5380
5381// GoString returns the string representation
5382func (s DeleteBackupVaultNotificationsOutput) GoString() string {
5383	return s.String()
5384}
5385
5386type DeleteBackupVaultOutput struct {
5387	_ struct{} `type:"structure"`
5388}
5389
5390// String returns the string representation
5391func (s DeleteBackupVaultOutput) String() string {
5392	return awsutil.Prettify(s)
5393}
5394
5395// GoString returns the string representation
5396func (s DeleteBackupVaultOutput) GoString() string {
5397	return s.String()
5398}
5399
5400type DeleteRecoveryPointInput struct {
5401	_ struct{} `type:"structure"`
5402
5403	// The name of a logical container where backups are stored. Backup vaults are
5404	// identified by names that are unique to the account used to create them and
5405	// the AWS Region where they are created. They consist of lowercase letters,
5406	// numbers, and hyphens.
5407	//
5408	// BackupVaultName is a required field
5409	BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"`
5410
5411	// An Amazon Resource Name (ARN) that uniquely identifies a recovery point;
5412	// for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
5413	//
5414	// RecoveryPointArn is a required field
5415	RecoveryPointArn *string `location:"uri" locationName:"recoveryPointArn" type:"string" required:"true"`
5416}
5417
5418// String returns the string representation
5419func (s DeleteRecoveryPointInput) String() string {
5420	return awsutil.Prettify(s)
5421}
5422
5423// GoString returns the string representation
5424func (s DeleteRecoveryPointInput) GoString() string {
5425	return s.String()
5426}
5427
5428// Validate inspects the fields of the type to determine if they are valid.
5429func (s *DeleteRecoveryPointInput) Validate() error {
5430	invalidParams := request.ErrInvalidParams{Context: "DeleteRecoveryPointInput"}
5431	if s.BackupVaultName == nil {
5432		invalidParams.Add(request.NewErrParamRequired("BackupVaultName"))
5433	}
5434	if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 {
5435		invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1))
5436	}
5437	if s.RecoveryPointArn == nil {
5438		invalidParams.Add(request.NewErrParamRequired("RecoveryPointArn"))
5439	}
5440	if s.RecoveryPointArn != nil && len(*s.RecoveryPointArn) < 1 {
5441		invalidParams.Add(request.NewErrParamMinLen("RecoveryPointArn", 1))
5442	}
5443
5444	if invalidParams.Len() > 0 {
5445		return invalidParams
5446	}
5447	return nil
5448}
5449
5450// SetBackupVaultName sets the BackupVaultName field's value.
5451func (s *DeleteRecoveryPointInput) SetBackupVaultName(v string) *DeleteRecoveryPointInput {
5452	s.BackupVaultName = &v
5453	return s
5454}
5455
5456// SetRecoveryPointArn sets the RecoveryPointArn field's value.
5457func (s *DeleteRecoveryPointInput) SetRecoveryPointArn(v string) *DeleteRecoveryPointInput {
5458	s.RecoveryPointArn = &v
5459	return s
5460}
5461
5462type DeleteRecoveryPointOutput struct {
5463	_ struct{} `type:"structure"`
5464}
5465
5466// String returns the string representation
5467func (s DeleteRecoveryPointOutput) String() string {
5468	return awsutil.Prettify(s)
5469}
5470
5471// GoString returns the string representation
5472func (s DeleteRecoveryPointOutput) GoString() string {
5473	return s.String()
5474}
5475
5476type DescribeBackupJobInput struct {
5477	_ struct{} `type:"structure"`
5478
5479	// Uniquely identifies a request to AWS Backup to back up a resource.
5480	//
5481	// BackupJobId is a required field
5482	BackupJobId *string `location:"uri" locationName:"backupJobId" type:"string" required:"true"`
5483}
5484
5485// String returns the string representation
5486func (s DescribeBackupJobInput) String() string {
5487	return awsutil.Prettify(s)
5488}
5489
5490// GoString returns the string representation
5491func (s DescribeBackupJobInput) GoString() string {
5492	return s.String()
5493}
5494
5495// Validate inspects the fields of the type to determine if they are valid.
5496func (s *DescribeBackupJobInput) Validate() error {
5497	invalidParams := request.ErrInvalidParams{Context: "DescribeBackupJobInput"}
5498	if s.BackupJobId == nil {
5499		invalidParams.Add(request.NewErrParamRequired("BackupJobId"))
5500	}
5501	if s.BackupJobId != nil && len(*s.BackupJobId) < 1 {
5502		invalidParams.Add(request.NewErrParamMinLen("BackupJobId", 1))
5503	}
5504
5505	if invalidParams.Len() > 0 {
5506		return invalidParams
5507	}
5508	return nil
5509}
5510
5511// SetBackupJobId sets the BackupJobId field's value.
5512func (s *DescribeBackupJobInput) SetBackupJobId(v string) *DescribeBackupJobInput {
5513	s.BackupJobId = &v
5514	return s
5515}
5516
5517type DescribeBackupJobOutput struct {
5518	_ struct{} `type:"structure"`
5519
5520	// Uniquely identifies a request to AWS Backup to back up a resource.
5521	BackupJobId *string `type:"string"`
5522
5523	// The size, in bytes, of a backup.
5524	BackupSizeInBytes *int64 `type:"long"`
5525
5526	// An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
5527	// example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
5528	BackupVaultArn *string `type:"string"`
5529
5530	// The name of a logical container where backups are stored. Backup vaults are
5531	// identified by names that are unique to the account used to create them and
5532	// the AWS Region where they are created. They consist of lowercase letters,
5533	// numbers, and hyphens.
5534	BackupVaultName *string `type:"string"`
5535
5536	// The size in bytes transferred to a backup vault at the time that the job
5537	// status was queried.
5538	BytesTransferred *int64 `type:"long"`
5539
5540	// The date and time that a job to create a backup job is completed, in Unix
5541	// format and Coordinated Universal Time (UTC). The value of CreationDate is
5542	// accurate to milliseconds. For example, the value 1516925490.087 represents
5543	// Friday, January 26, 2018 12:11:30.087 AM.
5544	CompletionDate *time.Time `type:"timestamp"`
5545
5546	// Contains identifying information about the creation of a backup job, including
5547	// the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the
5548	// backup plan that is used to create it.
5549	CreatedBy *RecoveryPointCreator `type:"structure"`
5550
5551	// The date and time that a backup job is created, in Unix format and Coordinated
5552	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds.
5553	// For example, the value 1516925490.087 represents Friday, January 26, 2018
5554	// 12:11:30.087 AM.
5555	CreationDate *time.Time `type:"timestamp"`
5556
5557	// The date and time that a job to back up resources is expected to be completed,
5558	// in Unix format and Coordinated Universal Time (UTC). The value of ExpectedCompletionDate
5559	// is accurate to milliseconds. For example, the value 1516925490.087 represents
5560	// Friday, January 26, 2018 12:11:30.087 AM.
5561	ExpectedCompletionDate *time.Time `type:"timestamp"`
5562
5563	// Specifies the IAM role ARN used to create the target recovery point; for
5564	// example, arn:aws:iam::123456789012:role/S3Access.
5565	IamRoleArn *string `type:"string"`
5566
5567	// Contains an estimated percentage that is complete of a job at the time the
5568	// job status was queried.
5569	PercentDone *string `type:"string"`
5570
5571	// An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
5572	RecoveryPointArn *string `type:"string"`
5573
5574	// An ARN that uniquely identifies a saved resource. The format of the ARN depends
5575	// on the resource type.
5576	ResourceArn *string `type:"string"`
5577
5578	// The type of AWS resource to be backed-up; for example, an Amazon Elastic
5579	// Block Store (Amazon EBS) volume or an Amazon Relational Database Service
5580	// (Amazon RDS) database.
5581	ResourceType *string `type:"string"`
5582
5583	// Specifies the time in Unix format and Coordinated Universal Time (UTC) when
5584	// a backup job must be started before it is canceled. The value is calculated
5585	// by adding the start window to the scheduled time. So if the scheduled time
5586	// were 6:00 PM and the start window is 2 hours, the StartBy time would be 8:00
5587	// PM on the date specified. The value of StartBy is accurate to milliseconds.
5588	// For example, the value 1516925490.087 represents Friday, January 26, 2018
5589	// 12:11:30.087 AM.
5590	StartBy *time.Time `type:"timestamp"`
5591
5592	// The current state of a resource recovery point.
5593	State *string `type:"string" enum:"JobState"`
5594
5595	// A detailed message explaining the status of the job to back up a resource.
5596	StatusMessage *string `type:"string"`
5597}
5598
5599// String returns the string representation
5600func (s DescribeBackupJobOutput) String() string {
5601	return awsutil.Prettify(s)
5602}
5603
5604// GoString returns the string representation
5605func (s DescribeBackupJobOutput) GoString() string {
5606	return s.String()
5607}
5608
5609// SetBackupJobId sets the BackupJobId field's value.
5610func (s *DescribeBackupJobOutput) SetBackupJobId(v string) *DescribeBackupJobOutput {
5611	s.BackupJobId = &v
5612	return s
5613}
5614
5615// SetBackupSizeInBytes sets the BackupSizeInBytes field's value.
5616func (s *DescribeBackupJobOutput) SetBackupSizeInBytes(v int64) *DescribeBackupJobOutput {
5617	s.BackupSizeInBytes = &v
5618	return s
5619}
5620
5621// SetBackupVaultArn sets the BackupVaultArn field's value.
5622func (s *DescribeBackupJobOutput) SetBackupVaultArn(v string) *DescribeBackupJobOutput {
5623	s.BackupVaultArn = &v
5624	return s
5625}
5626
5627// SetBackupVaultName sets the BackupVaultName field's value.
5628func (s *DescribeBackupJobOutput) SetBackupVaultName(v string) *DescribeBackupJobOutput {
5629	s.BackupVaultName = &v
5630	return s
5631}
5632
5633// SetBytesTransferred sets the BytesTransferred field's value.
5634func (s *DescribeBackupJobOutput) SetBytesTransferred(v int64) *DescribeBackupJobOutput {
5635	s.BytesTransferred = &v
5636	return s
5637}
5638
5639// SetCompletionDate sets the CompletionDate field's value.
5640func (s *DescribeBackupJobOutput) SetCompletionDate(v time.Time) *DescribeBackupJobOutput {
5641	s.CompletionDate = &v
5642	return s
5643}
5644
5645// SetCreatedBy sets the CreatedBy field's value.
5646func (s *DescribeBackupJobOutput) SetCreatedBy(v *RecoveryPointCreator) *DescribeBackupJobOutput {
5647	s.CreatedBy = v
5648	return s
5649}
5650
5651// SetCreationDate sets the CreationDate field's value.
5652func (s *DescribeBackupJobOutput) SetCreationDate(v time.Time) *DescribeBackupJobOutput {
5653	s.CreationDate = &v
5654	return s
5655}
5656
5657// SetExpectedCompletionDate sets the ExpectedCompletionDate field's value.
5658func (s *DescribeBackupJobOutput) SetExpectedCompletionDate(v time.Time) *DescribeBackupJobOutput {
5659	s.ExpectedCompletionDate = &v
5660	return s
5661}
5662
5663// SetIamRoleArn sets the IamRoleArn field's value.
5664func (s *DescribeBackupJobOutput) SetIamRoleArn(v string) *DescribeBackupJobOutput {
5665	s.IamRoleArn = &v
5666	return s
5667}
5668
5669// SetPercentDone sets the PercentDone field's value.
5670func (s *DescribeBackupJobOutput) SetPercentDone(v string) *DescribeBackupJobOutput {
5671	s.PercentDone = &v
5672	return s
5673}
5674
5675// SetRecoveryPointArn sets the RecoveryPointArn field's value.
5676func (s *DescribeBackupJobOutput) SetRecoveryPointArn(v string) *DescribeBackupJobOutput {
5677	s.RecoveryPointArn = &v
5678	return s
5679}
5680
5681// SetResourceArn sets the ResourceArn field's value.
5682func (s *DescribeBackupJobOutput) SetResourceArn(v string) *DescribeBackupJobOutput {
5683	s.ResourceArn = &v
5684	return s
5685}
5686
5687// SetResourceType sets the ResourceType field's value.
5688func (s *DescribeBackupJobOutput) SetResourceType(v string) *DescribeBackupJobOutput {
5689	s.ResourceType = &v
5690	return s
5691}
5692
5693// SetStartBy sets the StartBy field's value.
5694func (s *DescribeBackupJobOutput) SetStartBy(v time.Time) *DescribeBackupJobOutput {
5695	s.StartBy = &v
5696	return s
5697}
5698
5699// SetState sets the State field's value.
5700func (s *DescribeBackupJobOutput) SetState(v string) *DescribeBackupJobOutput {
5701	s.State = &v
5702	return s
5703}
5704
5705// SetStatusMessage sets the StatusMessage field's value.
5706func (s *DescribeBackupJobOutput) SetStatusMessage(v string) *DescribeBackupJobOutput {
5707	s.StatusMessage = &v
5708	return s
5709}
5710
5711type DescribeBackupVaultInput struct {
5712	_ struct{} `type:"structure"`
5713
5714	// The name of a logical container where backups are stored. Backup vaults are
5715	// identified by names that are unique to the account used to create them and
5716	// the AWS Region where they are created. They consist of lowercase letters,
5717	// numbers, and hyphens.
5718	//
5719	// BackupVaultName is a required field
5720	BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"`
5721}
5722
5723// String returns the string representation
5724func (s DescribeBackupVaultInput) String() string {
5725	return awsutil.Prettify(s)
5726}
5727
5728// GoString returns the string representation
5729func (s DescribeBackupVaultInput) GoString() string {
5730	return s.String()
5731}
5732
5733// Validate inspects the fields of the type to determine if they are valid.
5734func (s *DescribeBackupVaultInput) Validate() error {
5735	invalidParams := request.ErrInvalidParams{Context: "DescribeBackupVaultInput"}
5736	if s.BackupVaultName == nil {
5737		invalidParams.Add(request.NewErrParamRequired("BackupVaultName"))
5738	}
5739	if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 {
5740		invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1))
5741	}
5742
5743	if invalidParams.Len() > 0 {
5744		return invalidParams
5745	}
5746	return nil
5747}
5748
5749// SetBackupVaultName sets the BackupVaultName field's value.
5750func (s *DescribeBackupVaultInput) SetBackupVaultName(v string) *DescribeBackupVaultInput {
5751	s.BackupVaultName = &v
5752	return s
5753}
5754
5755type DescribeBackupVaultOutput struct {
5756	_ struct{} `type:"structure"`
5757
5758	// An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
5759	// example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
5760	BackupVaultArn *string `type:"string"`
5761
5762	// The name of a logical container where backups are stored. Backup vaults are
5763	// identified by names that are unique to the account used to create them and
5764	// the Region where they are created. They consist of lowercase letters, numbers,
5765	// and hyphens.
5766	BackupVaultName *string `type:"string"`
5767
5768	// The date and time that a backup vault is created, in Unix format and Coordinated
5769	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds.
5770	// For example, the value 1516925490.087 represents Friday, January 26, 2018
5771	// 12:11:30.087 AM.
5772	CreationDate *time.Time `type:"timestamp"`
5773
5774	// A unique string that identifies the request and allows failed requests to
5775	// be retried without the risk of executing the operation twice.
5776	CreatorRequestId *string `type:"string"`
5777
5778	// The server-side encryption key that is used to protect your backups; for
5779	// example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
5780	EncryptionKeyArn *string `type:"string"`
5781
5782	// The number of recovery points that are stored in a backup vault.
5783	NumberOfRecoveryPoints *int64 `type:"long"`
5784}
5785
5786// String returns the string representation
5787func (s DescribeBackupVaultOutput) String() string {
5788	return awsutil.Prettify(s)
5789}
5790
5791// GoString returns the string representation
5792func (s DescribeBackupVaultOutput) GoString() string {
5793	return s.String()
5794}
5795
5796// SetBackupVaultArn sets the BackupVaultArn field's value.
5797func (s *DescribeBackupVaultOutput) SetBackupVaultArn(v string) *DescribeBackupVaultOutput {
5798	s.BackupVaultArn = &v
5799	return s
5800}
5801
5802// SetBackupVaultName sets the BackupVaultName field's value.
5803func (s *DescribeBackupVaultOutput) SetBackupVaultName(v string) *DescribeBackupVaultOutput {
5804	s.BackupVaultName = &v
5805	return s
5806}
5807
5808// SetCreationDate sets the CreationDate field's value.
5809func (s *DescribeBackupVaultOutput) SetCreationDate(v time.Time) *DescribeBackupVaultOutput {
5810	s.CreationDate = &v
5811	return s
5812}
5813
5814// SetCreatorRequestId sets the CreatorRequestId field's value.
5815func (s *DescribeBackupVaultOutput) SetCreatorRequestId(v string) *DescribeBackupVaultOutput {
5816	s.CreatorRequestId = &v
5817	return s
5818}
5819
5820// SetEncryptionKeyArn sets the EncryptionKeyArn field's value.
5821func (s *DescribeBackupVaultOutput) SetEncryptionKeyArn(v string) *DescribeBackupVaultOutput {
5822	s.EncryptionKeyArn = &v
5823	return s
5824}
5825
5826// SetNumberOfRecoveryPoints sets the NumberOfRecoveryPoints field's value.
5827func (s *DescribeBackupVaultOutput) SetNumberOfRecoveryPoints(v int64) *DescribeBackupVaultOutput {
5828	s.NumberOfRecoveryPoints = &v
5829	return s
5830}
5831
5832type DescribeProtectedResourceInput struct {
5833	_ struct{} `type:"structure"`
5834
5835	// An Amazon Resource Name (ARN) that uniquely identifies a resource. The format
5836	// of the ARN depends on the resource type.
5837	//
5838	// ResourceArn is a required field
5839	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
5840}
5841
5842// String returns the string representation
5843func (s DescribeProtectedResourceInput) String() string {
5844	return awsutil.Prettify(s)
5845}
5846
5847// GoString returns the string representation
5848func (s DescribeProtectedResourceInput) GoString() string {
5849	return s.String()
5850}
5851
5852// Validate inspects the fields of the type to determine if they are valid.
5853func (s *DescribeProtectedResourceInput) Validate() error {
5854	invalidParams := request.ErrInvalidParams{Context: "DescribeProtectedResourceInput"}
5855	if s.ResourceArn == nil {
5856		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
5857	}
5858	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
5859		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
5860	}
5861
5862	if invalidParams.Len() > 0 {
5863		return invalidParams
5864	}
5865	return nil
5866}
5867
5868// SetResourceArn sets the ResourceArn field's value.
5869func (s *DescribeProtectedResourceInput) SetResourceArn(v string) *DescribeProtectedResourceInput {
5870	s.ResourceArn = &v
5871	return s
5872}
5873
5874type DescribeProtectedResourceOutput struct {
5875	_ struct{} `type:"structure"`
5876
5877	// The date and time that a resource was last backed up, in Unix format and
5878	// Coordinated Universal Time (UTC). The value of LastBackupTime is accurate
5879	// to milliseconds. For example, the value 1516925490.087 represents Friday,
5880	// January 26, 2018 12:11:30.087 AM.
5881	LastBackupTime *time.Time `type:"timestamp"`
5882
5883	// An ARN that uniquely identifies a resource. The format of the ARN depends
5884	// on the resource type.
5885	ResourceArn *string `type:"string"`
5886
5887	// The type of AWS resource saved as a recovery point; for example, an EBS volume
5888	// or an Amazon RDS database.
5889	ResourceType *string `type:"string"`
5890}
5891
5892// String returns the string representation
5893func (s DescribeProtectedResourceOutput) String() string {
5894	return awsutil.Prettify(s)
5895}
5896
5897// GoString returns the string representation
5898func (s DescribeProtectedResourceOutput) GoString() string {
5899	return s.String()
5900}
5901
5902// SetLastBackupTime sets the LastBackupTime field's value.
5903func (s *DescribeProtectedResourceOutput) SetLastBackupTime(v time.Time) *DescribeProtectedResourceOutput {
5904	s.LastBackupTime = &v
5905	return s
5906}
5907
5908// SetResourceArn sets the ResourceArn field's value.
5909func (s *DescribeProtectedResourceOutput) SetResourceArn(v string) *DescribeProtectedResourceOutput {
5910	s.ResourceArn = &v
5911	return s
5912}
5913
5914// SetResourceType sets the ResourceType field's value.
5915func (s *DescribeProtectedResourceOutput) SetResourceType(v string) *DescribeProtectedResourceOutput {
5916	s.ResourceType = &v
5917	return s
5918}
5919
5920type DescribeRecoveryPointInput struct {
5921	_ struct{} `type:"structure"`
5922
5923	// The name of a logical container where backups are stored. Backup vaults are
5924	// identified by names that are unique to the account used to create them and
5925	// the AWS Region where they are created. They consist of lowercase letters,
5926	// numbers, and hyphens.
5927	//
5928	// BackupVaultName is a required field
5929	BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"`
5930
5931	// An Amazon Resource Name (ARN) that uniquely identifies a recovery point;
5932	// for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
5933	//
5934	// RecoveryPointArn is a required field
5935	RecoveryPointArn *string `location:"uri" locationName:"recoveryPointArn" type:"string" required:"true"`
5936}
5937
5938// String returns the string representation
5939func (s DescribeRecoveryPointInput) String() string {
5940	return awsutil.Prettify(s)
5941}
5942
5943// GoString returns the string representation
5944func (s DescribeRecoveryPointInput) GoString() string {
5945	return s.String()
5946}
5947
5948// Validate inspects the fields of the type to determine if they are valid.
5949func (s *DescribeRecoveryPointInput) Validate() error {
5950	invalidParams := request.ErrInvalidParams{Context: "DescribeRecoveryPointInput"}
5951	if s.BackupVaultName == nil {
5952		invalidParams.Add(request.NewErrParamRequired("BackupVaultName"))
5953	}
5954	if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 {
5955		invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1))
5956	}
5957	if s.RecoveryPointArn == nil {
5958		invalidParams.Add(request.NewErrParamRequired("RecoveryPointArn"))
5959	}
5960	if s.RecoveryPointArn != nil && len(*s.RecoveryPointArn) < 1 {
5961		invalidParams.Add(request.NewErrParamMinLen("RecoveryPointArn", 1))
5962	}
5963
5964	if invalidParams.Len() > 0 {
5965		return invalidParams
5966	}
5967	return nil
5968}
5969
5970// SetBackupVaultName sets the BackupVaultName field's value.
5971func (s *DescribeRecoveryPointInput) SetBackupVaultName(v string) *DescribeRecoveryPointInput {
5972	s.BackupVaultName = &v
5973	return s
5974}
5975
5976// SetRecoveryPointArn sets the RecoveryPointArn field's value.
5977func (s *DescribeRecoveryPointInput) SetRecoveryPointArn(v string) *DescribeRecoveryPointInput {
5978	s.RecoveryPointArn = &v
5979	return s
5980}
5981
5982type DescribeRecoveryPointOutput struct {
5983	_ struct{} `type:"structure"`
5984
5985	// The size, in bytes, of a backup.
5986	BackupSizeInBytes *int64 `type:"long"`
5987
5988	// An ARN that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
5989	BackupVaultArn *string `type:"string"`
5990
5991	// The name of a logical container where backups are stored. Backup vaults are
5992	// identified by names that are unique to the account used to create them and
5993	// the Region where they are created. They consist of lowercase letters, numbers,
5994	// and hyphens.
5995	BackupVaultName *string `type:"string"`
5996
5997	// A CalculatedLifecycle object containing DeleteAt and MoveToColdStorageAt
5998	// timestamps.
5999	CalculatedLifecycle *CalculatedLifecycle `type:"structure"`
6000
6001	// The date and time that a job to create a recovery point is completed, in
6002	// Unix format and Coordinated Universal Time (UTC). The value of CompletionDate
6003	// is accurate to milliseconds. For example, the value 1516925490.087 represents
6004	// Friday, January 26, 2018 12:11:30.087 AM.
6005	CompletionDate *time.Time `type:"timestamp"`
6006
6007	// Contains identifying information about the creation of a recovery point,
6008	// including the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId
6009	// of the backup plan used to create it.
6010	CreatedBy *RecoveryPointCreator `type:"structure"`
6011
6012	// The date and time that a recovery point is created, in Unix format and Coordinated
6013	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds.
6014	// For example, the value 1516925490.087 represents Friday, January 26, 2018
6015	// 12:11:30.087 AM.
6016	CreationDate *time.Time `type:"timestamp"`
6017
6018	// The server-side encryption key used to protect your backups; for example,
6019	// arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
6020	EncryptionKeyArn *string `type:"string"`
6021
6022	// Specifies the IAM role ARN used to create the target recovery point; for
6023	// example, arn:aws:iam::123456789012:role/S3Access.
6024	IamRoleArn *string `type:"string"`
6025
6026	// A Boolean value that is returned as TRUE if the specified recovery point
6027	// is encrypted, or FALSE if the recovery point is not encrypted.
6028	IsEncrypted *bool `type:"boolean"`
6029
6030	// The date and time that a recovery point was last restored, in Unix format
6031	// and Coordinated Universal Time (UTC). The value of LastRestoreTime is accurate
6032	// to milliseconds. For example, the value 1516925490.087 represents Friday,
6033	// January 26, 2018 12:11:30.087 AM.
6034	LastRestoreTime *time.Time `type:"timestamp"`
6035
6036	// The lifecycle defines when a protected resource is transitioned to cold storage
6037	// and when it expires. AWS Backup transitions and expires backups automatically
6038	// according to the lifecycle that you define.
6039	//
6040	// Backups that are transitioned to cold storage must be stored in cold storage
6041	// for a minimum of 90 days. Therefore, the “expire after days” setting
6042	// must be 90 days greater than the “transition to cold after days” setting.
6043	// The “transition to cold after days” setting cannot be changed after a
6044	// backup has been transitioned to cold.
6045	Lifecycle *Lifecycle `type:"structure"`
6046
6047	// An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
6048	RecoveryPointArn *string `type:"string"`
6049
6050	// An ARN that uniquely identifies a saved resource. The format of the ARN depends
6051	// on the resource type.
6052	ResourceArn *string `type:"string"`
6053
6054	// The type of AWS resource to save as a recovery point; for example, an Amazon
6055	// Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database
6056	// Service (Amazon RDS) database.
6057	ResourceType *string `type:"string"`
6058
6059	// A status code specifying the state of the recovery point.
6060	//
6061	// A partial status indicates that the recovery point was not successfully re-created
6062	// and must be retried.
6063	Status *string `type:"string" enum:"RecoveryPointStatus"`
6064
6065	// Specifies the storage class of the recovery point. Valid values are WARM
6066	// or COLD.
6067	StorageClass *string `type:"string" enum:"StorageClass"`
6068}
6069
6070// String returns the string representation
6071func (s DescribeRecoveryPointOutput) String() string {
6072	return awsutil.Prettify(s)
6073}
6074
6075// GoString returns the string representation
6076func (s DescribeRecoveryPointOutput) GoString() string {
6077	return s.String()
6078}
6079
6080// SetBackupSizeInBytes sets the BackupSizeInBytes field's value.
6081func (s *DescribeRecoveryPointOutput) SetBackupSizeInBytes(v int64) *DescribeRecoveryPointOutput {
6082	s.BackupSizeInBytes = &v
6083	return s
6084}
6085
6086// SetBackupVaultArn sets the BackupVaultArn field's value.
6087func (s *DescribeRecoveryPointOutput) SetBackupVaultArn(v string) *DescribeRecoveryPointOutput {
6088	s.BackupVaultArn = &v
6089	return s
6090}
6091
6092// SetBackupVaultName sets the BackupVaultName field's value.
6093func (s *DescribeRecoveryPointOutput) SetBackupVaultName(v string) *DescribeRecoveryPointOutput {
6094	s.BackupVaultName = &v
6095	return s
6096}
6097
6098// SetCalculatedLifecycle sets the CalculatedLifecycle field's value.
6099func (s *DescribeRecoveryPointOutput) SetCalculatedLifecycle(v *CalculatedLifecycle) *DescribeRecoveryPointOutput {
6100	s.CalculatedLifecycle = v
6101	return s
6102}
6103
6104// SetCompletionDate sets the CompletionDate field's value.
6105func (s *DescribeRecoveryPointOutput) SetCompletionDate(v time.Time) *DescribeRecoveryPointOutput {
6106	s.CompletionDate = &v
6107	return s
6108}
6109
6110// SetCreatedBy sets the CreatedBy field's value.
6111func (s *DescribeRecoveryPointOutput) SetCreatedBy(v *RecoveryPointCreator) *DescribeRecoveryPointOutput {
6112	s.CreatedBy = v
6113	return s
6114}
6115
6116// SetCreationDate sets the CreationDate field's value.
6117func (s *DescribeRecoveryPointOutput) SetCreationDate(v time.Time) *DescribeRecoveryPointOutput {
6118	s.CreationDate = &v
6119	return s
6120}
6121
6122// SetEncryptionKeyArn sets the EncryptionKeyArn field's value.
6123func (s *DescribeRecoveryPointOutput) SetEncryptionKeyArn(v string) *DescribeRecoveryPointOutput {
6124	s.EncryptionKeyArn = &v
6125	return s
6126}
6127
6128// SetIamRoleArn sets the IamRoleArn field's value.
6129func (s *DescribeRecoveryPointOutput) SetIamRoleArn(v string) *DescribeRecoveryPointOutput {
6130	s.IamRoleArn = &v
6131	return s
6132}
6133
6134// SetIsEncrypted sets the IsEncrypted field's value.
6135func (s *DescribeRecoveryPointOutput) SetIsEncrypted(v bool) *DescribeRecoveryPointOutput {
6136	s.IsEncrypted = &v
6137	return s
6138}
6139
6140// SetLastRestoreTime sets the LastRestoreTime field's value.
6141func (s *DescribeRecoveryPointOutput) SetLastRestoreTime(v time.Time) *DescribeRecoveryPointOutput {
6142	s.LastRestoreTime = &v
6143	return s
6144}
6145
6146// SetLifecycle sets the Lifecycle field's value.
6147func (s *DescribeRecoveryPointOutput) SetLifecycle(v *Lifecycle) *DescribeRecoveryPointOutput {
6148	s.Lifecycle = v
6149	return s
6150}
6151
6152// SetRecoveryPointArn sets the RecoveryPointArn field's value.
6153func (s *DescribeRecoveryPointOutput) SetRecoveryPointArn(v string) *DescribeRecoveryPointOutput {
6154	s.RecoveryPointArn = &v
6155	return s
6156}
6157
6158// SetResourceArn sets the ResourceArn field's value.
6159func (s *DescribeRecoveryPointOutput) SetResourceArn(v string) *DescribeRecoveryPointOutput {
6160	s.ResourceArn = &v
6161	return s
6162}
6163
6164// SetResourceType sets the ResourceType field's value.
6165func (s *DescribeRecoveryPointOutput) SetResourceType(v string) *DescribeRecoveryPointOutput {
6166	s.ResourceType = &v
6167	return s
6168}
6169
6170// SetStatus sets the Status field's value.
6171func (s *DescribeRecoveryPointOutput) SetStatus(v string) *DescribeRecoveryPointOutput {
6172	s.Status = &v
6173	return s
6174}
6175
6176// SetStorageClass sets the StorageClass field's value.
6177func (s *DescribeRecoveryPointOutput) SetStorageClass(v string) *DescribeRecoveryPointOutput {
6178	s.StorageClass = &v
6179	return s
6180}
6181
6182type DescribeRestoreJobInput struct {
6183	_ struct{} `type:"structure"`
6184
6185	// Uniquely identifies the job that restores a recovery point.
6186	//
6187	// RestoreJobId is a required field
6188	RestoreJobId *string `location:"uri" locationName:"restoreJobId" type:"string" required:"true"`
6189}
6190
6191// String returns the string representation
6192func (s DescribeRestoreJobInput) String() string {
6193	return awsutil.Prettify(s)
6194}
6195
6196// GoString returns the string representation
6197func (s DescribeRestoreJobInput) GoString() string {
6198	return s.String()
6199}
6200
6201// Validate inspects the fields of the type to determine if they are valid.
6202func (s *DescribeRestoreJobInput) Validate() error {
6203	invalidParams := request.ErrInvalidParams{Context: "DescribeRestoreJobInput"}
6204	if s.RestoreJobId == nil {
6205		invalidParams.Add(request.NewErrParamRequired("RestoreJobId"))
6206	}
6207	if s.RestoreJobId != nil && len(*s.RestoreJobId) < 1 {
6208		invalidParams.Add(request.NewErrParamMinLen("RestoreJobId", 1))
6209	}
6210
6211	if invalidParams.Len() > 0 {
6212		return invalidParams
6213	}
6214	return nil
6215}
6216
6217// SetRestoreJobId sets the RestoreJobId field's value.
6218func (s *DescribeRestoreJobInput) SetRestoreJobId(v string) *DescribeRestoreJobInput {
6219	s.RestoreJobId = &v
6220	return s
6221}
6222
6223type DescribeRestoreJobOutput struct {
6224	_ struct{} `type:"structure"`
6225
6226	// The size, in bytes, of the restored resource.
6227	BackupSizeInBytes *int64 `type:"long"`
6228
6229	// The date and time that a job to restore a recovery point is completed, in
6230	// Unix format and Coordinated Universal Time (UTC). The value of CompletionDate
6231	// is accurate to milliseconds. For example, the value 1516925490.087 represents
6232	// Friday, January 26, 2018 12:11:30.087 AM.
6233	CompletionDate *time.Time `type:"timestamp"`
6234
6235	// An Amazon Resource Name (ARN) that uniquely identifies a resource whose recovery
6236	// point is being restored. The format of the ARN depends on the resource type
6237	// of the backed-up resource.
6238	CreatedResourceArn *string `type:"string"`
6239
6240	// The date and time that a restore job is created, in Unix format and Coordinated
6241	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds.
6242	// For example, the value 1516925490.087 represents Friday, January 26, 2018
6243	// 12:11:30.087 AM.
6244	CreationDate *time.Time `type:"timestamp"`
6245
6246	// The amount of time in minutes that a job restoring a recovery point is expected
6247	// to take.
6248	ExpectedCompletionTimeMinutes *int64 `type:"long"`
6249
6250	// Specifies the IAM role ARN used to create the target recovery point; for
6251	// example, arn:aws:iam::123456789012:role/S3Access.
6252	IamRoleArn *string `type:"string"`
6253
6254	// Contains an estimated percentage that is complete of a job at the time the
6255	// job status was queried.
6256	PercentDone *string `type:"string"`
6257
6258	// An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
6259	RecoveryPointArn *string `type:"string"`
6260
6261	// Uniquely identifies the job that restores a recovery point.
6262	RestoreJobId *string `type:"string"`
6263
6264	// Status code specifying the state of the job that is initiated by AWS Backup
6265	// to restore a recovery point.
6266	Status *string `type:"string" enum:"RestoreJobStatus"`
6267
6268	// A detailed message explaining the status of a job to restore a recovery point.
6269	StatusMessage *string `type:"string"`
6270}
6271
6272// String returns the string representation
6273func (s DescribeRestoreJobOutput) String() string {
6274	return awsutil.Prettify(s)
6275}
6276
6277// GoString returns the string representation
6278func (s DescribeRestoreJobOutput) GoString() string {
6279	return s.String()
6280}
6281
6282// SetBackupSizeInBytes sets the BackupSizeInBytes field's value.
6283func (s *DescribeRestoreJobOutput) SetBackupSizeInBytes(v int64) *DescribeRestoreJobOutput {
6284	s.BackupSizeInBytes = &v
6285	return s
6286}
6287
6288// SetCompletionDate sets the CompletionDate field's value.
6289func (s *DescribeRestoreJobOutput) SetCompletionDate(v time.Time) *DescribeRestoreJobOutput {
6290	s.CompletionDate = &v
6291	return s
6292}
6293
6294// SetCreatedResourceArn sets the CreatedResourceArn field's value.
6295func (s *DescribeRestoreJobOutput) SetCreatedResourceArn(v string) *DescribeRestoreJobOutput {
6296	s.CreatedResourceArn = &v
6297	return s
6298}
6299
6300// SetCreationDate sets the CreationDate field's value.
6301func (s *DescribeRestoreJobOutput) SetCreationDate(v time.Time) *DescribeRestoreJobOutput {
6302	s.CreationDate = &v
6303	return s
6304}
6305
6306// SetExpectedCompletionTimeMinutes sets the ExpectedCompletionTimeMinutes field's value.
6307func (s *DescribeRestoreJobOutput) SetExpectedCompletionTimeMinutes(v int64) *DescribeRestoreJobOutput {
6308	s.ExpectedCompletionTimeMinutes = &v
6309	return s
6310}
6311
6312// SetIamRoleArn sets the IamRoleArn field's value.
6313func (s *DescribeRestoreJobOutput) SetIamRoleArn(v string) *DescribeRestoreJobOutput {
6314	s.IamRoleArn = &v
6315	return s
6316}
6317
6318// SetPercentDone sets the PercentDone field's value.
6319func (s *DescribeRestoreJobOutput) SetPercentDone(v string) *DescribeRestoreJobOutput {
6320	s.PercentDone = &v
6321	return s
6322}
6323
6324// SetRecoveryPointArn sets the RecoveryPointArn field's value.
6325func (s *DescribeRestoreJobOutput) SetRecoveryPointArn(v string) *DescribeRestoreJobOutput {
6326	s.RecoveryPointArn = &v
6327	return s
6328}
6329
6330// SetRestoreJobId sets the RestoreJobId field's value.
6331func (s *DescribeRestoreJobOutput) SetRestoreJobId(v string) *DescribeRestoreJobOutput {
6332	s.RestoreJobId = &v
6333	return s
6334}
6335
6336// SetStatus sets the Status field's value.
6337func (s *DescribeRestoreJobOutput) SetStatus(v string) *DescribeRestoreJobOutput {
6338	s.Status = &v
6339	return s
6340}
6341
6342// SetStatusMessage sets the StatusMessage field's value.
6343func (s *DescribeRestoreJobOutput) SetStatusMessage(v string) *DescribeRestoreJobOutput {
6344	s.StatusMessage = &v
6345	return s
6346}
6347
6348type ExportBackupPlanTemplateInput struct {
6349	_ struct{} `type:"structure"`
6350
6351	// Uniquely identifies a backup plan.
6352	//
6353	// BackupPlanId is a required field
6354	BackupPlanId *string `location:"uri" locationName:"backupPlanId" type:"string" required:"true"`
6355}
6356
6357// String returns the string representation
6358func (s ExportBackupPlanTemplateInput) String() string {
6359	return awsutil.Prettify(s)
6360}
6361
6362// GoString returns the string representation
6363func (s ExportBackupPlanTemplateInput) GoString() string {
6364	return s.String()
6365}
6366
6367// Validate inspects the fields of the type to determine if they are valid.
6368func (s *ExportBackupPlanTemplateInput) Validate() error {
6369	invalidParams := request.ErrInvalidParams{Context: "ExportBackupPlanTemplateInput"}
6370	if s.BackupPlanId == nil {
6371		invalidParams.Add(request.NewErrParamRequired("BackupPlanId"))
6372	}
6373	if s.BackupPlanId != nil && len(*s.BackupPlanId) < 1 {
6374		invalidParams.Add(request.NewErrParamMinLen("BackupPlanId", 1))
6375	}
6376
6377	if invalidParams.Len() > 0 {
6378		return invalidParams
6379	}
6380	return nil
6381}
6382
6383// SetBackupPlanId sets the BackupPlanId field's value.
6384func (s *ExportBackupPlanTemplateInput) SetBackupPlanId(v string) *ExportBackupPlanTemplateInput {
6385	s.BackupPlanId = &v
6386	return s
6387}
6388
6389type ExportBackupPlanTemplateOutput struct {
6390	_ struct{} `type:"structure"`
6391
6392	// The body of a backup plan template in JSON format.
6393	//
6394	// This is a signed JSON document that cannot be modified before being passed
6395	// to GetBackupPlanFromJSON.
6396	BackupPlanTemplateJson *string `type:"string"`
6397}
6398
6399// String returns the string representation
6400func (s ExportBackupPlanTemplateOutput) String() string {
6401	return awsutil.Prettify(s)
6402}
6403
6404// GoString returns the string representation
6405func (s ExportBackupPlanTemplateOutput) GoString() string {
6406	return s.String()
6407}
6408
6409// SetBackupPlanTemplateJson sets the BackupPlanTemplateJson field's value.
6410func (s *ExportBackupPlanTemplateOutput) SetBackupPlanTemplateJson(v string) *ExportBackupPlanTemplateOutput {
6411	s.BackupPlanTemplateJson = &v
6412	return s
6413}
6414
6415type GetBackupPlanFromJSONInput struct {
6416	_ struct{} `type:"structure"`
6417
6418	// A customer-supplied backup plan document in JSON format.
6419	//
6420	// BackupPlanTemplateJson is a required field
6421	BackupPlanTemplateJson *string `type:"string" required:"true"`
6422}
6423
6424// String returns the string representation
6425func (s GetBackupPlanFromJSONInput) String() string {
6426	return awsutil.Prettify(s)
6427}
6428
6429// GoString returns the string representation
6430func (s GetBackupPlanFromJSONInput) GoString() string {
6431	return s.String()
6432}
6433
6434// Validate inspects the fields of the type to determine if they are valid.
6435func (s *GetBackupPlanFromJSONInput) Validate() error {
6436	invalidParams := request.ErrInvalidParams{Context: "GetBackupPlanFromJSONInput"}
6437	if s.BackupPlanTemplateJson == nil {
6438		invalidParams.Add(request.NewErrParamRequired("BackupPlanTemplateJson"))
6439	}
6440
6441	if invalidParams.Len() > 0 {
6442		return invalidParams
6443	}
6444	return nil
6445}
6446
6447// SetBackupPlanTemplateJson sets the BackupPlanTemplateJson field's value.
6448func (s *GetBackupPlanFromJSONInput) SetBackupPlanTemplateJson(v string) *GetBackupPlanFromJSONInput {
6449	s.BackupPlanTemplateJson = &v
6450	return s
6451}
6452
6453type GetBackupPlanFromJSONOutput struct {
6454	_ struct{} `type:"structure"`
6455
6456	// Specifies the body of a backup plan. Includes a BackupPlanName and one or
6457	// more sets of Rules.
6458	BackupPlan *Plan `type:"structure"`
6459}
6460
6461// String returns the string representation
6462func (s GetBackupPlanFromJSONOutput) String() string {
6463	return awsutil.Prettify(s)
6464}
6465
6466// GoString returns the string representation
6467func (s GetBackupPlanFromJSONOutput) GoString() string {
6468	return s.String()
6469}
6470
6471// SetBackupPlan sets the BackupPlan field's value.
6472func (s *GetBackupPlanFromJSONOutput) SetBackupPlan(v *Plan) *GetBackupPlanFromJSONOutput {
6473	s.BackupPlan = v
6474	return s
6475}
6476
6477type GetBackupPlanFromTemplateInput struct {
6478	_ struct{} `type:"structure"`
6479
6480	// Uniquely identifies a stored backup plan template.
6481	//
6482	// BackupPlanTemplateId is a required field
6483	BackupPlanTemplateId *string `location:"uri" locationName:"templateId" type:"string" required:"true"`
6484}
6485
6486// String returns the string representation
6487func (s GetBackupPlanFromTemplateInput) String() string {
6488	return awsutil.Prettify(s)
6489}
6490
6491// GoString returns the string representation
6492func (s GetBackupPlanFromTemplateInput) GoString() string {
6493	return s.String()
6494}
6495
6496// Validate inspects the fields of the type to determine if they are valid.
6497func (s *GetBackupPlanFromTemplateInput) Validate() error {
6498	invalidParams := request.ErrInvalidParams{Context: "GetBackupPlanFromTemplateInput"}
6499	if s.BackupPlanTemplateId == nil {
6500		invalidParams.Add(request.NewErrParamRequired("BackupPlanTemplateId"))
6501	}
6502	if s.BackupPlanTemplateId != nil && len(*s.BackupPlanTemplateId) < 1 {
6503		invalidParams.Add(request.NewErrParamMinLen("BackupPlanTemplateId", 1))
6504	}
6505
6506	if invalidParams.Len() > 0 {
6507		return invalidParams
6508	}
6509	return nil
6510}
6511
6512// SetBackupPlanTemplateId sets the BackupPlanTemplateId field's value.
6513func (s *GetBackupPlanFromTemplateInput) SetBackupPlanTemplateId(v string) *GetBackupPlanFromTemplateInput {
6514	s.BackupPlanTemplateId = &v
6515	return s
6516}
6517
6518type GetBackupPlanFromTemplateOutput struct {
6519	_ struct{} `type:"structure"`
6520
6521	// Returns the body of a backup plan based on the target template, including
6522	// the name, rules, and backup vault of the plan.
6523	BackupPlanDocument *Plan `type:"structure"`
6524}
6525
6526// String returns the string representation
6527func (s GetBackupPlanFromTemplateOutput) String() string {
6528	return awsutil.Prettify(s)
6529}
6530
6531// GoString returns the string representation
6532func (s GetBackupPlanFromTemplateOutput) GoString() string {
6533	return s.String()
6534}
6535
6536// SetBackupPlanDocument sets the BackupPlanDocument field's value.
6537func (s *GetBackupPlanFromTemplateOutput) SetBackupPlanDocument(v *Plan) *GetBackupPlanFromTemplateOutput {
6538	s.BackupPlanDocument = v
6539	return s
6540}
6541
6542type GetBackupPlanInput struct {
6543	_ struct{} `type:"structure"`
6544
6545	// Uniquely identifies a backup plan.
6546	//
6547	// BackupPlanId is a required field
6548	BackupPlanId *string `location:"uri" locationName:"backupPlanId" type:"string" required:"true"`
6549
6550	// Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most
6551	// 1,024 bytes long. Version IDs cannot be edited.
6552	VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
6553}
6554
6555// String returns the string representation
6556func (s GetBackupPlanInput) String() string {
6557	return awsutil.Prettify(s)
6558}
6559
6560// GoString returns the string representation
6561func (s GetBackupPlanInput) GoString() string {
6562	return s.String()
6563}
6564
6565// Validate inspects the fields of the type to determine if they are valid.
6566func (s *GetBackupPlanInput) Validate() error {
6567	invalidParams := request.ErrInvalidParams{Context: "GetBackupPlanInput"}
6568	if s.BackupPlanId == nil {
6569		invalidParams.Add(request.NewErrParamRequired("BackupPlanId"))
6570	}
6571	if s.BackupPlanId != nil && len(*s.BackupPlanId) < 1 {
6572		invalidParams.Add(request.NewErrParamMinLen("BackupPlanId", 1))
6573	}
6574
6575	if invalidParams.Len() > 0 {
6576		return invalidParams
6577	}
6578	return nil
6579}
6580
6581// SetBackupPlanId sets the BackupPlanId field's value.
6582func (s *GetBackupPlanInput) SetBackupPlanId(v string) *GetBackupPlanInput {
6583	s.BackupPlanId = &v
6584	return s
6585}
6586
6587// SetVersionId sets the VersionId field's value.
6588func (s *GetBackupPlanInput) SetVersionId(v string) *GetBackupPlanInput {
6589	s.VersionId = &v
6590	return s
6591}
6592
6593type GetBackupPlanOutput struct {
6594	_ struct{} `type:"structure"`
6595
6596	// Specifies the body of a backup plan. Includes a BackupPlanName and one or
6597	// more sets of Rules.
6598	BackupPlan *Plan `type:"structure"`
6599
6600	// An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for
6601	// example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.
6602	BackupPlanArn *string `type:"string"`
6603
6604	// Uniquely identifies a backup plan.
6605	BackupPlanId *string `type:"string"`
6606
6607	// The date and time that a backup plan is created, in Unix format and Coordinated
6608	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds.
6609	// For example, the value 1516925490.087 represents Friday, January 26, 2018
6610	// 12:11:30.087 AM.
6611	CreationDate *time.Time `type:"timestamp"`
6612
6613	// A unique string that identifies the request and allows failed requests to
6614	// be retried without the risk of executing the operation twice.
6615	CreatorRequestId *string `type:"string"`
6616
6617	// The date and time that a backup plan is deleted, in Unix format and Coordinated
6618	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds.
6619	// For example, the value 1516925490.087 represents Friday, January 26, 2018
6620	// 12:11:30.087 AM.
6621	DeletionDate *time.Time `type:"timestamp"`
6622
6623	// The last time a job to back up resources was executed with this backup plan.
6624	// A date and time, in Unix format and Coordinated Universal Time (UTC). The
6625	// value of LastExecutionDate is accurate to milliseconds. For example, the
6626	// value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
6627	LastExecutionDate *time.Time `type:"timestamp"`
6628
6629	// Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most
6630	// 1,024 bytes long. Version IDs cannot be edited.
6631	VersionId *string `type:"string"`
6632}
6633
6634// String returns the string representation
6635func (s GetBackupPlanOutput) String() string {
6636	return awsutil.Prettify(s)
6637}
6638
6639// GoString returns the string representation
6640func (s GetBackupPlanOutput) GoString() string {
6641	return s.String()
6642}
6643
6644// SetBackupPlan sets the BackupPlan field's value.
6645func (s *GetBackupPlanOutput) SetBackupPlan(v *Plan) *GetBackupPlanOutput {
6646	s.BackupPlan = v
6647	return s
6648}
6649
6650// SetBackupPlanArn sets the BackupPlanArn field's value.
6651func (s *GetBackupPlanOutput) SetBackupPlanArn(v string) *GetBackupPlanOutput {
6652	s.BackupPlanArn = &v
6653	return s
6654}
6655
6656// SetBackupPlanId sets the BackupPlanId field's value.
6657func (s *GetBackupPlanOutput) SetBackupPlanId(v string) *GetBackupPlanOutput {
6658	s.BackupPlanId = &v
6659	return s
6660}
6661
6662// SetCreationDate sets the CreationDate field's value.
6663func (s *GetBackupPlanOutput) SetCreationDate(v time.Time) *GetBackupPlanOutput {
6664	s.CreationDate = &v
6665	return s
6666}
6667
6668// SetCreatorRequestId sets the CreatorRequestId field's value.
6669func (s *GetBackupPlanOutput) SetCreatorRequestId(v string) *GetBackupPlanOutput {
6670	s.CreatorRequestId = &v
6671	return s
6672}
6673
6674// SetDeletionDate sets the DeletionDate field's value.
6675func (s *GetBackupPlanOutput) SetDeletionDate(v time.Time) *GetBackupPlanOutput {
6676	s.DeletionDate = &v
6677	return s
6678}
6679
6680// SetLastExecutionDate sets the LastExecutionDate field's value.
6681func (s *GetBackupPlanOutput) SetLastExecutionDate(v time.Time) *GetBackupPlanOutput {
6682	s.LastExecutionDate = &v
6683	return s
6684}
6685
6686// SetVersionId sets the VersionId field's value.
6687func (s *GetBackupPlanOutput) SetVersionId(v string) *GetBackupPlanOutput {
6688	s.VersionId = &v
6689	return s
6690}
6691
6692type GetBackupSelectionInput struct {
6693	_ struct{} `type:"structure"`
6694
6695	// Uniquely identifies a backup plan.
6696	//
6697	// BackupPlanId is a required field
6698	BackupPlanId *string `location:"uri" locationName:"backupPlanId" type:"string" required:"true"`
6699
6700	// Uniquely identifies the body of a request to assign a set of resources to
6701	// a backup plan.
6702	//
6703	// SelectionId is a required field
6704	SelectionId *string `location:"uri" locationName:"selectionId" type:"string" required:"true"`
6705}
6706
6707// String returns the string representation
6708func (s GetBackupSelectionInput) String() string {
6709	return awsutil.Prettify(s)
6710}
6711
6712// GoString returns the string representation
6713func (s GetBackupSelectionInput) GoString() string {
6714	return s.String()
6715}
6716
6717// Validate inspects the fields of the type to determine if they are valid.
6718func (s *GetBackupSelectionInput) Validate() error {
6719	invalidParams := request.ErrInvalidParams{Context: "GetBackupSelectionInput"}
6720	if s.BackupPlanId == nil {
6721		invalidParams.Add(request.NewErrParamRequired("BackupPlanId"))
6722	}
6723	if s.BackupPlanId != nil && len(*s.BackupPlanId) < 1 {
6724		invalidParams.Add(request.NewErrParamMinLen("BackupPlanId", 1))
6725	}
6726	if s.SelectionId == nil {
6727		invalidParams.Add(request.NewErrParamRequired("SelectionId"))
6728	}
6729	if s.SelectionId != nil && len(*s.SelectionId) < 1 {
6730		invalidParams.Add(request.NewErrParamMinLen("SelectionId", 1))
6731	}
6732
6733	if invalidParams.Len() > 0 {
6734		return invalidParams
6735	}
6736	return nil
6737}
6738
6739// SetBackupPlanId sets the BackupPlanId field's value.
6740func (s *GetBackupSelectionInput) SetBackupPlanId(v string) *GetBackupSelectionInput {
6741	s.BackupPlanId = &v
6742	return s
6743}
6744
6745// SetSelectionId sets the SelectionId field's value.
6746func (s *GetBackupSelectionInput) SetSelectionId(v string) *GetBackupSelectionInput {
6747	s.SelectionId = &v
6748	return s
6749}
6750
6751type GetBackupSelectionOutput struct {
6752	_ struct{} `type:"structure"`
6753
6754	// Uniquely identifies a backup plan.
6755	BackupPlanId *string `type:"string"`
6756
6757	// Specifies the body of a request to assign a set of resources to a backup
6758	// plan.
6759	//
6760	// It includes an array of resources, an optional array of patterns to exclude
6761	// resources, an optional role to provide access to the AWS service that the
6762	// resource belongs to, and an optional array of tags used to identify a set
6763	// of resources.
6764	BackupSelection *Selection `type:"structure"`
6765
6766	// The date and time a backup selection is created, in Unix format and Coordinated
6767	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds.
6768	// For example, the value 1516925490.087 represents Friday, January 26, 2018
6769	// 12:11:30.087 AM.
6770	CreationDate *time.Time `type:"timestamp"`
6771
6772	// A unique string that identifies the request and allows failed requests to
6773	// be retried without the risk of executing the operation twice.
6774	CreatorRequestId *string `type:"string"`
6775
6776	// Uniquely identifies the body of a request to assign a set of resources to
6777	// a backup plan.
6778	SelectionId *string `type:"string"`
6779}
6780
6781// String returns the string representation
6782func (s GetBackupSelectionOutput) String() string {
6783	return awsutil.Prettify(s)
6784}
6785
6786// GoString returns the string representation
6787func (s GetBackupSelectionOutput) GoString() string {
6788	return s.String()
6789}
6790
6791// SetBackupPlanId sets the BackupPlanId field's value.
6792func (s *GetBackupSelectionOutput) SetBackupPlanId(v string) *GetBackupSelectionOutput {
6793	s.BackupPlanId = &v
6794	return s
6795}
6796
6797// SetBackupSelection sets the BackupSelection field's value.
6798func (s *GetBackupSelectionOutput) SetBackupSelection(v *Selection) *GetBackupSelectionOutput {
6799	s.BackupSelection = v
6800	return s
6801}
6802
6803// SetCreationDate sets the CreationDate field's value.
6804func (s *GetBackupSelectionOutput) SetCreationDate(v time.Time) *GetBackupSelectionOutput {
6805	s.CreationDate = &v
6806	return s
6807}
6808
6809// SetCreatorRequestId sets the CreatorRequestId field's value.
6810func (s *GetBackupSelectionOutput) SetCreatorRequestId(v string) *GetBackupSelectionOutput {
6811	s.CreatorRequestId = &v
6812	return s
6813}
6814
6815// SetSelectionId sets the SelectionId field's value.
6816func (s *GetBackupSelectionOutput) SetSelectionId(v string) *GetBackupSelectionOutput {
6817	s.SelectionId = &v
6818	return s
6819}
6820
6821type GetBackupVaultAccessPolicyInput struct {
6822	_ struct{} `type:"structure"`
6823
6824	// The name of a logical container where backups are stored. Backup vaults are
6825	// identified by names that are unique to the account used to create them and
6826	// the AWS Region where they are created. They consist of lowercase letters,
6827	// numbers, and hyphens.
6828	//
6829	// BackupVaultName is a required field
6830	BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"`
6831}
6832
6833// String returns the string representation
6834func (s GetBackupVaultAccessPolicyInput) String() string {
6835	return awsutil.Prettify(s)
6836}
6837
6838// GoString returns the string representation
6839func (s GetBackupVaultAccessPolicyInput) GoString() string {
6840	return s.String()
6841}
6842
6843// Validate inspects the fields of the type to determine if they are valid.
6844func (s *GetBackupVaultAccessPolicyInput) Validate() error {
6845	invalidParams := request.ErrInvalidParams{Context: "GetBackupVaultAccessPolicyInput"}
6846	if s.BackupVaultName == nil {
6847		invalidParams.Add(request.NewErrParamRequired("BackupVaultName"))
6848	}
6849	if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 {
6850		invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1))
6851	}
6852
6853	if invalidParams.Len() > 0 {
6854		return invalidParams
6855	}
6856	return nil
6857}
6858
6859// SetBackupVaultName sets the BackupVaultName field's value.
6860func (s *GetBackupVaultAccessPolicyInput) SetBackupVaultName(v string) *GetBackupVaultAccessPolicyInput {
6861	s.BackupVaultName = &v
6862	return s
6863}
6864
6865type GetBackupVaultAccessPolicyOutput struct {
6866	_ struct{} `type:"structure"`
6867
6868	// An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
6869	// example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
6870	BackupVaultArn *string `type:"string"`
6871
6872	// The name of a logical container where backups are stored. Backup vaults are
6873	// identified by names that are unique to the account used to create them and
6874	// the Region where they are created. They consist of lowercase letters, numbers,
6875	// and hyphens.
6876	BackupVaultName *string `type:"string"`
6877
6878	// The backup vault access policy document in JSON format.
6879	Policy *string `type:"string"`
6880}
6881
6882// String returns the string representation
6883func (s GetBackupVaultAccessPolicyOutput) String() string {
6884	return awsutil.Prettify(s)
6885}
6886
6887// GoString returns the string representation
6888func (s GetBackupVaultAccessPolicyOutput) GoString() string {
6889	return s.String()
6890}
6891
6892// SetBackupVaultArn sets the BackupVaultArn field's value.
6893func (s *GetBackupVaultAccessPolicyOutput) SetBackupVaultArn(v string) *GetBackupVaultAccessPolicyOutput {
6894	s.BackupVaultArn = &v
6895	return s
6896}
6897
6898// SetBackupVaultName sets the BackupVaultName field's value.
6899func (s *GetBackupVaultAccessPolicyOutput) SetBackupVaultName(v string) *GetBackupVaultAccessPolicyOutput {
6900	s.BackupVaultName = &v
6901	return s
6902}
6903
6904// SetPolicy sets the Policy field's value.
6905func (s *GetBackupVaultAccessPolicyOutput) SetPolicy(v string) *GetBackupVaultAccessPolicyOutput {
6906	s.Policy = &v
6907	return s
6908}
6909
6910type GetBackupVaultNotificationsInput struct {
6911	_ struct{} `type:"structure"`
6912
6913	// The name of a logical container where backups are stored. Backup vaults are
6914	// identified by names that are unique to the account used to create them and
6915	// the AWS Region where they are created. They consist of lowercase letters,
6916	// numbers, and hyphens.
6917	//
6918	// BackupVaultName is a required field
6919	BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"`
6920}
6921
6922// String returns the string representation
6923func (s GetBackupVaultNotificationsInput) String() string {
6924	return awsutil.Prettify(s)
6925}
6926
6927// GoString returns the string representation
6928func (s GetBackupVaultNotificationsInput) GoString() string {
6929	return s.String()
6930}
6931
6932// Validate inspects the fields of the type to determine if they are valid.
6933func (s *GetBackupVaultNotificationsInput) Validate() error {
6934	invalidParams := request.ErrInvalidParams{Context: "GetBackupVaultNotificationsInput"}
6935	if s.BackupVaultName == nil {
6936		invalidParams.Add(request.NewErrParamRequired("BackupVaultName"))
6937	}
6938	if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 {
6939		invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1))
6940	}
6941
6942	if invalidParams.Len() > 0 {
6943		return invalidParams
6944	}
6945	return nil
6946}
6947
6948// SetBackupVaultName sets the BackupVaultName field's value.
6949func (s *GetBackupVaultNotificationsInput) SetBackupVaultName(v string) *GetBackupVaultNotificationsInput {
6950	s.BackupVaultName = &v
6951	return s
6952}
6953
6954type GetBackupVaultNotificationsOutput struct {
6955	_ struct{} `type:"structure"`
6956
6957	// An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
6958	// example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
6959	BackupVaultArn *string `type:"string"`
6960
6961	// An array of events that indicate the status of jobs to back up resources
6962	// to the backup vault.
6963	BackupVaultEvents []*string `type:"list"`
6964
6965	// The name of a logical container where backups are stored. Backup vaults are
6966	// identified by names that are unique to the account used to create them and
6967	// the Region where they are created. They consist of lowercase letters, numbers,
6968	// and hyphens.
6969	BackupVaultName *string `type:"string"`
6970
6971	// An ARN that uniquely identifies an Amazon Simple Notification Service (Amazon
6972	// SNS) topic; for example, arn:aws:sns:us-west-2:111122223333:MyTopic.
6973	SNSTopicArn *string `type:"string"`
6974}
6975
6976// String returns the string representation
6977func (s GetBackupVaultNotificationsOutput) String() string {
6978	return awsutil.Prettify(s)
6979}
6980
6981// GoString returns the string representation
6982func (s GetBackupVaultNotificationsOutput) GoString() string {
6983	return s.String()
6984}
6985
6986// SetBackupVaultArn sets the BackupVaultArn field's value.
6987func (s *GetBackupVaultNotificationsOutput) SetBackupVaultArn(v string) *GetBackupVaultNotificationsOutput {
6988	s.BackupVaultArn = &v
6989	return s
6990}
6991
6992// SetBackupVaultEvents sets the BackupVaultEvents field's value.
6993func (s *GetBackupVaultNotificationsOutput) SetBackupVaultEvents(v []*string) *GetBackupVaultNotificationsOutput {
6994	s.BackupVaultEvents = v
6995	return s
6996}
6997
6998// SetBackupVaultName sets the BackupVaultName field's value.
6999func (s *GetBackupVaultNotificationsOutput) SetBackupVaultName(v string) *GetBackupVaultNotificationsOutput {
7000	s.BackupVaultName = &v
7001	return s
7002}
7003
7004// SetSNSTopicArn sets the SNSTopicArn field's value.
7005func (s *GetBackupVaultNotificationsOutput) SetSNSTopicArn(v string) *GetBackupVaultNotificationsOutput {
7006	s.SNSTopicArn = &v
7007	return s
7008}
7009
7010type GetRecoveryPointRestoreMetadataInput struct {
7011	_ struct{} `type:"structure"`
7012
7013	// The name of a logical container where backups are stored. Backup vaults are
7014	// identified by names that are unique to the account used to create them and
7015	// the AWS Region where they are created. They consist of lowercase letters,
7016	// numbers, and hyphens.
7017	//
7018	// BackupVaultName is a required field
7019	BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"`
7020
7021	// An Amazon Resource Name (ARN) that uniquely identifies a recovery point;
7022	// for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
7023	//
7024	// RecoveryPointArn is a required field
7025	RecoveryPointArn *string `location:"uri" locationName:"recoveryPointArn" type:"string" required:"true"`
7026}
7027
7028// String returns the string representation
7029func (s GetRecoveryPointRestoreMetadataInput) String() string {
7030	return awsutil.Prettify(s)
7031}
7032
7033// GoString returns the string representation
7034func (s GetRecoveryPointRestoreMetadataInput) GoString() string {
7035	return s.String()
7036}
7037
7038// Validate inspects the fields of the type to determine if they are valid.
7039func (s *GetRecoveryPointRestoreMetadataInput) Validate() error {
7040	invalidParams := request.ErrInvalidParams{Context: "GetRecoveryPointRestoreMetadataInput"}
7041	if s.BackupVaultName == nil {
7042		invalidParams.Add(request.NewErrParamRequired("BackupVaultName"))
7043	}
7044	if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 {
7045		invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1))
7046	}
7047	if s.RecoveryPointArn == nil {
7048		invalidParams.Add(request.NewErrParamRequired("RecoveryPointArn"))
7049	}
7050	if s.RecoveryPointArn != nil && len(*s.RecoveryPointArn) < 1 {
7051		invalidParams.Add(request.NewErrParamMinLen("RecoveryPointArn", 1))
7052	}
7053
7054	if invalidParams.Len() > 0 {
7055		return invalidParams
7056	}
7057	return nil
7058}
7059
7060// SetBackupVaultName sets the BackupVaultName field's value.
7061func (s *GetRecoveryPointRestoreMetadataInput) SetBackupVaultName(v string) *GetRecoveryPointRestoreMetadataInput {
7062	s.BackupVaultName = &v
7063	return s
7064}
7065
7066// SetRecoveryPointArn sets the RecoveryPointArn field's value.
7067func (s *GetRecoveryPointRestoreMetadataInput) SetRecoveryPointArn(v string) *GetRecoveryPointRestoreMetadataInput {
7068	s.RecoveryPointArn = &v
7069	return s
7070}
7071
7072type GetRecoveryPointRestoreMetadataOutput struct {
7073	_ struct{} `type:"structure"`
7074
7075	// An ARN that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
7076	BackupVaultArn *string `type:"string"`
7077
7078	// An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
7079	RecoveryPointArn *string `type:"string"`
7080
7081	// A set of metadata key-value pairs that lists the metadata key-value pairs
7082	// that are required to restore the recovery point.
7083	RestoreMetadata map[string]*string `type:"map"`
7084}
7085
7086// String returns the string representation
7087func (s GetRecoveryPointRestoreMetadataOutput) String() string {
7088	return awsutil.Prettify(s)
7089}
7090
7091// GoString returns the string representation
7092func (s GetRecoveryPointRestoreMetadataOutput) GoString() string {
7093	return s.String()
7094}
7095
7096// SetBackupVaultArn sets the BackupVaultArn field's value.
7097func (s *GetRecoveryPointRestoreMetadataOutput) SetBackupVaultArn(v string) *GetRecoveryPointRestoreMetadataOutput {
7098	s.BackupVaultArn = &v
7099	return s
7100}
7101
7102// SetRecoveryPointArn sets the RecoveryPointArn field's value.
7103func (s *GetRecoveryPointRestoreMetadataOutput) SetRecoveryPointArn(v string) *GetRecoveryPointRestoreMetadataOutput {
7104	s.RecoveryPointArn = &v
7105	return s
7106}
7107
7108// SetRestoreMetadata sets the RestoreMetadata field's value.
7109func (s *GetRecoveryPointRestoreMetadataOutput) SetRestoreMetadata(v map[string]*string) *GetRecoveryPointRestoreMetadataOutput {
7110	s.RestoreMetadata = v
7111	return s
7112}
7113
7114type GetSupportedResourceTypesInput struct {
7115	_ struct{} `type:"structure"`
7116}
7117
7118// String returns the string representation
7119func (s GetSupportedResourceTypesInput) String() string {
7120	return awsutil.Prettify(s)
7121}
7122
7123// GoString returns the string representation
7124func (s GetSupportedResourceTypesInput) GoString() string {
7125	return s.String()
7126}
7127
7128type GetSupportedResourceTypesOutput struct {
7129	_ struct{} `type:"structure"`
7130
7131	// Contains a string with the supported AWS resource types:
7132	//
7133	//    * EBS for Amazon Elastic Block Store
7134	//
7135	//    * SGW for AWS Storage Gateway
7136	//
7137	//    * RDS for Amazon Relational Database Service
7138	//
7139	//    * DDB for Amazon DynamoDB
7140	//
7141	//    * EFS for Amazon Elastic File System
7142	ResourceTypes []*string `type:"list"`
7143}
7144
7145// String returns the string representation
7146func (s GetSupportedResourceTypesOutput) String() string {
7147	return awsutil.Prettify(s)
7148}
7149
7150// GoString returns the string representation
7151func (s GetSupportedResourceTypesOutput) GoString() string {
7152	return s.String()
7153}
7154
7155// SetResourceTypes sets the ResourceTypes field's value.
7156func (s *GetSupportedResourceTypesOutput) SetResourceTypes(v []*string) *GetSupportedResourceTypesOutput {
7157	s.ResourceTypes = v
7158	return s
7159}
7160
7161// Contains detailed information about a backup job.
7162type Job struct {
7163	_ struct{} `type:"structure"`
7164
7165	// Uniquely identifies a request to AWS Backup to back up a resource.
7166	BackupJobId *string `type:"string"`
7167
7168	// The size, in bytes, of a backup.
7169	BackupSizeInBytes *int64 `type:"long"`
7170
7171	// An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
7172	// example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
7173	BackupVaultArn *string `type:"string"`
7174
7175	// The name of a logical container where backups are stored. Backup vaults are
7176	// identified by names that are unique to the account used to create them and
7177	// the AWS Region where they are created. They consist of lowercase letters,
7178	// numbers, and hyphens.
7179	BackupVaultName *string `type:"string"`
7180
7181	// The size in bytes transferred to a backup vault at the time that the job
7182	// status was queried.
7183	BytesTransferred *int64 `type:"long"`
7184
7185	// The date and time a job to create a backup job is completed, in Unix format
7186	// and Coordinated Universal Time (UTC). The value of CompletionDate is accurate
7187	// to milliseconds. For example, the value 1516925490.087 represents Friday,
7188	// January 26, 2018 12:11:30.087 AM.
7189	CompletionDate *time.Time `type:"timestamp"`
7190
7191	// Contains identifying information about the creation of a backup job, including
7192	// the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the
7193	// backup plan used to create it.
7194	CreatedBy *RecoveryPointCreator `type:"structure"`
7195
7196	// The date and time a backup job is created, in Unix format and Coordinated
7197	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds.
7198	// For example, the value 1516925490.087 represents Friday, January 26, 2018
7199	// 12:11:30.087 AM.
7200	CreationDate *time.Time `type:"timestamp"`
7201
7202	// The date and time a job to back up resources is expected to be completed,
7203	// in Unix format and Coordinated Universal Time (UTC). The value of ExpectedCompletionDate
7204	// is accurate to milliseconds. For example, the value 1516925490.087 represents
7205	// Friday, January 26, 2018 12:11:30.087 AM.
7206	ExpectedCompletionDate *time.Time `type:"timestamp"`
7207
7208	// Specifies the IAM role ARN used to create the target recovery point; for
7209	// example, arn:aws:iam::123456789012:role/S3Access.
7210	IamRoleArn *string `type:"string"`
7211
7212	// Contains an estimated percentage complete of a job at the time the job status
7213	// was queried.
7214	PercentDone *string `type:"string"`
7215
7216	// An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
7217	RecoveryPointArn *string `type:"string"`
7218
7219	// An ARN that uniquely identifies a resource. The format of the ARN depends
7220	// on the resource type.
7221	ResourceArn *string `type:"string"`
7222
7223	// The type of AWS resource to be backed-up; for example, an Amazon Elastic
7224	// Block Store (Amazon EBS) volume or an Amazon Relational Database Service
7225	// (Amazon RDS) database.
7226	ResourceType *string `type:"string"`
7227
7228	// Specifies the time in Unix format and Coordinated Universal Time (UTC) when
7229	// a backup job must be started before it is canceled. The value is calculated
7230	// by adding the start window to the scheduled time. So if the scheduled time
7231	// were 6:00 PM and the start window is 2 hours, the StartBy time would be 8:00
7232	// PM on the date specified. The value of StartBy is accurate to milliseconds.
7233	// For example, the value 1516925490.087 represents Friday, January 26, 2018
7234	// 12:11:30.087 AM.
7235	StartBy *time.Time `type:"timestamp"`
7236
7237	// The current state of a resource recovery point.
7238	State *string `type:"string" enum:"JobState"`
7239
7240	// A detailed message explaining the status of the job to back up a resource.
7241	StatusMessage *string `type:"string"`
7242}
7243
7244// String returns the string representation
7245func (s Job) String() string {
7246	return awsutil.Prettify(s)
7247}
7248
7249// GoString returns the string representation
7250func (s Job) GoString() string {
7251	return s.String()
7252}
7253
7254// SetBackupJobId sets the BackupJobId field's value.
7255func (s *Job) SetBackupJobId(v string) *Job {
7256	s.BackupJobId = &v
7257	return s
7258}
7259
7260// SetBackupSizeInBytes sets the BackupSizeInBytes field's value.
7261func (s *Job) SetBackupSizeInBytes(v int64) *Job {
7262	s.BackupSizeInBytes = &v
7263	return s
7264}
7265
7266// SetBackupVaultArn sets the BackupVaultArn field's value.
7267func (s *Job) SetBackupVaultArn(v string) *Job {
7268	s.BackupVaultArn = &v
7269	return s
7270}
7271
7272// SetBackupVaultName sets the BackupVaultName field's value.
7273func (s *Job) SetBackupVaultName(v string) *Job {
7274	s.BackupVaultName = &v
7275	return s
7276}
7277
7278// SetBytesTransferred sets the BytesTransferred field's value.
7279func (s *Job) SetBytesTransferred(v int64) *Job {
7280	s.BytesTransferred = &v
7281	return s
7282}
7283
7284// SetCompletionDate sets the CompletionDate field's value.
7285func (s *Job) SetCompletionDate(v time.Time) *Job {
7286	s.CompletionDate = &v
7287	return s
7288}
7289
7290// SetCreatedBy sets the CreatedBy field's value.
7291func (s *Job) SetCreatedBy(v *RecoveryPointCreator) *Job {
7292	s.CreatedBy = v
7293	return s
7294}
7295
7296// SetCreationDate sets the CreationDate field's value.
7297func (s *Job) SetCreationDate(v time.Time) *Job {
7298	s.CreationDate = &v
7299	return s
7300}
7301
7302// SetExpectedCompletionDate sets the ExpectedCompletionDate field's value.
7303func (s *Job) SetExpectedCompletionDate(v time.Time) *Job {
7304	s.ExpectedCompletionDate = &v
7305	return s
7306}
7307
7308// SetIamRoleArn sets the IamRoleArn field's value.
7309func (s *Job) SetIamRoleArn(v string) *Job {
7310	s.IamRoleArn = &v
7311	return s
7312}
7313
7314// SetPercentDone sets the PercentDone field's value.
7315func (s *Job) SetPercentDone(v string) *Job {
7316	s.PercentDone = &v
7317	return s
7318}
7319
7320// SetRecoveryPointArn sets the RecoveryPointArn field's value.
7321func (s *Job) SetRecoveryPointArn(v string) *Job {
7322	s.RecoveryPointArn = &v
7323	return s
7324}
7325
7326// SetResourceArn sets the ResourceArn field's value.
7327func (s *Job) SetResourceArn(v string) *Job {
7328	s.ResourceArn = &v
7329	return s
7330}
7331
7332// SetResourceType sets the ResourceType field's value.
7333func (s *Job) SetResourceType(v string) *Job {
7334	s.ResourceType = &v
7335	return s
7336}
7337
7338// SetStartBy sets the StartBy field's value.
7339func (s *Job) SetStartBy(v time.Time) *Job {
7340	s.StartBy = &v
7341	return s
7342}
7343
7344// SetState sets the State field's value.
7345func (s *Job) SetState(v string) *Job {
7346	s.State = &v
7347	return s
7348}
7349
7350// SetStatusMessage sets the StatusMessage field's value.
7351func (s *Job) SetStatusMessage(v string) *Job {
7352	s.StatusMessage = &v
7353	return s
7354}
7355
7356// Contains an array of Transition objects specifying how long in days before
7357// a recovery point transitions to cold storage or is deleted.
7358type Lifecycle struct {
7359	_ struct{} `type:"structure"`
7360
7361	// Specifies the number of days after creation that a recovery point is deleted.
7362	// Must be greater than MoveToColdStorageAfterDays.
7363	DeleteAfterDays *int64 `type:"long"`
7364
7365	// Specifies the number of days after creation that a recovery point is moved
7366	// to cold storage.
7367	MoveToColdStorageAfterDays *int64 `type:"long"`
7368}
7369
7370// String returns the string representation
7371func (s Lifecycle) String() string {
7372	return awsutil.Prettify(s)
7373}
7374
7375// GoString returns the string representation
7376func (s Lifecycle) GoString() string {
7377	return s.String()
7378}
7379
7380// SetDeleteAfterDays sets the DeleteAfterDays field's value.
7381func (s *Lifecycle) SetDeleteAfterDays(v int64) *Lifecycle {
7382	s.DeleteAfterDays = &v
7383	return s
7384}
7385
7386// SetMoveToColdStorageAfterDays sets the MoveToColdStorageAfterDays field's value.
7387func (s *Lifecycle) SetMoveToColdStorageAfterDays(v int64) *Lifecycle {
7388	s.MoveToColdStorageAfterDays = &v
7389	return s
7390}
7391
7392type ListBackupJobsInput struct {
7393	_ struct{} `type:"structure"`
7394
7395	// Returns only backup jobs that will be stored in the specified backup vault.
7396	// Backup vaults are identified by names that are unique to the account used
7397	// to create them and the AWS Region where they are created. They consist of
7398	// lowercase letters, numbers, and hyphens.
7399	ByBackupVaultName *string `location:"querystring" locationName:"backupVaultName" type:"string"`
7400
7401	// Returns only backup jobs that were created after the specified date.
7402	ByCreatedAfter *time.Time `location:"querystring" locationName:"createdAfter" type:"timestamp"`
7403
7404	// Returns only backup jobs that were created before the specified date.
7405	ByCreatedBefore *time.Time `location:"querystring" locationName:"createdBefore" type:"timestamp"`
7406
7407	// Returns only backup jobs that match the specified resource Amazon Resource
7408	// Name (ARN).
7409	ByResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string"`
7410
7411	// Returns only backup jobs for the specified resources:
7412	//
7413	//    * EBS for Amazon Elastic Block Store
7414	//
7415	//    * SGW for AWS Storage Gateway
7416	//
7417	//    * RDS for Amazon Relational Database Service
7418	//
7419	//    * DDB for Amazon DynamoDB
7420	//
7421	//    * EFS for Amazon Elastic File System
7422	ByResourceType *string `location:"querystring" locationName:"resourceType" type:"string"`
7423
7424	// Returns only backup jobs that are in the specified state.
7425	ByState *string `location:"querystring" locationName:"state" type:"string" enum:"JobState"`
7426
7427	// The maximum number of items to be returned.
7428	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
7429
7430	// The next item following a partial list of returned items. For example, if
7431	// a request is made to return maxResults number of items, NextToken allows
7432	// you to return more items in your list starting at the location pointed to
7433	// by the next token.
7434	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7435}
7436
7437// String returns the string representation
7438func (s ListBackupJobsInput) String() string {
7439	return awsutil.Prettify(s)
7440}
7441
7442// GoString returns the string representation
7443func (s ListBackupJobsInput) GoString() string {
7444	return s.String()
7445}
7446
7447// Validate inspects the fields of the type to determine if they are valid.
7448func (s *ListBackupJobsInput) Validate() error {
7449	invalidParams := request.ErrInvalidParams{Context: "ListBackupJobsInput"}
7450	if s.MaxResults != nil && *s.MaxResults < 1 {
7451		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7452	}
7453
7454	if invalidParams.Len() > 0 {
7455		return invalidParams
7456	}
7457	return nil
7458}
7459
7460// SetByBackupVaultName sets the ByBackupVaultName field's value.
7461func (s *ListBackupJobsInput) SetByBackupVaultName(v string) *ListBackupJobsInput {
7462	s.ByBackupVaultName = &v
7463	return s
7464}
7465
7466// SetByCreatedAfter sets the ByCreatedAfter field's value.
7467func (s *ListBackupJobsInput) SetByCreatedAfter(v time.Time) *ListBackupJobsInput {
7468	s.ByCreatedAfter = &v
7469	return s
7470}
7471
7472// SetByCreatedBefore sets the ByCreatedBefore field's value.
7473func (s *ListBackupJobsInput) SetByCreatedBefore(v time.Time) *ListBackupJobsInput {
7474	s.ByCreatedBefore = &v
7475	return s
7476}
7477
7478// SetByResourceArn sets the ByResourceArn field's value.
7479func (s *ListBackupJobsInput) SetByResourceArn(v string) *ListBackupJobsInput {
7480	s.ByResourceArn = &v
7481	return s
7482}
7483
7484// SetByResourceType sets the ByResourceType field's value.
7485func (s *ListBackupJobsInput) SetByResourceType(v string) *ListBackupJobsInput {
7486	s.ByResourceType = &v
7487	return s
7488}
7489
7490// SetByState sets the ByState field's value.
7491func (s *ListBackupJobsInput) SetByState(v string) *ListBackupJobsInput {
7492	s.ByState = &v
7493	return s
7494}
7495
7496// SetMaxResults sets the MaxResults field's value.
7497func (s *ListBackupJobsInput) SetMaxResults(v int64) *ListBackupJobsInput {
7498	s.MaxResults = &v
7499	return s
7500}
7501
7502// SetNextToken sets the NextToken field's value.
7503func (s *ListBackupJobsInput) SetNextToken(v string) *ListBackupJobsInput {
7504	s.NextToken = &v
7505	return s
7506}
7507
7508type ListBackupJobsOutput struct {
7509	_ struct{} `type:"structure"`
7510
7511	// An array of structures containing metadata about your backup jobs returned
7512	// in JSON format.
7513	BackupJobs []*Job `type:"list"`
7514
7515	// The next item following a partial list of returned items. For example, if
7516	// a request is made to return maxResults number of items, NextToken allows
7517	// you to return more items in your list starting at the location pointed to
7518	// by the next token.
7519	NextToken *string `type:"string"`
7520}
7521
7522// String returns the string representation
7523func (s ListBackupJobsOutput) String() string {
7524	return awsutil.Prettify(s)
7525}
7526
7527// GoString returns the string representation
7528func (s ListBackupJobsOutput) GoString() string {
7529	return s.String()
7530}
7531
7532// SetBackupJobs sets the BackupJobs field's value.
7533func (s *ListBackupJobsOutput) SetBackupJobs(v []*Job) *ListBackupJobsOutput {
7534	s.BackupJobs = v
7535	return s
7536}
7537
7538// SetNextToken sets the NextToken field's value.
7539func (s *ListBackupJobsOutput) SetNextToken(v string) *ListBackupJobsOutput {
7540	s.NextToken = &v
7541	return s
7542}
7543
7544type ListBackupPlanTemplatesInput struct {
7545	_ struct{} `type:"structure"`
7546
7547	// The maximum number of items to be returned.
7548	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
7549
7550	// The next item following a partial list of returned items. For example, if
7551	// a request is made to return maxResults number of items, NextToken allows
7552	// you to return more items in your list starting at the location pointed to
7553	// by the next token.
7554	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7555}
7556
7557// String returns the string representation
7558func (s ListBackupPlanTemplatesInput) String() string {
7559	return awsutil.Prettify(s)
7560}
7561
7562// GoString returns the string representation
7563func (s ListBackupPlanTemplatesInput) GoString() string {
7564	return s.String()
7565}
7566
7567// Validate inspects the fields of the type to determine if they are valid.
7568func (s *ListBackupPlanTemplatesInput) Validate() error {
7569	invalidParams := request.ErrInvalidParams{Context: "ListBackupPlanTemplatesInput"}
7570	if s.MaxResults != nil && *s.MaxResults < 1 {
7571		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7572	}
7573
7574	if invalidParams.Len() > 0 {
7575		return invalidParams
7576	}
7577	return nil
7578}
7579
7580// SetMaxResults sets the MaxResults field's value.
7581func (s *ListBackupPlanTemplatesInput) SetMaxResults(v int64) *ListBackupPlanTemplatesInput {
7582	s.MaxResults = &v
7583	return s
7584}
7585
7586// SetNextToken sets the NextToken field's value.
7587func (s *ListBackupPlanTemplatesInput) SetNextToken(v string) *ListBackupPlanTemplatesInput {
7588	s.NextToken = &v
7589	return s
7590}
7591
7592type ListBackupPlanTemplatesOutput struct {
7593	_ struct{} `type:"structure"`
7594
7595	// An array of template list items containing metadata about your saved templates.
7596	BackupPlanTemplatesList []*PlanTemplatesListMember `type:"list"`
7597
7598	// The next item following a partial list of returned items. For example, if
7599	// a request is made to return maxResults number of items, NextToken allows
7600	// you to return more items in your list starting at the location pointed to
7601	// by the next token.
7602	NextToken *string `type:"string"`
7603}
7604
7605// String returns the string representation
7606func (s ListBackupPlanTemplatesOutput) String() string {
7607	return awsutil.Prettify(s)
7608}
7609
7610// GoString returns the string representation
7611func (s ListBackupPlanTemplatesOutput) GoString() string {
7612	return s.String()
7613}
7614
7615// SetBackupPlanTemplatesList sets the BackupPlanTemplatesList field's value.
7616func (s *ListBackupPlanTemplatesOutput) SetBackupPlanTemplatesList(v []*PlanTemplatesListMember) *ListBackupPlanTemplatesOutput {
7617	s.BackupPlanTemplatesList = v
7618	return s
7619}
7620
7621// SetNextToken sets the NextToken field's value.
7622func (s *ListBackupPlanTemplatesOutput) SetNextToken(v string) *ListBackupPlanTemplatesOutput {
7623	s.NextToken = &v
7624	return s
7625}
7626
7627type ListBackupPlanVersionsInput struct {
7628	_ struct{} `type:"structure"`
7629
7630	// Uniquely identifies a backup plan.
7631	//
7632	// BackupPlanId is a required field
7633	BackupPlanId *string `location:"uri" locationName:"backupPlanId" type:"string" required:"true"`
7634
7635	// The maximum number of items to be returned.
7636	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
7637
7638	// The next item following a partial list of returned items. For example, if
7639	// a request is made to return maxResults number of items, NextToken allows
7640	// you to return more items in your list starting at the location pointed to
7641	// by the next token.
7642	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7643}
7644
7645// String returns the string representation
7646func (s ListBackupPlanVersionsInput) String() string {
7647	return awsutil.Prettify(s)
7648}
7649
7650// GoString returns the string representation
7651func (s ListBackupPlanVersionsInput) GoString() string {
7652	return s.String()
7653}
7654
7655// Validate inspects the fields of the type to determine if they are valid.
7656func (s *ListBackupPlanVersionsInput) Validate() error {
7657	invalidParams := request.ErrInvalidParams{Context: "ListBackupPlanVersionsInput"}
7658	if s.BackupPlanId == nil {
7659		invalidParams.Add(request.NewErrParamRequired("BackupPlanId"))
7660	}
7661	if s.BackupPlanId != nil && len(*s.BackupPlanId) < 1 {
7662		invalidParams.Add(request.NewErrParamMinLen("BackupPlanId", 1))
7663	}
7664	if s.MaxResults != nil && *s.MaxResults < 1 {
7665		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7666	}
7667
7668	if invalidParams.Len() > 0 {
7669		return invalidParams
7670	}
7671	return nil
7672}
7673
7674// SetBackupPlanId sets the BackupPlanId field's value.
7675func (s *ListBackupPlanVersionsInput) SetBackupPlanId(v string) *ListBackupPlanVersionsInput {
7676	s.BackupPlanId = &v
7677	return s
7678}
7679
7680// SetMaxResults sets the MaxResults field's value.
7681func (s *ListBackupPlanVersionsInput) SetMaxResults(v int64) *ListBackupPlanVersionsInput {
7682	s.MaxResults = &v
7683	return s
7684}
7685
7686// SetNextToken sets the NextToken field's value.
7687func (s *ListBackupPlanVersionsInput) SetNextToken(v string) *ListBackupPlanVersionsInput {
7688	s.NextToken = &v
7689	return s
7690}
7691
7692type ListBackupPlanVersionsOutput struct {
7693	_ struct{} `type:"structure"`
7694
7695	// An array of version list items containing metadata about your backup plans.
7696	BackupPlanVersionsList []*PlansListMember `type:"list"`
7697
7698	// The next item following a partial list of returned items. For example, if
7699	// a request is made to return maxResults number of items, NextToken allows
7700	// you to return more items in your list starting at the location pointed to
7701	// by the next token.
7702	NextToken *string `type:"string"`
7703}
7704
7705// String returns the string representation
7706func (s ListBackupPlanVersionsOutput) String() string {
7707	return awsutil.Prettify(s)
7708}
7709
7710// GoString returns the string representation
7711func (s ListBackupPlanVersionsOutput) GoString() string {
7712	return s.String()
7713}
7714
7715// SetBackupPlanVersionsList sets the BackupPlanVersionsList field's value.
7716func (s *ListBackupPlanVersionsOutput) SetBackupPlanVersionsList(v []*PlansListMember) *ListBackupPlanVersionsOutput {
7717	s.BackupPlanVersionsList = v
7718	return s
7719}
7720
7721// SetNextToken sets the NextToken field's value.
7722func (s *ListBackupPlanVersionsOutput) SetNextToken(v string) *ListBackupPlanVersionsOutput {
7723	s.NextToken = &v
7724	return s
7725}
7726
7727type ListBackupPlansInput struct {
7728	_ struct{} `type:"structure"`
7729
7730	// A Boolean value with a default value of FALSE that returns deleted backup
7731	// plans when set to TRUE.
7732	IncludeDeleted *bool `location:"querystring" locationName:"includeDeleted" type:"boolean"`
7733
7734	// The maximum number of items to be returned.
7735	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
7736
7737	// The next item following a partial list of returned items. For example, if
7738	// a request is made to return maxResults number of items, NextToken allows
7739	// you to return more items in your list starting at the location pointed to
7740	// by the next token.
7741	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7742}
7743
7744// String returns the string representation
7745func (s ListBackupPlansInput) String() string {
7746	return awsutil.Prettify(s)
7747}
7748
7749// GoString returns the string representation
7750func (s ListBackupPlansInput) GoString() string {
7751	return s.String()
7752}
7753
7754// Validate inspects the fields of the type to determine if they are valid.
7755func (s *ListBackupPlansInput) Validate() error {
7756	invalidParams := request.ErrInvalidParams{Context: "ListBackupPlansInput"}
7757	if s.MaxResults != nil && *s.MaxResults < 1 {
7758		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7759	}
7760
7761	if invalidParams.Len() > 0 {
7762		return invalidParams
7763	}
7764	return nil
7765}
7766
7767// SetIncludeDeleted sets the IncludeDeleted field's value.
7768func (s *ListBackupPlansInput) SetIncludeDeleted(v bool) *ListBackupPlansInput {
7769	s.IncludeDeleted = &v
7770	return s
7771}
7772
7773// SetMaxResults sets the MaxResults field's value.
7774func (s *ListBackupPlansInput) SetMaxResults(v int64) *ListBackupPlansInput {
7775	s.MaxResults = &v
7776	return s
7777}
7778
7779// SetNextToken sets the NextToken field's value.
7780func (s *ListBackupPlansInput) SetNextToken(v string) *ListBackupPlansInput {
7781	s.NextToken = &v
7782	return s
7783}
7784
7785type ListBackupPlansOutput struct {
7786	_ struct{} `type:"structure"`
7787
7788	// An array of backup plan list items containing metadata about your saved backup
7789	// plans.
7790	BackupPlansList []*PlansListMember `type:"list"`
7791
7792	// The next item following a partial list of returned items. For example, if
7793	// a request is made to return maxResults number of items, NextToken allows
7794	// you to return more items in your list starting at the location pointed to
7795	// by the next token.
7796	NextToken *string `type:"string"`
7797}
7798
7799// String returns the string representation
7800func (s ListBackupPlansOutput) String() string {
7801	return awsutil.Prettify(s)
7802}
7803
7804// GoString returns the string representation
7805func (s ListBackupPlansOutput) GoString() string {
7806	return s.String()
7807}
7808
7809// SetBackupPlansList sets the BackupPlansList field's value.
7810func (s *ListBackupPlansOutput) SetBackupPlansList(v []*PlansListMember) *ListBackupPlansOutput {
7811	s.BackupPlansList = v
7812	return s
7813}
7814
7815// SetNextToken sets the NextToken field's value.
7816func (s *ListBackupPlansOutput) SetNextToken(v string) *ListBackupPlansOutput {
7817	s.NextToken = &v
7818	return s
7819}
7820
7821type ListBackupSelectionsInput struct {
7822	_ struct{} `type:"structure"`
7823
7824	// Uniquely identifies a backup plan.
7825	//
7826	// BackupPlanId is a required field
7827	BackupPlanId *string `location:"uri" locationName:"backupPlanId" type:"string" required:"true"`
7828
7829	// The maximum number of items to be returned.
7830	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
7831
7832	// The next item following a partial list of returned items. For example, if
7833	// a request is made to return maxResults number of items, NextToken allows
7834	// you to return more items in your list starting at the location pointed to
7835	// by the next token.
7836	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7837}
7838
7839// String returns the string representation
7840func (s ListBackupSelectionsInput) String() string {
7841	return awsutil.Prettify(s)
7842}
7843
7844// GoString returns the string representation
7845func (s ListBackupSelectionsInput) GoString() string {
7846	return s.String()
7847}
7848
7849// Validate inspects the fields of the type to determine if they are valid.
7850func (s *ListBackupSelectionsInput) Validate() error {
7851	invalidParams := request.ErrInvalidParams{Context: "ListBackupSelectionsInput"}
7852	if s.BackupPlanId == nil {
7853		invalidParams.Add(request.NewErrParamRequired("BackupPlanId"))
7854	}
7855	if s.BackupPlanId != nil && len(*s.BackupPlanId) < 1 {
7856		invalidParams.Add(request.NewErrParamMinLen("BackupPlanId", 1))
7857	}
7858	if s.MaxResults != nil && *s.MaxResults < 1 {
7859		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7860	}
7861
7862	if invalidParams.Len() > 0 {
7863		return invalidParams
7864	}
7865	return nil
7866}
7867
7868// SetBackupPlanId sets the BackupPlanId field's value.
7869func (s *ListBackupSelectionsInput) SetBackupPlanId(v string) *ListBackupSelectionsInput {
7870	s.BackupPlanId = &v
7871	return s
7872}
7873
7874// SetMaxResults sets the MaxResults field's value.
7875func (s *ListBackupSelectionsInput) SetMaxResults(v int64) *ListBackupSelectionsInput {
7876	s.MaxResults = &v
7877	return s
7878}
7879
7880// SetNextToken sets the NextToken field's value.
7881func (s *ListBackupSelectionsInput) SetNextToken(v string) *ListBackupSelectionsInput {
7882	s.NextToken = &v
7883	return s
7884}
7885
7886type ListBackupSelectionsOutput struct {
7887	_ struct{} `type:"structure"`
7888
7889	// An array of backup selection list items containing metadata about each resource
7890	// in the list.
7891	BackupSelectionsList []*SelectionsListMember `type:"list"`
7892
7893	// The next item following a partial list of returned items. For example, if
7894	// a request is made to return maxResults number of items, NextToken allows
7895	// you to return more items in your list starting at the location pointed to
7896	// by the next token.
7897	NextToken *string `type:"string"`
7898}
7899
7900// String returns the string representation
7901func (s ListBackupSelectionsOutput) String() string {
7902	return awsutil.Prettify(s)
7903}
7904
7905// GoString returns the string representation
7906func (s ListBackupSelectionsOutput) GoString() string {
7907	return s.String()
7908}
7909
7910// SetBackupSelectionsList sets the BackupSelectionsList field's value.
7911func (s *ListBackupSelectionsOutput) SetBackupSelectionsList(v []*SelectionsListMember) *ListBackupSelectionsOutput {
7912	s.BackupSelectionsList = v
7913	return s
7914}
7915
7916// SetNextToken sets the NextToken field's value.
7917func (s *ListBackupSelectionsOutput) SetNextToken(v string) *ListBackupSelectionsOutput {
7918	s.NextToken = &v
7919	return s
7920}
7921
7922type ListBackupVaultsInput struct {
7923	_ struct{} `type:"structure"`
7924
7925	// The maximum number of items to be returned.
7926	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
7927
7928	// The next item following a partial list of returned items. For example, if
7929	// a request is made to return maxResults number of items, NextToken allows
7930	// you to return more items in your list starting at the location pointed to
7931	// by the next token.
7932	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7933}
7934
7935// String returns the string representation
7936func (s ListBackupVaultsInput) String() string {
7937	return awsutil.Prettify(s)
7938}
7939
7940// GoString returns the string representation
7941func (s ListBackupVaultsInput) GoString() string {
7942	return s.String()
7943}
7944
7945// Validate inspects the fields of the type to determine if they are valid.
7946func (s *ListBackupVaultsInput) Validate() error {
7947	invalidParams := request.ErrInvalidParams{Context: "ListBackupVaultsInput"}
7948	if s.MaxResults != nil && *s.MaxResults < 1 {
7949		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7950	}
7951
7952	if invalidParams.Len() > 0 {
7953		return invalidParams
7954	}
7955	return nil
7956}
7957
7958// SetMaxResults sets the MaxResults field's value.
7959func (s *ListBackupVaultsInput) SetMaxResults(v int64) *ListBackupVaultsInput {
7960	s.MaxResults = &v
7961	return s
7962}
7963
7964// SetNextToken sets the NextToken field's value.
7965func (s *ListBackupVaultsInput) SetNextToken(v string) *ListBackupVaultsInput {
7966	s.NextToken = &v
7967	return s
7968}
7969
7970type ListBackupVaultsOutput struct {
7971	_ struct{} `type:"structure"`
7972
7973	// An array of backup vault list members containing vault metadata, including
7974	// Amazon Resource Name (ARN), display name, creation date, number of saved
7975	// recovery points, and encryption information if the resources saved in the
7976	// backup vault are encrypted.
7977	BackupVaultList []*VaultListMember `type:"list"`
7978
7979	// The next item following a partial list of returned items. For example, if
7980	// a request is made to return maxResults number of items, NextToken allows
7981	// you to return more items in your list starting at the location pointed to
7982	// by the next token.
7983	NextToken *string `type:"string"`
7984}
7985
7986// String returns the string representation
7987func (s ListBackupVaultsOutput) String() string {
7988	return awsutil.Prettify(s)
7989}
7990
7991// GoString returns the string representation
7992func (s ListBackupVaultsOutput) GoString() string {
7993	return s.String()
7994}
7995
7996// SetBackupVaultList sets the BackupVaultList field's value.
7997func (s *ListBackupVaultsOutput) SetBackupVaultList(v []*VaultListMember) *ListBackupVaultsOutput {
7998	s.BackupVaultList = v
7999	return s
8000}
8001
8002// SetNextToken sets the NextToken field's value.
8003func (s *ListBackupVaultsOutput) SetNextToken(v string) *ListBackupVaultsOutput {
8004	s.NextToken = &v
8005	return s
8006}
8007
8008type ListProtectedResourcesInput struct {
8009	_ struct{} `type:"structure"`
8010
8011	// The maximum number of items to be returned.
8012	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
8013
8014	// The next item following a partial list of returned items. For example, if
8015	// a request is made to return maxResults number of items, NextToken allows
8016	// you to return more items in your list starting at the location pointed to
8017	// by the next token.
8018	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
8019}
8020
8021// String returns the string representation
8022func (s ListProtectedResourcesInput) String() string {
8023	return awsutil.Prettify(s)
8024}
8025
8026// GoString returns the string representation
8027func (s ListProtectedResourcesInput) GoString() string {
8028	return s.String()
8029}
8030
8031// Validate inspects the fields of the type to determine if they are valid.
8032func (s *ListProtectedResourcesInput) Validate() error {
8033	invalidParams := request.ErrInvalidParams{Context: "ListProtectedResourcesInput"}
8034	if s.MaxResults != nil && *s.MaxResults < 1 {
8035		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8036	}
8037
8038	if invalidParams.Len() > 0 {
8039		return invalidParams
8040	}
8041	return nil
8042}
8043
8044// SetMaxResults sets the MaxResults field's value.
8045func (s *ListProtectedResourcesInput) SetMaxResults(v int64) *ListProtectedResourcesInput {
8046	s.MaxResults = &v
8047	return s
8048}
8049
8050// SetNextToken sets the NextToken field's value.
8051func (s *ListProtectedResourcesInput) SetNextToken(v string) *ListProtectedResourcesInput {
8052	s.NextToken = &v
8053	return s
8054}
8055
8056type ListProtectedResourcesOutput struct {
8057	_ struct{} `type:"structure"`
8058
8059	// The next item following a partial list of returned items. For example, if
8060	// a request is made to return maxResults number of items, NextToken allows
8061	// you to return more items in your list starting at the location pointed to
8062	// by the next token.
8063	NextToken *string `type:"string"`
8064
8065	// An array of resources successfully backed up by AWS Backup including the
8066	// time the resource was saved, an Amazon Resource Name (ARN) of the resource,
8067	// and a resource type.
8068	Results []*ProtectedResource `type:"list"`
8069}
8070
8071// String returns the string representation
8072func (s ListProtectedResourcesOutput) String() string {
8073	return awsutil.Prettify(s)
8074}
8075
8076// GoString returns the string representation
8077func (s ListProtectedResourcesOutput) GoString() string {
8078	return s.String()
8079}
8080
8081// SetNextToken sets the NextToken field's value.
8082func (s *ListProtectedResourcesOutput) SetNextToken(v string) *ListProtectedResourcesOutput {
8083	s.NextToken = &v
8084	return s
8085}
8086
8087// SetResults sets the Results field's value.
8088func (s *ListProtectedResourcesOutput) SetResults(v []*ProtectedResource) *ListProtectedResourcesOutput {
8089	s.Results = v
8090	return s
8091}
8092
8093type ListRecoveryPointsByBackupVaultInput struct {
8094	_ struct{} `type:"structure"`
8095
8096	// The name of a logical container where backups are stored. Backup vaults are
8097	// identified by names that are unique to the account used to create them and
8098	// the AWS Region where they are created. They consist of lowercase letters,
8099	// numbers, and hyphens.
8100	//
8101	// BackupVaultName is a required field
8102	BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"`
8103
8104	// Returns only recovery points that match the specified backup plan ID.
8105	ByBackupPlanId *string `location:"querystring" locationName:"backupPlanId" type:"string"`
8106
8107	// Returns only recovery points that were created after the specified timestamp.
8108	ByCreatedAfter *time.Time `location:"querystring" locationName:"createdAfter" type:"timestamp"`
8109
8110	// Returns only recovery points that were created before the specified timestamp.
8111	ByCreatedBefore *time.Time `location:"querystring" locationName:"createdBefore" type:"timestamp"`
8112
8113	// Returns only recovery points that match the specified resource Amazon Resource
8114	// Name (ARN).
8115	ByResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string"`
8116
8117	// Returns only recovery points that match the specified resource type.
8118	ByResourceType *string `location:"querystring" locationName:"resourceType" type:"string"`
8119
8120	// The maximum number of items to be returned.
8121	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
8122
8123	// The next item following a partial list of returned items. For example, if
8124	// a request is made to return maxResults number of items, NextToken allows
8125	// you to return more items in your list starting at the location pointed to
8126	// by the next token.
8127	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
8128}
8129
8130// String returns the string representation
8131func (s ListRecoveryPointsByBackupVaultInput) String() string {
8132	return awsutil.Prettify(s)
8133}
8134
8135// GoString returns the string representation
8136func (s ListRecoveryPointsByBackupVaultInput) GoString() string {
8137	return s.String()
8138}
8139
8140// Validate inspects the fields of the type to determine if they are valid.
8141func (s *ListRecoveryPointsByBackupVaultInput) Validate() error {
8142	invalidParams := request.ErrInvalidParams{Context: "ListRecoveryPointsByBackupVaultInput"}
8143	if s.BackupVaultName == nil {
8144		invalidParams.Add(request.NewErrParamRequired("BackupVaultName"))
8145	}
8146	if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 {
8147		invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1))
8148	}
8149	if s.MaxResults != nil && *s.MaxResults < 1 {
8150		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8151	}
8152
8153	if invalidParams.Len() > 0 {
8154		return invalidParams
8155	}
8156	return nil
8157}
8158
8159// SetBackupVaultName sets the BackupVaultName field's value.
8160func (s *ListRecoveryPointsByBackupVaultInput) SetBackupVaultName(v string) *ListRecoveryPointsByBackupVaultInput {
8161	s.BackupVaultName = &v
8162	return s
8163}
8164
8165// SetByBackupPlanId sets the ByBackupPlanId field's value.
8166func (s *ListRecoveryPointsByBackupVaultInput) SetByBackupPlanId(v string) *ListRecoveryPointsByBackupVaultInput {
8167	s.ByBackupPlanId = &v
8168	return s
8169}
8170
8171// SetByCreatedAfter sets the ByCreatedAfter field's value.
8172func (s *ListRecoveryPointsByBackupVaultInput) SetByCreatedAfter(v time.Time) *ListRecoveryPointsByBackupVaultInput {
8173	s.ByCreatedAfter = &v
8174	return s
8175}
8176
8177// SetByCreatedBefore sets the ByCreatedBefore field's value.
8178func (s *ListRecoveryPointsByBackupVaultInput) SetByCreatedBefore(v time.Time) *ListRecoveryPointsByBackupVaultInput {
8179	s.ByCreatedBefore = &v
8180	return s
8181}
8182
8183// SetByResourceArn sets the ByResourceArn field's value.
8184func (s *ListRecoveryPointsByBackupVaultInput) SetByResourceArn(v string) *ListRecoveryPointsByBackupVaultInput {
8185	s.ByResourceArn = &v
8186	return s
8187}
8188
8189// SetByResourceType sets the ByResourceType field's value.
8190func (s *ListRecoveryPointsByBackupVaultInput) SetByResourceType(v string) *ListRecoveryPointsByBackupVaultInput {
8191	s.ByResourceType = &v
8192	return s
8193}
8194
8195// SetMaxResults sets the MaxResults field's value.
8196func (s *ListRecoveryPointsByBackupVaultInput) SetMaxResults(v int64) *ListRecoveryPointsByBackupVaultInput {
8197	s.MaxResults = &v
8198	return s
8199}
8200
8201// SetNextToken sets the NextToken field's value.
8202func (s *ListRecoveryPointsByBackupVaultInput) SetNextToken(v string) *ListRecoveryPointsByBackupVaultInput {
8203	s.NextToken = &v
8204	return s
8205}
8206
8207type ListRecoveryPointsByBackupVaultOutput struct {
8208	_ struct{} `type:"structure"`
8209
8210	// The next item following a partial list of returned items. For example, if
8211	// a request is made to return maxResults number of items, NextToken allows
8212	// you to return more items in your list starting at the location pointed to
8213	// by the next token.
8214	NextToken *string `type:"string"`
8215
8216	// An array of objects that contain detailed information about recovery points
8217	// saved in a backup vault.
8218	RecoveryPoints []*RecoveryPointByBackupVault `type:"list"`
8219}
8220
8221// String returns the string representation
8222func (s ListRecoveryPointsByBackupVaultOutput) String() string {
8223	return awsutil.Prettify(s)
8224}
8225
8226// GoString returns the string representation
8227func (s ListRecoveryPointsByBackupVaultOutput) GoString() string {
8228	return s.String()
8229}
8230
8231// SetNextToken sets the NextToken field's value.
8232func (s *ListRecoveryPointsByBackupVaultOutput) SetNextToken(v string) *ListRecoveryPointsByBackupVaultOutput {
8233	s.NextToken = &v
8234	return s
8235}
8236
8237// SetRecoveryPoints sets the RecoveryPoints field's value.
8238func (s *ListRecoveryPointsByBackupVaultOutput) SetRecoveryPoints(v []*RecoveryPointByBackupVault) *ListRecoveryPointsByBackupVaultOutput {
8239	s.RecoveryPoints = v
8240	return s
8241}
8242
8243type ListRecoveryPointsByResourceInput struct {
8244	_ struct{} `type:"structure"`
8245
8246	// The maximum number of items to be returned.
8247	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
8248
8249	// The next item following a partial list of returned items. For example, if
8250	// a request is made to return maxResults number of items, NextToken allows
8251	// you to return more items in your list starting at the location pointed to
8252	// by the next token.
8253	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
8254
8255	// An ARN that uniquely identifies a resource. The format of the ARN depends
8256	// on the resource type.
8257	//
8258	// ResourceArn is a required field
8259	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
8260}
8261
8262// String returns the string representation
8263func (s ListRecoveryPointsByResourceInput) String() string {
8264	return awsutil.Prettify(s)
8265}
8266
8267// GoString returns the string representation
8268func (s ListRecoveryPointsByResourceInput) GoString() string {
8269	return s.String()
8270}
8271
8272// Validate inspects the fields of the type to determine if they are valid.
8273func (s *ListRecoveryPointsByResourceInput) Validate() error {
8274	invalidParams := request.ErrInvalidParams{Context: "ListRecoveryPointsByResourceInput"}
8275	if s.MaxResults != nil && *s.MaxResults < 1 {
8276		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8277	}
8278	if s.ResourceArn == nil {
8279		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8280	}
8281	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
8282		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
8283	}
8284
8285	if invalidParams.Len() > 0 {
8286		return invalidParams
8287	}
8288	return nil
8289}
8290
8291// SetMaxResults sets the MaxResults field's value.
8292func (s *ListRecoveryPointsByResourceInput) SetMaxResults(v int64) *ListRecoveryPointsByResourceInput {
8293	s.MaxResults = &v
8294	return s
8295}
8296
8297// SetNextToken sets the NextToken field's value.
8298func (s *ListRecoveryPointsByResourceInput) SetNextToken(v string) *ListRecoveryPointsByResourceInput {
8299	s.NextToken = &v
8300	return s
8301}
8302
8303// SetResourceArn sets the ResourceArn field's value.
8304func (s *ListRecoveryPointsByResourceInput) SetResourceArn(v string) *ListRecoveryPointsByResourceInput {
8305	s.ResourceArn = &v
8306	return s
8307}
8308
8309type ListRecoveryPointsByResourceOutput struct {
8310	_ struct{} `type:"structure"`
8311
8312	// The next item following a partial list of returned items. For example, if
8313	// a request is made to return maxResults number of items, NextToken allows
8314	// you to return more items in your list starting at the location pointed to
8315	// by the next token.
8316	NextToken *string `type:"string"`
8317
8318	// An array of objects that contain detailed information about recovery points
8319	// of the specified resource type.
8320	RecoveryPoints []*RecoveryPointByResource `type:"list"`
8321}
8322
8323// String returns the string representation
8324func (s ListRecoveryPointsByResourceOutput) String() string {
8325	return awsutil.Prettify(s)
8326}
8327
8328// GoString returns the string representation
8329func (s ListRecoveryPointsByResourceOutput) GoString() string {
8330	return s.String()
8331}
8332
8333// SetNextToken sets the NextToken field's value.
8334func (s *ListRecoveryPointsByResourceOutput) SetNextToken(v string) *ListRecoveryPointsByResourceOutput {
8335	s.NextToken = &v
8336	return s
8337}
8338
8339// SetRecoveryPoints sets the RecoveryPoints field's value.
8340func (s *ListRecoveryPointsByResourceOutput) SetRecoveryPoints(v []*RecoveryPointByResource) *ListRecoveryPointsByResourceOutput {
8341	s.RecoveryPoints = v
8342	return s
8343}
8344
8345type ListRestoreJobsInput struct {
8346	_ struct{} `type:"structure"`
8347
8348	// The maximum number of items to be returned.
8349	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
8350
8351	// The next item following a partial list of returned items. For example, if
8352	// a request is made to return maxResults number of items, NextToken allows
8353	// you to return more items in your list starting at the location pointed to
8354	// by the next token.
8355	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
8356}
8357
8358// String returns the string representation
8359func (s ListRestoreJobsInput) String() string {
8360	return awsutil.Prettify(s)
8361}
8362
8363// GoString returns the string representation
8364func (s ListRestoreJobsInput) GoString() string {
8365	return s.String()
8366}
8367
8368// Validate inspects the fields of the type to determine if they are valid.
8369func (s *ListRestoreJobsInput) Validate() error {
8370	invalidParams := request.ErrInvalidParams{Context: "ListRestoreJobsInput"}
8371	if s.MaxResults != nil && *s.MaxResults < 1 {
8372		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8373	}
8374
8375	if invalidParams.Len() > 0 {
8376		return invalidParams
8377	}
8378	return nil
8379}
8380
8381// SetMaxResults sets the MaxResults field's value.
8382func (s *ListRestoreJobsInput) SetMaxResults(v int64) *ListRestoreJobsInput {
8383	s.MaxResults = &v
8384	return s
8385}
8386
8387// SetNextToken sets the NextToken field's value.
8388func (s *ListRestoreJobsInput) SetNextToken(v string) *ListRestoreJobsInput {
8389	s.NextToken = &v
8390	return s
8391}
8392
8393type ListRestoreJobsOutput struct {
8394	_ struct{} `type:"structure"`
8395
8396	// The next item following a partial list of returned items. For example, if
8397	// a request is made to return maxResults number of items, NextToken allows
8398	// you to return more items in your list starting at the location pointed to
8399	// by the next token.
8400	NextToken *string `type:"string"`
8401
8402	// An array of objects that contain detailed information about jobs to restore
8403	// saved resources.
8404	RestoreJobs []*RestoreJobsListMember `type:"list"`
8405}
8406
8407// String returns the string representation
8408func (s ListRestoreJobsOutput) String() string {
8409	return awsutil.Prettify(s)
8410}
8411
8412// GoString returns the string representation
8413func (s ListRestoreJobsOutput) GoString() string {
8414	return s.String()
8415}
8416
8417// SetNextToken sets the NextToken field's value.
8418func (s *ListRestoreJobsOutput) SetNextToken(v string) *ListRestoreJobsOutput {
8419	s.NextToken = &v
8420	return s
8421}
8422
8423// SetRestoreJobs sets the RestoreJobs field's value.
8424func (s *ListRestoreJobsOutput) SetRestoreJobs(v []*RestoreJobsListMember) *ListRestoreJobsOutput {
8425	s.RestoreJobs = v
8426	return s
8427}
8428
8429type ListTagsInput struct {
8430	_ struct{} `type:"structure"`
8431
8432	// The maximum number of items to be returned.
8433	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
8434
8435	// The next item following a partial list of returned items. For example, if
8436	// a request is made to return maxResults number of items, NextToken allows
8437	// you to return more items in your list starting at the location pointed to
8438	// by the next token.
8439	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
8440
8441	// An Amazon Resource Name (ARN) that uniquely identifies a resource. The format
8442	// of the ARN depends on the type of resource. Valid targets for ListTags are
8443	// recovery points, backup plans, and backup vaults.
8444	//
8445	// ResourceArn is a required field
8446	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
8447}
8448
8449// String returns the string representation
8450func (s ListTagsInput) String() string {
8451	return awsutil.Prettify(s)
8452}
8453
8454// GoString returns the string representation
8455func (s ListTagsInput) GoString() string {
8456	return s.String()
8457}
8458
8459// Validate inspects the fields of the type to determine if they are valid.
8460func (s *ListTagsInput) Validate() error {
8461	invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"}
8462	if s.MaxResults != nil && *s.MaxResults < 1 {
8463		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8464	}
8465	if s.ResourceArn == nil {
8466		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8467	}
8468	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
8469		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
8470	}
8471
8472	if invalidParams.Len() > 0 {
8473		return invalidParams
8474	}
8475	return nil
8476}
8477
8478// SetMaxResults sets the MaxResults field's value.
8479func (s *ListTagsInput) SetMaxResults(v int64) *ListTagsInput {
8480	s.MaxResults = &v
8481	return s
8482}
8483
8484// SetNextToken sets the NextToken field's value.
8485func (s *ListTagsInput) SetNextToken(v string) *ListTagsInput {
8486	s.NextToken = &v
8487	return s
8488}
8489
8490// SetResourceArn sets the ResourceArn field's value.
8491func (s *ListTagsInput) SetResourceArn(v string) *ListTagsInput {
8492	s.ResourceArn = &v
8493	return s
8494}
8495
8496type ListTagsOutput struct {
8497	_ struct{} `type:"structure"`
8498
8499	// The next item following a partial list of returned items. For example, if
8500	// a request is made to return maxResults number of items, NextToken allows
8501	// you to return more items in your list starting at the location pointed to
8502	// by the next token.
8503	NextToken *string `type:"string"`
8504
8505	// To help organize your resources, you can assign your own metadata to the
8506	// resources you create. Each tag is a key-value pair.
8507	Tags map[string]*string `type:"map" sensitive:"true"`
8508}
8509
8510// String returns the string representation
8511func (s ListTagsOutput) String() string {
8512	return awsutil.Prettify(s)
8513}
8514
8515// GoString returns the string representation
8516func (s ListTagsOutput) GoString() string {
8517	return s.String()
8518}
8519
8520// SetNextToken sets the NextToken field's value.
8521func (s *ListTagsOutput) SetNextToken(v string) *ListTagsOutput {
8522	s.NextToken = &v
8523	return s
8524}
8525
8526// SetTags sets the Tags field's value.
8527func (s *ListTagsOutput) SetTags(v map[string]*string) *ListTagsOutput {
8528	s.Tags = v
8529	return s
8530}
8531
8532// Contains an optional backup plan display name and an array of BackupRule
8533// objects, each of which specifies a backup rule. Each rule in a backup plan
8534// is a separate scheduled task and can back up a different selection of AWS
8535// resources.
8536type Plan struct {
8537	_ struct{} `type:"structure"`
8538
8539	// The display name of a backup plan.
8540	//
8541	// BackupPlanName is a required field
8542	BackupPlanName *string `type:"string" required:"true"`
8543
8544	// An array of BackupRule objects, each of which specifies a scheduled task
8545	// that is used to back up a selection of resources.
8546	//
8547	// Rules is a required field
8548	Rules []*Rule `type:"list" required:"true"`
8549}
8550
8551// String returns the string representation
8552func (s Plan) String() string {
8553	return awsutil.Prettify(s)
8554}
8555
8556// GoString returns the string representation
8557func (s Plan) GoString() string {
8558	return s.String()
8559}
8560
8561// SetBackupPlanName sets the BackupPlanName field's value.
8562func (s *Plan) SetBackupPlanName(v string) *Plan {
8563	s.BackupPlanName = &v
8564	return s
8565}
8566
8567// SetRules sets the Rules field's value.
8568func (s *Plan) SetRules(v []*Rule) *Plan {
8569	s.Rules = v
8570	return s
8571}
8572
8573// Contains an optional backup plan display name and an array of BackupRule
8574// objects, each of which specifies a backup rule. Each rule in a backup plan
8575// is a separate scheduled task and can back up a different selection of AWS
8576// resources.
8577type PlanInput struct {
8578	_ struct{} `type:"structure"`
8579
8580	// The display name of a backup plan.
8581	//
8582	// BackupPlanName is a required field
8583	BackupPlanName *string `type:"string" required:"true"`
8584
8585	// An array of BackupRule objects, each of which specifies a scheduled task
8586	// that is used to back up a selection of resources.
8587	//
8588	// Rules is a required field
8589	Rules []*RuleInput `type:"list" required:"true"`
8590}
8591
8592// String returns the string representation
8593func (s PlanInput) String() string {
8594	return awsutil.Prettify(s)
8595}
8596
8597// GoString returns the string representation
8598func (s PlanInput) GoString() string {
8599	return s.String()
8600}
8601
8602// Validate inspects the fields of the type to determine if they are valid.
8603func (s *PlanInput) Validate() error {
8604	invalidParams := request.ErrInvalidParams{Context: "PlanInput"}
8605	if s.BackupPlanName == nil {
8606		invalidParams.Add(request.NewErrParamRequired("BackupPlanName"))
8607	}
8608	if s.Rules == nil {
8609		invalidParams.Add(request.NewErrParamRequired("Rules"))
8610	}
8611	if s.Rules != nil {
8612		for i, v := range s.Rules {
8613			if v == nil {
8614				continue
8615			}
8616			if err := v.Validate(); err != nil {
8617				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
8618			}
8619		}
8620	}
8621
8622	if invalidParams.Len() > 0 {
8623		return invalidParams
8624	}
8625	return nil
8626}
8627
8628// SetBackupPlanName sets the BackupPlanName field's value.
8629func (s *PlanInput) SetBackupPlanName(v string) *PlanInput {
8630	s.BackupPlanName = &v
8631	return s
8632}
8633
8634// SetRules sets the Rules field's value.
8635func (s *PlanInput) SetRules(v []*RuleInput) *PlanInput {
8636	s.Rules = v
8637	return s
8638}
8639
8640// An object specifying metadata associated with a backup plan template.
8641type PlanTemplatesListMember struct {
8642	_ struct{} `type:"structure"`
8643
8644	// Uniquely identifies a stored backup plan template.
8645	BackupPlanTemplateId *string `type:"string"`
8646
8647	// The optional display name of a backup plan template.
8648	BackupPlanTemplateName *string `type:"string"`
8649}
8650
8651// String returns the string representation
8652func (s PlanTemplatesListMember) String() string {
8653	return awsutil.Prettify(s)
8654}
8655
8656// GoString returns the string representation
8657func (s PlanTemplatesListMember) GoString() string {
8658	return s.String()
8659}
8660
8661// SetBackupPlanTemplateId sets the BackupPlanTemplateId field's value.
8662func (s *PlanTemplatesListMember) SetBackupPlanTemplateId(v string) *PlanTemplatesListMember {
8663	s.BackupPlanTemplateId = &v
8664	return s
8665}
8666
8667// SetBackupPlanTemplateName sets the BackupPlanTemplateName field's value.
8668func (s *PlanTemplatesListMember) SetBackupPlanTemplateName(v string) *PlanTemplatesListMember {
8669	s.BackupPlanTemplateName = &v
8670	return s
8671}
8672
8673// Contains metadata about a backup plan.
8674type PlansListMember struct {
8675	_ struct{} `type:"structure"`
8676
8677	// An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for
8678	// example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.
8679	BackupPlanArn *string `type:"string"`
8680
8681	// Uniquely identifies a backup plan.
8682	BackupPlanId *string `type:"string"`
8683
8684	// The display name of a saved backup plan.
8685	BackupPlanName *string `type:"string"`
8686
8687	// The date and time a resource backup plan is created, in Unix format and Coordinated
8688	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds.
8689	// For example, the value 1516925490.087 represents Friday, January 26, 2018
8690	// 12:11:30.087 AM.
8691	CreationDate *time.Time `type:"timestamp"`
8692
8693	// A unique string that identifies the request and allows failed requests to
8694	// be retried without the risk of executing the operation twice.
8695	CreatorRequestId *string `type:"string"`
8696
8697	// The date and time a backup plan is deleted, in Unix format and Coordinated
8698	// Universal Time (UTC). The value of DeletionDate is accurate to milliseconds.
8699	// For example, the value 1516925490.087 represents Friday, January 26, 2018
8700	// 12:11:30.087 AM.
8701	DeletionDate *time.Time `type:"timestamp"`
8702
8703	// The last time a job to back up resources was executed with this rule. A date
8704	// and time, in Unix format and Coordinated Universal Time (UTC). The value
8705	// of LastExecutionDate is accurate to milliseconds. For example, the value
8706	// 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
8707	LastExecutionDate *time.Time `type:"timestamp"`
8708
8709	// Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most
8710	// 1,024 bytes long. Version IDs cannot be edited.
8711	VersionId *string `type:"string"`
8712}
8713
8714// String returns the string representation
8715func (s PlansListMember) String() string {
8716	return awsutil.Prettify(s)
8717}
8718
8719// GoString returns the string representation
8720func (s PlansListMember) GoString() string {
8721	return s.String()
8722}
8723
8724// SetBackupPlanArn sets the BackupPlanArn field's value.
8725func (s *PlansListMember) SetBackupPlanArn(v string) *PlansListMember {
8726	s.BackupPlanArn = &v
8727	return s
8728}
8729
8730// SetBackupPlanId sets the BackupPlanId field's value.
8731func (s *PlansListMember) SetBackupPlanId(v string) *PlansListMember {
8732	s.BackupPlanId = &v
8733	return s
8734}
8735
8736// SetBackupPlanName sets the BackupPlanName field's value.
8737func (s *PlansListMember) SetBackupPlanName(v string) *PlansListMember {
8738	s.BackupPlanName = &v
8739	return s
8740}
8741
8742// SetCreationDate sets the CreationDate field's value.
8743func (s *PlansListMember) SetCreationDate(v time.Time) *PlansListMember {
8744	s.CreationDate = &v
8745	return s
8746}
8747
8748// SetCreatorRequestId sets the CreatorRequestId field's value.
8749func (s *PlansListMember) SetCreatorRequestId(v string) *PlansListMember {
8750	s.CreatorRequestId = &v
8751	return s
8752}
8753
8754// SetDeletionDate sets the DeletionDate field's value.
8755func (s *PlansListMember) SetDeletionDate(v time.Time) *PlansListMember {
8756	s.DeletionDate = &v
8757	return s
8758}
8759
8760// SetLastExecutionDate sets the LastExecutionDate field's value.
8761func (s *PlansListMember) SetLastExecutionDate(v time.Time) *PlansListMember {
8762	s.LastExecutionDate = &v
8763	return s
8764}
8765
8766// SetVersionId sets the VersionId field's value.
8767func (s *PlansListMember) SetVersionId(v string) *PlansListMember {
8768	s.VersionId = &v
8769	return s
8770}
8771
8772// A structure that contains information about a backed-up resource.
8773type ProtectedResource struct {
8774	_ struct{} `type:"structure"`
8775
8776	// The date and time a resource was last backed up, in Unix format and Coordinated
8777	// Universal Time (UTC). The value of LastBackupTime is accurate to milliseconds.
8778	// For example, the value 1516925490.087 represents Friday, January 26, 2018
8779	// 12:11:30.087 AM.
8780	LastBackupTime *time.Time `type:"timestamp"`
8781
8782	// An Amazon Resource Name (ARN) that uniquely identifies a resource. The format
8783	// of the ARN depends on the resource type.
8784	ResourceArn *string `type:"string"`
8785
8786	// The type of AWS resource; for example, an Amazon Elastic Block Store (Amazon
8787	// EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.
8788	ResourceType *string `type:"string"`
8789}
8790
8791// String returns the string representation
8792func (s ProtectedResource) String() string {
8793	return awsutil.Prettify(s)
8794}
8795
8796// GoString returns the string representation
8797func (s ProtectedResource) GoString() string {
8798	return s.String()
8799}
8800
8801// SetLastBackupTime sets the LastBackupTime field's value.
8802func (s *ProtectedResource) SetLastBackupTime(v time.Time) *ProtectedResource {
8803	s.LastBackupTime = &v
8804	return s
8805}
8806
8807// SetResourceArn sets the ResourceArn field's value.
8808func (s *ProtectedResource) SetResourceArn(v string) *ProtectedResource {
8809	s.ResourceArn = &v
8810	return s
8811}
8812
8813// SetResourceType sets the ResourceType field's value.
8814func (s *ProtectedResource) SetResourceType(v string) *ProtectedResource {
8815	s.ResourceType = &v
8816	return s
8817}
8818
8819type PutBackupVaultAccessPolicyInput struct {
8820	_ struct{} `type:"structure"`
8821
8822	// The name of a logical container where backups are stored. Backup vaults are
8823	// identified by names that are unique to the account used to create them and
8824	// the AWS Region where they are created. They consist of lowercase letters,
8825	// numbers, and hyphens.
8826	//
8827	// BackupVaultName is a required field
8828	BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"`
8829
8830	// The backup vault access policy document in JSON format.
8831	Policy *string `type:"string"`
8832}
8833
8834// String returns the string representation
8835func (s PutBackupVaultAccessPolicyInput) String() string {
8836	return awsutil.Prettify(s)
8837}
8838
8839// GoString returns the string representation
8840func (s PutBackupVaultAccessPolicyInput) GoString() string {
8841	return s.String()
8842}
8843
8844// Validate inspects the fields of the type to determine if they are valid.
8845func (s *PutBackupVaultAccessPolicyInput) Validate() error {
8846	invalidParams := request.ErrInvalidParams{Context: "PutBackupVaultAccessPolicyInput"}
8847	if s.BackupVaultName == nil {
8848		invalidParams.Add(request.NewErrParamRequired("BackupVaultName"))
8849	}
8850	if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 {
8851		invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1))
8852	}
8853
8854	if invalidParams.Len() > 0 {
8855		return invalidParams
8856	}
8857	return nil
8858}
8859
8860// SetBackupVaultName sets the BackupVaultName field's value.
8861func (s *PutBackupVaultAccessPolicyInput) SetBackupVaultName(v string) *PutBackupVaultAccessPolicyInput {
8862	s.BackupVaultName = &v
8863	return s
8864}
8865
8866// SetPolicy sets the Policy field's value.
8867func (s *PutBackupVaultAccessPolicyInput) SetPolicy(v string) *PutBackupVaultAccessPolicyInput {
8868	s.Policy = &v
8869	return s
8870}
8871
8872type PutBackupVaultAccessPolicyOutput struct {
8873	_ struct{} `type:"structure"`
8874}
8875
8876// String returns the string representation
8877func (s PutBackupVaultAccessPolicyOutput) String() string {
8878	return awsutil.Prettify(s)
8879}
8880
8881// GoString returns the string representation
8882func (s PutBackupVaultAccessPolicyOutput) GoString() string {
8883	return s.String()
8884}
8885
8886type PutBackupVaultNotificationsInput struct {
8887	_ struct{} `type:"structure"`
8888
8889	// An array of events that indicate the status of jobs to back up resources
8890	// to the backup vault.
8891	//
8892	// BackupVaultEvents is a required field
8893	BackupVaultEvents []*string `type:"list" required:"true"`
8894
8895	// The name of a logical container where backups are stored. Backup vaults are
8896	// identified by names that are unique to the account used to create them and
8897	// the AWS Region where they are created. They consist of lowercase letters,
8898	// numbers, and hyphens.
8899	//
8900	// BackupVaultName is a required field
8901	BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"`
8902
8903	// The Amazon Resource Name (ARN) that specifies the topic for a backup vault’s
8904	// events; for example, arn:aws:sns:us-west-2:111122223333:MyVaultTopic.
8905	//
8906	// SNSTopicArn is a required field
8907	SNSTopicArn *string `type:"string" required:"true"`
8908}
8909
8910// String returns the string representation
8911func (s PutBackupVaultNotificationsInput) String() string {
8912	return awsutil.Prettify(s)
8913}
8914
8915// GoString returns the string representation
8916func (s PutBackupVaultNotificationsInput) GoString() string {
8917	return s.String()
8918}
8919
8920// Validate inspects the fields of the type to determine if they are valid.
8921func (s *PutBackupVaultNotificationsInput) Validate() error {
8922	invalidParams := request.ErrInvalidParams{Context: "PutBackupVaultNotificationsInput"}
8923	if s.BackupVaultEvents == nil {
8924		invalidParams.Add(request.NewErrParamRequired("BackupVaultEvents"))
8925	}
8926	if s.BackupVaultName == nil {
8927		invalidParams.Add(request.NewErrParamRequired("BackupVaultName"))
8928	}
8929	if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 {
8930		invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1))
8931	}
8932	if s.SNSTopicArn == nil {
8933		invalidParams.Add(request.NewErrParamRequired("SNSTopicArn"))
8934	}
8935
8936	if invalidParams.Len() > 0 {
8937		return invalidParams
8938	}
8939	return nil
8940}
8941
8942// SetBackupVaultEvents sets the BackupVaultEvents field's value.
8943func (s *PutBackupVaultNotificationsInput) SetBackupVaultEvents(v []*string) *PutBackupVaultNotificationsInput {
8944	s.BackupVaultEvents = v
8945	return s
8946}
8947
8948// SetBackupVaultName sets the BackupVaultName field's value.
8949func (s *PutBackupVaultNotificationsInput) SetBackupVaultName(v string) *PutBackupVaultNotificationsInput {
8950	s.BackupVaultName = &v
8951	return s
8952}
8953
8954// SetSNSTopicArn sets the SNSTopicArn field's value.
8955func (s *PutBackupVaultNotificationsInput) SetSNSTopicArn(v string) *PutBackupVaultNotificationsInput {
8956	s.SNSTopicArn = &v
8957	return s
8958}
8959
8960type PutBackupVaultNotificationsOutput struct {
8961	_ struct{} `type:"structure"`
8962}
8963
8964// String returns the string representation
8965func (s PutBackupVaultNotificationsOutput) String() string {
8966	return awsutil.Prettify(s)
8967}
8968
8969// GoString returns the string representation
8970func (s PutBackupVaultNotificationsOutput) GoString() string {
8971	return s.String()
8972}
8973
8974// Contains detailed information about the recovery points stored in a backup
8975// vault.
8976type RecoveryPointByBackupVault struct {
8977	_ struct{} `type:"structure"`
8978
8979	// The size, in bytes, of a backup.
8980	BackupSizeInBytes *int64 `type:"long"`
8981
8982	// An ARN that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
8983	BackupVaultArn *string `type:"string"`
8984
8985	// The name of a logical container where backups are stored. Backup vaults are
8986	// identified by names that are unique to the account used to create them and
8987	// the AWS Region where they are created. They consist of lowercase letters,
8988	// numbers, and hyphens.
8989	BackupVaultName *string `type:"string"`
8990
8991	// A CalculatedLifecycle object containing DeleteAt and MoveToColdStorageAt
8992	// timestamps.
8993	CalculatedLifecycle *CalculatedLifecycle `type:"structure"`
8994
8995	// The date and time a job to restore a recovery point is completed, in Unix
8996	// format and Coordinated Universal Time (UTC). The value of CompletionDate
8997	// is accurate to milliseconds. For example, the value 1516925490.087 represents
8998	// Friday, January 26, 2018 12:11:30.087 AM.
8999	CompletionDate *time.Time `type:"timestamp"`
9000
9001	// Contains identifying information about the creation of a recovery point,
9002	// including the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId
9003	// of the backup plan that is used to create it.
9004	CreatedBy *RecoveryPointCreator `type:"structure"`
9005
9006	// The date and time a recovery point is created, in Unix format and Coordinated
9007	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds.
9008	// For example, the value 1516925490.087 represents Friday, January 26, 2018
9009	// 12:11:30.087 AM.
9010	CreationDate *time.Time `type:"timestamp"`
9011
9012	// The server-side encryption key that is used to protect your backups; for
9013	// example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
9014	EncryptionKeyArn *string `type:"string"`
9015
9016	// Specifies the IAM role ARN used to create the target recovery point; for
9017	// example, arn:aws:iam::123456789012:role/S3Access.
9018	IamRoleArn *string `type:"string"`
9019
9020	// A Boolean value that is returned as TRUE if the specified recovery point
9021	// is encrypted, or FALSE if the recovery point is not encrypted.
9022	IsEncrypted *bool `type:"boolean"`
9023
9024	// The date and time a recovery point was last restored, in Unix format and
9025	// Coordinated Universal Time (UTC). The value of LastRestoreTime is accurate
9026	// to milliseconds. For example, the value 1516925490.087 represents Friday,
9027	// January 26, 2018 12:11:30.087 AM.
9028	LastRestoreTime *time.Time `type:"timestamp"`
9029
9030	// The lifecycle defines when a protected resource is transitioned to cold storage
9031	// and when it expires. AWS Backup transitions and expires backups automatically
9032	// according to the lifecycle that you define.
9033	//
9034	// Backups transitioned to cold storage must be stored in cold storage for a
9035	// minimum of 90 days. Therefore, the “expire after days” setting must be
9036	// 90 days greater than the “transition to cold after days” setting. The
9037	// “transition to cold after days” setting cannot be changed after a backup
9038	// has been transitioned to cold.
9039	Lifecycle *Lifecycle `type:"structure"`
9040
9041	// An Amazon Resource Name (ARN) that uniquely identifies a recovery point;
9042	// for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
9043	RecoveryPointArn *string `type:"string"`
9044
9045	// An ARN that uniquely identifies a resource. The format of the ARN depends
9046	// on the resource type.
9047	ResourceArn *string `type:"string"`
9048
9049	// The type of AWS resource saved as a recovery point; for example, an Amazon
9050	// Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database
9051	// Service (Amazon RDS) database.
9052	ResourceType *string `type:"string"`
9053
9054	// A status code specifying the state of the recovery point.
9055	Status *string `type:"string" enum:"RecoveryPointStatus"`
9056}
9057
9058// String returns the string representation
9059func (s RecoveryPointByBackupVault) String() string {
9060	return awsutil.Prettify(s)
9061}
9062
9063// GoString returns the string representation
9064func (s RecoveryPointByBackupVault) GoString() string {
9065	return s.String()
9066}
9067
9068// SetBackupSizeInBytes sets the BackupSizeInBytes field's value.
9069func (s *RecoveryPointByBackupVault) SetBackupSizeInBytes(v int64) *RecoveryPointByBackupVault {
9070	s.BackupSizeInBytes = &v
9071	return s
9072}
9073
9074// SetBackupVaultArn sets the BackupVaultArn field's value.
9075func (s *RecoveryPointByBackupVault) SetBackupVaultArn(v string) *RecoveryPointByBackupVault {
9076	s.BackupVaultArn = &v
9077	return s
9078}
9079
9080// SetBackupVaultName sets the BackupVaultName field's value.
9081func (s *RecoveryPointByBackupVault) SetBackupVaultName(v string) *RecoveryPointByBackupVault {
9082	s.BackupVaultName = &v
9083	return s
9084}
9085
9086// SetCalculatedLifecycle sets the CalculatedLifecycle field's value.
9087func (s *RecoveryPointByBackupVault) SetCalculatedLifecycle(v *CalculatedLifecycle) *RecoveryPointByBackupVault {
9088	s.CalculatedLifecycle = v
9089	return s
9090}
9091
9092// SetCompletionDate sets the CompletionDate field's value.
9093func (s *RecoveryPointByBackupVault) SetCompletionDate(v time.Time) *RecoveryPointByBackupVault {
9094	s.CompletionDate = &v
9095	return s
9096}
9097
9098// SetCreatedBy sets the CreatedBy field's value.
9099func (s *RecoveryPointByBackupVault) SetCreatedBy(v *RecoveryPointCreator) *RecoveryPointByBackupVault {
9100	s.CreatedBy = v
9101	return s
9102}
9103
9104// SetCreationDate sets the CreationDate field's value.
9105func (s *RecoveryPointByBackupVault) SetCreationDate(v time.Time) *RecoveryPointByBackupVault {
9106	s.CreationDate = &v
9107	return s
9108}
9109
9110// SetEncryptionKeyArn sets the EncryptionKeyArn field's value.
9111func (s *RecoveryPointByBackupVault) SetEncryptionKeyArn(v string) *RecoveryPointByBackupVault {
9112	s.EncryptionKeyArn = &v
9113	return s
9114}
9115
9116// SetIamRoleArn sets the IamRoleArn field's value.
9117func (s *RecoveryPointByBackupVault) SetIamRoleArn(v string) *RecoveryPointByBackupVault {
9118	s.IamRoleArn = &v
9119	return s
9120}
9121
9122// SetIsEncrypted sets the IsEncrypted field's value.
9123func (s *RecoveryPointByBackupVault) SetIsEncrypted(v bool) *RecoveryPointByBackupVault {
9124	s.IsEncrypted = &v
9125	return s
9126}
9127
9128// SetLastRestoreTime sets the LastRestoreTime field's value.
9129func (s *RecoveryPointByBackupVault) SetLastRestoreTime(v time.Time) *RecoveryPointByBackupVault {
9130	s.LastRestoreTime = &v
9131	return s
9132}
9133
9134// SetLifecycle sets the Lifecycle field's value.
9135func (s *RecoveryPointByBackupVault) SetLifecycle(v *Lifecycle) *RecoveryPointByBackupVault {
9136	s.Lifecycle = v
9137	return s
9138}
9139
9140// SetRecoveryPointArn sets the RecoveryPointArn field's value.
9141func (s *RecoveryPointByBackupVault) SetRecoveryPointArn(v string) *RecoveryPointByBackupVault {
9142	s.RecoveryPointArn = &v
9143	return s
9144}
9145
9146// SetResourceArn sets the ResourceArn field's value.
9147func (s *RecoveryPointByBackupVault) SetResourceArn(v string) *RecoveryPointByBackupVault {
9148	s.ResourceArn = &v
9149	return s
9150}
9151
9152// SetResourceType sets the ResourceType field's value.
9153func (s *RecoveryPointByBackupVault) SetResourceType(v string) *RecoveryPointByBackupVault {
9154	s.ResourceType = &v
9155	return s
9156}
9157
9158// SetStatus sets the Status field's value.
9159func (s *RecoveryPointByBackupVault) SetStatus(v string) *RecoveryPointByBackupVault {
9160	s.Status = &v
9161	return s
9162}
9163
9164// Contains detailed information about a saved recovery point.
9165type RecoveryPointByResource struct {
9166	_ struct{} `type:"structure"`
9167
9168	// The size, in bytes, of a backup.
9169	BackupSizeBytes *int64 `type:"long"`
9170
9171	// The name of a logical container where backups are stored. Backup vaults are
9172	// identified by names that are unique to the account used to create them and
9173	// the AWS Region where they are created. They consist of lowercase letters,
9174	// numbers, and hyphens.
9175	BackupVaultName *string `type:"string"`
9176
9177	// The date and time a recovery point is created, in Unix format and Coordinated
9178	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds.
9179	// For example, the value 1516925490.087 represents Friday, January 26, 2018
9180	// 12:11:30.087 AM.
9181	CreationDate *time.Time `type:"timestamp"`
9182
9183	// The server-side encryption key that is used to protect your backups; for
9184	// example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
9185	EncryptionKeyArn *string `type:"string"`
9186
9187	// An Amazon Resource Name (ARN) that uniquely identifies a recovery point;
9188	// for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
9189	RecoveryPointArn *string `type:"string"`
9190
9191	// A status code specifying the state of the recovery point.
9192	Status *string `type:"string" enum:"RecoveryPointStatus"`
9193}
9194
9195// String returns the string representation
9196func (s RecoveryPointByResource) String() string {
9197	return awsutil.Prettify(s)
9198}
9199
9200// GoString returns the string representation
9201func (s RecoveryPointByResource) GoString() string {
9202	return s.String()
9203}
9204
9205// SetBackupSizeBytes sets the BackupSizeBytes field's value.
9206func (s *RecoveryPointByResource) SetBackupSizeBytes(v int64) *RecoveryPointByResource {
9207	s.BackupSizeBytes = &v
9208	return s
9209}
9210
9211// SetBackupVaultName sets the BackupVaultName field's value.
9212func (s *RecoveryPointByResource) SetBackupVaultName(v string) *RecoveryPointByResource {
9213	s.BackupVaultName = &v
9214	return s
9215}
9216
9217// SetCreationDate sets the CreationDate field's value.
9218func (s *RecoveryPointByResource) SetCreationDate(v time.Time) *RecoveryPointByResource {
9219	s.CreationDate = &v
9220	return s
9221}
9222
9223// SetEncryptionKeyArn sets the EncryptionKeyArn field's value.
9224func (s *RecoveryPointByResource) SetEncryptionKeyArn(v string) *RecoveryPointByResource {
9225	s.EncryptionKeyArn = &v
9226	return s
9227}
9228
9229// SetRecoveryPointArn sets the RecoveryPointArn field's value.
9230func (s *RecoveryPointByResource) SetRecoveryPointArn(v string) *RecoveryPointByResource {
9231	s.RecoveryPointArn = &v
9232	return s
9233}
9234
9235// SetStatus sets the Status field's value.
9236func (s *RecoveryPointByResource) SetStatus(v string) *RecoveryPointByResource {
9237	s.Status = &v
9238	return s
9239}
9240
9241// Contains information about the backup plan and rule that AWS Backup used
9242// to initiate the recovery point backup.
9243type RecoveryPointCreator struct {
9244	_ struct{} `type:"structure"`
9245
9246	// An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for
9247	// example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.
9248	BackupPlanArn *string `type:"string"`
9249
9250	// Uniquely identifies a backup plan.
9251	BackupPlanId *string `type:"string"`
9252
9253	// Version IDs are unique, randomly generated, Unicode, UTF-8 encoded strings
9254	// that are at most 1,024 bytes long. They cannot be edited.
9255	BackupPlanVersion *string `type:"string"`
9256
9257	// Uniquely identifies a rule used to schedule the backup of a selection of
9258	// resources.
9259	BackupRuleId *string `type:"string"`
9260}
9261
9262// String returns the string representation
9263func (s RecoveryPointCreator) String() string {
9264	return awsutil.Prettify(s)
9265}
9266
9267// GoString returns the string representation
9268func (s RecoveryPointCreator) GoString() string {
9269	return s.String()
9270}
9271
9272// SetBackupPlanArn sets the BackupPlanArn field's value.
9273func (s *RecoveryPointCreator) SetBackupPlanArn(v string) *RecoveryPointCreator {
9274	s.BackupPlanArn = &v
9275	return s
9276}
9277
9278// SetBackupPlanId sets the BackupPlanId field's value.
9279func (s *RecoveryPointCreator) SetBackupPlanId(v string) *RecoveryPointCreator {
9280	s.BackupPlanId = &v
9281	return s
9282}
9283
9284// SetBackupPlanVersion sets the BackupPlanVersion field's value.
9285func (s *RecoveryPointCreator) SetBackupPlanVersion(v string) *RecoveryPointCreator {
9286	s.BackupPlanVersion = &v
9287	return s
9288}
9289
9290// SetBackupRuleId sets the BackupRuleId field's value.
9291func (s *RecoveryPointCreator) SetBackupRuleId(v string) *RecoveryPointCreator {
9292	s.BackupRuleId = &v
9293	return s
9294}
9295
9296// Contains metadata about a restore job.
9297type RestoreJobsListMember struct {
9298	_ struct{} `type:"structure"`
9299
9300	// The size, in bytes, of the restored resource.
9301	BackupSizeInBytes *int64 `type:"long"`
9302
9303	// The date and time a job to restore a recovery point is completed, in Unix
9304	// format and Coordinated Universal Time (UTC). The value of CompletionDate
9305	// is accurate to milliseconds. For example, the value 1516925490.087 represents
9306	// Friday, January 26, 2018 12:11:30.087 AM.
9307	CompletionDate *time.Time `type:"timestamp"`
9308
9309	// An Amazon Resource Name (ARN) that uniquely identifies a resource. The format
9310	// of the ARN depends on the resource type.
9311	CreatedResourceArn *string `type:"string"`
9312
9313	// The date and time a restore job is created, in Unix format and Coordinated
9314	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds.
9315	// For example, the value 1516925490.087 represents Friday, January 26, 2018
9316	// 12:11:30.087 AM.
9317	CreationDate *time.Time `type:"timestamp"`
9318
9319	// The amount of time in minutes that a job restoring a recovery point is expected
9320	// to take.
9321	ExpectedCompletionTimeMinutes *int64 `type:"long"`
9322
9323	// Specifies the IAM role ARN used to create the target recovery point; for
9324	// example, arn:aws:iam::123456789012:role/S3Access.
9325	IamRoleArn *string `type:"string"`
9326
9327	// Contains an estimated percentage complete of a job at the time the job status
9328	// was queried.
9329	PercentDone *string `type:"string"`
9330
9331	// An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
9332	RecoveryPointArn *string `type:"string"`
9333
9334	// Uniquely identifies the job that restores a recovery point.
9335	RestoreJobId *string `type:"string"`
9336
9337	// A status code specifying the state of the job initiated by AWS Backup to
9338	// restore a recovery point.
9339	Status *string `type:"string" enum:"RestoreJobStatus"`
9340
9341	// A detailed message explaining the status of the job to restore a recovery
9342	// point.
9343	StatusMessage *string `type:"string"`
9344}
9345
9346// String returns the string representation
9347func (s RestoreJobsListMember) String() string {
9348	return awsutil.Prettify(s)
9349}
9350
9351// GoString returns the string representation
9352func (s RestoreJobsListMember) GoString() string {
9353	return s.String()
9354}
9355
9356// SetBackupSizeInBytes sets the BackupSizeInBytes field's value.
9357func (s *RestoreJobsListMember) SetBackupSizeInBytes(v int64) *RestoreJobsListMember {
9358	s.BackupSizeInBytes = &v
9359	return s
9360}
9361
9362// SetCompletionDate sets the CompletionDate field's value.
9363func (s *RestoreJobsListMember) SetCompletionDate(v time.Time) *RestoreJobsListMember {
9364	s.CompletionDate = &v
9365	return s
9366}
9367
9368// SetCreatedResourceArn sets the CreatedResourceArn field's value.
9369func (s *RestoreJobsListMember) SetCreatedResourceArn(v string) *RestoreJobsListMember {
9370	s.CreatedResourceArn = &v
9371	return s
9372}
9373
9374// SetCreationDate sets the CreationDate field's value.
9375func (s *RestoreJobsListMember) SetCreationDate(v time.Time) *RestoreJobsListMember {
9376	s.CreationDate = &v
9377	return s
9378}
9379
9380// SetExpectedCompletionTimeMinutes sets the ExpectedCompletionTimeMinutes field's value.
9381func (s *RestoreJobsListMember) SetExpectedCompletionTimeMinutes(v int64) *RestoreJobsListMember {
9382	s.ExpectedCompletionTimeMinutes = &v
9383	return s
9384}
9385
9386// SetIamRoleArn sets the IamRoleArn field's value.
9387func (s *RestoreJobsListMember) SetIamRoleArn(v string) *RestoreJobsListMember {
9388	s.IamRoleArn = &v
9389	return s
9390}
9391
9392// SetPercentDone sets the PercentDone field's value.
9393func (s *RestoreJobsListMember) SetPercentDone(v string) *RestoreJobsListMember {
9394	s.PercentDone = &v
9395	return s
9396}
9397
9398// SetRecoveryPointArn sets the RecoveryPointArn field's value.
9399func (s *RestoreJobsListMember) SetRecoveryPointArn(v string) *RestoreJobsListMember {
9400	s.RecoveryPointArn = &v
9401	return s
9402}
9403
9404// SetRestoreJobId sets the RestoreJobId field's value.
9405func (s *RestoreJobsListMember) SetRestoreJobId(v string) *RestoreJobsListMember {
9406	s.RestoreJobId = &v
9407	return s
9408}
9409
9410// SetStatus sets the Status field's value.
9411func (s *RestoreJobsListMember) SetStatus(v string) *RestoreJobsListMember {
9412	s.Status = &v
9413	return s
9414}
9415
9416// SetStatusMessage sets the StatusMessage field's value.
9417func (s *RestoreJobsListMember) SetStatusMessage(v string) *RestoreJobsListMember {
9418	s.StatusMessage = &v
9419	return s
9420}
9421
9422// Specifies a scheduled task used to back up a selection of resources.
9423type Rule struct {
9424	_ struct{} `type:"structure"`
9425
9426	// A value in minutes after a backup job is successfully started before it must
9427	// be completed or it is canceled by AWS Backup. This value is optional.
9428	CompletionWindowMinutes *int64 `type:"long"`
9429
9430	// The lifecycle defines when a protected resource is transitioned to cold storage
9431	// and when it expires. AWS Backup transitions and expires backups automatically
9432	// according to the lifecycle that you define.
9433	//
9434	// Backups transitioned to cold storage must be stored in cold storage for a
9435	// minimum of 90 days. Therefore, the “expire after days” setting must be
9436	// 90 days greater than the “transition to cold after days” setting. The
9437	// “transition to cold after days” setting cannot be changed after a backup
9438	// has been transitioned to cold.
9439	Lifecycle *Lifecycle `type:"structure"`
9440
9441	// An array of key-value pair strings that are assigned to resources that are
9442	// associated with this rule when restored from backup.
9443	RecoveryPointTags map[string]*string `type:"map" sensitive:"true"`
9444
9445	// Uniquely identifies a rule that is used to schedule the backup of a selection
9446	// of resources.
9447	RuleId *string `type:"string"`
9448
9449	// An optional display name for a backup rule.
9450	//
9451	// RuleName is a required field
9452	RuleName *string `type:"string" required:"true"`
9453
9454	// A CRON expression specifying when AWS Backup initiates a backup job.
9455	ScheduleExpression *string `type:"string"`
9456
9457	// An optional value that specifies a period of time in minutes after a backup
9458	// is scheduled before a job is canceled if it doesn't start successfully.
9459	StartWindowMinutes *int64 `type:"long"`
9460
9461	// The name of a logical container where backups are stored. Backup vaults are
9462	// identified by names that are unique to the account used to create them and
9463	// the AWS Region where they are created. They consist of lowercase letters,
9464	// numbers, and hyphens.
9465	//
9466	// TargetBackupVaultName is a required field
9467	TargetBackupVaultName *string `type:"string" required:"true"`
9468}
9469
9470// String returns the string representation
9471func (s Rule) String() string {
9472	return awsutil.Prettify(s)
9473}
9474
9475// GoString returns the string representation
9476func (s Rule) GoString() string {
9477	return s.String()
9478}
9479
9480// SetCompletionWindowMinutes sets the CompletionWindowMinutes field's value.
9481func (s *Rule) SetCompletionWindowMinutes(v int64) *Rule {
9482	s.CompletionWindowMinutes = &v
9483	return s
9484}
9485
9486// SetLifecycle sets the Lifecycle field's value.
9487func (s *Rule) SetLifecycle(v *Lifecycle) *Rule {
9488	s.Lifecycle = v
9489	return s
9490}
9491
9492// SetRecoveryPointTags sets the RecoveryPointTags field's value.
9493func (s *Rule) SetRecoveryPointTags(v map[string]*string) *Rule {
9494	s.RecoveryPointTags = v
9495	return s
9496}
9497
9498// SetRuleId sets the RuleId field's value.
9499func (s *Rule) SetRuleId(v string) *Rule {
9500	s.RuleId = &v
9501	return s
9502}
9503
9504// SetRuleName sets the RuleName field's value.
9505func (s *Rule) SetRuleName(v string) *Rule {
9506	s.RuleName = &v
9507	return s
9508}
9509
9510// SetScheduleExpression sets the ScheduleExpression field's value.
9511func (s *Rule) SetScheduleExpression(v string) *Rule {
9512	s.ScheduleExpression = &v
9513	return s
9514}
9515
9516// SetStartWindowMinutes sets the StartWindowMinutes field's value.
9517func (s *Rule) SetStartWindowMinutes(v int64) *Rule {
9518	s.StartWindowMinutes = &v
9519	return s
9520}
9521
9522// SetTargetBackupVaultName sets the TargetBackupVaultName field's value.
9523func (s *Rule) SetTargetBackupVaultName(v string) *Rule {
9524	s.TargetBackupVaultName = &v
9525	return s
9526}
9527
9528// Specifies a scheduled task used to back up a selection of resources.
9529type RuleInput struct {
9530	_ struct{} `type:"structure"`
9531
9532	// The amount of time AWS Backup attempts a backup before canceling the job
9533	// and returning an error.
9534	CompletionWindowMinutes *int64 `type:"long"`
9535
9536	// The lifecycle defines when a protected resource is transitioned to cold storage
9537	// and when it expires. AWS Backup will transition and expire backups automatically
9538	// according to the lifecycle that you define.
9539	//
9540	// Backups transitioned to cold storage must be stored in cold storage for a
9541	// minimum of 90 days. Therefore, the “expire after days” setting must be
9542	// 90 days greater than the “transition to cold after days”. The “transition
9543	// to cold after days” setting cannot be changed after a backup has been transitioned
9544	// to cold.
9545	Lifecycle *Lifecycle `type:"structure"`
9546
9547	// To help organize your resources, you can assign your own metadata to the
9548	// resources that you create. Each tag is a key-value pair.
9549	RecoveryPointTags map[string]*string `type:"map" sensitive:"true"`
9550
9551	// >An optional display name for a backup rule.
9552	//
9553	// RuleName is a required field
9554	RuleName *string `type:"string" required:"true"`
9555
9556	// A CRON expression specifying when AWS Backup initiates a backup job.
9557	ScheduleExpression *string `type:"string"`
9558
9559	// The amount of time in minutes before beginning a backup.
9560	StartWindowMinutes *int64 `type:"long"`
9561
9562	// The name of a logical container where backups are stored. Backup vaults are
9563	// identified by names that are unique to the account used to create them and
9564	// the AWS Region where they are created. They consist of lowercase letters,
9565	// numbers, and hyphens.
9566	//
9567	// TargetBackupVaultName is a required field
9568	TargetBackupVaultName *string `type:"string" required:"true"`
9569}
9570
9571// String returns the string representation
9572func (s RuleInput) String() string {
9573	return awsutil.Prettify(s)
9574}
9575
9576// GoString returns the string representation
9577func (s RuleInput) GoString() string {
9578	return s.String()
9579}
9580
9581// Validate inspects the fields of the type to determine if they are valid.
9582func (s *RuleInput) Validate() error {
9583	invalidParams := request.ErrInvalidParams{Context: "RuleInput"}
9584	if s.RuleName == nil {
9585		invalidParams.Add(request.NewErrParamRequired("RuleName"))
9586	}
9587	if s.TargetBackupVaultName == nil {
9588		invalidParams.Add(request.NewErrParamRequired("TargetBackupVaultName"))
9589	}
9590
9591	if invalidParams.Len() > 0 {
9592		return invalidParams
9593	}
9594	return nil
9595}
9596
9597// SetCompletionWindowMinutes sets the CompletionWindowMinutes field's value.
9598func (s *RuleInput) SetCompletionWindowMinutes(v int64) *RuleInput {
9599	s.CompletionWindowMinutes = &v
9600	return s
9601}
9602
9603// SetLifecycle sets the Lifecycle field's value.
9604func (s *RuleInput) SetLifecycle(v *Lifecycle) *RuleInput {
9605	s.Lifecycle = v
9606	return s
9607}
9608
9609// SetRecoveryPointTags sets the RecoveryPointTags field's value.
9610func (s *RuleInput) SetRecoveryPointTags(v map[string]*string) *RuleInput {
9611	s.RecoveryPointTags = v
9612	return s
9613}
9614
9615// SetRuleName sets the RuleName field's value.
9616func (s *RuleInput) SetRuleName(v string) *RuleInput {
9617	s.RuleName = &v
9618	return s
9619}
9620
9621// SetScheduleExpression sets the ScheduleExpression field's value.
9622func (s *RuleInput) SetScheduleExpression(v string) *RuleInput {
9623	s.ScheduleExpression = &v
9624	return s
9625}
9626
9627// SetStartWindowMinutes sets the StartWindowMinutes field's value.
9628func (s *RuleInput) SetStartWindowMinutes(v int64) *RuleInput {
9629	s.StartWindowMinutes = &v
9630	return s
9631}
9632
9633// SetTargetBackupVaultName sets the TargetBackupVaultName field's value.
9634func (s *RuleInput) SetTargetBackupVaultName(v string) *RuleInput {
9635	s.TargetBackupVaultName = &v
9636	return s
9637}
9638
9639// Used to specify a set of resources to a backup plan.
9640type Selection struct {
9641	_ struct{} `type:"structure"`
9642
9643	// The ARN of the IAM role that AWS Backup uses to authenticate when restoring
9644	// the target resource; for example, arn:aws:iam::123456789012:role/S3Access.
9645	//
9646	// IamRoleArn is a required field
9647	IamRoleArn *string `type:"string" required:"true"`
9648
9649	// An array of conditions used to specify a set of resources to assign to a
9650	// backup plan; for example, "StringEquals": {"ec2:ResourceTag/Department":
9651	// "accounting".
9652	ListOfTags []*Condition `type:"list"`
9653
9654	// An array of strings that either contain Amazon Resource Names (ARNs) or match
9655	// patterns such as "arn:aws:ec2:us-east-1:123456789012:volume/*" of resources
9656	// to assign to a backup plan.
9657	Resources []*string `type:"list"`
9658
9659	// The display name of a resource selection document.
9660	//
9661	// SelectionName is a required field
9662	SelectionName *string `type:"string" required:"true"`
9663}
9664
9665// String returns the string representation
9666func (s Selection) String() string {
9667	return awsutil.Prettify(s)
9668}
9669
9670// GoString returns the string representation
9671func (s Selection) GoString() string {
9672	return s.String()
9673}
9674
9675// Validate inspects the fields of the type to determine if they are valid.
9676func (s *Selection) Validate() error {
9677	invalidParams := request.ErrInvalidParams{Context: "Selection"}
9678	if s.IamRoleArn == nil {
9679		invalidParams.Add(request.NewErrParamRequired("IamRoleArn"))
9680	}
9681	if s.SelectionName == nil {
9682		invalidParams.Add(request.NewErrParamRequired("SelectionName"))
9683	}
9684	if s.ListOfTags != nil {
9685		for i, v := range s.ListOfTags {
9686			if v == nil {
9687				continue
9688			}
9689			if err := v.Validate(); err != nil {
9690				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ListOfTags", i), err.(request.ErrInvalidParams))
9691			}
9692		}
9693	}
9694
9695	if invalidParams.Len() > 0 {
9696		return invalidParams
9697	}
9698	return nil
9699}
9700
9701// SetIamRoleArn sets the IamRoleArn field's value.
9702func (s *Selection) SetIamRoleArn(v string) *Selection {
9703	s.IamRoleArn = &v
9704	return s
9705}
9706
9707// SetListOfTags sets the ListOfTags field's value.
9708func (s *Selection) SetListOfTags(v []*Condition) *Selection {
9709	s.ListOfTags = v
9710	return s
9711}
9712
9713// SetResources sets the Resources field's value.
9714func (s *Selection) SetResources(v []*string) *Selection {
9715	s.Resources = v
9716	return s
9717}
9718
9719// SetSelectionName sets the SelectionName field's value.
9720func (s *Selection) SetSelectionName(v string) *Selection {
9721	s.SelectionName = &v
9722	return s
9723}
9724
9725// Contains metadata about a BackupSelection object.
9726type SelectionsListMember struct {
9727	_ struct{} `type:"structure"`
9728
9729	// Uniquely identifies a backup plan.
9730	BackupPlanId *string `type:"string"`
9731
9732	// The date and time a backup plan is created, in Unix format and Coordinated
9733	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds.
9734	// For example, the value 1516925490.087 represents Friday, January 26, 2018
9735	// 12:11:30.087 AM.
9736	CreationDate *time.Time `type:"timestamp"`
9737
9738	// A unique string that identifies the request and allows failed requests to
9739	// be retried without the risk of executing the operation twice.
9740	CreatorRequestId *string `type:"string"`
9741
9742	// Specifies the IAM role Amazon Resource Name (ARN) to create the target recovery
9743	// point; for example, arn:aws:iam::123456789012:role/S3Access.
9744	IamRoleArn *string `type:"string"`
9745
9746	// Uniquely identifies a request to assign a set of resources to a backup plan.
9747	SelectionId *string `type:"string"`
9748
9749	// The display name of a resource selection document.
9750	SelectionName *string `type:"string"`
9751}
9752
9753// String returns the string representation
9754func (s SelectionsListMember) String() string {
9755	return awsutil.Prettify(s)
9756}
9757
9758// GoString returns the string representation
9759func (s SelectionsListMember) GoString() string {
9760	return s.String()
9761}
9762
9763// SetBackupPlanId sets the BackupPlanId field's value.
9764func (s *SelectionsListMember) SetBackupPlanId(v string) *SelectionsListMember {
9765	s.BackupPlanId = &v
9766	return s
9767}
9768
9769// SetCreationDate sets the CreationDate field's value.
9770func (s *SelectionsListMember) SetCreationDate(v time.Time) *SelectionsListMember {
9771	s.CreationDate = &v
9772	return s
9773}
9774
9775// SetCreatorRequestId sets the CreatorRequestId field's value.
9776func (s *SelectionsListMember) SetCreatorRequestId(v string) *SelectionsListMember {
9777	s.CreatorRequestId = &v
9778	return s
9779}
9780
9781// SetIamRoleArn sets the IamRoleArn field's value.
9782func (s *SelectionsListMember) SetIamRoleArn(v string) *SelectionsListMember {
9783	s.IamRoleArn = &v
9784	return s
9785}
9786
9787// SetSelectionId sets the SelectionId field's value.
9788func (s *SelectionsListMember) SetSelectionId(v string) *SelectionsListMember {
9789	s.SelectionId = &v
9790	return s
9791}
9792
9793// SetSelectionName sets the SelectionName field's value.
9794func (s *SelectionsListMember) SetSelectionName(v string) *SelectionsListMember {
9795	s.SelectionName = &v
9796	return s
9797}
9798
9799type StartBackupJobInput struct {
9800	_ struct{} `type:"structure"`
9801
9802	// The name of a logical container where backups are stored. Backup vaults are
9803	// identified by names that are unique to the account used to create them and
9804	// the AWS Region where they are created. They consist of lowercase letters,
9805	// numbers, and hyphens.
9806	//
9807	// BackupVaultName is a required field
9808	BackupVaultName *string `type:"string" required:"true"`
9809
9810	// The amount of time AWS Backup attempts a backup before canceling the job
9811	// and returning an error.
9812	CompleteWindowMinutes *int64 `type:"long"`
9813
9814	// Specifies the IAM role ARN used to create the target recovery point; for
9815	// example, arn:aws:iam::123456789012:role/S3Access.
9816	//
9817	// IamRoleArn is a required field
9818	IamRoleArn *string `type:"string" required:"true"`
9819
9820	// A customer chosen string that can be used to distinguish between calls to
9821	// StartBackupJob. Idempotency tokens time out after one hour. Therefore, if
9822	// you call StartBackupJob multiple times with the same idempotency token within
9823	// one hour, AWS Backup recognizes that you are requesting only one backup job
9824	// and initiates only one. If you change the idempotency token for each call,
9825	// AWS Backup recognizes that you are requesting to start multiple backups.
9826	IdempotencyToken *string `type:"string"`
9827
9828	// The lifecycle defines when a protected resource is transitioned to cold storage
9829	// and when it expires. AWS Backup will transition and expire backups automatically
9830	// according to the lifecycle that you define.
9831	//
9832	// Backups transitioned to cold storage must be stored in cold storage for a
9833	// minimum of 90 days. Therefore, the “expire after days” setting must be
9834	// 90 days greater than the “transition to cold after days” setting. The
9835	// “transition to cold after days” setting cannot be changed after a backup
9836	// has been transitioned to cold.
9837	Lifecycle *Lifecycle `type:"structure"`
9838
9839	// To help organize your resources, you can assign your own metadata to the
9840	// resources that you create. Each tag is a key-value pair.
9841	RecoveryPointTags map[string]*string `type:"map" sensitive:"true"`
9842
9843	// An Amazon Resource Name (ARN) that uniquely identifies a resource. The format
9844	// of the ARN depends on the resource type.
9845	//
9846	// ResourceArn is a required field
9847	ResourceArn *string `type:"string" required:"true"`
9848
9849	// The amount of time in minutes before beginning a backup.
9850	StartWindowMinutes *int64 `type:"long"`
9851}
9852
9853// String returns the string representation
9854func (s StartBackupJobInput) String() string {
9855	return awsutil.Prettify(s)
9856}
9857
9858// GoString returns the string representation
9859func (s StartBackupJobInput) GoString() string {
9860	return s.String()
9861}
9862
9863// Validate inspects the fields of the type to determine if they are valid.
9864func (s *StartBackupJobInput) Validate() error {
9865	invalidParams := request.ErrInvalidParams{Context: "StartBackupJobInput"}
9866	if s.BackupVaultName == nil {
9867		invalidParams.Add(request.NewErrParamRequired("BackupVaultName"))
9868	}
9869	if s.IamRoleArn == nil {
9870		invalidParams.Add(request.NewErrParamRequired("IamRoleArn"))
9871	}
9872	if s.ResourceArn == nil {
9873		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9874	}
9875
9876	if invalidParams.Len() > 0 {
9877		return invalidParams
9878	}
9879	return nil
9880}
9881
9882// SetBackupVaultName sets the BackupVaultName field's value.
9883func (s *StartBackupJobInput) SetBackupVaultName(v string) *StartBackupJobInput {
9884	s.BackupVaultName = &v
9885	return s
9886}
9887
9888// SetCompleteWindowMinutes sets the CompleteWindowMinutes field's value.
9889func (s *StartBackupJobInput) SetCompleteWindowMinutes(v int64) *StartBackupJobInput {
9890	s.CompleteWindowMinutes = &v
9891	return s
9892}
9893
9894// SetIamRoleArn sets the IamRoleArn field's value.
9895func (s *StartBackupJobInput) SetIamRoleArn(v string) *StartBackupJobInput {
9896	s.IamRoleArn = &v
9897	return s
9898}
9899
9900// SetIdempotencyToken sets the IdempotencyToken field's value.
9901func (s *StartBackupJobInput) SetIdempotencyToken(v string) *StartBackupJobInput {
9902	s.IdempotencyToken = &v
9903	return s
9904}
9905
9906// SetLifecycle sets the Lifecycle field's value.
9907func (s *StartBackupJobInput) SetLifecycle(v *Lifecycle) *StartBackupJobInput {
9908	s.Lifecycle = v
9909	return s
9910}
9911
9912// SetRecoveryPointTags sets the RecoveryPointTags field's value.
9913func (s *StartBackupJobInput) SetRecoveryPointTags(v map[string]*string) *StartBackupJobInput {
9914	s.RecoveryPointTags = v
9915	return s
9916}
9917
9918// SetResourceArn sets the ResourceArn field's value.
9919func (s *StartBackupJobInput) SetResourceArn(v string) *StartBackupJobInput {
9920	s.ResourceArn = &v
9921	return s
9922}
9923
9924// SetStartWindowMinutes sets the StartWindowMinutes field's value.
9925func (s *StartBackupJobInput) SetStartWindowMinutes(v int64) *StartBackupJobInput {
9926	s.StartWindowMinutes = &v
9927	return s
9928}
9929
9930type StartBackupJobOutput struct {
9931	_ struct{} `type:"structure"`
9932
9933	// Uniquely identifies a request to AWS Backup to back up a resource.
9934	BackupJobId *string `type:"string"`
9935
9936	// The date and time that a backup job is started, in Unix format and Coordinated
9937	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds.
9938	// For example, the value 1516925490.087 represents Friday, January 26, 2018
9939	// 12:11:30.087 AM.
9940	CreationDate *time.Time `type:"timestamp"`
9941
9942	// An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
9943	RecoveryPointArn *string `type:"string"`
9944}
9945
9946// String returns the string representation
9947func (s StartBackupJobOutput) String() string {
9948	return awsutil.Prettify(s)
9949}
9950
9951// GoString returns the string representation
9952func (s StartBackupJobOutput) GoString() string {
9953	return s.String()
9954}
9955
9956// SetBackupJobId sets the BackupJobId field's value.
9957func (s *StartBackupJobOutput) SetBackupJobId(v string) *StartBackupJobOutput {
9958	s.BackupJobId = &v
9959	return s
9960}
9961
9962// SetCreationDate sets the CreationDate field's value.
9963func (s *StartBackupJobOutput) SetCreationDate(v time.Time) *StartBackupJobOutput {
9964	s.CreationDate = &v
9965	return s
9966}
9967
9968// SetRecoveryPointArn sets the RecoveryPointArn field's value.
9969func (s *StartBackupJobOutput) SetRecoveryPointArn(v string) *StartBackupJobOutput {
9970	s.RecoveryPointArn = &v
9971	return s
9972}
9973
9974type StartRestoreJobInput struct {
9975	_ struct{} `type:"structure"`
9976
9977	// The Amazon Resource Name (ARN) of the IAM role that AWS Backup uses to create
9978	// the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.
9979	//
9980	// IamRoleArn is a required field
9981	IamRoleArn *string `type:"string" required:"true"`
9982
9983	// A customer chosen string that can be used to distinguish between calls to
9984	// StartRestoreJob. Idempotency tokens time out after one hour. Therefore, if
9985	// you call StartRestoreJob multiple times with the same idempotency token within
9986	// one hour, AWS Backup recognizes that you are requesting only one restore
9987	// job and initiates only one. If you change the idempotency token for each
9988	// call, AWS Backup recognizes that you are requesting to start multiple restores.
9989	IdempotencyToken *string `type:"string"`
9990
9991	// A set of metadata key-value pairs. Lists the metadata that the recovery point
9992	// was created with.
9993	//
9994	// Metadata is a required field
9995	Metadata map[string]*string `type:"map" required:"true"`
9996
9997	// An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
9998	//
9999	// RecoveryPointArn is a required field
10000	RecoveryPointArn *string `type:"string" required:"true"`
10001
10002	// Starts a job to restore a recovery point for one of the following resources:
10003	//
10004	//    * EBS for Amazon Elastic Block Store
10005	//
10006	//    * SGW for AWS Storage Gateway
10007	//
10008	//    * RDS for Amazon Relational Database Service
10009	//
10010	//    * DDB for Amazon DynamoDB
10011	//
10012	//    * EFS for Amazon Elastic File System
10013	ResourceType *string `type:"string"`
10014}
10015
10016// String returns the string representation
10017func (s StartRestoreJobInput) String() string {
10018	return awsutil.Prettify(s)
10019}
10020
10021// GoString returns the string representation
10022func (s StartRestoreJobInput) GoString() string {
10023	return s.String()
10024}
10025
10026// Validate inspects the fields of the type to determine if they are valid.
10027func (s *StartRestoreJobInput) Validate() error {
10028	invalidParams := request.ErrInvalidParams{Context: "StartRestoreJobInput"}
10029	if s.IamRoleArn == nil {
10030		invalidParams.Add(request.NewErrParamRequired("IamRoleArn"))
10031	}
10032	if s.Metadata == nil {
10033		invalidParams.Add(request.NewErrParamRequired("Metadata"))
10034	}
10035	if s.RecoveryPointArn == nil {
10036		invalidParams.Add(request.NewErrParamRequired("RecoveryPointArn"))
10037	}
10038
10039	if invalidParams.Len() > 0 {
10040		return invalidParams
10041	}
10042	return nil
10043}
10044
10045// SetIamRoleArn sets the IamRoleArn field's value.
10046func (s *StartRestoreJobInput) SetIamRoleArn(v string) *StartRestoreJobInput {
10047	s.IamRoleArn = &v
10048	return s
10049}
10050
10051// SetIdempotencyToken sets the IdempotencyToken field's value.
10052func (s *StartRestoreJobInput) SetIdempotencyToken(v string) *StartRestoreJobInput {
10053	s.IdempotencyToken = &v
10054	return s
10055}
10056
10057// SetMetadata sets the Metadata field's value.
10058func (s *StartRestoreJobInput) SetMetadata(v map[string]*string) *StartRestoreJobInput {
10059	s.Metadata = v
10060	return s
10061}
10062
10063// SetRecoveryPointArn sets the RecoveryPointArn field's value.
10064func (s *StartRestoreJobInput) SetRecoveryPointArn(v string) *StartRestoreJobInput {
10065	s.RecoveryPointArn = &v
10066	return s
10067}
10068
10069// SetResourceType sets the ResourceType field's value.
10070func (s *StartRestoreJobInput) SetResourceType(v string) *StartRestoreJobInput {
10071	s.ResourceType = &v
10072	return s
10073}
10074
10075type StartRestoreJobOutput struct {
10076	_ struct{} `type:"structure"`
10077
10078	// Uniquely identifies the job that restores a recovery point.
10079	RestoreJobId *string `type:"string"`
10080}
10081
10082// String returns the string representation
10083func (s StartRestoreJobOutput) String() string {
10084	return awsutil.Prettify(s)
10085}
10086
10087// GoString returns the string representation
10088func (s StartRestoreJobOutput) GoString() string {
10089	return s.String()
10090}
10091
10092// SetRestoreJobId sets the RestoreJobId field's value.
10093func (s *StartRestoreJobOutput) SetRestoreJobId(v string) *StartRestoreJobOutput {
10094	s.RestoreJobId = &v
10095	return s
10096}
10097
10098type StopBackupJobInput struct {
10099	_ struct{} `type:"structure"`
10100
10101	// Uniquely identifies a request to AWS Backup to back up a resource.
10102	//
10103	// BackupJobId is a required field
10104	BackupJobId *string `location:"uri" locationName:"backupJobId" type:"string" required:"true"`
10105}
10106
10107// String returns the string representation
10108func (s StopBackupJobInput) String() string {
10109	return awsutil.Prettify(s)
10110}
10111
10112// GoString returns the string representation
10113func (s StopBackupJobInput) GoString() string {
10114	return s.String()
10115}
10116
10117// Validate inspects the fields of the type to determine if they are valid.
10118func (s *StopBackupJobInput) Validate() error {
10119	invalidParams := request.ErrInvalidParams{Context: "StopBackupJobInput"}
10120	if s.BackupJobId == nil {
10121		invalidParams.Add(request.NewErrParamRequired("BackupJobId"))
10122	}
10123	if s.BackupJobId != nil && len(*s.BackupJobId) < 1 {
10124		invalidParams.Add(request.NewErrParamMinLen("BackupJobId", 1))
10125	}
10126
10127	if invalidParams.Len() > 0 {
10128		return invalidParams
10129	}
10130	return nil
10131}
10132
10133// SetBackupJobId sets the BackupJobId field's value.
10134func (s *StopBackupJobInput) SetBackupJobId(v string) *StopBackupJobInput {
10135	s.BackupJobId = &v
10136	return s
10137}
10138
10139type StopBackupJobOutput struct {
10140	_ struct{} `type:"structure"`
10141}
10142
10143// String returns the string representation
10144func (s StopBackupJobOutput) String() string {
10145	return awsutil.Prettify(s)
10146}
10147
10148// GoString returns the string representation
10149func (s StopBackupJobOutput) GoString() string {
10150	return s.String()
10151}
10152
10153type TagResourceInput struct {
10154	_ struct{} `type:"structure"`
10155
10156	// An ARN that uniquely identifies a resource. The format of the ARN depends
10157	// on the type of the tagged resource.
10158	//
10159	// ResourceArn is a required field
10160	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
10161
10162	// Key-value pairs that are used to help organize your resources. You can assign
10163	// your own metadata to the resources you create.
10164	//
10165	// Tags is a required field
10166	Tags map[string]*string `type:"map" required:"true" sensitive:"true"`
10167}
10168
10169// String returns the string representation
10170func (s TagResourceInput) String() string {
10171	return awsutil.Prettify(s)
10172}
10173
10174// GoString returns the string representation
10175func (s TagResourceInput) GoString() string {
10176	return s.String()
10177}
10178
10179// Validate inspects the fields of the type to determine if they are valid.
10180func (s *TagResourceInput) Validate() error {
10181	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
10182	if s.ResourceArn == nil {
10183		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10184	}
10185	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
10186		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
10187	}
10188	if s.Tags == nil {
10189		invalidParams.Add(request.NewErrParamRequired("Tags"))
10190	}
10191
10192	if invalidParams.Len() > 0 {
10193		return invalidParams
10194	}
10195	return nil
10196}
10197
10198// SetResourceArn sets the ResourceArn field's value.
10199func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
10200	s.ResourceArn = &v
10201	return s
10202}
10203
10204// SetTags sets the Tags field's value.
10205func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
10206	s.Tags = v
10207	return s
10208}
10209
10210type TagResourceOutput struct {
10211	_ struct{} `type:"structure"`
10212}
10213
10214// String returns the string representation
10215func (s TagResourceOutput) String() string {
10216	return awsutil.Prettify(s)
10217}
10218
10219// GoString returns the string representation
10220func (s TagResourceOutput) GoString() string {
10221	return s.String()
10222}
10223
10224type UntagResourceInput struct {
10225	_ struct{} `type:"structure"`
10226
10227	// An ARN that uniquely identifies a resource. The format of the ARN depends
10228	// on the type of the tagged resource.
10229	//
10230	// ResourceArn is a required field
10231	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
10232
10233	// A list of keys to identify which key-value tags to remove from a resource.
10234	//
10235	// TagKeyList is a required field
10236	TagKeyList []*string `type:"list" required:"true" sensitive:"true"`
10237}
10238
10239// String returns the string representation
10240func (s UntagResourceInput) String() string {
10241	return awsutil.Prettify(s)
10242}
10243
10244// GoString returns the string representation
10245func (s UntagResourceInput) GoString() string {
10246	return s.String()
10247}
10248
10249// Validate inspects the fields of the type to determine if they are valid.
10250func (s *UntagResourceInput) Validate() error {
10251	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
10252	if s.ResourceArn == nil {
10253		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10254	}
10255	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
10256		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
10257	}
10258	if s.TagKeyList == nil {
10259		invalidParams.Add(request.NewErrParamRequired("TagKeyList"))
10260	}
10261
10262	if invalidParams.Len() > 0 {
10263		return invalidParams
10264	}
10265	return nil
10266}
10267
10268// SetResourceArn sets the ResourceArn field's value.
10269func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
10270	s.ResourceArn = &v
10271	return s
10272}
10273
10274// SetTagKeyList sets the TagKeyList field's value.
10275func (s *UntagResourceInput) SetTagKeyList(v []*string) *UntagResourceInput {
10276	s.TagKeyList = v
10277	return s
10278}
10279
10280type UntagResourceOutput struct {
10281	_ struct{} `type:"structure"`
10282}
10283
10284// String returns the string representation
10285func (s UntagResourceOutput) String() string {
10286	return awsutil.Prettify(s)
10287}
10288
10289// GoString returns the string representation
10290func (s UntagResourceOutput) GoString() string {
10291	return s.String()
10292}
10293
10294type UpdateBackupPlanInput struct {
10295	_ struct{} `type:"structure"`
10296
10297	// Specifies the body of a backup plan. Includes a BackupPlanName and one or
10298	// more sets of Rules.
10299	//
10300	// BackupPlan is a required field
10301	BackupPlan *PlanInput `type:"structure" required:"true"`
10302
10303	// Uniquely identifies a backup plan.
10304	//
10305	// BackupPlanId is a required field
10306	BackupPlanId *string `location:"uri" locationName:"backupPlanId" type:"string" required:"true"`
10307}
10308
10309// String returns the string representation
10310func (s UpdateBackupPlanInput) String() string {
10311	return awsutil.Prettify(s)
10312}
10313
10314// GoString returns the string representation
10315func (s UpdateBackupPlanInput) GoString() string {
10316	return s.String()
10317}
10318
10319// Validate inspects the fields of the type to determine if they are valid.
10320func (s *UpdateBackupPlanInput) Validate() error {
10321	invalidParams := request.ErrInvalidParams{Context: "UpdateBackupPlanInput"}
10322	if s.BackupPlan == nil {
10323		invalidParams.Add(request.NewErrParamRequired("BackupPlan"))
10324	}
10325	if s.BackupPlanId == nil {
10326		invalidParams.Add(request.NewErrParamRequired("BackupPlanId"))
10327	}
10328	if s.BackupPlanId != nil && len(*s.BackupPlanId) < 1 {
10329		invalidParams.Add(request.NewErrParamMinLen("BackupPlanId", 1))
10330	}
10331	if s.BackupPlan != nil {
10332		if err := s.BackupPlan.Validate(); err != nil {
10333			invalidParams.AddNested("BackupPlan", err.(request.ErrInvalidParams))
10334		}
10335	}
10336
10337	if invalidParams.Len() > 0 {
10338		return invalidParams
10339	}
10340	return nil
10341}
10342
10343// SetBackupPlan sets the BackupPlan field's value.
10344func (s *UpdateBackupPlanInput) SetBackupPlan(v *PlanInput) *UpdateBackupPlanInput {
10345	s.BackupPlan = v
10346	return s
10347}
10348
10349// SetBackupPlanId sets the BackupPlanId field's value.
10350func (s *UpdateBackupPlanInput) SetBackupPlanId(v string) *UpdateBackupPlanInput {
10351	s.BackupPlanId = &v
10352	return s
10353}
10354
10355type UpdateBackupPlanOutput struct {
10356	_ struct{} `type:"structure"`
10357
10358	// An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for
10359	// example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.
10360	BackupPlanArn *string `type:"string"`
10361
10362	// Uniquely identifies a backup plan.
10363	BackupPlanId *string `type:"string"`
10364
10365	// The date and time a backup plan is updated, in Unix format and Coordinated
10366	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds.
10367	// For example, the value 1516925490.087 represents Friday, January 26, 2018
10368	// 12:11:30.087 AM.
10369	CreationDate *time.Time `type:"timestamp"`
10370
10371	// Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most
10372	// 1,024 bytes long. Version Ids cannot be edited.
10373	VersionId *string `type:"string"`
10374}
10375
10376// String returns the string representation
10377func (s UpdateBackupPlanOutput) String() string {
10378	return awsutil.Prettify(s)
10379}
10380
10381// GoString returns the string representation
10382func (s UpdateBackupPlanOutput) GoString() string {
10383	return s.String()
10384}
10385
10386// SetBackupPlanArn sets the BackupPlanArn field's value.
10387func (s *UpdateBackupPlanOutput) SetBackupPlanArn(v string) *UpdateBackupPlanOutput {
10388	s.BackupPlanArn = &v
10389	return s
10390}
10391
10392// SetBackupPlanId sets the BackupPlanId field's value.
10393func (s *UpdateBackupPlanOutput) SetBackupPlanId(v string) *UpdateBackupPlanOutput {
10394	s.BackupPlanId = &v
10395	return s
10396}
10397
10398// SetCreationDate sets the CreationDate field's value.
10399func (s *UpdateBackupPlanOutput) SetCreationDate(v time.Time) *UpdateBackupPlanOutput {
10400	s.CreationDate = &v
10401	return s
10402}
10403
10404// SetVersionId sets the VersionId field's value.
10405func (s *UpdateBackupPlanOutput) SetVersionId(v string) *UpdateBackupPlanOutput {
10406	s.VersionId = &v
10407	return s
10408}
10409
10410type UpdateRecoveryPointLifecycleInput struct {
10411	_ struct{} `type:"structure"`
10412
10413	// The name of a logical container where backups are stored. Backup vaults are
10414	// identified by names that are unique to the account used to create them and
10415	// the AWS Region where they are created. They consist of lowercase letters,
10416	// numbers, and hyphens.
10417	//
10418	// BackupVaultName is a required field
10419	BackupVaultName *string `location:"uri" locationName:"backupVaultName" type:"string" required:"true"`
10420
10421	// The lifecycle defines when a protected resource is transitioned to cold storage
10422	// and when it expires. AWS Backup transitions and expires backups automatically
10423	// according to the lifecycle that you define.
10424	//
10425	// Backups transitioned to cold storage must be stored in cold storage for a
10426	// minimum of 90 days. Therefore, the “expire after days” setting must be
10427	// 90 days greater than the “transition to cold after days” setting. The
10428	// “transition to cold after days” setting cannot be changed after a backup
10429	// has been transitioned to cold.
10430	Lifecycle *Lifecycle `type:"structure"`
10431
10432	// An Amazon Resource Name (ARN) that uniquely identifies a recovery point;
10433	// for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
10434	//
10435	// RecoveryPointArn is a required field
10436	RecoveryPointArn *string `location:"uri" locationName:"recoveryPointArn" type:"string" required:"true"`
10437}
10438
10439// String returns the string representation
10440func (s UpdateRecoveryPointLifecycleInput) String() string {
10441	return awsutil.Prettify(s)
10442}
10443
10444// GoString returns the string representation
10445func (s UpdateRecoveryPointLifecycleInput) GoString() string {
10446	return s.String()
10447}
10448
10449// Validate inspects the fields of the type to determine if they are valid.
10450func (s *UpdateRecoveryPointLifecycleInput) Validate() error {
10451	invalidParams := request.ErrInvalidParams{Context: "UpdateRecoveryPointLifecycleInput"}
10452	if s.BackupVaultName == nil {
10453		invalidParams.Add(request.NewErrParamRequired("BackupVaultName"))
10454	}
10455	if s.BackupVaultName != nil && len(*s.BackupVaultName) < 1 {
10456		invalidParams.Add(request.NewErrParamMinLen("BackupVaultName", 1))
10457	}
10458	if s.RecoveryPointArn == nil {
10459		invalidParams.Add(request.NewErrParamRequired("RecoveryPointArn"))
10460	}
10461	if s.RecoveryPointArn != nil && len(*s.RecoveryPointArn) < 1 {
10462		invalidParams.Add(request.NewErrParamMinLen("RecoveryPointArn", 1))
10463	}
10464
10465	if invalidParams.Len() > 0 {
10466		return invalidParams
10467	}
10468	return nil
10469}
10470
10471// SetBackupVaultName sets the BackupVaultName field's value.
10472func (s *UpdateRecoveryPointLifecycleInput) SetBackupVaultName(v string) *UpdateRecoveryPointLifecycleInput {
10473	s.BackupVaultName = &v
10474	return s
10475}
10476
10477// SetLifecycle sets the Lifecycle field's value.
10478func (s *UpdateRecoveryPointLifecycleInput) SetLifecycle(v *Lifecycle) *UpdateRecoveryPointLifecycleInput {
10479	s.Lifecycle = v
10480	return s
10481}
10482
10483// SetRecoveryPointArn sets the RecoveryPointArn field's value.
10484func (s *UpdateRecoveryPointLifecycleInput) SetRecoveryPointArn(v string) *UpdateRecoveryPointLifecycleInput {
10485	s.RecoveryPointArn = &v
10486	return s
10487}
10488
10489type UpdateRecoveryPointLifecycleOutput struct {
10490	_ struct{} `type:"structure"`
10491
10492	// An ARN that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
10493	BackupVaultArn *string `type:"string"`
10494
10495	// A CalculatedLifecycle object containing DeleteAt and MoveToColdStorageAt
10496	// timestamps.
10497	CalculatedLifecycle *CalculatedLifecycle `type:"structure"`
10498
10499	// The lifecycle defines when a protected resource is transitioned to cold storage
10500	// and when it expires. AWS Backup transitions and expires backups automatically
10501	// according to the lifecycle that you define.
10502	//
10503	// Backups transitioned to cold storage must be stored in cold storage for a
10504	// minimum of 90 days. Therefore, the “expire after days” setting must be
10505	// 90 days greater than the “transition to cold after days” setting. The
10506	// “transition to cold after days” setting cannot be changed after a backup
10507	// has been transitioned to cold.
10508	Lifecycle *Lifecycle `type:"structure"`
10509
10510	// An Amazon Resource Name (ARN) that uniquely identifies a recovery point;
10511	// for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.
10512	RecoveryPointArn *string `type:"string"`
10513}
10514
10515// String returns the string representation
10516func (s UpdateRecoveryPointLifecycleOutput) String() string {
10517	return awsutil.Prettify(s)
10518}
10519
10520// GoString returns the string representation
10521func (s UpdateRecoveryPointLifecycleOutput) GoString() string {
10522	return s.String()
10523}
10524
10525// SetBackupVaultArn sets the BackupVaultArn field's value.
10526func (s *UpdateRecoveryPointLifecycleOutput) SetBackupVaultArn(v string) *UpdateRecoveryPointLifecycleOutput {
10527	s.BackupVaultArn = &v
10528	return s
10529}
10530
10531// SetCalculatedLifecycle sets the CalculatedLifecycle field's value.
10532func (s *UpdateRecoveryPointLifecycleOutput) SetCalculatedLifecycle(v *CalculatedLifecycle) *UpdateRecoveryPointLifecycleOutput {
10533	s.CalculatedLifecycle = v
10534	return s
10535}
10536
10537// SetLifecycle sets the Lifecycle field's value.
10538func (s *UpdateRecoveryPointLifecycleOutput) SetLifecycle(v *Lifecycle) *UpdateRecoveryPointLifecycleOutput {
10539	s.Lifecycle = v
10540	return s
10541}
10542
10543// SetRecoveryPointArn sets the RecoveryPointArn field's value.
10544func (s *UpdateRecoveryPointLifecycleOutput) SetRecoveryPointArn(v string) *UpdateRecoveryPointLifecycleOutput {
10545	s.RecoveryPointArn = &v
10546	return s
10547}
10548
10549// Contains metadata about a backup vault.
10550type VaultListMember struct {
10551	_ struct{} `type:"structure"`
10552
10553	// An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for
10554	// example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.
10555	BackupVaultArn *string `type:"string"`
10556
10557	// The name of a logical container where backups are stored. Backup vaults are
10558	// identified by names that are unique to the account used to create them and
10559	// the AWS Region where they are created. They consist of lowercase letters,
10560	// numbers, and hyphens.
10561	BackupVaultName *string `type:"string"`
10562
10563	// The date and time a resource backup is created, in Unix format and Coordinated
10564	// Universal Time (UTC). The value of CreationDate is accurate to milliseconds.
10565	// For example, the value 1516925490.087 represents Friday, January 26, 2018
10566	// 12:11:30.087 AM.
10567	CreationDate *time.Time `type:"timestamp"`
10568
10569	// A unique string that identifies the request and allows failed requests to
10570	// be retried without the risk of executing the operation twice.
10571	CreatorRequestId *string `type:"string"`
10572
10573	// The server-side encryption key that is used to protect your backups; for
10574	// example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
10575	EncryptionKeyArn *string `type:"string"`
10576
10577	// The number of recovery points that are stored in a backup vault.
10578	NumberOfRecoveryPoints *int64 `type:"long"`
10579}
10580
10581// String returns the string representation
10582func (s VaultListMember) String() string {
10583	return awsutil.Prettify(s)
10584}
10585
10586// GoString returns the string representation
10587func (s VaultListMember) GoString() string {
10588	return s.String()
10589}
10590
10591// SetBackupVaultArn sets the BackupVaultArn field's value.
10592func (s *VaultListMember) SetBackupVaultArn(v string) *VaultListMember {
10593	s.BackupVaultArn = &v
10594	return s
10595}
10596
10597// SetBackupVaultName sets the BackupVaultName field's value.
10598func (s *VaultListMember) SetBackupVaultName(v string) *VaultListMember {
10599	s.BackupVaultName = &v
10600	return s
10601}
10602
10603// SetCreationDate sets the CreationDate field's value.
10604func (s *VaultListMember) SetCreationDate(v time.Time) *VaultListMember {
10605	s.CreationDate = &v
10606	return s
10607}
10608
10609// SetCreatorRequestId sets the CreatorRequestId field's value.
10610func (s *VaultListMember) SetCreatorRequestId(v string) *VaultListMember {
10611	s.CreatorRequestId = &v
10612	return s
10613}
10614
10615// SetEncryptionKeyArn sets the EncryptionKeyArn field's value.
10616func (s *VaultListMember) SetEncryptionKeyArn(v string) *VaultListMember {
10617	s.EncryptionKeyArn = &v
10618	return s
10619}
10620
10621// SetNumberOfRecoveryPoints sets the NumberOfRecoveryPoints field's value.
10622func (s *VaultListMember) SetNumberOfRecoveryPoints(v int64) *VaultListMember {
10623	s.NumberOfRecoveryPoints = &v
10624	return s
10625}
10626
10627const (
10628	// ConditionTypeStringequals is a ConditionType enum value
10629	ConditionTypeStringequals = "STRINGEQUALS"
10630)
10631
10632const (
10633	// JobStateCreated is a JobState enum value
10634	JobStateCreated = "CREATED"
10635
10636	// JobStatePending is a JobState enum value
10637	JobStatePending = "PENDING"
10638
10639	// JobStateRunning is a JobState enum value
10640	JobStateRunning = "RUNNING"
10641
10642	// JobStateAborting is a JobState enum value
10643	JobStateAborting = "ABORTING"
10644
10645	// JobStateAborted is a JobState enum value
10646	JobStateAborted = "ABORTED"
10647
10648	// JobStateCompleted is a JobState enum value
10649	JobStateCompleted = "COMPLETED"
10650
10651	// JobStateFailed is a JobState enum value
10652	JobStateFailed = "FAILED"
10653
10654	// JobStateExpired is a JobState enum value
10655	JobStateExpired = "EXPIRED"
10656)
10657
10658const (
10659	// RecoveryPointStatusCompleted is a RecoveryPointStatus enum value
10660	RecoveryPointStatusCompleted = "COMPLETED"
10661
10662	// RecoveryPointStatusPartial is a RecoveryPointStatus enum value
10663	RecoveryPointStatusPartial = "PARTIAL"
10664
10665	// RecoveryPointStatusDeleting is a RecoveryPointStatus enum value
10666	RecoveryPointStatusDeleting = "DELETING"
10667
10668	// RecoveryPointStatusExpired is a RecoveryPointStatus enum value
10669	RecoveryPointStatusExpired = "EXPIRED"
10670)
10671
10672const (
10673	// RestoreJobStatusPending is a RestoreJobStatus enum value
10674	RestoreJobStatusPending = "PENDING"
10675
10676	// RestoreJobStatusRunning is a RestoreJobStatus enum value
10677	RestoreJobStatusRunning = "RUNNING"
10678
10679	// RestoreJobStatusCompleted is a RestoreJobStatus enum value
10680	RestoreJobStatusCompleted = "COMPLETED"
10681
10682	// RestoreJobStatusAborted is a RestoreJobStatus enum value
10683	RestoreJobStatusAborted = "ABORTED"
10684
10685	// RestoreJobStatusFailed is a RestoreJobStatus enum value
10686	RestoreJobStatusFailed = "FAILED"
10687)
10688
10689const (
10690	// StorageClassWarm is a StorageClass enum value
10691	StorageClassWarm = "WARM"
10692
10693	// StorageClassCold is a StorageClass enum value
10694	StorageClassCold = "COLD"
10695
10696	// StorageClassDeleted is a StorageClass enum value
10697	StorageClassDeleted = "DELETED"
10698)
10699
10700const (
10701	// VaultEventBackupJobStarted is a VaultEvent enum value
10702	VaultEventBackupJobStarted = "BACKUP_JOB_STARTED"
10703
10704	// VaultEventBackupJobCompleted is a VaultEvent enum value
10705	VaultEventBackupJobCompleted = "BACKUP_JOB_COMPLETED"
10706
10707	// VaultEventRestoreJobStarted is a VaultEvent enum value
10708	VaultEventRestoreJobStarted = "RESTORE_JOB_STARTED"
10709
10710	// VaultEventRestoreJobCompleted is a VaultEvent enum value
10711	VaultEventRestoreJobCompleted = "RESTORE_JOB_COMPLETED"
10712
10713	// VaultEventRecoveryPointModified is a VaultEvent enum value
10714	VaultEventRecoveryPointModified = "RECOVERY_POINT_MODIFIED"
10715
10716	// VaultEventBackupPlanCreated is a VaultEvent enum value
10717	VaultEventBackupPlanCreated = "BACKUP_PLAN_CREATED"
10718
10719	// VaultEventBackupPlanModified is a VaultEvent enum value
10720	VaultEventBackupPlanModified = "BACKUP_PLAN_MODIFIED"
10721)
10722