-
Notifications
You must be signed in to change notification settings - Fork 623
/
api_op_AddWorkingStorage.go
149 lines (124 loc) · 4.57 KB
/
api_op_AddWorkingStorage.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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
// 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"
)
// A JSON object containing one or more of the following fields:
//
// * AddWorkingStorageInput$DiskIds
type AddWorkingStorageInput struct {
_ struct{} `type:"structure"`
// An array of strings that identify disks that are to be configured as working
// storage. Each string have a minimum length of 1 and maximum length of 300.
// You can get the disk IDs from the ListLocalDisks API.
//
// DiskIds is a required field
DiskIds []string `type:"list" required:"true"`
// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
// to return a list of gateways for your account and AWS Region.
//
// GatewayARN is a required field
GatewayARN *string `min:"50" type:"string" required:"true"`
}
// String returns the string representation
func (s AddWorkingStorageInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *AddWorkingStorageInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "AddWorkingStorageInput"}
if s.DiskIds == nil {
invalidParams.Add(aws.NewErrParamRequired("DiskIds"))
}
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
}
// A JSON object containing the of the gateway for which working storage was
// configured.
type AddWorkingStorageOutput 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 AWS Region.
GatewayARN *string `min:"50" type:"string"`
}
// String returns the string representation
func (s AddWorkingStorageOutput) String() string {
return awsutil.Prettify(s)
}
const opAddWorkingStorage = "AddWorkingStorage"
// AddWorkingStorageRequest returns a request value for making API operation for
// AWS Storage Gateway.
//
// Configures one or more gateway local disks as working storage for a gateway.
// This operation is only supported in the stored volume gateway type. This
// operation is deprecated in cached volume API version 20120630. Use AddUploadBuffer
// instead.
//
// Working storage is also referred to as upload buffer. You can also use the
// AddUploadBuffer operation to add upload buffer to a stored volume gateway.
//
// In the request, you specify the gateway Amazon Resource Name (ARN) to which
// you want to add working storage, and one or more disk IDs that you want to
// configure as working storage.
//
// // Example sending a request using AddWorkingStorageRequest.
// req := client.AddWorkingStorageRequest(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/AddWorkingStorage
func (c *Client) AddWorkingStorageRequest(input *AddWorkingStorageInput) AddWorkingStorageRequest {
op := &aws.Operation{
Name: opAddWorkingStorage,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &AddWorkingStorageInput{}
}
req := c.newRequest(op, input, &AddWorkingStorageOutput{})
return AddWorkingStorageRequest{Request: req, Input: input, Copy: c.AddWorkingStorageRequest}
}
// AddWorkingStorageRequest is the request type for the
// AddWorkingStorage API operation.
type AddWorkingStorageRequest struct {
*aws.Request
Input *AddWorkingStorageInput
Copy func(*AddWorkingStorageInput) AddWorkingStorageRequest
}
// Send marshals and sends the AddWorkingStorage API request.
func (r AddWorkingStorageRequest) Send(ctx context.Context) (*AddWorkingStorageResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &AddWorkingStorageResponse{
AddWorkingStorageOutput: r.Request.Data.(*AddWorkingStorageOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// AddWorkingStorageResponse is the response type for the
// AddWorkingStorage API operation.
type AddWorkingStorageResponse struct {
*AddWorkingStorageOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// AddWorkingStorage request.
func (r *AddWorkingStorageResponse) SDKResponseMetdata() *aws.Response {
return r.response
}