/
api_op_CreateDatasetGroup.go
166 lines (152 loc) · 4.76 KB
/
api_op_CreateDatasetGroup.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
// Code generated by smithy-go-codegen DO NOT EDIT.
package personalize
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/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Creates an empty dataset group. A dataset group contains related datasets that
// supply data for training a model. A dataset group can contain at most three
// datasets, one for each type of dataset:
//
// * Interactions
//
// * Items
//
// * Users
//
// To
// train a model (create a solution), a dataset group that contains an Interactions
// dataset is required. Call CreateDataset to add a dataset to the group. A dataset
// group can be in one of the following states:
//
// * CREATE PENDING > CREATE
// IN_PROGRESS > ACTIVE -or- CREATE FAILED
//
// * DELETE PENDING
//
// To get the status of
// the dataset group, call DescribeDatasetGroup. If the status shows as CREATE
// FAILED, the response includes a failureReason key, which describes why the
// creation failed. You must wait until the status of the dataset group is ACTIVE
// before adding a dataset to the group. You can specify an AWS Key Management
// Service (KMS) key to encrypt the datasets in the group. If you specify a KMS
// key, you must also include an AWS Identity and Access Management (IAM) role that
// has permission to access the key. APIs that require a dataset group ARN in the
// request
//
// * CreateDataset
//
// * CreateEventTracker
//
// * CreateSolution
//
// Related
// APIs
//
// * ListDatasetGroups
//
// * DescribeDatasetGroup
//
// * DeleteDatasetGroup
func (c *Client) CreateDatasetGroup(ctx context.Context, params *CreateDatasetGroupInput, optFns ...func(*Options)) (*CreateDatasetGroupOutput, error) {
if params == nil {
params = &CreateDatasetGroupInput{}
}
result, metadata, err := c.invokeOperation(ctx, "CreateDatasetGroup", params, optFns, addOperationCreateDatasetGroupMiddlewares)
if err != nil {
return nil, err
}
out := result.(*CreateDatasetGroupOutput)
out.ResultMetadata = metadata
return out, nil
}
type CreateDatasetGroupInput struct {
// The name for the new dataset group.
//
// This member is required.
Name *string
// The Amazon Resource Name (ARN) of a KMS key used to encrypt the datasets.
KmsKeyArn *string
// The ARN of the IAM role that has permissions to access the KMS key. Supplying an
// IAM role is only valid when also specifying a KMS key.
RoleArn *string
}
type CreateDatasetGroupOutput struct {
// The Amazon Resource Name (ARN) of the new dataset group.
DatasetGroupArn *string
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
}
func addOperationCreateDatasetGroupMiddlewares(stack *middleware.Stack, options Options) (err error) {
err = stack.Serialize.Add(&awsAwsjson11_serializeOpCreateDatasetGroup{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpCreateDatasetGroup{}, 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 = addOpCreateDatasetGroupValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateDatasetGroup(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_opCreateDatasetGroup(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
SigningName: "personalize",
OperationName: "CreateDatasetGroup",
}
}