1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package iotanalytics 4 5import ( 6 "context" 7 awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" 8 "github.com/aws/aws-sdk-go-v2/aws/signer/v4" 9 "github.com/aws/aws-sdk-go-v2/service/iotanalytics/types" 10 "github.com/aws/smithy-go/middleware" 11 smithyhttp "github.com/aws/smithy-go/transport/http" 12) 13 14// Creates a dataset. A dataset stores data retrieved from a data store by applying 15// a queryAction (a SQL query) or a containerAction (executing a containerized 16// application). This operation creates the skeleton of a dataset. The dataset can 17// be populated manually by calling CreateDatasetContent or automatically according 18// to a trigger you specify. 19func (c *Client) CreateDataset(ctx context.Context, params *CreateDatasetInput, optFns ...func(*Options)) (*CreateDatasetOutput, error) { 20 if params == nil { 21 params = &CreateDatasetInput{} 22 } 23 24 result, metadata, err := c.invokeOperation(ctx, "CreateDataset", params, optFns, addOperationCreateDatasetMiddlewares) 25 if err != nil { 26 return nil, err 27 } 28 29 out := result.(*CreateDatasetOutput) 30 out.ResultMetadata = metadata 31 return out, nil 32} 33 34type CreateDatasetInput struct { 35 36 // A list of actions that create the data set contents. 37 // 38 // This member is required. 39 Actions []types.DatasetAction 40 41 // The name of the data set. 42 // 43 // This member is required. 44 DatasetName *string 45 46 // When dataset contents are created, they are delivered to destinations specified 47 // here. 48 ContentDeliveryRules []types.DatasetContentDeliveryRule 49 50 // A list of data rules that send notifications to Amazon CloudWatch, when data 51 // arrives late. To specify lateDataRules, the dataset must use a DeltaTimer 52 // (https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_DeltaTime.html) 53 // filter. 54 LateDataRules []types.LateDataRule 55 56 // Optional. How long, in days, versions of dataset contents are kept for the 57 // dataset. If not specified or set to null, versions of dataset contents are 58 // retained for at most 90 days. The number of versions of dataset contents 59 // retained is determined by the versioningConfiguration parameter. For more 60 // information, see Keeping Multiple Versions of AWS IoT Analytics Data Sets 61 // (https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions) 62 // in the AWS IoT Analytics User Guide. 63 RetentionPeriod *types.RetentionPeriod 64 65 // Metadata which can be used to manage the data set. 66 Tags []types.Tag 67 68 // A list of triggers. A trigger causes data set contents to be populated at a 69 // specified time interval or when another data set's contents are created. The 70 // list of triggers can be empty or contain up to five DataSetTrigger objects. 71 Triggers []types.DatasetTrigger 72 73 // Optional. How many versions of dataset contents are kept. If not specified or 74 // set to null, only the latest version plus the latest succeeded version (if they 75 // are different) are kept for the time period specified by the retentionPeriod 76 // parameter. For more information, see Keeping Multiple Versions of AWS IoT 77 // Analytics Data Sets 78 // (https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions) 79 // in the AWS IoT Analytics User Guide. 80 VersioningConfiguration *types.VersioningConfiguration 81} 82 83type CreateDatasetOutput struct { 84 85 // The ARN of the dataset. 86 DatasetArn *string 87 88 // The name of the dataset. 89 DatasetName *string 90 91 // How long, in days, dataset contents are kept for the dataset. 92 RetentionPeriod *types.RetentionPeriod 93 94 // Metadata pertaining to the operation's result. 95 ResultMetadata middleware.Metadata 96} 97 98func addOperationCreateDatasetMiddlewares(stack *middleware.Stack, options Options) (err error) { 99 err = stack.Serialize.Add(&awsRestjson1_serializeOpCreateDataset{}, middleware.After) 100 if err != nil { 101 return err 102 } 103 err = stack.Deserialize.Add(&awsRestjson1_deserializeOpCreateDataset{}, middleware.After) 104 if err != nil { 105 return err 106 } 107 if err = addSetLoggerMiddleware(stack, options); err != nil { 108 return err 109 } 110 if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { 111 return err 112 } 113 if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { 114 return err 115 } 116 if err = addResolveEndpointMiddleware(stack, options); err != nil { 117 return err 118 } 119 if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { 120 return err 121 } 122 if err = addRetryMiddlewares(stack, options); err != nil { 123 return err 124 } 125 if err = addHTTPSignerV4Middleware(stack, options); err != nil { 126 return err 127 } 128 if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { 129 return err 130 } 131 if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { 132 return err 133 } 134 if err = addClientUserAgent(stack); err != nil { 135 return err 136 } 137 if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { 138 return err 139 } 140 if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { 141 return err 142 } 143 if err = addOpCreateDatasetValidationMiddleware(stack); err != nil { 144 return err 145 } 146 if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateDataset(options.Region), middleware.Before); err != nil { 147 return err 148 } 149 if err = addRequestIDRetrieverMiddleware(stack); err != nil { 150 return err 151 } 152 if err = addResponseErrorMiddleware(stack); err != nil { 153 return err 154 } 155 if err = addRequestResponseLogging(stack, options); err != nil { 156 return err 157 } 158 return nil 159} 160 161func newServiceMetadataMiddleware_opCreateDataset(region string) *awsmiddleware.RegisterServiceMetadata { 162 return &awsmiddleware.RegisterServiceMetadata{ 163 Region: region, 164 ServiceID: ServiceID, 165 SigningName: "iotanalytics", 166 OperationName: "CreateDataset", 167 } 168} 169