-
Notifications
You must be signed in to change notification settings - Fork 600
/
api_op_ListVolumeRecoveryPoints.go
135 lines (111 loc) · 4.46 KB
/
api_op_ListVolumeRecoveryPoints.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package storagegateway
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
// Please also see https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListVolumeRecoveryPointsInput
type ListVolumeRecoveryPointsInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
// to return a list of gateways for your account and region.
//
// GatewayARN is a required field
GatewayARN *string `min:"50" type:"string" required:"true"`
}
// String returns the string representation
func (s ListVolumeRecoveryPointsInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListVolumeRecoveryPointsInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "ListVolumeRecoveryPointsInput"}
if s.GatewayARN == nil {
invalidParams.Add(aws.NewErrParamRequired("GatewayARN"))
}
if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
invalidParams.Add(aws.NewErrParamMinLen("GatewayARN", 50))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Please also see https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListVolumeRecoveryPointsOutput
type ListVolumeRecoveryPointsOutput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
// to return a list of gateways for your account and region.
GatewayARN *string `min:"50" type:"string"`
// An array of VolumeRecoveryPointInfo objects.
VolumeRecoveryPointInfos []VolumeRecoveryPointInfo `type:"list"`
}
// String returns the string representation
func (s ListVolumeRecoveryPointsOutput) String() string {
return awsutil.Prettify(s)
}
const opListVolumeRecoveryPoints = "ListVolumeRecoveryPoints"
// ListVolumeRecoveryPointsRequest returns a request value for making API operation for
// AWS Storage Gateway.
//
// Lists the recovery points for a specified gateway. This operation is only
// supported in the cached volume gateway type.
//
// Each cache volume has one recovery point. A volume recovery point is a point
// in time at which all data of the volume is consistent and from which you
// can create a snapshot or clone a new cached volume from a source volume.
// To create a snapshot from a volume recovery point use the CreateSnapshotFromVolumeRecoveryPoint
// operation.
//
// // Example sending a request using ListVolumeRecoveryPointsRequest.
// req := client.ListVolumeRecoveryPointsRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListVolumeRecoveryPoints
func (c *Client) ListVolumeRecoveryPointsRequest(input *ListVolumeRecoveryPointsInput) ListVolumeRecoveryPointsRequest {
op := &aws.Operation{
Name: opListVolumeRecoveryPoints,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &ListVolumeRecoveryPointsInput{}
}
req := c.newRequest(op, input, &ListVolumeRecoveryPointsOutput{})
return ListVolumeRecoveryPointsRequest{Request: req, Input: input, Copy: c.ListVolumeRecoveryPointsRequest}
}
// ListVolumeRecoveryPointsRequest is the request type for the
// ListVolumeRecoveryPoints API operation.
type ListVolumeRecoveryPointsRequest struct {
*aws.Request
Input *ListVolumeRecoveryPointsInput
Copy func(*ListVolumeRecoveryPointsInput) ListVolumeRecoveryPointsRequest
}
// Send marshals and sends the ListVolumeRecoveryPoints API request.
func (r ListVolumeRecoveryPointsRequest) Send(ctx context.Context) (*ListVolumeRecoveryPointsResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &ListVolumeRecoveryPointsResponse{
ListVolumeRecoveryPointsOutput: r.Request.Data.(*ListVolumeRecoveryPointsOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// ListVolumeRecoveryPointsResponse is the response type for the
// ListVolumeRecoveryPoints API operation.
type ListVolumeRecoveryPointsResponse struct {
*ListVolumeRecoveryPointsOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// ListVolumeRecoveryPoints request.
func (r *ListVolumeRecoveryPointsResponse) SDKResponseMetdata() *aws.Response {
return r.response
}