1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package mgn
4
5import (
6	"fmt"
7
8	"github.com/aws/aws-sdk-go/aws"
9	"github.com/aws/aws-sdk-go/aws/awsutil"
10	"github.com/aws/aws-sdk-go/aws/request"
11	"github.com/aws/aws-sdk-go/private/protocol"
12	"github.com/aws/aws-sdk-go/private/protocol/restjson"
13)
14
15const opChangeServerLifeCycleState = "ChangeServerLifeCycleState"
16
17// ChangeServerLifeCycleStateRequest generates a "aws/request.Request" representing the
18// client's request for the ChangeServerLifeCycleState operation. The "output" return
19// value will be populated with the request's response once the request completes
20// successfully.
21//
22// Use "Send" method on the returned Request to send the API call to the service.
23// the "output" return value is not valid until after Send returns without error.
24//
25// See ChangeServerLifeCycleState for more information on using the ChangeServerLifeCycleState
26// API call, and error handling.
27//
28// This method is useful when you want to inject custom logic or configuration
29// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30//
31//
32//    // Example sending a request using the ChangeServerLifeCycleStateRequest method.
33//    req, resp := client.ChangeServerLifeCycleStateRequest(params)
34//
35//    err := req.Send()
36//    if err == nil { // resp is now filled
37//        fmt.Println(resp)
38//    }
39//
40// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/ChangeServerLifeCycleState
41func (c *Mgn) ChangeServerLifeCycleStateRequest(input *ChangeServerLifeCycleStateInput) (req *request.Request, output *ChangeServerLifeCycleStateOutput) {
42	op := &request.Operation{
43		Name:       opChangeServerLifeCycleState,
44		HTTPMethod: "POST",
45		HTTPPath:   "/ChangeServerLifeCycleState",
46	}
47
48	if input == nil {
49		input = &ChangeServerLifeCycleStateInput{}
50	}
51
52	output = &ChangeServerLifeCycleStateOutput{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// ChangeServerLifeCycleState API operation for Application Migration Service.
58//
59// Allows the user to set the SourceServer.LifeCycle.state property for specific
60// Source Server IDs to one of the following: READY_FOR_TEST or READY_FOR_CUTOVER.
61// This command only works if the Source Server is already launchable (dataReplicationInfo.lagDuration
62// is not null.)
63//
64// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
65// with awserr.Error's Code and Message methods to get detailed information about
66// the error.
67//
68// See the AWS API reference guide for Application Migration Service's
69// API operation ChangeServerLifeCycleState for usage and error information.
70//
71// Returned Error Types:
72//   * UninitializedAccountException
73//   Unitialized account exception.
74//
75//   * ResourceNotFoundException
76//   Resource not found exception.
77//
78//   * ValidationException
79//   Validate exception.
80//
81//   * ConflictException
82//   The request could not be completed due to a conflict with the current state
83//   of the target resource.
84//
85// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/ChangeServerLifeCycleState
86func (c *Mgn) ChangeServerLifeCycleState(input *ChangeServerLifeCycleStateInput) (*ChangeServerLifeCycleStateOutput, error) {
87	req, out := c.ChangeServerLifeCycleStateRequest(input)
88	return out, req.Send()
89}
90
91// ChangeServerLifeCycleStateWithContext is the same as ChangeServerLifeCycleState with the addition of
92// the ability to pass a context and additional request options.
93//
94// See ChangeServerLifeCycleState for details on how to use this API operation.
95//
96// The context must be non-nil and will be used for request cancellation. If
97// the context is nil a panic will occur. In the future the SDK may create
98// sub-contexts for http.Requests. See https://golang.org/pkg/context/
99// for more information on using Contexts.
100func (c *Mgn) ChangeServerLifeCycleStateWithContext(ctx aws.Context, input *ChangeServerLifeCycleStateInput, opts ...request.Option) (*ChangeServerLifeCycleStateOutput, error) {
101	req, out := c.ChangeServerLifeCycleStateRequest(input)
102	req.SetContext(ctx)
103	req.ApplyOptions(opts...)
104	return out, req.Send()
105}
106
107const opCreateReplicationConfigurationTemplate = "CreateReplicationConfigurationTemplate"
108
109// CreateReplicationConfigurationTemplateRequest generates a "aws/request.Request" representing the
110// client's request for the CreateReplicationConfigurationTemplate operation. The "output" return
111// value will be populated with the request's response once the request completes
112// successfully.
113//
114// Use "Send" method on the returned Request to send the API call to the service.
115// the "output" return value is not valid until after Send returns without error.
116//
117// See CreateReplicationConfigurationTemplate for more information on using the CreateReplicationConfigurationTemplate
118// API call, and error handling.
119//
120// This method is useful when you want to inject custom logic or configuration
121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
122//
123//
124//    // Example sending a request using the CreateReplicationConfigurationTemplateRequest method.
125//    req, resp := client.CreateReplicationConfigurationTemplateRequest(params)
126//
127//    err := req.Send()
128//    if err == nil { // resp is now filled
129//        fmt.Println(resp)
130//    }
131//
132// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/CreateReplicationConfigurationTemplate
133func (c *Mgn) CreateReplicationConfigurationTemplateRequest(input *CreateReplicationConfigurationTemplateInput) (req *request.Request, output *CreateReplicationConfigurationTemplateOutput) {
134	op := &request.Operation{
135		Name:       opCreateReplicationConfigurationTemplate,
136		HTTPMethod: "POST",
137		HTTPPath:   "/CreateReplicationConfigurationTemplate",
138	}
139
140	if input == nil {
141		input = &CreateReplicationConfigurationTemplateInput{}
142	}
143
144	output = &CreateReplicationConfigurationTemplateOutput{}
145	req = c.newRequest(op, input, output)
146	return
147}
148
149// CreateReplicationConfigurationTemplate API operation for Application Migration Service.
150//
151// Creates a new ReplicationConfigurationTemplate.
152//
153// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
154// with awserr.Error's Code and Message methods to get detailed information about
155// the error.
156//
157// See the AWS API reference guide for Application Migration Service's
158// API operation CreateReplicationConfigurationTemplate for usage and error information.
159//
160// Returned Error Types:
161//   * UninitializedAccountException
162//   Unitialized account exception.
163//
164//   * ValidationException
165//   Validate exception.
166//
167//   * AccessDeniedException
168//   Operating denied due to a file permission or access check error.
169//
170// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/CreateReplicationConfigurationTemplate
171func (c *Mgn) CreateReplicationConfigurationTemplate(input *CreateReplicationConfigurationTemplateInput) (*CreateReplicationConfigurationTemplateOutput, error) {
172	req, out := c.CreateReplicationConfigurationTemplateRequest(input)
173	return out, req.Send()
174}
175
176// CreateReplicationConfigurationTemplateWithContext is the same as CreateReplicationConfigurationTemplate with the addition of
177// the ability to pass a context and additional request options.
178//
179// See CreateReplicationConfigurationTemplate for details on how to use this API operation.
180//
181// The context must be non-nil and will be used for request cancellation. If
182// the context is nil a panic will occur. In the future the SDK may create
183// sub-contexts for http.Requests. See https://golang.org/pkg/context/
184// for more information on using Contexts.
185func (c *Mgn) CreateReplicationConfigurationTemplateWithContext(ctx aws.Context, input *CreateReplicationConfigurationTemplateInput, opts ...request.Option) (*CreateReplicationConfigurationTemplateOutput, error) {
186	req, out := c.CreateReplicationConfigurationTemplateRequest(input)
187	req.SetContext(ctx)
188	req.ApplyOptions(opts...)
189	return out, req.Send()
190}
191
192const opDeleteJob = "DeleteJob"
193
194// DeleteJobRequest generates a "aws/request.Request" representing the
195// client's request for the DeleteJob operation. The "output" return
196// value will be populated with the request's response once the request completes
197// successfully.
198//
199// Use "Send" method on the returned Request to send the API call to the service.
200// the "output" return value is not valid until after Send returns without error.
201//
202// See DeleteJob for more information on using the DeleteJob
203// API call, and error handling.
204//
205// This method is useful when you want to inject custom logic or configuration
206// into the SDK's request lifecycle. Such as custom headers, or retry logic.
207//
208//
209//    // Example sending a request using the DeleteJobRequest method.
210//    req, resp := client.DeleteJobRequest(params)
211//
212//    err := req.Send()
213//    if err == nil { // resp is now filled
214//        fmt.Println(resp)
215//    }
216//
217// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DeleteJob
218func (c *Mgn) DeleteJobRequest(input *DeleteJobInput) (req *request.Request, output *DeleteJobOutput) {
219	op := &request.Operation{
220		Name:       opDeleteJob,
221		HTTPMethod: "POST",
222		HTTPPath:   "/DeleteJob",
223	}
224
225	if input == nil {
226		input = &DeleteJobInput{}
227	}
228
229	output = &DeleteJobOutput{}
230	req = c.newRequest(op, input, output)
231	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
232	return
233}
234
235// DeleteJob API operation for Application Migration Service.
236//
237// Deletes a single Job by ID.
238//
239// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
240// with awserr.Error's Code and Message methods to get detailed information about
241// the error.
242//
243// See the AWS API reference guide for Application Migration Service's
244// API operation DeleteJob for usage and error information.
245//
246// Returned Error Types:
247//   * UninitializedAccountException
248//   Unitialized account exception.
249//
250//   * ResourceNotFoundException
251//   Resource not found exception.
252//
253//   * ConflictException
254//   The request could not be completed due to a conflict with the current state
255//   of the target resource.
256//
257// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DeleteJob
258func (c *Mgn) DeleteJob(input *DeleteJobInput) (*DeleteJobOutput, error) {
259	req, out := c.DeleteJobRequest(input)
260	return out, req.Send()
261}
262
263// DeleteJobWithContext is the same as DeleteJob with the addition of
264// the ability to pass a context and additional request options.
265//
266// See DeleteJob for details on how to use this API operation.
267//
268// The context must be non-nil and will be used for request cancellation. If
269// the context is nil a panic will occur. In the future the SDK may create
270// sub-contexts for http.Requests. See https://golang.org/pkg/context/
271// for more information on using Contexts.
272func (c *Mgn) DeleteJobWithContext(ctx aws.Context, input *DeleteJobInput, opts ...request.Option) (*DeleteJobOutput, error) {
273	req, out := c.DeleteJobRequest(input)
274	req.SetContext(ctx)
275	req.ApplyOptions(opts...)
276	return out, req.Send()
277}
278
279const opDeleteReplicationConfigurationTemplate = "DeleteReplicationConfigurationTemplate"
280
281// DeleteReplicationConfigurationTemplateRequest generates a "aws/request.Request" representing the
282// client's request for the DeleteReplicationConfigurationTemplate operation. The "output" return
283// value will be populated with the request's response once the request completes
284// successfully.
285//
286// Use "Send" method on the returned Request to send the API call to the service.
287// the "output" return value is not valid until after Send returns without error.
288//
289// See DeleteReplicationConfigurationTemplate for more information on using the DeleteReplicationConfigurationTemplate
290// API call, and error handling.
291//
292// This method is useful when you want to inject custom logic or configuration
293// into the SDK's request lifecycle. Such as custom headers, or retry logic.
294//
295//
296//    // Example sending a request using the DeleteReplicationConfigurationTemplateRequest method.
297//    req, resp := client.DeleteReplicationConfigurationTemplateRequest(params)
298//
299//    err := req.Send()
300//    if err == nil { // resp is now filled
301//        fmt.Println(resp)
302//    }
303//
304// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DeleteReplicationConfigurationTemplate
305func (c *Mgn) DeleteReplicationConfigurationTemplateRequest(input *DeleteReplicationConfigurationTemplateInput) (req *request.Request, output *DeleteReplicationConfigurationTemplateOutput) {
306	op := &request.Operation{
307		Name:       opDeleteReplicationConfigurationTemplate,
308		HTTPMethod: "POST",
309		HTTPPath:   "/DeleteReplicationConfigurationTemplate",
310	}
311
312	if input == nil {
313		input = &DeleteReplicationConfigurationTemplateInput{}
314	}
315
316	output = &DeleteReplicationConfigurationTemplateOutput{}
317	req = c.newRequest(op, input, output)
318	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
319	return
320}
321
322// DeleteReplicationConfigurationTemplate API operation for Application Migration Service.
323//
324// Deletes a single Replication Configuration Template by ID
325//
326// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
327// with awserr.Error's Code and Message methods to get detailed information about
328// the error.
329//
330// See the AWS API reference guide for Application Migration Service's
331// API operation DeleteReplicationConfigurationTemplate for usage and error information.
332//
333// Returned Error Types:
334//   * UninitializedAccountException
335//   Unitialized account exception.
336//
337//   * ResourceNotFoundException
338//   Resource not found exception.
339//
340//   * ConflictException
341//   The request could not be completed due to a conflict with the current state
342//   of the target resource.
343//
344// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DeleteReplicationConfigurationTemplate
345func (c *Mgn) DeleteReplicationConfigurationTemplate(input *DeleteReplicationConfigurationTemplateInput) (*DeleteReplicationConfigurationTemplateOutput, error) {
346	req, out := c.DeleteReplicationConfigurationTemplateRequest(input)
347	return out, req.Send()
348}
349
350// DeleteReplicationConfigurationTemplateWithContext is the same as DeleteReplicationConfigurationTemplate with the addition of
351// the ability to pass a context and additional request options.
352//
353// See DeleteReplicationConfigurationTemplate for details on how to use this API operation.
354//
355// The context must be non-nil and will be used for request cancellation. If
356// the context is nil a panic will occur. In the future the SDK may create
357// sub-contexts for http.Requests. See https://golang.org/pkg/context/
358// for more information on using Contexts.
359func (c *Mgn) DeleteReplicationConfigurationTemplateWithContext(ctx aws.Context, input *DeleteReplicationConfigurationTemplateInput, opts ...request.Option) (*DeleteReplicationConfigurationTemplateOutput, error) {
360	req, out := c.DeleteReplicationConfigurationTemplateRequest(input)
361	req.SetContext(ctx)
362	req.ApplyOptions(opts...)
363	return out, req.Send()
364}
365
366const opDeleteSourceServer = "DeleteSourceServer"
367
368// DeleteSourceServerRequest generates a "aws/request.Request" representing the
369// client's request for the DeleteSourceServer operation. The "output" return
370// value will be populated with the request's response once the request completes
371// successfully.
372//
373// Use "Send" method on the returned Request to send the API call to the service.
374// the "output" return value is not valid until after Send returns without error.
375//
376// See DeleteSourceServer for more information on using the DeleteSourceServer
377// API call, and error handling.
378//
379// This method is useful when you want to inject custom logic or configuration
380// into the SDK's request lifecycle. Such as custom headers, or retry logic.
381//
382//
383//    // Example sending a request using the DeleteSourceServerRequest method.
384//    req, resp := client.DeleteSourceServerRequest(params)
385//
386//    err := req.Send()
387//    if err == nil { // resp is now filled
388//        fmt.Println(resp)
389//    }
390//
391// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DeleteSourceServer
392func (c *Mgn) DeleteSourceServerRequest(input *DeleteSourceServerInput) (req *request.Request, output *DeleteSourceServerOutput) {
393	op := &request.Operation{
394		Name:       opDeleteSourceServer,
395		HTTPMethod: "POST",
396		HTTPPath:   "/DeleteSourceServer",
397	}
398
399	if input == nil {
400		input = &DeleteSourceServerInput{}
401	}
402
403	output = &DeleteSourceServerOutput{}
404	req = c.newRequest(op, input, output)
405	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
406	return
407}
408
409// DeleteSourceServer API operation for Application Migration Service.
410//
411// Deletes a single source server by ID.
412//
413// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
414// with awserr.Error's Code and Message methods to get detailed information about
415// the error.
416//
417// See the AWS API reference guide for Application Migration Service's
418// API operation DeleteSourceServer for usage and error information.
419//
420// Returned Error Types:
421//   * UninitializedAccountException
422//   Unitialized account exception.
423//
424//   * ResourceNotFoundException
425//   Resource not found exception.
426//
427//   * ConflictException
428//   The request could not be completed due to a conflict with the current state
429//   of the target resource.
430//
431// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DeleteSourceServer
432func (c *Mgn) DeleteSourceServer(input *DeleteSourceServerInput) (*DeleteSourceServerOutput, error) {
433	req, out := c.DeleteSourceServerRequest(input)
434	return out, req.Send()
435}
436
437// DeleteSourceServerWithContext is the same as DeleteSourceServer with the addition of
438// the ability to pass a context and additional request options.
439//
440// See DeleteSourceServer for details on how to use this API operation.
441//
442// The context must be non-nil and will be used for request cancellation. If
443// the context is nil a panic will occur. In the future the SDK may create
444// sub-contexts for http.Requests. See https://golang.org/pkg/context/
445// for more information on using Contexts.
446func (c *Mgn) DeleteSourceServerWithContext(ctx aws.Context, input *DeleteSourceServerInput, opts ...request.Option) (*DeleteSourceServerOutput, error) {
447	req, out := c.DeleteSourceServerRequest(input)
448	req.SetContext(ctx)
449	req.ApplyOptions(opts...)
450	return out, req.Send()
451}
452
453const opDescribeJobLogItems = "DescribeJobLogItems"
454
455// DescribeJobLogItemsRequest generates a "aws/request.Request" representing the
456// client's request for the DescribeJobLogItems operation. The "output" return
457// value will be populated with the request's response once the request completes
458// successfully.
459//
460// Use "Send" method on the returned Request to send the API call to the service.
461// the "output" return value is not valid until after Send returns without error.
462//
463// See DescribeJobLogItems for more information on using the DescribeJobLogItems
464// API call, and error handling.
465//
466// This method is useful when you want to inject custom logic or configuration
467// into the SDK's request lifecycle. Such as custom headers, or retry logic.
468//
469//
470//    // Example sending a request using the DescribeJobLogItemsRequest method.
471//    req, resp := client.DescribeJobLogItemsRequest(params)
472//
473//    err := req.Send()
474//    if err == nil { // resp is now filled
475//        fmt.Println(resp)
476//    }
477//
478// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DescribeJobLogItems
479func (c *Mgn) DescribeJobLogItemsRequest(input *DescribeJobLogItemsInput) (req *request.Request, output *DescribeJobLogItemsOutput) {
480	op := &request.Operation{
481		Name:       opDescribeJobLogItems,
482		HTTPMethod: "POST",
483		HTTPPath:   "/DescribeJobLogItems",
484		Paginator: &request.Paginator{
485			InputTokens:     []string{"nextToken"},
486			OutputTokens:    []string{"nextToken"},
487			LimitToken:      "maxResults",
488			TruncationToken: "",
489		},
490	}
491
492	if input == nil {
493		input = &DescribeJobLogItemsInput{}
494	}
495
496	output = &DescribeJobLogItemsOutput{}
497	req = c.newRequest(op, input, output)
498	return
499}
500
501// DescribeJobLogItems API operation for Application Migration Service.
502//
503// Retrieves detailed Job log with paging.
504//
505// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
506// with awserr.Error's Code and Message methods to get detailed information about
507// the error.
508//
509// See the AWS API reference guide for Application Migration Service's
510// API operation DescribeJobLogItems for usage and error information.
511//
512// Returned Error Types:
513//   * UninitializedAccountException
514//   Unitialized account exception.
515//
516//   * ValidationException
517//   Validate exception.
518//
519// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DescribeJobLogItems
520func (c *Mgn) DescribeJobLogItems(input *DescribeJobLogItemsInput) (*DescribeJobLogItemsOutput, error) {
521	req, out := c.DescribeJobLogItemsRequest(input)
522	return out, req.Send()
523}
524
525// DescribeJobLogItemsWithContext is the same as DescribeJobLogItems with the addition of
526// the ability to pass a context and additional request options.
527//
528// See DescribeJobLogItems for details on how to use this API operation.
529//
530// The context must be non-nil and will be used for request cancellation. If
531// the context is nil a panic will occur. In the future the SDK may create
532// sub-contexts for http.Requests. See https://golang.org/pkg/context/
533// for more information on using Contexts.
534func (c *Mgn) DescribeJobLogItemsWithContext(ctx aws.Context, input *DescribeJobLogItemsInput, opts ...request.Option) (*DescribeJobLogItemsOutput, error) {
535	req, out := c.DescribeJobLogItemsRequest(input)
536	req.SetContext(ctx)
537	req.ApplyOptions(opts...)
538	return out, req.Send()
539}
540
541// DescribeJobLogItemsPages iterates over the pages of a DescribeJobLogItems operation,
542// calling the "fn" function with the response data for each page. To stop
543// iterating, return false from the fn function.
544//
545// See DescribeJobLogItems method for more information on how to use this operation.
546//
547// Note: This operation can generate multiple requests to a service.
548//
549//    // Example iterating over at most 3 pages of a DescribeJobLogItems operation.
550//    pageNum := 0
551//    err := client.DescribeJobLogItemsPages(params,
552//        func(page *mgn.DescribeJobLogItemsOutput, lastPage bool) bool {
553//            pageNum++
554//            fmt.Println(page)
555//            return pageNum <= 3
556//        })
557//
558func (c *Mgn) DescribeJobLogItemsPages(input *DescribeJobLogItemsInput, fn func(*DescribeJobLogItemsOutput, bool) bool) error {
559	return c.DescribeJobLogItemsPagesWithContext(aws.BackgroundContext(), input, fn)
560}
561
562// DescribeJobLogItemsPagesWithContext same as DescribeJobLogItemsPages except
563// it takes a Context and allows setting request options on the pages.
564//
565// The context must be non-nil and will be used for request cancellation. If
566// the context is nil a panic will occur. In the future the SDK may create
567// sub-contexts for http.Requests. See https://golang.org/pkg/context/
568// for more information on using Contexts.
569func (c *Mgn) DescribeJobLogItemsPagesWithContext(ctx aws.Context, input *DescribeJobLogItemsInput, fn func(*DescribeJobLogItemsOutput, bool) bool, opts ...request.Option) error {
570	p := request.Pagination{
571		NewRequest: func() (*request.Request, error) {
572			var inCpy *DescribeJobLogItemsInput
573			if input != nil {
574				tmp := *input
575				inCpy = &tmp
576			}
577			req, _ := c.DescribeJobLogItemsRequest(inCpy)
578			req.SetContext(ctx)
579			req.ApplyOptions(opts...)
580			return req, nil
581		},
582	}
583
584	for p.Next() {
585		if !fn(p.Page().(*DescribeJobLogItemsOutput), !p.HasNextPage()) {
586			break
587		}
588	}
589
590	return p.Err()
591}
592
593const opDescribeJobs = "DescribeJobs"
594
595// DescribeJobsRequest generates a "aws/request.Request" representing the
596// client's request for the DescribeJobs operation. The "output" return
597// value will be populated with the request's response once the request completes
598// successfully.
599//
600// Use "Send" method on the returned Request to send the API call to the service.
601// the "output" return value is not valid until after Send returns without error.
602//
603// See DescribeJobs for more information on using the DescribeJobs
604// API call, and error handling.
605//
606// This method is useful when you want to inject custom logic or configuration
607// into the SDK's request lifecycle. Such as custom headers, or retry logic.
608//
609//
610//    // Example sending a request using the DescribeJobsRequest method.
611//    req, resp := client.DescribeJobsRequest(params)
612//
613//    err := req.Send()
614//    if err == nil { // resp is now filled
615//        fmt.Println(resp)
616//    }
617//
618// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DescribeJobs
619func (c *Mgn) DescribeJobsRequest(input *DescribeJobsInput) (req *request.Request, output *DescribeJobsOutput) {
620	op := &request.Operation{
621		Name:       opDescribeJobs,
622		HTTPMethod: "POST",
623		HTTPPath:   "/DescribeJobs",
624		Paginator: &request.Paginator{
625			InputTokens:     []string{"nextToken"},
626			OutputTokens:    []string{"nextToken"},
627			LimitToken:      "maxResults",
628			TruncationToken: "",
629		},
630	}
631
632	if input == nil {
633		input = &DescribeJobsInput{}
634	}
635
636	output = &DescribeJobsOutput{}
637	req = c.newRequest(op, input, output)
638	return
639}
640
641// DescribeJobs API operation for Application Migration Service.
642//
643// Returns a list of Jobs. Use the JobsID and fromDate and toData filters to
644// limit which jobs are returned. The response is sorted by creationDataTime
645// - latest date first. Jobs are normaly created by the StartTest, StartCutover,
646// and TerminateTargetInstances APIs. Jobs are also created by DiagnosticLaunch
647// and TerminateDiagnosticInstances, which are APIs available only to *Support*
648// and only used in response to relevant support tickets.
649//
650// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
651// with awserr.Error's Code and Message methods to get detailed information about
652// the error.
653//
654// See the AWS API reference guide for Application Migration Service's
655// API operation DescribeJobs for usage and error information.
656//
657// Returned Error Types:
658//   * UninitializedAccountException
659//   Unitialized account exception.
660//
661//   * ValidationException
662//   Validate exception.
663//
664// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DescribeJobs
665func (c *Mgn) DescribeJobs(input *DescribeJobsInput) (*DescribeJobsOutput, error) {
666	req, out := c.DescribeJobsRequest(input)
667	return out, req.Send()
668}
669
670// DescribeJobsWithContext is the same as DescribeJobs with the addition of
671// the ability to pass a context and additional request options.
672//
673// See DescribeJobs for details on how to use this API operation.
674//
675// The context must be non-nil and will be used for request cancellation. If
676// the context is nil a panic will occur. In the future the SDK may create
677// sub-contexts for http.Requests. See https://golang.org/pkg/context/
678// for more information on using Contexts.
679func (c *Mgn) DescribeJobsWithContext(ctx aws.Context, input *DescribeJobsInput, opts ...request.Option) (*DescribeJobsOutput, error) {
680	req, out := c.DescribeJobsRequest(input)
681	req.SetContext(ctx)
682	req.ApplyOptions(opts...)
683	return out, req.Send()
684}
685
686// DescribeJobsPages iterates over the pages of a DescribeJobs operation,
687// calling the "fn" function with the response data for each page. To stop
688// iterating, return false from the fn function.
689//
690// See DescribeJobs method for more information on how to use this operation.
691//
692// Note: This operation can generate multiple requests to a service.
693//
694//    // Example iterating over at most 3 pages of a DescribeJobs operation.
695//    pageNum := 0
696//    err := client.DescribeJobsPages(params,
697//        func(page *mgn.DescribeJobsOutput, lastPage bool) bool {
698//            pageNum++
699//            fmt.Println(page)
700//            return pageNum <= 3
701//        })
702//
703func (c *Mgn) DescribeJobsPages(input *DescribeJobsInput, fn func(*DescribeJobsOutput, bool) bool) error {
704	return c.DescribeJobsPagesWithContext(aws.BackgroundContext(), input, fn)
705}
706
707// DescribeJobsPagesWithContext same as DescribeJobsPages except
708// it takes a Context and allows setting request options on the pages.
709//
710// The context must be non-nil and will be used for request cancellation. If
711// the context is nil a panic will occur. In the future the SDK may create
712// sub-contexts for http.Requests. See https://golang.org/pkg/context/
713// for more information on using Contexts.
714func (c *Mgn) DescribeJobsPagesWithContext(ctx aws.Context, input *DescribeJobsInput, fn func(*DescribeJobsOutput, bool) bool, opts ...request.Option) error {
715	p := request.Pagination{
716		NewRequest: func() (*request.Request, error) {
717			var inCpy *DescribeJobsInput
718			if input != nil {
719				tmp := *input
720				inCpy = &tmp
721			}
722			req, _ := c.DescribeJobsRequest(inCpy)
723			req.SetContext(ctx)
724			req.ApplyOptions(opts...)
725			return req, nil
726		},
727	}
728
729	for p.Next() {
730		if !fn(p.Page().(*DescribeJobsOutput), !p.HasNextPage()) {
731			break
732		}
733	}
734
735	return p.Err()
736}
737
738const opDescribeReplicationConfigurationTemplates = "DescribeReplicationConfigurationTemplates"
739
740// DescribeReplicationConfigurationTemplatesRequest generates a "aws/request.Request" representing the
741// client's request for the DescribeReplicationConfigurationTemplates operation. The "output" return
742// value will be populated with the request's response once the request completes
743// successfully.
744//
745// Use "Send" method on the returned Request to send the API call to the service.
746// the "output" return value is not valid until after Send returns without error.
747//
748// See DescribeReplicationConfigurationTemplates for more information on using the DescribeReplicationConfigurationTemplates
749// API call, and error handling.
750//
751// This method is useful when you want to inject custom logic or configuration
752// into the SDK's request lifecycle. Such as custom headers, or retry logic.
753//
754//
755//    // Example sending a request using the DescribeReplicationConfigurationTemplatesRequest method.
756//    req, resp := client.DescribeReplicationConfigurationTemplatesRequest(params)
757//
758//    err := req.Send()
759//    if err == nil { // resp is now filled
760//        fmt.Println(resp)
761//    }
762//
763// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DescribeReplicationConfigurationTemplates
764func (c *Mgn) DescribeReplicationConfigurationTemplatesRequest(input *DescribeReplicationConfigurationTemplatesInput) (req *request.Request, output *DescribeReplicationConfigurationTemplatesOutput) {
765	op := &request.Operation{
766		Name:       opDescribeReplicationConfigurationTemplates,
767		HTTPMethod: "POST",
768		HTTPPath:   "/DescribeReplicationConfigurationTemplates",
769		Paginator: &request.Paginator{
770			InputTokens:     []string{"nextToken"},
771			OutputTokens:    []string{"nextToken"},
772			LimitToken:      "maxResults",
773			TruncationToken: "",
774		},
775	}
776
777	if input == nil {
778		input = &DescribeReplicationConfigurationTemplatesInput{}
779	}
780
781	output = &DescribeReplicationConfigurationTemplatesOutput{}
782	req = c.newRequest(op, input, output)
783	return
784}
785
786// DescribeReplicationConfigurationTemplates API operation for Application Migration Service.
787//
788// Lists all ReplicationConfigurationTemplates, filtered by Source Server IDs.
789//
790// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
791// with awserr.Error's Code and Message methods to get detailed information about
792// the error.
793//
794// See the AWS API reference guide for Application Migration Service's
795// API operation DescribeReplicationConfigurationTemplates for usage and error information.
796//
797// Returned Error Types:
798//   * UninitializedAccountException
799//   Unitialized account exception.
800//
801//   * ResourceNotFoundException
802//   Resource not found exception.
803//
804//   * ValidationException
805//   Validate exception.
806//
807// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DescribeReplicationConfigurationTemplates
808func (c *Mgn) DescribeReplicationConfigurationTemplates(input *DescribeReplicationConfigurationTemplatesInput) (*DescribeReplicationConfigurationTemplatesOutput, error) {
809	req, out := c.DescribeReplicationConfigurationTemplatesRequest(input)
810	return out, req.Send()
811}
812
813// DescribeReplicationConfigurationTemplatesWithContext is the same as DescribeReplicationConfigurationTemplates with the addition of
814// the ability to pass a context and additional request options.
815//
816// See DescribeReplicationConfigurationTemplates for details on how to use this API operation.
817//
818// The context must be non-nil and will be used for request cancellation. If
819// the context is nil a panic will occur. In the future the SDK may create
820// sub-contexts for http.Requests. See https://golang.org/pkg/context/
821// for more information on using Contexts.
822func (c *Mgn) DescribeReplicationConfigurationTemplatesWithContext(ctx aws.Context, input *DescribeReplicationConfigurationTemplatesInput, opts ...request.Option) (*DescribeReplicationConfigurationTemplatesOutput, error) {
823	req, out := c.DescribeReplicationConfigurationTemplatesRequest(input)
824	req.SetContext(ctx)
825	req.ApplyOptions(opts...)
826	return out, req.Send()
827}
828
829// DescribeReplicationConfigurationTemplatesPages iterates over the pages of a DescribeReplicationConfigurationTemplates operation,
830// calling the "fn" function with the response data for each page. To stop
831// iterating, return false from the fn function.
832//
833// See DescribeReplicationConfigurationTemplates method for more information on how to use this operation.
834//
835// Note: This operation can generate multiple requests to a service.
836//
837//    // Example iterating over at most 3 pages of a DescribeReplicationConfigurationTemplates operation.
838//    pageNum := 0
839//    err := client.DescribeReplicationConfigurationTemplatesPages(params,
840//        func(page *mgn.DescribeReplicationConfigurationTemplatesOutput, lastPage bool) bool {
841//            pageNum++
842//            fmt.Println(page)
843//            return pageNum <= 3
844//        })
845//
846func (c *Mgn) DescribeReplicationConfigurationTemplatesPages(input *DescribeReplicationConfigurationTemplatesInput, fn func(*DescribeReplicationConfigurationTemplatesOutput, bool) bool) error {
847	return c.DescribeReplicationConfigurationTemplatesPagesWithContext(aws.BackgroundContext(), input, fn)
848}
849
850// DescribeReplicationConfigurationTemplatesPagesWithContext same as DescribeReplicationConfigurationTemplatesPages except
851// it takes a Context and allows setting request options on the pages.
852//
853// The context must be non-nil and will be used for request cancellation. If
854// the context is nil a panic will occur. In the future the SDK may create
855// sub-contexts for http.Requests. See https://golang.org/pkg/context/
856// for more information on using Contexts.
857func (c *Mgn) DescribeReplicationConfigurationTemplatesPagesWithContext(ctx aws.Context, input *DescribeReplicationConfigurationTemplatesInput, fn func(*DescribeReplicationConfigurationTemplatesOutput, bool) bool, opts ...request.Option) error {
858	p := request.Pagination{
859		NewRequest: func() (*request.Request, error) {
860			var inCpy *DescribeReplicationConfigurationTemplatesInput
861			if input != nil {
862				tmp := *input
863				inCpy = &tmp
864			}
865			req, _ := c.DescribeReplicationConfigurationTemplatesRequest(inCpy)
866			req.SetContext(ctx)
867			req.ApplyOptions(opts...)
868			return req, nil
869		},
870	}
871
872	for p.Next() {
873		if !fn(p.Page().(*DescribeReplicationConfigurationTemplatesOutput), !p.HasNextPage()) {
874			break
875		}
876	}
877
878	return p.Err()
879}
880
881const opDescribeSourceServers = "DescribeSourceServers"
882
883// DescribeSourceServersRequest generates a "aws/request.Request" representing the
884// client's request for the DescribeSourceServers operation. The "output" return
885// value will be populated with the request's response once the request completes
886// successfully.
887//
888// Use "Send" method on the returned Request to send the API call to the service.
889// the "output" return value is not valid until after Send returns without error.
890//
891// See DescribeSourceServers for more information on using the DescribeSourceServers
892// API call, and error handling.
893//
894// This method is useful when you want to inject custom logic or configuration
895// into the SDK's request lifecycle. Such as custom headers, or retry logic.
896//
897//
898//    // Example sending a request using the DescribeSourceServersRequest method.
899//    req, resp := client.DescribeSourceServersRequest(params)
900//
901//    err := req.Send()
902//    if err == nil { // resp is now filled
903//        fmt.Println(resp)
904//    }
905//
906// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DescribeSourceServers
907func (c *Mgn) DescribeSourceServersRequest(input *DescribeSourceServersInput) (req *request.Request, output *DescribeSourceServersOutput) {
908	op := &request.Operation{
909		Name:       opDescribeSourceServers,
910		HTTPMethod: "POST",
911		HTTPPath:   "/DescribeSourceServers",
912		Paginator: &request.Paginator{
913			InputTokens:     []string{"nextToken"},
914			OutputTokens:    []string{"nextToken"},
915			LimitToken:      "maxResults",
916			TruncationToken: "",
917		},
918	}
919
920	if input == nil {
921		input = &DescribeSourceServersInput{}
922	}
923
924	output = &DescribeSourceServersOutput{}
925	req = c.newRequest(op, input, output)
926	return
927}
928
929// DescribeSourceServers API operation for Application Migration Service.
930//
931// Retrieves all SourceServers or multiple SourceServers by ID.
932//
933// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
934// with awserr.Error's Code and Message methods to get detailed information about
935// the error.
936//
937// See the AWS API reference guide for Application Migration Service's
938// API operation DescribeSourceServers for usage and error information.
939//
940// Returned Error Types:
941//   * UninitializedAccountException
942//   Unitialized account exception.
943//
944//   * ValidationException
945//   Validate exception.
946//
947// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DescribeSourceServers
948func (c *Mgn) DescribeSourceServers(input *DescribeSourceServersInput) (*DescribeSourceServersOutput, error) {
949	req, out := c.DescribeSourceServersRequest(input)
950	return out, req.Send()
951}
952
953// DescribeSourceServersWithContext is the same as DescribeSourceServers with the addition of
954// the ability to pass a context and additional request options.
955//
956// See DescribeSourceServers for details on how to use this API operation.
957//
958// The context must be non-nil and will be used for request cancellation. If
959// the context is nil a panic will occur. In the future the SDK may create
960// sub-contexts for http.Requests. See https://golang.org/pkg/context/
961// for more information on using Contexts.
962func (c *Mgn) DescribeSourceServersWithContext(ctx aws.Context, input *DescribeSourceServersInput, opts ...request.Option) (*DescribeSourceServersOutput, error) {
963	req, out := c.DescribeSourceServersRequest(input)
964	req.SetContext(ctx)
965	req.ApplyOptions(opts...)
966	return out, req.Send()
967}
968
969// DescribeSourceServersPages iterates over the pages of a DescribeSourceServers operation,
970// calling the "fn" function with the response data for each page. To stop
971// iterating, return false from the fn function.
972//
973// See DescribeSourceServers method for more information on how to use this operation.
974//
975// Note: This operation can generate multiple requests to a service.
976//
977//    // Example iterating over at most 3 pages of a DescribeSourceServers operation.
978//    pageNum := 0
979//    err := client.DescribeSourceServersPages(params,
980//        func(page *mgn.DescribeSourceServersOutput, lastPage bool) bool {
981//            pageNum++
982//            fmt.Println(page)
983//            return pageNum <= 3
984//        })
985//
986func (c *Mgn) DescribeSourceServersPages(input *DescribeSourceServersInput, fn func(*DescribeSourceServersOutput, bool) bool) error {
987	return c.DescribeSourceServersPagesWithContext(aws.BackgroundContext(), input, fn)
988}
989
990// DescribeSourceServersPagesWithContext same as DescribeSourceServersPages except
991// it takes a Context and allows setting request options on the pages.
992//
993// The context must be non-nil and will be used for request cancellation. If
994// the context is nil a panic will occur. In the future the SDK may create
995// sub-contexts for http.Requests. See https://golang.org/pkg/context/
996// for more information on using Contexts.
997func (c *Mgn) DescribeSourceServersPagesWithContext(ctx aws.Context, input *DescribeSourceServersInput, fn func(*DescribeSourceServersOutput, bool) bool, opts ...request.Option) error {
998	p := request.Pagination{
999		NewRequest: func() (*request.Request, error) {
1000			var inCpy *DescribeSourceServersInput
1001			if input != nil {
1002				tmp := *input
1003				inCpy = &tmp
1004			}
1005			req, _ := c.DescribeSourceServersRequest(inCpy)
1006			req.SetContext(ctx)
1007			req.ApplyOptions(opts...)
1008			return req, nil
1009		},
1010	}
1011
1012	for p.Next() {
1013		if !fn(p.Page().(*DescribeSourceServersOutput), !p.HasNextPage()) {
1014			break
1015		}
1016	}
1017
1018	return p.Err()
1019}
1020
1021const opDisconnectFromService = "DisconnectFromService"
1022
1023// DisconnectFromServiceRequest generates a "aws/request.Request" representing the
1024// client's request for the DisconnectFromService operation. The "output" return
1025// value will be populated with the request's response once the request completes
1026// successfully.
1027//
1028// Use "Send" method on the returned Request to send the API call to the service.
1029// the "output" return value is not valid until after Send returns without error.
1030//
1031// See DisconnectFromService for more information on using the DisconnectFromService
1032// API call, and error handling.
1033//
1034// This method is useful when you want to inject custom logic or configuration
1035// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1036//
1037//
1038//    // Example sending a request using the DisconnectFromServiceRequest method.
1039//    req, resp := client.DisconnectFromServiceRequest(params)
1040//
1041//    err := req.Send()
1042//    if err == nil { // resp is now filled
1043//        fmt.Println(resp)
1044//    }
1045//
1046// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DisconnectFromService
1047func (c *Mgn) DisconnectFromServiceRequest(input *DisconnectFromServiceInput) (req *request.Request, output *DisconnectFromServiceOutput) {
1048	op := &request.Operation{
1049		Name:       opDisconnectFromService,
1050		HTTPMethod: "POST",
1051		HTTPPath:   "/DisconnectFromService",
1052	}
1053
1054	if input == nil {
1055		input = &DisconnectFromServiceInput{}
1056	}
1057
1058	output = &DisconnectFromServiceOutput{}
1059	req = c.newRequest(op, input, output)
1060	return
1061}
1062
1063// DisconnectFromService API operation for Application Migration Service.
1064//
1065// Disconnects specific Source Servers from Application Migration Service. Data
1066// replication is stopped immediately. All AWS resources created by Application
1067// Migration Service for enabling the replication of these source servers will
1068// be terminated / deleted within 90 minutes. Launched Test or Cutover instances
1069// will NOT be terminated. If the agent on the source server has not been prevented
1070// from communciating with the Application Migration Service service, then it
1071// will receive a command to uninstall itself (within approximately 10 minutes).
1072// The following properties of the SourceServer will be changed immediately:
1073// dataReplicationInfo.dataReplicationState will be set to DISCONNECTED; The
1074// totalStorageBytes property for each of dataReplicationInfo.replicatedDisks
1075// will be set to zero; dataReplicationInfo.lagDuration and dataReplicationInfo.lagDurationwill
1076// be nullified.
1077//
1078// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1079// with awserr.Error's Code and Message methods to get detailed information about
1080// the error.
1081//
1082// See the AWS API reference guide for Application Migration Service's
1083// API operation DisconnectFromService for usage and error information.
1084//
1085// Returned Error Types:
1086//   * UninitializedAccountException
1087//   Unitialized account exception.
1088//
1089//   * ResourceNotFoundException
1090//   Resource not found exception.
1091//
1092//   * ConflictException
1093//   The request could not be completed due to a conflict with the current state
1094//   of the target resource.
1095//
1096// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/DisconnectFromService
1097func (c *Mgn) DisconnectFromService(input *DisconnectFromServiceInput) (*DisconnectFromServiceOutput, error) {
1098	req, out := c.DisconnectFromServiceRequest(input)
1099	return out, req.Send()
1100}
1101
1102// DisconnectFromServiceWithContext is the same as DisconnectFromService with the addition of
1103// the ability to pass a context and additional request options.
1104//
1105// See DisconnectFromService for details on how to use this API operation.
1106//
1107// The context must be non-nil and will be used for request cancellation. If
1108// the context is nil a panic will occur. In the future the SDK may create
1109// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1110// for more information on using Contexts.
1111func (c *Mgn) DisconnectFromServiceWithContext(ctx aws.Context, input *DisconnectFromServiceInput, opts ...request.Option) (*DisconnectFromServiceOutput, error) {
1112	req, out := c.DisconnectFromServiceRequest(input)
1113	req.SetContext(ctx)
1114	req.ApplyOptions(opts...)
1115	return out, req.Send()
1116}
1117
1118const opFinalizeCutover = "FinalizeCutover"
1119
1120// FinalizeCutoverRequest generates a "aws/request.Request" representing the
1121// client's request for the FinalizeCutover operation. The "output" return
1122// value will be populated with the request's response once the request completes
1123// successfully.
1124//
1125// Use "Send" method on the returned Request to send the API call to the service.
1126// the "output" return value is not valid until after Send returns without error.
1127//
1128// See FinalizeCutover for more information on using the FinalizeCutover
1129// API call, and error handling.
1130//
1131// This method is useful when you want to inject custom logic or configuration
1132// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1133//
1134//
1135//    // Example sending a request using the FinalizeCutoverRequest method.
1136//    req, resp := client.FinalizeCutoverRequest(params)
1137//
1138//    err := req.Send()
1139//    if err == nil { // resp is now filled
1140//        fmt.Println(resp)
1141//    }
1142//
1143// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/FinalizeCutover
1144func (c *Mgn) FinalizeCutoverRequest(input *FinalizeCutoverInput) (req *request.Request, output *FinalizeCutoverOutput) {
1145	op := &request.Operation{
1146		Name:       opFinalizeCutover,
1147		HTTPMethod: "POST",
1148		HTTPPath:   "/FinalizeCutover",
1149	}
1150
1151	if input == nil {
1152		input = &FinalizeCutoverInput{}
1153	}
1154
1155	output = &FinalizeCutoverOutput{}
1156	req = c.newRequest(op, input, output)
1157	return
1158}
1159
1160// FinalizeCutover API operation for Application Migration Service.
1161//
1162// Finalizes the cutover immediately for specific Source Servers. All AWS resources
1163// created by Application Migration Service for enabling the replication of
1164// these source servers will be terminated / deleted within 90 minutes. Launched
1165// Test or Cutover instances will NOT be terminated. The AWS Replication Agent
1166// will receive a command to uninstall itself (within 10 minutes). The following
1167// properties of the SourceServer will be changed immediately: dataReplicationInfo.dataReplicationState
1168// will be to DISCONNECTED; The SourceServer.lifeCycle.state will be changed
1169// to CUTOVER; The totalStorageBytes property fo each of dataReplicationInfo.replicatedDisks
1170// will be set to zero; dataReplicationInfo.lagDuration and dataReplicationInfo.lagDurationwill
1171// be nullified.
1172//
1173// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1174// with awserr.Error's Code and Message methods to get detailed information about
1175// the error.
1176//
1177// See the AWS API reference guide for Application Migration Service's
1178// API operation FinalizeCutover for usage and error information.
1179//
1180// Returned Error Types:
1181//   * UninitializedAccountException
1182//   Unitialized account exception.
1183//
1184//   * ResourceNotFoundException
1185//   Resource not found exception.
1186//
1187//   * ValidationException
1188//   Validate exception.
1189//
1190//   * ConflictException
1191//   The request could not be completed due to a conflict with the current state
1192//   of the target resource.
1193//
1194// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/FinalizeCutover
1195func (c *Mgn) FinalizeCutover(input *FinalizeCutoverInput) (*FinalizeCutoverOutput, error) {
1196	req, out := c.FinalizeCutoverRequest(input)
1197	return out, req.Send()
1198}
1199
1200// FinalizeCutoverWithContext is the same as FinalizeCutover with the addition of
1201// the ability to pass a context and additional request options.
1202//
1203// See FinalizeCutover for details on how to use this API operation.
1204//
1205// The context must be non-nil and will be used for request cancellation. If
1206// the context is nil a panic will occur. In the future the SDK may create
1207// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1208// for more information on using Contexts.
1209func (c *Mgn) FinalizeCutoverWithContext(ctx aws.Context, input *FinalizeCutoverInput, opts ...request.Option) (*FinalizeCutoverOutput, error) {
1210	req, out := c.FinalizeCutoverRequest(input)
1211	req.SetContext(ctx)
1212	req.ApplyOptions(opts...)
1213	return out, req.Send()
1214}
1215
1216const opGetLaunchConfiguration = "GetLaunchConfiguration"
1217
1218// GetLaunchConfigurationRequest generates a "aws/request.Request" representing the
1219// client's request for the GetLaunchConfiguration operation. The "output" return
1220// value will be populated with the request's response once the request completes
1221// successfully.
1222//
1223// Use "Send" method on the returned Request to send the API call to the service.
1224// the "output" return value is not valid until after Send returns without error.
1225//
1226// See GetLaunchConfiguration for more information on using the GetLaunchConfiguration
1227// API call, and error handling.
1228//
1229// This method is useful when you want to inject custom logic or configuration
1230// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1231//
1232//
1233//    // Example sending a request using the GetLaunchConfigurationRequest method.
1234//    req, resp := client.GetLaunchConfigurationRequest(params)
1235//
1236//    err := req.Send()
1237//    if err == nil { // resp is now filled
1238//        fmt.Println(resp)
1239//    }
1240//
1241// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/GetLaunchConfiguration
1242func (c *Mgn) GetLaunchConfigurationRequest(input *GetLaunchConfigurationInput) (req *request.Request, output *GetLaunchConfigurationOutput) {
1243	op := &request.Operation{
1244		Name:       opGetLaunchConfiguration,
1245		HTTPMethod: "POST",
1246		HTTPPath:   "/GetLaunchConfiguration",
1247	}
1248
1249	if input == nil {
1250		input = &GetLaunchConfigurationInput{}
1251	}
1252
1253	output = &GetLaunchConfigurationOutput{}
1254	req = c.newRequest(op, input, output)
1255	return
1256}
1257
1258// GetLaunchConfiguration API operation for Application Migration Service.
1259//
1260// Lists all LaunchConfigurations available, filtered by Source Server IDs.
1261//
1262// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1263// with awserr.Error's Code and Message methods to get detailed information about
1264// the error.
1265//
1266// See the AWS API reference guide for Application Migration Service's
1267// API operation GetLaunchConfiguration for usage and error information.
1268//
1269// Returned Error Types:
1270//   * UninitializedAccountException
1271//   Unitialized account exception.
1272//
1273//   * ResourceNotFoundException
1274//   Resource not found exception.
1275//
1276// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/GetLaunchConfiguration
1277func (c *Mgn) GetLaunchConfiguration(input *GetLaunchConfigurationInput) (*GetLaunchConfigurationOutput, error) {
1278	req, out := c.GetLaunchConfigurationRequest(input)
1279	return out, req.Send()
1280}
1281
1282// GetLaunchConfigurationWithContext is the same as GetLaunchConfiguration with the addition of
1283// the ability to pass a context and additional request options.
1284//
1285// See GetLaunchConfiguration for details on how to use this API operation.
1286//
1287// The context must be non-nil and will be used for request cancellation. If
1288// the context is nil a panic will occur. In the future the SDK may create
1289// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1290// for more information on using Contexts.
1291func (c *Mgn) GetLaunchConfigurationWithContext(ctx aws.Context, input *GetLaunchConfigurationInput, opts ...request.Option) (*GetLaunchConfigurationOutput, error) {
1292	req, out := c.GetLaunchConfigurationRequest(input)
1293	req.SetContext(ctx)
1294	req.ApplyOptions(opts...)
1295	return out, req.Send()
1296}
1297
1298const opGetReplicationConfiguration = "GetReplicationConfiguration"
1299
1300// GetReplicationConfigurationRequest generates a "aws/request.Request" representing the
1301// client's request for the GetReplicationConfiguration operation. The "output" return
1302// value will be populated with the request's response once the request completes
1303// successfully.
1304//
1305// Use "Send" method on the returned Request to send the API call to the service.
1306// the "output" return value is not valid until after Send returns without error.
1307//
1308// See GetReplicationConfiguration for more information on using the GetReplicationConfiguration
1309// API call, and error handling.
1310//
1311// This method is useful when you want to inject custom logic or configuration
1312// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1313//
1314//
1315//    // Example sending a request using the GetReplicationConfigurationRequest method.
1316//    req, resp := client.GetReplicationConfigurationRequest(params)
1317//
1318//    err := req.Send()
1319//    if err == nil { // resp is now filled
1320//        fmt.Println(resp)
1321//    }
1322//
1323// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/GetReplicationConfiguration
1324func (c *Mgn) GetReplicationConfigurationRequest(input *GetReplicationConfigurationInput) (req *request.Request, output *GetReplicationConfigurationOutput) {
1325	op := &request.Operation{
1326		Name:       opGetReplicationConfiguration,
1327		HTTPMethod: "POST",
1328		HTTPPath:   "/GetReplicationConfiguration",
1329	}
1330
1331	if input == nil {
1332		input = &GetReplicationConfigurationInput{}
1333	}
1334
1335	output = &GetReplicationConfigurationOutput{}
1336	req = c.newRequest(op, input, output)
1337	return
1338}
1339
1340// GetReplicationConfiguration API operation for Application Migration Service.
1341//
1342// Lists all ReplicationConfigurations, filtered by Source Server ID.
1343//
1344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1345// with awserr.Error's Code and Message methods to get detailed information about
1346// the error.
1347//
1348// See the AWS API reference guide for Application Migration Service's
1349// API operation GetReplicationConfiguration for usage and error information.
1350//
1351// Returned Error Types:
1352//   * UninitializedAccountException
1353//   Unitialized account exception.
1354//
1355//   * ResourceNotFoundException
1356//   Resource not found exception.
1357//
1358// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/GetReplicationConfiguration
1359func (c *Mgn) GetReplicationConfiguration(input *GetReplicationConfigurationInput) (*GetReplicationConfigurationOutput, error) {
1360	req, out := c.GetReplicationConfigurationRequest(input)
1361	return out, req.Send()
1362}
1363
1364// GetReplicationConfigurationWithContext is the same as GetReplicationConfiguration with the addition of
1365// the ability to pass a context and additional request options.
1366//
1367// See GetReplicationConfiguration for details on how to use this API operation.
1368//
1369// The context must be non-nil and will be used for request cancellation. If
1370// the context is nil a panic will occur. In the future the SDK may create
1371// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1372// for more information on using Contexts.
1373func (c *Mgn) GetReplicationConfigurationWithContext(ctx aws.Context, input *GetReplicationConfigurationInput, opts ...request.Option) (*GetReplicationConfigurationOutput, error) {
1374	req, out := c.GetReplicationConfigurationRequest(input)
1375	req.SetContext(ctx)
1376	req.ApplyOptions(opts...)
1377	return out, req.Send()
1378}
1379
1380const opInitializeService = "InitializeService"
1381
1382// InitializeServiceRequest generates a "aws/request.Request" representing the
1383// client's request for the InitializeService operation. The "output" return
1384// value will be populated with the request's response once the request completes
1385// successfully.
1386//
1387// Use "Send" method on the returned Request to send the API call to the service.
1388// the "output" return value is not valid until after Send returns without error.
1389//
1390// See InitializeService for more information on using the InitializeService
1391// API call, and error handling.
1392//
1393// This method is useful when you want to inject custom logic or configuration
1394// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1395//
1396//
1397//    // Example sending a request using the InitializeServiceRequest method.
1398//    req, resp := client.InitializeServiceRequest(params)
1399//
1400//    err := req.Send()
1401//    if err == nil { // resp is now filled
1402//        fmt.Println(resp)
1403//    }
1404//
1405// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/InitializeService
1406func (c *Mgn) InitializeServiceRequest(input *InitializeServiceInput) (req *request.Request, output *InitializeServiceOutput) {
1407	op := &request.Operation{
1408		Name:       opInitializeService,
1409		HTTPMethod: "POST",
1410		HTTPPath:   "/InitializeService",
1411	}
1412
1413	if input == nil {
1414		input = &InitializeServiceInput{}
1415	}
1416
1417	output = &InitializeServiceOutput{}
1418	req = c.newRequest(op, input, output)
1419	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1420	return
1421}
1422
1423// InitializeService API operation for Application Migration Service.
1424//
1425// Initialize Application Migration Service.
1426//
1427// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1428// with awserr.Error's Code and Message methods to get detailed information about
1429// the error.
1430//
1431// See the AWS API reference guide for Application Migration Service's
1432// API operation InitializeService for usage and error information.
1433//
1434// Returned Error Types:
1435//   * ValidationException
1436//   Validate exception.
1437//
1438//   * AccessDeniedException
1439//   Operating denied due to a file permission or access check error.
1440//
1441// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/InitializeService
1442func (c *Mgn) InitializeService(input *InitializeServiceInput) (*InitializeServiceOutput, error) {
1443	req, out := c.InitializeServiceRequest(input)
1444	return out, req.Send()
1445}
1446
1447// InitializeServiceWithContext is the same as InitializeService with the addition of
1448// the ability to pass a context and additional request options.
1449//
1450// See InitializeService for details on how to use this API operation.
1451//
1452// The context must be non-nil and will be used for request cancellation. If
1453// the context is nil a panic will occur. In the future the SDK may create
1454// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1455// for more information on using Contexts.
1456func (c *Mgn) InitializeServiceWithContext(ctx aws.Context, input *InitializeServiceInput, opts ...request.Option) (*InitializeServiceOutput, error) {
1457	req, out := c.InitializeServiceRequest(input)
1458	req.SetContext(ctx)
1459	req.ApplyOptions(opts...)
1460	return out, req.Send()
1461}
1462
1463const opListTagsForResource = "ListTagsForResource"
1464
1465// ListTagsForResourceRequest generates a "aws/request.Request" representing the
1466// client's request for the ListTagsForResource operation. The "output" return
1467// value will be populated with the request's response once the request completes
1468// successfully.
1469//
1470// Use "Send" method on the returned Request to send the API call to the service.
1471// the "output" return value is not valid until after Send returns without error.
1472//
1473// See ListTagsForResource for more information on using the ListTagsForResource
1474// API call, and error handling.
1475//
1476// This method is useful when you want to inject custom logic or configuration
1477// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1478//
1479//
1480//    // Example sending a request using the ListTagsForResourceRequest method.
1481//    req, resp := client.ListTagsForResourceRequest(params)
1482//
1483//    err := req.Send()
1484//    if err == nil { // resp is now filled
1485//        fmt.Println(resp)
1486//    }
1487//
1488// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/ListTagsForResource
1489func (c *Mgn) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
1490	op := &request.Operation{
1491		Name:       opListTagsForResource,
1492		HTTPMethod: "GET",
1493		HTTPPath:   "/tags/{resourceArn}",
1494	}
1495
1496	if input == nil {
1497		input = &ListTagsForResourceInput{}
1498	}
1499
1500	output = &ListTagsForResourceOutput{}
1501	req = c.newRequest(op, input, output)
1502	return
1503}
1504
1505// ListTagsForResource API operation for Application Migration Service.
1506//
1507// List all tags for your Application Migration Service resources.
1508//
1509// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1510// with awserr.Error's Code and Message methods to get detailed information about
1511// the error.
1512//
1513// See the AWS API reference guide for Application Migration Service's
1514// API operation ListTagsForResource for usage and error information.
1515//
1516// Returned Error Types:
1517//   * ResourceNotFoundException
1518//   Resource not found exception.
1519//
1520//   * ThrottlingException
1521//   Reached throttling quota exception.
1522//
1523//   * ValidationException
1524//   Validate exception.
1525//
1526//   * AccessDeniedException
1527//   Operating denied due to a file permission or access check error.
1528//
1529//   * InternalServerException
1530//   The server encountered an unexpected condition that prevented it from fulfilling
1531//   the request.
1532//
1533// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/ListTagsForResource
1534func (c *Mgn) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
1535	req, out := c.ListTagsForResourceRequest(input)
1536	return out, req.Send()
1537}
1538
1539// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
1540// the ability to pass a context and additional request options.
1541//
1542// See ListTagsForResource for details on how to use this API operation.
1543//
1544// The context must be non-nil and will be used for request cancellation. If
1545// the context is nil a panic will occur. In the future the SDK may create
1546// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1547// for more information on using Contexts.
1548func (c *Mgn) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
1549	req, out := c.ListTagsForResourceRequest(input)
1550	req.SetContext(ctx)
1551	req.ApplyOptions(opts...)
1552	return out, req.Send()
1553}
1554
1555const opMarkAsArchived = "MarkAsArchived"
1556
1557// MarkAsArchivedRequest generates a "aws/request.Request" representing the
1558// client's request for the MarkAsArchived operation. The "output" return
1559// value will be populated with the request's response once the request completes
1560// successfully.
1561//
1562// Use "Send" method on the returned Request to send the API call to the service.
1563// the "output" return value is not valid until after Send returns without error.
1564//
1565// See MarkAsArchived for more information on using the MarkAsArchived
1566// API call, and error handling.
1567//
1568// This method is useful when you want to inject custom logic or configuration
1569// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1570//
1571//
1572//    // Example sending a request using the MarkAsArchivedRequest method.
1573//    req, resp := client.MarkAsArchivedRequest(params)
1574//
1575//    err := req.Send()
1576//    if err == nil { // resp is now filled
1577//        fmt.Println(resp)
1578//    }
1579//
1580// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/MarkAsArchived
1581func (c *Mgn) MarkAsArchivedRequest(input *MarkAsArchivedInput) (req *request.Request, output *MarkAsArchivedOutput) {
1582	op := &request.Operation{
1583		Name:       opMarkAsArchived,
1584		HTTPMethod: "POST",
1585		HTTPPath:   "/MarkAsArchived",
1586	}
1587
1588	if input == nil {
1589		input = &MarkAsArchivedInput{}
1590	}
1591
1592	output = &MarkAsArchivedOutput{}
1593	req = c.newRequest(op, input, output)
1594	return
1595}
1596
1597// MarkAsArchived API operation for Application Migration Service.
1598//
1599// Archives specific Source Servers by setting the SourceServer.isArchived property
1600// to true for specified SourceServers by ID. This command only works for SourceServers
1601// with a lifecycle.state which equals DISCONNECTED or CUTOVER.
1602//
1603// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1604// with awserr.Error's Code and Message methods to get detailed information about
1605// the error.
1606//
1607// See the AWS API reference guide for Application Migration Service's
1608// API operation MarkAsArchived for usage and error information.
1609//
1610// Returned Error Types:
1611//   * UninitializedAccountException
1612//   Unitialized account exception.
1613//
1614//   * ResourceNotFoundException
1615//   Resource not found exception.
1616//
1617//   * ConflictException
1618//   The request could not be completed due to a conflict with the current state
1619//   of the target resource.
1620//
1621// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/MarkAsArchived
1622func (c *Mgn) MarkAsArchived(input *MarkAsArchivedInput) (*MarkAsArchivedOutput, error) {
1623	req, out := c.MarkAsArchivedRequest(input)
1624	return out, req.Send()
1625}
1626
1627// MarkAsArchivedWithContext is the same as MarkAsArchived with the addition of
1628// the ability to pass a context and additional request options.
1629//
1630// See MarkAsArchived for details on how to use this API operation.
1631//
1632// The context must be non-nil and will be used for request cancellation. If
1633// the context is nil a panic will occur. In the future the SDK may create
1634// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1635// for more information on using Contexts.
1636func (c *Mgn) MarkAsArchivedWithContext(ctx aws.Context, input *MarkAsArchivedInput, opts ...request.Option) (*MarkAsArchivedOutput, error) {
1637	req, out := c.MarkAsArchivedRequest(input)
1638	req.SetContext(ctx)
1639	req.ApplyOptions(opts...)
1640	return out, req.Send()
1641}
1642
1643const opRetryDataReplication = "RetryDataReplication"
1644
1645// RetryDataReplicationRequest generates a "aws/request.Request" representing the
1646// client's request for the RetryDataReplication operation. The "output" return
1647// value will be populated with the request's response once the request completes
1648// successfully.
1649//
1650// Use "Send" method on the returned Request to send the API call to the service.
1651// the "output" return value is not valid until after Send returns without error.
1652//
1653// See RetryDataReplication for more information on using the RetryDataReplication
1654// API call, and error handling.
1655//
1656// This method is useful when you want to inject custom logic or configuration
1657// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1658//
1659//
1660//    // Example sending a request using the RetryDataReplicationRequest method.
1661//    req, resp := client.RetryDataReplicationRequest(params)
1662//
1663//    err := req.Send()
1664//    if err == nil { // resp is now filled
1665//        fmt.Println(resp)
1666//    }
1667//
1668// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/RetryDataReplication
1669func (c *Mgn) RetryDataReplicationRequest(input *RetryDataReplicationInput) (req *request.Request, output *RetryDataReplicationOutput) {
1670	op := &request.Operation{
1671		Name:       opRetryDataReplication,
1672		HTTPMethod: "POST",
1673		HTTPPath:   "/RetryDataReplication",
1674	}
1675
1676	if input == nil {
1677		input = &RetryDataReplicationInput{}
1678	}
1679
1680	output = &RetryDataReplicationOutput{}
1681	req = c.newRequest(op, input, output)
1682	return
1683}
1684
1685// RetryDataReplication API operation for Application Migration Service.
1686//
1687// Causes the data replication initiation sequence to begin immediately upon
1688// next Handshake for specified SourceServer IDs, regardless of when the previous
1689// initiation started. This command will not work if the SourceServer is not
1690// stalled or is in a DISCONNECTED or STOPPED state.
1691//
1692// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1693// with awserr.Error's Code and Message methods to get detailed information about
1694// the error.
1695//
1696// See the AWS API reference guide for Application Migration Service's
1697// API operation RetryDataReplication for usage and error information.
1698//
1699// Returned Error Types:
1700//   * UninitializedAccountException
1701//   Unitialized account exception.
1702//
1703//   * ResourceNotFoundException
1704//   Resource not found exception.
1705//
1706//   * ValidationException
1707//   Validate exception.
1708//
1709// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/RetryDataReplication
1710func (c *Mgn) RetryDataReplication(input *RetryDataReplicationInput) (*RetryDataReplicationOutput, error) {
1711	req, out := c.RetryDataReplicationRequest(input)
1712	return out, req.Send()
1713}
1714
1715// RetryDataReplicationWithContext is the same as RetryDataReplication with the addition of
1716// the ability to pass a context and additional request options.
1717//
1718// See RetryDataReplication for details on how to use this API operation.
1719//
1720// The context must be non-nil and will be used for request cancellation. If
1721// the context is nil a panic will occur. In the future the SDK may create
1722// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1723// for more information on using Contexts.
1724func (c *Mgn) RetryDataReplicationWithContext(ctx aws.Context, input *RetryDataReplicationInput, opts ...request.Option) (*RetryDataReplicationOutput, error) {
1725	req, out := c.RetryDataReplicationRequest(input)
1726	req.SetContext(ctx)
1727	req.ApplyOptions(opts...)
1728	return out, req.Send()
1729}
1730
1731const opStartCutover = "StartCutover"
1732
1733// StartCutoverRequest generates a "aws/request.Request" representing the
1734// client's request for the StartCutover operation. The "output" return
1735// value will be populated with the request's response once the request completes
1736// successfully.
1737//
1738// Use "Send" method on the returned Request to send the API call to the service.
1739// the "output" return value is not valid until after Send returns without error.
1740//
1741// See StartCutover for more information on using the StartCutover
1742// API call, and error handling.
1743//
1744// This method is useful when you want to inject custom logic or configuration
1745// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1746//
1747//
1748//    // Example sending a request using the StartCutoverRequest method.
1749//    req, resp := client.StartCutoverRequest(params)
1750//
1751//    err := req.Send()
1752//    if err == nil { // resp is now filled
1753//        fmt.Println(resp)
1754//    }
1755//
1756// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/StartCutover
1757func (c *Mgn) StartCutoverRequest(input *StartCutoverInput) (req *request.Request, output *StartCutoverOutput) {
1758	op := &request.Operation{
1759		Name:       opStartCutover,
1760		HTTPMethod: "POST",
1761		HTTPPath:   "/StartCutover",
1762	}
1763
1764	if input == nil {
1765		input = &StartCutoverInput{}
1766	}
1767
1768	output = &StartCutoverOutput{}
1769	req = c.newRequest(op, input, output)
1770	return
1771}
1772
1773// StartCutover API operation for Application Migration Service.
1774//
1775// Launches a Cutover Instance for specific Source Servers. This command starts
1776// a LAUNCH job whose initiatedBy property is StartCutover and changes the SourceServer.lifeCycle.state
1777// property to CUTTING_OVER.
1778//
1779// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1780// with awserr.Error's Code and Message methods to get detailed information about
1781// the error.
1782//
1783// See the AWS API reference guide for Application Migration Service's
1784// API operation StartCutover for usage and error information.
1785//
1786// Returned Error Types:
1787//   * UninitializedAccountException
1788//   Unitialized account exception.
1789//
1790//   * ValidationException
1791//   Validate exception.
1792//
1793//   * ConflictException
1794//   The request could not be completed due to a conflict with the current state
1795//   of the target resource.
1796//
1797// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/StartCutover
1798func (c *Mgn) StartCutover(input *StartCutoverInput) (*StartCutoverOutput, error) {
1799	req, out := c.StartCutoverRequest(input)
1800	return out, req.Send()
1801}
1802
1803// StartCutoverWithContext is the same as StartCutover with the addition of
1804// the ability to pass a context and additional request options.
1805//
1806// See StartCutover for details on how to use this API operation.
1807//
1808// The context must be non-nil and will be used for request cancellation. If
1809// the context is nil a panic will occur. In the future the SDK may create
1810// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1811// for more information on using Contexts.
1812func (c *Mgn) StartCutoverWithContext(ctx aws.Context, input *StartCutoverInput, opts ...request.Option) (*StartCutoverOutput, error) {
1813	req, out := c.StartCutoverRequest(input)
1814	req.SetContext(ctx)
1815	req.ApplyOptions(opts...)
1816	return out, req.Send()
1817}
1818
1819const opStartTest = "StartTest"
1820
1821// StartTestRequest generates a "aws/request.Request" representing the
1822// client's request for the StartTest operation. The "output" return
1823// value will be populated with the request's response once the request completes
1824// successfully.
1825//
1826// Use "Send" method on the returned Request to send the API call to the service.
1827// the "output" return value is not valid until after Send returns without error.
1828//
1829// See StartTest for more information on using the StartTest
1830// API call, and error handling.
1831//
1832// This method is useful when you want to inject custom logic or configuration
1833// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1834//
1835//
1836//    // Example sending a request using the StartTestRequest method.
1837//    req, resp := client.StartTestRequest(params)
1838//
1839//    err := req.Send()
1840//    if err == nil { // resp is now filled
1841//        fmt.Println(resp)
1842//    }
1843//
1844// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/StartTest
1845func (c *Mgn) StartTestRequest(input *StartTestInput) (req *request.Request, output *StartTestOutput) {
1846	op := &request.Operation{
1847		Name:       opStartTest,
1848		HTTPMethod: "POST",
1849		HTTPPath:   "/StartTest",
1850	}
1851
1852	if input == nil {
1853		input = &StartTestInput{}
1854	}
1855
1856	output = &StartTestOutput{}
1857	req = c.newRequest(op, input, output)
1858	return
1859}
1860
1861// StartTest API operation for Application Migration Service.
1862//
1863// Lauches a Test Instance for specific Source Servers. This command starts
1864// a LAUNCH job whose initiatedBy property is StartTest and changes the SourceServer.lifeCycle.state
1865// property to TESTING.
1866//
1867// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1868// with awserr.Error's Code and Message methods to get detailed information about
1869// the error.
1870//
1871// See the AWS API reference guide for Application Migration Service's
1872// API operation StartTest for usage and error information.
1873//
1874// Returned Error Types:
1875//   * UninitializedAccountException
1876//   Unitialized account exception.
1877//
1878//   * ValidationException
1879//   Validate exception.
1880//
1881//   * ConflictException
1882//   The request could not be completed due to a conflict with the current state
1883//   of the target resource.
1884//
1885// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/StartTest
1886func (c *Mgn) StartTest(input *StartTestInput) (*StartTestOutput, error) {
1887	req, out := c.StartTestRequest(input)
1888	return out, req.Send()
1889}
1890
1891// StartTestWithContext is the same as StartTest with the addition of
1892// the ability to pass a context and additional request options.
1893//
1894// See StartTest for details on how to use this API operation.
1895//
1896// The context must be non-nil and will be used for request cancellation. If
1897// the context is nil a panic will occur. In the future the SDK may create
1898// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1899// for more information on using Contexts.
1900func (c *Mgn) StartTestWithContext(ctx aws.Context, input *StartTestInput, opts ...request.Option) (*StartTestOutput, error) {
1901	req, out := c.StartTestRequest(input)
1902	req.SetContext(ctx)
1903	req.ApplyOptions(opts...)
1904	return out, req.Send()
1905}
1906
1907const opTagResource = "TagResource"
1908
1909// TagResourceRequest generates a "aws/request.Request" representing the
1910// client's request for the TagResource operation. The "output" return
1911// value will be populated with the request's response once the request completes
1912// successfully.
1913//
1914// Use "Send" method on the returned Request to send the API call to the service.
1915// the "output" return value is not valid until after Send returns without error.
1916//
1917// See TagResource for more information on using the TagResource
1918// API call, and error handling.
1919//
1920// This method is useful when you want to inject custom logic or configuration
1921// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1922//
1923//
1924//    // Example sending a request using the TagResourceRequest method.
1925//    req, resp := client.TagResourceRequest(params)
1926//
1927//    err := req.Send()
1928//    if err == nil { // resp is now filled
1929//        fmt.Println(resp)
1930//    }
1931//
1932// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/TagResource
1933func (c *Mgn) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
1934	op := &request.Operation{
1935		Name:       opTagResource,
1936		HTTPMethod: "POST",
1937		HTTPPath:   "/tags/{resourceArn}",
1938	}
1939
1940	if input == nil {
1941		input = &TagResourceInput{}
1942	}
1943
1944	output = &TagResourceOutput{}
1945	req = c.newRequest(op, input, output)
1946	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1947	return
1948}
1949
1950// TagResource API operation for Application Migration Service.
1951//
1952// Adds or overwrites only the specified tags for the specified Application
1953// Migration Service resource or resources. When you specify an existing tag
1954// key, the value is overwritten with the new value. Each resource can have
1955// a maximum of 50 tags. Each tag consists of a key and optional value.
1956//
1957// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1958// with awserr.Error's Code and Message methods to get detailed information about
1959// the error.
1960//
1961// See the AWS API reference guide for Application Migration Service's
1962// API operation TagResource for usage and error information.
1963//
1964// Returned Error Types:
1965//   * ResourceNotFoundException
1966//   Resource not found exception.
1967//
1968//   * ThrottlingException
1969//   Reached throttling quota exception.
1970//
1971//   * ValidationException
1972//   Validate exception.
1973//
1974//   * AccessDeniedException
1975//   Operating denied due to a file permission or access check error.
1976//
1977//   * InternalServerException
1978//   The server encountered an unexpected condition that prevented it from fulfilling
1979//   the request.
1980//
1981// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/TagResource
1982func (c *Mgn) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
1983	req, out := c.TagResourceRequest(input)
1984	return out, req.Send()
1985}
1986
1987// TagResourceWithContext is the same as TagResource with the addition of
1988// the ability to pass a context and additional request options.
1989//
1990// See TagResource for details on how to use this API operation.
1991//
1992// The context must be non-nil and will be used for request cancellation. If
1993// the context is nil a panic will occur. In the future the SDK may create
1994// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1995// for more information on using Contexts.
1996func (c *Mgn) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
1997	req, out := c.TagResourceRequest(input)
1998	req.SetContext(ctx)
1999	req.ApplyOptions(opts...)
2000	return out, req.Send()
2001}
2002
2003const opTerminateTargetInstances = "TerminateTargetInstances"
2004
2005// TerminateTargetInstancesRequest generates a "aws/request.Request" representing the
2006// client's request for the TerminateTargetInstances operation. The "output" return
2007// value will be populated with the request's response once the request completes
2008// successfully.
2009//
2010// Use "Send" method on the returned Request to send the API call to the service.
2011// the "output" return value is not valid until after Send returns without error.
2012//
2013// See TerminateTargetInstances for more information on using the TerminateTargetInstances
2014// API call, and error handling.
2015//
2016// This method is useful when you want to inject custom logic or configuration
2017// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2018//
2019//
2020//    // Example sending a request using the TerminateTargetInstancesRequest method.
2021//    req, resp := client.TerminateTargetInstancesRequest(params)
2022//
2023//    err := req.Send()
2024//    if err == nil { // resp is now filled
2025//        fmt.Println(resp)
2026//    }
2027//
2028// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/TerminateTargetInstances
2029func (c *Mgn) TerminateTargetInstancesRequest(input *TerminateTargetInstancesInput) (req *request.Request, output *TerminateTargetInstancesOutput) {
2030	op := &request.Operation{
2031		Name:       opTerminateTargetInstances,
2032		HTTPMethod: "POST",
2033		HTTPPath:   "/TerminateTargetInstances",
2034	}
2035
2036	if input == nil {
2037		input = &TerminateTargetInstancesInput{}
2038	}
2039
2040	output = &TerminateTargetInstancesOutput{}
2041	req = c.newRequest(op, input, output)
2042	return
2043}
2044
2045// TerminateTargetInstances API operation for Application Migration Service.
2046//
2047// Starts a job that terminates specific launched EC2 Test and Cutover instances.
2048// This command will not work for any Source Server with a lifecycle.state of
2049// TESTING, CUTTING_OVER, or CUTOVER.
2050//
2051// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2052// with awserr.Error's Code and Message methods to get detailed information about
2053// the error.
2054//
2055// See the AWS API reference guide for Application Migration Service's
2056// API operation TerminateTargetInstances for usage and error information.
2057//
2058// Returned Error Types:
2059//   * UninitializedAccountException
2060//   Unitialized account exception.
2061//
2062//   * ValidationException
2063//   Validate exception.
2064//
2065//   * ConflictException
2066//   The request could not be completed due to a conflict with the current state
2067//   of the target resource.
2068//
2069// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/TerminateTargetInstances
2070func (c *Mgn) TerminateTargetInstances(input *TerminateTargetInstancesInput) (*TerminateTargetInstancesOutput, error) {
2071	req, out := c.TerminateTargetInstancesRequest(input)
2072	return out, req.Send()
2073}
2074
2075// TerminateTargetInstancesWithContext is the same as TerminateTargetInstances with the addition of
2076// the ability to pass a context and additional request options.
2077//
2078// See TerminateTargetInstances for details on how to use this API operation.
2079//
2080// The context must be non-nil and will be used for request cancellation. If
2081// the context is nil a panic will occur. In the future the SDK may create
2082// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2083// for more information on using Contexts.
2084func (c *Mgn) TerminateTargetInstancesWithContext(ctx aws.Context, input *TerminateTargetInstancesInput, opts ...request.Option) (*TerminateTargetInstancesOutput, error) {
2085	req, out := c.TerminateTargetInstancesRequest(input)
2086	req.SetContext(ctx)
2087	req.ApplyOptions(opts...)
2088	return out, req.Send()
2089}
2090
2091const opUntagResource = "UntagResource"
2092
2093// UntagResourceRequest generates a "aws/request.Request" representing the
2094// client's request for the UntagResource operation. The "output" return
2095// value will be populated with the request's response once the request completes
2096// successfully.
2097//
2098// Use "Send" method on the returned Request to send the API call to the service.
2099// the "output" return value is not valid until after Send returns without error.
2100//
2101// See UntagResource for more information on using the UntagResource
2102// API call, and error handling.
2103//
2104// This method is useful when you want to inject custom logic or configuration
2105// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2106//
2107//
2108//    // Example sending a request using the UntagResourceRequest method.
2109//    req, resp := client.UntagResourceRequest(params)
2110//
2111//    err := req.Send()
2112//    if err == nil { // resp is now filled
2113//        fmt.Println(resp)
2114//    }
2115//
2116// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/UntagResource
2117func (c *Mgn) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
2118	op := &request.Operation{
2119		Name:       opUntagResource,
2120		HTTPMethod: "DELETE",
2121		HTTPPath:   "/tags/{resourceArn}",
2122	}
2123
2124	if input == nil {
2125		input = &UntagResourceInput{}
2126	}
2127
2128	output = &UntagResourceOutput{}
2129	req = c.newRequest(op, input, output)
2130	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2131	return
2132}
2133
2134// UntagResource API operation for Application Migration Service.
2135//
2136// Deletes the specified set of tags from the specified set of Application Migration
2137// Service resources.
2138//
2139// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2140// with awserr.Error's Code and Message methods to get detailed information about
2141// the error.
2142//
2143// See the AWS API reference guide for Application Migration Service's
2144// API operation UntagResource for usage and error information.
2145//
2146// Returned Error Types:
2147//   * ResourceNotFoundException
2148//   Resource not found exception.
2149//
2150//   * ThrottlingException
2151//   Reached throttling quota exception.
2152//
2153//   * ValidationException
2154//   Validate exception.
2155//
2156//   * AccessDeniedException
2157//   Operating denied due to a file permission or access check error.
2158//
2159//   * InternalServerException
2160//   The server encountered an unexpected condition that prevented it from fulfilling
2161//   the request.
2162//
2163// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/UntagResource
2164func (c *Mgn) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
2165	req, out := c.UntagResourceRequest(input)
2166	return out, req.Send()
2167}
2168
2169// UntagResourceWithContext is the same as UntagResource with the addition of
2170// the ability to pass a context and additional request options.
2171//
2172// See UntagResource for details on how to use this API operation.
2173//
2174// The context must be non-nil and will be used for request cancellation. If
2175// the context is nil a panic will occur. In the future the SDK may create
2176// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2177// for more information on using Contexts.
2178func (c *Mgn) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
2179	req, out := c.UntagResourceRequest(input)
2180	req.SetContext(ctx)
2181	req.ApplyOptions(opts...)
2182	return out, req.Send()
2183}
2184
2185const opUpdateLaunchConfiguration = "UpdateLaunchConfiguration"
2186
2187// UpdateLaunchConfigurationRequest generates a "aws/request.Request" representing the
2188// client's request for the UpdateLaunchConfiguration operation. The "output" return
2189// value will be populated with the request's response once the request completes
2190// successfully.
2191//
2192// Use "Send" method on the returned Request to send the API call to the service.
2193// the "output" return value is not valid until after Send returns without error.
2194//
2195// See UpdateLaunchConfiguration for more information on using the UpdateLaunchConfiguration
2196// API call, and error handling.
2197//
2198// This method is useful when you want to inject custom logic or configuration
2199// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2200//
2201//
2202//    // Example sending a request using the UpdateLaunchConfigurationRequest method.
2203//    req, resp := client.UpdateLaunchConfigurationRequest(params)
2204//
2205//    err := req.Send()
2206//    if err == nil { // resp is now filled
2207//        fmt.Println(resp)
2208//    }
2209//
2210// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/UpdateLaunchConfiguration
2211func (c *Mgn) UpdateLaunchConfigurationRequest(input *UpdateLaunchConfigurationInput) (req *request.Request, output *UpdateLaunchConfigurationOutput) {
2212	op := &request.Operation{
2213		Name:       opUpdateLaunchConfiguration,
2214		HTTPMethod: "POST",
2215		HTTPPath:   "/UpdateLaunchConfiguration",
2216	}
2217
2218	if input == nil {
2219		input = &UpdateLaunchConfigurationInput{}
2220	}
2221
2222	output = &UpdateLaunchConfigurationOutput{}
2223	req = c.newRequest(op, input, output)
2224	return
2225}
2226
2227// UpdateLaunchConfiguration API operation for Application Migration Service.
2228//
2229// Updates multiple LaunchConfigurations by Source Server ID.
2230//
2231// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2232// with awserr.Error's Code and Message methods to get detailed information about
2233// the error.
2234//
2235// See the AWS API reference guide for Application Migration Service's
2236// API operation UpdateLaunchConfiguration for usage and error information.
2237//
2238// Returned Error Types:
2239//   * UninitializedAccountException
2240//   Unitialized account exception.
2241//
2242//   * ResourceNotFoundException
2243//   Resource not found exception.
2244//
2245//   * ValidationException
2246//   Validate exception.
2247//
2248//   * ConflictException
2249//   The request could not be completed due to a conflict with the current state
2250//   of the target resource.
2251//
2252// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/UpdateLaunchConfiguration
2253func (c *Mgn) UpdateLaunchConfiguration(input *UpdateLaunchConfigurationInput) (*UpdateLaunchConfigurationOutput, error) {
2254	req, out := c.UpdateLaunchConfigurationRequest(input)
2255	return out, req.Send()
2256}
2257
2258// UpdateLaunchConfigurationWithContext is the same as UpdateLaunchConfiguration with the addition of
2259// the ability to pass a context and additional request options.
2260//
2261// See UpdateLaunchConfiguration for details on how to use this API operation.
2262//
2263// The context must be non-nil and will be used for request cancellation. If
2264// the context is nil a panic will occur. In the future the SDK may create
2265// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2266// for more information on using Contexts.
2267func (c *Mgn) UpdateLaunchConfigurationWithContext(ctx aws.Context, input *UpdateLaunchConfigurationInput, opts ...request.Option) (*UpdateLaunchConfigurationOutput, error) {
2268	req, out := c.UpdateLaunchConfigurationRequest(input)
2269	req.SetContext(ctx)
2270	req.ApplyOptions(opts...)
2271	return out, req.Send()
2272}
2273
2274const opUpdateReplicationConfiguration = "UpdateReplicationConfiguration"
2275
2276// UpdateReplicationConfigurationRequest generates a "aws/request.Request" representing the
2277// client's request for the UpdateReplicationConfiguration operation. The "output" return
2278// value will be populated with the request's response once the request completes
2279// successfully.
2280//
2281// Use "Send" method on the returned Request to send the API call to the service.
2282// the "output" return value is not valid until after Send returns without error.
2283//
2284// See UpdateReplicationConfiguration for more information on using the UpdateReplicationConfiguration
2285// API call, and error handling.
2286//
2287// This method is useful when you want to inject custom logic or configuration
2288// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2289//
2290//
2291//    // Example sending a request using the UpdateReplicationConfigurationRequest method.
2292//    req, resp := client.UpdateReplicationConfigurationRequest(params)
2293//
2294//    err := req.Send()
2295//    if err == nil { // resp is now filled
2296//        fmt.Println(resp)
2297//    }
2298//
2299// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/UpdateReplicationConfiguration
2300func (c *Mgn) UpdateReplicationConfigurationRequest(input *UpdateReplicationConfigurationInput) (req *request.Request, output *UpdateReplicationConfigurationOutput) {
2301	op := &request.Operation{
2302		Name:       opUpdateReplicationConfiguration,
2303		HTTPMethod: "POST",
2304		HTTPPath:   "/UpdateReplicationConfiguration",
2305	}
2306
2307	if input == nil {
2308		input = &UpdateReplicationConfigurationInput{}
2309	}
2310
2311	output = &UpdateReplicationConfigurationOutput{}
2312	req = c.newRequest(op, input, output)
2313	return
2314}
2315
2316// UpdateReplicationConfiguration API operation for Application Migration Service.
2317//
2318// Allows you to update multiple ReplicationConfigurations by Source Server
2319// ID.
2320//
2321// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2322// with awserr.Error's Code and Message methods to get detailed information about
2323// the error.
2324//
2325// See the AWS API reference guide for Application Migration Service's
2326// API operation UpdateReplicationConfiguration for usage and error information.
2327//
2328// Returned Error Types:
2329//   * UninitializedAccountException
2330//   Unitialized account exception.
2331//
2332//   * ResourceNotFoundException
2333//   Resource not found exception.
2334//
2335//   * ValidationException
2336//   Validate exception.
2337//
2338//   * AccessDeniedException
2339//   Operating denied due to a file permission or access check error.
2340//
2341//   * ConflictException
2342//   The request could not be completed due to a conflict with the current state
2343//   of the target resource.
2344//
2345// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/UpdateReplicationConfiguration
2346func (c *Mgn) UpdateReplicationConfiguration(input *UpdateReplicationConfigurationInput) (*UpdateReplicationConfigurationOutput, error) {
2347	req, out := c.UpdateReplicationConfigurationRequest(input)
2348	return out, req.Send()
2349}
2350
2351// UpdateReplicationConfigurationWithContext is the same as UpdateReplicationConfiguration with the addition of
2352// the ability to pass a context and additional request options.
2353//
2354// See UpdateReplicationConfiguration for details on how to use this API operation.
2355//
2356// The context must be non-nil and will be used for request cancellation. If
2357// the context is nil a panic will occur. In the future the SDK may create
2358// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2359// for more information on using Contexts.
2360func (c *Mgn) UpdateReplicationConfigurationWithContext(ctx aws.Context, input *UpdateReplicationConfigurationInput, opts ...request.Option) (*UpdateReplicationConfigurationOutput, error) {
2361	req, out := c.UpdateReplicationConfigurationRequest(input)
2362	req.SetContext(ctx)
2363	req.ApplyOptions(opts...)
2364	return out, req.Send()
2365}
2366
2367const opUpdateReplicationConfigurationTemplate = "UpdateReplicationConfigurationTemplate"
2368
2369// UpdateReplicationConfigurationTemplateRequest generates a "aws/request.Request" representing the
2370// client's request for the UpdateReplicationConfigurationTemplate operation. The "output" return
2371// value will be populated with the request's response once the request completes
2372// successfully.
2373//
2374// Use "Send" method on the returned Request to send the API call to the service.
2375// the "output" return value is not valid until after Send returns without error.
2376//
2377// See UpdateReplicationConfigurationTemplate for more information on using the UpdateReplicationConfigurationTemplate
2378// API call, and error handling.
2379//
2380// This method is useful when you want to inject custom logic or configuration
2381// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2382//
2383//
2384//    // Example sending a request using the UpdateReplicationConfigurationTemplateRequest method.
2385//    req, resp := client.UpdateReplicationConfigurationTemplateRequest(params)
2386//
2387//    err := req.Send()
2388//    if err == nil { // resp is now filled
2389//        fmt.Println(resp)
2390//    }
2391//
2392// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/UpdateReplicationConfigurationTemplate
2393func (c *Mgn) UpdateReplicationConfigurationTemplateRequest(input *UpdateReplicationConfigurationTemplateInput) (req *request.Request, output *UpdateReplicationConfigurationTemplateOutput) {
2394	op := &request.Operation{
2395		Name:       opUpdateReplicationConfigurationTemplate,
2396		HTTPMethod: "POST",
2397		HTTPPath:   "/UpdateReplicationConfigurationTemplate",
2398	}
2399
2400	if input == nil {
2401		input = &UpdateReplicationConfigurationTemplateInput{}
2402	}
2403
2404	output = &UpdateReplicationConfigurationTemplateOutput{}
2405	req = c.newRequest(op, input, output)
2406	return
2407}
2408
2409// UpdateReplicationConfigurationTemplate API operation for Application Migration Service.
2410//
2411// Updates multiple ReplicationConfigurationTemplates by ID.
2412//
2413// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2414// with awserr.Error's Code and Message methods to get detailed information about
2415// the error.
2416//
2417// See the AWS API reference guide for Application Migration Service's
2418// API operation UpdateReplicationConfigurationTemplate for usage and error information.
2419//
2420// Returned Error Types:
2421//   * UninitializedAccountException
2422//   Unitialized account exception.
2423//
2424//   * ResourceNotFoundException
2425//   Resource not found exception.
2426//
2427//   * ValidationException
2428//   Validate exception.
2429//
2430//   * AccessDeniedException
2431//   Operating denied due to a file permission or access check error.
2432//
2433// See also, https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/UpdateReplicationConfigurationTemplate
2434func (c *Mgn) UpdateReplicationConfigurationTemplate(input *UpdateReplicationConfigurationTemplateInput) (*UpdateReplicationConfigurationTemplateOutput, error) {
2435	req, out := c.UpdateReplicationConfigurationTemplateRequest(input)
2436	return out, req.Send()
2437}
2438
2439// UpdateReplicationConfigurationTemplateWithContext is the same as UpdateReplicationConfigurationTemplate with the addition of
2440// the ability to pass a context and additional request options.
2441//
2442// See UpdateReplicationConfigurationTemplate for details on how to use this API operation.
2443//
2444// The context must be non-nil and will be used for request cancellation. If
2445// the context is nil a panic will occur. In the future the SDK may create
2446// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2447// for more information on using Contexts.
2448func (c *Mgn) UpdateReplicationConfigurationTemplateWithContext(ctx aws.Context, input *UpdateReplicationConfigurationTemplateInput, opts ...request.Option) (*UpdateReplicationConfigurationTemplateOutput, error) {
2449	req, out := c.UpdateReplicationConfigurationTemplateRequest(input)
2450	req.SetContext(ctx)
2451	req.ApplyOptions(opts...)
2452	return out, req.Send()
2453}
2454
2455// Operating denied due to a file permission or access check error.
2456type AccessDeniedException struct {
2457	_            struct{}                  `type:"structure"`
2458	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2459
2460	Code_ *string `locationName:"code" type:"string"`
2461
2462	Message_ *string `locationName:"message" type:"string"`
2463}
2464
2465// String returns the string representation
2466func (s AccessDeniedException) String() string {
2467	return awsutil.Prettify(s)
2468}
2469
2470// GoString returns the string representation
2471func (s AccessDeniedException) GoString() string {
2472	return s.String()
2473}
2474
2475func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
2476	return &AccessDeniedException{
2477		RespMetadata: v,
2478	}
2479}
2480
2481// Code returns the exception type name.
2482func (s *AccessDeniedException) Code() string {
2483	return "AccessDeniedException"
2484}
2485
2486// Message returns the exception's message.
2487func (s *AccessDeniedException) Message() string {
2488	if s.Message_ != nil {
2489		return *s.Message_
2490	}
2491	return ""
2492}
2493
2494// OrigErr always returns nil, satisfies awserr.Error interface.
2495func (s *AccessDeniedException) OrigErr() error {
2496	return nil
2497}
2498
2499func (s *AccessDeniedException) Error() string {
2500	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
2501}
2502
2503// Status code returns the HTTP status code for the request's response error.
2504func (s *AccessDeniedException) StatusCode() int {
2505	return s.RespMetadata.StatusCode
2506}
2507
2508// RequestID returns the service's response RequestID for request.
2509func (s *AccessDeniedException) RequestID() string {
2510	return s.RespMetadata.RequestID
2511}
2512
2513// Source server CPU information.
2514type CPU struct {
2515	_ struct{} `type:"structure"`
2516
2517	// The number of CPU cores on the source server.
2518	Cores *int64 `locationName:"cores" type:"long"`
2519
2520	// The source server's CPU model name.
2521	ModelName *string `locationName:"modelName" type:"string"`
2522}
2523
2524// String returns the string representation
2525func (s CPU) String() string {
2526	return awsutil.Prettify(s)
2527}
2528
2529// GoString returns the string representation
2530func (s CPU) GoString() string {
2531	return s.String()
2532}
2533
2534// SetCores sets the Cores field's value.
2535func (s *CPU) SetCores(v int64) *CPU {
2536	s.Cores = &v
2537	return s
2538}
2539
2540// SetModelName sets the ModelName field's value.
2541func (s *CPU) SetModelName(v string) *CPU {
2542	s.ModelName = &v
2543	return s
2544}
2545
2546type ChangeServerLifeCycleStateInput struct {
2547	_ struct{} `type:"structure"`
2548
2549	// The request to change the source server migration lifecycle state.
2550	//
2551	// LifeCycle is a required field
2552	LifeCycle *ChangeServerLifeCycleStateSourceServerLifecycle `locationName:"lifeCycle" type:"structure" required:"true"`
2553
2554	// The request to change the source server migration lifecycle state by source
2555	// server ID.
2556	//
2557	// SourceServerID is a required field
2558	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"`
2559}
2560
2561// String returns the string representation
2562func (s ChangeServerLifeCycleStateInput) String() string {
2563	return awsutil.Prettify(s)
2564}
2565
2566// GoString returns the string representation
2567func (s ChangeServerLifeCycleStateInput) GoString() string {
2568	return s.String()
2569}
2570
2571// Validate inspects the fields of the type to determine if they are valid.
2572func (s *ChangeServerLifeCycleStateInput) Validate() error {
2573	invalidParams := request.ErrInvalidParams{Context: "ChangeServerLifeCycleStateInput"}
2574	if s.LifeCycle == nil {
2575		invalidParams.Add(request.NewErrParamRequired("LifeCycle"))
2576	}
2577	if s.SourceServerID == nil {
2578		invalidParams.Add(request.NewErrParamRequired("SourceServerID"))
2579	}
2580	if s.SourceServerID != nil && len(*s.SourceServerID) < 19 {
2581		invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19))
2582	}
2583	if s.LifeCycle != nil {
2584		if err := s.LifeCycle.Validate(); err != nil {
2585			invalidParams.AddNested("LifeCycle", err.(request.ErrInvalidParams))
2586		}
2587	}
2588
2589	if invalidParams.Len() > 0 {
2590		return invalidParams
2591	}
2592	return nil
2593}
2594
2595// SetLifeCycle sets the LifeCycle field's value.
2596func (s *ChangeServerLifeCycleStateInput) SetLifeCycle(v *ChangeServerLifeCycleStateSourceServerLifecycle) *ChangeServerLifeCycleStateInput {
2597	s.LifeCycle = v
2598	return s
2599}
2600
2601// SetSourceServerID sets the SourceServerID field's value.
2602func (s *ChangeServerLifeCycleStateInput) SetSourceServerID(v string) *ChangeServerLifeCycleStateInput {
2603	s.SourceServerID = &v
2604	return s
2605}
2606
2607type ChangeServerLifeCycleStateOutput struct {
2608	_ struct{} `type:"structure"`
2609
2610	// Source server ARN.
2611	Arn *string `locationName:"arn" min:"20" type:"string"`
2612
2613	// Source server data replication info.
2614	DataReplicationInfo *DataReplicationInfo `locationName:"dataReplicationInfo" type:"structure"`
2615
2616	// Source server archived status.
2617	IsArchived *bool `locationName:"isArchived" type:"boolean"`
2618
2619	// Source server launched instance.
2620	LaunchedInstance *LaunchedInstance `locationName:"launchedInstance" type:"structure"`
2621
2622	// Source server lifecycle state.
2623	LifeCycle *LifeCycle `locationName:"lifeCycle" type:"structure"`
2624
2625	// Source server properties.
2626	SourceProperties *SourceProperties `locationName:"sourceProperties" type:"structure"`
2627
2628	// Source server ID.
2629	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
2630
2631	// Source server Tags.
2632	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
2633}
2634
2635// String returns the string representation
2636func (s ChangeServerLifeCycleStateOutput) String() string {
2637	return awsutil.Prettify(s)
2638}
2639
2640// GoString returns the string representation
2641func (s ChangeServerLifeCycleStateOutput) GoString() string {
2642	return s.String()
2643}
2644
2645// SetArn sets the Arn field's value.
2646func (s *ChangeServerLifeCycleStateOutput) SetArn(v string) *ChangeServerLifeCycleStateOutput {
2647	s.Arn = &v
2648	return s
2649}
2650
2651// SetDataReplicationInfo sets the DataReplicationInfo field's value.
2652func (s *ChangeServerLifeCycleStateOutput) SetDataReplicationInfo(v *DataReplicationInfo) *ChangeServerLifeCycleStateOutput {
2653	s.DataReplicationInfo = v
2654	return s
2655}
2656
2657// SetIsArchived sets the IsArchived field's value.
2658func (s *ChangeServerLifeCycleStateOutput) SetIsArchived(v bool) *ChangeServerLifeCycleStateOutput {
2659	s.IsArchived = &v
2660	return s
2661}
2662
2663// SetLaunchedInstance sets the LaunchedInstance field's value.
2664func (s *ChangeServerLifeCycleStateOutput) SetLaunchedInstance(v *LaunchedInstance) *ChangeServerLifeCycleStateOutput {
2665	s.LaunchedInstance = v
2666	return s
2667}
2668
2669// SetLifeCycle sets the LifeCycle field's value.
2670func (s *ChangeServerLifeCycleStateOutput) SetLifeCycle(v *LifeCycle) *ChangeServerLifeCycleStateOutput {
2671	s.LifeCycle = v
2672	return s
2673}
2674
2675// SetSourceProperties sets the SourceProperties field's value.
2676func (s *ChangeServerLifeCycleStateOutput) SetSourceProperties(v *SourceProperties) *ChangeServerLifeCycleStateOutput {
2677	s.SourceProperties = v
2678	return s
2679}
2680
2681// SetSourceServerID sets the SourceServerID field's value.
2682func (s *ChangeServerLifeCycleStateOutput) SetSourceServerID(v string) *ChangeServerLifeCycleStateOutput {
2683	s.SourceServerID = &v
2684	return s
2685}
2686
2687// SetTags sets the Tags field's value.
2688func (s *ChangeServerLifeCycleStateOutput) SetTags(v map[string]*string) *ChangeServerLifeCycleStateOutput {
2689	s.Tags = v
2690	return s
2691}
2692
2693// The request to change the source server migration lifecycle state.
2694type ChangeServerLifeCycleStateSourceServerLifecycle struct {
2695	_ struct{} `type:"structure"`
2696
2697	// The request to change the source server migration lifecycle state.
2698	//
2699	// State is a required field
2700	State *string `locationName:"state" type:"string" required:"true" enum:"ChangeServerLifeCycleStateSourceServerLifecycleState"`
2701}
2702
2703// String returns the string representation
2704func (s ChangeServerLifeCycleStateSourceServerLifecycle) String() string {
2705	return awsutil.Prettify(s)
2706}
2707
2708// GoString returns the string representation
2709func (s ChangeServerLifeCycleStateSourceServerLifecycle) GoString() string {
2710	return s.String()
2711}
2712
2713// Validate inspects the fields of the type to determine if they are valid.
2714func (s *ChangeServerLifeCycleStateSourceServerLifecycle) Validate() error {
2715	invalidParams := request.ErrInvalidParams{Context: "ChangeServerLifeCycleStateSourceServerLifecycle"}
2716	if s.State == nil {
2717		invalidParams.Add(request.NewErrParamRequired("State"))
2718	}
2719
2720	if invalidParams.Len() > 0 {
2721		return invalidParams
2722	}
2723	return nil
2724}
2725
2726// SetState sets the State field's value.
2727func (s *ChangeServerLifeCycleStateSourceServerLifecycle) SetState(v string) *ChangeServerLifeCycleStateSourceServerLifecycle {
2728	s.State = &v
2729	return s
2730}
2731
2732// The request could not be completed due to a conflict with the current state
2733// of the target resource.
2734type ConflictException struct {
2735	_            struct{}                  `type:"structure"`
2736	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2737
2738	Code_ *string `locationName:"code" type:"string"`
2739
2740	Message_ *string `locationName:"message" type:"string"`
2741
2742	// A conflict occured when prompting for the Resource ID.
2743	ResourceId *string `locationName:"resourceId" type:"string"`
2744
2745	// A conflict occured when prompting for resource type.
2746	ResourceType *string `locationName:"resourceType" type:"string"`
2747}
2748
2749// String returns the string representation
2750func (s ConflictException) String() string {
2751	return awsutil.Prettify(s)
2752}
2753
2754// GoString returns the string representation
2755func (s ConflictException) GoString() string {
2756	return s.String()
2757}
2758
2759func newErrorConflictException(v protocol.ResponseMetadata) error {
2760	return &ConflictException{
2761		RespMetadata: v,
2762	}
2763}
2764
2765// Code returns the exception type name.
2766func (s *ConflictException) Code() string {
2767	return "ConflictException"
2768}
2769
2770// Message returns the exception's message.
2771func (s *ConflictException) Message() string {
2772	if s.Message_ != nil {
2773		return *s.Message_
2774	}
2775	return ""
2776}
2777
2778// OrigErr always returns nil, satisfies awserr.Error interface.
2779func (s *ConflictException) OrigErr() error {
2780	return nil
2781}
2782
2783func (s *ConflictException) Error() string {
2784	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
2785}
2786
2787// Status code returns the HTTP status code for the request's response error.
2788func (s *ConflictException) StatusCode() int {
2789	return s.RespMetadata.StatusCode
2790}
2791
2792// RequestID returns the service's response RequestID for request.
2793func (s *ConflictException) RequestID() string {
2794	return s.RespMetadata.RequestID
2795}
2796
2797type CreateReplicationConfigurationTemplateInput struct {
2798	_ struct{} `type:"structure"`
2799
2800	// Request to associate the default Application Migration Service Security group
2801	// with the Replication Settings template.
2802	//
2803	// AssociateDefaultSecurityGroup is a required field
2804	AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean" required:"true"`
2805
2806	// Request to configure bandwidth throttling during Replication Settings template
2807	// creation.
2808	//
2809	// BandwidthThrottling is a required field
2810	BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long" required:"true"`
2811
2812	// Request to create Public IP during Replication Settings template creation.
2813	//
2814	// CreatePublicIP is a required field
2815	CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean" required:"true"`
2816
2817	// Request to configure data plane routing during Replication Settings template
2818	// creation.
2819	//
2820	// DataPlaneRouting is a required field
2821	DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" required:"true" enum:"ReplicationConfigurationDataPlaneRouting"`
2822
2823	// Request to configure the Staging Disk EBS volume type to "gp2" during Replication
2824	// Settings template creation.
2825	//
2826	// DefaultLargeStagingDiskType is a required field
2827	DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" required:"true" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"`
2828
2829	// Request to configure EBS enryption during Replication Settings template creation.
2830	//
2831	// EbsEncryption is a required field
2832	EbsEncryption *string `locationName:"ebsEncryption" type:"string" required:"true" enum:"ReplicationConfigurationEbsEncryption"`
2833
2834	// Request to configure an EBS enryption key during Replication Settings template
2835	// creation.
2836	EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"`
2837
2838	// Request to configure the Replication Server instance type during Replication
2839	// Settings template creation.
2840	//
2841	// ReplicationServerInstanceType is a required field
2842	ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string" required:"true"`
2843
2844	// Request to configure the Replication Server Secuirity group ID during Replication
2845	// Settings template creation.
2846	//
2847	// ReplicationServersSecurityGroupsIDs is a required field
2848	ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list" required:"true"`
2849
2850	// Request to configure the Staging Area subnet ID during Replication Settings
2851	// template creation.
2852	//
2853	// StagingAreaSubnetId is a required field
2854	StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string" required:"true"`
2855
2856	// Request to configure Staiging Area tags during Replication Settings template
2857	// creation.
2858	//
2859	// StagingAreaTags is a required field
2860	StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" required:"true" sensitive:"true"`
2861
2862	// Request to configure tags during Replication Settings template creation.
2863	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
2864
2865	// Request to use Dedicated Replication Servers during Replication Settings
2866	// template creation.
2867	//
2868	// UseDedicatedReplicationServer is a required field
2869	UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean" required:"true"`
2870}
2871
2872// String returns the string representation
2873func (s CreateReplicationConfigurationTemplateInput) String() string {
2874	return awsutil.Prettify(s)
2875}
2876
2877// GoString returns the string representation
2878func (s CreateReplicationConfigurationTemplateInput) GoString() string {
2879	return s.String()
2880}
2881
2882// Validate inspects the fields of the type to determine if they are valid.
2883func (s *CreateReplicationConfigurationTemplateInput) Validate() error {
2884	invalidParams := request.ErrInvalidParams{Context: "CreateReplicationConfigurationTemplateInput"}
2885	if s.AssociateDefaultSecurityGroup == nil {
2886		invalidParams.Add(request.NewErrParamRequired("AssociateDefaultSecurityGroup"))
2887	}
2888	if s.BandwidthThrottling == nil {
2889		invalidParams.Add(request.NewErrParamRequired("BandwidthThrottling"))
2890	}
2891	if s.CreatePublicIP == nil {
2892		invalidParams.Add(request.NewErrParamRequired("CreatePublicIP"))
2893	}
2894	if s.DataPlaneRouting == nil {
2895		invalidParams.Add(request.NewErrParamRequired("DataPlaneRouting"))
2896	}
2897	if s.DefaultLargeStagingDiskType == nil {
2898		invalidParams.Add(request.NewErrParamRequired("DefaultLargeStagingDiskType"))
2899	}
2900	if s.EbsEncryption == nil {
2901		invalidParams.Add(request.NewErrParamRequired("EbsEncryption"))
2902	}
2903	if s.EbsEncryptionKeyArn != nil && len(*s.EbsEncryptionKeyArn) < 20 {
2904		invalidParams.Add(request.NewErrParamMinLen("EbsEncryptionKeyArn", 20))
2905	}
2906	if s.ReplicationServerInstanceType == nil {
2907		invalidParams.Add(request.NewErrParamRequired("ReplicationServerInstanceType"))
2908	}
2909	if s.ReplicationServersSecurityGroupsIDs == nil {
2910		invalidParams.Add(request.NewErrParamRequired("ReplicationServersSecurityGroupsIDs"))
2911	}
2912	if s.StagingAreaSubnetId == nil {
2913		invalidParams.Add(request.NewErrParamRequired("StagingAreaSubnetId"))
2914	}
2915	if s.StagingAreaTags == nil {
2916		invalidParams.Add(request.NewErrParamRequired("StagingAreaTags"))
2917	}
2918	if s.UseDedicatedReplicationServer == nil {
2919		invalidParams.Add(request.NewErrParamRequired("UseDedicatedReplicationServer"))
2920	}
2921
2922	if invalidParams.Len() > 0 {
2923		return invalidParams
2924	}
2925	return nil
2926}
2927
2928// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value.
2929func (s *CreateReplicationConfigurationTemplateInput) SetAssociateDefaultSecurityGroup(v bool) *CreateReplicationConfigurationTemplateInput {
2930	s.AssociateDefaultSecurityGroup = &v
2931	return s
2932}
2933
2934// SetBandwidthThrottling sets the BandwidthThrottling field's value.
2935func (s *CreateReplicationConfigurationTemplateInput) SetBandwidthThrottling(v int64) *CreateReplicationConfigurationTemplateInput {
2936	s.BandwidthThrottling = &v
2937	return s
2938}
2939
2940// SetCreatePublicIP sets the CreatePublicIP field's value.
2941func (s *CreateReplicationConfigurationTemplateInput) SetCreatePublicIP(v bool) *CreateReplicationConfigurationTemplateInput {
2942	s.CreatePublicIP = &v
2943	return s
2944}
2945
2946// SetDataPlaneRouting sets the DataPlaneRouting field's value.
2947func (s *CreateReplicationConfigurationTemplateInput) SetDataPlaneRouting(v string) *CreateReplicationConfigurationTemplateInput {
2948	s.DataPlaneRouting = &v
2949	return s
2950}
2951
2952// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value.
2953func (s *CreateReplicationConfigurationTemplateInput) SetDefaultLargeStagingDiskType(v string) *CreateReplicationConfigurationTemplateInput {
2954	s.DefaultLargeStagingDiskType = &v
2955	return s
2956}
2957
2958// SetEbsEncryption sets the EbsEncryption field's value.
2959func (s *CreateReplicationConfigurationTemplateInput) SetEbsEncryption(v string) *CreateReplicationConfigurationTemplateInput {
2960	s.EbsEncryption = &v
2961	return s
2962}
2963
2964// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value.
2965func (s *CreateReplicationConfigurationTemplateInput) SetEbsEncryptionKeyArn(v string) *CreateReplicationConfigurationTemplateInput {
2966	s.EbsEncryptionKeyArn = &v
2967	return s
2968}
2969
2970// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value.
2971func (s *CreateReplicationConfigurationTemplateInput) SetReplicationServerInstanceType(v string) *CreateReplicationConfigurationTemplateInput {
2972	s.ReplicationServerInstanceType = &v
2973	return s
2974}
2975
2976// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value.
2977func (s *CreateReplicationConfigurationTemplateInput) SetReplicationServersSecurityGroupsIDs(v []*string) *CreateReplicationConfigurationTemplateInput {
2978	s.ReplicationServersSecurityGroupsIDs = v
2979	return s
2980}
2981
2982// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value.
2983func (s *CreateReplicationConfigurationTemplateInput) SetStagingAreaSubnetId(v string) *CreateReplicationConfigurationTemplateInput {
2984	s.StagingAreaSubnetId = &v
2985	return s
2986}
2987
2988// SetStagingAreaTags sets the StagingAreaTags field's value.
2989func (s *CreateReplicationConfigurationTemplateInput) SetStagingAreaTags(v map[string]*string) *CreateReplicationConfigurationTemplateInput {
2990	s.StagingAreaTags = v
2991	return s
2992}
2993
2994// SetTags sets the Tags field's value.
2995func (s *CreateReplicationConfigurationTemplateInput) SetTags(v map[string]*string) *CreateReplicationConfigurationTemplateInput {
2996	s.Tags = v
2997	return s
2998}
2999
3000// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value.
3001func (s *CreateReplicationConfigurationTemplateInput) SetUseDedicatedReplicationServer(v bool) *CreateReplicationConfigurationTemplateInput {
3002	s.UseDedicatedReplicationServer = &v
3003	return s
3004}
3005
3006type CreateReplicationConfigurationTemplateOutput struct {
3007	_ struct{} `type:"structure"`
3008
3009	// Replication Configuration template ARN.
3010	Arn *string `locationName:"arn" min:"20" type:"string"`
3011
3012	// Replication Configuration template associate default Application Migration
3013	// Service Security group.
3014	AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean"`
3015
3016	// Replication Configuration template bandwidth throtting.
3017	BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"`
3018
3019	// Replication Configuration template create Public IP.
3020	CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean"`
3021
3022	// Replication Configuration template data plane routing.
3023	DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" enum:"ReplicationConfigurationDataPlaneRouting"`
3024
3025	// Replication Configuration template use dedault large Staging Disk type.
3026	DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"`
3027
3028	// Replication Configuration template EBS encryption.
3029	EbsEncryption *string `locationName:"ebsEncryption" type:"string" enum:"ReplicationConfigurationEbsEncryption"`
3030
3031	// Replication Configuration template EBS encryption key ARN.
3032	EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"`
3033
3034	// Replication Configuration template template ID.
3035	//
3036	// ReplicationConfigurationTemplateID is a required field
3037	ReplicationConfigurationTemplateID *string `locationName:"replicationConfigurationTemplateID" min:"21" type:"string" required:"true"`
3038
3039	// Replication Configuration template server instance type.
3040	ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string"`
3041
3042	// Replication Configuration template server Security Groups IDs.
3043	ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list"`
3044
3045	// Replication Configuration template Staging Area subnet ID.
3046	StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string"`
3047
3048	// Replication Configuration template Staging Area Tags.
3049	StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" sensitive:"true"`
3050
3051	// Replication Configuration template Tags.
3052	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
3053
3054	// Replication Configuration template use Dedicated Replication Server.
3055	UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean"`
3056}
3057
3058// String returns the string representation
3059func (s CreateReplicationConfigurationTemplateOutput) String() string {
3060	return awsutil.Prettify(s)
3061}
3062
3063// GoString returns the string representation
3064func (s CreateReplicationConfigurationTemplateOutput) GoString() string {
3065	return s.String()
3066}
3067
3068// SetArn sets the Arn field's value.
3069func (s *CreateReplicationConfigurationTemplateOutput) SetArn(v string) *CreateReplicationConfigurationTemplateOutput {
3070	s.Arn = &v
3071	return s
3072}
3073
3074// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value.
3075func (s *CreateReplicationConfigurationTemplateOutput) SetAssociateDefaultSecurityGroup(v bool) *CreateReplicationConfigurationTemplateOutput {
3076	s.AssociateDefaultSecurityGroup = &v
3077	return s
3078}
3079
3080// SetBandwidthThrottling sets the BandwidthThrottling field's value.
3081func (s *CreateReplicationConfigurationTemplateOutput) SetBandwidthThrottling(v int64) *CreateReplicationConfigurationTemplateOutput {
3082	s.BandwidthThrottling = &v
3083	return s
3084}
3085
3086// SetCreatePublicIP sets the CreatePublicIP field's value.
3087func (s *CreateReplicationConfigurationTemplateOutput) SetCreatePublicIP(v bool) *CreateReplicationConfigurationTemplateOutput {
3088	s.CreatePublicIP = &v
3089	return s
3090}
3091
3092// SetDataPlaneRouting sets the DataPlaneRouting field's value.
3093func (s *CreateReplicationConfigurationTemplateOutput) SetDataPlaneRouting(v string) *CreateReplicationConfigurationTemplateOutput {
3094	s.DataPlaneRouting = &v
3095	return s
3096}
3097
3098// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value.
3099func (s *CreateReplicationConfigurationTemplateOutput) SetDefaultLargeStagingDiskType(v string) *CreateReplicationConfigurationTemplateOutput {
3100	s.DefaultLargeStagingDiskType = &v
3101	return s
3102}
3103
3104// SetEbsEncryption sets the EbsEncryption field's value.
3105func (s *CreateReplicationConfigurationTemplateOutput) SetEbsEncryption(v string) *CreateReplicationConfigurationTemplateOutput {
3106	s.EbsEncryption = &v
3107	return s
3108}
3109
3110// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value.
3111func (s *CreateReplicationConfigurationTemplateOutput) SetEbsEncryptionKeyArn(v string) *CreateReplicationConfigurationTemplateOutput {
3112	s.EbsEncryptionKeyArn = &v
3113	return s
3114}
3115
3116// SetReplicationConfigurationTemplateID sets the ReplicationConfigurationTemplateID field's value.
3117func (s *CreateReplicationConfigurationTemplateOutput) SetReplicationConfigurationTemplateID(v string) *CreateReplicationConfigurationTemplateOutput {
3118	s.ReplicationConfigurationTemplateID = &v
3119	return s
3120}
3121
3122// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value.
3123func (s *CreateReplicationConfigurationTemplateOutput) SetReplicationServerInstanceType(v string) *CreateReplicationConfigurationTemplateOutput {
3124	s.ReplicationServerInstanceType = &v
3125	return s
3126}
3127
3128// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value.
3129func (s *CreateReplicationConfigurationTemplateOutput) SetReplicationServersSecurityGroupsIDs(v []*string) *CreateReplicationConfigurationTemplateOutput {
3130	s.ReplicationServersSecurityGroupsIDs = v
3131	return s
3132}
3133
3134// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value.
3135func (s *CreateReplicationConfigurationTemplateOutput) SetStagingAreaSubnetId(v string) *CreateReplicationConfigurationTemplateOutput {
3136	s.StagingAreaSubnetId = &v
3137	return s
3138}
3139
3140// SetStagingAreaTags sets the StagingAreaTags field's value.
3141func (s *CreateReplicationConfigurationTemplateOutput) SetStagingAreaTags(v map[string]*string) *CreateReplicationConfigurationTemplateOutput {
3142	s.StagingAreaTags = v
3143	return s
3144}
3145
3146// SetTags sets the Tags field's value.
3147func (s *CreateReplicationConfigurationTemplateOutput) SetTags(v map[string]*string) *CreateReplicationConfigurationTemplateOutput {
3148	s.Tags = v
3149	return s
3150}
3151
3152// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value.
3153func (s *CreateReplicationConfigurationTemplateOutput) SetUseDedicatedReplicationServer(v bool) *CreateReplicationConfigurationTemplateOutput {
3154	s.UseDedicatedReplicationServer = &v
3155	return s
3156}
3157
3158// Error in data replication.
3159type DataReplicationError struct {
3160	_ struct{} `type:"structure"`
3161
3162	// Error in data replication.
3163	Error *string `locationName:"error" type:"string" enum:"DataReplicationErrorString"`
3164
3165	// Error in data replication.
3166	RawError *string `locationName:"rawError" type:"string"`
3167}
3168
3169// String returns the string representation
3170func (s DataReplicationError) String() string {
3171	return awsutil.Prettify(s)
3172}
3173
3174// GoString returns the string representation
3175func (s DataReplicationError) GoString() string {
3176	return s.String()
3177}
3178
3179// SetError sets the Error field's value.
3180func (s *DataReplicationError) SetError(v string) *DataReplicationError {
3181	s.Error = &v
3182	return s
3183}
3184
3185// SetRawError sets the RawError field's value.
3186func (s *DataReplicationError) SetRawError(v string) *DataReplicationError {
3187	s.RawError = &v
3188	return s
3189}
3190
3191// Request data replication info.
3192type DataReplicationInfo struct {
3193	_ struct{} `type:"structure"`
3194
3195	// Error in obtaining data replication info.
3196	DataReplicationError *DataReplicationError `locationName:"dataReplicationError" type:"structure"`
3197
3198	// Request to query whether data replication has been initiated.
3199	DataReplicationInitiation *DataReplicationInitiation `locationName:"dataReplicationInitiation" type:"structure"`
3200
3201	// Request to query the data replication state.
3202	DataReplicationState *string `locationName:"dataReplicationState" type:"string" enum:"DataReplicationState"`
3203
3204	// Request to query the time when data replication will be complete.
3205	EtaDateTime *string `locationName:"etaDateTime" min:"19" type:"string"`
3206
3207	// Request to query data replication lag durating.
3208	LagDuration *string `locationName:"lagDuration" min:"19" type:"string"`
3209
3210	// Request to query disks replicated.
3211	ReplicatedDisks []*DataReplicationInfoReplicatedDisk `locationName:"replicatedDisks" type:"list"`
3212}
3213
3214// String returns the string representation
3215func (s DataReplicationInfo) String() string {
3216	return awsutil.Prettify(s)
3217}
3218
3219// GoString returns the string representation
3220func (s DataReplicationInfo) GoString() string {
3221	return s.String()
3222}
3223
3224// SetDataReplicationError sets the DataReplicationError field's value.
3225func (s *DataReplicationInfo) SetDataReplicationError(v *DataReplicationError) *DataReplicationInfo {
3226	s.DataReplicationError = v
3227	return s
3228}
3229
3230// SetDataReplicationInitiation sets the DataReplicationInitiation field's value.
3231func (s *DataReplicationInfo) SetDataReplicationInitiation(v *DataReplicationInitiation) *DataReplicationInfo {
3232	s.DataReplicationInitiation = v
3233	return s
3234}
3235
3236// SetDataReplicationState sets the DataReplicationState field's value.
3237func (s *DataReplicationInfo) SetDataReplicationState(v string) *DataReplicationInfo {
3238	s.DataReplicationState = &v
3239	return s
3240}
3241
3242// SetEtaDateTime sets the EtaDateTime field's value.
3243func (s *DataReplicationInfo) SetEtaDateTime(v string) *DataReplicationInfo {
3244	s.EtaDateTime = &v
3245	return s
3246}
3247
3248// SetLagDuration sets the LagDuration field's value.
3249func (s *DataReplicationInfo) SetLagDuration(v string) *DataReplicationInfo {
3250	s.LagDuration = &v
3251	return s
3252}
3253
3254// SetReplicatedDisks sets the ReplicatedDisks field's value.
3255func (s *DataReplicationInfo) SetReplicatedDisks(v []*DataReplicationInfoReplicatedDisk) *DataReplicationInfo {
3256	s.ReplicatedDisks = v
3257	return s
3258}
3259
3260// Request to query disks replicated.
3261type DataReplicationInfoReplicatedDisk struct {
3262	_ struct{} `type:"structure"`
3263
3264	// Request to query data replication backlog size in bytes.
3265	BackloggedStorageBytes *int64 `locationName:"backloggedStorageBytes" type:"long"`
3266
3267	// Request to query device name.
3268	DeviceName *string `locationName:"deviceName" type:"string"`
3269
3270	// Request to query amount of data replicated in bytes.
3271	ReplicatedStorageBytes *int64 `locationName:"replicatedStorageBytes" type:"long"`
3272
3273	// Request to query amount of data rescanned in bytes.
3274	RescannedStorageBytes *int64 `locationName:"rescannedStorageBytes" type:"long"`
3275
3276	// Request to query total amount of data replicated in bytes.
3277	TotalStorageBytes *int64 `locationName:"totalStorageBytes" type:"long"`
3278}
3279
3280// String returns the string representation
3281func (s DataReplicationInfoReplicatedDisk) String() string {
3282	return awsutil.Prettify(s)
3283}
3284
3285// GoString returns the string representation
3286func (s DataReplicationInfoReplicatedDisk) GoString() string {
3287	return s.String()
3288}
3289
3290// SetBackloggedStorageBytes sets the BackloggedStorageBytes field's value.
3291func (s *DataReplicationInfoReplicatedDisk) SetBackloggedStorageBytes(v int64) *DataReplicationInfoReplicatedDisk {
3292	s.BackloggedStorageBytes = &v
3293	return s
3294}
3295
3296// SetDeviceName sets the DeviceName field's value.
3297func (s *DataReplicationInfoReplicatedDisk) SetDeviceName(v string) *DataReplicationInfoReplicatedDisk {
3298	s.DeviceName = &v
3299	return s
3300}
3301
3302// SetReplicatedStorageBytes sets the ReplicatedStorageBytes field's value.
3303func (s *DataReplicationInfoReplicatedDisk) SetReplicatedStorageBytes(v int64) *DataReplicationInfoReplicatedDisk {
3304	s.ReplicatedStorageBytes = &v
3305	return s
3306}
3307
3308// SetRescannedStorageBytes sets the RescannedStorageBytes field's value.
3309func (s *DataReplicationInfoReplicatedDisk) SetRescannedStorageBytes(v int64) *DataReplicationInfoReplicatedDisk {
3310	s.RescannedStorageBytes = &v
3311	return s
3312}
3313
3314// SetTotalStorageBytes sets the TotalStorageBytes field's value.
3315func (s *DataReplicationInfoReplicatedDisk) SetTotalStorageBytes(v int64) *DataReplicationInfoReplicatedDisk {
3316	s.TotalStorageBytes = &v
3317	return s
3318}
3319
3320// Data replication initiation.
3321type DataReplicationInitiation struct {
3322	_ struct{} `type:"structure"`
3323
3324	// Request to query next data initiation date and time.
3325	NextAttemptDateTime *string `locationName:"nextAttemptDateTime" min:"19" type:"string"`
3326
3327	// Request to query data initiation start date and time.
3328	StartDateTime *string `locationName:"startDateTime" min:"19" type:"string"`
3329
3330	// Request to query data initiation steps.
3331	Steps []*DataReplicationInitiationStep `locationName:"steps" type:"list"`
3332}
3333
3334// String returns the string representation
3335func (s DataReplicationInitiation) String() string {
3336	return awsutil.Prettify(s)
3337}
3338
3339// GoString returns the string representation
3340func (s DataReplicationInitiation) GoString() string {
3341	return s.String()
3342}
3343
3344// SetNextAttemptDateTime sets the NextAttemptDateTime field's value.
3345func (s *DataReplicationInitiation) SetNextAttemptDateTime(v string) *DataReplicationInitiation {
3346	s.NextAttemptDateTime = &v
3347	return s
3348}
3349
3350// SetStartDateTime sets the StartDateTime field's value.
3351func (s *DataReplicationInitiation) SetStartDateTime(v string) *DataReplicationInitiation {
3352	s.StartDateTime = &v
3353	return s
3354}
3355
3356// SetSteps sets the Steps field's value.
3357func (s *DataReplicationInitiation) SetSteps(v []*DataReplicationInitiationStep) *DataReplicationInitiation {
3358	s.Steps = v
3359	return s
3360}
3361
3362// Data replication intiation step.
3363type DataReplicationInitiationStep struct {
3364	_ struct{} `type:"structure"`
3365
3366	// Request to query data initiation step name.
3367	Name *string `locationName:"name" type:"string" enum:"DataReplicationInitiationStepName"`
3368
3369	// Request to query data initiation status.
3370	Status *string `locationName:"status" type:"string" enum:"DataReplicationInitiationStepStatus"`
3371}
3372
3373// String returns the string representation
3374func (s DataReplicationInitiationStep) String() string {
3375	return awsutil.Prettify(s)
3376}
3377
3378// GoString returns the string representation
3379func (s DataReplicationInitiationStep) GoString() string {
3380	return s.String()
3381}
3382
3383// SetName sets the Name field's value.
3384func (s *DataReplicationInitiationStep) SetName(v string) *DataReplicationInitiationStep {
3385	s.Name = &v
3386	return s
3387}
3388
3389// SetStatus sets the Status field's value.
3390func (s *DataReplicationInitiationStep) SetStatus(v string) *DataReplicationInitiationStep {
3391	s.Status = &v
3392	return s
3393}
3394
3395type DeleteJobInput struct {
3396	_ struct{} `type:"structure"`
3397
3398	// Request to delete Job from service by Job ID.
3399	//
3400	// JobID is a required field
3401	JobID *string `locationName:"jobID" min:"24" type:"string" required:"true"`
3402}
3403
3404// String returns the string representation
3405func (s DeleteJobInput) String() string {
3406	return awsutil.Prettify(s)
3407}
3408
3409// GoString returns the string representation
3410func (s DeleteJobInput) GoString() string {
3411	return s.String()
3412}
3413
3414// Validate inspects the fields of the type to determine if they are valid.
3415func (s *DeleteJobInput) Validate() error {
3416	invalidParams := request.ErrInvalidParams{Context: "DeleteJobInput"}
3417	if s.JobID == nil {
3418		invalidParams.Add(request.NewErrParamRequired("JobID"))
3419	}
3420	if s.JobID != nil && len(*s.JobID) < 24 {
3421		invalidParams.Add(request.NewErrParamMinLen("JobID", 24))
3422	}
3423
3424	if invalidParams.Len() > 0 {
3425		return invalidParams
3426	}
3427	return nil
3428}
3429
3430// SetJobID sets the JobID field's value.
3431func (s *DeleteJobInput) SetJobID(v string) *DeleteJobInput {
3432	s.JobID = &v
3433	return s
3434}
3435
3436type DeleteJobOutput struct {
3437	_ struct{} `type:"structure"`
3438}
3439
3440// String returns the string representation
3441func (s DeleteJobOutput) String() string {
3442	return awsutil.Prettify(s)
3443}
3444
3445// GoString returns the string representation
3446func (s DeleteJobOutput) GoString() string {
3447	return s.String()
3448}
3449
3450type DeleteReplicationConfigurationTemplateInput struct {
3451	_ struct{} `type:"structure"`
3452
3453	// Request to delete Replication Configuration Template from service by Replication
3454	// Configuration Template ID.
3455	//
3456	// ReplicationConfigurationTemplateID is a required field
3457	ReplicationConfigurationTemplateID *string `locationName:"replicationConfigurationTemplateID" min:"21" type:"string" required:"true"`
3458}
3459
3460// String returns the string representation
3461func (s DeleteReplicationConfigurationTemplateInput) String() string {
3462	return awsutil.Prettify(s)
3463}
3464
3465// GoString returns the string representation
3466func (s DeleteReplicationConfigurationTemplateInput) GoString() string {
3467	return s.String()
3468}
3469
3470// Validate inspects the fields of the type to determine if they are valid.
3471func (s *DeleteReplicationConfigurationTemplateInput) Validate() error {
3472	invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationConfigurationTemplateInput"}
3473	if s.ReplicationConfigurationTemplateID == nil {
3474		invalidParams.Add(request.NewErrParamRequired("ReplicationConfigurationTemplateID"))
3475	}
3476	if s.ReplicationConfigurationTemplateID != nil && len(*s.ReplicationConfigurationTemplateID) < 21 {
3477		invalidParams.Add(request.NewErrParamMinLen("ReplicationConfigurationTemplateID", 21))
3478	}
3479
3480	if invalidParams.Len() > 0 {
3481		return invalidParams
3482	}
3483	return nil
3484}
3485
3486// SetReplicationConfigurationTemplateID sets the ReplicationConfigurationTemplateID field's value.
3487func (s *DeleteReplicationConfigurationTemplateInput) SetReplicationConfigurationTemplateID(v string) *DeleteReplicationConfigurationTemplateInput {
3488	s.ReplicationConfigurationTemplateID = &v
3489	return s
3490}
3491
3492type DeleteReplicationConfigurationTemplateOutput struct {
3493	_ struct{} `type:"structure"`
3494}
3495
3496// String returns the string representation
3497func (s DeleteReplicationConfigurationTemplateOutput) String() string {
3498	return awsutil.Prettify(s)
3499}
3500
3501// GoString returns the string representation
3502func (s DeleteReplicationConfigurationTemplateOutput) GoString() string {
3503	return s.String()
3504}
3505
3506type DeleteSourceServerInput struct {
3507	_ struct{} `type:"structure"`
3508
3509	// Request to delete Source Server from service by Server ID.
3510	//
3511	// SourceServerID is a required field
3512	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"`
3513}
3514
3515// String returns the string representation
3516func (s DeleteSourceServerInput) String() string {
3517	return awsutil.Prettify(s)
3518}
3519
3520// GoString returns the string representation
3521func (s DeleteSourceServerInput) GoString() string {
3522	return s.String()
3523}
3524
3525// Validate inspects the fields of the type to determine if they are valid.
3526func (s *DeleteSourceServerInput) Validate() error {
3527	invalidParams := request.ErrInvalidParams{Context: "DeleteSourceServerInput"}
3528	if s.SourceServerID == nil {
3529		invalidParams.Add(request.NewErrParamRequired("SourceServerID"))
3530	}
3531	if s.SourceServerID != nil && len(*s.SourceServerID) < 19 {
3532		invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19))
3533	}
3534
3535	if invalidParams.Len() > 0 {
3536		return invalidParams
3537	}
3538	return nil
3539}
3540
3541// SetSourceServerID sets the SourceServerID field's value.
3542func (s *DeleteSourceServerInput) SetSourceServerID(v string) *DeleteSourceServerInput {
3543	s.SourceServerID = &v
3544	return s
3545}
3546
3547type DeleteSourceServerOutput struct {
3548	_ struct{} `type:"structure"`
3549}
3550
3551// String returns the string representation
3552func (s DeleteSourceServerOutput) String() string {
3553	return awsutil.Prettify(s)
3554}
3555
3556// GoString returns the string representation
3557func (s DeleteSourceServerOutput) GoString() string {
3558	return s.String()
3559}
3560
3561type DescribeJobLogItemsInput struct {
3562	_ struct{} `type:"structure"`
3563
3564	// Request to describe Job log job ID.
3565	//
3566	// JobID is a required field
3567	JobID *string `locationName:"jobID" min:"24" type:"string" required:"true"`
3568
3569	// Request to describe Job log item maximum results.
3570	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
3571
3572	// Request to describe Job log next token.
3573	NextToken *string `locationName:"nextToken" type:"string"`
3574}
3575
3576// String returns the string representation
3577func (s DescribeJobLogItemsInput) String() string {
3578	return awsutil.Prettify(s)
3579}
3580
3581// GoString returns the string representation
3582func (s DescribeJobLogItemsInput) GoString() string {
3583	return s.String()
3584}
3585
3586// Validate inspects the fields of the type to determine if they are valid.
3587func (s *DescribeJobLogItemsInput) Validate() error {
3588	invalidParams := request.ErrInvalidParams{Context: "DescribeJobLogItemsInput"}
3589	if s.JobID == nil {
3590		invalidParams.Add(request.NewErrParamRequired("JobID"))
3591	}
3592	if s.JobID != nil && len(*s.JobID) < 24 {
3593		invalidParams.Add(request.NewErrParamMinLen("JobID", 24))
3594	}
3595	if s.MaxResults != nil && *s.MaxResults < 1 {
3596		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3597	}
3598
3599	if invalidParams.Len() > 0 {
3600		return invalidParams
3601	}
3602	return nil
3603}
3604
3605// SetJobID sets the JobID field's value.
3606func (s *DescribeJobLogItemsInput) SetJobID(v string) *DescribeJobLogItemsInput {
3607	s.JobID = &v
3608	return s
3609}
3610
3611// SetMaxResults sets the MaxResults field's value.
3612func (s *DescribeJobLogItemsInput) SetMaxResults(v int64) *DescribeJobLogItemsInput {
3613	s.MaxResults = &v
3614	return s
3615}
3616
3617// SetNextToken sets the NextToken field's value.
3618func (s *DescribeJobLogItemsInput) SetNextToken(v string) *DescribeJobLogItemsInput {
3619	s.NextToken = &v
3620	return s
3621}
3622
3623type DescribeJobLogItemsOutput struct {
3624	_ struct{} `type:"structure"`
3625
3626	// Request to describe Job log response items.
3627	Items []*JobLog `locationName:"items" type:"list"`
3628
3629	// Request to describe Job log response next token.
3630	NextToken *string `locationName:"nextToken" type:"string"`
3631}
3632
3633// String returns the string representation
3634func (s DescribeJobLogItemsOutput) String() string {
3635	return awsutil.Prettify(s)
3636}
3637
3638// GoString returns the string representation
3639func (s DescribeJobLogItemsOutput) GoString() string {
3640	return s.String()
3641}
3642
3643// SetItems sets the Items field's value.
3644func (s *DescribeJobLogItemsOutput) SetItems(v []*JobLog) *DescribeJobLogItemsOutput {
3645	s.Items = v
3646	return s
3647}
3648
3649// SetNextToken sets the NextToken field's value.
3650func (s *DescribeJobLogItemsOutput) SetNextToken(v string) *DescribeJobLogItemsOutput {
3651	s.NextToken = &v
3652	return s
3653}
3654
3655type DescribeJobsInput struct {
3656	_ struct{} `type:"structure"`
3657
3658	// Request to describe Job log filters.
3659	//
3660	// Filters is a required field
3661	Filters *DescribeJobsRequestFilters `locationName:"filters" type:"structure" required:"true"`
3662
3663	// Request to describe Job log by max results.
3664	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
3665
3666	// Request to describe Job logby next token.
3667	NextToken *string `locationName:"nextToken" type:"string"`
3668}
3669
3670// String returns the string representation
3671func (s DescribeJobsInput) String() string {
3672	return awsutil.Prettify(s)
3673}
3674
3675// GoString returns the string representation
3676func (s DescribeJobsInput) GoString() string {
3677	return s.String()
3678}
3679
3680// Validate inspects the fields of the type to determine if they are valid.
3681func (s *DescribeJobsInput) Validate() error {
3682	invalidParams := request.ErrInvalidParams{Context: "DescribeJobsInput"}
3683	if s.Filters == nil {
3684		invalidParams.Add(request.NewErrParamRequired("Filters"))
3685	}
3686	if s.MaxResults != nil && *s.MaxResults < 1 {
3687		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3688	}
3689	if s.Filters != nil {
3690		if err := s.Filters.Validate(); err != nil {
3691			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
3692		}
3693	}
3694
3695	if invalidParams.Len() > 0 {
3696		return invalidParams
3697	}
3698	return nil
3699}
3700
3701// SetFilters sets the Filters field's value.
3702func (s *DescribeJobsInput) SetFilters(v *DescribeJobsRequestFilters) *DescribeJobsInput {
3703	s.Filters = v
3704	return s
3705}
3706
3707// SetMaxResults sets the MaxResults field's value.
3708func (s *DescribeJobsInput) SetMaxResults(v int64) *DescribeJobsInput {
3709	s.MaxResults = &v
3710	return s
3711}
3712
3713// SetNextToken sets the NextToken field's value.
3714func (s *DescribeJobsInput) SetNextToken(v string) *DescribeJobsInput {
3715	s.NextToken = &v
3716	return s
3717}
3718
3719type DescribeJobsOutput struct {
3720	_ struct{} `type:"structure"`
3721
3722	// Request to describe Job log items.
3723	Items []*Job `locationName:"items" type:"list"`
3724
3725	// Request to describe Job response by next token.
3726	NextToken *string `locationName:"nextToken" type:"string"`
3727}
3728
3729// String returns the string representation
3730func (s DescribeJobsOutput) String() string {
3731	return awsutil.Prettify(s)
3732}
3733
3734// GoString returns the string representation
3735func (s DescribeJobsOutput) GoString() string {
3736	return s.String()
3737}
3738
3739// SetItems sets the Items field's value.
3740func (s *DescribeJobsOutput) SetItems(v []*Job) *DescribeJobsOutput {
3741	s.Items = v
3742	return s
3743}
3744
3745// SetNextToken sets the NextToken field's value.
3746func (s *DescribeJobsOutput) SetNextToken(v string) *DescribeJobsOutput {
3747	s.NextToken = &v
3748	return s
3749}
3750
3751// Request to describe Job log filters.
3752type DescribeJobsRequestFilters struct {
3753	_ struct{} `type:"structure"`
3754
3755	// Request to describe Job log filters by date.
3756	FromDate *string `locationName:"fromDate" min:"19" type:"string"`
3757
3758	// Request to describe Job log filters by job ID.
3759	JobIDs []*string `locationName:"jobIDs" type:"list"`
3760
3761	// Request to describe Job log by last date.
3762	ToDate *string `locationName:"toDate" min:"19" type:"string"`
3763}
3764
3765// String returns the string representation
3766func (s DescribeJobsRequestFilters) String() string {
3767	return awsutil.Prettify(s)
3768}
3769
3770// GoString returns the string representation
3771func (s DescribeJobsRequestFilters) GoString() string {
3772	return s.String()
3773}
3774
3775// Validate inspects the fields of the type to determine if they are valid.
3776func (s *DescribeJobsRequestFilters) Validate() error {
3777	invalidParams := request.ErrInvalidParams{Context: "DescribeJobsRequestFilters"}
3778	if s.FromDate != nil && len(*s.FromDate) < 19 {
3779		invalidParams.Add(request.NewErrParamMinLen("FromDate", 19))
3780	}
3781	if s.ToDate != nil && len(*s.ToDate) < 19 {
3782		invalidParams.Add(request.NewErrParamMinLen("ToDate", 19))
3783	}
3784
3785	if invalidParams.Len() > 0 {
3786		return invalidParams
3787	}
3788	return nil
3789}
3790
3791// SetFromDate sets the FromDate field's value.
3792func (s *DescribeJobsRequestFilters) SetFromDate(v string) *DescribeJobsRequestFilters {
3793	s.FromDate = &v
3794	return s
3795}
3796
3797// SetJobIDs sets the JobIDs field's value.
3798func (s *DescribeJobsRequestFilters) SetJobIDs(v []*string) *DescribeJobsRequestFilters {
3799	s.JobIDs = v
3800	return s
3801}
3802
3803// SetToDate sets the ToDate field's value.
3804func (s *DescribeJobsRequestFilters) SetToDate(v string) *DescribeJobsRequestFilters {
3805	s.ToDate = &v
3806	return s
3807}
3808
3809type DescribeReplicationConfigurationTemplatesInput struct {
3810	_ struct{} `type:"structure"`
3811
3812	// Request to describe Replication Configuration template by max results.
3813	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
3814
3815	// Request to describe Replication Configuration template by next token.
3816	NextToken *string `locationName:"nextToken" type:"string"`
3817
3818	// Request to describe Replication Configuration template by template IDs.
3819	//
3820	// ReplicationConfigurationTemplateIDs is a required field
3821	ReplicationConfigurationTemplateIDs []*string `locationName:"replicationConfigurationTemplateIDs" type:"list" required:"true"`
3822}
3823
3824// String returns the string representation
3825func (s DescribeReplicationConfigurationTemplatesInput) String() string {
3826	return awsutil.Prettify(s)
3827}
3828
3829// GoString returns the string representation
3830func (s DescribeReplicationConfigurationTemplatesInput) GoString() string {
3831	return s.String()
3832}
3833
3834// Validate inspects the fields of the type to determine if they are valid.
3835func (s *DescribeReplicationConfigurationTemplatesInput) Validate() error {
3836	invalidParams := request.ErrInvalidParams{Context: "DescribeReplicationConfigurationTemplatesInput"}
3837	if s.MaxResults != nil && *s.MaxResults < 1 {
3838		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3839	}
3840	if s.ReplicationConfigurationTemplateIDs == nil {
3841		invalidParams.Add(request.NewErrParamRequired("ReplicationConfigurationTemplateIDs"))
3842	}
3843
3844	if invalidParams.Len() > 0 {
3845		return invalidParams
3846	}
3847	return nil
3848}
3849
3850// SetMaxResults sets the MaxResults field's value.
3851func (s *DescribeReplicationConfigurationTemplatesInput) SetMaxResults(v int64) *DescribeReplicationConfigurationTemplatesInput {
3852	s.MaxResults = &v
3853	return s
3854}
3855
3856// SetNextToken sets the NextToken field's value.
3857func (s *DescribeReplicationConfigurationTemplatesInput) SetNextToken(v string) *DescribeReplicationConfigurationTemplatesInput {
3858	s.NextToken = &v
3859	return s
3860}
3861
3862// SetReplicationConfigurationTemplateIDs sets the ReplicationConfigurationTemplateIDs field's value.
3863func (s *DescribeReplicationConfigurationTemplatesInput) SetReplicationConfigurationTemplateIDs(v []*string) *DescribeReplicationConfigurationTemplatesInput {
3864	s.ReplicationConfigurationTemplateIDs = v
3865	return s
3866}
3867
3868type DescribeReplicationConfigurationTemplatesOutput struct {
3869	_ struct{} `type:"structure"`
3870
3871	// Request to describe Replication Configuration template by items.
3872	Items []*ReplicationConfigurationTemplate `locationName:"items" type:"list"`
3873
3874	// Request to describe Replication Configuration template by next token.
3875	NextToken *string `locationName:"nextToken" type:"string"`
3876}
3877
3878// String returns the string representation
3879func (s DescribeReplicationConfigurationTemplatesOutput) String() string {
3880	return awsutil.Prettify(s)
3881}
3882
3883// GoString returns the string representation
3884func (s DescribeReplicationConfigurationTemplatesOutput) GoString() string {
3885	return s.String()
3886}
3887
3888// SetItems sets the Items field's value.
3889func (s *DescribeReplicationConfigurationTemplatesOutput) SetItems(v []*ReplicationConfigurationTemplate) *DescribeReplicationConfigurationTemplatesOutput {
3890	s.Items = v
3891	return s
3892}
3893
3894// SetNextToken sets the NextToken field's value.
3895func (s *DescribeReplicationConfigurationTemplatesOutput) SetNextToken(v string) *DescribeReplicationConfigurationTemplatesOutput {
3896	s.NextToken = &v
3897	return s
3898}
3899
3900type DescribeSourceServersInput struct {
3901	_ struct{} `type:"structure"`
3902
3903	// Request to filter Source Servers list.
3904	//
3905	// Filters is a required field
3906	Filters *DescribeSourceServersRequestFilters `locationName:"filters" type:"structure" required:"true"`
3907
3908	// Request to filter Source Servers list by maximum results.
3909	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
3910
3911	// Request to filter Source Servers list by next token.
3912	NextToken *string `locationName:"nextToken" type:"string"`
3913}
3914
3915// String returns the string representation
3916func (s DescribeSourceServersInput) String() string {
3917	return awsutil.Prettify(s)
3918}
3919
3920// GoString returns the string representation
3921func (s DescribeSourceServersInput) GoString() string {
3922	return s.String()
3923}
3924
3925// Validate inspects the fields of the type to determine if they are valid.
3926func (s *DescribeSourceServersInput) Validate() error {
3927	invalidParams := request.ErrInvalidParams{Context: "DescribeSourceServersInput"}
3928	if s.Filters == nil {
3929		invalidParams.Add(request.NewErrParamRequired("Filters"))
3930	}
3931	if s.MaxResults != nil && *s.MaxResults < 1 {
3932		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3933	}
3934
3935	if invalidParams.Len() > 0 {
3936		return invalidParams
3937	}
3938	return nil
3939}
3940
3941// SetFilters sets the Filters field's value.
3942func (s *DescribeSourceServersInput) SetFilters(v *DescribeSourceServersRequestFilters) *DescribeSourceServersInput {
3943	s.Filters = v
3944	return s
3945}
3946
3947// SetMaxResults sets the MaxResults field's value.
3948func (s *DescribeSourceServersInput) SetMaxResults(v int64) *DescribeSourceServersInput {
3949	s.MaxResults = &v
3950	return s
3951}
3952
3953// SetNextToken sets the NextToken field's value.
3954func (s *DescribeSourceServersInput) SetNextToken(v string) *DescribeSourceServersInput {
3955	s.NextToken = &v
3956	return s
3957}
3958
3959type DescribeSourceServersOutput struct {
3960	_ struct{} `type:"structure"`
3961
3962	// Request to filter Source Servers list by item.
3963	Items []*SourceServer `locationName:"items" type:"list"`
3964
3965	// Request to filter Source Servers next token.
3966	NextToken *string `locationName:"nextToken" type:"string"`
3967}
3968
3969// String returns the string representation
3970func (s DescribeSourceServersOutput) String() string {
3971	return awsutil.Prettify(s)
3972}
3973
3974// GoString returns the string representation
3975func (s DescribeSourceServersOutput) GoString() string {
3976	return s.String()
3977}
3978
3979// SetItems sets the Items field's value.
3980func (s *DescribeSourceServersOutput) SetItems(v []*SourceServer) *DescribeSourceServersOutput {
3981	s.Items = v
3982	return s
3983}
3984
3985// SetNextToken sets the NextToken field's value.
3986func (s *DescribeSourceServersOutput) SetNextToken(v string) *DescribeSourceServersOutput {
3987	s.NextToken = &v
3988	return s
3989}
3990
3991// Request to filter Source Servers list.
3992type DescribeSourceServersRequestFilters struct {
3993	_ struct{} `type:"structure"`
3994
3995	// Request to filter Source Servers list by archived.
3996	IsArchived *bool `locationName:"isArchived" type:"boolean"`
3997
3998	// Request to filter Source Servers list by Source Server ID.
3999	SourceServerIDs []*string `locationName:"sourceServerIDs" type:"list"`
4000}
4001
4002// String returns the string representation
4003func (s DescribeSourceServersRequestFilters) String() string {
4004	return awsutil.Prettify(s)
4005}
4006
4007// GoString returns the string representation
4008func (s DescribeSourceServersRequestFilters) GoString() string {
4009	return s.String()
4010}
4011
4012// SetIsArchived sets the IsArchived field's value.
4013func (s *DescribeSourceServersRequestFilters) SetIsArchived(v bool) *DescribeSourceServersRequestFilters {
4014	s.IsArchived = &v
4015	return s
4016}
4017
4018// SetSourceServerIDs sets the SourceServerIDs field's value.
4019func (s *DescribeSourceServersRequestFilters) SetSourceServerIDs(v []*string) *DescribeSourceServersRequestFilters {
4020	s.SourceServerIDs = v
4021	return s
4022}
4023
4024type DisconnectFromServiceInput struct {
4025	_ struct{} `type:"structure"`
4026
4027	// Request to disconnect Source Server from service by Server ID.
4028	//
4029	// SourceServerID is a required field
4030	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"`
4031}
4032
4033// String returns the string representation
4034func (s DisconnectFromServiceInput) String() string {
4035	return awsutil.Prettify(s)
4036}
4037
4038// GoString returns the string representation
4039func (s DisconnectFromServiceInput) GoString() string {
4040	return s.String()
4041}
4042
4043// Validate inspects the fields of the type to determine if they are valid.
4044func (s *DisconnectFromServiceInput) Validate() error {
4045	invalidParams := request.ErrInvalidParams{Context: "DisconnectFromServiceInput"}
4046	if s.SourceServerID == nil {
4047		invalidParams.Add(request.NewErrParamRequired("SourceServerID"))
4048	}
4049	if s.SourceServerID != nil && len(*s.SourceServerID) < 19 {
4050		invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19))
4051	}
4052
4053	if invalidParams.Len() > 0 {
4054		return invalidParams
4055	}
4056	return nil
4057}
4058
4059// SetSourceServerID sets the SourceServerID field's value.
4060func (s *DisconnectFromServiceInput) SetSourceServerID(v string) *DisconnectFromServiceInput {
4061	s.SourceServerID = &v
4062	return s
4063}
4064
4065type DisconnectFromServiceOutput struct {
4066	_ struct{} `type:"structure"`
4067
4068	// Source server ARN.
4069	Arn *string `locationName:"arn" min:"20" type:"string"`
4070
4071	// Source server data replication info.
4072	DataReplicationInfo *DataReplicationInfo `locationName:"dataReplicationInfo" type:"structure"`
4073
4074	// Source server archived status.
4075	IsArchived *bool `locationName:"isArchived" type:"boolean"`
4076
4077	// Source server launched instance.
4078	LaunchedInstance *LaunchedInstance `locationName:"launchedInstance" type:"structure"`
4079
4080	// Source server lifecycle state.
4081	LifeCycle *LifeCycle `locationName:"lifeCycle" type:"structure"`
4082
4083	// Source server properties.
4084	SourceProperties *SourceProperties `locationName:"sourceProperties" type:"structure"`
4085
4086	// Source server ID.
4087	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
4088
4089	// Source server Tags.
4090	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
4091}
4092
4093// String returns the string representation
4094func (s DisconnectFromServiceOutput) String() string {
4095	return awsutil.Prettify(s)
4096}
4097
4098// GoString returns the string representation
4099func (s DisconnectFromServiceOutput) GoString() string {
4100	return s.String()
4101}
4102
4103// SetArn sets the Arn field's value.
4104func (s *DisconnectFromServiceOutput) SetArn(v string) *DisconnectFromServiceOutput {
4105	s.Arn = &v
4106	return s
4107}
4108
4109// SetDataReplicationInfo sets the DataReplicationInfo field's value.
4110func (s *DisconnectFromServiceOutput) SetDataReplicationInfo(v *DataReplicationInfo) *DisconnectFromServiceOutput {
4111	s.DataReplicationInfo = v
4112	return s
4113}
4114
4115// SetIsArchived sets the IsArchived field's value.
4116func (s *DisconnectFromServiceOutput) SetIsArchived(v bool) *DisconnectFromServiceOutput {
4117	s.IsArchived = &v
4118	return s
4119}
4120
4121// SetLaunchedInstance sets the LaunchedInstance field's value.
4122func (s *DisconnectFromServiceOutput) SetLaunchedInstance(v *LaunchedInstance) *DisconnectFromServiceOutput {
4123	s.LaunchedInstance = v
4124	return s
4125}
4126
4127// SetLifeCycle sets the LifeCycle field's value.
4128func (s *DisconnectFromServiceOutput) SetLifeCycle(v *LifeCycle) *DisconnectFromServiceOutput {
4129	s.LifeCycle = v
4130	return s
4131}
4132
4133// SetSourceProperties sets the SourceProperties field's value.
4134func (s *DisconnectFromServiceOutput) SetSourceProperties(v *SourceProperties) *DisconnectFromServiceOutput {
4135	s.SourceProperties = v
4136	return s
4137}
4138
4139// SetSourceServerID sets the SourceServerID field's value.
4140func (s *DisconnectFromServiceOutput) SetSourceServerID(v string) *DisconnectFromServiceOutput {
4141	s.SourceServerID = &v
4142	return s
4143}
4144
4145// SetTags sets the Tags field's value.
4146func (s *DisconnectFromServiceOutput) SetTags(v map[string]*string) *DisconnectFromServiceOutput {
4147	s.Tags = v
4148	return s
4149}
4150
4151// The disk identifier.
4152type Disk struct {
4153	_ struct{} `type:"structure"`
4154
4155	// The amount of storage on the disk in bytes.
4156	Bytes *int64 `locationName:"bytes" type:"long"`
4157
4158	// The disk or device name.
4159	DeviceName *string `locationName:"deviceName" type:"string"`
4160}
4161
4162// String returns the string representation
4163func (s Disk) String() string {
4164	return awsutil.Prettify(s)
4165}
4166
4167// GoString returns the string representation
4168func (s Disk) GoString() string {
4169	return s.String()
4170}
4171
4172// SetBytes sets the Bytes field's value.
4173func (s *Disk) SetBytes(v int64) *Disk {
4174	s.Bytes = &v
4175	return s
4176}
4177
4178// SetDeviceName sets the DeviceName field's value.
4179func (s *Disk) SetDeviceName(v string) *Disk {
4180	s.DeviceName = &v
4181	return s
4182}
4183
4184type FinalizeCutoverInput struct {
4185	_ struct{} `type:"structure"`
4186
4187	// Request to finalize Cutover by Soure Server ID.
4188	//
4189	// SourceServerID is a required field
4190	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"`
4191}
4192
4193// String returns the string representation
4194func (s FinalizeCutoverInput) String() string {
4195	return awsutil.Prettify(s)
4196}
4197
4198// GoString returns the string representation
4199func (s FinalizeCutoverInput) GoString() string {
4200	return s.String()
4201}
4202
4203// Validate inspects the fields of the type to determine if they are valid.
4204func (s *FinalizeCutoverInput) Validate() error {
4205	invalidParams := request.ErrInvalidParams{Context: "FinalizeCutoverInput"}
4206	if s.SourceServerID == nil {
4207		invalidParams.Add(request.NewErrParamRequired("SourceServerID"))
4208	}
4209	if s.SourceServerID != nil && len(*s.SourceServerID) < 19 {
4210		invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19))
4211	}
4212
4213	if invalidParams.Len() > 0 {
4214		return invalidParams
4215	}
4216	return nil
4217}
4218
4219// SetSourceServerID sets the SourceServerID field's value.
4220func (s *FinalizeCutoverInput) SetSourceServerID(v string) *FinalizeCutoverInput {
4221	s.SourceServerID = &v
4222	return s
4223}
4224
4225type FinalizeCutoverOutput struct {
4226	_ struct{} `type:"structure"`
4227
4228	// Source server ARN.
4229	Arn *string `locationName:"arn" min:"20" type:"string"`
4230
4231	// Source server data replication info.
4232	DataReplicationInfo *DataReplicationInfo `locationName:"dataReplicationInfo" type:"structure"`
4233
4234	// Source server archived status.
4235	IsArchived *bool `locationName:"isArchived" type:"boolean"`
4236
4237	// Source server launched instance.
4238	LaunchedInstance *LaunchedInstance `locationName:"launchedInstance" type:"structure"`
4239
4240	// Source server lifecycle state.
4241	LifeCycle *LifeCycle `locationName:"lifeCycle" type:"structure"`
4242
4243	// Source server properties.
4244	SourceProperties *SourceProperties `locationName:"sourceProperties" type:"structure"`
4245
4246	// Source server ID.
4247	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
4248
4249	// Source server Tags.
4250	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
4251}
4252
4253// String returns the string representation
4254func (s FinalizeCutoverOutput) String() string {
4255	return awsutil.Prettify(s)
4256}
4257
4258// GoString returns the string representation
4259func (s FinalizeCutoverOutput) GoString() string {
4260	return s.String()
4261}
4262
4263// SetArn sets the Arn field's value.
4264func (s *FinalizeCutoverOutput) SetArn(v string) *FinalizeCutoverOutput {
4265	s.Arn = &v
4266	return s
4267}
4268
4269// SetDataReplicationInfo sets the DataReplicationInfo field's value.
4270func (s *FinalizeCutoverOutput) SetDataReplicationInfo(v *DataReplicationInfo) *FinalizeCutoverOutput {
4271	s.DataReplicationInfo = v
4272	return s
4273}
4274
4275// SetIsArchived sets the IsArchived field's value.
4276func (s *FinalizeCutoverOutput) SetIsArchived(v bool) *FinalizeCutoverOutput {
4277	s.IsArchived = &v
4278	return s
4279}
4280
4281// SetLaunchedInstance sets the LaunchedInstance field's value.
4282func (s *FinalizeCutoverOutput) SetLaunchedInstance(v *LaunchedInstance) *FinalizeCutoverOutput {
4283	s.LaunchedInstance = v
4284	return s
4285}
4286
4287// SetLifeCycle sets the LifeCycle field's value.
4288func (s *FinalizeCutoverOutput) SetLifeCycle(v *LifeCycle) *FinalizeCutoverOutput {
4289	s.LifeCycle = v
4290	return s
4291}
4292
4293// SetSourceProperties sets the SourceProperties field's value.
4294func (s *FinalizeCutoverOutput) SetSourceProperties(v *SourceProperties) *FinalizeCutoverOutput {
4295	s.SourceProperties = v
4296	return s
4297}
4298
4299// SetSourceServerID sets the SourceServerID field's value.
4300func (s *FinalizeCutoverOutput) SetSourceServerID(v string) *FinalizeCutoverOutput {
4301	s.SourceServerID = &v
4302	return s
4303}
4304
4305// SetTags sets the Tags field's value.
4306func (s *FinalizeCutoverOutput) SetTags(v map[string]*string) *FinalizeCutoverOutput {
4307	s.Tags = v
4308	return s
4309}
4310
4311type GetLaunchConfigurationInput struct {
4312	_ struct{} `type:"structure"`
4313
4314	// Request to get Launch Configuration information by Source Server ID.
4315	//
4316	// SourceServerID is a required field
4317	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"`
4318}
4319
4320// String returns the string representation
4321func (s GetLaunchConfigurationInput) String() string {
4322	return awsutil.Prettify(s)
4323}
4324
4325// GoString returns the string representation
4326func (s GetLaunchConfigurationInput) GoString() string {
4327	return s.String()
4328}
4329
4330// Validate inspects the fields of the type to determine if they are valid.
4331func (s *GetLaunchConfigurationInput) Validate() error {
4332	invalidParams := request.ErrInvalidParams{Context: "GetLaunchConfigurationInput"}
4333	if s.SourceServerID == nil {
4334		invalidParams.Add(request.NewErrParamRequired("SourceServerID"))
4335	}
4336	if s.SourceServerID != nil && len(*s.SourceServerID) < 19 {
4337		invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19))
4338	}
4339
4340	if invalidParams.Len() > 0 {
4341		return invalidParams
4342	}
4343	return nil
4344}
4345
4346// SetSourceServerID sets the SourceServerID field's value.
4347func (s *GetLaunchConfigurationInput) SetSourceServerID(v string) *GetLaunchConfigurationInput {
4348	s.SourceServerID = &v
4349	return s
4350}
4351
4352type GetLaunchConfigurationOutput struct {
4353	_ struct{} `type:"structure"`
4354
4355	// Copy Private IP during Launch Configuration.
4356	CopyPrivateIp *bool `locationName:"copyPrivateIp" type:"boolean"`
4357
4358	// Copy Tags during Launch Configuration.
4359	CopyTags *bool `locationName:"copyTags" type:"boolean"`
4360
4361	// Configure EC2 lauch configuration template ID.
4362	Ec2LaunchTemplateID *string `locationName:"ec2LaunchTemplateID" type:"string"`
4363
4364	// Configure launch dispostion for launch configuration.
4365	LaunchDisposition *string `locationName:"launchDisposition" type:"string" enum:"LaunchDisposition"`
4366
4367	// Configure launch configuration OS licensing.
4368	Licensing *Licensing `locationName:"licensing" type:"structure"`
4369
4370	// Configure launch configuration name.
4371	Name *string `locationName:"name" type:"string"`
4372
4373	// Configure launch configuration Source Server ID.
4374	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
4375
4376	// Configure launch configuration Target instance type right sizing method.
4377	TargetInstanceTypeRightSizingMethod *string `locationName:"targetInstanceTypeRightSizingMethod" type:"string" enum:"TargetInstanceTypeRightSizingMethod"`
4378}
4379
4380// String returns the string representation
4381func (s GetLaunchConfigurationOutput) String() string {
4382	return awsutil.Prettify(s)
4383}
4384
4385// GoString returns the string representation
4386func (s GetLaunchConfigurationOutput) GoString() string {
4387	return s.String()
4388}
4389
4390// SetCopyPrivateIp sets the CopyPrivateIp field's value.
4391func (s *GetLaunchConfigurationOutput) SetCopyPrivateIp(v bool) *GetLaunchConfigurationOutput {
4392	s.CopyPrivateIp = &v
4393	return s
4394}
4395
4396// SetCopyTags sets the CopyTags field's value.
4397func (s *GetLaunchConfigurationOutput) SetCopyTags(v bool) *GetLaunchConfigurationOutput {
4398	s.CopyTags = &v
4399	return s
4400}
4401
4402// SetEc2LaunchTemplateID sets the Ec2LaunchTemplateID field's value.
4403func (s *GetLaunchConfigurationOutput) SetEc2LaunchTemplateID(v string) *GetLaunchConfigurationOutput {
4404	s.Ec2LaunchTemplateID = &v
4405	return s
4406}
4407
4408// SetLaunchDisposition sets the LaunchDisposition field's value.
4409func (s *GetLaunchConfigurationOutput) SetLaunchDisposition(v string) *GetLaunchConfigurationOutput {
4410	s.LaunchDisposition = &v
4411	return s
4412}
4413
4414// SetLicensing sets the Licensing field's value.
4415func (s *GetLaunchConfigurationOutput) SetLicensing(v *Licensing) *GetLaunchConfigurationOutput {
4416	s.Licensing = v
4417	return s
4418}
4419
4420// SetName sets the Name field's value.
4421func (s *GetLaunchConfigurationOutput) SetName(v string) *GetLaunchConfigurationOutput {
4422	s.Name = &v
4423	return s
4424}
4425
4426// SetSourceServerID sets the SourceServerID field's value.
4427func (s *GetLaunchConfigurationOutput) SetSourceServerID(v string) *GetLaunchConfigurationOutput {
4428	s.SourceServerID = &v
4429	return s
4430}
4431
4432// SetTargetInstanceTypeRightSizingMethod sets the TargetInstanceTypeRightSizingMethod field's value.
4433func (s *GetLaunchConfigurationOutput) SetTargetInstanceTypeRightSizingMethod(v string) *GetLaunchConfigurationOutput {
4434	s.TargetInstanceTypeRightSizingMethod = &v
4435	return s
4436}
4437
4438type GetReplicationConfigurationInput struct {
4439	_ struct{} `type:"structure"`
4440
4441	// Request to get Replication Configuaration by Source Server ID.
4442	//
4443	// SourceServerID is a required field
4444	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"`
4445}
4446
4447// String returns the string representation
4448func (s GetReplicationConfigurationInput) String() string {
4449	return awsutil.Prettify(s)
4450}
4451
4452// GoString returns the string representation
4453func (s GetReplicationConfigurationInput) GoString() string {
4454	return s.String()
4455}
4456
4457// Validate inspects the fields of the type to determine if they are valid.
4458func (s *GetReplicationConfigurationInput) Validate() error {
4459	invalidParams := request.ErrInvalidParams{Context: "GetReplicationConfigurationInput"}
4460	if s.SourceServerID == nil {
4461		invalidParams.Add(request.NewErrParamRequired("SourceServerID"))
4462	}
4463	if s.SourceServerID != nil && len(*s.SourceServerID) < 19 {
4464		invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19))
4465	}
4466
4467	if invalidParams.Len() > 0 {
4468		return invalidParams
4469	}
4470	return nil
4471}
4472
4473// SetSourceServerID sets the SourceServerID field's value.
4474func (s *GetReplicationConfigurationInput) SetSourceServerID(v string) *GetReplicationConfigurationInput {
4475	s.SourceServerID = &v
4476	return s
4477}
4478
4479type GetReplicationConfigurationOutput struct {
4480	_ struct{} `type:"structure"`
4481
4482	// Replication Configuration associate default Application Migration Service
4483	// Security Group.
4484	AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean"`
4485
4486	// Replication Configuration set bandwidth throttling.
4487	BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"`
4488
4489	// Replication Configuration create Public IP.
4490	CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean"`
4491
4492	// Replication Configuration data plane routing.
4493	DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" enum:"ReplicationConfigurationDataPlaneRouting"`
4494
4495	// Replication Configuration use default large Staging Disks.
4496	DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"`
4497
4498	// Replication Configuration EBS encryption.
4499	EbsEncryption *string `locationName:"ebsEncryption" type:"string" enum:"ReplicationConfigurationEbsEncryption"`
4500
4501	// Replication Configuration EBS encryption key ARN.
4502	EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"`
4503
4504	// Replication Configuration name.
4505	Name *string `locationName:"name" type:"string"`
4506
4507	// Replication Configuration replicated disks.
4508	ReplicatedDisks []*ReplicationConfigurationReplicatedDisk `locationName:"replicatedDisks" type:"list"`
4509
4510	// Replication Configuration Replication Server instance type.
4511	ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string"`
4512
4513	// Replication Configuration Replication Server Security Group IDs.
4514	ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list"`
4515
4516	// Replication Configuration Source Server ID.
4517	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
4518
4519	// Replication Configuration Staging Area subnet ID.
4520	StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string"`
4521
4522	// Replication Configuration Staging Area tags.
4523	StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" sensitive:"true"`
4524
4525	// Replication Configuration use Dedicated Replication Server.
4526	UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean"`
4527}
4528
4529// String returns the string representation
4530func (s GetReplicationConfigurationOutput) String() string {
4531	return awsutil.Prettify(s)
4532}
4533
4534// GoString returns the string representation
4535func (s GetReplicationConfigurationOutput) GoString() string {
4536	return s.String()
4537}
4538
4539// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value.
4540func (s *GetReplicationConfigurationOutput) SetAssociateDefaultSecurityGroup(v bool) *GetReplicationConfigurationOutput {
4541	s.AssociateDefaultSecurityGroup = &v
4542	return s
4543}
4544
4545// SetBandwidthThrottling sets the BandwidthThrottling field's value.
4546func (s *GetReplicationConfigurationOutput) SetBandwidthThrottling(v int64) *GetReplicationConfigurationOutput {
4547	s.BandwidthThrottling = &v
4548	return s
4549}
4550
4551// SetCreatePublicIP sets the CreatePublicIP field's value.
4552func (s *GetReplicationConfigurationOutput) SetCreatePublicIP(v bool) *GetReplicationConfigurationOutput {
4553	s.CreatePublicIP = &v
4554	return s
4555}
4556
4557// SetDataPlaneRouting sets the DataPlaneRouting field's value.
4558func (s *GetReplicationConfigurationOutput) SetDataPlaneRouting(v string) *GetReplicationConfigurationOutput {
4559	s.DataPlaneRouting = &v
4560	return s
4561}
4562
4563// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value.
4564func (s *GetReplicationConfigurationOutput) SetDefaultLargeStagingDiskType(v string) *GetReplicationConfigurationOutput {
4565	s.DefaultLargeStagingDiskType = &v
4566	return s
4567}
4568
4569// SetEbsEncryption sets the EbsEncryption field's value.
4570func (s *GetReplicationConfigurationOutput) SetEbsEncryption(v string) *GetReplicationConfigurationOutput {
4571	s.EbsEncryption = &v
4572	return s
4573}
4574
4575// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value.
4576func (s *GetReplicationConfigurationOutput) SetEbsEncryptionKeyArn(v string) *GetReplicationConfigurationOutput {
4577	s.EbsEncryptionKeyArn = &v
4578	return s
4579}
4580
4581// SetName sets the Name field's value.
4582func (s *GetReplicationConfigurationOutput) SetName(v string) *GetReplicationConfigurationOutput {
4583	s.Name = &v
4584	return s
4585}
4586
4587// SetReplicatedDisks sets the ReplicatedDisks field's value.
4588func (s *GetReplicationConfigurationOutput) SetReplicatedDisks(v []*ReplicationConfigurationReplicatedDisk) *GetReplicationConfigurationOutput {
4589	s.ReplicatedDisks = v
4590	return s
4591}
4592
4593// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value.
4594func (s *GetReplicationConfigurationOutput) SetReplicationServerInstanceType(v string) *GetReplicationConfigurationOutput {
4595	s.ReplicationServerInstanceType = &v
4596	return s
4597}
4598
4599// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value.
4600func (s *GetReplicationConfigurationOutput) SetReplicationServersSecurityGroupsIDs(v []*string) *GetReplicationConfigurationOutput {
4601	s.ReplicationServersSecurityGroupsIDs = v
4602	return s
4603}
4604
4605// SetSourceServerID sets the SourceServerID field's value.
4606func (s *GetReplicationConfigurationOutput) SetSourceServerID(v string) *GetReplicationConfigurationOutput {
4607	s.SourceServerID = &v
4608	return s
4609}
4610
4611// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value.
4612func (s *GetReplicationConfigurationOutput) SetStagingAreaSubnetId(v string) *GetReplicationConfigurationOutput {
4613	s.StagingAreaSubnetId = &v
4614	return s
4615}
4616
4617// SetStagingAreaTags sets the StagingAreaTags field's value.
4618func (s *GetReplicationConfigurationOutput) SetStagingAreaTags(v map[string]*string) *GetReplicationConfigurationOutput {
4619	s.StagingAreaTags = v
4620	return s
4621}
4622
4623// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value.
4624func (s *GetReplicationConfigurationOutput) SetUseDedicatedReplicationServer(v bool) *GetReplicationConfigurationOutput {
4625	s.UseDedicatedReplicationServer = &v
4626	return s
4627}
4628
4629// Identification hints.
4630type IdentificationHints struct {
4631	_ struct{} `type:"structure"`
4632
4633	// AWS Instance ID identification hint.
4634	AwsInstanceID *string `locationName:"awsInstanceID" type:"string"`
4635
4636	// FQDN address identification hint.
4637	Fqdn *string `locationName:"fqdn" type:"string"`
4638
4639	// Hostname identification hint.
4640	Hostname *string `locationName:"hostname" type:"string"`
4641
4642	// vmWare UUID identification hint.
4643	VmWareUuid *string `locationName:"vmWareUuid" type:"string"`
4644}
4645
4646// String returns the string representation
4647func (s IdentificationHints) String() string {
4648	return awsutil.Prettify(s)
4649}
4650
4651// GoString returns the string representation
4652func (s IdentificationHints) GoString() string {
4653	return s.String()
4654}
4655
4656// SetAwsInstanceID sets the AwsInstanceID field's value.
4657func (s *IdentificationHints) SetAwsInstanceID(v string) *IdentificationHints {
4658	s.AwsInstanceID = &v
4659	return s
4660}
4661
4662// SetFqdn sets the Fqdn field's value.
4663func (s *IdentificationHints) SetFqdn(v string) *IdentificationHints {
4664	s.Fqdn = &v
4665	return s
4666}
4667
4668// SetHostname sets the Hostname field's value.
4669func (s *IdentificationHints) SetHostname(v string) *IdentificationHints {
4670	s.Hostname = &v
4671	return s
4672}
4673
4674// SetVmWareUuid sets the VmWareUuid field's value.
4675func (s *IdentificationHints) SetVmWareUuid(v string) *IdentificationHints {
4676	s.VmWareUuid = &v
4677	return s
4678}
4679
4680type InitializeServiceInput struct {
4681	_ struct{} `type:"structure"`
4682}
4683
4684// String returns the string representation
4685func (s InitializeServiceInput) String() string {
4686	return awsutil.Prettify(s)
4687}
4688
4689// GoString returns the string representation
4690func (s InitializeServiceInput) GoString() string {
4691	return s.String()
4692}
4693
4694type InitializeServiceOutput struct {
4695	_ struct{} `type:"structure"`
4696}
4697
4698// String returns the string representation
4699func (s InitializeServiceOutput) String() string {
4700	return awsutil.Prettify(s)
4701}
4702
4703// GoString returns the string representation
4704func (s InitializeServiceOutput) GoString() string {
4705	return s.String()
4706}
4707
4708// The server encountered an unexpected condition that prevented it from fulfilling
4709// the request.
4710type InternalServerException struct {
4711	_            struct{}                  `type:"structure"`
4712	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4713
4714	Message_ *string `locationName:"message" type:"string"`
4715
4716	// The server encountered an unexpected condition that prevented it from fulfilling
4717	// the request. The request will be retried again after x seconds.
4718	RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"long"`
4719}
4720
4721// String returns the string representation
4722func (s InternalServerException) String() string {
4723	return awsutil.Prettify(s)
4724}
4725
4726// GoString returns the string representation
4727func (s InternalServerException) GoString() string {
4728	return s.String()
4729}
4730
4731func newErrorInternalServerException(v protocol.ResponseMetadata) error {
4732	return &InternalServerException{
4733		RespMetadata: v,
4734	}
4735}
4736
4737// Code returns the exception type name.
4738func (s *InternalServerException) Code() string {
4739	return "InternalServerException"
4740}
4741
4742// Message returns the exception's message.
4743func (s *InternalServerException) Message() string {
4744	if s.Message_ != nil {
4745		return *s.Message_
4746	}
4747	return ""
4748}
4749
4750// OrigErr always returns nil, satisfies awserr.Error interface.
4751func (s *InternalServerException) OrigErr() error {
4752	return nil
4753}
4754
4755func (s *InternalServerException) Error() string {
4756	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
4757}
4758
4759// Status code returns the HTTP status code for the request's response error.
4760func (s *InternalServerException) StatusCode() int {
4761	return s.RespMetadata.StatusCode
4762}
4763
4764// RequestID returns the service's response RequestID for request.
4765func (s *InternalServerException) RequestID() string {
4766	return s.RespMetadata.RequestID
4767}
4768
4769// Job.
4770type Job struct {
4771	_ struct{} `type:"structure"`
4772
4773	// the ARN of the specific Job.
4774	Arn *string `locationName:"arn" min:"20" type:"string"`
4775
4776	// Job creation time.
4777	CreationDateTime *string `locationName:"creationDateTime" min:"19" type:"string"`
4778
4779	// Job end time.
4780	EndDateTime *string `locationName:"endDateTime" min:"19" type:"string"`
4781
4782	// Job initiated by field.
4783	InitiatedBy *string `locationName:"initiatedBy" type:"string" enum:"InitiatedBy"`
4784
4785	// Job ID.
4786	//
4787	// JobID is a required field
4788	JobID *string `locationName:"jobID" min:"24" type:"string" required:"true"`
4789
4790	// Servers participating in a specific Job.
4791	ParticipatingServers []*ParticipatingServer `locationName:"participatingServers" type:"list"`
4792
4793	// Job status.
4794	Status *string `locationName:"status" type:"string" enum:"JobStatus"`
4795
4796	// Tags associated with spcific Job.
4797	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
4798
4799	// Job type.
4800	Type *string `locationName:"type" type:"string" enum:"JobType"`
4801}
4802
4803// String returns the string representation
4804func (s Job) String() string {
4805	return awsutil.Prettify(s)
4806}
4807
4808// GoString returns the string representation
4809func (s Job) GoString() string {
4810	return s.String()
4811}
4812
4813// SetArn sets the Arn field's value.
4814func (s *Job) SetArn(v string) *Job {
4815	s.Arn = &v
4816	return s
4817}
4818
4819// SetCreationDateTime sets the CreationDateTime field's value.
4820func (s *Job) SetCreationDateTime(v string) *Job {
4821	s.CreationDateTime = &v
4822	return s
4823}
4824
4825// SetEndDateTime sets the EndDateTime field's value.
4826func (s *Job) SetEndDateTime(v string) *Job {
4827	s.EndDateTime = &v
4828	return s
4829}
4830
4831// SetInitiatedBy sets the InitiatedBy field's value.
4832func (s *Job) SetInitiatedBy(v string) *Job {
4833	s.InitiatedBy = &v
4834	return s
4835}
4836
4837// SetJobID sets the JobID field's value.
4838func (s *Job) SetJobID(v string) *Job {
4839	s.JobID = &v
4840	return s
4841}
4842
4843// SetParticipatingServers sets the ParticipatingServers field's value.
4844func (s *Job) SetParticipatingServers(v []*ParticipatingServer) *Job {
4845	s.ParticipatingServers = v
4846	return s
4847}
4848
4849// SetStatus sets the Status field's value.
4850func (s *Job) SetStatus(v string) *Job {
4851	s.Status = &v
4852	return s
4853}
4854
4855// SetTags sets the Tags field's value.
4856func (s *Job) SetTags(v map[string]*string) *Job {
4857	s.Tags = v
4858	return s
4859}
4860
4861// SetType sets the Type field's value.
4862func (s *Job) SetType(v string) *Job {
4863	s.Type = &v
4864	return s
4865}
4866
4867// Job log.
4868type JobLog struct {
4869	_ struct{} `type:"structure"`
4870
4871	// Job log event.
4872	Event *string `locationName:"event" type:"string" enum:"JobLogEvent"`
4873
4874	// Job event data
4875	EventData *JobLogEventData `locationName:"eventData" type:"structure"`
4876
4877	// Job log event date and time.
4878	LogDateTime *string `locationName:"logDateTime" min:"19" type:"string"`
4879}
4880
4881// String returns the string representation
4882func (s JobLog) String() string {
4883	return awsutil.Prettify(s)
4884}
4885
4886// GoString returns the string representation
4887func (s JobLog) GoString() string {
4888	return s.String()
4889}
4890
4891// SetEvent sets the Event field's value.
4892func (s *JobLog) SetEvent(v string) *JobLog {
4893	s.Event = &v
4894	return s
4895}
4896
4897// SetEventData sets the EventData field's value.
4898func (s *JobLog) SetEventData(v *JobLogEventData) *JobLog {
4899	s.EventData = v
4900	return s
4901}
4902
4903// SetLogDateTime sets the LogDateTime field's value.
4904func (s *JobLog) SetLogDateTime(v string) *JobLog {
4905	s.LogDateTime = &v
4906	return s
4907}
4908
4909// Job log data
4910type JobLogEventData struct {
4911	_ struct{} `type:"structure"`
4912
4913	// Job Event conversion Server ID.
4914	ConversionServerID *string `locationName:"conversionServerID" type:"string"`
4915
4916	// Job error.
4917	RawError *string `locationName:"rawError" type:"string"`
4918
4919	// Job Event Source Server ID.
4920	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
4921
4922	// Job Event Target instance ID.
4923	TargetInstanceID *string `locationName:"targetInstanceID" type:"string"`
4924}
4925
4926// String returns the string representation
4927func (s JobLogEventData) String() string {
4928	return awsutil.Prettify(s)
4929}
4930
4931// GoString returns the string representation
4932func (s JobLogEventData) GoString() string {
4933	return s.String()
4934}
4935
4936// SetConversionServerID sets the ConversionServerID field's value.
4937func (s *JobLogEventData) SetConversionServerID(v string) *JobLogEventData {
4938	s.ConversionServerID = &v
4939	return s
4940}
4941
4942// SetRawError sets the RawError field's value.
4943func (s *JobLogEventData) SetRawError(v string) *JobLogEventData {
4944	s.RawError = &v
4945	return s
4946}
4947
4948// SetSourceServerID sets the SourceServerID field's value.
4949func (s *JobLogEventData) SetSourceServerID(v string) *JobLogEventData {
4950	s.SourceServerID = &v
4951	return s
4952}
4953
4954// SetTargetInstanceID sets the TargetInstanceID field's value.
4955func (s *JobLogEventData) SetTargetInstanceID(v string) *JobLogEventData {
4956	s.TargetInstanceID = &v
4957	return s
4958}
4959
4960// Configure launced instance.
4961type LaunchedInstance struct {
4962	_ struct{} `type:"structure"`
4963
4964	// Configure launced instance EC2 ID.
4965	Ec2InstanceID *string `locationName:"ec2InstanceID" type:"string"`
4966
4967	// Configure launced instance first boot.
4968	FirstBoot *string `locationName:"firstBoot" type:"string" enum:"FirstBoot"`
4969
4970	// Configure launced instance Job ID.
4971	JobID *string `locationName:"jobID" min:"24" type:"string"`
4972}
4973
4974// String returns the string representation
4975func (s LaunchedInstance) String() string {
4976	return awsutil.Prettify(s)
4977}
4978
4979// GoString returns the string representation
4980func (s LaunchedInstance) GoString() string {
4981	return s.String()
4982}
4983
4984// SetEc2InstanceID sets the Ec2InstanceID field's value.
4985func (s *LaunchedInstance) SetEc2InstanceID(v string) *LaunchedInstance {
4986	s.Ec2InstanceID = &v
4987	return s
4988}
4989
4990// SetFirstBoot sets the FirstBoot field's value.
4991func (s *LaunchedInstance) SetFirstBoot(v string) *LaunchedInstance {
4992	s.FirstBoot = &v
4993	return s
4994}
4995
4996// SetJobID sets the JobID field's value.
4997func (s *LaunchedInstance) SetJobID(v string) *LaunchedInstance {
4998	s.JobID = &v
4999	return s
5000}
5001
5002// Configure Licensing.
5003type Licensing struct {
5004	_ struct{} `type:"structure"`
5005
5006	// Configure BYOL OS licensing.
5007	OsByol *bool `locationName:"osByol" type:"boolean"`
5008}
5009
5010// String returns the string representation
5011func (s Licensing) String() string {
5012	return awsutil.Prettify(s)
5013}
5014
5015// GoString returns the string representation
5016func (s Licensing) GoString() string {
5017	return s.String()
5018}
5019
5020// SetOsByol sets the OsByol field's value.
5021func (s *Licensing) SetOsByol(v bool) *Licensing {
5022	s.OsByol = &v
5023	return s
5024}
5025
5026// Lifecycle.
5027type LifeCycle struct {
5028	_ struct{} `type:"structure"`
5029
5030	// Lifecycle added to service data and time.
5031	AddedToServiceDateTime *string `locationName:"addedToServiceDateTime" min:"19" type:"string"`
5032
5033	// Lifecycle elapsed time and duration.
5034	ElapsedReplicationDuration *string `locationName:"elapsedReplicationDuration" min:"19" type:"string"`
5035
5036	// Lifecycle replication initiation date and time.
5037	FirstByteDateTime *string `locationName:"firstByteDateTime" min:"19" type:"string"`
5038
5039	// Lifecycle last Cutover.
5040	LastCutover *LifeCycleLastCutover `locationName:"lastCutover" type:"structure"`
5041
5042	// Lifecycle last seen date and time.
5043	LastSeenByServiceDateTime *string `locationName:"lastSeenByServiceDateTime" min:"19" type:"string"`
5044
5045	// Lifecycle last Test.
5046	LastTest *LifeCycleLastTest `locationName:"lastTest" type:"structure"`
5047
5048	// Lifecycle state.
5049	State *string `locationName:"state" type:"string" enum:"LifeCycleState"`
5050}
5051
5052// String returns the string representation
5053func (s LifeCycle) String() string {
5054	return awsutil.Prettify(s)
5055}
5056
5057// GoString returns the string representation
5058func (s LifeCycle) GoString() string {
5059	return s.String()
5060}
5061
5062// SetAddedToServiceDateTime sets the AddedToServiceDateTime field's value.
5063func (s *LifeCycle) SetAddedToServiceDateTime(v string) *LifeCycle {
5064	s.AddedToServiceDateTime = &v
5065	return s
5066}
5067
5068// SetElapsedReplicationDuration sets the ElapsedReplicationDuration field's value.
5069func (s *LifeCycle) SetElapsedReplicationDuration(v string) *LifeCycle {
5070	s.ElapsedReplicationDuration = &v
5071	return s
5072}
5073
5074// SetFirstByteDateTime sets the FirstByteDateTime field's value.
5075func (s *LifeCycle) SetFirstByteDateTime(v string) *LifeCycle {
5076	s.FirstByteDateTime = &v
5077	return s
5078}
5079
5080// SetLastCutover sets the LastCutover field's value.
5081func (s *LifeCycle) SetLastCutover(v *LifeCycleLastCutover) *LifeCycle {
5082	s.LastCutover = v
5083	return s
5084}
5085
5086// SetLastSeenByServiceDateTime sets the LastSeenByServiceDateTime field's value.
5087func (s *LifeCycle) SetLastSeenByServiceDateTime(v string) *LifeCycle {
5088	s.LastSeenByServiceDateTime = &v
5089	return s
5090}
5091
5092// SetLastTest sets the LastTest field's value.
5093func (s *LifeCycle) SetLastTest(v *LifeCycleLastTest) *LifeCycle {
5094	s.LastTest = v
5095	return s
5096}
5097
5098// SetState sets the State field's value.
5099func (s *LifeCycle) SetState(v string) *LifeCycle {
5100	s.State = &v
5101	return s
5102}
5103
5104// Lifecycle last Cutover .
5105type LifeCycleLastCutover struct {
5106	_ struct{} `type:"structure"`
5107
5108	// Lifecycle Cutover finalized date and time.
5109	Finalized *LifeCycleLastCutoverFinalized `locationName:"finalized" type:"structure"`
5110
5111	// Lifecycle last Cutover initiated.
5112	Initiated *LifeCycleLastCutoverInitiated `locationName:"initiated" type:"structure"`
5113
5114	// Lifecycle last Cutover reverted.
5115	Reverted *LifeCycleLastCutoverReverted `locationName:"reverted" type:"structure"`
5116}
5117
5118// String returns the string representation
5119func (s LifeCycleLastCutover) String() string {
5120	return awsutil.Prettify(s)
5121}
5122
5123// GoString returns the string representation
5124func (s LifeCycleLastCutover) GoString() string {
5125	return s.String()
5126}
5127
5128// SetFinalized sets the Finalized field's value.
5129func (s *LifeCycleLastCutover) SetFinalized(v *LifeCycleLastCutoverFinalized) *LifeCycleLastCutover {
5130	s.Finalized = v
5131	return s
5132}
5133
5134// SetInitiated sets the Initiated field's value.
5135func (s *LifeCycleLastCutover) SetInitiated(v *LifeCycleLastCutoverInitiated) *LifeCycleLastCutover {
5136	s.Initiated = v
5137	return s
5138}
5139
5140// SetReverted sets the Reverted field's value.
5141func (s *LifeCycleLastCutover) SetReverted(v *LifeCycleLastCutoverReverted) *LifeCycleLastCutover {
5142	s.Reverted = v
5143	return s
5144}
5145
5146// Lifecycle Cutover finalized
5147type LifeCycleLastCutoverFinalized struct {
5148	_ struct{} `type:"structure"`
5149
5150	// Lifecycle Cutover finalized date and time.
5151	ApiCallDateTime *string `locationName:"apiCallDateTime" min:"19" type:"string"`
5152}
5153
5154// String returns the string representation
5155func (s LifeCycleLastCutoverFinalized) String() string {
5156	return awsutil.Prettify(s)
5157}
5158
5159// GoString returns the string representation
5160func (s LifeCycleLastCutoverFinalized) GoString() string {
5161	return s.String()
5162}
5163
5164// SetApiCallDateTime sets the ApiCallDateTime field's value.
5165func (s *LifeCycleLastCutoverFinalized) SetApiCallDateTime(v string) *LifeCycleLastCutoverFinalized {
5166	s.ApiCallDateTime = &v
5167	return s
5168}
5169
5170// Lifecycle last Cutover initiated.
5171type LifeCycleLastCutoverInitiated struct {
5172	_ struct{} `type:"structure"`
5173
5174	ApiCallDateTime *string `locationName:"apiCallDateTime" min:"19" type:"string"`
5175
5176	// Lifecycle last Cutover initiated by Job ID.
5177	JobID *string `locationName:"jobID" min:"24" type:"string"`
5178}
5179
5180// String returns the string representation
5181func (s LifeCycleLastCutoverInitiated) String() string {
5182	return awsutil.Prettify(s)
5183}
5184
5185// GoString returns the string representation
5186func (s LifeCycleLastCutoverInitiated) GoString() string {
5187	return s.String()
5188}
5189
5190// SetApiCallDateTime sets the ApiCallDateTime field's value.
5191func (s *LifeCycleLastCutoverInitiated) SetApiCallDateTime(v string) *LifeCycleLastCutoverInitiated {
5192	s.ApiCallDateTime = &v
5193	return s
5194}
5195
5196// SetJobID sets the JobID field's value.
5197func (s *LifeCycleLastCutoverInitiated) SetJobID(v string) *LifeCycleLastCutoverInitiated {
5198	s.JobID = &v
5199	return s
5200}
5201
5202// Lifecycle last Cutover reverted.
5203type LifeCycleLastCutoverReverted struct {
5204	_ struct{} `type:"structure"`
5205
5206	// Lifecycle last Cutover reverted API call date time.
5207	ApiCallDateTime *string `locationName:"apiCallDateTime" min:"19" type:"string"`
5208}
5209
5210// String returns the string representation
5211func (s LifeCycleLastCutoverReverted) String() string {
5212	return awsutil.Prettify(s)
5213}
5214
5215// GoString returns the string representation
5216func (s LifeCycleLastCutoverReverted) GoString() string {
5217	return s.String()
5218}
5219
5220// SetApiCallDateTime sets the ApiCallDateTime field's value.
5221func (s *LifeCycleLastCutoverReverted) SetApiCallDateTime(v string) *LifeCycleLastCutoverReverted {
5222	s.ApiCallDateTime = &v
5223	return s
5224}
5225
5226// Lifecycle last Test.
5227type LifeCycleLastTest struct {
5228	_ struct{} `type:"structure"`
5229
5230	// Lifecycle last Test finlized.
5231	Finalized *LifeCycleLastTestFinalized `locationName:"finalized" type:"structure"`
5232
5233	// Lifecycle last Test initiated.
5234	Initiated *LifeCycleLastTestInitiated `locationName:"initiated" type:"structure"`
5235
5236	// Lifecycle last Test reverted.
5237	Reverted *LifeCycleLastTestReverted `locationName:"reverted" type:"structure"`
5238}
5239
5240// String returns the string representation
5241func (s LifeCycleLastTest) String() string {
5242	return awsutil.Prettify(s)
5243}
5244
5245// GoString returns the string representation
5246func (s LifeCycleLastTest) GoString() string {
5247	return s.String()
5248}
5249
5250// SetFinalized sets the Finalized field's value.
5251func (s *LifeCycleLastTest) SetFinalized(v *LifeCycleLastTestFinalized) *LifeCycleLastTest {
5252	s.Finalized = v
5253	return s
5254}
5255
5256// SetInitiated sets the Initiated field's value.
5257func (s *LifeCycleLastTest) SetInitiated(v *LifeCycleLastTestInitiated) *LifeCycleLastTest {
5258	s.Initiated = v
5259	return s
5260}
5261
5262// SetReverted sets the Reverted field's value.
5263func (s *LifeCycleLastTest) SetReverted(v *LifeCycleLastTestReverted) *LifeCycleLastTest {
5264	s.Reverted = v
5265	return s
5266}
5267
5268// Lifecycle last Test finlized.
5269type LifeCycleLastTestFinalized struct {
5270	_ struct{} `type:"structure"`
5271
5272	// Lifecycle Test failed API call date and time.
5273	ApiCallDateTime *string `locationName:"apiCallDateTime" min:"19" type:"string"`
5274}
5275
5276// String returns the string representation
5277func (s LifeCycleLastTestFinalized) String() string {
5278	return awsutil.Prettify(s)
5279}
5280
5281// GoString returns the string representation
5282func (s LifeCycleLastTestFinalized) GoString() string {
5283	return s.String()
5284}
5285
5286// SetApiCallDateTime sets the ApiCallDateTime field's value.
5287func (s *LifeCycleLastTestFinalized) SetApiCallDateTime(v string) *LifeCycleLastTestFinalized {
5288	s.ApiCallDateTime = &v
5289	return s
5290}
5291
5292// Lifecycle last Test initiated.
5293type LifeCycleLastTestInitiated struct {
5294	_ struct{} `type:"structure"`
5295
5296	// Lifecycle last Test initiated API call date and time.
5297	ApiCallDateTime *string `locationName:"apiCallDateTime" min:"19" type:"string"`
5298
5299	// Lifecycle last Test initiated Job ID.
5300	JobID *string `locationName:"jobID" min:"24" type:"string"`
5301}
5302
5303// String returns the string representation
5304func (s LifeCycleLastTestInitiated) String() string {
5305	return awsutil.Prettify(s)
5306}
5307
5308// GoString returns the string representation
5309func (s LifeCycleLastTestInitiated) GoString() string {
5310	return s.String()
5311}
5312
5313// SetApiCallDateTime sets the ApiCallDateTime field's value.
5314func (s *LifeCycleLastTestInitiated) SetApiCallDateTime(v string) *LifeCycleLastTestInitiated {
5315	s.ApiCallDateTime = &v
5316	return s
5317}
5318
5319// SetJobID sets the JobID field's value.
5320func (s *LifeCycleLastTestInitiated) SetJobID(v string) *LifeCycleLastTestInitiated {
5321	s.JobID = &v
5322	return s
5323}
5324
5325// Lifecycle last Test reverted.
5326type LifeCycleLastTestReverted struct {
5327	_ struct{} `type:"structure"`
5328
5329	// Lifecycle last Test reverted API call date and time.
5330	ApiCallDateTime *string `locationName:"apiCallDateTime" min:"19" type:"string"`
5331}
5332
5333// String returns the string representation
5334func (s LifeCycleLastTestReverted) String() string {
5335	return awsutil.Prettify(s)
5336}
5337
5338// GoString returns the string representation
5339func (s LifeCycleLastTestReverted) GoString() string {
5340	return s.String()
5341}
5342
5343// SetApiCallDateTime sets the ApiCallDateTime field's value.
5344func (s *LifeCycleLastTestReverted) SetApiCallDateTime(v string) *LifeCycleLastTestReverted {
5345	s.ApiCallDateTime = &v
5346	return s
5347}
5348
5349type ListTagsForResourceInput struct {
5350	_ struct{} `type:"structure"`
5351
5352	// List tags for resource request by ARN.
5353	//
5354	// ResourceArn is a required field
5355	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
5356}
5357
5358// String returns the string representation
5359func (s ListTagsForResourceInput) String() string {
5360	return awsutil.Prettify(s)
5361}
5362
5363// GoString returns the string representation
5364func (s ListTagsForResourceInput) GoString() string {
5365	return s.String()
5366}
5367
5368// Validate inspects the fields of the type to determine if they are valid.
5369func (s *ListTagsForResourceInput) Validate() error {
5370	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
5371	if s.ResourceArn == nil {
5372		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
5373	}
5374	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
5375		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
5376	}
5377
5378	if invalidParams.Len() > 0 {
5379		return invalidParams
5380	}
5381	return nil
5382}
5383
5384// SetResourceArn sets the ResourceArn field's value.
5385func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
5386	s.ResourceArn = &v
5387	return s
5388}
5389
5390type ListTagsForResourceOutput struct {
5391	_ struct{} `type:"structure"`
5392
5393	// List tags for resource response.
5394	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
5395}
5396
5397// String returns the string representation
5398func (s ListTagsForResourceOutput) String() string {
5399	return awsutil.Prettify(s)
5400}
5401
5402// GoString returns the string representation
5403func (s ListTagsForResourceOutput) GoString() string {
5404	return s.String()
5405}
5406
5407// SetTags sets the Tags field's value.
5408func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
5409	s.Tags = v
5410	return s
5411}
5412
5413type MarkAsArchivedInput struct {
5414	_ struct{} `type:"structure"`
5415
5416	// Mark as archived by Source Server ID.
5417	//
5418	// SourceServerID is a required field
5419	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"`
5420}
5421
5422// String returns the string representation
5423func (s MarkAsArchivedInput) String() string {
5424	return awsutil.Prettify(s)
5425}
5426
5427// GoString returns the string representation
5428func (s MarkAsArchivedInput) GoString() string {
5429	return s.String()
5430}
5431
5432// Validate inspects the fields of the type to determine if they are valid.
5433func (s *MarkAsArchivedInput) Validate() error {
5434	invalidParams := request.ErrInvalidParams{Context: "MarkAsArchivedInput"}
5435	if s.SourceServerID == nil {
5436		invalidParams.Add(request.NewErrParamRequired("SourceServerID"))
5437	}
5438	if s.SourceServerID != nil && len(*s.SourceServerID) < 19 {
5439		invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19))
5440	}
5441
5442	if invalidParams.Len() > 0 {
5443		return invalidParams
5444	}
5445	return nil
5446}
5447
5448// SetSourceServerID sets the SourceServerID field's value.
5449func (s *MarkAsArchivedInput) SetSourceServerID(v string) *MarkAsArchivedInput {
5450	s.SourceServerID = &v
5451	return s
5452}
5453
5454type MarkAsArchivedOutput struct {
5455	_ struct{} `type:"structure"`
5456
5457	// Source server ARN.
5458	Arn *string `locationName:"arn" min:"20" type:"string"`
5459
5460	// Source server data replication info.
5461	DataReplicationInfo *DataReplicationInfo `locationName:"dataReplicationInfo" type:"structure"`
5462
5463	// Source server archived status.
5464	IsArchived *bool `locationName:"isArchived" type:"boolean"`
5465
5466	// Source server launched instance.
5467	LaunchedInstance *LaunchedInstance `locationName:"launchedInstance" type:"structure"`
5468
5469	// Source server lifecycle state.
5470	LifeCycle *LifeCycle `locationName:"lifeCycle" type:"structure"`
5471
5472	// Source server properties.
5473	SourceProperties *SourceProperties `locationName:"sourceProperties" type:"structure"`
5474
5475	// Source server ID.
5476	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
5477
5478	// Source server Tags.
5479	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
5480}
5481
5482// String returns the string representation
5483func (s MarkAsArchivedOutput) String() string {
5484	return awsutil.Prettify(s)
5485}
5486
5487// GoString returns the string representation
5488func (s MarkAsArchivedOutput) GoString() string {
5489	return s.String()
5490}
5491
5492// SetArn sets the Arn field's value.
5493func (s *MarkAsArchivedOutput) SetArn(v string) *MarkAsArchivedOutput {
5494	s.Arn = &v
5495	return s
5496}
5497
5498// SetDataReplicationInfo sets the DataReplicationInfo field's value.
5499func (s *MarkAsArchivedOutput) SetDataReplicationInfo(v *DataReplicationInfo) *MarkAsArchivedOutput {
5500	s.DataReplicationInfo = v
5501	return s
5502}
5503
5504// SetIsArchived sets the IsArchived field's value.
5505func (s *MarkAsArchivedOutput) SetIsArchived(v bool) *MarkAsArchivedOutput {
5506	s.IsArchived = &v
5507	return s
5508}
5509
5510// SetLaunchedInstance sets the LaunchedInstance field's value.
5511func (s *MarkAsArchivedOutput) SetLaunchedInstance(v *LaunchedInstance) *MarkAsArchivedOutput {
5512	s.LaunchedInstance = v
5513	return s
5514}
5515
5516// SetLifeCycle sets the LifeCycle field's value.
5517func (s *MarkAsArchivedOutput) SetLifeCycle(v *LifeCycle) *MarkAsArchivedOutput {
5518	s.LifeCycle = v
5519	return s
5520}
5521
5522// SetSourceProperties sets the SourceProperties field's value.
5523func (s *MarkAsArchivedOutput) SetSourceProperties(v *SourceProperties) *MarkAsArchivedOutput {
5524	s.SourceProperties = v
5525	return s
5526}
5527
5528// SetSourceServerID sets the SourceServerID field's value.
5529func (s *MarkAsArchivedOutput) SetSourceServerID(v string) *MarkAsArchivedOutput {
5530	s.SourceServerID = &v
5531	return s
5532}
5533
5534// SetTags sets the Tags field's value.
5535func (s *MarkAsArchivedOutput) SetTags(v map[string]*string) *MarkAsArchivedOutput {
5536	s.Tags = v
5537	return s
5538}
5539
5540// Network interface.
5541type NetworkInterface struct {
5542	_ struct{} `type:"structure"`
5543
5544	// Network interface IPs.
5545	Ips []*string `locationName:"ips" type:"list"`
5546
5547	// Network interface primary IP.
5548	IsPrimary *bool `locationName:"isPrimary" type:"boolean"`
5549
5550	// Network interface Mac address.
5551	MacAddress *string `locationName:"macAddress" type:"string"`
5552}
5553
5554// String returns the string representation
5555func (s NetworkInterface) String() string {
5556	return awsutil.Prettify(s)
5557}
5558
5559// GoString returns the string representation
5560func (s NetworkInterface) GoString() string {
5561	return s.String()
5562}
5563
5564// SetIps sets the Ips field's value.
5565func (s *NetworkInterface) SetIps(v []*string) *NetworkInterface {
5566	s.Ips = v
5567	return s
5568}
5569
5570// SetIsPrimary sets the IsPrimary field's value.
5571func (s *NetworkInterface) SetIsPrimary(v bool) *NetworkInterface {
5572	s.IsPrimary = &v
5573	return s
5574}
5575
5576// SetMacAddress sets the MacAddress field's value.
5577func (s *NetworkInterface) SetMacAddress(v string) *NetworkInterface {
5578	s.MacAddress = &v
5579	return s
5580}
5581
5582// Operating System.
5583type OS struct {
5584	_ struct{} `type:"structure"`
5585
5586	// OS full string.
5587	FullString *string `locationName:"fullString" type:"string"`
5588}
5589
5590// String returns the string representation
5591func (s OS) String() string {
5592	return awsutil.Prettify(s)
5593}
5594
5595// GoString returns the string representation
5596func (s OS) GoString() string {
5597	return s.String()
5598}
5599
5600// SetFullString sets the FullString field's value.
5601func (s *OS) SetFullString(v string) *OS {
5602	s.FullString = &v
5603	return s
5604}
5605
5606// Server participating in Job.
5607type ParticipatingServer struct {
5608	_ struct{} `type:"structure"`
5609
5610	// Participating server launch status.
5611	LaunchStatus *string `locationName:"launchStatus" type:"string" enum:"LaunchStatus"`
5612
5613	// Participating server Source Server ID.
5614	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
5615}
5616
5617// String returns the string representation
5618func (s ParticipatingServer) String() string {
5619	return awsutil.Prettify(s)
5620}
5621
5622// GoString returns the string representation
5623func (s ParticipatingServer) GoString() string {
5624	return s.String()
5625}
5626
5627// SetLaunchStatus sets the LaunchStatus field's value.
5628func (s *ParticipatingServer) SetLaunchStatus(v string) *ParticipatingServer {
5629	s.LaunchStatus = &v
5630	return s
5631}
5632
5633// SetSourceServerID sets the SourceServerID field's value.
5634func (s *ParticipatingServer) SetSourceServerID(v string) *ParticipatingServer {
5635	s.SourceServerID = &v
5636	return s
5637}
5638
5639// Replication Configuration replicated disk.
5640type ReplicationConfigurationReplicatedDisk struct {
5641	_ struct{} `type:"structure"`
5642
5643	// Replication Configuration replicated disk device name.
5644	DeviceName *string `locationName:"deviceName" type:"string"`
5645
5646	// Replication Configuration replicated disk IOPs.
5647	Iops *int64 `locationName:"iops" type:"long"`
5648
5649	// Replication Configuration replicated disk boot disk.
5650	IsBootDisk *bool `locationName:"isBootDisk" type:"boolean"`
5651
5652	// Replication Configuration replicated disk staging disk type.
5653	StagingDiskType *string `locationName:"stagingDiskType" type:"string" enum:"ReplicationConfigurationReplicatedDiskStagingDiskType"`
5654}
5655
5656// String returns the string representation
5657func (s ReplicationConfigurationReplicatedDisk) String() string {
5658	return awsutil.Prettify(s)
5659}
5660
5661// GoString returns the string representation
5662func (s ReplicationConfigurationReplicatedDisk) GoString() string {
5663	return s.String()
5664}
5665
5666// SetDeviceName sets the DeviceName field's value.
5667func (s *ReplicationConfigurationReplicatedDisk) SetDeviceName(v string) *ReplicationConfigurationReplicatedDisk {
5668	s.DeviceName = &v
5669	return s
5670}
5671
5672// SetIops sets the Iops field's value.
5673func (s *ReplicationConfigurationReplicatedDisk) SetIops(v int64) *ReplicationConfigurationReplicatedDisk {
5674	s.Iops = &v
5675	return s
5676}
5677
5678// SetIsBootDisk sets the IsBootDisk field's value.
5679func (s *ReplicationConfigurationReplicatedDisk) SetIsBootDisk(v bool) *ReplicationConfigurationReplicatedDisk {
5680	s.IsBootDisk = &v
5681	return s
5682}
5683
5684// SetStagingDiskType sets the StagingDiskType field's value.
5685func (s *ReplicationConfigurationReplicatedDisk) SetStagingDiskType(v string) *ReplicationConfigurationReplicatedDisk {
5686	s.StagingDiskType = &v
5687	return s
5688}
5689
5690type ReplicationConfigurationTemplate struct {
5691	_ struct{} `type:"structure"`
5692
5693	// Replication Configuration template ARN.
5694	Arn *string `locationName:"arn" min:"20" type:"string"`
5695
5696	// Replication Configuration template associate default Application Migration
5697	// Service Security group.
5698	AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean"`
5699
5700	// Replication Configuration template bandwidth throtting.
5701	BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"`
5702
5703	// Replication Configuration template create Public IP.
5704	CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean"`
5705
5706	// Replication Configuration template data plane routing.
5707	DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" enum:"ReplicationConfigurationDataPlaneRouting"`
5708
5709	// Replication Configuration template use dedault large Staging Disk type.
5710	DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"`
5711
5712	// Replication Configuration template EBS encryption.
5713	EbsEncryption *string `locationName:"ebsEncryption" type:"string" enum:"ReplicationConfigurationEbsEncryption"`
5714
5715	// Replication Configuration template EBS encryption key ARN.
5716	EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"`
5717
5718	// Replication Configuration template template ID.
5719	//
5720	// ReplicationConfigurationTemplateID is a required field
5721	ReplicationConfigurationTemplateID *string `locationName:"replicationConfigurationTemplateID" min:"21" type:"string" required:"true"`
5722
5723	// Replication Configuration template server instance type.
5724	ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string"`
5725
5726	// Replication Configuration template server Security Groups IDs.
5727	ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list"`
5728
5729	// Replication Configuration template Staging Area subnet ID.
5730	StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string"`
5731
5732	// Replication Configuration template Staging Area Tags.
5733	StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" sensitive:"true"`
5734
5735	// Replication Configuration template Tags.
5736	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
5737
5738	// Replication Configuration template use Dedicated Replication Server.
5739	UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean"`
5740}
5741
5742// String returns the string representation
5743func (s ReplicationConfigurationTemplate) String() string {
5744	return awsutil.Prettify(s)
5745}
5746
5747// GoString returns the string representation
5748func (s ReplicationConfigurationTemplate) GoString() string {
5749	return s.String()
5750}
5751
5752// SetArn sets the Arn field's value.
5753func (s *ReplicationConfigurationTemplate) SetArn(v string) *ReplicationConfigurationTemplate {
5754	s.Arn = &v
5755	return s
5756}
5757
5758// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value.
5759func (s *ReplicationConfigurationTemplate) SetAssociateDefaultSecurityGroup(v bool) *ReplicationConfigurationTemplate {
5760	s.AssociateDefaultSecurityGroup = &v
5761	return s
5762}
5763
5764// SetBandwidthThrottling sets the BandwidthThrottling field's value.
5765func (s *ReplicationConfigurationTemplate) SetBandwidthThrottling(v int64) *ReplicationConfigurationTemplate {
5766	s.BandwidthThrottling = &v
5767	return s
5768}
5769
5770// SetCreatePublicIP sets the CreatePublicIP field's value.
5771func (s *ReplicationConfigurationTemplate) SetCreatePublicIP(v bool) *ReplicationConfigurationTemplate {
5772	s.CreatePublicIP = &v
5773	return s
5774}
5775
5776// SetDataPlaneRouting sets the DataPlaneRouting field's value.
5777func (s *ReplicationConfigurationTemplate) SetDataPlaneRouting(v string) *ReplicationConfigurationTemplate {
5778	s.DataPlaneRouting = &v
5779	return s
5780}
5781
5782// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value.
5783func (s *ReplicationConfigurationTemplate) SetDefaultLargeStagingDiskType(v string) *ReplicationConfigurationTemplate {
5784	s.DefaultLargeStagingDiskType = &v
5785	return s
5786}
5787
5788// SetEbsEncryption sets the EbsEncryption field's value.
5789func (s *ReplicationConfigurationTemplate) SetEbsEncryption(v string) *ReplicationConfigurationTemplate {
5790	s.EbsEncryption = &v
5791	return s
5792}
5793
5794// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value.
5795func (s *ReplicationConfigurationTemplate) SetEbsEncryptionKeyArn(v string) *ReplicationConfigurationTemplate {
5796	s.EbsEncryptionKeyArn = &v
5797	return s
5798}
5799
5800// SetReplicationConfigurationTemplateID sets the ReplicationConfigurationTemplateID field's value.
5801func (s *ReplicationConfigurationTemplate) SetReplicationConfigurationTemplateID(v string) *ReplicationConfigurationTemplate {
5802	s.ReplicationConfigurationTemplateID = &v
5803	return s
5804}
5805
5806// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value.
5807func (s *ReplicationConfigurationTemplate) SetReplicationServerInstanceType(v string) *ReplicationConfigurationTemplate {
5808	s.ReplicationServerInstanceType = &v
5809	return s
5810}
5811
5812// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value.
5813func (s *ReplicationConfigurationTemplate) SetReplicationServersSecurityGroupsIDs(v []*string) *ReplicationConfigurationTemplate {
5814	s.ReplicationServersSecurityGroupsIDs = v
5815	return s
5816}
5817
5818// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value.
5819func (s *ReplicationConfigurationTemplate) SetStagingAreaSubnetId(v string) *ReplicationConfigurationTemplate {
5820	s.StagingAreaSubnetId = &v
5821	return s
5822}
5823
5824// SetStagingAreaTags sets the StagingAreaTags field's value.
5825func (s *ReplicationConfigurationTemplate) SetStagingAreaTags(v map[string]*string) *ReplicationConfigurationTemplate {
5826	s.StagingAreaTags = v
5827	return s
5828}
5829
5830// SetTags sets the Tags field's value.
5831func (s *ReplicationConfigurationTemplate) SetTags(v map[string]*string) *ReplicationConfigurationTemplate {
5832	s.Tags = v
5833	return s
5834}
5835
5836// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value.
5837func (s *ReplicationConfigurationTemplate) SetUseDedicatedReplicationServer(v bool) *ReplicationConfigurationTemplate {
5838	s.UseDedicatedReplicationServer = &v
5839	return s
5840}
5841
5842// Resource not found exception.
5843type ResourceNotFoundException struct {
5844	_            struct{}                  `type:"structure"`
5845	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5846
5847	Code_ *string `locationName:"code" type:"string"`
5848
5849	Message_ *string `locationName:"message" type:"string"`
5850
5851	// Resource ID not found error.
5852	ResourceId *string `locationName:"resourceId" type:"string"`
5853
5854	// Resource type not found error.
5855	ResourceType *string `locationName:"resourceType" type:"string"`
5856}
5857
5858// String returns the string representation
5859func (s ResourceNotFoundException) String() string {
5860	return awsutil.Prettify(s)
5861}
5862
5863// GoString returns the string representation
5864func (s ResourceNotFoundException) GoString() string {
5865	return s.String()
5866}
5867
5868func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
5869	return &ResourceNotFoundException{
5870		RespMetadata: v,
5871	}
5872}
5873
5874// Code returns the exception type name.
5875func (s *ResourceNotFoundException) Code() string {
5876	return "ResourceNotFoundException"
5877}
5878
5879// Message returns the exception's message.
5880func (s *ResourceNotFoundException) Message() string {
5881	if s.Message_ != nil {
5882		return *s.Message_
5883	}
5884	return ""
5885}
5886
5887// OrigErr always returns nil, satisfies awserr.Error interface.
5888func (s *ResourceNotFoundException) OrigErr() error {
5889	return nil
5890}
5891
5892func (s *ResourceNotFoundException) Error() string {
5893	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
5894}
5895
5896// Status code returns the HTTP status code for the request's response error.
5897func (s *ResourceNotFoundException) StatusCode() int {
5898	return s.RespMetadata.StatusCode
5899}
5900
5901// RequestID returns the service's response RequestID for request.
5902func (s *ResourceNotFoundException) RequestID() string {
5903	return s.RespMetadata.RequestID
5904}
5905
5906type RetryDataReplicationInput struct {
5907	_ struct{} `type:"structure"`
5908
5909	// Retry data replication for Source Server ID.
5910	//
5911	// SourceServerID is a required field
5912	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"`
5913}
5914
5915// String returns the string representation
5916func (s RetryDataReplicationInput) String() string {
5917	return awsutil.Prettify(s)
5918}
5919
5920// GoString returns the string representation
5921func (s RetryDataReplicationInput) GoString() string {
5922	return s.String()
5923}
5924
5925// Validate inspects the fields of the type to determine if they are valid.
5926func (s *RetryDataReplicationInput) Validate() error {
5927	invalidParams := request.ErrInvalidParams{Context: "RetryDataReplicationInput"}
5928	if s.SourceServerID == nil {
5929		invalidParams.Add(request.NewErrParamRequired("SourceServerID"))
5930	}
5931	if s.SourceServerID != nil && len(*s.SourceServerID) < 19 {
5932		invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19))
5933	}
5934
5935	if invalidParams.Len() > 0 {
5936		return invalidParams
5937	}
5938	return nil
5939}
5940
5941// SetSourceServerID sets the SourceServerID field's value.
5942func (s *RetryDataReplicationInput) SetSourceServerID(v string) *RetryDataReplicationInput {
5943	s.SourceServerID = &v
5944	return s
5945}
5946
5947type RetryDataReplicationOutput struct {
5948	_ struct{} `type:"structure"`
5949
5950	// Source server ARN.
5951	Arn *string `locationName:"arn" min:"20" type:"string"`
5952
5953	// Source server data replication info.
5954	DataReplicationInfo *DataReplicationInfo `locationName:"dataReplicationInfo" type:"structure"`
5955
5956	// Source server archived status.
5957	IsArchived *bool `locationName:"isArchived" type:"boolean"`
5958
5959	// Source server launched instance.
5960	LaunchedInstance *LaunchedInstance `locationName:"launchedInstance" type:"structure"`
5961
5962	// Source server lifecycle state.
5963	LifeCycle *LifeCycle `locationName:"lifeCycle" type:"structure"`
5964
5965	// Source server properties.
5966	SourceProperties *SourceProperties `locationName:"sourceProperties" type:"structure"`
5967
5968	// Source server ID.
5969	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
5970
5971	// Source server Tags.
5972	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
5973}
5974
5975// String returns the string representation
5976func (s RetryDataReplicationOutput) String() string {
5977	return awsutil.Prettify(s)
5978}
5979
5980// GoString returns the string representation
5981func (s RetryDataReplicationOutput) GoString() string {
5982	return s.String()
5983}
5984
5985// SetArn sets the Arn field's value.
5986func (s *RetryDataReplicationOutput) SetArn(v string) *RetryDataReplicationOutput {
5987	s.Arn = &v
5988	return s
5989}
5990
5991// SetDataReplicationInfo sets the DataReplicationInfo field's value.
5992func (s *RetryDataReplicationOutput) SetDataReplicationInfo(v *DataReplicationInfo) *RetryDataReplicationOutput {
5993	s.DataReplicationInfo = v
5994	return s
5995}
5996
5997// SetIsArchived sets the IsArchived field's value.
5998func (s *RetryDataReplicationOutput) SetIsArchived(v bool) *RetryDataReplicationOutput {
5999	s.IsArchived = &v
6000	return s
6001}
6002
6003// SetLaunchedInstance sets the LaunchedInstance field's value.
6004func (s *RetryDataReplicationOutput) SetLaunchedInstance(v *LaunchedInstance) *RetryDataReplicationOutput {
6005	s.LaunchedInstance = v
6006	return s
6007}
6008
6009// SetLifeCycle sets the LifeCycle field's value.
6010func (s *RetryDataReplicationOutput) SetLifeCycle(v *LifeCycle) *RetryDataReplicationOutput {
6011	s.LifeCycle = v
6012	return s
6013}
6014
6015// SetSourceProperties sets the SourceProperties field's value.
6016func (s *RetryDataReplicationOutput) SetSourceProperties(v *SourceProperties) *RetryDataReplicationOutput {
6017	s.SourceProperties = v
6018	return s
6019}
6020
6021// SetSourceServerID sets the SourceServerID field's value.
6022func (s *RetryDataReplicationOutput) SetSourceServerID(v string) *RetryDataReplicationOutput {
6023	s.SourceServerID = &v
6024	return s
6025}
6026
6027// SetTags sets the Tags field's value.
6028func (s *RetryDataReplicationOutput) SetTags(v map[string]*string) *RetryDataReplicationOutput {
6029	s.Tags = v
6030	return s
6031}
6032
6033// Source server properties.
6034type SourceProperties struct {
6035	_ struct{} `type:"structure"`
6036
6037	// Source Server CPUs.
6038	Cpus []*CPU `locationName:"cpus" type:"list"`
6039
6040	// Source Server disks.
6041	Disks []*Disk `locationName:"disks" type:"list"`
6042
6043	// Source server identification hints.
6044	IdentificationHints *IdentificationHints `locationName:"identificationHints" type:"structure"`
6045
6046	// Source server last update date and time.
6047	LastUpdatedDateTime *string `locationName:"lastUpdatedDateTime" min:"19" type:"string"`
6048
6049	// Source server network interfaces.
6050	NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"`
6051
6052	// Source server OS.
6053	Os *OS `locationName:"os" type:"structure"`
6054
6055	// Source server RAM in bytes.
6056	RamBytes *int64 `locationName:"ramBytes" type:"long"`
6057
6058	// Source server recommended instance type.
6059	RecommendedInstanceType *string `locationName:"recommendedInstanceType" type:"string"`
6060}
6061
6062// String returns the string representation
6063func (s SourceProperties) String() string {
6064	return awsutil.Prettify(s)
6065}
6066
6067// GoString returns the string representation
6068func (s SourceProperties) GoString() string {
6069	return s.String()
6070}
6071
6072// SetCpus sets the Cpus field's value.
6073func (s *SourceProperties) SetCpus(v []*CPU) *SourceProperties {
6074	s.Cpus = v
6075	return s
6076}
6077
6078// SetDisks sets the Disks field's value.
6079func (s *SourceProperties) SetDisks(v []*Disk) *SourceProperties {
6080	s.Disks = v
6081	return s
6082}
6083
6084// SetIdentificationHints sets the IdentificationHints field's value.
6085func (s *SourceProperties) SetIdentificationHints(v *IdentificationHints) *SourceProperties {
6086	s.IdentificationHints = v
6087	return s
6088}
6089
6090// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
6091func (s *SourceProperties) SetLastUpdatedDateTime(v string) *SourceProperties {
6092	s.LastUpdatedDateTime = &v
6093	return s
6094}
6095
6096// SetNetworkInterfaces sets the NetworkInterfaces field's value.
6097func (s *SourceProperties) SetNetworkInterfaces(v []*NetworkInterface) *SourceProperties {
6098	s.NetworkInterfaces = v
6099	return s
6100}
6101
6102// SetOs sets the Os field's value.
6103func (s *SourceProperties) SetOs(v *OS) *SourceProperties {
6104	s.Os = v
6105	return s
6106}
6107
6108// SetRamBytes sets the RamBytes field's value.
6109func (s *SourceProperties) SetRamBytes(v int64) *SourceProperties {
6110	s.RamBytes = &v
6111	return s
6112}
6113
6114// SetRecommendedInstanceType sets the RecommendedInstanceType field's value.
6115func (s *SourceProperties) SetRecommendedInstanceType(v string) *SourceProperties {
6116	s.RecommendedInstanceType = &v
6117	return s
6118}
6119
6120type SourceServer struct {
6121	_ struct{} `type:"structure"`
6122
6123	// Source server ARN.
6124	Arn *string `locationName:"arn" min:"20" type:"string"`
6125
6126	// Source server data replication info.
6127	DataReplicationInfo *DataReplicationInfo `locationName:"dataReplicationInfo" type:"structure"`
6128
6129	// Source server archived status.
6130	IsArchived *bool `locationName:"isArchived" type:"boolean"`
6131
6132	// Source server launched instance.
6133	LaunchedInstance *LaunchedInstance `locationName:"launchedInstance" type:"structure"`
6134
6135	// Source server lifecycle state.
6136	LifeCycle *LifeCycle `locationName:"lifeCycle" type:"structure"`
6137
6138	// Source server properties.
6139	SourceProperties *SourceProperties `locationName:"sourceProperties" type:"structure"`
6140
6141	// Source server ID.
6142	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
6143
6144	// Source server Tags.
6145	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
6146}
6147
6148// String returns the string representation
6149func (s SourceServer) String() string {
6150	return awsutil.Prettify(s)
6151}
6152
6153// GoString returns the string representation
6154func (s SourceServer) GoString() string {
6155	return s.String()
6156}
6157
6158// SetArn sets the Arn field's value.
6159func (s *SourceServer) SetArn(v string) *SourceServer {
6160	s.Arn = &v
6161	return s
6162}
6163
6164// SetDataReplicationInfo sets the DataReplicationInfo field's value.
6165func (s *SourceServer) SetDataReplicationInfo(v *DataReplicationInfo) *SourceServer {
6166	s.DataReplicationInfo = v
6167	return s
6168}
6169
6170// SetIsArchived sets the IsArchived field's value.
6171func (s *SourceServer) SetIsArchived(v bool) *SourceServer {
6172	s.IsArchived = &v
6173	return s
6174}
6175
6176// SetLaunchedInstance sets the LaunchedInstance field's value.
6177func (s *SourceServer) SetLaunchedInstance(v *LaunchedInstance) *SourceServer {
6178	s.LaunchedInstance = v
6179	return s
6180}
6181
6182// SetLifeCycle sets the LifeCycle field's value.
6183func (s *SourceServer) SetLifeCycle(v *LifeCycle) *SourceServer {
6184	s.LifeCycle = v
6185	return s
6186}
6187
6188// SetSourceProperties sets the SourceProperties field's value.
6189func (s *SourceServer) SetSourceProperties(v *SourceProperties) *SourceServer {
6190	s.SourceProperties = v
6191	return s
6192}
6193
6194// SetSourceServerID sets the SourceServerID field's value.
6195func (s *SourceServer) SetSourceServerID(v string) *SourceServer {
6196	s.SourceServerID = &v
6197	return s
6198}
6199
6200// SetTags sets the Tags field's value.
6201func (s *SourceServer) SetTags(v map[string]*string) *SourceServer {
6202	s.Tags = v
6203	return s
6204}
6205
6206type StartCutoverInput struct {
6207	_ struct{} `type:"structure"`
6208
6209	// Start Cutover by Source Server IDs.
6210	//
6211	// SourceServerIDs is a required field
6212	SourceServerIDs []*string `locationName:"sourceServerIDs" min:"1" type:"list" required:"true"`
6213
6214	// Start Cutover by Tags.
6215	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
6216}
6217
6218// String returns the string representation
6219func (s StartCutoverInput) String() string {
6220	return awsutil.Prettify(s)
6221}
6222
6223// GoString returns the string representation
6224func (s StartCutoverInput) GoString() string {
6225	return s.String()
6226}
6227
6228// Validate inspects the fields of the type to determine if they are valid.
6229func (s *StartCutoverInput) Validate() error {
6230	invalidParams := request.ErrInvalidParams{Context: "StartCutoverInput"}
6231	if s.SourceServerIDs == nil {
6232		invalidParams.Add(request.NewErrParamRequired("SourceServerIDs"))
6233	}
6234	if s.SourceServerIDs != nil && len(s.SourceServerIDs) < 1 {
6235		invalidParams.Add(request.NewErrParamMinLen("SourceServerIDs", 1))
6236	}
6237
6238	if invalidParams.Len() > 0 {
6239		return invalidParams
6240	}
6241	return nil
6242}
6243
6244// SetSourceServerIDs sets the SourceServerIDs field's value.
6245func (s *StartCutoverInput) SetSourceServerIDs(v []*string) *StartCutoverInput {
6246	s.SourceServerIDs = v
6247	return s
6248}
6249
6250// SetTags sets the Tags field's value.
6251func (s *StartCutoverInput) SetTags(v map[string]*string) *StartCutoverInput {
6252	s.Tags = v
6253	return s
6254}
6255
6256type StartCutoverOutput struct {
6257	_ struct{} `type:"structure"`
6258
6259	// Start Cutover Job response.
6260	Job *Job `locationName:"job" type:"structure"`
6261}
6262
6263// String returns the string representation
6264func (s StartCutoverOutput) String() string {
6265	return awsutil.Prettify(s)
6266}
6267
6268// GoString returns the string representation
6269func (s StartCutoverOutput) GoString() string {
6270	return s.String()
6271}
6272
6273// SetJob sets the Job field's value.
6274func (s *StartCutoverOutput) SetJob(v *Job) *StartCutoverOutput {
6275	s.Job = v
6276	return s
6277}
6278
6279type StartTestInput struct {
6280	_ struct{} `type:"structure"`
6281
6282	// Start Test for Source Server IDs.
6283	//
6284	// SourceServerIDs is a required field
6285	SourceServerIDs []*string `locationName:"sourceServerIDs" min:"1" type:"list" required:"true"`
6286
6287	// Start Test by Tags.
6288	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
6289}
6290
6291// String returns the string representation
6292func (s StartTestInput) String() string {
6293	return awsutil.Prettify(s)
6294}
6295
6296// GoString returns the string representation
6297func (s StartTestInput) GoString() string {
6298	return s.String()
6299}
6300
6301// Validate inspects the fields of the type to determine if they are valid.
6302func (s *StartTestInput) Validate() error {
6303	invalidParams := request.ErrInvalidParams{Context: "StartTestInput"}
6304	if s.SourceServerIDs == nil {
6305		invalidParams.Add(request.NewErrParamRequired("SourceServerIDs"))
6306	}
6307	if s.SourceServerIDs != nil && len(s.SourceServerIDs) < 1 {
6308		invalidParams.Add(request.NewErrParamMinLen("SourceServerIDs", 1))
6309	}
6310
6311	if invalidParams.Len() > 0 {
6312		return invalidParams
6313	}
6314	return nil
6315}
6316
6317// SetSourceServerIDs sets the SourceServerIDs field's value.
6318func (s *StartTestInput) SetSourceServerIDs(v []*string) *StartTestInput {
6319	s.SourceServerIDs = v
6320	return s
6321}
6322
6323// SetTags sets the Tags field's value.
6324func (s *StartTestInput) SetTags(v map[string]*string) *StartTestInput {
6325	s.Tags = v
6326	return s
6327}
6328
6329type StartTestOutput struct {
6330	_ struct{} `type:"structure"`
6331
6332	// Start Test Job response.
6333	Job *Job `locationName:"job" type:"structure"`
6334}
6335
6336// String returns the string representation
6337func (s StartTestOutput) String() string {
6338	return awsutil.Prettify(s)
6339}
6340
6341// GoString returns the string representation
6342func (s StartTestOutput) GoString() string {
6343	return s.String()
6344}
6345
6346// SetJob sets the Job field's value.
6347func (s *StartTestOutput) SetJob(v *Job) *StartTestOutput {
6348	s.Job = v
6349	return s
6350}
6351
6352type TagResourceInput struct {
6353	_ struct{} `type:"structure"`
6354
6355	// Tag resource by ARN.
6356	//
6357	// ResourceArn is a required field
6358	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
6359
6360	// Tag resource by Tags.
6361	//
6362	// Tags is a required field
6363	Tags map[string]*string `locationName:"tags" type:"map" required:"true" sensitive:"true"`
6364}
6365
6366// String returns the string representation
6367func (s TagResourceInput) String() string {
6368	return awsutil.Prettify(s)
6369}
6370
6371// GoString returns the string representation
6372func (s TagResourceInput) GoString() string {
6373	return s.String()
6374}
6375
6376// Validate inspects the fields of the type to determine if they are valid.
6377func (s *TagResourceInput) Validate() error {
6378	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
6379	if s.ResourceArn == nil {
6380		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
6381	}
6382	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
6383		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
6384	}
6385	if s.Tags == nil {
6386		invalidParams.Add(request.NewErrParamRequired("Tags"))
6387	}
6388
6389	if invalidParams.Len() > 0 {
6390		return invalidParams
6391	}
6392	return nil
6393}
6394
6395// SetResourceArn sets the ResourceArn field's value.
6396func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
6397	s.ResourceArn = &v
6398	return s
6399}
6400
6401// SetTags sets the Tags field's value.
6402func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
6403	s.Tags = v
6404	return s
6405}
6406
6407type TagResourceOutput struct {
6408	_ struct{} `type:"structure"`
6409}
6410
6411// String returns the string representation
6412func (s TagResourceOutput) String() string {
6413	return awsutil.Prettify(s)
6414}
6415
6416// GoString returns the string representation
6417func (s TagResourceOutput) GoString() string {
6418	return s.String()
6419}
6420
6421type TerminateTargetInstancesInput struct {
6422	_ struct{} `type:"structure"`
6423
6424	// Terminate Target instance by Source Server IDs.
6425	//
6426	// SourceServerIDs is a required field
6427	SourceServerIDs []*string `locationName:"sourceServerIDs" min:"1" type:"list" required:"true"`
6428
6429	// Terminate Target instance by Tags.
6430	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
6431}
6432
6433// String returns the string representation
6434func (s TerminateTargetInstancesInput) String() string {
6435	return awsutil.Prettify(s)
6436}
6437
6438// GoString returns the string representation
6439func (s TerminateTargetInstancesInput) GoString() string {
6440	return s.String()
6441}
6442
6443// Validate inspects the fields of the type to determine if they are valid.
6444func (s *TerminateTargetInstancesInput) Validate() error {
6445	invalidParams := request.ErrInvalidParams{Context: "TerminateTargetInstancesInput"}
6446	if s.SourceServerIDs == nil {
6447		invalidParams.Add(request.NewErrParamRequired("SourceServerIDs"))
6448	}
6449	if s.SourceServerIDs != nil && len(s.SourceServerIDs) < 1 {
6450		invalidParams.Add(request.NewErrParamMinLen("SourceServerIDs", 1))
6451	}
6452
6453	if invalidParams.Len() > 0 {
6454		return invalidParams
6455	}
6456	return nil
6457}
6458
6459// SetSourceServerIDs sets the SourceServerIDs field's value.
6460func (s *TerminateTargetInstancesInput) SetSourceServerIDs(v []*string) *TerminateTargetInstancesInput {
6461	s.SourceServerIDs = v
6462	return s
6463}
6464
6465// SetTags sets the Tags field's value.
6466func (s *TerminateTargetInstancesInput) SetTags(v map[string]*string) *TerminateTargetInstancesInput {
6467	s.Tags = v
6468	return s
6469}
6470
6471type TerminateTargetInstancesOutput struct {
6472	_ struct{} `type:"structure"`
6473
6474	// Terminate Target instance Job response.
6475	Job *Job `locationName:"job" type:"structure"`
6476}
6477
6478// String returns the string representation
6479func (s TerminateTargetInstancesOutput) String() string {
6480	return awsutil.Prettify(s)
6481}
6482
6483// GoString returns the string representation
6484func (s TerminateTargetInstancesOutput) GoString() string {
6485	return s.String()
6486}
6487
6488// SetJob sets the Job field's value.
6489func (s *TerminateTargetInstancesOutput) SetJob(v *Job) *TerminateTargetInstancesOutput {
6490	s.Job = v
6491	return s
6492}
6493
6494// Reached throttling quota exception.
6495type ThrottlingException struct {
6496	_            struct{}                  `type:"structure"`
6497	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6498
6499	Message_ *string `locationName:"message" type:"string"`
6500
6501	// Reached throttling quota exception.
6502	QuotaCode *string `locationName:"quotaCode" type:"string"`
6503
6504	// Reached throttling quota exception will retry after x seconds.
6505	RetryAfterSeconds *string `location:"header" locationName:"Retry-After" type:"string"`
6506
6507	// Reached throttling quota exception service code.
6508	ServiceCode *string `locationName:"serviceCode" type:"string"`
6509}
6510
6511// String returns the string representation
6512func (s ThrottlingException) String() string {
6513	return awsutil.Prettify(s)
6514}
6515
6516// GoString returns the string representation
6517func (s ThrottlingException) GoString() string {
6518	return s.String()
6519}
6520
6521func newErrorThrottlingException(v protocol.ResponseMetadata) error {
6522	return &ThrottlingException{
6523		RespMetadata: v,
6524	}
6525}
6526
6527// Code returns the exception type name.
6528func (s *ThrottlingException) Code() string {
6529	return "ThrottlingException"
6530}
6531
6532// Message returns the exception's message.
6533func (s *ThrottlingException) Message() string {
6534	if s.Message_ != nil {
6535		return *s.Message_
6536	}
6537	return ""
6538}
6539
6540// OrigErr always returns nil, satisfies awserr.Error interface.
6541func (s *ThrottlingException) OrigErr() error {
6542	return nil
6543}
6544
6545func (s *ThrottlingException) Error() string {
6546	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6547}
6548
6549// Status code returns the HTTP status code for the request's response error.
6550func (s *ThrottlingException) StatusCode() int {
6551	return s.RespMetadata.StatusCode
6552}
6553
6554// RequestID returns the service's response RequestID for request.
6555func (s *ThrottlingException) RequestID() string {
6556	return s.RespMetadata.RequestID
6557}
6558
6559// Unitialized account exception.
6560type UninitializedAccountException struct {
6561	_            struct{}                  `type:"structure"`
6562	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6563
6564	Code_ *string `locationName:"code" type:"string"`
6565
6566	Message_ *string `locationName:"message" type:"string"`
6567}
6568
6569// String returns the string representation
6570func (s UninitializedAccountException) String() string {
6571	return awsutil.Prettify(s)
6572}
6573
6574// GoString returns the string representation
6575func (s UninitializedAccountException) GoString() string {
6576	return s.String()
6577}
6578
6579func newErrorUninitializedAccountException(v protocol.ResponseMetadata) error {
6580	return &UninitializedAccountException{
6581		RespMetadata: v,
6582	}
6583}
6584
6585// Code returns the exception type name.
6586func (s *UninitializedAccountException) Code() string {
6587	return "UninitializedAccountException"
6588}
6589
6590// Message returns the exception's message.
6591func (s *UninitializedAccountException) Message() string {
6592	if s.Message_ != nil {
6593		return *s.Message_
6594	}
6595	return ""
6596}
6597
6598// OrigErr always returns nil, satisfies awserr.Error interface.
6599func (s *UninitializedAccountException) OrigErr() error {
6600	return nil
6601}
6602
6603func (s *UninitializedAccountException) Error() string {
6604	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6605}
6606
6607// Status code returns the HTTP status code for the request's response error.
6608func (s *UninitializedAccountException) StatusCode() int {
6609	return s.RespMetadata.StatusCode
6610}
6611
6612// RequestID returns the service's response RequestID for request.
6613func (s *UninitializedAccountException) RequestID() string {
6614	return s.RespMetadata.RequestID
6615}
6616
6617type UntagResourceInput struct {
6618	_ struct{} `type:"structure"`
6619
6620	// Untag resource by ARN.
6621	//
6622	// ResourceArn is a required field
6623	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
6624
6625	// Untag resource by Keys.
6626	//
6627	// TagKeys is a required field
6628	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true" sensitive:"true"`
6629}
6630
6631// String returns the string representation
6632func (s UntagResourceInput) String() string {
6633	return awsutil.Prettify(s)
6634}
6635
6636// GoString returns the string representation
6637func (s UntagResourceInput) GoString() string {
6638	return s.String()
6639}
6640
6641// Validate inspects the fields of the type to determine if they are valid.
6642func (s *UntagResourceInput) Validate() error {
6643	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
6644	if s.ResourceArn == nil {
6645		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
6646	}
6647	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
6648		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
6649	}
6650	if s.TagKeys == nil {
6651		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
6652	}
6653
6654	if invalidParams.Len() > 0 {
6655		return invalidParams
6656	}
6657	return nil
6658}
6659
6660// SetResourceArn sets the ResourceArn field's value.
6661func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
6662	s.ResourceArn = &v
6663	return s
6664}
6665
6666// SetTagKeys sets the TagKeys field's value.
6667func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
6668	s.TagKeys = v
6669	return s
6670}
6671
6672type UntagResourceOutput struct {
6673	_ struct{} `type:"structure"`
6674}
6675
6676// String returns the string representation
6677func (s UntagResourceOutput) String() string {
6678	return awsutil.Prettify(s)
6679}
6680
6681// GoString returns the string representation
6682func (s UntagResourceOutput) GoString() string {
6683	return s.String()
6684}
6685
6686type UpdateLaunchConfigurationInput struct {
6687	_ struct{} `type:"structure"`
6688
6689	// Update Launch configuration copy Private IP request.
6690	CopyPrivateIp *bool `locationName:"copyPrivateIp" type:"boolean"`
6691
6692	// Update Launch configuration copy Tags request.
6693	CopyTags *bool `locationName:"copyTags" type:"boolean"`
6694
6695	// Update Launch configuration launch disposition request.
6696	LaunchDisposition *string `locationName:"launchDisposition" type:"string" enum:"LaunchDisposition"`
6697
6698	// Update Launch configuration licensing request.
6699	Licensing *Licensing `locationName:"licensing" type:"structure"`
6700
6701	// Update Launch configuration name request.
6702	Name *string `locationName:"name" type:"string"`
6703
6704	// Update Launch configuration by Source Server ID request.
6705	//
6706	// SourceServerID is a required field
6707	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"`
6708
6709	// Update Launch configuration Target instance right sizing request.
6710	TargetInstanceTypeRightSizingMethod *string `locationName:"targetInstanceTypeRightSizingMethod" type:"string" enum:"TargetInstanceTypeRightSizingMethod"`
6711}
6712
6713// String returns the string representation
6714func (s UpdateLaunchConfigurationInput) String() string {
6715	return awsutil.Prettify(s)
6716}
6717
6718// GoString returns the string representation
6719func (s UpdateLaunchConfigurationInput) GoString() string {
6720	return s.String()
6721}
6722
6723// Validate inspects the fields of the type to determine if they are valid.
6724func (s *UpdateLaunchConfigurationInput) Validate() error {
6725	invalidParams := request.ErrInvalidParams{Context: "UpdateLaunchConfigurationInput"}
6726	if s.SourceServerID == nil {
6727		invalidParams.Add(request.NewErrParamRequired("SourceServerID"))
6728	}
6729	if s.SourceServerID != nil && len(*s.SourceServerID) < 19 {
6730		invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19))
6731	}
6732
6733	if invalidParams.Len() > 0 {
6734		return invalidParams
6735	}
6736	return nil
6737}
6738
6739// SetCopyPrivateIp sets the CopyPrivateIp field's value.
6740func (s *UpdateLaunchConfigurationInput) SetCopyPrivateIp(v bool) *UpdateLaunchConfigurationInput {
6741	s.CopyPrivateIp = &v
6742	return s
6743}
6744
6745// SetCopyTags sets the CopyTags field's value.
6746func (s *UpdateLaunchConfigurationInput) SetCopyTags(v bool) *UpdateLaunchConfigurationInput {
6747	s.CopyTags = &v
6748	return s
6749}
6750
6751// SetLaunchDisposition sets the LaunchDisposition field's value.
6752func (s *UpdateLaunchConfigurationInput) SetLaunchDisposition(v string) *UpdateLaunchConfigurationInput {
6753	s.LaunchDisposition = &v
6754	return s
6755}
6756
6757// SetLicensing sets the Licensing field's value.
6758func (s *UpdateLaunchConfigurationInput) SetLicensing(v *Licensing) *UpdateLaunchConfigurationInput {
6759	s.Licensing = v
6760	return s
6761}
6762
6763// SetName sets the Name field's value.
6764func (s *UpdateLaunchConfigurationInput) SetName(v string) *UpdateLaunchConfigurationInput {
6765	s.Name = &v
6766	return s
6767}
6768
6769// SetSourceServerID sets the SourceServerID field's value.
6770func (s *UpdateLaunchConfigurationInput) SetSourceServerID(v string) *UpdateLaunchConfigurationInput {
6771	s.SourceServerID = &v
6772	return s
6773}
6774
6775// SetTargetInstanceTypeRightSizingMethod sets the TargetInstanceTypeRightSizingMethod field's value.
6776func (s *UpdateLaunchConfigurationInput) SetTargetInstanceTypeRightSizingMethod(v string) *UpdateLaunchConfigurationInput {
6777	s.TargetInstanceTypeRightSizingMethod = &v
6778	return s
6779}
6780
6781type UpdateLaunchConfigurationOutput struct {
6782	_ struct{} `type:"structure"`
6783
6784	// Copy Private IP during Launch Configuration.
6785	CopyPrivateIp *bool `locationName:"copyPrivateIp" type:"boolean"`
6786
6787	// Copy Tags during Launch Configuration.
6788	CopyTags *bool `locationName:"copyTags" type:"boolean"`
6789
6790	// Configure EC2 lauch configuration template ID.
6791	Ec2LaunchTemplateID *string `locationName:"ec2LaunchTemplateID" type:"string"`
6792
6793	// Configure launch dispostion for launch configuration.
6794	LaunchDisposition *string `locationName:"launchDisposition" type:"string" enum:"LaunchDisposition"`
6795
6796	// Configure launch configuration OS licensing.
6797	Licensing *Licensing `locationName:"licensing" type:"structure"`
6798
6799	// Configure launch configuration name.
6800	Name *string `locationName:"name" type:"string"`
6801
6802	// Configure launch configuration Source Server ID.
6803	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
6804
6805	// Configure launch configuration Target instance type right sizing method.
6806	TargetInstanceTypeRightSizingMethod *string `locationName:"targetInstanceTypeRightSizingMethod" type:"string" enum:"TargetInstanceTypeRightSizingMethod"`
6807}
6808
6809// String returns the string representation
6810func (s UpdateLaunchConfigurationOutput) String() string {
6811	return awsutil.Prettify(s)
6812}
6813
6814// GoString returns the string representation
6815func (s UpdateLaunchConfigurationOutput) GoString() string {
6816	return s.String()
6817}
6818
6819// SetCopyPrivateIp sets the CopyPrivateIp field's value.
6820func (s *UpdateLaunchConfigurationOutput) SetCopyPrivateIp(v bool) *UpdateLaunchConfigurationOutput {
6821	s.CopyPrivateIp = &v
6822	return s
6823}
6824
6825// SetCopyTags sets the CopyTags field's value.
6826func (s *UpdateLaunchConfigurationOutput) SetCopyTags(v bool) *UpdateLaunchConfigurationOutput {
6827	s.CopyTags = &v
6828	return s
6829}
6830
6831// SetEc2LaunchTemplateID sets the Ec2LaunchTemplateID field's value.
6832func (s *UpdateLaunchConfigurationOutput) SetEc2LaunchTemplateID(v string) *UpdateLaunchConfigurationOutput {
6833	s.Ec2LaunchTemplateID = &v
6834	return s
6835}
6836
6837// SetLaunchDisposition sets the LaunchDisposition field's value.
6838func (s *UpdateLaunchConfigurationOutput) SetLaunchDisposition(v string) *UpdateLaunchConfigurationOutput {
6839	s.LaunchDisposition = &v
6840	return s
6841}
6842
6843// SetLicensing sets the Licensing field's value.
6844func (s *UpdateLaunchConfigurationOutput) SetLicensing(v *Licensing) *UpdateLaunchConfigurationOutput {
6845	s.Licensing = v
6846	return s
6847}
6848
6849// SetName sets the Name field's value.
6850func (s *UpdateLaunchConfigurationOutput) SetName(v string) *UpdateLaunchConfigurationOutput {
6851	s.Name = &v
6852	return s
6853}
6854
6855// SetSourceServerID sets the SourceServerID field's value.
6856func (s *UpdateLaunchConfigurationOutput) SetSourceServerID(v string) *UpdateLaunchConfigurationOutput {
6857	s.SourceServerID = &v
6858	return s
6859}
6860
6861// SetTargetInstanceTypeRightSizingMethod sets the TargetInstanceTypeRightSizingMethod field's value.
6862func (s *UpdateLaunchConfigurationOutput) SetTargetInstanceTypeRightSizingMethod(v string) *UpdateLaunchConfigurationOutput {
6863	s.TargetInstanceTypeRightSizingMethod = &v
6864	return s
6865}
6866
6867type UpdateReplicationConfigurationInput struct {
6868	_ struct{} `type:"structure"`
6869
6870	// Update replication configuration associate default Application Migration
6871	// Service Security group request.
6872	AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean"`
6873
6874	// Update replication configuration bandwidth throttling request.
6875	BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"`
6876
6877	// Update replication configuration create Public IP request.
6878	CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean"`
6879
6880	// Update replication configuration data plane routing request.
6881	DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" enum:"ReplicationConfigurationDataPlaneRouting"`
6882
6883	// Update replication configuration use default large Staging Disk type request.
6884	DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"`
6885
6886	// Update replication configuration EBS encryption request.
6887	EbsEncryption *string `locationName:"ebsEncryption" type:"string" enum:"ReplicationConfigurationEbsEncryption"`
6888
6889	// Update replication configuration EBS encryption key ARN request.
6890	EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"`
6891
6892	// Update replication configuration name request.
6893	Name *string `locationName:"name" type:"string"`
6894
6895	// Update replication configuration replicated disks request.
6896	ReplicatedDisks []*ReplicationConfigurationReplicatedDisk `locationName:"replicatedDisks" type:"list"`
6897
6898	// Update replication configuration Replication Server instance type request.
6899	ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string"`
6900
6901	// Update replication configuration Replication Server Security Groups IDs request.
6902	ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list"`
6903
6904	// Update replication configuration Source Server ID request.
6905	//
6906	// SourceServerID is a required field
6907	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"`
6908
6909	// Update replication configuration Staging Area subnet request.
6910	StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string"`
6911
6912	// Update replication configuration Staging Area Tags request.
6913	StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" sensitive:"true"`
6914
6915	// Update replication configuration use dedicated Replication Server request.
6916	UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean"`
6917}
6918
6919// String returns the string representation
6920func (s UpdateReplicationConfigurationInput) String() string {
6921	return awsutil.Prettify(s)
6922}
6923
6924// GoString returns the string representation
6925func (s UpdateReplicationConfigurationInput) GoString() string {
6926	return s.String()
6927}
6928
6929// Validate inspects the fields of the type to determine if they are valid.
6930func (s *UpdateReplicationConfigurationInput) Validate() error {
6931	invalidParams := request.ErrInvalidParams{Context: "UpdateReplicationConfigurationInput"}
6932	if s.EbsEncryptionKeyArn != nil && len(*s.EbsEncryptionKeyArn) < 20 {
6933		invalidParams.Add(request.NewErrParamMinLen("EbsEncryptionKeyArn", 20))
6934	}
6935	if s.SourceServerID == nil {
6936		invalidParams.Add(request.NewErrParamRequired("SourceServerID"))
6937	}
6938	if s.SourceServerID != nil && len(*s.SourceServerID) < 19 {
6939		invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19))
6940	}
6941
6942	if invalidParams.Len() > 0 {
6943		return invalidParams
6944	}
6945	return nil
6946}
6947
6948// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value.
6949func (s *UpdateReplicationConfigurationInput) SetAssociateDefaultSecurityGroup(v bool) *UpdateReplicationConfigurationInput {
6950	s.AssociateDefaultSecurityGroup = &v
6951	return s
6952}
6953
6954// SetBandwidthThrottling sets the BandwidthThrottling field's value.
6955func (s *UpdateReplicationConfigurationInput) SetBandwidthThrottling(v int64) *UpdateReplicationConfigurationInput {
6956	s.BandwidthThrottling = &v
6957	return s
6958}
6959
6960// SetCreatePublicIP sets the CreatePublicIP field's value.
6961func (s *UpdateReplicationConfigurationInput) SetCreatePublicIP(v bool) *UpdateReplicationConfigurationInput {
6962	s.CreatePublicIP = &v
6963	return s
6964}
6965
6966// SetDataPlaneRouting sets the DataPlaneRouting field's value.
6967func (s *UpdateReplicationConfigurationInput) SetDataPlaneRouting(v string) *UpdateReplicationConfigurationInput {
6968	s.DataPlaneRouting = &v
6969	return s
6970}
6971
6972// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value.
6973func (s *UpdateReplicationConfigurationInput) SetDefaultLargeStagingDiskType(v string) *UpdateReplicationConfigurationInput {
6974	s.DefaultLargeStagingDiskType = &v
6975	return s
6976}
6977
6978// SetEbsEncryption sets the EbsEncryption field's value.
6979func (s *UpdateReplicationConfigurationInput) SetEbsEncryption(v string) *UpdateReplicationConfigurationInput {
6980	s.EbsEncryption = &v
6981	return s
6982}
6983
6984// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value.
6985func (s *UpdateReplicationConfigurationInput) SetEbsEncryptionKeyArn(v string) *UpdateReplicationConfigurationInput {
6986	s.EbsEncryptionKeyArn = &v
6987	return s
6988}
6989
6990// SetName sets the Name field's value.
6991func (s *UpdateReplicationConfigurationInput) SetName(v string) *UpdateReplicationConfigurationInput {
6992	s.Name = &v
6993	return s
6994}
6995
6996// SetReplicatedDisks sets the ReplicatedDisks field's value.
6997func (s *UpdateReplicationConfigurationInput) SetReplicatedDisks(v []*ReplicationConfigurationReplicatedDisk) *UpdateReplicationConfigurationInput {
6998	s.ReplicatedDisks = v
6999	return s
7000}
7001
7002// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value.
7003func (s *UpdateReplicationConfigurationInput) SetReplicationServerInstanceType(v string) *UpdateReplicationConfigurationInput {
7004	s.ReplicationServerInstanceType = &v
7005	return s
7006}
7007
7008// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value.
7009func (s *UpdateReplicationConfigurationInput) SetReplicationServersSecurityGroupsIDs(v []*string) *UpdateReplicationConfigurationInput {
7010	s.ReplicationServersSecurityGroupsIDs = v
7011	return s
7012}
7013
7014// SetSourceServerID sets the SourceServerID field's value.
7015func (s *UpdateReplicationConfigurationInput) SetSourceServerID(v string) *UpdateReplicationConfigurationInput {
7016	s.SourceServerID = &v
7017	return s
7018}
7019
7020// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value.
7021func (s *UpdateReplicationConfigurationInput) SetStagingAreaSubnetId(v string) *UpdateReplicationConfigurationInput {
7022	s.StagingAreaSubnetId = &v
7023	return s
7024}
7025
7026// SetStagingAreaTags sets the StagingAreaTags field's value.
7027func (s *UpdateReplicationConfigurationInput) SetStagingAreaTags(v map[string]*string) *UpdateReplicationConfigurationInput {
7028	s.StagingAreaTags = v
7029	return s
7030}
7031
7032// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value.
7033func (s *UpdateReplicationConfigurationInput) SetUseDedicatedReplicationServer(v bool) *UpdateReplicationConfigurationInput {
7034	s.UseDedicatedReplicationServer = &v
7035	return s
7036}
7037
7038type UpdateReplicationConfigurationOutput struct {
7039	_ struct{} `type:"structure"`
7040
7041	// Replication Configuration associate default Application Migration Service
7042	// Security Group.
7043	AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean"`
7044
7045	// Replication Configuration set bandwidth throttling.
7046	BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"`
7047
7048	// Replication Configuration create Public IP.
7049	CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean"`
7050
7051	// Replication Configuration data plane routing.
7052	DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" enum:"ReplicationConfigurationDataPlaneRouting"`
7053
7054	// Replication Configuration use default large Staging Disks.
7055	DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"`
7056
7057	// Replication Configuration EBS encryption.
7058	EbsEncryption *string `locationName:"ebsEncryption" type:"string" enum:"ReplicationConfigurationEbsEncryption"`
7059
7060	// Replication Configuration EBS encryption key ARN.
7061	EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"`
7062
7063	// Replication Configuration name.
7064	Name *string `locationName:"name" type:"string"`
7065
7066	// Replication Configuration replicated disks.
7067	ReplicatedDisks []*ReplicationConfigurationReplicatedDisk `locationName:"replicatedDisks" type:"list"`
7068
7069	// Replication Configuration Replication Server instance type.
7070	ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string"`
7071
7072	// Replication Configuration Replication Server Security Group IDs.
7073	ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list"`
7074
7075	// Replication Configuration Source Server ID.
7076	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
7077
7078	// Replication Configuration Staging Area subnet ID.
7079	StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string"`
7080
7081	// Replication Configuration Staging Area tags.
7082	StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" sensitive:"true"`
7083
7084	// Replication Configuration use Dedicated Replication Server.
7085	UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean"`
7086}
7087
7088// String returns the string representation
7089func (s UpdateReplicationConfigurationOutput) String() string {
7090	return awsutil.Prettify(s)
7091}
7092
7093// GoString returns the string representation
7094func (s UpdateReplicationConfigurationOutput) GoString() string {
7095	return s.String()
7096}
7097
7098// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value.
7099func (s *UpdateReplicationConfigurationOutput) SetAssociateDefaultSecurityGroup(v bool) *UpdateReplicationConfigurationOutput {
7100	s.AssociateDefaultSecurityGroup = &v
7101	return s
7102}
7103
7104// SetBandwidthThrottling sets the BandwidthThrottling field's value.
7105func (s *UpdateReplicationConfigurationOutput) SetBandwidthThrottling(v int64) *UpdateReplicationConfigurationOutput {
7106	s.BandwidthThrottling = &v
7107	return s
7108}
7109
7110// SetCreatePublicIP sets the CreatePublicIP field's value.
7111func (s *UpdateReplicationConfigurationOutput) SetCreatePublicIP(v bool) *UpdateReplicationConfigurationOutput {
7112	s.CreatePublicIP = &v
7113	return s
7114}
7115
7116// SetDataPlaneRouting sets the DataPlaneRouting field's value.
7117func (s *UpdateReplicationConfigurationOutput) SetDataPlaneRouting(v string) *UpdateReplicationConfigurationOutput {
7118	s.DataPlaneRouting = &v
7119	return s
7120}
7121
7122// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value.
7123func (s *UpdateReplicationConfigurationOutput) SetDefaultLargeStagingDiskType(v string) *UpdateReplicationConfigurationOutput {
7124	s.DefaultLargeStagingDiskType = &v
7125	return s
7126}
7127
7128// SetEbsEncryption sets the EbsEncryption field's value.
7129func (s *UpdateReplicationConfigurationOutput) SetEbsEncryption(v string) *UpdateReplicationConfigurationOutput {
7130	s.EbsEncryption = &v
7131	return s
7132}
7133
7134// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value.
7135func (s *UpdateReplicationConfigurationOutput) SetEbsEncryptionKeyArn(v string) *UpdateReplicationConfigurationOutput {
7136	s.EbsEncryptionKeyArn = &v
7137	return s
7138}
7139
7140// SetName sets the Name field's value.
7141func (s *UpdateReplicationConfigurationOutput) SetName(v string) *UpdateReplicationConfigurationOutput {
7142	s.Name = &v
7143	return s
7144}
7145
7146// SetReplicatedDisks sets the ReplicatedDisks field's value.
7147func (s *UpdateReplicationConfigurationOutput) SetReplicatedDisks(v []*ReplicationConfigurationReplicatedDisk) *UpdateReplicationConfigurationOutput {
7148	s.ReplicatedDisks = v
7149	return s
7150}
7151
7152// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value.
7153func (s *UpdateReplicationConfigurationOutput) SetReplicationServerInstanceType(v string) *UpdateReplicationConfigurationOutput {
7154	s.ReplicationServerInstanceType = &v
7155	return s
7156}
7157
7158// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value.
7159func (s *UpdateReplicationConfigurationOutput) SetReplicationServersSecurityGroupsIDs(v []*string) *UpdateReplicationConfigurationOutput {
7160	s.ReplicationServersSecurityGroupsIDs = v
7161	return s
7162}
7163
7164// SetSourceServerID sets the SourceServerID field's value.
7165func (s *UpdateReplicationConfigurationOutput) SetSourceServerID(v string) *UpdateReplicationConfigurationOutput {
7166	s.SourceServerID = &v
7167	return s
7168}
7169
7170// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value.
7171func (s *UpdateReplicationConfigurationOutput) SetStagingAreaSubnetId(v string) *UpdateReplicationConfigurationOutput {
7172	s.StagingAreaSubnetId = &v
7173	return s
7174}
7175
7176// SetStagingAreaTags sets the StagingAreaTags field's value.
7177func (s *UpdateReplicationConfigurationOutput) SetStagingAreaTags(v map[string]*string) *UpdateReplicationConfigurationOutput {
7178	s.StagingAreaTags = v
7179	return s
7180}
7181
7182// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value.
7183func (s *UpdateReplicationConfigurationOutput) SetUseDedicatedReplicationServer(v bool) *UpdateReplicationConfigurationOutput {
7184	s.UseDedicatedReplicationServer = &v
7185	return s
7186}
7187
7188type UpdateReplicationConfigurationTemplateInput struct {
7189	_ struct{} `type:"structure"`
7190
7191	// Update replication configuration template ARN request.
7192	Arn *string `locationName:"arn" min:"20" type:"string"`
7193
7194	// Update replication configuration template associate default Application Migration
7195	// Service Security group request.
7196	AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean"`
7197
7198	// Update replication configuration template bandwidth throttling request.
7199	BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"`
7200
7201	// Update replication configuration template create Public IP request.
7202	CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean"`
7203
7204	// Update replication configuration template data plane routing request.
7205	DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" enum:"ReplicationConfigurationDataPlaneRouting"`
7206
7207	// Update replication configuration template use default large Staging Disk
7208	// type request.
7209	DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"`
7210
7211	// Update replication configuration template EBS encryption request.
7212	EbsEncryption *string `locationName:"ebsEncryption" type:"string" enum:"ReplicationConfigurationEbsEncryption"`
7213
7214	// Update replication configuration template EBS encryption key ARN request.
7215	EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"`
7216
7217	// Update replication configuration template template ID request.
7218	//
7219	// ReplicationConfigurationTemplateID is a required field
7220	ReplicationConfigurationTemplateID *string `locationName:"replicationConfigurationTemplateID" min:"21" type:"string" required:"true"`
7221
7222	// Update replication configuration template Replication Server instance type
7223	// request.
7224	ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string"`
7225
7226	// Update replication configuration template Replication Server Security groups
7227	// IDs request.
7228	ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list"`
7229
7230	// Update replication configuration template Staging Area subnet ID request.
7231	StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string"`
7232
7233	// Update replication configuration template Staging Area Tags request.
7234	StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" sensitive:"true"`
7235
7236	// Update replication configuration template use dedicated Replication Server
7237	// request.
7238	UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean"`
7239}
7240
7241// String returns the string representation
7242func (s UpdateReplicationConfigurationTemplateInput) String() string {
7243	return awsutil.Prettify(s)
7244}
7245
7246// GoString returns the string representation
7247func (s UpdateReplicationConfigurationTemplateInput) GoString() string {
7248	return s.String()
7249}
7250
7251// Validate inspects the fields of the type to determine if they are valid.
7252func (s *UpdateReplicationConfigurationTemplateInput) Validate() error {
7253	invalidParams := request.ErrInvalidParams{Context: "UpdateReplicationConfigurationTemplateInput"}
7254	if s.Arn != nil && len(*s.Arn) < 20 {
7255		invalidParams.Add(request.NewErrParamMinLen("Arn", 20))
7256	}
7257	if s.EbsEncryptionKeyArn != nil && len(*s.EbsEncryptionKeyArn) < 20 {
7258		invalidParams.Add(request.NewErrParamMinLen("EbsEncryptionKeyArn", 20))
7259	}
7260	if s.ReplicationConfigurationTemplateID == nil {
7261		invalidParams.Add(request.NewErrParamRequired("ReplicationConfigurationTemplateID"))
7262	}
7263	if s.ReplicationConfigurationTemplateID != nil && len(*s.ReplicationConfigurationTemplateID) < 21 {
7264		invalidParams.Add(request.NewErrParamMinLen("ReplicationConfigurationTemplateID", 21))
7265	}
7266
7267	if invalidParams.Len() > 0 {
7268		return invalidParams
7269	}
7270	return nil
7271}
7272
7273// SetArn sets the Arn field's value.
7274func (s *UpdateReplicationConfigurationTemplateInput) SetArn(v string) *UpdateReplicationConfigurationTemplateInput {
7275	s.Arn = &v
7276	return s
7277}
7278
7279// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value.
7280func (s *UpdateReplicationConfigurationTemplateInput) SetAssociateDefaultSecurityGroup(v bool) *UpdateReplicationConfigurationTemplateInput {
7281	s.AssociateDefaultSecurityGroup = &v
7282	return s
7283}
7284
7285// SetBandwidthThrottling sets the BandwidthThrottling field's value.
7286func (s *UpdateReplicationConfigurationTemplateInput) SetBandwidthThrottling(v int64) *UpdateReplicationConfigurationTemplateInput {
7287	s.BandwidthThrottling = &v
7288	return s
7289}
7290
7291// SetCreatePublicIP sets the CreatePublicIP field's value.
7292func (s *UpdateReplicationConfigurationTemplateInput) SetCreatePublicIP(v bool) *UpdateReplicationConfigurationTemplateInput {
7293	s.CreatePublicIP = &v
7294	return s
7295}
7296
7297// SetDataPlaneRouting sets the DataPlaneRouting field's value.
7298func (s *UpdateReplicationConfigurationTemplateInput) SetDataPlaneRouting(v string) *UpdateReplicationConfigurationTemplateInput {
7299	s.DataPlaneRouting = &v
7300	return s
7301}
7302
7303// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value.
7304func (s *UpdateReplicationConfigurationTemplateInput) SetDefaultLargeStagingDiskType(v string) *UpdateReplicationConfigurationTemplateInput {
7305	s.DefaultLargeStagingDiskType = &v
7306	return s
7307}
7308
7309// SetEbsEncryption sets the EbsEncryption field's value.
7310func (s *UpdateReplicationConfigurationTemplateInput) SetEbsEncryption(v string) *UpdateReplicationConfigurationTemplateInput {
7311	s.EbsEncryption = &v
7312	return s
7313}
7314
7315// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value.
7316func (s *UpdateReplicationConfigurationTemplateInput) SetEbsEncryptionKeyArn(v string) *UpdateReplicationConfigurationTemplateInput {
7317	s.EbsEncryptionKeyArn = &v
7318	return s
7319}
7320
7321// SetReplicationConfigurationTemplateID sets the ReplicationConfigurationTemplateID field's value.
7322func (s *UpdateReplicationConfigurationTemplateInput) SetReplicationConfigurationTemplateID(v string) *UpdateReplicationConfigurationTemplateInput {
7323	s.ReplicationConfigurationTemplateID = &v
7324	return s
7325}
7326
7327// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value.
7328func (s *UpdateReplicationConfigurationTemplateInput) SetReplicationServerInstanceType(v string) *UpdateReplicationConfigurationTemplateInput {
7329	s.ReplicationServerInstanceType = &v
7330	return s
7331}
7332
7333// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value.
7334func (s *UpdateReplicationConfigurationTemplateInput) SetReplicationServersSecurityGroupsIDs(v []*string) *UpdateReplicationConfigurationTemplateInput {
7335	s.ReplicationServersSecurityGroupsIDs = v
7336	return s
7337}
7338
7339// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value.
7340func (s *UpdateReplicationConfigurationTemplateInput) SetStagingAreaSubnetId(v string) *UpdateReplicationConfigurationTemplateInput {
7341	s.StagingAreaSubnetId = &v
7342	return s
7343}
7344
7345// SetStagingAreaTags sets the StagingAreaTags field's value.
7346func (s *UpdateReplicationConfigurationTemplateInput) SetStagingAreaTags(v map[string]*string) *UpdateReplicationConfigurationTemplateInput {
7347	s.StagingAreaTags = v
7348	return s
7349}
7350
7351// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value.
7352func (s *UpdateReplicationConfigurationTemplateInput) SetUseDedicatedReplicationServer(v bool) *UpdateReplicationConfigurationTemplateInput {
7353	s.UseDedicatedReplicationServer = &v
7354	return s
7355}
7356
7357type UpdateReplicationConfigurationTemplateOutput struct {
7358	_ struct{} `type:"structure"`
7359
7360	// Replication Configuration template ARN.
7361	Arn *string `locationName:"arn" min:"20" type:"string"`
7362
7363	// Replication Configuration template associate default Application Migration
7364	// Service Security group.
7365	AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean"`
7366
7367	// Replication Configuration template bandwidth throtting.
7368	BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"`
7369
7370	// Replication Configuration template create Public IP.
7371	CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean"`
7372
7373	// Replication Configuration template data plane routing.
7374	DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" enum:"ReplicationConfigurationDataPlaneRouting"`
7375
7376	// Replication Configuration template use dedault large Staging Disk type.
7377	DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"`
7378
7379	// Replication Configuration template EBS encryption.
7380	EbsEncryption *string `locationName:"ebsEncryption" type:"string" enum:"ReplicationConfigurationEbsEncryption"`
7381
7382	// Replication Configuration template EBS encryption key ARN.
7383	EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"`
7384
7385	// Replication Configuration template template ID.
7386	//
7387	// ReplicationConfigurationTemplateID is a required field
7388	ReplicationConfigurationTemplateID *string `locationName:"replicationConfigurationTemplateID" min:"21" type:"string" required:"true"`
7389
7390	// Replication Configuration template server instance type.
7391	ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string"`
7392
7393	// Replication Configuration template server Security Groups IDs.
7394	ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list"`
7395
7396	// Replication Configuration template Staging Area subnet ID.
7397	StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string"`
7398
7399	// Replication Configuration template Staging Area Tags.
7400	StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" sensitive:"true"`
7401
7402	// Replication Configuration template Tags.
7403	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
7404
7405	// Replication Configuration template use Dedicated Replication Server.
7406	UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean"`
7407}
7408
7409// String returns the string representation
7410func (s UpdateReplicationConfigurationTemplateOutput) String() string {
7411	return awsutil.Prettify(s)
7412}
7413
7414// GoString returns the string representation
7415func (s UpdateReplicationConfigurationTemplateOutput) GoString() string {
7416	return s.String()
7417}
7418
7419// SetArn sets the Arn field's value.
7420func (s *UpdateReplicationConfigurationTemplateOutput) SetArn(v string) *UpdateReplicationConfigurationTemplateOutput {
7421	s.Arn = &v
7422	return s
7423}
7424
7425// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value.
7426func (s *UpdateReplicationConfigurationTemplateOutput) SetAssociateDefaultSecurityGroup(v bool) *UpdateReplicationConfigurationTemplateOutput {
7427	s.AssociateDefaultSecurityGroup = &v
7428	return s
7429}
7430
7431// SetBandwidthThrottling sets the BandwidthThrottling field's value.
7432func (s *UpdateReplicationConfigurationTemplateOutput) SetBandwidthThrottling(v int64) *UpdateReplicationConfigurationTemplateOutput {
7433	s.BandwidthThrottling = &v
7434	return s
7435}
7436
7437// SetCreatePublicIP sets the CreatePublicIP field's value.
7438func (s *UpdateReplicationConfigurationTemplateOutput) SetCreatePublicIP(v bool) *UpdateReplicationConfigurationTemplateOutput {
7439	s.CreatePublicIP = &v
7440	return s
7441}
7442
7443// SetDataPlaneRouting sets the DataPlaneRouting field's value.
7444func (s *UpdateReplicationConfigurationTemplateOutput) SetDataPlaneRouting(v string) *UpdateReplicationConfigurationTemplateOutput {
7445	s.DataPlaneRouting = &v
7446	return s
7447}
7448
7449// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value.
7450func (s *UpdateReplicationConfigurationTemplateOutput) SetDefaultLargeStagingDiskType(v string) *UpdateReplicationConfigurationTemplateOutput {
7451	s.DefaultLargeStagingDiskType = &v
7452	return s
7453}
7454
7455// SetEbsEncryption sets the EbsEncryption field's value.
7456func (s *UpdateReplicationConfigurationTemplateOutput) SetEbsEncryption(v string) *UpdateReplicationConfigurationTemplateOutput {
7457	s.EbsEncryption = &v
7458	return s
7459}
7460
7461// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value.
7462func (s *UpdateReplicationConfigurationTemplateOutput) SetEbsEncryptionKeyArn(v string) *UpdateReplicationConfigurationTemplateOutput {
7463	s.EbsEncryptionKeyArn = &v
7464	return s
7465}
7466
7467// SetReplicationConfigurationTemplateID sets the ReplicationConfigurationTemplateID field's value.
7468func (s *UpdateReplicationConfigurationTemplateOutput) SetReplicationConfigurationTemplateID(v string) *UpdateReplicationConfigurationTemplateOutput {
7469	s.ReplicationConfigurationTemplateID = &v
7470	return s
7471}
7472
7473// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value.
7474func (s *UpdateReplicationConfigurationTemplateOutput) SetReplicationServerInstanceType(v string) *UpdateReplicationConfigurationTemplateOutput {
7475	s.ReplicationServerInstanceType = &v
7476	return s
7477}
7478
7479// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value.
7480func (s *UpdateReplicationConfigurationTemplateOutput) SetReplicationServersSecurityGroupsIDs(v []*string) *UpdateReplicationConfigurationTemplateOutput {
7481	s.ReplicationServersSecurityGroupsIDs = v
7482	return s
7483}
7484
7485// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value.
7486func (s *UpdateReplicationConfigurationTemplateOutput) SetStagingAreaSubnetId(v string) *UpdateReplicationConfigurationTemplateOutput {
7487	s.StagingAreaSubnetId = &v
7488	return s
7489}
7490
7491// SetStagingAreaTags sets the StagingAreaTags field's value.
7492func (s *UpdateReplicationConfigurationTemplateOutput) SetStagingAreaTags(v map[string]*string) *UpdateReplicationConfigurationTemplateOutput {
7493	s.StagingAreaTags = v
7494	return s
7495}
7496
7497// SetTags sets the Tags field's value.
7498func (s *UpdateReplicationConfigurationTemplateOutput) SetTags(v map[string]*string) *UpdateReplicationConfigurationTemplateOutput {
7499	s.Tags = v
7500	return s
7501}
7502
7503// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value.
7504func (s *UpdateReplicationConfigurationTemplateOutput) SetUseDedicatedReplicationServer(v bool) *UpdateReplicationConfigurationTemplateOutput {
7505	s.UseDedicatedReplicationServer = &v
7506	return s
7507}
7508
7509// Validate exception.
7510type ValidationException struct {
7511	_            struct{}                  `type:"structure"`
7512	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7513
7514	Code_ *string `locationName:"code" type:"string"`
7515
7516	// Validate exception field list.
7517	FieldList []*ValidationExceptionField `locationName:"fieldList" type:"list"`
7518
7519	Message_ *string `locationName:"message" type:"string"`
7520
7521	// Validate exception reason.
7522	Reason *string `locationName:"reason" type:"string" enum:"ValidationExceptionReason"`
7523}
7524
7525// String returns the string representation
7526func (s ValidationException) String() string {
7527	return awsutil.Prettify(s)
7528}
7529
7530// GoString returns the string representation
7531func (s ValidationException) GoString() string {
7532	return s.String()
7533}
7534
7535func newErrorValidationException(v protocol.ResponseMetadata) error {
7536	return &ValidationException{
7537		RespMetadata: v,
7538	}
7539}
7540
7541// Code returns the exception type name.
7542func (s *ValidationException) Code() string {
7543	return "ValidationException"
7544}
7545
7546// Message returns the exception's message.
7547func (s *ValidationException) Message() string {
7548	if s.Message_ != nil {
7549		return *s.Message_
7550	}
7551	return ""
7552}
7553
7554// OrigErr always returns nil, satisfies awserr.Error interface.
7555func (s *ValidationException) OrigErr() error {
7556	return nil
7557}
7558
7559func (s *ValidationException) Error() string {
7560	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7561}
7562
7563// Status code returns the HTTP status code for the request's response error.
7564func (s *ValidationException) StatusCode() int {
7565	return s.RespMetadata.StatusCode
7566}
7567
7568// RequestID returns the service's response RequestID for request.
7569func (s *ValidationException) RequestID() string {
7570	return s.RespMetadata.RequestID
7571}
7572
7573// Validate exception field.
7574type ValidationExceptionField struct {
7575	_ struct{} `type:"structure"`
7576
7577	// Validate exception field message.
7578	Message *string `locationName:"message" type:"string"`
7579
7580	// Validate exception field name.
7581	Name *string `locationName:"name" type:"string"`
7582}
7583
7584// String returns the string representation
7585func (s ValidationExceptionField) String() string {
7586	return awsutil.Prettify(s)
7587}
7588
7589// GoString returns the string representation
7590func (s ValidationExceptionField) GoString() string {
7591	return s.String()
7592}
7593
7594// SetMessage sets the Message field's value.
7595func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField {
7596	s.Message = &v
7597	return s
7598}
7599
7600// SetName sets the Name field's value.
7601func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField {
7602	s.Name = &v
7603	return s
7604}
7605
7606const (
7607	// ChangeServerLifeCycleStateSourceServerLifecycleStateReadyForTest is a ChangeServerLifeCycleStateSourceServerLifecycleState enum value
7608	ChangeServerLifeCycleStateSourceServerLifecycleStateReadyForTest = "READY_FOR_TEST"
7609
7610	// ChangeServerLifeCycleStateSourceServerLifecycleStateReadyForCutover is a ChangeServerLifeCycleStateSourceServerLifecycleState enum value
7611	ChangeServerLifeCycleStateSourceServerLifecycleStateReadyForCutover = "READY_FOR_CUTOVER"
7612
7613	// ChangeServerLifeCycleStateSourceServerLifecycleStateCutover is a ChangeServerLifeCycleStateSourceServerLifecycleState enum value
7614	ChangeServerLifeCycleStateSourceServerLifecycleStateCutover = "CUTOVER"
7615)
7616
7617// ChangeServerLifeCycleStateSourceServerLifecycleState_Values returns all elements of the ChangeServerLifeCycleStateSourceServerLifecycleState enum
7618func ChangeServerLifeCycleStateSourceServerLifecycleState_Values() []string {
7619	return []string{
7620		ChangeServerLifeCycleStateSourceServerLifecycleStateReadyForTest,
7621		ChangeServerLifeCycleStateSourceServerLifecycleStateReadyForCutover,
7622		ChangeServerLifeCycleStateSourceServerLifecycleStateCutover,
7623	}
7624}
7625
7626const (
7627	// DataReplicationErrorStringAgentNotSeen is a DataReplicationErrorString enum value
7628	DataReplicationErrorStringAgentNotSeen = "AGENT_NOT_SEEN"
7629
7630	// DataReplicationErrorStringSnapshotsFailure is a DataReplicationErrorString enum value
7631	DataReplicationErrorStringSnapshotsFailure = "SNAPSHOTS_FAILURE"
7632
7633	// DataReplicationErrorStringNotConverging is a DataReplicationErrorString enum value
7634	DataReplicationErrorStringNotConverging = "NOT_CONVERGING"
7635
7636	// DataReplicationErrorStringUnstableNetwork is a DataReplicationErrorString enum value
7637	DataReplicationErrorStringUnstableNetwork = "UNSTABLE_NETWORK"
7638
7639	// DataReplicationErrorStringFailedToCreateSecurityGroup is a DataReplicationErrorString enum value
7640	DataReplicationErrorStringFailedToCreateSecurityGroup = "FAILED_TO_CREATE_SECURITY_GROUP"
7641
7642	// DataReplicationErrorStringFailedToLaunchReplicationServer is a DataReplicationErrorString enum value
7643	DataReplicationErrorStringFailedToLaunchReplicationServer = "FAILED_TO_LAUNCH_REPLICATION_SERVER"
7644
7645	// DataReplicationErrorStringFailedToBootReplicationServer is a DataReplicationErrorString enum value
7646	DataReplicationErrorStringFailedToBootReplicationServer = "FAILED_TO_BOOT_REPLICATION_SERVER"
7647
7648	// DataReplicationErrorStringFailedToAuthenticateWithService is a DataReplicationErrorString enum value
7649	DataReplicationErrorStringFailedToAuthenticateWithService = "FAILED_TO_AUTHENTICATE_WITH_SERVICE"
7650
7651	// DataReplicationErrorStringFailedToDownloadReplicationSoftware is a DataReplicationErrorString enum value
7652	DataReplicationErrorStringFailedToDownloadReplicationSoftware = "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE"
7653
7654	// DataReplicationErrorStringFailedToCreateStagingDisks is a DataReplicationErrorString enum value
7655	DataReplicationErrorStringFailedToCreateStagingDisks = "FAILED_TO_CREATE_STAGING_DISKS"
7656
7657	// DataReplicationErrorStringFailedToAttachStagingDisks is a DataReplicationErrorString enum value
7658	DataReplicationErrorStringFailedToAttachStagingDisks = "FAILED_TO_ATTACH_STAGING_DISKS"
7659
7660	// DataReplicationErrorStringFailedToPairReplicationServerWithAgent is a DataReplicationErrorString enum value
7661	DataReplicationErrorStringFailedToPairReplicationServerWithAgent = "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT"
7662
7663	// DataReplicationErrorStringFailedToConnectAgentToReplicationServer is a DataReplicationErrorString enum value
7664	DataReplicationErrorStringFailedToConnectAgentToReplicationServer = "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER"
7665
7666	// DataReplicationErrorStringFailedToStartDataTransfer is a DataReplicationErrorString enum value
7667	DataReplicationErrorStringFailedToStartDataTransfer = "FAILED_TO_START_DATA_TRANSFER"
7668)
7669
7670// DataReplicationErrorString_Values returns all elements of the DataReplicationErrorString enum
7671func DataReplicationErrorString_Values() []string {
7672	return []string{
7673		DataReplicationErrorStringAgentNotSeen,
7674		DataReplicationErrorStringSnapshotsFailure,
7675		DataReplicationErrorStringNotConverging,
7676		DataReplicationErrorStringUnstableNetwork,
7677		DataReplicationErrorStringFailedToCreateSecurityGroup,
7678		DataReplicationErrorStringFailedToLaunchReplicationServer,
7679		DataReplicationErrorStringFailedToBootReplicationServer,
7680		DataReplicationErrorStringFailedToAuthenticateWithService,
7681		DataReplicationErrorStringFailedToDownloadReplicationSoftware,
7682		DataReplicationErrorStringFailedToCreateStagingDisks,
7683		DataReplicationErrorStringFailedToAttachStagingDisks,
7684		DataReplicationErrorStringFailedToPairReplicationServerWithAgent,
7685		DataReplicationErrorStringFailedToConnectAgentToReplicationServer,
7686		DataReplicationErrorStringFailedToStartDataTransfer,
7687	}
7688}
7689
7690const (
7691	// DataReplicationInitiationStepNameWait is a DataReplicationInitiationStepName enum value
7692	DataReplicationInitiationStepNameWait = "WAIT"
7693
7694	// DataReplicationInitiationStepNameCreateSecurityGroup is a DataReplicationInitiationStepName enum value
7695	DataReplicationInitiationStepNameCreateSecurityGroup = "CREATE_SECURITY_GROUP"
7696
7697	// DataReplicationInitiationStepNameLaunchReplicationServer is a DataReplicationInitiationStepName enum value
7698	DataReplicationInitiationStepNameLaunchReplicationServer = "LAUNCH_REPLICATION_SERVER"
7699
7700	// DataReplicationInitiationStepNameBootReplicationServer is a DataReplicationInitiationStepName enum value
7701	DataReplicationInitiationStepNameBootReplicationServer = "BOOT_REPLICATION_SERVER"
7702
7703	// DataReplicationInitiationStepNameAuthenticateWithService is a DataReplicationInitiationStepName enum value
7704	DataReplicationInitiationStepNameAuthenticateWithService = "AUTHENTICATE_WITH_SERVICE"
7705
7706	// DataReplicationInitiationStepNameDownloadReplicationSoftware is a DataReplicationInitiationStepName enum value
7707	DataReplicationInitiationStepNameDownloadReplicationSoftware = "DOWNLOAD_REPLICATION_SOFTWARE"
7708
7709	// DataReplicationInitiationStepNameCreateStagingDisks is a DataReplicationInitiationStepName enum value
7710	DataReplicationInitiationStepNameCreateStagingDisks = "CREATE_STAGING_DISKS"
7711
7712	// DataReplicationInitiationStepNameAttachStagingDisks is a DataReplicationInitiationStepName enum value
7713	DataReplicationInitiationStepNameAttachStagingDisks = "ATTACH_STAGING_DISKS"
7714
7715	// DataReplicationInitiationStepNamePairReplicationServerWithAgent is a DataReplicationInitiationStepName enum value
7716	DataReplicationInitiationStepNamePairReplicationServerWithAgent = "PAIR_REPLICATION_SERVER_WITH_AGENT"
7717
7718	// DataReplicationInitiationStepNameConnectAgentToReplicationServer is a DataReplicationInitiationStepName enum value
7719	DataReplicationInitiationStepNameConnectAgentToReplicationServer = "CONNECT_AGENT_TO_REPLICATION_SERVER"
7720
7721	// DataReplicationInitiationStepNameStartDataTransfer is a DataReplicationInitiationStepName enum value
7722	DataReplicationInitiationStepNameStartDataTransfer = "START_DATA_TRANSFER"
7723)
7724
7725// DataReplicationInitiationStepName_Values returns all elements of the DataReplicationInitiationStepName enum
7726func DataReplicationInitiationStepName_Values() []string {
7727	return []string{
7728		DataReplicationInitiationStepNameWait,
7729		DataReplicationInitiationStepNameCreateSecurityGroup,
7730		DataReplicationInitiationStepNameLaunchReplicationServer,
7731		DataReplicationInitiationStepNameBootReplicationServer,
7732		DataReplicationInitiationStepNameAuthenticateWithService,
7733		DataReplicationInitiationStepNameDownloadReplicationSoftware,
7734		DataReplicationInitiationStepNameCreateStagingDisks,
7735		DataReplicationInitiationStepNameAttachStagingDisks,
7736		DataReplicationInitiationStepNamePairReplicationServerWithAgent,
7737		DataReplicationInitiationStepNameConnectAgentToReplicationServer,
7738		DataReplicationInitiationStepNameStartDataTransfer,
7739	}
7740}
7741
7742const (
7743	// DataReplicationInitiationStepStatusNotStarted is a DataReplicationInitiationStepStatus enum value
7744	DataReplicationInitiationStepStatusNotStarted = "NOT_STARTED"
7745
7746	// DataReplicationInitiationStepStatusInProgress is a DataReplicationInitiationStepStatus enum value
7747	DataReplicationInitiationStepStatusInProgress = "IN_PROGRESS"
7748
7749	// DataReplicationInitiationStepStatusSucceeded is a DataReplicationInitiationStepStatus enum value
7750	DataReplicationInitiationStepStatusSucceeded = "SUCCEEDED"
7751
7752	// DataReplicationInitiationStepStatusFailed is a DataReplicationInitiationStepStatus enum value
7753	DataReplicationInitiationStepStatusFailed = "FAILED"
7754
7755	// DataReplicationInitiationStepStatusSkipped is a DataReplicationInitiationStepStatus enum value
7756	DataReplicationInitiationStepStatusSkipped = "SKIPPED"
7757)
7758
7759// DataReplicationInitiationStepStatus_Values returns all elements of the DataReplicationInitiationStepStatus enum
7760func DataReplicationInitiationStepStatus_Values() []string {
7761	return []string{
7762		DataReplicationInitiationStepStatusNotStarted,
7763		DataReplicationInitiationStepStatusInProgress,
7764		DataReplicationInitiationStepStatusSucceeded,
7765		DataReplicationInitiationStepStatusFailed,
7766		DataReplicationInitiationStepStatusSkipped,
7767	}
7768}
7769
7770const (
7771	// DataReplicationStateStopped is a DataReplicationState enum value
7772	DataReplicationStateStopped = "STOPPED"
7773
7774	// DataReplicationStateInitiating is a DataReplicationState enum value
7775	DataReplicationStateInitiating = "INITIATING"
7776
7777	// DataReplicationStateInitialSync is a DataReplicationState enum value
7778	DataReplicationStateInitialSync = "INITIAL_SYNC"
7779
7780	// DataReplicationStateBacklog is a DataReplicationState enum value
7781	DataReplicationStateBacklog = "BACKLOG"
7782
7783	// DataReplicationStateCreatingSnapshot is a DataReplicationState enum value
7784	DataReplicationStateCreatingSnapshot = "CREATING_SNAPSHOT"
7785
7786	// DataReplicationStateContinuous is a DataReplicationState enum value
7787	DataReplicationStateContinuous = "CONTINUOUS"
7788
7789	// DataReplicationStatePaused is a DataReplicationState enum value
7790	DataReplicationStatePaused = "PAUSED"
7791
7792	// DataReplicationStateRescan is a DataReplicationState enum value
7793	DataReplicationStateRescan = "RESCAN"
7794
7795	// DataReplicationStateStalled is a DataReplicationState enum value
7796	DataReplicationStateStalled = "STALLED"
7797
7798	// DataReplicationStateDisconnected is a DataReplicationState enum value
7799	DataReplicationStateDisconnected = "DISCONNECTED"
7800)
7801
7802// DataReplicationState_Values returns all elements of the DataReplicationState enum
7803func DataReplicationState_Values() []string {
7804	return []string{
7805		DataReplicationStateStopped,
7806		DataReplicationStateInitiating,
7807		DataReplicationStateInitialSync,
7808		DataReplicationStateBacklog,
7809		DataReplicationStateCreatingSnapshot,
7810		DataReplicationStateContinuous,
7811		DataReplicationStatePaused,
7812		DataReplicationStateRescan,
7813		DataReplicationStateStalled,
7814		DataReplicationStateDisconnected,
7815	}
7816}
7817
7818const (
7819	// FirstBootWaiting is a FirstBoot enum value
7820	FirstBootWaiting = "WAITING"
7821
7822	// FirstBootSucceeded is a FirstBoot enum value
7823	FirstBootSucceeded = "SUCCEEDED"
7824
7825	// FirstBootUnknown is a FirstBoot enum value
7826	FirstBootUnknown = "UNKNOWN"
7827
7828	// FirstBootStopped is a FirstBoot enum value
7829	FirstBootStopped = "STOPPED"
7830)
7831
7832// FirstBoot_Values returns all elements of the FirstBoot enum
7833func FirstBoot_Values() []string {
7834	return []string{
7835		FirstBootWaiting,
7836		FirstBootSucceeded,
7837		FirstBootUnknown,
7838		FirstBootStopped,
7839	}
7840}
7841
7842const (
7843	// InitiatedByStartTest is a InitiatedBy enum value
7844	InitiatedByStartTest = "START_TEST"
7845
7846	// InitiatedByStartCutover is a InitiatedBy enum value
7847	InitiatedByStartCutover = "START_CUTOVER"
7848
7849	// InitiatedByDiagnostic is a InitiatedBy enum value
7850	InitiatedByDiagnostic = "DIAGNOSTIC"
7851
7852	// InitiatedByTerminate is a InitiatedBy enum value
7853	InitiatedByTerminate = "TERMINATE"
7854)
7855
7856// InitiatedBy_Values returns all elements of the InitiatedBy enum
7857func InitiatedBy_Values() []string {
7858	return []string{
7859		InitiatedByStartTest,
7860		InitiatedByStartCutover,
7861		InitiatedByDiagnostic,
7862		InitiatedByTerminate,
7863	}
7864}
7865
7866const (
7867	// JobLogEventJobStart is a JobLogEvent enum value
7868	JobLogEventJobStart = "JOB_START"
7869
7870	// JobLogEventServerSkipped is a JobLogEvent enum value
7871	JobLogEventServerSkipped = "SERVER_SKIPPED"
7872
7873	// JobLogEventCleanupStart is a JobLogEvent enum value
7874	JobLogEventCleanupStart = "CLEANUP_START"
7875
7876	// JobLogEventCleanupEnd is a JobLogEvent enum value
7877	JobLogEventCleanupEnd = "CLEANUP_END"
7878
7879	// JobLogEventCleanupFail is a JobLogEvent enum value
7880	JobLogEventCleanupFail = "CLEANUP_FAIL"
7881
7882	// JobLogEventSnapshotStart is a JobLogEvent enum value
7883	JobLogEventSnapshotStart = "SNAPSHOT_START"
7884
7885	// JobLogEventSnapshotEnd is a JobLogEvent enum value
7886	JobLogEventSnapshotEnd = "SNAPSHOT_END"
7887
7888	// JobLogEventSnapshotFail is a JobLogEvent enum value
7889	JobLogEventSnapshotFail = "SNAPSHOT_FAIL"
7890
7891	// JobLogEventUsingPreviousSnapshot is a JobLogEvent enum value
7892	JobLogEventUsingPreviousSnapshot = "USING_PREVIOUS_SNAPSHOT"
7893
7894	// JobLogEventConversionStart is a JobLogEvent enum value
7895	JobLogEventConversionStart = "CONVERSION_START"
7896
7897	// JobLogEventConversionEnd is a JobLogEvent enum value
7898	JobLogEventConversionEnd = "CONVERSION_END"
7899
7900	// JobLogEventConversionFail is a JobLogEvent enum value
7901	JobLogEventConversionFail = "CONVERSION_FAIL"
7902
7903	// JobLogEventLaunchStart is a JobLogEvent enum value
7904	JobLogEventLaunchStart = "LAUNCH_START"
7905
7906	// JobLogEventLaunchFailed is a JobLogEvent enum value
7907	JobLogEventLaunchFailed = "LAUNCH_FAILED"
7908
7909	// JobLogEventJobCancel is a JobLogEvent enum value
7910	JobLogEventJobCancel = "JOB_CANCEL"
7911
7912	// JobLogEventJobEnd is a JobLogEvent enum value
7913	JobLogEventJobEnd = "JOB_END"
7914)
7915
7916// JobLogEvent_Values returns all elements of the JobLogEvent enum
7917func JobLogEvent_Values() []string {
7918	return []string{
7919		JobLogEventJobStart,
7920		JobLogEventServerSkipped,
7921		JobLogEventCleanupStart,
7922		JobLogEventCleanupEnd,
7923		JobLogEventCleanupFail,
7924		JobLogEventSnapshotStart,
7925		JobLogEventSnapshotEnd,
7926		JobLogEventSnapshotFail,
7927		JobLogEventUsingPreviousSnapshot,
7928		JobLogEventConversionStart,
7929		JobLogEventConversionEnd,
7930		JobLogEventConversionFail,
7931		JobLogEventLaunchStart,
7932		JobLogEventLaunchFailed,
7933		JobLogEventJobCancel,
7934		JobLogEventJobEnd,
7935	}
7936}
7937
7938const (
7939	// JobStatusPending is a JobStatus enum value
7940	JobStatusPending = "PENDING"
7941
7942	// JobStatusStarted is a JobStatus enum value
7943	JobStatusStarted = "STARTED"
7944
7945	// JobStatusCompleted is a JobStatus enum value
7946	JobStatusCompleted = "COMPLETED"
7947)
7948
7949// JobStatus_Values returns all elements of the JobStatus enum
7950func JobStatus_Values() []string {
7951	return []string{
7952		JobStatusPending,
7953		JobStatusStarted,
7954		JobStatusCompleted,
7955	}
7956}
7957
7958const (
7959	// JobTypeLaunch is a JobType enum value
7960	JobTypeLaunch = "LAUNCH"
7961
7962	// JobTypeTerminate is a JobType enum value
7963	JobTypeTerminate = "TERMINATE"
7964)
7965
7966// JobType_Values returns all elements of the JobType enum
7967func JobType_Values() []string {
7968	return []string{
7969		JobTypeLaunch,
7970		JobTypeTerminate,
7971	}
7972}
7973
7974const (
7975	// LaunchDispositionStopped is a LaunchDisposition enum value
7976	LaunchDispositionStopped = "STOPPED"
7977
7978	// LaunchDispositionStarted is a LaunchDisposition enum value
7979	LaunchDispositionStarted = "STARTED"
7980)
7981
7982// LaunchDisposition_Values returns all elements of the LaunchDisposition enum
7983func LaunchDisposition_Values() []string {
7984	return []string{
7985		LaunchDispositionStopped,
7986		LaunchDispositionStarted,
7987	}
7988}
7989
7990const (
7991	// LaunchStatusPending is a LaunchStatus enum value
7992	LaunchStatusPending = "PENDING"
7993
7994	// LaunchStatusInProgress is a LaunchStatus enum value
7995	LaunchStatusInProgress = "IN_PROGRESS"
7996
7997	// LaunchStatusLaunched is a LaunchStatus enum value
7998	LaunchStatusLaunched = "LAUNCHED"
7999
8000	// LaunchStatusFailed is a LaunchStatus enum value
8001	LaunchStatusFailed = "FAILED"
8002
8003	// LaunchStatusTerminated is a LaunchStatus enum value
8004	LaunchStatusTerminated = "TERMINATED"
8005)
8006
8007// LaunchStatus_Values returns all elements of the LaunchStatus enum
8008func LaunchStatus_Values() []string {
8009	return []string{
8010		LaunchStatusPending,
8011		LaunchStatusInProgress,
8012		LaunchStatusLaunched,
8013		LaunchStatusFailed,
8014		LaunchStatusTerminated,
8015	}
8016}
8017
8018const (
8019	// LifeCycleStateStopped is a LifeCycleState enum value
8020	LifeCycleStateStopped = "STOPPED"
8021
8022	// LifeCycleStateNotReady is a LifeCycleState enum value
8023	LifeCycleStateNotReady = "NOT_READY"
8024
8025	// LifeCycleStateReadyForTest is a LifeCycleState enum value
8026	LifeCycleStateReadyForTest = "READY_FOR_TEST"
8027
8028	// LifeCycleStateTesting is a LifeCycleState enum value
8029	LifeCycleStateTesting = "TESTING"
8030
8031	// LifeCycleStateReadyForCutover is a LifeCycleState enum value
8032	LifeCycleStateReadyForCutover = "READY_FOR_CUTOVER"
8033
8034	// LifeCycleStateCuttingOver is a LifeCycleState enum value
8035	LifeCycleStateCuttingOver = "CUTTING_OVER"
8036
8037	// LifeCycleStateCutover is a LifeCycleState enum value
8038	LifeCycleStateCutover = "CUTOVER"
8039
8040	// LifeCycleStateDisconnected is a LifeCycleState enum value
8041	LifeCycleStateDisconnected = "DISCONNECTED"
8042)
8043
8044// LifeCycleState_Values returns all elements of the LifeCycleState enum
8045func LifeCycleState_Values() []string {
8046	return []string{
8047		LifeCycleStateStopped,
8048		LifeCycleStateNotReady,
8049		LifeCycleStateReadyForTest,
8050		LifeCycleStateTesting,
8051		LifeCycleStateReadyForCutover,
8052		LifeCycleStateCuttingOver,
8053		LifeCycleStateCutover,
8054		LifeCycleStateDisconnected,
8055	}
8056}
8057
8058const (
8059	// ReplicationConfigurationDataPlaneRoutingPrivateIp is a ReplicationConfigurationDataPlaneRouting enum value
8060	ReplicationConfigurationDataPlaneRoutingPrivateIp = "PRIVATE_IP"
8061
8062	// ReplicationConfigurationDataPlaneRoutingPublicIp is a ReplicationConfigurationDataPlaneRouting enum value
8063	ReplicationConfigurationDataPlaneRoutingPublicIp = "PUBLIC_IP"
8064)
8065
8066// ReplicationConfigurationDataPlaneRouting_Values returns all elements of the ReplicationConfigurationDataPlaneRouting enum
8067func ReplicationConfigurationDataPlaneRouting_Values() []string {
8068	return []string{
8069		ReplicationConfigurationDataPlaneRoutingPrivateIp,
8070		ReplicationConfigurationDataPlaneRoutingPublicIp,
8071	}
8072}
8073
8074const (
8075	// ReplicationConfigurationDefaultLargeStagingDiskTypeGp2 is a ReplicationConfigurationDefaultLargeStagingDiskType enum value
8076	ReplicationConfigurationDefaultLargeStagingDiskTypeGp2 = "GP2"
8077
8078	// ReplicationConfigurationDefaultLargeStagingDiskTypeSt1 is a ReplicationConfigurationDefaultLargeStagingDiskType enum value
8079	ReplicationConfigurationDefaultLargeStagingDiskTypeSt1 = "ST1"
8080)
8081
8082// ReplicationConfigurationDefaultLargeStagingDiskType_Values returns all elements of the ReplicationConfigurationDefaultLargeStagingDiskType enum
8083func ReplicationConfigurationDefaultLargeStagingDiskType_Values() []string {
8084	return []string{
8085		ReplicationConfigurationDefaultLargeStagingDiskTypeGp2,
8086		ReplicationConfigurationDefaultLargeStagingDiskTypeSt1,
8087	}
8088}
8089
8090const (
8091	// ReplicationConfigurationEbsEncryptionDefault is a ReplicationConfigurationEbsEncryption enum value
8092	ReplicationConfigurationEbsEncryptionDefault = "DEFAULT"
8093
8094	// ReplicationConfigurationEbsEncryptionCustom is a ReplicationConfigurationEbsEncryption enum value
8095	ReplicationConfigurationEbsEncryptionCustom = "CUSTOM"
8096)
8097
8098// ReplicationConfigurationEbsEncryption_Values returns all elements of the ReplicationConfigurationEbsEncryption enum
8099func ReplicationConfigurationEbsEncryption_Values() []string {
8100	return []string{
8101		ReplicationConfigurationEbsEncryptionDefault,
8102		ReplicationConfigurationEbsEncryptionCustom,
8103	}
8104}
8105
8106const (
8107	// ReplicationConfigurationReplicatedDiskStagingDiskTypeAuto is a ReplicationConfigurationReplicatedDiskStagingDiskType enum value
8108	ReplicationConfigurationReplicatedDiskStagingDiskTypeAuto = "AUTO"
8109
8110	// ReplicationConfigurationReplicatedDiskStagingDiskTypeGp2 is a ReplicationConfigurationReplicatedDiskStagingDiskType enum value
8111	ReplicationConfigurationReplicatedDiskStagingDiskTypeGp2 = "GP2"
8112
8113	// ReplicationConfigurationReplicatedDiskStagingDiskTypeIo1 is a ReplicationConfigurationReplicatedDiskStagingDiskType enum value
8114	ReplicationConfigurationReplicatedDiskStagingDiskTypeIo1 = "IO1"
8115
8116	// ReplicationConfigurationReplicatedDiskStagingDiskTypeSc1 is a ReplicationConfigurationReplicatedDiskStagingDiskType enum value
8117	ReplicationConfigurationReplicatedDiskStagingDiskTypeSc1 = "SC1"
8118
8119	// ReplicationConfigurationReplicatedDiskStagingDiskTypeSt1 is a ReplicationConfigurationReplicatedDiskStagingDiskType enum value
8120	ReplicationConfigurationReplicatedDiskStagingDiskTypeSt1 = "ST1"
8121
8122	// ReplicationConfigurationReplicatedDiskStagingDiskTypeStandard is a ReplicationConfigurationReplicatedDiskStagingDiskType enum value
8123	ReplicationConfigurationReplicatedDiskStagingDiskTypeStandard = "STANDARD"
8124)
8125
8126// ReplicationConfigurationReplicatedDiskStagingDiskType_Values returns all elements of the ReplicationConfigurationReplicatedDiskStagingDiskType enum
8127func ReplicationConfigurationReplicatedDiskStagingDiskType_Values() []string {
8128	return []string{
8129		ReplicationConfigurationReplicatedDiskStagingDiskTypeAuto,
8130		ReplicationConfigurationReplicatedDiskStagingDiskTypeGp2,
8131		ReplicationConfigurationReplicatedDiskStagingDiskTypeIo1,
8132		ReplicationConfigurationReplicatedDiskStagingDiskTypeSc1,
8133		ReplicationConfigurationReplicatedDiskStagingDiskTypeSt1,
8134		ReplicationConfigurationReplicatedDiskStagingDiskTypeStandard,
8135	}
8136}
8137
8138const (
8139	// TargetInstanceTypeRightSizingMethodNone is a TargetInstanceTypeRightSizingMethod enum value
8140	TargetInstanceTypeRightSizingMethodNone = "NONE"
8141
8142	// TargetInstanceTypeRightSizingMethodBasic is a TargetInstanceTypeRightSizingMethod enum value
8143	TargetInstanceTypeRightSizingMethodBasic = "BASIC"
8144)
8145
8146// TargetInstanceTypeRightSizingMethod_Values returns all elements of the TargetInstanceTypeRightSizingMethod enum
8147func TargetInstanceTypeRightSizingMethod_Values() []string {
8148	return []string{
8149		TargetInstanceTypeRightSizingMethodNone,
8150		TargetInstanceTypeRightSizingMethodBasic,
8151	}
8152}
8153
8154const (
8155	// ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value
8156	ValidationExceptionReasonUnknownOperation = "unknownOperation"
8157
8158	// ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value
8159	ValidationExceptionReasonCannotParse = "cannotParse"
8160
8161	// ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value
8162	ValidationExceptionReasonFieldValidationFailed = "fieldValidationFailed"
8163
8164	// ValidationExceptionReasonOther is a ValidationExceptionReason enum value
8165	ValidationExceptionReasonOther = "other"
8166)
8167
8168// ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum
8169func ValidationExceptionReason_Values() []string {
8170	return []string{
8171		ValidationExceptionReasonUnknownOperation,
8172		ValidationExceptionReasonCannotParse,
8173		ValidationExceptionReasonFieldValidationFailed,
8174		ValidationExceptionReasonOther,
8175	}
8176}
8177