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 173 174 175
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package backup
import (
"context"
"fmt"
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/backup/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
"time"
)
// This is the first of two steps to create a restore testing plan; once this
// request is successful, finish the procedure with request
// CreateRestoreTestingSelection. You must include the parameter
// RestoreTestingPlan. You may optionally include CreatorRequestId and Tags.
func (c *Client) CreateRestoreTestingPlan(ctx context.Context, params *CreateRestoreTestingPlanInput, optFns ...func(*Options)) (*CreateRestoreTestingPlanOutput, error) {
if params == nil {
params = &CreateRestoreTestingPlanInput{}
}
result, metadata, err := c.invokeOperation(ctx, "CreateRestoreTestingPlan", params, optFns, c.addOperationCreateRestoreTestingPlanMiddlewares)
if err != nil {
return nil, err
}
out := result.(*CreateRestoreTestingPlanOutput)
out.ResultMetadata = metadata
return out, nil
}
type CreateRestoreTestingPlanInput struct {
// A restore testing plan must contain a unique RestoreTestingPlanName string you
// create and must contain a ScheduleExpression cron. You may optionally include a
// StartWindowHours integer and a CreatorRequestId string. The
// RestoreTestingPlanName is a unique string that is the name of the restore
// testing plan. This cannot be changed after creation, and it must consist of only
// alphanumeric characters and underscores.
//
// This member is required.
RestoreTestingPlan *types.RestoreTestingPlanForCreate
// This is a unique string that identifies the request and allows failed requests
// to be retriedwithout the risk of running the operation twice. This parameter is
// optional. If used, this parameter must contain 1 to 50 alphanumeric or '-_.'
// characters.
CreatorRequestId *string
// Optional tags to include. A tag is a key-value pair you can use to manage,
// filter, and search for your resources. Allowed characters include UTF-8
// letters,numbers, spaces, and the following characters: + - = . _ : /.
Tags map[string]string
noSmithyDocumentSerde
}
type CreateRestoreTestingPlanOutput struct {
// The date and time a restore testing plan was created, in Unix format and
// Coordinated Universal Time (UTC). The value of CreationTime is accurate to
// milliseconds. For example, the value 1516925490.087 represents Friday, January
// 26, 2018 12:11:30.087AM.
//
// This member is required.
CreationTime *time.Time
// An Amazon Resource Name (ARN) that uniquely identifies the created restore
// testing plan.
//
// This member is required.
RestoreTestingPlanArn *string
// This unique string is the name of the restore testing plan. The name cannot be
// changed after creation. The name consists of only alphanumeric characters and
// underscores. Maximum length is 50.
//
// This member is required.
RestoreTestingPlanName *string
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationCreateRestoreTestingPlanMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsRestjson1_serializeOpCreateRestoreTestingPlan{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsRestjson1_deserializeOpCreateRestoreTestingPlan{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "CreateRestoreTestingPlan"); err != nil {
return fmt.Errorf("add protocol finalizers: %v", err)
}
if err = addlegacyEndpointContextSetter(stack, options); 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 = 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 = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpCreateRestoreTestingPlanValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateRestoreTestingPlan(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
}
if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
}
func newServiceMetadataMiddleware_opCreateRestoreTestingPlan(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "CreateRestoreTestingPlan",
}
}
|