// Code generated by smithy-go-codegen DO NOT EDIT. package dataexchange 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/dataexchange/types" "github.com/aws/smithy-go/middleware" smithyhttp "github.com/aws/smithy-go/transport/http" "time" ) // This operation creates a data set. func (c *Client) CreateDataSet(ctx context.Context, params *CreateDataSetInput, optFns ...func(*Options)) (*CreateDataSetOutput, error) { if params == nil { params = &CreateDataSetInput{} } result, metadata, err := c.invokeOperation(ctx, "CreateDataSet", params, optFns, c.addOperationCreateDataSetMiddlewares) if err != nil { return nil, err } out := result.(*CreateDataSetOutput) out.ResultMetadata = metadata return out, nil } type CreateDataSetInput struct { // The type of asset that is added to a data set. // // This member is required. AssetType types.AssetType // A description for the data set. This value can be up to 16,348 characters long. // // This member is required. Description *string // The name of the data set. // // This member is required. Name *string // A data set tag is an optional label that you can assign to a data set when you // create it. Each tag consists of a key and an optional value, both of which you // define. When you use tagging, you can also use tag-based access control in IAM // policies to control access to these data sets and revisions. Tags map[string]string noSmithyDocumentSerde } type CreateDataSetOutput struct { // The ARN for the data set. Arn *string // The type of asset that is added to a data set. AssetType types.AssetType // The date and time that the data set was created, in ISO 8601 format. CreatedAt *time.Time // The description for the data set. Description *string // The unique identifier for the data set. Id *string // The name of the data set. Name *string // A property that defines the data set as OWNED by the account (for providers) or // ENTITLED to the account (for subscribers). Origin types.Origin // If the origin of this data set is ENTITLED, includes the details for the // product on AWS Marketplace. OriginDetails *types.OriginDetails // The data set ID of the owned data set corresponding to the entitled data set // being viewed. This parameter is returned when a data set owner is viewing the // entitled copy of its owned data set. SourceId *string // The tags for the data set. Tags map[string]string // The date and time that the data set was last updated, in ISO 8601 format. UpdatedAt *time.Time // Metadata pertaining to the operation's result. ResultMetadata middleware.Metadata noSmithyDocumentSerde } func (c *Client) addOperationCreateDataSetMiddlewares(stack *middleware.Stack, options Options) (err error) { err = stack.Serialize.Add(&awsRestjson1_serializeOpCreateDataSet{}, middleware.After) if err != nil { return err } err = stack.Deserialize.Add(&awsRestjson1_deserializeOpCreateDataSet{}, 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, 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 = addOpCreateDataSetValidationMiddleware(stack); err != nil { return err } if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateDataSet(options.Region), middleware.Before); err != nil { return err } if err = awsmiddleware.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 } return nil } func newServiceMetadataMiddleware_opCreateDataSet(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, ServiceID: ServiceID, SigningName: "dataexchange", OperationName: "CreateDataSet", } }