// Code generated by smithy-go-codegen DO NOT EDIT. package datasync 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/datasync/types" "github.com/aws/smithy-go/middleware" smithyhttp "github.com/aws/smithy-go/transport/http" ) // Starts an DataSync task. For each task, you can only run one task execution at // a time. There are several phases to a task execution. For more information, see // Task execution statuses (https://docs.aws.amazon.com/datasync/latest/userguide/working-with-task-executions.html#understand-task-execution-statuses) // . If you're planning to transfer data to or from an Amazon S3 location, review // how DataSync can affect your S3 request charges (https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#create-s3-location-s3-requests) // and the DataSync pricing page (http://aws.amazon.com/datasync/pricing/) before // you begin. func (c *Client) StartTaskExecution(ctx context.Context, params *StartTaskExecutionInput, optFns ...func(*Options)) (*StartTaskExecutionOutput, error) { if params == nil { params = &StartTaskExecutionInput{} } result, metadata, err := c.invokeOperation(ctx, "StartTaskExecution", params, optFns, c.addOperationStartTaskExecutionMiddlewares) if err != nil { return nil, err } out := result.(*StartTaskExecutionOutput) out.ResultMetadata = metadata return out, nil } // StartTaskExecutionRequest type StartTaskExecutionInput struct { // Specifies the Amazon Resource Name (ARN) of the task that you want to start. // // This member is required. TaskArn *string // Specifies a list of filter rules that determines which files to exclude from a // task. The list contains a single filter string that consists of the patterns to // exclude. The patterns are delimited by "|" (that is, a pipe), for example, // "/folder1|/folder2" . Excludes []types.FilterRule // Specifies a list of filter rules that determines which files to include when // running a task. The pattern should contain a single filter string that consists // of the patterns to include. The patterns are delimited by "|" (that is, a pipe), // for example, "/folder1|/folder2" . Includes []types.FilterRule // Configures your DataSync task settings. These options include how DataSync // handles files, objects, and their associated metadata. You also can specify how // DataSync verifies data integrity, set bandwidth limits for your task, among // other options. Each task setting has a default value. Unless you need to, you // don't have to configure any of these Options before starting your task. OverrideOptions *types.Options // Specifies the tags that you want to apply to the Amazon Resource Name (ARN) // representing the task execution. Tags are key-value pairs that help you manage, // filter, and search for your DataSync resources. Tags []types.TagListEntry noSmithyDocumentSerde } // StartTaskExecutionResponse type StartTaskExecutionOutput struct { // The ARN of the running task execution. TaskExecutionArn *string // Metadata pertaining to the operation's result. ResultMetadata middleware.Metadata noSmithyDocumentSerde } func (c *Client) addOperationStartTaskExecutionMiddlewares(stack *middleware.Stack, options Options) (err error) { err = stack.Serialize.Add(&awsAwsjson11_serializeOpStartTaskExecution{}, middleware.After) if err != nil { return err } err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpStartTaskExecution{}, 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 = addOpStartTaskExecutionValidationMiddleware(stack); err != nil { return err } if err = stack.Initialize.Add(newServiceMetadataMiddleware_opStartTaskExecution(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_opStartTaskExecution(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, ServiceID: ServiceID, SigningName: "datasync", OperationName: "StartTaskExecution", } }