/
api_op_CreateLocationObjectStorage.go
191 lines (167 loc) · 6.27 KB
/
api_op_CreateLocationObjectStorage.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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
// Code generated by smithy-go-codegen DO NOT EDIT.
package datasync
import (
"context"
"fmt"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/service/datasync/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Creates a transfer location for an object storage system. DataSync can use this
// location as a source or destination for transferring data. Before you begin,
// make sure that you understand the prerequisites (https://docs.aws.amazon.com/datasync/latest/userguide/create-object-location.html#create-object-location-prerequisites)
// for DataSync to work with object storage systems.
func (c *Client) CreateLocationObjectStorage(ctx context.Context, params *CreateLocationObjectStorageInput, optFns ...func(*Options)) (*CreateLocationObjectStorageOutput, error) {
if params == nil {
params = &CreateLocationObjectStorageInput{}
}
result, metadata, err := c.invokeOperation(ctx, "CreateLocationObjectStorage", params, optFns, c.addOperationCreateLocationObjectStorageMiddlewares)
if err != nil {
return nil, err
}
out := result.(*CreateLocationObjectStorageOutput)
out.ResultMetadata = metadata
return out, nil
}
// CreateLocationObjectStorageRequest
type CreateLocationObjectStorageInput struct {
// Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can
// securely connect with your location.
//
// This member is required.
AgentArns []string
// Specifies the name of the object storage bucket involved in the transfer.
//
// This member is required.
BucketName *string
// Specifies the domain name or IP address of the object storage server. A
// DataSync agent uses this hostname to mount the object storage server in a
// network.
//
// This member is required.
ServerHostname *string
// Specifies the access key (for example, a user name) if credentials are required
// to authenticate with the object storage server.
AccessKey *string
// Specifies the secret key (for example, a password) if credentials are required
// to authenticate with the object storage server.
SecretKey *string
// Specifies a file with the certificates that are used to sign the object storage
// server's certificate (for example,
// file:///home/user/.ssh/storage_sys_certificate.pem ). The file you specify must
// include the following:
// - The certificate of the signing certificate authority (CA)
// - Any intermediate certificates
// - base64 encoding
// - A .pem extension
// The file can be up to 32768 bytes (before base64 encoding). To use this
// parameter, configure ServerProtocol to HTTPS .
ServerCertificate []byte
// Specifies the port that your object storage server accepts inbound network
// traffic on (for example, port 443).
ServerPort *int32
// Specifies the protocol that your object storage server uses to communicate.
ServerProtocol types.ObjectStorageServerProtocol
// Specifies the object prefix for your object storage server. If this is a source
// location, DataSync only copies objects with this prefix. If this is a
// destination location, DataSync writes all objects with this prefix.
Subdirectory *string
// Specifies the key-value pair that represents a tag that you want to add to the
// resource. Tags can help you manage, filter, and search for your resources. We
// recommend creating a name tag for your location.
Tags []types.TagListEntry
noSmithyDocumentSerde
}
// CreateLocationObjectStorageResponse
type CreateLocationObjectStorageOutput struct {
// Specifies the ARN of the object storage system location that you create.
LocationArn *string
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationCreateLocationObjectStorageMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsAwsjson11_serializeOpCreateLocationObjectStorage{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpCreateLocationObjectStorage{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "CreateLocationObjectStorage"); err != nil {
return fmt.Errorf("add protocol finalizers: %v", err)
}
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
if err = addSetLoggerMiddleware(stack, options); err != nil {
return err
}
if err = addClientRequestID(stack); err != nil {
return err
}
if err = addComputeContentLength(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = addComputePayloadSHA256(stack); err != nil {
return err
}
if err = addRetry(stack, options); err != nil {
return err
}
if err = addRawResponseToMetadata(stack); err != nil {
return err
}
if err = addRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack, options); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpCreateLocationObjectStorageValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateLocationObjectStorage(options.Region), middleware.Before); err != nil {
return err
}
if err = addRecursionDetection(stack); err != nil {
return err
}
if err = addRequestIDRetrieverMiddleware(stack); err != nil {
return err
}
if err = addResponseErrorMiddleware(stack); err != nil {
return err
}
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
}
func newServiceMetadataMiddleware_opCreateLocationObjectStorage(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "CreateLocationObjectStorage",
}
}