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 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package lexmodelbuildingservice
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/lexmodelbuildingservice/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
"time"
)
// Starts migrating a bot from Amazon Lex V1 to Amazon Lex V2. Migrate your bot
// when you want to take advantage of the new features of Amazon Lex V2. For more
// information, see Migrating a bot (https://docs.aws.amazon.com/lex/latest/dg/migrate.html)
// in the Amazon Lex developer guide.
func (c *Client) StartMigration(ctx context.Context, params *StartMigrationInput, optFns ...func(*Options)) (*StartMigrationOutput, error) {
if params == nil {
params = &StartMigrationInput{}
}
result, metadata, err := c.invokeOperation(ctx, "StartMigration", params, optFns, c.addOperationStartMigrationMiddlewares)
if err != nil {
return nil, err
}
out := result.(*StartMigrationOutput)
out.ResultMetadata = metadata
return out, nil
}
type StartMigrationInput struct {
// The strategy used to conduct the migration.
// - CREATE_NEW - Creates a new Amazon Lex V2 bot and migrates the Amazon Lex V1
// bot to the new bot.
// - UPDATE_EXISTING - Overwrites the existing Amazon Lex V2 bot metadata and the
// locale being migrated. It doesn't change any other locales in the Amazon Lex V2
// bot. If the locale doesn't exist, a new locale is created in the Amazon Lex V2
// bot.
//
// This member is required.
MigrationStrategy types.MigrationStrategy
// The name of the Amazon Lex V1 bot that you are migrating to Amazon Lex V2.
//
// This member is required.
V1BotName *string
// The version of the bot to migrate to Amazon Lex V2. You can migrate the $LATEST
// version as well as any numbered version.
//
// This member is required.
V1BotVersion *string
// The name of the Amazon Lex V2 bot that you are migrating the Amazon Lex V1 bot
// to.
// - If the Amazon Lex V2 bot doesn't exist, you must use the CREATE_NEW
// migration strategy.
// - If the Amazon Lex V2 bot exists, you must use the UPDATE_EXISTING migration
// strategy to change the contents of the Amazon Lex V2 bot.
//
// This member is required.
V2BotName *string
// The IAM role that Amazon Lex uses to run the Amazon Lex V2 bot.
//
// This member is required.
V2BotRole *string
noSmithyDocumentSerde
}
type StartMigrationOutput struct {
// The unique identifier that Amazon Lex assigned to the migration.
MigrationId *string
// The strategy used to conduct the migration.
MigrationStrategy types.MigrationStrategy
// The date and time that the migration started.
MigrationTimestamp *time.Time
// The locale used for the Amazon Lex V1 bot.
V1BotLocale types.Locale
// The name of the Amazon Lex V1 bot that you are migrating to Amazon Lex V2.
V1BotName *string
// The version of the bot to migrate to Amazon Lex V2.
V1BotVersion *string
// The unique identifier for the Amazon Lex V2 bot.
V2BotId *string
// The IAM role that Amazon Lex uses to run the Amazon Lex V2 bot.
V2BotRole *string
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationStartMigrationMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsRestjson1_serializeOpStartMigration{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsRestjson1_deserializeOpStartMigration{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "StartMigration"); 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 = addOpStartMigrationValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opStartMigration(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_opStartMigration(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "StartMigration",
}
}
|