/
api_op_StartImport.go
172 lines (149 loc) · 5.04 KB
/
api_op_StartImport.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
// Code generated by smithy-go-codegen DO NOT EDIT.
package lexmodelbuildingservice
import (
"context"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
"github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
"time"
)
// Starts a job to import a resource to Amazon Lex.
func (c *Client) StartImport(ctx context.Context, params *StartImportInput, optFns ...func(*Options)) (*StartImportOutput, error) {
if params == nil {
params = &StartImportInput{}
}
result, metadata, err := c.invokeOperation(ctx, "StartImport", params, optFns, c.addOperationStartImportMiddlewares)
if err != nil {
return nil, err
}
out := result.(*StartImportOutput)
out.ResultMetadata = metadata
return out, nil
}
type StartImportInput struct {
// Specifies the action that the StartImport operation should take when there is an
// existing resource with the same name.
//
// * FAIL_ON_CONFLICT - The import operation
// is stopped on the first conflict between a resource in the import file and an
// existing resource. The name of the resource causing the conflict is in the
// failureReason field of the response to the GetImport operation. OVERWRITE_LATEST
// - The import operation proceeds even if there is a conflict with an existing
// resource. The $LASTEST version of the existing resource is overwritten with the
// data from the import file.
//
// This member is required.
MergeStrategy types.MergeStrategy
// A zip archive in binary format. The archive should contain one file, a JSON file
// containing the resource to import. The resource should match the type specified
// in the resourceType field.
//
// This member is required.
Payload []byte
// Specifies the type of resource to export. Each resource also exports any
// resources that it depends on.
//
// * A bot exports dependent intents.
//
// * An intent
// exports dependent slot types.
//
// This member is required.
ResourceType types.ResourceType
// A list of tags to add to the imported bot. You can only add tags when you import
// a bot, you can't add tags to an intent or slot type.
Tags []types.Tag
noSmithyDocumentSerde
}
type StartImportOutput struct {
// A timestamp for the date and time that the import job was requested.
CreatedDate *time.Time
// The identifier for the specific import job.
ImportId *string
// The status of the import job. If the status is FAILED, you can get the reason
// for the failure using the GetImport operation.
ImportStatus types.ImportStatus
// The action to take when there is a merge conflict.
MergeStrategy types.MergeStrategy
// The name given to the import job.
Name *string
// The type of resource to import.
ResourceType types.ResourceType
// A list of tags added to the imported bot.
Tags []types.Tag
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationStartImportMiddlewares(stack *middleware.Stack, options Options) (err error) {
err = stack.Serialize.Add(&awsRestjson1_serializeOpStartImport{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsRestjson1_deserializeOpStartImport{}, middleware.After)
if err != nil {
return err
}
if err = addSetLoggerMiddleware(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
return err
}
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
if err = addHTTPSignerV4Middleware(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addOpStartImportValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opStartImport(options.Region), middleware.Before); 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
}
return nil
}
func newServiceMetadataMiddleware_opStartImport(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
SigningName: "lex",
OperationName: "StartImport",
}
}