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.
2466//
2467// API parameter values that are decorated as "sensitive" in the API will not
2468// be included in the string output. The member name will be present, but the
2469// value will be replaced with "sensitive".
2470func (s AccessDeniedException) String() string {
2471	return awsutil.Prettify(s)
2472}
2473
2474// GoString returns the string representation.
2475//
2476// API parameter values that are decorated as "sensitive" in the API will not
2477// be included in the string output. The member name will be present, but the
2478// value will be replaced with "sensitive".
2479func (s AccessDeniedException) GoString() string {
2480	return s.String()
2481}
2482
2483func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
2484	return &AccessDeniedException{
2485		RespMetadata: v,
2486	}
2487}
2488
2489// Code returns the exception type name.
2490func (s *AccessDeniedException) Code() string {
2491	return "AccessDeniedException"
2492}
2493
2494// Message returns the exception's message.
2495func (s *AccessDeniedException) Message() string {
2496	if s.Message_ != nil {
2497		return *s.Message_
2498	}
2499	return ""
2500}
2501
2502// OrigErr always returns nil, satisfies awserr.Error interface.
2503func (s *AccessDeniedException) OrigErr() error {
2504	return nil
2505}
2506
2507func (s *AccessDeniedException) Error() string {
2508	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
2509}
2510
2511// Status code returns the HTTP status code for the request's response error.
2512func (s *AccessDeniedException) StatusCode() int {
2513	return s.RespMetadata.StatusCode
2514}
2515
2516// RequestID returns the service's response RequestID for request.
2517func (s *AccessDeniedException) RequestID() string {
2518	return s.RespMetadata.RequestID
2519}
2520
2521// Source server CPU information.
2522type CPU struct {
2523	_ struct{} `type:"structure"`
2524
2525	// The number of CPU cores on the source server.
2526	Cores *int64 `locationName:"cores" type:"long"`
2527
2528	// The source server's CPU model name.
2529	ModelName *string `locationName:"modelName" type:"string"`
2530}
2531
2532// String returns the string representation.
2533//
2534// API parameter values that are decorated as "sensitive" in the API will not
2535// be included in the string output. The member name will be present, but the
2536// value will be replaced with "sensitive".
2537func (s CPU) String() string {
2538	return awsutil.Prettify(s)
2539}
2540
2541// GoString returns the string representation.
2542//
2543// API parameter values that are decorated as "sensitive" in the API will not
2544// be included in the string output. The member name will be present, but the
2545// value will be replaced with "sensitive".
2546func (s CPU) GoString() string {
2547	return s.String()
2548}
2549
2550// SetCores sets the Cores field's value.
2551func (s *CPU) SetCores(v int64) *CPU {
2552	s.Cores = &v
2553	return s
2554}
2555
2556// SetModelName sets the ModelName field's value.
2557func (s *CPU) SetModelName(v string) *CPU {
2558	s.ModelName = &v
2559	return s
2560}
2561
2562type ChangeServerLifeCycleStateInput struct {
2563	_ struct{} `type:"structure"`
2564
2565	// The request to change the source server migration lifecycle state.
2566	//
2567	// LifeCycle is a required field
2568	LifeCycle *ChangeServerLifeCycleStateSourceServerLifecycle `locationName:"lifeCycle" type:"structure" required:"true"`
2569
2570	// The request to change the source server migration lifecycle state by source
2571	// server ID.
2572	//
2573	// SourceServerID is a required field
2574	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"`
2575}
2576
2577// String returns the string representation.
2578//
2579// API parameter values that are decorated as "sensitive" in the API will not
2580// be included in the string output. The member name will be present, but the
2581// value will be replaced with "sensitive".
2582func (s ChangeServerLifeCycleStateInput) String() string {
2583	return awsutil.Prettify(s)
2584}
2585
2586// GoString returns the string representation.
2587//
2588// API parameter values that are decorated as "sensitive" in the API will not
2589// be included in the string output. The member name will be present, but the
2590// value will be replaced with "sensitive".
2591func (s ChangeServerLifeCycleStateInput) GoString() string {
2592	return s.String()
2593}
2594
2595// Validate inspects the fields of the type to determine if they are valid.
2596func (s *ChangeServerLifeCycleStateInput) Validate() error {
2597	invalidParams := request.ErrInvalidParams{Context: "ChangeServerLifeCycleStateInput"}
2598	if s.LifeCycle == nil {
2599		invalidParams.Add(request.NewErrParamRequired("LifeCycle"))
2600	}
2601	if s.SourceServerID == nil {
2602		invalidParams.Add(request.NewErrParamRequired("SourceServerID"))
2603	}
2604	if s.SourceServerID != nil && len(*s.SourceServerID) < 19 {
2605		invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19))
2606	}
2607	if s.LifeCycle != nil {
2608		if err := s.LifeCycle.Validate(); err != nil {
2609			invalidParams.AddNested("LifeCycle", err.(request.ErrInvalidParams))
2610		}
2611	}
2612
2613	if invalidParams.Len() > 0 {
2614		return invalidParams
2615	}
2616	return nil
2617}
2618
2619// SetLifeCycle sets the LifeCycle field's value.
2620func (s *ChangeServerLifeCycleStateInput) SetLifeCycle(v *ChangeServerLifeCycleStateSourceServerLifecycle) *ChangeServerLifeCycleStateInput {
2621	s.LifeCycle = v
2622	return s
2623}
2624
2625// SetSourceServerID sets the SourceServerID field's value.
2626func (s *ChangeServerLifeCycleStateInput) SetSourceServerID(v string) *ChangeServerLifeCycleStateInput {
2627	s.SourceServerID = &v
2628	return s
2629}
2630
2631type ChangeServerLifeCycleStateOutput struct {
2632	_ struct{} `type:"structure"`
2633
2634	// Source server ARN.
2635	Arn *string `locationName:"arn" min:"20" type:"string"`
2636
2637	// Source server data replication info.
2638	DataReplicationInfo *DataReplicationInfo `locationName:"dataReplicationInfo" type:"structure"`
2639
2640	// Source server archived status.
2641	IsArchived *bool `locationName:"isArchived" type:"boolean"`
2642
2643	// Source server launched instance.
2644	LaunchedInstance *LaunchedInstance `locationName:"launchedInstance" type:"structure"`
2645
2646	// Source server lifecycle state.
2647	LifeCycle *LifeCycle `locationName:"lifeCycle" type:"structure"`
2648
2649	// Source server properties.
2650	SourceProperties *SourceProperties `locationName:"sourceProperties" type:"structure"`
2651
2652	// Source server ID.
2653	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
2654
2655	// Source server Tags.
2656	//
2657	// Tags is a sensitive parameter and its value will be
2658	// replaced with "sensitive" in string returned by ChangeServerLifeCycleStateOutput's
2659	// String and GoString methods.
2660	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
2661}
2662
2663// String returns the string representation.
2664//
2665// API parameter values that are decorated as "sensitive" in the API will not
2666// be included in the string output. The member name will be present, but the
2667// value will be replaced with "sensitive".
2668func (s ChangeServerLifeCycleStateOutput) String() string {
2669	return awsutil.Prettify(s)
2670}
2671
2672// GoString returns the string representation.
2673//
2674// API parameter values that are decorated as "sensitive" in the API will not
2675// be included in the string output. The member name will be present, but the
2676// value will be replaced with "sensitive".
2677func (s ChangeServerLifeCycleStateOutput) GoString() string {
2678	return s.String()
2679}
2680
2681// SetArn sets the Arn field's value.
2682func (s *ChangeServerLifeCycleStateOutput) SetArn(v string) *ChangeServerLifeCycleStateOutput {
2683	s.Arn = &v
2684	return s
2685}
2686
2687// SetDataReplicationInfo sets the DataReplicationInfo field's value.
2688func (s *ChangeServerLifeCycleStateOutput) SetDataReplicationInfo(v *DataReplicationInfo) *ChangeServerLifeCycleStateOutput {
2689	s.DataReplicationInfo = v
2690	return s
2691}
2692
2693// SetIsArchived sets the IsArchived field's value.
2694func (s *ChangeServerLifeCycleStateOutput) SetIsArchived(v bool) *ChangeServerLifeCycleStateOutput {
2695	s.IsArchived = &v
2696	return s
2697}
2698
2699// SetLaunchedInstance sets the LaunchedInstance field's value.
2700func (s *ChangeServerLifeCycleStateOutput) SetLaunchedInstance(v *LaunchedInstance) *ChangeServerLifeCycleStateOutput {
2701	s.LaunchedInstance = v
2702	return s
2703}
2704
2705// SetLifeCycle sets the LifeCycle field's value.
2706func (s *ChangeServerLifeCycleStateOutput) SetLifeCycle(v *LifeCycle) *ChangeServerLifeCycleStateOutput {
2707	s.LifeCycle = v
2708	return s
2709}
2710
2711// SetSourceProperties sets the SourceProperties field's value.
2712func (s *ChangeServerLifeCycleStateOutput) SetSourceProperties(v *SourceProperties) *ChangeServerLifeCycleStateOutput {
2713	s.SourceProperties = v
2714	return s
2715}
2716
2717// SetSourceServerID sets the SourceServerID field's value.
2718func (s *ChangeServerLifeCycleStateOutput) SetSourceServerID(v string) *ChangeServerLifeCycleStateOutput {
2719	s.SourceServerID = &v
2720	return s
2721}
2722
2723// SetTags sets the Tags field's value.
2724func (s *ChangeServerLifeCycleStateOutput) SetTags(v map[string]*string) *ChangeServerLifeCycleStateOutput {
2725	s.Tags = v
2726	return s
2727}
2728
2729// The request to change the source server migration lifecycle state.
2730type ChangeServerLifeCycleStateSourceServerLifecycle struct {
2731	_ struct{} `type:"structure"`
2732
2733	// The request to change the source server migration lifecycle state.
2734	//
2735	// State is a required field
2736	State *string `locationName:"state" type:"string" required:"true" enum:"ChangeServerLifeCycleStateSourceServerLifecycleState"`
2737}
2738
2739// String returns the string representation.
2740//
2741// API parameter values that are decorated as "sensitive" in the API will not
2742// be included in the string output. The member name will be present, but the
2743// value will be replaced with "sensitive".
2744func (s ChangeServerLifeCycleStateSourceServerLifecycle) String() string {
2745	return awsutil.Prettify(s)
2746}
2747
2748// GoString returns the string representation.
2749//
2750// API parameter values that are decorated as "sensitive" in the API will not
2751// be included in the string output. The member name will be present, but the
2752// value will be replaced with "sensitive".
2753func (s ChangeServerLifeCycleStateSourceServerLifecycle) GoString() string {
2754	return s.String()
2755}
2756
2757// Validate inspects the fields of the type to determine if they are valid.
2758func (s *ChangeServerLifeCycleStateSourceServerLifecycle) Validate() error {
2759	invalidParams := request.ErrInvalidParams{Context: "ChangeServerLifeCycleStateSourceServerLifecycle"}
2760	if s.State == nil {
2761		invalidParams.Add(request.NewErrParamRequired("State"))
2762	}
2763
2764	if invalidParams.Len() > 0 {
2765		return invalidParams
2766	}
2767	return nil
2768}
2769
2770// SetState sets the State field's value.
2771func (s *ChangeServerLifeCycleStateSourceServerLifecycle) SetState(v string) *ChangeServerLifeCycleStateSourceServerLifecycle {
2772	s.State = &v
2773	return s
2774}
2775
2776// The request could not be completed due to a conflict with the current state
2777// of the target resource.
2778type ConflictException struct {
2779	_            struct{}                  `type:"structure"`
2780	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2781
2782	Code_ *string `locationName:"code" type:"string"`
2783
2784	Message_ *string `locationName:"message" type:"string"`
2785
2786	// A conflict occured when prompting for the Resource ID.
2787	ResourceId *string `locationName:"resourceId" type:"string"`
2788
2789	// A conflict occured when prompting for resource type.
2790	ResourceType *string `locationName:"resourceType" type:"string"`
2791}
2792
2793// String returns the string representation.
2794//
2795// API parameter values that are decorated as "sensitive" in the API will not
2796// be included in the string output. The member name will be present, but the
2797// value will be replaced with "sensitive".
2798func (s ConflictException) String() string {
2799	return awsutil.Prettify(s)
2800}
2801
2802// GoString returns the string representation.
2803//
2804// API parameter values that are decorated as "sensitive" in the API will not
2805// be included in the string output. The member name will be present, but the
2806// value will be replaced with "sensitive".
2807func (s ConflictException) GoString() string {
2808	return s.String()
2809}
2810
2811func newErrorConflictException(v protocol.ResponseMetadata) error {
2812	return &ConflictException{
2813		RespMetadata: v,
2814	}
2815}
2816
2817// Code returns the exception type name.
2818func (s *ConflictException) Code() string {
2819	return "ConflictException"
2820}
2821
2822// Message returns the exception's message.
2823func (s *ConflictException) Message() string {
2824	if s.Message_ != nil {
2825		return *s.Message_
2826	}
2827	return ""
2828}
2829
2830// OrigErr always returns nil, satisfies awserr.Error interface.
2831func (s *ConflictException) OrigErr() error {
2832	return nil
2833}
2834
2835func (s *ConflictException) Error() string {
2836	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
2837}
2838
2839// Status code returns the HTTP status code for the request's response error.
2840func (s *ConflictException) StatusCode() int {
2841	return s.RespMetadata.StatusCode
2842}
2843
2844// RequestID returns the service's response RequestID for request.
2845func (s *ConflictException) RequestID() string {
2846	return s.RespMetadata.RequestID
2847}
2848
2849type CreateReplicationConfigurationTemplateInput struct {
2850	_ struct{} `type:"structure"`
2851
2852	// Request to associate the default Application Migration Service Security group
2853	// with the Replication Settings template.
2854	//
2855	// AssociateDefaultSecurityGroup is a required field
2856	AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean" required:"true"`
2857
2858	// Request to configure bandwidth throttling during Replication Settings template
2859	// creation.
2860	//
2861	// BandwidthThrottling is a required field
2862	BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long" required:"true"`
2863
2864	// Request to create Public IP during Replication Settings template creation.
2865	//
2866	// CreatePublicIP is a required field
2867	CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean" required:"true"`
2868
2869	// Request to configure data plane routing during Replication Settings template
2870	// creation.
2871	//
2872	// DataPlaneRouting is a required field
2873	DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" required:"true" enum:"ReplicationConfigurationDataPlaneRouting"`
2874
2875	// Request to configure the Staging Disk EBS volume type to "gp2" during Replication
2876	// Settings template creation.
2877	//
2878	// DefaultLargeStagingDiskType is a required field
2879	DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" required:"true" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"`
2880
2881	// Request to configure EBS enryption during Replication Settings template creation.
2882	//
2883	// EbsEncryption is a required field
2884	EbsEncryption *string `locationName:"ebsEncryption" type:"string" required:"true" enum:"ReplicationConfigurationEbsEncryption"`
2885
2886	// Request to configure an EBS enryption key during Replication Settings template
2887	// creation.
2888	EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"`
2889
2890	// Request to configure the Replication Server instance type during Replication
2891	// Settings template creation.
2892	//
2893	// ReplicationServerInstanceType is a required field
2894	ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string" required:"true"`
2895
2896	// Request to configure the Replication Server Secuirity group ID during Replication
2897	// Settings template creation.
2898	//
2899	// ReplicationServersSecurityGroupsIDs is a required field
2900	ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list" required:"true"`
2901
2902	// Request to configure the Staging Area subnet ID during Replication Settings
2903	// template creation.
2904	//
2905	// StagingAreaSubnetId is a required field
2906	StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string" required:"true"`
2907
2908	// Request to configure Staiging Area tags during Replication Settings template
2909	// creation.
2910	//
2911	// StagingAreaTags is a sensitive parameter and its value will be
2912	// replaced with "sensitive" in string returned by CreateReplicationConfigurationTemplateInput's
2913	// String and GoString methods.
2914	//
2915	// StagingAreaTags is a required field
2916	StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" required:"true" sensitive:"true"`
2917
2918	// Request to configure tags during Replication Settings template creation.
2919	//
2920	// Tags is a sensitive parameter and its value will be
2921	// replaced with "sensitive" in string returned by CreateReplicationConfigurationTemplateInput's
2922	// String and GoString methods.
2923	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
2924
2925	// Request to use Dedicated Replication Servers during Replication Settings
2926	// template creation.
2927	//
2928	// UseDedicatedReplicationServer is a required field
2929	UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean" required:"true"`
2930}
2931
2932// String returns the string representation.
2933//
2934// API parameter values that are decorated as "sensitive" in the API will not
2935// be included in the string output. The member name will be present, but the
2936// value will be replaced with "sensitive".
2937func (s CreateReplicationConfigurationTemplateInput) String() string {
2938	return awsutil.Prettify(s)
2939}
2940
2941// GoString returns the string representation.
2942//
2943// API parameter values that are decorated as "sensitive" in the API will not
2944// be included in the string output. The member name will be present, but the
2945// value will be replaced with "sensitive".
2946func (s CreateReplicationConfigurationTemplateInput) GoString() string {
2947	return s.String()
2948}
2949
2950// Validate inspects the fields of the type to determine if they are valid.
2951func (s *CreateReplicationConfigurationTemplateInput) Validate() error {
2952	invalidParams := request.ErrInvalidParams{Context: "CreateReplicationConfigurationTemplateInput"}
2953	if s.AssociateDefaultSecurityGroup == nil {
2954		invalidParams.Add(request.NewErrParamRequired("AssociateDefaultSecurityGroup"))
2955	}
2956	if s.BandwidthThrottling == nil {
2957		invalidParams.Add(request.NewErrParamRequired("BandwidthThrottling"))
2958	}
2959	if s.CreatePublicIP == nil {
2960		invalidParams.Add(request.NewErrParamRequired("CreatePublicIP"))
2961	}
2962	if s.DataPlaneRouting == nil {
2963		invalidParams.Add(request.NewErrParamRequired("DataPlaneRouting"))
2964	}
2965	if s.DefaultLargeStagingDiskType == nil {
2966		invalidParams.Add(request.NewErrParamRequired("DefaultLargeStagingDiskType"))
2967	}
2968	if s.EbsEncryption == nil {
2969		invalidParams.Add(request.NewErrParamRequired("EbsEncryption"))
2970	}
2971	if s.EbsEncryptionKeyArn != nil && len(*s.EbsEncryptionKeyArn) < 20 {
2972		invalidParams.Add(request.NewErrParamMinLen("EbsEncryptionKeyArn", 20))
2973	}
2974	if s.ReplicationServerInstanceType == nil {
2975		invalidParams.Add(request.NewErrParamRequired("ReplicationServerInstanceType"))
2976	}
2977	if s.ReplicationServersSecurityGroupsIDs == nil {
2978		invalidParams.Add(request.NewErrParamRequired("ReplicationServersSecurityGroupsIDs"))
2979	}
2980	if s.StagingAreaSubnetId == nil {
2981		invalidParams.Add(request.NewErrParamRequired("StagingAreaSubnetId"))
2982	}
2983	if s.StagingAreaTags == nil {
2984		invalidParams.Add(request.NewErrParamRequired("StagingAreaTags"))
2985	}
2986	if s.UseDedicatedReplicationServer == nil {
2987		invalidParams.Add(request.NewErrParamRequired("UseDedicatedReplicationServer"))
2988	}
2989
2990	if invalidParams.Len() > 0 {
2991		return invalidParams
2992	}
2993	return nil
2994}
2995
2996// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value.
2997func (s *CreateReplicationConfigurationTemplateInput) SetAssociateDefaultSecurityGroup(v bool) *CreateReplicationConfigurationTemplateInput {
2998	s.AssociateDefaultSecurityGroup = &v
2999	return s
3000}
3001
3002// SetBandwidthThrottling sets the BandwidthThrottling field's value.
3003func (s *CreateReplicationConfigurationTemplateInput) SetBandwidthThrottling(v int64) *CreateReplicationConfigurationTemplateInput {
3004	s.BandwidthThrottling = &v
3005	return s
3006}
3007
3008// SetCreatePublicIP sets the CreatePublicIP field's value.
3009func (s *CreateReplicationConfigurationTemplateInput) SetCreatePublicIP(v bool) *CreateReplicationConfigurationTemplateInput {
3010	s.CreatePublicIP = &v
3011	return s
3012}
3013
3014// SetDataPlaneRouting sets the DataPlaneRouting field's value.
3015func (s *CreateReplicationConfigurationTemplateInput) SetDataPlaneRouting(v string) *CreateReplicationConfigurationTemplateInput {
3016	s.DataPlaneRouting = &v
3017	return s
3018}
3019
3020// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value.
3021func (s *CreateReplicationConfigurationTemplateInput) SetDefaultLargeStagingDiskType(v string) *CreateReplicationConfigurationTemplateInput {
3022	s.DefaultLargeStagingDiskType = &v
3023	return s
3024}
3025
3026// SetEbsEncryption sets the EbsEncryption field's value.
3027func (s *CreateReplicationConfigurationTemplateInput) SetEbsEncryption(v string) *CreateReplicationConfigurationTemplateInput {
3028	s.EbsEncryption = &v
3029	return s
3030}
3031
3032// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value.
3033func (s *CreateReplicationConfigurationTemplateInput) SetEbsEncryptionKeyArn(v string) *CreateReplicationConfigurationTemplateInput {
3034	s.EbsEncryptionKeyArn = &v
3035	return s
3036}
3037
3038// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value.
3039func (s *CreateReplicationConfigurationTemplateInput) SetReplicationServerInstanceType(v string) *CreateReplicationConfigurationTemplateInput {
3040	s.ReplicationServerInstanceType = &v
3041	return s
3042}
3043
3044// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value.
3045func (s *CreateReplicationConfigurationTemplateInput) SetReplicationServersSecurityGroupsIDs(v []*string) *CreateReplicationConfigurationTemplateInput {
3046	s.ReplicationServersSecurityGroupsIDs = v
3047	return s
3048}
3049
3050// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value.
3051func (s *CreateReplicationConfigurationTemplateInput) SetStagingAreaSubnetId(v string) *CreateReplicationConfigurationTemplateInput {
3052	s.StagingAreaSubnetId = &v
3053	return s
3054}
3055
3056// SetStagingAreaTags sets the StagingAreaTags field's value.
3057func (s *CreateReplicationConfigurationTemplateInput) SetStagingAreaTags(v map[string]*string) *CreateReplicationConfigurationTemplateInput {
3058	s.StagingAreaTags = v
3059	return s
3060}
3061
3062// SetTags sets the Tags field's value.
3063func (s *CreateReplicationConfigurationTemplateInput) SetTags(v map[string]*string) *CreateReplicationConfigurationTemplateInput {
3064	s.Tags = v
3065	return s
3066}
3067
3068// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value.
3069func (s *CreateReplicationConfigurationTemplateInput) SetUseDedicatedReplicationServer(v bool) *CreateReplicationConfigurationTemplateInput {
3070	s.UseDedicatedReplicationServer = &v
3071	return s
3072}
3073
3074type CreateReplicationConfigurationTemplateOutput struct {
3075	_ struct{} `type:"structure"`
3076
3077	// Replication Configuration template ARN.
3078	Arn *string `locationName:"arn" min:"20" type:"string"`
3079
3080	// Replication Configuration template associate default Application Migration
3081	// Service Security group.
3082	AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean"`
3083
3084	// Replication Configuration template bandwidth throtting.
3085	BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"`
3086
3087	// Replication Configuration template create Public IP.
3088	CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean"`
3089
3090	// Replication Configuration template data plane routing.
3091	DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" enum:"ReplicationConfigurationDataPlaneRouting"`
3092
3093	// Replication Configuration template use dedault large Staging Disk type.
3094	DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"`
3095
3096	// Replication Configuration template EBS encryption.
3097	EbsEncryption *string `locationName:"ebsEncryption" type:"string" enum:"ReplicationConfigurationEbsEncryption"`
3098
3099	// Replication Configuration template EBS encryption key ARN.
3100	EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"`
3101
3102	// Replication Configuration template template ID.
3103	//
3104	// ReplicationConfigurationTemplateID is a required field
3105	ReplicationConfigurationTemplateID *string `locationName:"replicationConfigurationTemplateID" min:"21" type:"string" required:"true"`
3106
3107	// Replication Configuration template server instance type.
3108	ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string"`
3109
3110	// Replication Configuration template server Security Groups IDs.
3111	ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list"`
3112
3113	// Replication Configuration template Staging Area subnet ID.
3114	StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string"`
3115
3116	// Replication Configuration template Staging Area Tags.
3117	//
3118	// StagingAreaTags is a sensitive parameter and its value will be
3119	// replaced with "sensitive" in string returned by CreateReplicationConfigurationTemplateOutput's
3120	// String and GoString methods.
3121	StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" sensitive:"true"`
3122
3123	// Replication Configuration template Tags.
3124	//
3125	// Tags is a sensitive parameter and its value will be
3126	// replaced with "sensitive" in string returned by CreateReplicationConfigurationTemplateOutput's
3127	// String and GoString methods.
3128	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
3129
3130	// Replication Configuration template use Dedicated Replication Server.
3131	UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean"`
3132}
3133
3134// String returns the string representation.
3135//
3136// API parameter values that are decorated as "sensitive" in the API will not
3137// be included in the string output. The member name will be present, but the
3138// value will be replaced with "sensitive".
3139func (s CreateReplicationConfigurationTemplateOutput) String() string {
3140	return awsutil.Prettify(s)
3141}
3142
3143// GoString returns the string representation.
3144//
3145// API parameter values that are decorated as "sensitive" in the API will not
3146// be included in the string output. The member name will be present, but the
3147// value will be replaced with "sensitive".
3148func (s CreateReplicationConfigurationTemplateOutput) GoString() string {
3149	return s.String()
3150}
3151
3152// SetArn sets the Arn field's value.
3153func (s *CreateReplicationConfigurationTemplateOutput) SetArn(v string) *CreateReplicationConfigurationTemplateOutput {
3154	s.Arn = &v
3155	return s
3156}
3157
3158// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value.
3159func (s *CreateReplicationConfigurationTemplateOutput) SetAssociateDefaultSecurityGroup(v bool) *CreateReplicationConfigurationTemplateOutput {
3160	s.AssociateDefaultSecurityGroup = &v
3161	return s
3162}
3163
3164// SetBandwidthThrottling sets the BandwidthThrottling field's value.
3165func (s *CreateReplicationConfigurationTemplateOutput) SetBandwidthThrottling(v int64) *CreateReplicationConfigurationTemplateOutput {
3166	s.BandwidthThrottling = &v
3167	return s
3168}
3169
3170// SetCreatePublicIP sets the CreatePublicIP field's value.
3171func (s *CreateReplicationConfigurationTemplateOutput) SetCreatePublicIP(v bool) *CreateReplicationConfigurationTemplateOutput {
3172	s.CreatePublicIP = &v
3173	return s
3174}
3175
3176// SetDataPlaneRouting sets the DataPlaneRouting field's value.
3177func (s *CreateReplicationConfigurationTemplateOutput) SetDataPlaneRouting(v string) *CreateReplicationConfigurationTemplateOutput {
3178	s.DataPlaneRouting = &v
3179	return s
3180}
3181
3182// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value.
3183func (s *CreateReplicationConfigurationTemplateOutput) SetDefaultLargeStagingDiskType(v string) *CreateReplicationConfigurationTemplateOutput {
3184	s.DefaultLargeStagingDiskType = &v
3185	return s
3186}
3187
3188// SetEbsEncryption sets the EbsEncryption field's value.
3189func (s *CreateReplicationConfigurationTemplateOutput) SetEbsEncryption(v string) *CreateReplicationConfigurationTemplateOutput {
3190	s.EbsEncryption = &v
3191	return s
3192}
3193
3194// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value.
3195func (s *CreateReplicationConfigurationTemplateOutput) SetEbsEncryptionKeyArn(v string) *CreateReplicationConfigurationTemplateOutput {
3196	s.EbsEncryptionKeyArn = &v
3197	return s
3198}
3199
3200// SetReplicationConfigurationTemplateID sets the ReplicationConfigurationTemplateID field's value.
3201func (s *CreateReplicationConfigurationTemplateOutput) SetReplicationConfigurationTemplateID(v string) *CreateReplicationConfigurationTemplateOutput {
3202	s.ReplicationConfigurationTemplateID = &v
3203	return s
3204}
3205
3206// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value.
3207func (s *CreateReplicationConfigurationTemplateOutput) SetReplicationServerInstanceType(v string) *CreateReplicationConfigurationTemplateOutput {
3208	s.ReplicationServerInstanceType = &v
3209	return s
3210}
3211
3212// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value.
3213func (s *CreateReplicationConfigurationTemplateOutput) SetReplicationServersSecurityGroupsIDs(v []*string) *CreateReplicationConfigurationTemplateOutput {
3214	s.ReplicationServersSecurityGroupsIDs = v
3215	return s
3216}
3217
3218// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value.
3219func (s *CreateReplicationConfigurationTemplateOutput) SetStagingAreaSubnetId(v string) *CreateReplicationConfigurationTemplateOutput {
3220	s.StagingAreaSubnetId = &v
3221	return s
3222}
3223
3224// SetStagingAreaTags sets the StagingAreaTags field's value.
3225func (s *CreateReplicationConfigurationTemplateOutput) SetStagingAreaTags(v map[string]*string) *CreateReplicationConfigurationTemplateOutput {
3226	s.StagingAreaTags = v
3227	return s
3228}
3229
3230// SetTags sets the Tags field's value.
3231func (s *CreateReplicationConfigurationTemplateOutput) SetTags(v map[string]*string) *CreateReplicationConfigurationTemplateOutput {
3232	s.Tags = v
3233	return s
3234}
3235
3236// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value.
3237func (s *CreateReplicationConfigurationTemplateOutput) SetUseDedicatedReplicationServer(v bool) *CreateReplicationConfigurationTemplateOutput {
3238	s.UseDedicatedReplicationServer = &v
3239	return s
3240}
3241
3242// Error in data replication.
3243type DataReplicationError struct {
3244	_ struct{} `type:"structure"`
3245
3246	// Error in data replication.
3247	Error *string `locationName:"error" type:"string" enum:"DataReplicationErrorString"`
3248
3249	// Error in data replication.
3250	RawError *string `locationName:"rawError" type:"string"`
3251}
3252
3253// String returns the string representation.
3254//
3255// API parameter values that are decorated as "sensitive" in the API will not
3256// be included in the string output. The member name will be present, but the
3257// value will be replaced with "sensitive".
3258func (s DataReplicationError) String() string {
3259	return awsutil.Prettify(s)
3260}
3261
3262// GoString returns the string representation.
3263//
3264// API parameter values that are decorated as "sensitive" in the API will not
3265// be included in the string output. The member name will be present, but the
3266// value will be replaced with "sensitive".
3267func (s DataReplicationError) GoString() string {
3268	return s.String()
3269}
3270
3271// SetError sets the Error field's value.
3272func (s *DataReplicationError) SetError(v string) *DataReplicationError {
3273	s.Error = &v
3274	return s
3275}
3276
3277// SetRawError sets the RawError field's value.
3278func (s *DataReplicationError) SetRawError(v string) *DataReplicationError {
3279	s.RawError = &v
3280	return s
3281}
3282
3283// Request data replication info.
3284type DataReplicationInfo struct {
3285	_ struct{} `type:"structure"`
3286
3287	// Error in obtaining data replication info.
3288	DataReplicationError *DataReplicationError `locationName:"dataReplicationError" type:"structure"`
3289
3290	// Request to query whether data replication has been initiated.
3291	DataReplicationInitiation *DataReplicationInitiation `locationName:"dataReplicationInitiation" type:"structure"`
3292
3293	// Request to query the data replication state.
3294	DataReplicationState *string `locationName:"dataReplicationState" type:"string" enum:"DataReplicationState"`
3295
3296	// Request to query the time when data replication will be complete.
3297	EtaDateTime *string `locationName:"etaDateTime" min:"19" type:"string"`
3298
3299	// Request to query data replication lag durating.
3300	LagDuration *string `locationName:"lagDuration" min:"19" type:"string"`
3301
3302	// Request to query disks replicated.
3303	ReplicatedDisks []*DataReplicationInfoReplicatedDisk `locationName:"replicatedDisks" type:"list"`
3304}
3305
3306// String returns the string representation.
3307//
3308// API parameter values that are decorated as "sensitive" in the API will not
3309// be included in the string output. The member name will be present, but the
3310// value will be replaced with "sensitive".
3311func (s DataReplicationInfo) String() string {
3312	return awsutil.Prettify(s)
3313}
3314
3315// GoString returns the string representation.
3316//
3317// API parameter values that are decorated as "sensitive" in the API will not
3318// be included in the string output. The member name will be present, but the
3319// value will be replaced with "sensitive".
3320func (s DataReplicationInfo) GoString() string {
3321	return s.String()
3322}
3323
3324// SetDataReplicationError sets the DataReplicationError field's value.
3325func (s *DataReplicationInfo) SetDataReplicationError(v *DataReplicationError) *DataReplicationInfo {
3326	s.DataReplicationError = v
3327	return s
3328}
3329
3330// SetDataReplicationInitiation sets the DataReplicationInitiation field's value.
3331func (s *DataReplicationInfo) SetDataReplicationInitiation(v *DataReplicationInitiation) *DataReplicationInfo {
3332	s.DataReplicationInitiation = v
3333	return s
3334}
3335
3336// SetDataReplicationState sets the DataReplicationState field's value.
3337func (s *DataReplicationInfo) SetDataReplicationState(v string) *DataReplicationInfo {
3338	s.DataReplicationState = &v
3339	return s
3340}
3341
3342// SetEtaDateTime sets the EtaDateTime field's value.
3343func (s *DataReplicationInfo) SetEtaDateTime(v string) *DataReplicationInfo {
3344	s.EtaDateTime = &v
3345	return s
3346}
3347
3348// SetLagDuration sets the LagDuration field's value.
3349func (s *DataReplicationInfo) SetLagDuration(v string) *DataReplicationInfo {
3350	s.LagDuration = &v
3351	return s
3352}
3353
3354// SetReplicatedDisks sets the ReplicatedDisks field's value.
3355func (s *DataReplicationInfo) SetReplicatedDisks(v []*DataReplicationInfoReplicatedDisk) *DataReplicationInfo {
3356	s.ReplicatedDisks = v
3357	return s
3358}
3359
3360// Request to query disks replicated.
3361type DataReplicationInfoReplicatedDisk struct {
3362	_ struct{} `type:"structure"`
3363
3364	// Request to query data replication backlog size in bytes.
3365	BackloggedStorageBytes *int64 `locationName:"backloggedStorageBytes" type:"long"`
3366
3367	// Request to query device name.
3368	DeviceName *string `locationName:"deviceName" type:"string"`
3369
3370	// Request to query amount of data replicated in bytes.
3371	ReplicatedStorageBytes *int64 `locationName:"replicatedStorageBytes" type:"long"`
3372
3373	// Request to query amount of data rescanned in bytes.
3374	RescannedStorageBytes *int64 `locationName:"rescannedStorageBytes" type:"long"`
3375
3376	// Request to query total amount of data replicated in bytes.
3377	TotalStorageBytes *int64 `locationName:"totalStorageBytes" type:"long"`
3378}
3379
3380// String returns the string representation.
3381//
3382// API parameter values that are decorated as "sensitive" in the API will not
3383// be included in the string output. The member name will be present, but the
3384// value will be replaced with "sensitive".
3385func (s DataReplicationInfoReplicatedDisk) String() string {
3386	return awsutil.Prettify(s)
3387}
3388
3389// GoString returns the string representation.
3390//
3391// API parameter values that are decorated as "sensitive" in the API will not
3392// be included in the string output. The member name will be present, but the
3393// value will be replaced with "sensitive".
3394func (s DataReplicationInfoReplicatedDisk) GoString() string {
3395	return s.String()
3396}
3397
3398// SetBackloggedStorageBytes sets the BackloggedStorageBytes field's value.
3399func (s *DataReplicationInfoReplicatedDisk) SetBackloggedStorageBytes(v int64) *DataReplicationInfoReplicatedDisk {
3400	s.BackloggedStorageBytes = &v
3401	return s
3402}
3403
3404// SetDeviceName sets the DeviceName field's value.
3405func (s *DataReplicationInfoReplicatedDisk) SetDeviceName(v string) *DataReplicationInfoReplicatedDisk {
3406	s.DeviceName = &v
3407	return s
3408}
3409
3410// SetReplicatedStorageBytes sets the ReplicatedStorageBytes field's value.
3411func (s *DataReplicationInfoReplicatedDisk) SetReplicatedStorageBytes(v int64) *DataReplicationInfoReplicatedDisk {
3412	s.ReplicatedStorageBytes = &v
3413	return s
3414}
3415
3416// SetRescannedStorageBytes sets the RescannedStorageBytes field's value.
3417func (s *DataReplicationInfoReplicatedDisk) SetRescannedStorageBytes(v int64) *DataReplicationInfoReplicatedDisk {
3418	s.RescannedStorageBytes = &v
3419	return s
3420}
3421
3422// SetTotalStorageBytes sets the TotalStorageBytes field's value.
3423func (s *DataReplicationInfoReplicatedDisk) SetTotalStorageBytes(v int64) *DataReplicationInfoReplicatedDisk {
3424	s.TotalStorageBytes = &v
3425	return s
3426}
3427
3428// Data replication initiation.
3429type DataReplicationInitiation struct {
3430	_ struct{} `type:"structure"`
3431
3432	// Request to query next data initiation date and time.
3433	NextAttemptDateTime *string `locationName:"nextAttemptDateTime" min:"19" type:"string"`
3434
3435	// Request to query data initiation start date and time.
3436	StartDateTime *string `locationName:"startDateTime" min:"19" type:"string"`
3437
3438	// Request to query data initiation steps.
3439	Steps []*DataReplicationInitiationStep `locationName:"steps" type:"list"`
3440}
3441
3442// String returns the string representation.
3443//
3444// API parameter values that are decorated as "sensitive" in the API will not
3445// be included in the string output. The member name will be present, but the
3446// value will be replaced with "sensitive".
3447func (s DataReplicationInitiation) String() string {
3448	return awsutil.Prettify(s)
3449}
3450
3451// GoString returns the string representation.
3452//
3453// API parameter values that are decorated as "sensitive" in the API will not
3454// be included in the string output. The member name will be present, but the
3455// value will be replaced with "sensitive".
3456func (s DataReplicationInitiation) GoString() string {
3457	return s.String()
3458}
3459
3460// SetNextAttemptDateTime sets the NextAttemptDateTime field's value.
3461func (s *DataReplicationInitiation) SetNextAttemptDateTime(v string) *DataReplicationInitiation {
3462	s.NextAttemptDateTime = &v
3463	return s
3464}
3465
3466// SetStartDateTime sets the StartDateTime field's value.
3467func (s *DataReplicationInitiation) SetStartDateTime(v string) *DataReplicationInitiation {
3468	s.StartDateTime = &v
3469	return s
3470}
3471
3472// SetSteps sets the Steps field's value.
3473func (s *DataReplicationInitiation) SetSteps(v []*DataReplicationInitiationStep) *DataReplicationInitiation {
3474	s.Steps = v
3475	return s
3476}
3477
3478// Data replication intiation step.
3479type DataReplicationInitiationStep struct {
3480	_ struct{} `type:"structure"`
3481
3482	// Request to query data initiation step name.
3483	Name *string `locationName:"name" type:"string" enum:"DataReplicationInitiationStepName"`
3484
3485	// Request to query data initiation status.
3486	Status *string `locationName:"status" type:"string" enum:"DataReplicationInitiationStepStatus"`
3487}
3488
3489// String returns the string representation.
3490//
3491// API parameter values that are decorated as "sensitive" in the API will not
3492// be included in the string output. The member name will be present, but the
3493// value will be replaced with "sensitive".
3494func (s DataReplicationInitiationStep) String() string {
3495	return awsutil.Prettify(s)
3496}
3497
3498// GoString returns the string representation.
3499//
3500// API parameter values that are decorated as "sensitive" in the API will not
3501// be included in the string output. The member name will be present, but the
3502// value will be replaced with "sensitive".
3503func (s DataReplicationInitiationStep) GoString() string {
3504	return s.String()
3505}
3506
3507// SetName sets the Name field's value.
3508func (s *DataReplicationInitiationStep) SetName(v string) *DataReplicationInitiationStep {
3509	s.Name = &v
3510	return s
3511}
3512
3513// SetStatus sets the Status field's value.
3514func (s *DataReplicationInitiationStep) SetStatus(v string) *DataReplicationInitiationStep {
3515	s.Status = &v
3516	return s
3517}
3518
3519type DeleteJobInput struct {
3520	_ struct{} `type:"structure"`
3521
3522	// Request to delete Job from service by Job ID.
3523	//
3524	// JobID is a required field
3525	JobID *string `locationName:"jobID" min:"24" type:"string" required:"true"`
3526}
3527
3528// String returns the string representation.
3529//
3530// API parameter values that are decorated as "sensitive" in the API will not
3531// be included in the string output. The member name will be present, but the
3532// value will be replaced with "sensitive".
3533func (s DeleteJobInput) String() string {
3534	return awsutil.Prettify(s)
3535}
3536
3537// GoString returns the string representation.
3538//
3539// API parameter values that are decorated as "sensitive" in the API will not
3540// be included in the string output. The member name will be present, but the
3541// value will be replaced with "sensitive".
3542func (s DeleteJobInput) GoString() string {
3543	return s.String()
3544}
3545
3546// Validate inspects the fields of the type to determine if they are valid.
3547func (s *DeleteJobInput) Validate() error {
3548	invalidParams := request.ErrInvalidParams{Context: "DeleteJobInput"}
3549	if s.JobID == nil {
3550		invalidParams.Add(request.NewErrParamRequired("JobID"))
3551	}
3552	if s.JobID != nil && len(*s.JobID) < 24 {
3553		invalidParams.Add(request.NewErrParamMinLen("JobID", 24))
3554	}
3555
3556	if invalidParams.Len() > 0 {
3557		return invalidParams
3558	}
3559	return nil
3560}
3561
3562// SetJobID sets the JobID field's value.
3563func (s *DeleteJobInput) SetJobID(v string) *DeleteJobInput {
3564	s.JobID = &v
3565	return s
3566}
3567
3568type DeleteJobOutput struct {
3569	_ struct{} `type:"structure"`
3570}
3571
3572// String returns the string representation.
3573//
3574// API parameter values that are decorated as "sensitive" in the API will not
3575// be included in the string output. The member name will be present, but the
3576// value will be replaced with "sensitive".
3577func (s DeleteJobOutput) String() string {
3578	return awsutil.Prettify(s)
3579}
3580
3581// GoString returns the string representation.
3582//
3583// API parameter values that are decorated as "sensitive" in the API will not
3584// be included in the string output. The member name will be present, but the
3585// value will be replaced with "sensitive".
3586func (s DeleteJobOutput) GoString() string {
3587	return s.String()
3588}
3589
3590type DeleteReplicationConfigurationTemplateInput struct {
3591	_ struct{} `type:"structure"`
3592
3593	// Request to delete Replication Configuration Template from service by Replication
3594	// Configuration Template ID.
3595	//
3596	// ReplicationConfigurationTemplateID is a required field
3597	ReplicationConfigurationTemplateID *string `locationName:"replicationConfigurationTemplateID" min:"21" type:"string" required:"true"`
3598}
3599
3600// String returns the string representation.
3601//
3602// API parameter values that are decorated as "sensitive" in the API will not
3603// be included in the string output. The member name will be present, but the
3604// value will be replaced with "sensitive".
3605func (s DeleteReplicationConfigurationTemplateInput) String() string {
3606	return awsutil.Prettify(s)
3607}
3608
3609// GoString returns the string representation.
3610//
3611// API parameter values that are decorated as "sensitive" in the API will not
3612// be included in the string output. The member name will be present, but the
3613// value will be replaced with "sensitive".
3614func (s DeleteReplicationConfigurationTemplateInput) GoString() string {
3615	return s.String()
3616}
3617
3618// Validate inspects the fields of the type to determine if they are valid.
3619func (s *DeleteReplicationConfigurationTemplateInput) Validate() error {
3620	invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationConfigurationTemplateInput"}
3621	if s.ReplicationConfigurationTemplateID == nil {
3622		invalidParams.Add(request.NewErrParamRequired("ReplicationConfigurationTemplateID"))
3623	}
3624	if s.ReplicationConfigurationTemplateID != nil && len(*s.ReplicationConfigurationTemplateID) < 21 {
3625		invalidParams.Add(request.NewErrParamMinLen("ReplicationConfigurationTemplateID", 21))
3626	}
3627
3628	if invalidParams.Len() > 0 {
3629		return invalidParams
3630	}
3631	return nil
3632}
3633
3634// SetReplicationConfigurationTemplateID sets the ReplicationConfigurationTemplateID field's value.
3635func (s *DeleteReplicationConfigurationTemplateInput) SetReplicationConfigurationTemplateID(v string) *DeleteReplicationConfigurationTemplateInput {
3636	s.ReplicationConfigurationTemplateID = &v
3637	return s
3638}
3639
3640type DeleteReplicationConfigurationTemplateOutput struct {
3641	_ struct{} `type:"structure"`
3642}
3643
3644// String returns the string representation.
3645//
3646// API parameter values that are decorated as "sensitive" in the API will not
3647// be included in the string output. The member name will be present, but the
3648// value will be replaced with "sensitive".
3649func (s DeleteReplicationConfigurationTemplateOutput) String() string {
3650	return awsutil.Prettify(s)
3651}
3652
3653// GoString returns the string representation.
3654//
3655// API parameter values that are decorated as "sensitive" in the API will not
3656// be included in the string output. The member name will be present, but the
3657// value will be replaced with "sensitive".
3658func (s DeleteReplicationConfigurationTemplateOutput) GoString() string {
3659	return s.String()
3660}
3661
3662type DeleteSourceServerInput struct {
3663	_ struct{} `type:"structure"`
3664
3665	// Request to delete Source Server from service by Server ID.
3666	//
3667	// SourceServerID is a required field
3668	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"`
3669}
3670
3671// String returns the string representation.
3672//
3673// API parameter values that are decorated as "sensitive" in the API will not
3674// be included in the string output. The member name will be present, but the
3675// value will be replaced with "sensitive".
3676func (s DeleteSourceServerInput) String() string {
3677	return awsutil.Prettify(s)
3678}
3679
3680// GoString returns the string representation.
3681//
3682// API parameter values that are decorated as "sensitive" in the API will not
3683// be included in the string output. The member name will be present, but the
3684// value will be replaced with "sensitive".
3685func (s DeleteSourceServerInput) GoString() string {
3686	return s.String()
3687}
3688
3689// Validate inspects the fields of the type to determine if they are valid.
3690func (s *DeleteSourceServerInput) Validate() error {
3691	invalidParams := request.ErrInvalidParams{Context: "DeleteSourceServerInput"}
3692	if s.SourceServerID == nil {
3693		invalidParams.Add(request.NewErrParamRequired("SourceServerID"))
3694	}
3695	if s.SourceServerID != nil && len(*s.SourceServerID) < 19 {
3696		invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19))
3697	}
3698
3699	if invalidParams.Len() > 0 {
3700		return invalidParams
3701	}
3702	return nil
3703}
3704
3705// SetSourceServerID sets the SourceServerID field's value.
3706func (s *DeleteSourceServerInput) SetSourceServerID(v string) *DeleteSourceServerInput {
3707	s.SourceServerID = &v
3708	return s
3709}
3710
3711type DeleteSourceServerOutput struct {
3712	_ struct{} `type:"structure"`
3713}
3714
3715// String returns the string representation.
3716//
3717// API parameter values that are decorated as "sensitive" in the API will not
3718// be included in the string output. The member name will be present, but the
3719// value will be replaced with "sensitive".
3720func (s DeleteSourceServerOutput) String() string {
3721	return awsutil.Prettify(s)
3722}
3723
3724// GoString returns the string representation.
3725//
3726// API parameter values that are decorated as "sensitive" in the API will not
3727// be included in the string output. The member name will be present, but the
3728// value will be replaced with "sensitive".
3729func (s DeleteSourceServerOutput) GoString() string {
3730	return s.String()
3731}
3732
3733type DescribeJobLogItemsInput struct {
3734	_ struct{} `type:"structure"`
3735
3736	// Request to describe Job log job ID.
3737	//
3738	// JobID is a required field
3739	JobID *string `locationName:"jobID" min:"24" type:"string" required:"true"`
3740
3741	// Request to describe Job log item maximum results.
3742	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
3743
3744	// Request to describe Job log next token.
3745	NextToken *string `locationName:"nextToken" type:"string"`
3746}
3747
3748// String returns the string representation.
3749//
3750// API parameter values that are decorated as "sensitive" in the API will not
3751// be included in the string output. The member name will be present, but the
3752// value will be replaced with "sensitive".
3753func (s DescribeJobLogItemsInput) String() string {
3754	return awsutil.Prettify(s)
3755}
3756
3757// GoString returns the string representation.
3758//
3759// API parameter values that are decorated as "sensitive" in the API will not
3760// be included in the string output. The member name will be present, but the
3761// value will be replaced with "sensitive".
3762func (s DescribeJobLogItemsInput) GoString() string {
3763	return s.String()
3764}
3765
3766// Validate inspects the fields of the type to determine if they are valid.
3767func (s *DescribeJobLogItemsInput) Validate() error {
3768	invalidParams := request.ErrInvalidParams{Context: "DescribeJobLogItemsInput"}
3769	if s.JobID == nil {
3770		invalidParams.Add(request.NewErrParamRequired("JobID"))
3771	}
3772	if s.JobID != nil && len(*s.JobID) < 24 {
3773		invalidParams.Add(request.NewErrParamMinLen("JobID", 24))
3774	}
3775	if s.MaxResults != nil && *s.MaxResults < 1 {
3776		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3777	}
3778
3779	if invalidParams.Len() > 0 {
3780		return invalidParams
3781	}
3782	return nil
3783}
3784
3785// SetJobID sets the JobID field's value.
3786func (s *DescribeJobLogItemsInput) SetJobID(v string) *DescribeJobLogItemsInput {
3787	s.JobID = &v
3788	return s
3789}
3790
3791// SetMaxResults sets the MaxResults field's value.
3792func (s *DescribeJobLogItemsInput) SetMaxResults(v int64) *DescribeJobLogItemsInput {
3793	s.MaxResults = &v
3794	return s
3795}
3796
3797// SetNextToken sets the NextToken field's value.
3798func (s *DescribeJobLogItemsInput) SetNextToken(v string) *DescribeJobLogItemsInput {
3799	s.NextToken = &v
3800	return s
3801}
3802
3803type DescribeJobLogItemsOutput struct {
3804	_ struct{} `type:"structure"`
3805
3806	// Request to describe Job log response items.
3807	Items []*JobLog `locationName:"items" type:"list"`
3808
3809	// Request to describe Job log response next token.
3810	NextToken *string `locationName:"nextToken" type:"string"`
3811}
3812
3813// String returns the string representation.
3814//
3815// API parameter values that are decorated as "sensitive" in the API will not
3816// be included in the string output. The member name will be present, but the
3817// value will be replaced with "sensitive".
3818func (s DescribeJobLogItemsOutput) String() string {
3819	return awsutil.Prettify(s)
3820}
3821
3822// GoString returns the string representation.
3823//
3824// API parameter values that are decorated as "sensitive" in the API will not
3825// be included in the string output. The member name will be present, but the
3826// value will be replaced with "sensitive".
3827func (s DescribeJobLogItemsOutput) GoString() string {
3828	return s.String()
3829}
3830
3831// SetItems sets the Items field's value.
3832func (s *DescribeJobLogItemsOutput) SetItems(v []*JobLog) *DescribeJobLogItemsOutput {
3833	s.Items = v
3834	return s
3835}
3836
3837// SetNextToken sets the NextToken field's value.
3838func (s *DescribeJobLogItemsOutput) SetNextToken(v string) *DescribeJobLogItemsOutput {
3839	s.NextToken = &v
3840	return s
3841}
3842
3843type DescribeJobsInput struct {
3844	_ struct{} `type:"structure"`
3845
3846	// Request to describe Job log filters.
3847	//
3848	// Filters is a required field
3849	Filters *DescribeJobsRequestFilters `locationName:"filters" type:"structure" required:"true"`
3850
3851	// Request to describe Job log by max results.
3852	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
3853
3854	// Request to describe Job logby next token.
3855	NextToken *string `locationName:"nextToken" type:"string"`
3856}
3857
3858// String returns the string representation.
3859//
3860// API parameter values that are decorated as "sensitive" in the API will not
3861// be included in the string output. The member name will be present, but the
3862// value will be replaced with "sensitive".
3863func (s DescribeJobsInput) String() string {
3864	return awsutil.Prettify(s)
3865}
3866
3867// GoString returns the string representation.
3868//
3869// API parameter values that are decorated as "sensitive" in the API will not
3870// be included in the string output. The member name will be present, but the
3871// value will be replaced with "sensitive".
3872func (s DescribeJobsInput) GoString() string {
3873	return s.String()
3874}
3875
3876// Validate inspects the fields of the type to determine if they are valid.
3877func (s *DescribeJobsInput) Validate() error {
3878	invalidParams := request.ErrInvalidParams{Context: "DescribeJobsInput"}
3879	if s.Filters == nil {
3880		invalidParams.Add(request.NewErrParamRequired("Filters"))
3881	}
3882	if s.MaxResults != nil && *s.MaxResults < 1 {
3883		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3884	}
3885	if s.Filters != nil {
3886		if err := s.Filters.Validate(); err != nil {
3887			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
3888		}
3889	}
3890
3891	if invalidParams.Len() > 0 {
3892		return invalidParams
3893	}
3894	return nil
3895}
3896
3897// SetFilters sets the Filters field's value.
3898func (s *DescribeJobsInput) SetFilters(v *DescribeJobsRequestFilters) *DescribeJobsInput {
3899	s.Filters = v
3900	return s
3901}
3902
3903// SetMaxResults sets the MaxResults field's value.
3904func (s *DescribeJobsInput) SetMaxResults(v int64) *DescribeJobsInput {
3905	s.MaxResults = &v
3906	return s
3907}
3908
3909// SetNextToken sets the NextToken field's value.
3910func (s *DescribeJobsInput) SetNextToken(v string) *DescribeJobsInput {
3911	s.NextToken = &v
3912	return s
3913}
3914
3915type DescribeJobsOutput struct {
3916	_ struct{} `type:"structure"`
3917
3918	// Request to describe Job log items.
3919	Items []*Job `locationName:"items" type:"list"`
3920
3921	// Request to describe Job response by next token.
3922	NextToken *string `locationName:"nextToken" type:"string"`
3923}
3924
3925// String returns the string representation.
3926//
3927// API parameter values that are decorated as "sensitive" in the API will not
3928// be included in the string output. The member name will be present, but the
3929// value will be replaced with "sensitive".
3930func (s DescribeJobsOutput) String() string {
3931	return awsutil.Prettify(s)
3932}
3933
3934// GoString returns the string representation.
3935//
3936// API parameter values that are decorated as "sensitive" in the API will not
3937// be included in the string output. The member name will be present, but the
3938// value will be replaced with "sensitive".
3939func (s DescribeJobsOutput) GoString() string {
3940	return s.String()
3941}
3942
3943// SetItems sets the Items field's value.
3944func (s *DescribeJobsOutput) SetItems(v []*Job) *DescribeJobsOutput {
3945	s.Items = v
3946	return s
3947}
3948
3949// SetNextToken sets the NextToken field's value.
3950func (s *DescribeJobsOutput) SetNextToken(v string) *DescribeJobsOutput {
3951	s.NextToken = &v
3952	return s
3953}
3954
3955// Request to describe Job log filters.
3956type DescribeJobsRequestFilters struct {
3957	_ struct{} `type:"structure"`
3958
3959	// Request to describe Job log filters by date.
3960	FromDate *string `locationName:"fromDate" min:"19" type:"string"`
3961
3962	// Request to describe Job log filters by job ID.
3963	JobIDs []*string `locationName:"jobIDs" type:"list"`
3964
3965	// Request to describe Job log by last date.
3966	ToDate *string `locationName:"toDate" min:"19" type:"string"`
3967}
3968
3969// String returns the string representation.
3970//
3971// API parameter values that are decorated as "sensitive" in the API will not
3972// be included in the string output. The member name will be present, but the
3973// value will be replaced with "sensitive".
3974func (s DescribeJobsRequestFilters) String() string {
3975	return awsutil.Prettify(s)
3976}
3977
3978// GoString returns the string representation.
3979//
3980// API parameter values that are decorated as "sensitive" in the API will not
3981// be included in the string output. The member name will be present, but the
3982// value will be replaced with "sensitive".
3983func (s DescribeJobsRequestFilters) GoString() string {
3984	return s.String()
3985}
3986
3987// Validate inspects the fields of the type to determine if they are valid.
3988func (s *DescribeJobsRequestFilters) Validate() error {
3989	invalidParams := request.ErrInvalidParams{Context: "DescribeJobsRequestFilters"}
3990	if s.FromDate != nil && len(*s.FromDate) < 19 {
3991		invalidParams.Add(request.NewErrParamMinLen("FromDate", 19))
3992	}
3993	if s.ToDate != nil && len(*s.ToDate) < 19 {
3994		invalidParams.Add(request.NewErrParamMinLen("ToDate", 19))
3995	}
3996
3997	if invalidParams.Len() > 0 {
3998		return invalidParams
3999	}
4000	return nil
4001}
4002
4003// SetFromDate sets the FromDate field's value.
4004func (s *DescribeJobsRequestFilters) SetFromDate(v string) *DescribeJobsRequestFilters {
4005	s.FromDate = &v
4006	return s
4007}
4008
4009// SetJobIDs sets the JobIDs field's value.
4010func (s *DescribeJobsRequestFilters) SetJobIDs(v []*string) *DescribeJobsRequestFilters {
4011	s.JobIDs = v
4012	return s
4013}
4014
4015// SetToDate sets the ToDate field's value.
4016func (s *DescribeJobsRequestFilters) SetToDate(v string) *DescribeJobsRequestFilters {
4017	s.ToDate = &v
4018	return s
4019}
4020
4021type DescribeReplicationConfigurationTemplatesInput struct {
4022	_ struct{} `type:"structure"`
4023
4024	// Request to describe Replication Configuration template by max results.
4025	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
4026
4027	// Request to describe Replication Configuration template by next token.
4028	NextToken *string `locationName:"nextToken" type:"string"`
4029
4030	// Request to describe Replication Configuration template by template IDs.
4031	//
4032	// ReplicationConfigurationTemplateIDs is a required field
4033	ReplicationConfigurationTemplateIDs []*string `locationName:"replicationConfigurationTemplateIDs" type:"list" required:"true"`
4034}
4035
4036// String returns the string representation.
4037//
4038// API parameter values that are decorated as "sensitive" in the API will not
4039// be included in the string output. The member name will be present, but the
4040// value will be replaced with "sensitive".
4041func (s DescribeReplicationConfigurationTemplatesInput) String() string {
4042	return awsutil.Prettify(s)
4043}
4044
4045// GoString returns the string representation.
4046//
4047// API parameter values that are decorated as "sensitive" in the API will not
4048// be included in the string output. The member name will be present, but the
4049// value will be replaced with "sensitive".
4050func (s DescribeReplicationConfigurationTemplatesInput) GoString() string {
4051	return s.String()
4052}
4053
4054// Validate inspects the fields of the type to determine if they are valid.
4055func (s *DescribeReplicationConfigurationTemplatesInput) Validate() error {
4056	invalidParams := request.ErrInvalidParams{Context: "DescribeReplicationConfigurationTemplatesInput"}
4057	if s.MaxResults != nil && *s.MaxResults < 1 {
4058		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4059	}
4060	if s.ReplicationConfigurationTemplateIDs == nil {
4061		invalidParams.Add(request.NewErrParamRequired("ReplicationConfigurationTemplateIDs"))
4062	}
4063
4064	if invalidParams.Len() > 0 {
4065		return invalidParams
4066	}
4067	return nil
4068}
4069
4070// SetMaxResults sets the MaxResults field's value.
4071func (s *DescribeReplicationConfigurationTemplatesInput) SetMaxResults(v int64) *DescribeReplicationConfigurationTemplatesInput {
4072	s.MaxResults = &v
4073	return s
4074}
4075
4076// SetNextToken sets the NextToken field's value.
4077func (s *DescribeReplicationConfigurationTemplatesInput) SetNextToken(v string) *DescribeReplicationConfigurationTemplatesInput {
4078	s.NextToken = &v
4079	return s
4080}
4081
4082// SetReplicationConfigurationTemplateIDs sets the ReplicationConfigurationTemplateIDs field's value.
4083func (s *DescribeReplicationConfigurationTemplatesInput) SetReplicationConfigurationTemplateIDs(v []*string) *DescribeReplicationConfigurationTemplatesInput {
4084	s.ReplicationConfigurationTemplateIDs = v
4085	return s
4086}
4087
4088type DescribeReplicationConfigurationTemplatesOutput struct {
4089	_ struct{} `type:"structure"`
4090
4091	// Request to describe Replication Configuration template by items.
4092	Items []*ReplicationConfigurationTemplate `locationName:"items" type:"list"`
4093
4094	// Request to describe Replication Configuration template by next token.
4095	NextToken *string `locationName:"nextToken" type:"string"`
4096}
4097
4098// String returns the string representation.
4099//
4100// API parameter values that are decorated as "sensitive" in the API will not
4101// be included in the string output. The member name will be present, but the
4102// value will be replaced with "sensitive".
4103func (s DescribeReplicationConfigurationTemplatesOutput) String() string {
4104	return awsutil.Prettify(s)
4105}
4106
4107// GoString returns the string representation.
4108//
4109// API parameter values that are decorated as "sensitive" in the API will not
4110// be included in the string output. The member name will be present, but the
4111// value will be replaced with "sensitive".
4112func (s DescribeReplicationConfigurationTemplatesOutput) GoString() string {
4113	return s.String()
4114}
4115
4116// SetItems sets the Items field's value.
4117func (s *DescribeReplicationConfigurationTemplatesOutput) SetItems(v []*ReplicationConfigurationTemplate) *DescribeReplicationConfigurationTemplatesOutput {
4118	s.Items = v
4119	return s
4120}
4121
4122// SetNextToken sets the NextToken field's value.
4123func (s *DescribeReplicationConfigurationTemplatesOutput) SetNextToken(v string) *DescribeReplicationConfigurationTemplatesOutput {
4124	s.NextToken = &v
4125	return s
4126}
4127
4128type DescribeSourceServersInput struct {
4129	_ struct{} `type:"structure"`
4130
4131	// Request to filter Source Servers list.
4132	//
4133	// Filters is a required field
4134	Filters *DescribeSourceServersRequestFilters `locationName:"filters" type:"structure" required:"true"`
4135
4136	// Request to filter Source Servers list by maximum results.
4137	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
4138
4139	// Request to filter Source Servers list by next token.
4140	NextToken *string `locationName:"nextToken" type:"string"`
4141}
4142
4143// String returns the string representation.
4144//
4145// API parameter values that are decorated as "sensitive" in the API will not
4146// be included in the string output. The member name will be present, but the
4147// value will be replaced with "sensitive".
4148func (s DescribeSourceServersInput) String() string {
4149	return awsutil.Prettify(s)
4150}
4151
4152// GoString returns the string representation.
4153//
4154// API parameter values that are decorated as "sensitive" in the API will not
4155// be included in the string output. The member name will be present, but the
4156// value will be replaced with "sensitive".
4157func (s DescribeSourceServersInput) GoString() string {
4158	return s.String()
4159}
4160
4161// Validate inspects the fields of the type to determine if they are valid.
4162func (s *DescribeSourceServersInput) Validate() error {
4163	invalidParams := request.ErrInvalidParams{Context: "DescribeSourceServersInput"}
4164	if s.Filters == nil {
4165		invalidParams.Add(request.NewErrParamRequired("Filters"))
4166	}
4167	if s.MaxResults != nil && *s.MaxResults < 1 {
4168		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4169	}
4170
4171	if invalidParams.Len() > 0 {
4172		return invalidParams
4173	}
4174	return nil
4175}
4176
4177// SetFilters sets the Filters field's value.
4178func (s *DescribeSourceServersInput) SetFilters(v *DescribeSourceServersRequestFilters) *DescribeSourceServersInput {
4179	s.Filters = v
4180	return s
4181}
4182
4183// SetMaxResults sets the MaxResults field's value.
4184func (s *DescribeSourceServersInput) SetMaxResults(v int64) *DescribeSourceServersInput {
4185	s.MaxResults = &v
4186	return s
4187}
4188
4189// SetNextToken sets the NextToken field's value.
4190func (s *DescribeSourceServersInput) SetNextToken(v string) *DescribeSourceServersInput {
4191	s.NextToken = &v
4192	return s
4193}
4194
4195type DescribeSourceServersOutput struct {
4196	_ struct{} `type:"structure"`
4197
4198	// Request to filter Source Servers list by item.
4199	Items []*SourceServer `locationName:"items" type:"list"`
4200
4201	// Request to filter Source Servers next token.
4202	NextToken *string `locationName:"nextToken" type:"string"`
4203}
4204
4205// String returns the string representation.
4206//
4207// API parameter values that are decorated as "sensitive" in the API will not
4208// be included in the string output. The member name will be present, but the
4209// value will be replaced with "sensitive".
4210func (s DescribeSourceServersOutput) String() string {
4211	return awsutil.Prettify(s)
4212}
4213
4214// GoString returns the string representation.
4215//
4216// API parameter values that are decorated as "sensitive" in the API will not
4217// be included in the string output. The member name will be present, but the
4218// value will be replaced with "sensitive".
4219func (s DescribeSourceServersOutput) GoString() string {
4220	return s.String()
4221}
4222
4223// SetItems sets the Items field's value.
4224func (s *DescribeSourceServersOutput) SetItems(v []*SourceServer) *DescribeSourceServersOutput {
4225	s.Items = v
4226	return s
4227}
4228
4229// SetNextToken sets the NextToken field's value.
4230func (s *DescribeSourceServersOutput) SetNextToken(v string) *DescribeSourceServersOutput {
4231	s.NextToken = &v
4232	return s
4233}
4234
4235// Request to filter Source Servers list.
4236type DescribeSourceServersRequestFilters struct {
4237	_ struct{} `type:"structure"`
4238
4239	// Request to filter Source Servers list by archived.
4240	IsArchived *bool `locationName:"isArchived" type:"boolean"`
4241
4242	// Request to filter Source Servers list by Source Server ID.
4243	SourceServerIDs []*string `locationName:"sourceServerIDs" type:"list"`
4244}
4245
4246// String returns the string representation.
4247//
4248// API parameter values that are decorated as "sensitive" in the API will not
4249// be included in the string output. The member name will be present, but the
4250// value will be replaced with "sensitive".
4251func (s DescribeSourceServersRequestFilters) String() string {
4252	return awsutil.Prettify(s)
4253}
4254
4255// GoString returns the string representation.
4256//
4257// API parameter values that are decorated as "sensitive" in the API will not
4258// be included in the string output. The member name will be present, but the
4259// value will be replaced with "sensitive".
4260func (s DescribeSourceServersRequestFilters) GoString() string {
4261	return s.String()
4262}
4263
4264// SetIsArchived sets the IsArchived field's value.
4265func (s *DescribeSourceServersRequestFilters) SetIsArchived(v bool) *DescribeSourceServersRequestFilters {
4266	s.IsArchived = &v
4267	return s
4268}
4269
4270// SetSourceServerIDs sets the SourceServerIDs field's value.
4271func (s *DescribeSourceServersRequestFilters) SetSourceServerIDs(v []*string) *DescribeSourceServersRequestFilters {
4272	s.SourceServerIDs = v
4273	return s
4274}
4275
4276type DisconnectFromServiceInput struct {
4277	_ struct{} `type:"structure"`
4278
4279	// Request to disconnect Source Server from service by Server ID.
4280	//
4281	// SourceServerID is a required field
4282	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"`
4283}
4284
4285// String returns the string representation.
4286//
4287// API parameter values that are decorated as "sensitive" in the API will not
4288// be included in the string output. The member name will be present, but the
4289// value will be replaced with "sensitive".
4290func (s DisconnectFromServiceInput) String() string {
4291	return awsutil.Prettify(s)
4292}
4293
4294// GoString returns the string representation.
4295//
4296// API parameter values that are decorated as "sensitive" in the API will not
4297// be included in the string output. The member name will be present, but the
4298// value will be replaced with "sensitive".
4299func (s DisconnectFromServiceInput) GoString() string {
4300	return s.String()
4301}
4302
4303// Validate inspects the fields of the type to determine if they are valid.
4304func (s *DisconnectFromServiceInput) Validate() error {
4305	invalidParams := request.ErrInvalidParams{Context: "DisconnectFromServiceInput"}
4306	if s.SourceServerID == nil {
4307		invalidParams.Add(request.NewErrParamRequired("SourceServerID"))
4308	}
4309	if s.SourceServerID != nil && len(*s.SourceServerID) < 19 {
4310		invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19))
4311	}
4312
4313	if invalidParams.Len() > 0 {
4314		return invalidParams
4315	}
4316	return nil
4317}
4318
4319// SetSourceServerID sets the SourceServerID field's value.
4320func (s *DisconnectFromServiceInput) SetSourceServerID(v string) *DisconnectFromServiceInput {
4321	s.SourceServerID = &v
4322	return s
4323}
4324
4325type DisconnectFromServiceOutput struct {
4326	_ struct{} `type:"structure"`
4327
4328	// Source server ARN.
4329	Arn *string `locationName:"arn" min:"20" type:"string"`
4330
4331	// Source server data replication info.
4332	DataReplicationInfo *DataReplicationInfo `locationName:"dataReplicationInfo" type:"structure"`
4333
4334	// Source server archived status.
4335	IsArchived *bool `locationName:"isArchived" type:"boolean"`
4336
4337	// Source server launched instance.
4338	LaunchedInstance *LaunchedInstance `locationName:"launchedInstance" type:"structure"`
4339
4340	// Source server lifecycle state.
4341	LifeCycle *LifeCycle `locationName:"lifeCycle" type:"structure"`
4342
4343	// Source server properties.
4344	SourceProperties *SourceProperties `locationName:"sourceProperties" type:"structure"`
4345
4346	// Source server ID.
4347	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
4348
4349	// Source server Tags.
4350	//
4351	// Tags is a sensitive parameter and its value will be
4352	// replaced with "sensitive" in string returned by DisconnectFromServiceOutput's
4353	// String and GoString methods.
4354	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
4355}
4356
4357// String returns the string representation.
4358//
4359// API parameter values that are decorated as "sensitive" in the API will not
4360// be included in the string output. The member name will be present, but the
4361// value will be replaced with "sensitive".
4362func (s DisconnectFromServiceOutput) String() string {
4363	return awsutil.Prettify(s)
4364}
4365
4366// GoString returns the string representation.
4367//
4368// API parameter values that are decorated as "sensitive" in the API will not
4369// be included in the string output. The member name will be present, but the
4370// value will be replaced with "sensitive".
4371func (s DisconnectFromServiceOutput) GoString() string {
4372	return s.String()
4373}
4374
4375// SetArn sets the Arn field's value.
4376func (s *DisconnectFromServiceOutput) SetArn(v string) *DisconnectFromServiceOutput {
4377	s.Arn = &v
4378	return s
4379}
4380
4381// SetDataReplicationInfo sets the DataReplicationInfo field's value.
4382func (s *DisconnectFromServiceOutput) SetDataReplicationInfo(v *DataReplicationInfo) *DisconnectFromServiceOutput {
4383	s.DataReplicationInfo = v
4384	return s
4385}
4386
4387// SetIsArchived sets the IsArchived field's value.
4388func (s *DisconnectFromServiceOutput) SetIsArchived(v bool) *DisconnectFromServiceOutput {
4389	s.IsArchived = &v
4390	return s
4391}
4392
4393// SetLaunchedInstance sets the LaunchedInstance field's value.
4394func (s *DisconnectFromServiceOutput) SetLaunchedInstance(v *LaunchedInstance) *DisconnectFromServiceOutput {
4395	s.LaunchedInstance = v
4396	return s
4397}
4398
4399// SetLifeCycle sets the LifeCycle field's value.
4400func (s *DisconnectFromServiceOutput) SetLifeCycle(v *LifeCycle) *DisconnectFromServiceOutput {
4401	s.LifeCycle = v
4402	return s
4403}
4404
4405// SetSourceProperties sets the SourceProperties field's value.
4406func (s *DisconnectFromServiceOutput) SetSourceProperties(v *SourceProperties) *DisconnectFromServiceOutput {
4407	s.SourceProperties = v
4408	return s
4409}
4410
4411// SetSourceServerID sets the SourceServerID field's value.
4412func (s *DisconnectFromServiceOutput) SetSourceServerID(v string) *DisconnectFromServiceOutput {
4413	s.SourceServerID = &v
4414	return s
4415}
4416
4417// SetTags sets the Tags field's value.
4418func (s *DisconnectFromServiceOutput) SetTags(v map[string]*string) *DisconnectFromServiceOutput {
4419	s.Tags = v
4420	return s
4421}
4422
4423// The disk identifier.
4424type Disk struct {
4425	_ struct{} `type:"structure"`
4426
4427	// The amount of storage on the disk in bytes.
4428	Bytes *int64 `locationName:"bytes" type:"long"`
4429
4430	// The disk or device name.
4431	DeviceName *string `locationName:"deviceName" type:"string"`
4432}
4433
4434// String returns the string representation.
4435//
4436// API parameter values that are decorated as "sensitive" in the API will not
4437// be included in the string output. The member name will be present, but the
4438// value will be replaced with "sensitive".
4439func (s Disk) String() string {
4440	return awsutil.Prettify(s)
4441}
4442
4443// GoString returns the string representation.
4444//
4445// API parameter values that are decorated as "sensitive" in the API will not
4446// be included in the string output. The member name will be present, but the
4447// value will be replaced with "sensitive".
4448func (s Disk) GoString() string {
4449	return s.String()
4450}
4451
4452// SetBytes sets the Bytes field's value.
4453func (s *Disk) SetBytes(v int64) *Disk {
4454	s.Bytes = &v
4455	return s
4456}
4457
4458// SetDeviceName sets the DeviceName field's value.
4459func (s *Disk) SetDeviceName(v string) *Disk {
4460	s.DeviceName = &v
4461	return s
4462}
4463
4464type FinalizeCutoverInput struct {
4465	_ struct{} `type:"structure"`
4466
4467	// Request to finalize Cutover by Soure Server ID.
4468	//
4469	// SourceServerID is a required field
4470	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"`
4471}
4472
4473// String returns the string representation.
4474//
4475// API parameter values that are decorated as "sensitive" in the API will not
4476// be included in the string output. The member name will be present, but the
4477// value will be replaced with "sensitive".
4478func (s FinalizeCutoverInput) String() string {
4479	return awsutil.Prettify(s)
4480}
4481
4482// GoString returns the string representation.
4483//
4484// API parameter values that are decorated as "sensitive" in the API will not
4485// be included in the string output. The member name will be present, but the
4486// value will be replaced with "sensitive".
4487func (s FinalizeCutoverInput) GoString() string {
4488	return s.String()
4489}
4490
4491// Validate inspects the fields of the type to determine if they are valid.
4492func (s *FinalizeCutoverInput) Validate() error {
4493	invalidParams := request.ErrInvalidParams{Context: "FinalizeCutoverInput"}
4494	if s.SourceServerID == nil {
4495		invalidParams.Add(request.NewErrParamRequired("SourceServerID"))
4496	}
4497	if s.SourceServerID != nil && len(*s.SourceServerID) < 19 {
4498		invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19))
4499	}
4500
4501	if invalidParams.Len() > 0 {
4502		return invalidParams
4503	}
4504	return nil
4505}
4506
4507// SetSourceServerID sets the SourceServerID field's value.
4508func (s *FinalizeCutoverInput) SetSourceServerID(v string) *FinalizeCutoverInput {
4509	s.SourceServerID = &v
4510	return s
4511}
4512
4513type FinalizeCutoverOutput struct {
4514	_ struct{} `type:"structure"`
4515
4516	// Source server ARN.
4517	Arn *string `locationName:"arn" min:"20" type:"string"`
4518
4519	// Source server data replication info.
4520	DataReplicationInfo *DataReplicationInfo `locationName:"dataReplicationInfo" type:"structure"`
4521
4522	// Source server archived status.
4523	IsArchived *bool `locationName:"isArchived" type:"boolean"`
4524
4525	// Source server launched instance.
4526	LaunchedInstance *LaunchedInstance `locationName:"launchedInstance" type:"structure"`
4527
4528	// Source server lifecycle state.
4529	LifeCycle *LifeCycle `locationName:"lifeCycle" type:"structure"`
4530
4531	// Source server properties.
4532	SourceProperties *SourceProperties `locationName:"sourceProperties" type:"structure"`
4533
4534	// Source server ID.
4535	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
4536
4537	// Source server Tags.
4538	//
4539	// Tags is a sensitive parameter and its value will be
4540	// replaced with "sensitive" in string returned by FinalizeCutoverOutput's
4541	// String and GoString methods.
4542	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
4543}
4544
4545// String returns the string representation.
4546//
4547// API parameter values that are decorated as "sensitive" in the API will not
4548// be included in the string output. The member name will be present, but the
4549// value will be replaced with "sensitive".
4550func (s FinalizeCutoverOutput) String() string {
4551	return awsutil.Prettify(s)
4552}
4553
4554// GoString returns the string representation.
4555//
4556// API parameter values that are decorated as "sensitive" in the API will not
4557// be included in the string output. The member name will be present, but the
4558// value will be replaced with "sensitive".
4559func (s FinalizeCutoverOutput) GoString() string {
4560	return s.String()
4561}
4562
4563// SetArn sets the Arn field's value.
4564func (s *FinalizeCutoverOutput) SetArn(v string) *FinalizeCutoverOutput {
4565	s.Arn = &v
4566	return s
4567}
4568
4569// SetDataReplicationInfo sets the DataReplicationInfo field's value.
4570func (s *FinalizeCutoverOutput) SetDataReplicationInfo(v *DataReplicationInfo) *FinalizeCutoverOutput {
4571	s.DataReplicationInfo = v
4572	return s
4573}
4574
4575// SetIsArchived sets the IsArchived field's value.
4576func (s *FinalizeCutoverOutput) SetIsArchived(v bool) *FinalizeCutoverOutput {
4577	s.IsArchived = &v
4578	return s
4579}
4580
4581// SetLaunchedInstance sets the LaunchedInstance field's value.
4582func (s *FinalizeCutoverOutput) SetLaunchedInstance(v *LaunchedInstance) *FinalizeCutoverOutput {
4583	s.LaunchedInstance = v
4584	return s
4585}
4586
4587// SetLifeCycle sets the LifeCycle field's value.
4588func (s *FinalizeCutoverOutput) SetLifeCycle(v *LifeCycle) *FinalizeCutoverOutput {
4589	s.LifeCycle = v
4590	return s
4591}
4592
4593// SetSourceProperties sets the SourceProperties field's value.
4594func (s *FinalizeCutoverOutput) SetSourceProperties(v *SourceProperties) *FinalizeCutoverOutput {
4595	s.SourceProperties = v
4596	return s
4597}
4598
4599// SetSourceServerID sets the SourceServerID field's value.
4600func (s *FinalizeCutoverOutput) SetSourceServerID(v string) *FinalizeCutoverOutput {
4601	s.SourceServerID = &v
4602	return s
4603}
4604
4605// SetTags sets the Tags field's value.
4606func (s *FinalizeCutoverOutput) SetTags(v map[string]*string) *FinalizeCutoverOutput {
4607	s.Tags = v
4608	return s
4609}
4610
4611type GetLaunchConfigurationInput struct {
4612	_ struct{} `type:"structure"`
4613
4614	// Request to get Launch Configuration information by Source Server ID.
4615	//
4616	// SourceServerID is a required field
4617	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"`
4618}
4619
4620// String returns the string representation.
4621//
4622// API parameter values that are decorated as "sensitive" in the API will not
4623// be included in the string output. The member name will be present, but the
4624// value will be replaced with "sensitive".
4625func (s GetLaunchConfigurationInput) String() string {
4626	return awsutil.Prettify(s)
4627}
4628
4629// GoString returns the string representation.
4630//
4631// API parameter values that are decorated as "sensitive" in the API will not
4632// be included in the string output. The member name will be present, but the
4633// value will be replaced with "sensitive".
4634func (s GetLaunchConfigurationInput) GoString() string {
4635	return s.String()
4636}
4637
4638// Validate inspects the fields of the type to determine if they are valid.
4639func (s *GetLaunchConfigurationInput) Validate() error {
4640	invalidParams := request.ErrInvalidParams{Context: "GetLaunchConfigurationInput"}
4641	if s.SourceServerID == nil {
4642		invalidParams.Add(request.NewErrParamRequired("SourceServerID"))
4643	}
4644	if s.SourceServerID != nil && len(*s.SourceServerID) < 19 {
4645		invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19))
4646	}
4647
4648	if invalidParams.Len() > 0 {
4649		return invalidParams
4650	}
4651	return nil
4652}
4653
4654// SetSourceServerID sets the SourceServerID field's value.
4655func (s *GetLaunchConfigurationInput) SetSourceServerID(v string) *GetLaunchConfigurationInput {
4656	s.SourceServerID = &v
4657	return s
4658}
4659
4660type GetLaunchConfigurationOutput struct {
4661	_ struct{} `type:"structure"`
4662
4663	// Copy Private IP during Launch Configuration.
4664	CopyPrivateIp *bool `locationName:"copyPrivateIp" type:"boolean"`
4665
4666	// Copy Tags during Launch Configuration.
4667	CopyTags *bool `locationName:"copyTags" type:"boolean"`
4668
4669	// Configure EC2 lauch configuration template ID.
4670	Ec2LaunchTemplateID *string `locationName:"ec2LaunchTemplateID" type:"string"`
4671
4672	// Configure launch dispostion for launch configuration.
4673	LaunchDisposition *string `locationName:"launchDisposition" type:"string" enum:"LaunchDisposition"`
4674
4675	// Configure launch configuration OS licensing.
4676	Licensing *Licensing `locationName:"licensing" type:"structure"`
4677
4678	// Configure launch configuration name.
4679	Name *string `locationName:"name" type:"string"`
4680
4681	// Configure launch configuration Source Server ID.
4682	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
4683
4684	// Configure launch configuration Target instance type right sizing method.
4685	TargetInstanceTypeRightSizingMethod *string `locationName:"targetInstanceTypeRightSizingMethod" type:"string" enum:"TargetInstanceTypeRightSizingMethod"`
4686}
4687
4688// String returns the string representation.
4689//
4690// API parameter values that are decorated as "sensitive" in the API will not
4691// be included in the string output. The member name will be present, but the
4692// value will be replaced with "sensitive".
4693func (s GetLaunchConfigurationOutput) String() string {
4694	return awsutil.Prettify(s)
4695}
4696
4697// GoString returns the string representation.
4698//
4699// API parameter values that are decorated as "sensitive" in the API will not
4700// be included in the string output. The member name will be present, but the
4701// value will be replaced with "sensitive".
4702func (s GetLaunchConfigurationOutput) GoString() string {
4703	return s.String()
4704}
4705
4706// SetCopyPrivateIp sets the CopyPrivateIp field's value.
4707func (s *GetLaunchConfigurationOutput) SetCopyPrivateIp(v bool) *GetLaunchConfigurationOutput {
4708	s.CopyPrivateIp = &v
4709	return s
4710}
4711
4712// SetCopyTags sets the CopyTags field's value.
4713func (s *GetLaunchConfigurationOutput) SetCopyTags(v bool) *GetLaunchConfigurationOutput {
4714	s.CopyTags = &v
4715	return s
4716}
4717
4718// SetEc2LaunchTemplateID sets the Ec2LaunchTemplateID field's value.
4719func (s *GetLaunchConfigurationOutput) SetEc2LaunchTemplateID(v string) *GetLaunchConfigurationOutput {
4720	s.Ec2LaunchTemplateID = &v
4721	return s
4722}
4723
4724// SetLaunchDisposition sets the LaunchDisposition field's value.
4725func (s *GetLaunchConfigurationOutput) SetLaunchDisposition(v string) *GetLaunchConfigurationOutput {
4726	s.LaunchDisposition = &v
4727	return s
4728}
4729
4730// SetLicensing sets the Licensing field's value.
4731func (s *GetLaunchConfigurationOutput) SetLicensing(v *Licensing) *GetLaunchConfigurationOutput {
4732	s.Licensing = v
4733	return s
4734}
4735
4736// SetName sets the Name field's value.
4737func (s *GetLaunchConfigurationOutput) SetName(v string) *GetLaunchConfigurationOutput {
4738	s.Name = &v
4739	return s
4740}
4741
4742// SetSourceServerID sets the SourceServerID field's value.
4743func (s *GetLaunchConfigurationOutput) SetSourceServerID(v string) *GetLaunchConfigurationOutput {
4744	s.SourceServerID = &v
4745	return s
4746}
4747
4748// SetTargetInstanceTypeRightSizingMethod sets the TargetInstanceTypeRightSizingMethod field's value.
4749func (s *GetLaunchConfigurationOutput) SetTargetInstanceTypeRightSizingMethod(v string) *GetLaunchConfigurationOutput {
4750	s.TargetInstanceTypeRightSizingMethod = &v
4751	return s
4752}
4753
4754type GetReplicationConfigurationInput struct {
4755	_ struct{} `type:"structure"`
4756
4757	// Request to get Replication Configuaration by Source Server ID.
4758	//
4759	// SourceServerID is a required field
4760	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"`
4761}
4762
4763// String returns the string representation.
4764//
4765// API parameter values that are decorated as "sensitive" in the API will not
4766// be included in the string output. The member name will be present, but the
4767// value will be replaced with "sensitive".
4768func (s GetReplicationConfigurationInput) String() string {
4769	return awsutil.Prettify(s)
4770}
4771
4772// GoString returns the string representation.
4773//
4774// API parameter values that are decorated as "sensitive" in the API will not
4775// be included in the string output. The member name will be present, but the
4776// value will be replaced with "sensitive".
4777func (s GetReplicationConfigurationInput) GoString() string {
4778	return s.String()
4779}
4780
4781// Validate inspects the fields of the type to determine if they are valid.
4782func (s *GetReplicationConfigurationInput) Validate() error {
4783	invalidParams := request.ErrInvalidParams{Context: "GetReplicationConfigurationInput"}
4784	if s.SourceServerID == nil {
4785		invalidParams.Add(request.NewErrParamRequired("SourceServerID"))
4786	}
4787	if s.SourceServerID != nil && len(*s.SourceServerID) < 19 {
4788		invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19))
4789	}
4790
4791	if invalidParams.Len() > 0 {
4792		return invalidParams
4793	}
4794	return nil
4795}
4796
4797// SetSourceServerID sets the SourceServerID field's value.
4798func (s *GetReplicationConfigurationInput) SetSourceServerID(v string) *GetReplicationConfigurationInput {
4799	s.SourceServerID = &v
4800	return s
4801}
4802
4803type GetReplicationConfigurationOutput struct {
4804	_ struct{} `type:"structure"`
4805
4806	// Replication Configuration associate default Application Migration Service
4807	// Security Group.
4808	AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean"`
4809
4810	// Replication Configuration set bandwidth throttling.
4811	BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"`
4812
4813	// Replication Configuration create Public IP.
4814	CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean"`
4815
4816	// Replication Configuration data plane routing.
4817	DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" enum:"ReplicationConfigurationDataPlaneRouting"`
4818
4819	// Replication Configuration use default large Staging Disks.
4820	DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"`
4821
4822	// Replication Configuration EBS encryption.
4823	EbsEncryption *string `locationName:"ebsEncryption" type:"string" enum:"ReplicationConfigurationEbsEncryption"`
4824
4825	// Replication Configuration EBS encryption key ARN.
4826	EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"`
4827
4828	// Replication Configuration name.
4829	Name *string `locationName:"name" type:"string"`
4830
4831	// Replication Configuration replicated disks.
4832	ReplicatedDisks []*ReplicationConfigurationReplicatedDisk `locationName:"replicatedDisks" type:"list"`
4833
4834	// Replication Configuration Replication Server instance type.
4835	ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string"`
4836
4837	// Replication Configuration Replication Server Security Group IDs.
4838	ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list"`
4839
4840	// Replication Configuration Source Server ID.
4841	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
4842
4843	// Replication Configuration Staging Area subnet ID.
4844	StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string"`
4845
4846	// Replication Configuration Staging Area tags.
4847	//
4848	// StagingAreaTags is a sensitive parameter and its value will be
4849	// replaced with "sensitive" in string returned by GetReplicationConfigurationOutput's
4850	// String and GoString methods.
4851	StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" sensitive:"true"`
4852
4853	// Replication Configuration use Dedicated Replication Server.
4854	UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean"`
4855}
4856
4857// String returns the string representation.
4858//
4859// API parameter values that are decorated as "sensitive" in the API will not
4860// be included in the string output. The member name will be present, but the
4861// value will be replaced with "sensitive".
4862func (s GetReplicationConfigurationOutput) String() string {
4863	return awsutil.Prettify(s)
4864}
4865
4866// GoString returns the string representation.
4867//
4868// API parameter values that are decorated as "sensitive" in the API will not
4869// be included in the string output. The member name will be present, but the
4870// value will be replaced with "sensitive".
4871func (s GetReplicationConfigurationOutput) GoString() string {
4872	return s.String()
4873}
4874
4875// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value.
4876func (s *GetReplicationConfigurationOutput) SetAssociateDefaultSecurityGroup(v bool) *GetReplicationConfigurationOutput {
4877	s.AssociateDefaultSecurityGroup = &v
4878	return s
4879}
4880
4881// SetBandwidthThrottling sets the BandwidthThrottling field's value.
4882func (s *GetReplicationConfigurationOutput) SetBandwidthThrottling(v int64) *GetReplicationConfigurationOutput {
4883	s.BandwidthThrottling = &v
4884	return s
4885}
4886
4887// SetCreatePublicIP sets the CreatePublicIP field's value.
4888func (s *GetReplicationConfigurationOutput) SetCreatePublicIP(v bool) *GetReplicationConfigurationOutput {
4889	s.CreatePublicIP = &v
4890	return s
4891}
4892
4893// SetDataPlaneRouting sets the DataPlaneRouting field's value.
4894func (s *GetReplicationConfigurationOutput) SetDataPlaneRouting(v string) *GetReplicationConfigurationOutput {
4895	s.DataPlaneRouting = &v
4896	return s
4897}
4898
4899// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value.
4900func (s *GetReplicationConfigurationOutput) SetDefaultLargeStagingDiskType(v string) *GetReplicationConfigurationOutput {
4901	s.DefaultLargeStagingDiskType = &v
4902	return s
4903}
4904
4905// SetEbsEncryption sets the EbsEncryption field's value.
4906func (s *GetReplicationConfigurationOutput) SetEbsEncryption(v string) *GetReplicationConfigurationOutput {
4907	s.EbsEncryption = &v
4908	return s
4909}
4910
4911// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value.
4912func (s *GetReplicationConfigurationOutput) SetEbsEncryptionKeyArn(v string) *GetReplicationConfigurationOutput {
4913	s.EbsEncryptionKeyArn = &v
4914	return s
4915}
4916
4917// SetName sets the Name field's value.
4918func (s *GetReplicationConfigurationOutput) SetName(v string) *GetReplicationConfigurationOutput {
4919	s.Name = &v
4920	return s
4921}
4922
4923// SetReplicatedDisks sets the ReplicatedDisks field's value.
4924func (s *GetReplicationConfigurationOutput) SetReplicatedDisks(v []*ReplicationConfigurationReplicatedDisk) *GetReplicationConfigurationOutput {
4925	s.ReplicatedDisks = v
4926	return s
4927}
4928
4929// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value.
4930func (s *GetReplicationConfigurationOutput) SetReplicationServerInstanceType(v string) *GetReplicationConfigurationOutput {
4931	s.ReplicationServerInstanceType = &v
4932	return s
4933}
4934
4935// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value.
4936func (s *GetReplicationConfigurationOutput) SetReplicationServersSecurityGroupsIDs(v []*string) *GetReplicationConfigurationOutput {
4937	s.ReplicationServersSecurityGroupsIDs = v
4938	return s
4939}
4940
4941// SetSourceServerID sets the SourceServerID field's value.
4942func (s *GetReplicationConfigurationOutput) SetSourceServerID(v string) *GetReplicationConfigurationOutput {
4943	s.SourceServerID = &v
4944	return s
4945}
4946
4947// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value.
4948func (s *GetReplicationConfigurationOutput) SetStagingAreaSubnetId(v string) *GetReplicationConfigurationOutput {
4949	s.StagingAreaSubnetId = &v
4950	return s
4951}
4952
4953// SetStagingAreaTags sets the StagingAreaTags field's value.
4954func (s *GetReplicationConfigurationOutput) SetStagingAreaTags(v map[string]*string) *GetReplicationConfigurationOutput {
4955	s.StagingAreaTags = v
4956	return s
4957}
4958
4959// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value.
4960func (s *GetReplicationConfigurationOutput) SetUseDedicatedReplicationServer(v bool) *GetReplicationConfigurationOutput {
4961	s.UseDedicatedReplicationServer = &v
4962	return s
4963}
4964
4965// Identification hints.
4966type IdentificationHints struct {
4967	_ struct{} `type:"structure"`
4968
4969	// AWS Instance ID identification hint.
4970	AwsInstanceID *string `locationName:"awsInstanceID" type:"string"`
4971
4972	// FQDN address identification hint.
4973	Fqdn *string `locationName:"fqdn" type:"string"`
4974
4975	// Hostname identification hint.
4976	Hostname *string `locationName:"hostname" type:"string"`
4977
4978	// vmWare UUID identification hint.
4979	VmWareUuid *string `locationName:"vmWareUuid" type:"string"`
4980}
4981
4982// String returns the string representation.
4983//
4984// API parameter values that are decorated as "sensitive" in the API will not
4985// be included in the string output. The member name will be present, but the
4986// value will be replaced with "sensitive".
4987func (s IdentificationHints) String() string {
4988	return awsutil.Prettify(s)
4989}
4990
4991// GoString returns the string representation.
4992//
4993// API parameter values that are decorated as "sensitive" in the API will not
4994// be included in the string output. The member name will be present, but the
4995// value will be replaced with "sensitive".
4996func (s IdentificationHints) GoString() string {
4997	return s.String()
4998}
4999
5000// SetAwsInstanceID sets the AwsInstanceID field's value.
5001func (s *IdentificationHints) SetAwsInstanceID(v string) *IdentificationHints {
5002	s.AwsInstanceID = &v
5003	return s
5004}
5005
5006// SetFqdn sets the Fqdn field's value.
5007func (s *IdentificationHints) SetFqdn(v string) *IdentificationHints {
5008	s.Fqdn = &v
5009	return s
5010}
5011
5012// SetHostname sets the Hostname field's value.
5013func (s *IdentificationHints) SetHostname(v string) *IdentificationHints {
5014	s.Hostname = &v
5015	return s
5016}
5017
5018// SetVmWareUuid sets the VmWareUuid field's value.
5019func (s *IdentificationHints) SetVmWareUuid(v string) *IdentificationHints {
5020	s.VmWareUuid = &v
5021	return s
5022}
5023
5024type InitializeServiceInput struct {
5025	_ struct{} `type:"structure" nopayload:"true"`
5026}
5027
5028// String returns the string representation.
5029//
5030// API parameter values that are decorated as "sensitive" in the API will not
5031// be included in the string output. The member name will be present, but the
5032// value will be replaced with "sensitive".
5033func (s InitializeServiceInput) String() string {
5034	return awsutil.Prettify(s)
5035}
5036
5037// GoString returns the string representation.
5038//
5039// API parameter values that are decorated as "sensitive" in the API will not
5040// be included in the string output. The member name will be present, but the
5041// value will be replaced with "sensitive".
5042func (s InitializeServiceInput) GoString() string {
5043	return s.String()
5044}
5045
5046type InitializeServiceOutput struct {
5047	_ struct{} `type:"structure"`
5048}
5049
5050// String returns the string representation.
5051//
5052// API parameter values that are decorated as "sensitive" in the API will not
5053// be included in the string output. The member name will be present, but the
5054// value will be replaced with "sensitive".
5055func (s InitializeServiceOutput) String() string {
5056	return awsutil.Prettify(s)
5057}
5058
5059// GoString returns the string representation.
5060//
5061// API parameter values that are decorated as "sensitive" in the API will not
5062// be included in the string output. The member name will be present, but the
5063// value will be replaced with "sensitive".
5064func (s InitializeServiceOutput) GoString() string {
5065	return s.String()
5066}
5067
5068// The server encountered an unexpected condition that prevented it from fulfilling
5069// the request.
5070type InternalServerException struct {
5071	_            struct{}                  `type:"structure"`
5072	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5073
5074	Message_ *string `locationName:"message" type:"string"`
5075
5076	// The server encountered an unexpected condition that prevented it from fulfilling
5077	// the request. The request will be retried again after x seconds.
5078	RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"long"`
5079}
5080
5081// String returns the string representation.
5082//
5083// API parameter values that are decorated as "sensitive" in the API will not
5084// be included in the string output. The member name will be present, but the
5085// value will be replaced with "sensitive".
5086func (s InternalServerException) String() string {
5087	return awsutil.Prettify(s)
5088}
5089
5090// GoString returns the string representation.
5091//
5092// API parameter values that are decorated as "sensitive" in the API will not
5093// be included in the string output. The member name will be present, but the
5094// value will be replaced with "sensitive".
5095func (s InternalServerException) GoString() string {
5096	return s.String()
5097}
5098
5099func newErrorInternalServerException(v protocol.ResponseMetadata) error {
5100	return &InternalServerException{
5101		RespMetadata: v,
5102	}
5103}
5104
5105// Code returns the exception type name.
5106func (s *InternalServerException) Code() string {
5107	return "InternalServerException"
5108}
5109
5110// Message returns the exception's message.
5111func (s *InternalServerException) Message() string {
5112	if s.Message_ != nil {
5113		return *s.Message_
5114	}
5115	return ""
5116}
5117
5118// OrigErr always returns nil, satisfies awserr.Error interface.
5119func (s *InternalServerException) OrigErr() error {
5120	return nil
5121}
5122
5123func (s *InternalServerException) Error() string {
5124	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
5125}
5126
5127// Status code returns the HTTP status code for the request's response error.
5128func (s *InternalServerException) StatusCode() int {
5129	return s.RespMetadata.StatusCode
5130}
5131
5132// RequestID returns the service's response RequestID for request.
5133func (s *InternalServerException) RequestID() string {
5134	return s.RespMetadata.RequestID
5135}
5136
5137// Job.
5138type Job struct {
5139	_ struct{} `type:"structure"`
5140
5141	// the ARN of the specific Job.
5142	Arn *string `locationName:"arn" min:"20" type:"string"`
5143
5144	// Job creation time.
5145	CreationDateTime *string `locationName:"creationDateTime" min:"19" type:"string"`
5146
5147	// Job end time.
5148	EndDateTime *string `locationName:"endDateTime" min:"19" type:"string"`
5149
5150	// Job initiated by field.
5151	InitiatedBy *string `locationName:"initiatedBy" type:"string" enum:"InitiatedBy"`
5152
5153	// Job ID.
5154	//
5155	// JobID is a required field
5156	JobID *string `locationName:"jobID" min:"24" type:"string" required:"true"`
5157
5158	// Servers participating in a specific Job.
5159	ParticipatingServers []*ParticipatingServer `locationName:"participatingServers" type:"list"`
5160
5161	// Job status.
5162	Status *string `locationName:"status" type:"string" enum:"JobStatus"`
5163
5164	// Tags associated with spcific Job.
5165	//
5166	// Tags is a sensitive parameter and its value will be
5167	// replaced with "sensitive" in string returned by Job's
5168	// String and GoString methods.
5169	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
5170
5171	// Job type.
5172	Type *string `locationName:"type" type:"string" enum:"JobType"`
5173}
5174
5175// String returns the string representation.
5176//
5177// API parameter values that are decorated as "sensitive" in the API will not
5178// be included in the string output. The member name will be present, but the
5179// value will be replaced with "sensitive".
5180func (s Job) String() string {
5181	return awsutil.Prettify(s)
5182}
5183
5184// GoString returns the string representation.
5185//
5186// API parameter values that are decorated as "sensitive" in the API will not
5187// be included in the string output. The member name will be present, but the
5188// value will be replaced with "sensitive".
5189func (s Job) GoString() string {
5190	return s.String()
5191}
5192
5193// SetArn sets the Arn field's value.
5194func (s *Job) SetArn(v string) *Job {
5195	s.Arn = &v
5196	return s
5197}
5198
5199// SetCreationDateTime sets the CreationDateTime field's value.
5200func (s *Job) SetCreationDateTime(v string) *Job {
5201	s.CreationDateTime = &v
5202	return s
5203}
5204
5205// SetEndDateTime sets the EndDateTime field's value.
5206func (s *Job) SetEndDateTime(v string) *Job {
5207	s.EndDateTime = &v
5208	return s
5209}
5210
5211// SetInitiatedBy sets the InitiatedBy field's value.
5212func (s *Job) SetInitiatedBy(v string) *Job {
5213	s.InitiatedBy = &v
5214	return s
5215}
5216
5217// SetJobID sets the JobID field's value.
5218func (s *Job) SetJobID(v string) *Job {
5219	s.JobID = &v
5220	return s
5221}
5222
5223// SetParticipatingServers sets the ParticipatingServers field's value.
5224func (s *Job) SetParticipatingServers(v []*ParticipatingServer) *Job {
5225	s.ParticipatingServers = v
5226	return s
5227}
5228
5229// SetStatus sets the Status field's value.
5230func (s *Job) SetStatus(v string) *Job {
5231	s.Status = &v
5232	return s
5233}
5234
5235// SetTags sets the Tags field's value.
5236func (s *Job) SetTags(v map[string]*string) *Job {
5237	s.Tags = v
5238	return s
5239}
5240
5241// SetType sets the Type field's value.
5242func (s *Job) SetType(v string) *Job {
5243	s.Type = &v
5244	return s
5245}
5246
5247// Job log.
5248type JobLog struct {
5249	_ struct{} `type:"structure"`
5250
5251	// Job log event.
5252	Event *string `locationName:"event" type:"string" enum:"JobLogEvent"`
5253
5254	// Job event data
5255	EventData *JobLogEventData `locationName:"eventData" type:"structure"`
5256
5257	// Job log event date and time.
5258	LogDateTime *string `locationName:"logDateTime" min:"19" type:"string"`
5259}
5260
5261// String returns the string representation.
5262//
5263// API parameter values that are decorated as "sensitive" in the API will not
5264// be included in the string output. The member name will be present, but the
5265// value will be replaced with "sensitive".
5266func (s JobLog) String() string {
5267	return awsutil.Prettify(s)
5268}
5269
5270// GoString returns the string representation.
5271//
5272// API parameter values that are decorated as "sensitive" in the API will not
5273// be included in the string output. The member name will be present, but the
5274// value will be replaced with "sensitive".
5275func (s JobLog) GoString() string {
5276	return s.String()
5277}
5278
5279// SetEvent sets the Event field's value.
5280func (s *JobLog) SetEvent(v string) *JobLog {
5281	s.Event = &v
5282	return s
5283}
5284
5285// SetEventData sets the EventData field's value.
5286func (s *JobLog) SetEventData(v *JobLogEventData) *JobLog {
5287	s.EventData = v
5288	return s
5289}
5290
5291// SetLogDateTime sets the LogDateTime field's value.
5292func (s *JobLog) SetLogDateTime(v string) *JobLog {
5293	s.LogDateTime = &v
5294	return s
5295}
5296
5297// Job log data
5298type JobLogEventData struct {
5299	_ struct{} `type:"structure"`
5300
5301	// Job Event conversion Server ID.
5302	ConversionServerID *string `locationName:"conversionServerID" type:"string"`
5303
5304	// Job error.
5305	RawError *string `locationName:"rawError" type:"string"`
5306
5307	// Job Event Source Server ID.
5308	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
5309
5310	// Job Event Target instance ID.
5311	TargetInstanceID *string `locationName:"targetInstanceID" type:"string"`
5312}
5313
5314// String returns the string representation.
5315//
5316// API parameter values that are decorated as "sensitive" in the API will not
5317// be included in the string output. The member name will be present, but the
5318// value will be replaced with "sensitive".
5319func (s JobLogEventData) String() string {
5320	return awsutil.Prettify(s)
5321}
5322
5323// GoString returns the string representation.
5324//
5325// API parameter values that are decorated as "sensitive" in the API will not
5326// be included in the string output. The member name will be present, but the
5327// value will be replaced with "sensitive".
5328func (s JobLogEventData) GoString() string {
5329	return s.String()
5330}
5331
5332// SetConversionServerID sets the ConversionServerID field's value.
5333func (s *JobLogEventData) SetConversionServerID(v string) *JobLogEventData {
5334	s.ConversionServerID = &v
5335	return s
5336}
5337
5338// SetRawError sets the RawError field's value.
5339func (s *JobLogEventData) SetRawError(v string) *JobLogEventData {
5340	s.RawError = &v
5341	return s
5342}
5343
5344// SetSourceServerID sets the SourceServerID field's value.
5345func (s *JobLogEventData) SetSourceServerID(v string) *JobLogEventData {
5346	s.SourceServerID = &v
5347	return s
5348}
5349
5350// SetTargetInstanceID sets the TargetInstanceID field's value.
5351func (s *JobLogEventData) SetTargetInstanceID(v string) *JobLogEventData {
5352	s.TargetInstanceID = &v
5353	return s
5354}
5355
5356// Configure launced instance.
5357type LaunchedInstance struct {
5358	_ struct{} `type:"structure"`
5359
5360	// Configure launced instance EC2 ID.
5361	Ec2InstanceID *string `locationName:"ec2InstanceID" type:"string"`
5362
5363	// Configure launced instance first boot.
5364	FirstBoot *string `locationName:"firstBoot" type:"string" enum:"FirstBoot"`
5365
5366	// Configure launced instance Job ID.
5367	JobID *string `locationName:"jobID" min:"24" type:"string"`
5368}
5369
5370// String returns the string representation.
5371//
5372// API parameter values that are decorated as "sensitive" in the API will not
5373// be included in the string output. The member name will be present, but the
5374// value will be replaced with "sensitive".
5375func (s LaunchedInstance) String() string {
5376	return awsutil.Prettify(s)
5377}
5378
5379// GoString returns the string representation.
5380//
5381// API parameter values that are decorated as "sensitive" in the API will not
5382// be included in the string output. The member name will be present, but the
5383// value will be replaced with "sensitive".
5384func (s LaunchedInstance) GoString() string {
5385	return s.String()
5386}
5387
5388// SetEc2InstanceID sets the Ec2InstanceID field's value.
5389func (s *LaunchedInstance) SetEc2InstanceID(v string) *LaunchedInstance {
5390	s.Ec2InstanceID = &v
5391	return s
5392}
5393
5394// SetFirstBoot sets the FirstBoot field's value.
5395func (s *LaunchedInstance) SetFirstBoot(v string) *LaunchedInstance {
5396	s.FirstBoot = &v
5397	return s
5398}
5399
5400// SetJobID sets the JobID field's value.
5401func (s *LaunchedInstance) SetJobID(v string) *LaunchedInstance {
5402	s.JobID = &v
5403	return s
5404}
5405
5406// Configure Licensing.
5407type Licensing struct {
5408	_ struct{} `type:"structure"`
5409
5410	// Configure BYOL OS licensing.
5411	OsByol *bool `locationName:"osByol" type:"boolean"`
5412}
5413
5414// String returns the string representation.
5415//
5416// API parameter values that are decorated as "sensitive" in the API will not
5417// be included in the string output. The member name will be present, but the
5418// value will be replaced with "sensitive".
5419func (s Licensing) String() string {
5420	return awsutil.Prettify(s)
5421}
5422
5423// GoString returns the string representation.
5424//
5425// API parameter values that are decorated as "sensitive" in the API will not
5426// be included in the string output. The member name will be present, but the
5427// value will be replaced with "sensitive".
5428func (s Licensing) GoString() string {
5429	return s.String()
5430}
5431
5432// SetOsByol sets the OsByol field's value.
5433func (s *Licensing) SetOsByol(v bool) *Licensing {
5434	s.OsByol = &v
5435	return s
5436}
5437
5438// Lifecycle.
5439type LifeCycle struct {
5440	_ struct{} `type:"structure"`
5441
5442	// Lifecycle added to service data and time.
5443	AddedToServiceDateTime *string `locationName:"addedToServiceDateTime" min:"19" type:"string"`
5444
5445	// Lifecycle elapsed time and duration.
5446	ElapsedReplicationDuration *string `locationName:"elapsedReplicationDuration" min:"19" type:"string"`
5447
5448	// Lifecycle replication initiation date and time.
5449	FirstByteDateTime *string `locationName:"firstByteDateTime" min:"19" type:"string"`
5450
5451	// Lifecycle last Cutover.
5452	LastCutover *LifeCycleLastCutover `locationName:"lastCutover" type:"structure"`
5453
5454	// Lifecycle last seen date and time.
5455	LastSeenByServiceDateTime *string `locationName:"lastSeenByServiceDateTime" min:"19" type:"string"`
5456
5457	// Lifecycle last Test.
5458	LastTest *LifeCycleLastTest `locationName:"lastTest" type:"structure"`
5459
5460	// Lifecycle state.
5461	State *string `locationName:"state" type:"string" enum:"LifeCycleState"`
5462}
5463
5464// String returns the string representation.
5465//
5466// API parameter values that are decorated as "sensitive" in the API will not
5467// be included in the string output. The member name will be present, but the
5468// value will be replaced with "sensitive".
5469func (s LifeCycle) String() string {
5470	return awsutil.Prettify(s)
5471}
5472
5473// GoString returns the string representation.
5474//
5475// API parameter values that are decorated as "sensitive" in the API will not
5476// be included in the string output. The member name will be present, but the
5477// value will be replaced with "sensitive".
5478func (s LifeCycle) GoString() string {
5479	return s.String()
5480}
5481
5482// SetAddedToServiceDateTime sets the AddedToServiceDateTime field's value.
5483func (s *LifeCycle) SetAddedToServiceDateTime(v string) *LifeCycle {
5484	s.AddedToServiceDateTime = &v
5485	return s
5486}
5487
5488// SetElapsedReplicationDuration sets the ElapsedReplicationDuration field's value.
5489func (s *LifeCycle) SetElapsedReplicationDuration(v string) *LifeCycle {
5490	s.ElapsedReplicationDuration = &v
5491	return s
5492}
5493
5494// SetFirstByteDateTime sets the FirstByteDateTime field's value.
5495func (s *LifeCycle) SetFirstByteDateTime(v string) *LifeCycle {
5496	s.FirstByteDateTime = &v
5497	return s
5498}
5499
5500// SetLastCutover sets the LastCutover field's value.
5501func (s *LifeCycle) SetLastCutover(v *LifeCycleLastCutover) *LifeCycle {
5502	s.LastCutover = v
5503	return s
5504}
5505
5506// SetLastSeenByServiceDateTime sets the LastSeenByServiceDateTime field's value.
5507func (s *LifeCycle) SetLastSeenByServiceDateTime(v string) *LifeCycle {
5508	s.LastSeenByServiceDateTime = &v
5509	return s
5510}
5511
5512// SetLastTest sets the LastTest field's value.
5513func (s *LifeCycle) SetLastTest(v *LifeCycleLastTest) *LifeCycle {
5514	s.LastTest = v
5515	return s
5516}
5517
5518// SetState sets the State field's value.
5519func (s *LifeCycle) SetState(v string) *LifeCycle {
5520	s.State = &v
5521	return s
5522}
5523
5524// Lifecycle last Cutover .
5525type LifeCycleLastCutover struct {
5526	_ struct{} `type:"structure"`
5527
5528	// Lifecycle Cutover finalized date and time.
5529	Finalized *LifeCycleLastCutoverFinalized `locationName:"finalized" type:"structure"`
5530
5531	// Lifecycle last Cutover initiated.
5532	Initiated *LifeCycleLastCutoverInitiated `locationName:"initiated" type:"structure"`
5533
5534	// Lifecycle last Cutover reverted.
5535	Reverted *LifeCycleLastCutoverReverted `locationName:"reverted" type:"structure"`
5536}
5537
5538// String returns the string representation.
5539//
5540// API parameter values that are decorated as "sensitive" in the API will not
5541// be included in the string output. The member name will be present, but the
5542// value will be replaced with "sensitive".
5543func (s LifeCycleLastCutover) String() string {
5544	return awsutil.Prettify(s)
5545}
5546
5547// GoString returns the string representation.
5548//
5549// API parameter values that are decorated as "sensitive" in the API will not
5550// be included in the string output. The member name will be present, but the
5551// value will be replaced with "sensitive".
5552func (s LifeCycleLastCutover) GoString() string {
5553	return s.String()
5554}
5555
5556// SetFinalized sets the Finalized field's value.
5557func (s *LifeCycleLastCutover) SetFinalized(v *LifeCycleLastCutoverFinalized) *LifeCycleLastCutover {
5558	s.Finalized = v
5559	return s
5560}
5561
5562// SetInitiated sets the Initiated field's value.
5563func (s *LifeCycleLastCutover) SetInitiated(v *LifeCycleLastCutoverInitiated) *LifeCycleLastCutover {
5564	s.Initiated = v
5565	return s
5566}
5567
5568// SetReverted sets the Reverted field's value.
5569func (s *LifeCycleLastCutover) SetReverted(v *LifeCycleLastCutoverReverted) *LifeCycleLastCutover {
5570	s.Reverted = v
5571	return s
5572}
5573
5574// Lifecycle Cutover finalized
5575type LifeCycleLastCutoverFinalized struct {
5576	_ struct{} `type:"structure"`
5577
5578	// Lifecycle Cutover finalized date and time.
5579	ApiCallDateTime *string `locationName:"apiCallDateTime" min:"19" type:"string"`
5580}
5581
5582// String returns the string representation.
5583//
5584// API parameter values that are decorated as "sensitive" in the API will not
5585// be included in the string output. The member name will be present, but the
5586// value will be replaced with "sensitive".
5587func (s LifeCycleLastCutoverFinalized) String() string {
5588	return awsutil.Prettify(s)
5589}
5590
5591// GoString returns the string representation.
5592//
5593// API parameter values that are decorated as "sensitive" in the API will not
5594// be included in the string output. The member name will be present, but the
5595// value will be replaced with "sensitive".
5596func (s LifeCycleLastCutoverFinalized) GoString() string {
5597	return s.String()
5598}
5599
5600// SetApiCallDateTime sets the ApiCallDateTime field's value.
5601func (s *LifeCycleLastCutoverFinalized) SetApiCallDateTime(v string) *LifeCycleLastCutoverFinalized {
5602	s.ApiCallDateTime = &v
5603	return s
5604}
5605
5606// Lifecycle last Cutover initiated.
5607type LifeCycleLastCutoverInitiated struct {
5608	_ struct{} `type:"structure"`
5609
5610	ApiCallDateTime *string `locationName:"apiCallDateTime" min:"19" type:"string"`
5611
5612	// Lifecycle last Cutover initiated by Job ID.
5613	JobID *string `locationName:"jobID" min:"24" type:"string"`
5614}
5615
5616// String returns the string representation.
5617//
5618// API parameter values that are decorated as "sensitive" in the API will not
5619// be included in the string output. The member name will be present, but the
5620// value will be replaced with "sensitive".
5621func (s LifeCycleLastCutoverInitiated) String() string {
5622	return awsutil.Prettify(s)
5623}
5624
5625// GoString returns the string representation.
5626//
5627// API parameter values that are decorated as "sensitive" in the API will not
5628// be included in the string output. The member name will be present, but the
5629// value will be replaced with "sensitive".
5630func (s LifeCycleLastCutoverInitiated) GoString() string {
5631	return s.String()
5632}
5633
5634// SetApiCallDateTime sets the ApiCallDateTime field's value.
5635func (s *LifeCycleLastCutoverInitiated) SetApiCallDateTime(v string) *LifeCycleLastCutoverInitiated {
5636	s.ApiCallDateTime = &v
5637	return s
5638}
5639
5640// SetJobID sets the JobID field's value.
5641func (s *LifeCycleLastCutoverInitiated) SetJobID(v string) *LifeCycleLastCutoverInitiated {
5642	s.JobID = &v
5643	return s
5644}
5645
5646// Lifecycle last Cutover reverted.
5647type LifeCycleLastCutoverReverted struct {
5648	_ struct{} `type:"structure"`
5649
5650	// Lifecycle last Cutover reverted API call date time.
5651	ApiCallDateTime *string `locationName:"apiCallDateTime" min:"19" type:"string"`
5652}
5653
5654// String returns the string representation.
5655//
5656// API parameter values that are decorated as "sensitive" in the API will not
5657// be included in the string output. The member name will be present, but the
5658// value will be replaced with "sensitive".
5659func (s LifeCycleLastCutoverReverted) String() string {
5660	return awsutil.Prettify(s)
5661}
5662
5663// GoString returns the string representation.
5664//
5665// API parameter values that are decorated as "sensitive" in the API will not
5666// be included in the string output. The member name will be present, but the
5667// value will be replaced with "sensitive".
5668func (s LifeCycleLastCutoverReverted) GoString() string {
5669	return s.String()
5670}
5671
5672// SetApiCallDateTime sets the ApiCallDateTime field's value.
5673func (s *LifeCycleLastCutoverReverted) SetApiCallDateTime(v string) *LifeCycleLastCutoverReverted {
5674	s.ApiCallDateTime = &v
5675	return s
5676}
5677
5678// Lifecycle last Test.
5679type LifeCycleLastTest struct {
5680	_ struct{} `type:"structure"`
5681
5682	// Lifecycle last Test finlized.
5683	Finalized *LifeCycleLastTestFinalized `locationName:"finalized" type:"structure"`
5684
5685	// Lifecycle last Test initiated.
5686	Initiated *LifeCycleLastTestInitiated `locationName:"initiated" type:"structure"`
5687
5688	// Lifecycle last Test reverted.
5689	Reverted *LifeCycleLastTestReverted `locationName:"reverted" type:"structure"`
5690}
5691
5692// String returns the string representation.
5693//
5694// API parameter values that are decorated as "sensitive" in the API will not
5695// be included in the string output. The member name will be present, but the
5696// value will be replaced with "sensitive".
5697func (s LifeCycleLastTest) String() string {
5698	return awsutil.Prettify(s)
5699}
5700
5701// GoString returns the string representation.
5702//
5703// API parameter values that are decorated as "sensitive" in the API will not
5704// be included in the string output. The member name will be present, but the
5705// value will be replaced with "sensitive".
5706func (s LifeCycleLastTest) GoString() string {
5707	return s.String()
5708}
5709
5710// SetFinalized sets the Finalized field's value.
5711func (s *LifeCycleLastTest) SetFinalized(v *LifeCycleLastTestFinalized) *LifeCycleLastTest {
5712	s.Finalized = v
5713	return s
5714}
5715
5716// SetInitiated sets the Initiated field's value.
5717func (s *LifeCycleLastTest) SetInitiated(v *LifeCycleLastTestInitiated) *LifeCycleLastTest {
5718	s.Initiated = v
5719	return s
5720}
5721
5722// SetReverted sets the Reverted field's value.
5723func (s *LifeCycleLastTest) SetReverted(v *LifeCycleLastTestReverted) *LifeCycleLastTest {
5724	s.Reverted = v
5725	return s
5726}
5727
5728// Lifecycle last Test finlized.
5729type LifeCycleLastTestFinalized struct {
5730	_ struct{} `type:"structure"`
5731
5732	// Lifecycle Test failed API call date and time.
5733	ApiCallDateTime *string `locationName:"apiCallDateTime" min:"19" type:"string"`
5734}
5735
5736// String returns the string representation.
5737//
5738// API parameter values that are decorated as "sensitive" in the API will not
5739// be included in the string output. The member name will be present, but the
5740// value will be replaced with "sensitive".
5741func (s LifeCycleLastTestFinalized) String() string {
5742	return awsutil.Prettify(s)
5743}
5744
5745// GoString returns the string representation.
5746//
5747// API parameter values that are decorated as "sensitive" in the API will not
5748// be included in the string output. The member name will be present, but the
5749// value will be replaced with "sensitive".
5750func (s LifeCycleLastTestFinalized) GoString() string {
5751	return s.String()
5752}
5753
5754// SetApiCallDateTime sets the ApiCallDateTime field's value.
5755func (s *LifeCycleLastTestFinalized) SetApiCallDateTime(v string) *LifeCycleLastTestFinalized {
5756	s.ApiCallDateTime = &v
5757	return s
5758}
5759
5760// Lifecycle last Test initiated.
5761type LifeCycleLastTestInitiated struct {
5762	_ struct{} `type:"structure"`
5763
5764	// Lifecycle last Test initiated API call date and time.
5765	ApiCallDateTime *string `locationName:"apiCallDateTime" min:"19" type:"string"`
5766
5767	// Lifecycle last Test initiated Job ID.
5768	JobID *string `locationName:"jobID" min:"24" type:"string"`
5769}
5770
5771// String returns the string representation.
5772//
5773// API parameter values that are decorated as "sensitive" in the API will not
5774// be included in the string output. The member name will be present, but the
5775// value will be replaced with "sensitive".
5776func (s LifeCycleLastTestInitiated) String() string {
5777	return awsutil.Prettify(s)
5778}
5779
5780// GoString returns the string representation.
5781//
5782// API parameter values that are decorated as "sensitive" in the API will not
5783// be included in the string output. The member name will be present, but the
5784// value will be replaced with "sensitive".
5785func (s LifeCycleLastTestInitiated) GoString() string {
5786	return s.String()
5787}
5788
5789// SetApiCallDateTime sets the ApiCallDateTime field's value.
5790func (s *LifeCycleLastTestInitiated) SetApiCallDateTime(v string) *LifeCycleLastTestInitiated {
5791	s.ApiCallDateTime = &v
5792	return s
5793}
5794
5795// SetJobID sets the JobID field's value.
5796func (s *LifeCycleLastTestInitiated) SetJobID(v string) *LifeCycleLastTestInitiated {
5797	s.JobID = &v
5798	return s
5799}
5800
5801// Lifecycle last Test reverted.
5802type LifeCycleLastTestReverted struct {
5803	_ struct{} `type:"structure"`
5804
5805	// Lifecycle last Test reverted API call date and time.
5806	ApiCallDateTime *string `locationName:"apiCallDateTime" min:"19" type:"string"`
5807}
5808
5809// String returns the string representation.
5810//
5811// API parameter values that are decorated as "sensitive" in the API will not
5812// be included in the string output. The member name will be present, but the
5813// value will be replaced with "sensitive".
5814func (s LifeCycleLastTestReverted) String() string {
5815	return awsutil.Prettify(s)
5816}
5817
5818// GoString returns the string representation.
5819//
5820// API parameter values that are decorated as "sensitive" in the API will not
5821// be included in the string output. The member name will be present, but the
5822// value will be replaced with "sensitive".
5823func (s LifeCycleLastTestReverted) GoString() string {
5824	return s.String()
5825}
5826
5827// SetApiCallDateTime sets the ApiCallDateTime field's value.
5828func (s *LifeCycleLastTestReverted) SetApiCallDateTime(v string) *LifeCycleLastTestReverted {
5829	s.ApiCallDateTime = &v
5830	return s
5831}
5832
5833type ListTagsForResourceInput struct {
5834	_ struct{} `type:"structure" nopayload:"true"`
5835
5836	// List tags for resource request by ARN.
5837	//
5838	// ResourceArn is a required field
5839	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
5840}
5841
5842// String returns the string representation.
5843//
5844// API parameter values that are decorated as "sensitive" in the API will not
5845// be included in the string output. The member name will be present, but the
5846// value will be replaced with "sensitive".
5847func (s ListTagsForResourceInput) String() string {
5848	return awsutil.Prettify(s)
5849}
5850
5851// GoString returns the string representation.
5852//
5853// API parameter values that are decorated as "sensitive" in the API will not
5854// be included in the string output. The member name will be present, but the
5855// value will be replaced with "sensitive".
5856func (s ListTagsForResourceInput) GoString() string {
5857	return s.String()
5858}
5859
5860// Validate inspects the fields of the type to determine if they are valid.
5861func (s *ListTagsForResourceInput) Validate() error {
5862	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
5863	if s.ResourceArn == nil {
5864		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
5865	}
5866	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
5867		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
5868	}
5869
5870	if invalidParams.Len() > 0 {
5871		return invalidParams
5872	}
5873	return nil
5874}
5875
5876// SetResourceArn sets the ResourceArn field's value.
5877func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
5878	s.ResourceArn = &v
5879	return s
5880}
5881
5882type ListTagsForResourceOutput struct {
5883	_ struct{} `type:"structure"`
5884
5885	// List tags for resource response.
5886	//
5887	// Tags is a sensitive parameter and its value will be
5888	// replaced with "sensitive" in string returned by ListTagsForResourceOutput's
5889	// String and GoString methods.
5890	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
5891}
5892
5893// String returns the string representation.
5894//
5895// API parameter values that are decorated as "sensitive" in the API will not
5896// be included in the string output. The member name will be present, but the
5897// value will be replaced with "sensitive".
5898func (s ListTagsForResourceOutput) String() string {
5899	return awsutil.Prettify(s)
5900}
5901
5902// GoString returns the string representation.
5903//
5904// API parameter values that are decorated as "sensitive" in the API will not
5905// be included in the string output. The member name will be present, but the
5906// value will be replaced with "sensitive".
5907func (s ListTagsForResourceOutput) GoString() string {
5908	return s.String()
5909}
5910
5911// SetTags sets the Tags field's value.
5912func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
5913	s.Tags = v
5914	return s
5915}
5916
5917type MarkAsArchivedInput struct {
5918	_ struct{} `type:"structure"`
5919
5920	// Mark as archived by Source Server ID.
5921	//
5922	// SourceServerID is a required field
5923	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"`
5924}
5925
5926// String returns the string representation.
5927//
5928// API parameter values that are decorated as "sensitive" in the API will not
5929// be included in the string output. The member name will be present, but the
5930// value will be replaced with "sensitive".
5931func (s MarkAsArchivedInput) String() string {
5932	return awsutil.Prettify(s)
5933}
5934
5935// GoString returns the string representation.
5936//
5937// API parameter values that are decorated as "sensitive" in the API will not
5938// be included in the string output. The member name will be present, but the
5939// value will be replaced with "sensitive".
5940func (s MarkAsArchivedInput) GoString() string {
5941	return s.String()
5942}
5943
5944// Validate inspects the fields of the type to determine if they are valid.
5945func (s *MarkAsArchivedInput) Validate() error {
5946	invalidParams := request.ErrInvalidParams{Context: "MarkAsArchivedInput"}
5947	if s.SourceServerID == nil {
5948		invalidParams.Add(request.NewErrParamRequired("SourceServerID"))
5949	}
5950	if s.SourceServerID != nil && len(*s.SourceServerID) < 19 {
5951		invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19))
5952	}
5953
5954	if invalidParams.Len() > 0 {
5955		return invalidParams
5956	}
5957	return nil
5958}
5959
5960// SetSourceServerID sets the SourceServerID field's value.
5961func (s *MarkAsArchivedInput) SetSourceServerID(v string) *MarkAsArchivedInput {
5962	s.SourceServerID = &v
5963	return s
5964}
5965
5966type MarkAsArchivedOutput struct {
5967	_ struct{} `type:"structure"`
5968
5969	// Source server ARN.
5970	Arn *string `locationName:"arn" min:"20" type:"string"`
5971
5972	// Source server data replication info.
5973	DataReplicationInfo *DataReplicationInfo `locationName:"dataReplicationInfo" type:"structure"`
5974
5975	// Source server archived status.
5976	IsArchived *bool `locationName:"isArchived" type:"boolean"`
5977
5978	// Source server launched instance.
5979	LaunchedInstance *LaunchedInstance `locationName:"launchedInstance" type:"structure"`
5980
5981	// Source server lifecycle state.
5982	LifeCycle *LifeCycle `locationName:"lifeCycle" type:"structure"`
5983
5984	// Source server properties.
5985	SourceProperties *SourceProperties `locationName:"sourceProperties" type:"structure"`
5986
5987	// Source server ID.
5988	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
5989
5990	// Source server Tags.
5991	//
5992	// Tags is a sensitive parameter and its value will be
5993	// replaced with "sensitive" in string returned by MarkAsArchivedOutput's
5994	// String and GoString methods.
5995	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
5996}
5997
5998// String returns the string representation.
5999//
6000// API parameter values that are decorated as "sensitive" in the API will not
6001// be included in the string output. The member name will be present, but the
6002// value will be replaced with "sensitive".
6003func (s MarkAsArchivedOutput) String() string {
6004	return awsutil.Prettify(s)
6005}
6006
6007// GoString returns the string representation.
6008//
6009// API parameter values that are decorated as "sensitive" in the API will not
6010// be included in the string output. The member name will be present, but the
6011// value will be replaced with "sensitive".
6012func (s MarkAsArchivedOutput) GoString() string {
6013	return s.String()
6014}
6015
6016// SetArn sets the Arn field's value.
6017func (s *MarkAsArchivedOutput) SetArn(v string) *MarkAsArchivedOutput {
6018	s.Arn = &v
6019	return s
6020}
6021
6022// SetDataReplicationInfo sets the DataReplicationInfo field's value.
6023func (s *MarkAsArchivedOutput) SetDataReplicationInfo(v *DataReplicationInfo) *MarkAsArchivedOutput {
6024	s.DataReplicationInfo = v
6025	return s
6026}
6027
6028// SetIsArchived sets the IsArchived field's value.
6029func (s *MarkAsArchivedOutput) SetIsArchived(v bool) *MarkAsArchivedOutput {
6030	s.IsArchived = &v
6031	return s
6032}
6033
6034// SetLaunchedInstance sets the LaunchedInstance field's value.
6035func (s *MarkAsArchivedOutput) SetLaunchedInstance(v *LaunchedInstance) *MarkAsArchivedOutput {
6036	s.LaunchedInstance = v
6037	return s
6038}
6039
6040// SetLifeCycle sets the LifeCycle field's value.
6041func (s *MarkAsArchivedOutput) SetLifeCycle(v *LifeCycle) *MarkAsArchivedOutput {
6042	s.LifeCycle = v
6043	return s
6044}
6045
6046// SetSourceProperties sets the SourceProperties field's value.
6047func (s *MarkAsArchivedOutput) SetSourceProperties(v *SourceProperties) *MarkAsArchivedOutput {
6048	s.SourceProperties = v
6049	return s
6050}
6051
6052// SetSourceServerID sets the SourceServerID field's value.
6053func (s *MarkAsArchivedOutput) SetSourceServerID(v string) *MarkAsArchivedOutput {
6054	s.SourceServerID = &v
6055	return s
6056}
6057
6058// SetTags sets the Tags field's value.
6059func (s *MarkAsArchivedOutput) SetTags(v map[string]*string) *MarkAsArchivedOutput {
6060	s.Tags = v
6061	return s
6062}
6063
6064// Network interface.
6065type NetworkInterface struct {
6066	_ struct{} `type:"structure"`
6067
6068	// Network interface IPs.
6069	Ips []*string `locationName:"ips" type:"list"`
6070
6071	// Network interface primary IP.
6072	IsPrimary *bool `locationName:"isPrimary" type:"boolean"`
6073
6074	// Network interface Mac address.
6075	MacAddress *string `locationName:"macAddress" type:"string"`
6076}
6077
6078// String returns the string representation.
6079//
6080// API parameter values that are decorated as "sensitive" in the API will not
6081// be included in the string output. The member name will be present, but the
6082// value will be replaced with "sensitive".
6083func (s NetworkInterface) String() string {
6084	return awsutil.Prettify(s)
6085}
6086
6087// GoString returns the string representation.
6088//
6089// API parameter values that are decorated as "sensitive" in the API will not
6090// be included in the string output. The member name will be present, but the
6091// value will be replaced with "sensitive".
6092func (s NetworkInterface) GoString() string {
6093	return s.String()
6094}
6095
6096// SetIps sets the Ips field's value.
6097func (s *NetworkInterface) SetIps(v []*string) *NetworkInterface {
6098	s.Ips = v
6099	return s
6100}
6101
6102// SetIsPrimary sets the IsPrimary field's value.
6103func (s *NetworkInterface) SetIsPrimary(v bool) *NetworkInterface {
6104	s.IsPrimary = &v
6105	return s
6106}
6107
6108// SetMacAddress sets the MacAddress field's value.
6109func (s *NetworkInterface) SetMacAddress(v string) *NetworkInterface {
6110	s.MacAddress = &v
6111	return s
6112}
6113
6114// Operating System.
6115type OS struct {
6116	_ struct{} `type:"structure"`
6117
6118	// OS full string.
6119	FullString *string `locationName:"fullString" type:"string"`
6120}
6121
6122// String returns the string representation.
6123//
6124// API parameter values that are decorated as "sensitive" in the API will not
6125// be included in the string output. The member name will be present, but the
6126// value will be replaced with "sensitive".
6127func (s OS) String() string {
6128	return awsutil.Prettify(s)
6129}
6130
6131// GoString returns the string representation.
6132//
6133// API parameter values that are decorated as "sensitive" in the API will not
6134// be included in the string output. The member name will be present, but the
6135// value will be replaced with "sensitive".
6136func (s OS) GoString() string {
6137	return s.String()
6138}
6139
6140// SetFullString sets the FullString field's value.
6141func (s *OS) SetFullString(v string) *OS {
6142	s.FullString = &v
6143	return s
6144}
6145
6146// Server participating in Job.
6147type ParticipatingServer struct {
6148	_ struct{} `type:"structure"`
6149
6150	// Participating server launch status.
6151	LaunchStatus *string `locationName:"launchStatus" type:"string" enum:"LaunchStatus"`
6152
6153	// Participating server Source Server ID.
6154	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
6155}
6156
6157// String returns the string representation.
6158//
6159// API parameter values that are decorated as "sensitive" in the API will not
6160// be included in the string output. The member name will be present, but the
6161// value will be replaced with "sensitive".
6162func (s ParticipatingServer) String() string {
6163	return awsutil.Prettify(s)
6164}
6165
6166// GoString returns the string representation.
6167//
6168// API parameter values that are decorated as "sensitive" in the API will not
6169// be included in the string output. The member name will be present, but the
6170// value will be replaced with "sensitive".
6171func (s ParticipatingServer) GoString() string {
6172	return s.String()
6173}
6174
6175// SetLaunchStatus sets the LaunchStatus field's value.
6176func (s *ParticipatingServer) SetLaunchStatus(v string) *ParticipatingServer {
6177	s.LaunchStatus = &v
6178	return s
6179}
6180
6181// SetSourceServerID sets the SourceServerID field's value.
6182func (s *ParticipatingServer) SetSourceServerID(v string) *ParticipatingServer {
6183	s.SourceServerID = &v
6184	return s
6185}
6186
6187// Replication Configuration replicated disk.
6188type ReplicationConfigurationReplicatedDisk struct {
6189	_ struct{} `type:"structure"`
6190
6191	// Replication Configuration replicated disk device name.
6192	DeviceName *string `locationName:"deviceName" type:"string"`
6193
6194	// Replication Configuration replicated disk IOPs.
6195	Iops *int64 `locationName:"iops" type:"long"`
6196
6197	// Replication Configuration replicated disk boot disk.
6198	IsBootDisk *bool `locationName:"isBootDisk" type:"boolean"`
6199
6200	// Replication Configuration replicated disk staging disk type.
6201	StagingDiskType *string `locationName:"stagingDiskType" type:"string" enum:"ReplicationConfigurationReplicatedDiskStagingDiskType"`
6202}
6203
6204// String returns the string representation.
6205//
6206// API parameter values that are decorated as "sensitive" in the API will not
6207// be included in the string output. The member name will be present, but the
6208// value will be replaced with "sensitive".
6209func (s ReplicationConfigurationReplicatedDisk) String() string {
6210	return awsutil.Prettify(s)
6211}
6212
6213// GoString returns the string representation.
6214//
6215// API parameter values that are decorated as "sensitive" in the API will not
6216// be included in the string output. The member name will be present, but the
6217// value will be replaced with "sensitive".
6218func (s ReplicationConfigurationReplicatedDisk) GoString() string {
6219	return s.String()
6220}
6221
6222// SetDeviceName sets the DeviceName field's value.
6223func (s *ReplicationConfigurationReplicatedDisk) SetDeviceName(v string) *ReplicationConfigurationReplicatedDisk {
6224	s.DeviceName = &v
6225	return s
6226}
6227
6228// SetIops sets the Iops field's value.
6229func (s *ReplicationConfigurationReplicatedDisk) SetIops(v int64) *ReplicationConfigurationReplicatedDisk {
6230	s.Iops = &v
6231	return s
6232}
6233
6234// SetIsBootDisk sets the IsBootDisk field's value.
6235func (s *ReplicationConfigurationReplicatedDisk) SetIsBootDisk(v bool) *ReplicationConfigurationReplicatedDisk {
6236	s.IsBootDisk = &v
6237	return s
6238}
6239
6240// SetStagingDiskType sets the StagingDiskType field's value.
6241func (s *ReplicationConfigurationReplicatedDisk) SetStagingDiskType(v string) *ReplicationConfigurationReplicatedDisk {
6242	s.StagingDiskType = &v
6243	return s
6244}
6245
6246type ReplicationConfigurationTemplate struct {
6247	_ struct{} `type:"structure"`
6248
6249	// Replication Configuration template ARN.
6250	Arn *string `locationName:"arn" min:"20" type:"string"`
6251
6252	// Replication Configuration template associate default Application Migration
6253	// Service Security group.
6254	AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean"`
6255
6256	// Replication Configuration template bandwidth throtting.
6257	BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"`
6258
6259	// Replication Configuration template create Public IP.
6260	CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean"`
6261
6262	// Replication Configuration template data plane routing.
6263	DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" enum:"ReplicationConfigurationDataPlaneRouting"`
6264
6265	// Replication Configuration template use dedault large Staging Disk type.
6266	DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"`
6267
6268	// Replication Configuration template EBS encryption.
6269	EbsEncryption *string `locationName:"ebsEncryption" type:"string" enum:"ReplicationConfigurationEbsEncryption"`
6270
6271	// Replication Configuration template EBS encryption key ARN.
6272	EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"`
6273
6274	// Replication Configuration template template ID.
6275	//
6276	// ReplicationConfigurationTemplateID is a required field
6277	ReplicationConfigurationTemplateID *string `locationName:"replicationConfigurationTemplateID" min:"21" type:"string" required:"true"`
6278
6279	// Replication Configuration template server instance type.
6280	ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string"`
6281
6282	// Replication Configuration template server Security Groups IDs.
6283	ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list"`
6284
6285	// Replication Configuration template Staging Area subnet ID.
6286	StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string"`
6287
6288	// Replication Configuration template Staging Area Tags.
6289	//
6290	// StagingAreaTags is a sensitive parameter and its value will be
6291	// replaced with "sensitive" in string returned by ReplicationConfigurationTemplate's
6292	// String and GoString methods.
6293	StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" sensitive:"true"`
6294
6295	// Replication Configuration template Tags.
6296	//
6297	// Tags is a sensitive parameter and its value will be
6298	// replaced with "sensitive" in string returned by ReplicationConfigurationTemplate's
6299	// String and GoString methods.
6300	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
6301
6302	// Replication Configuration template use Dedicated Replication Server.
6303	UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean"`
6304}
6305
6306// String returns the string representation.
6307//
6308// API parameter values that are decorated as "sensitive" in the API will not
6309// be included in the string output. The member name will be present, but the
6310// value will be replaced with "sensitive".
6311func (s ReplicationConfigurationTemplate) String() string {
6312	return awsutil.Prettify(s)
6313}
6314
6315// GoString returns the string representation.
6316//
6317// API parameter values that are decorated as "sensitive" in the API will not
6318// be included in the string output. The member name will be present, but the
6319// value will be replaced with "sensitive".
6320func (s ReplicationConfigurationTemplate) GoString() string {
6321	return s.String()
6322}
6323
6324// SetArn sets the Arn field's value.
6325func (s *ReplicationConfigurationTemplate) SetArn(v string) *ReplicationConfigurationTemplate {
6326	s.Arn = &v
6327	return s
6328}
6329
6330// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value.
6331func (s *ReplicationConfigurationTemplate) SetAssociateDefaultSecurityGroup(v bool) *ReplicationConfigurationTemplate {
6332	s.AssociateDefaultSecurityGroup = &v
6333	return s
6334}
6335
6336// SetBandwidthThrottling sets the BandwidthThrottling field's value.
6337func (s *ReplicationConfigurationTemplate) SetBandwidthThrottling(v int64) *ReplicationConfigurationTemplate {
6338	s.BandwidthThrottling = &v
6339	return s
6340}
6341
6342// SetCreatePublicIP sets the CreatePublicIP field's value.
6343func (s *ReplicationConfigurationTemplate) SetCreatePublicIP(v bool) *ReplicationConfigurationTemplate {
6344	s.CreatePublicIP = &v
6345	return s
6346}
6347
6348// SetDataPlaneRouting sets the DataPlaneRouting field's value.
6349func (s *ReplicationConfigurationTemplate) SetDataPlaneRouting(v string) *ReplicationConfigurationTemplate {
6350	s.DataPlaneRouting = &v
6351	return s
6352}
6353
6354// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value.
6355func (s *ReplicationConfigurationTemplate) SetDefaultLargeStagingDiskType(v string) *ReplicationConfigurationTemplate {
6356	s.DefaultLargeStagingDiskType = &v
6357	return s
6358}
6359
6360// SetEbsEncryption sets the EbsEncryption field's value.
6361func (s *ReplicationConfigurationTemplate) SetEbsEncryption(v string) *ReplicationConfigurationTemplate {
6362	s.EbsEncryption = &v
6363	return s
6364}
6365
6366// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value.
6367func (s *ReplicationConfigurationTemplate) SetEbsEncryptionKeyArn(v string) *ReplicationConfigurationTemplate {
6368	s.EbsEncryptionKeyArn = &v
6369	return s
6370}
6371
6372// SetReplicationConfigurationTemplateID sets the ReplicationConfigurationTemplateID field's value.
6373func (s *ReplicationConfigurationTemplate) SetReplicationConfigurationTemplateID(v string) *ReplicationConfigurationTemplate {
6374	s.ReplicationConfigurationTemplateID = &v
6375	return s
6376}
6377
6378// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value.
6379func (s *ReplicationConfigurationTemplate) SetReplicationServerInstanceType(v string) *ReplicationConfigurationTemplate {
6380	s.ReplicationServerInstanceType = &v
6381	return s
6382}
6383
6384// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value.
6385func (s *ReplicationConfigurationTemplate) SetReplicationServersSecurityGroupsIDs(v []*string) *ReplicationConfigurationTemplate {
6386	s.ReplicationServersSecurityGroupsIDs = v
6387	return s
6388}
6389
6390// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value.
6391func (s *ReplicationConfigurationTemplate) SetStagingAreaSubnetId(v string) *ReplicationConfigurationTemplate {
6392	s.StagingAreaSubnetId = &v
6393	return s
6394}
6395
6396// SetStagingAreaTags sets the StagingAreaTags field's value.
6397func (s *ReplicationConfigurationTemplate) SetStagingAreaTags(v map[string]*string) *ReplicationConfigurationTemplate {
6398	s.StagingAreaTags = v
6399	return s
6400}
6401
6402// SetTags sets the Tags field's value.
6403func (s *ReplicationConfigurationTemplate) SetTags(v map[string]*string) *ReplicationConfigurationTemplate {
6404	s.Tags = v
6405	return s
6406}
6407
6408// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value.
6409func (s *ReplicationConfigurationTemplate) SetUseDedicatedReplicationServer(v bool) *ReplicationConfigurationTemplate {
6410	s.UseDedicatedReplicationServer = &v
6411	return s
6412}
6413
6414// Resource not found exception.
6415type ResourceNotFoundException struct {
6416	_            struct{}                  `type:"structure"`
6417	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6418
6419	Code_ *string `locationName:"code" type:"string"`
6420
6421	Message_ *string `locationName:"message" type:"string"`
6422
6423	// Resource ID not found error.
6424	ResourceId *string `locationName:"resourceId" type:"string"`
6425
6426	// Resource type not found error.
6427	ResourceType *string `locationName:"resourceType" type:"string"`
6428}
6429
6430// String returns the string representation.
6431//
6432// API parameter values that are decorated as "sensitive" in the API will not
6433// be included in the string output. The member name will be present, but the
6434// value will be replaced with "sensitive".
6435func (s ResourceNotFoundException) String() string {
6436	return awsutil.Prettify(s)
6437}
6438
6439// GoString returns the string representation.
6440//
6441// API parameter values that are decorated as "sensitive" in the API will not
6442// be included in the string output. The member name will be present, but the
6443// value will be replaced with "sensitive".
6444func (s ResourceNotFoundException) GoString() string {
6445	return s.String()
6446}
6447
6448func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
6449	return &ResourceNotFoundException{
6450		RespMetadata: v,
6451	}
6452}
6453
6454// Code returns the exception type name.
6455func (s *ResourceNotFoundException) Code() string {
6456	return "ResourceNotFoundException"
6457}
6458
6459// Message returns the exception's message.
6460func (s *ResourceNotFoundException) Message() string {
6461	if s.Message_ != nil {
6462		return *s.Message_
6463	}
6464	return ""
6465}
6466
6467// OrigErr always returns nil, satisfies awserr.Error interface.
6468func (s *ResourceNotFoundException) OrigErr() error {
6469	return nil
6470}
6471
6472func (s *ResourceNotFoundException) Error() string {
6473	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6474}
6475
6476// Status code returns the HTTP status code for the request's response error.
6477func (s *ResourceNotFoundException) StatusCode() int {
6478	return s.RespMetadata.StatusCode
6479}
6480
6481// RequestID returns the service's response RequestID for request.
6482func (s *ResourceNotFoundException) RequestID() string {
6483	return s.RespMetadata.RequestID
6484}
6485
6486type RetryDataReplicationInput struct {
6487	_ struct{} `type:"structure"`
6488
6489	// Retry data replication for Source Server ID.
6490	//
6491	// SourceServerID is a required field
6492	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"`
6493}
6494
6495// String returns the string representation.
6496//
6497// API parameter values that are decorated as "sensitive" in the API will not
6498// be included in the string output. The member name will be present, but the
6499// value will be replaced with "sensitive".
6500func (s RetryDataReplicationInput) String() string {
6501	return awsutil.Prettify(s)
6502}
6503
6504// GoString returns the string representation.
6505//
6506// API parameter values that are decorated as "sensitive" in the API will not
6507// be included in the string output. The member name will be present, but the
6508// value will be replaced with "sensitive".
6509func (s RetryDataReplicationInput) GoString() string {
6510	return s.String()
6511}
6512
6513// Validate inspects the fields of the type to determine if they are valid.
6514func (s *RetryDataReplicationInput) Validate() error {
6515	invalidParams := request.ErrInvalidParams{Context: "RetryDataReplicationInput"}
6516	if s.SourceServerID == nil {
6517		invalidParams.Add(request.NewErrParamRequired("SourceServerID"))
6518	}
6519	if s.SourceServerID != nil && len(*s.SourceServerID) < 19 {
6520		invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19))
6521	}
6522
6523	if invalidParams.Len() > 0 {
6524		return invalidParams
6525	}
6526	return nil
6527}
6528
6529// SetSourceServerID sets the SourceServerID field's value.
6530func (s *RetryDataReplicationInput) SetSourceServerID(v string) *RetryDataReplicationInput {
6531	s.SourceServerID = &v
6532	return s
6533}
6534
6535type RetryDataReplicationOutput struct {
6536	_ struct{} `type:"structure"`
6537
6538	// Source server ARN.
6539	Arn *string `locationName:"arn" min:"20" type:"string"`
6540
6541	// Source server data replication info.
6542	DataReplicationInfo *DataReplicationInfo `locationName:"dataReplicationInfo" type:"structure"`
6543
6544	// Source server archived status.
6545	IsArchived *bool `locationName:"isArchived" type:"boolean"`
6546
6547	// Source server launched instance.
6548	LaunchedInstance *LaunchedInstance `locationName:"launchedInstance" type:"structure"`
6549
6550	// Source server lifecycle state.
6551	LifeCycle *LifeCycle `locationName:"lifeCycle" type:"structure"`
6552
6553	// Source server properties.
6554	SourceProperties *SourceProperties `locationName:"sourceProperties" type:"structure"`
6555
6556	// Source server ID.
6557	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
6558
6559	// Source server Tags.
6560	//
6561	// Tags is a sensitive parameter and its value will be
6562	// replaced with "sensitive" in string returned by RetryDataReplicationOutput's
6563	// String and GoString methods.
6564	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
6565}
6566
6567// String returns the string representation.
6568//
6569// API parameter values that are decorated as "sensitive" in the API will not
6570// be included in the string output. The member name will be present, but the
6571// value will be replaced with "sensitive".
6572func (s RetryDataReplicationOutput) String() string {
6573	return awsutil.Prettify(s)
6574}
6575
6576// GoString returns the string representation.
6577//
6578// API parameter values that are decorated as "sensitive" in the API will not
6579// be included in the string output. The member name will be present, but the
6580// value will be replaced with "sensitive".
6581func (s RetryDataReplicationOutput) GoString() string {
6582	return s.String()
6583}
6584
6585// SetArn sets the Arn field's value.
6586func (s *RetryDataReplicationOutput) SetArn(v string) *RetryDataReplicationOutput {
6587	s.Arn = &v
6588	return s
6589}
6590
6591// SetDataReplicationInfo sets the DataReplicationInfo field's value.
6592func (s *RetryDataReplicationOutput) SetDataReplicationInfo(v *DataReplicationInfo) *RetryDataReplicationOutput {
6593	s.DataReplicationInfo = v
6594	return s
6595}
6596
6597// SetIsArchived sets the IsArchived field's value.
6598func (s *RetryDataReplicationOutput) SetIsArchived(v bool) *RetryDataReplicationOutput {
6599	s.IsArchived = &v
6600	return s
6601}
6602
6603// SetLaunchedInstance sets the LaunchedInstance field's value.
6604func (s *RetryDataReplicationOutput) SetLaunchedInstance(v *LaunchedInstance) *RetryDataReplicationOutput {
6605	s.LaunchedInstance = v
6606	return s
6607}
6608
6609// SetLifeCycle sets the LifeCycle field's value.
6610func (s *RetryDataReplicationOutput) SetLifeCycle(v *LifeCycle) *RetryDataReplicationOutput {
6611	s.LifeCycle = v
6612	return s
6613}
6614
6615// SetSourceProperties sets the SourceProperties field's value.
6616func (s *RetryDataReplicationOutput) SetSourceProperties(v *SourceProperties) *RetryDataReplicationOutput {
6617	s.SourceProperties = v
6618	return s
6619}
6620
6621// SetSourceServerID sets the SourceServerID field's value.
6622func (s *RetryDataReplicationOutput) SetSourceServerID(v string) *RetryDataReplicationOutput {
6623	s.SourceServerID = &v
6624	return s
6625}
6626
6627// SetTags sets the Tags field's value.
6628func (s *RetryDataReplicationOutput) SetTags(v map[string]*string) *RetryDataReplicationOutput {
6629	s.Tags = v
6630	return s
6631}
6632
6633// Source server properties.
6634type SourceProperties struct {
6635	_ struct{} `type:"structure"`
6636
6637	// Source Server CPUs.
6638	Cpus []*CPU `locationName:"cpus" type:"list"`
6639
6640	// Source Server disks.
6641	Disks []*Disk `locationName:"disks" type:"list"`
6642
6643	// Source server identification hints.
6644	IdentificationHints *IdentificationHints `locationName:"identificationHints" type:"structure"`
6645
6646	// Source server last update date and time.
6647	LastUpdatedDateTime *string `locationName:"lastUpdatedDateTime" min:"19" type:"string"`
6648
6649	// Source server network interfaces.
6650	NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"`
6651
6652	// Source server OS.
6653	Os *OS `locationName:"os" type:"structure"`
6654
6655	// Source server RAM in bytes.
6656	RamBytes *int64 `locationName:"ramBytes" type:"long"`
6657
6658	// Source server recommended instance type.
6659	RecommendedInstanceType *string `locationName:"recommendedInstanceType" type:"string"`
6660}
6661
6662// String returns the string representation.
6663//
6664// API parameter values that are decorated as "sensitive" in the API will not
6665// be included in the string output. The member name will be present, but the
6666// value will be replaced with "sensitive".
6667func (s SourceProperties) String() string {
6668	return awsutil.Prettify(s)
6669}
6670
6671// GoString returns the string representation.
6672//
6673// API parameter values that are decorated as "sensitive" in the API will not
6674// be included in the string output. The member name will be present, but the
6675// value will be replaced with "sensitive".
6676func (s SourceProperties) GoString() string {
6677	return s.String()
6678}
6679
6680// SetCpus sets the Cpus field's value.
6681func (s *SourceProperties) SetCpus(v []*CPU) *SourceProperties {
6682	s.Cpus = v
6683	return s
6684}
6685
6686// SetDisks sets the Disks field's value.
6687func (s *SourceProperties) SetDisks(v []*Disk) *SourceProperties {
6688	s.Disks = v
6689	return s
6690}
6691
6692// SetIdentificationHints sets the IdentificationHints field's value.
6693func (s *SourceProperties) SetIdentificationHints(v *IdentificationHints) *SourceProperties {
6694	s.IdentificationHints = v
6695	return s
6696}
6697
6698// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
6699func (s *SourceProperties) SetLastUpdatedDateTime(v string) *SourceProperties {
6700	s.LastUpdatedDateTime = &v
6701	return s
6702}
6703
6704// SetNetworkInterfaces sets the NetworkInterfaces field's value.
6705func (s *SourceProperties) SetNetworkInterfaces(v []*NetworkInterface) *SourceProperties {
6706	s.NetworkInterfaces = v
6707	return s
6708}
6709
6710// SetOs sets the Os field's value.
6711func (s *SourceProperties) SetOs(v *OS) *SourceProperties {
6712	s.Os = v
6713	return s
6714}
6715
6716// SetRamBytes sets the RamBytes field's value.
6717func (s *SourceProperties) SetRamBytes(v int64) *SourceProperties {
6718	s.RamBytes = &v
6719	return s
6720}
6721
6722// SetRecommendedInstanceType sets the RecommendedInstanceType field's value.
6723func (s *SourceProperties) SetRecommendedInstanceType(v string) *SourceProperties {
6724	s.RecommendedInstanceType = &v
6725	return s
6726}
6727
6728type SourceServer struct {
6729	_ struct{} `type:"structure"`
6730
6731	// Source server ARN.
6732	Arn *string `locationName:"arn" min:"20" type:"string"`
6733
6734	// Source server data replication info.
6735	DataReplicationInfo *DataReplicationInfo `locationName:"dataReplicationInfo" type:"structure"`
6736
6737	// Source server archived status.
6738	IsArchived *bool `locationName:"isArchived" type:"boolean"`
6739
6740	// Source server launched instance.
6741	LaunchedInstance *LaunchedInstance `locationName:"launchedInstance" type:"structure"`
6742
6743	// Source server lifecycle state.
6744	LifeCycle *LifeCycle `locationName:"lifeCycle" type:"structure"`
6745
6746	// Source server properties.
6747	SourceProperties *SourceProperties `locationName:"sourceProperties" type:"structure"`
6748
6749	// Source server ID.
6750	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
6751
6752	// Source server Tags.
6753	//
6754	// Tags is a sensitive parameter and its value will be
6755	// replaced with "sensitive" in string returned by SourceServer's
6756	// String and GoString methods.
6757	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
6758}
6759
6760// String returns the string representation.
6761//
6762// API parameter values that are decorated as "sensitive" in the API will not
6763// be included in the string output. The member name will be present, but the
6764// value will be replaced with "sensitive".
6765func (s SourceServer) String() string {
6766	return awsutil.Prettify(s)
6767}
6768
6769// GoString returns the string representation.
6770//
6771// API parameter values that are decorated as "sensitive" in the API will not
6772// be included in the string output. The member name will be present, but the
6773// value will be replaced with "sensitive".
6774func (s SourceServer) GoString() string {
6775	return s.String()
6776}
6777
6778// SetArn sets the Arn field's value.
6779func (s *SourceServer) SetArn(v string) *SourceServer {
6780	s.Arn = &v
6781	return s
6782}
6783
6784// SetDataReplicationInfo sets the DataReplicationInfo field's value.
6785func (s *SourceServer) SetDataReplicationInfo(v *DataReplicationInfo) *SourceServer {
6786	s.DataReplicationInfo = v
6787	return s
6788}
6789
6790// SetIsArchived sets the IsArchived field's value.
6791func (s *SourceServer) SetIsArchived(v bool) *SourceServer {
6792	s.IsArchived = &v
6793	return s
6794}
6795
6796// SetLaunchedInstance sets the LaunchedInstance field's value.
6797func (s *SourceServer) SetLaunchedInstance(v *LaunchedInstance) *SourceServer {
6798	s.LaunchedInstance = v
6799	return s
6800}
6801
6802// SetLifeCycle sets the LifeCycle field's value.
6803func (s *SourceServer) SetLifeCycle(v *LifeCycle) *SourceServer {
6804	s.LifeCycle = v
6805	return s
6806}
6807
6808// SetSourceProperties sets the SourceProperties field's value.
6809func (s *SourceServer) SetSourceProperties(v *SourceProperties) *SourceServer {
6810	s.SourceProperties = v
6811	return s
6812}
6813
6814// SetSourceServerID sets the SourceServerID field's value.
6815func (s *SourceServer) SetSourceServerID(v string) *SourceServer {
6816	s.SourceServerID = &v
6817	return s
6818}
6819
6820// SetTags sets the Tags field's value.
6821func (s *SourceServer) SetTags(v map[string]*string) *SourceServer {
6822	s.Tags = v
6823	return s
6824}
6825
6826type StartCutoverInput struct {
6827	_ struct{} `type:"structure"`
6828
6829	// Start Cutover by Source Server IDs.
6830	//
6831	// SourceServerIDs is a required field
6832	SourceServerIDs []*string `locationName:"sourceServerIDs" min:"1" type:"list" required:"true"`
6833
6834	// Start Cutover by Tags.
6835	//
6836	// Tags is a sensitive parameter and its value will be
6837	// replaced with "sensitive" in string returned by StartCutoverInput's
6838	// String and GoString methods.
6839	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
6840}
6841
6842// String returns the string representation.
6843//
6844// API parameter values that are decorated as "sensitive" in the API will not
6845// be included in the string output. The member name will be present, but the
6846// value will be replaced with "sensitive".
6847func (s StartCutoverInput) String() string {
6848	return awsutil.Prettify(s)
6849}
6850
6851// GoString returns the string representation.
6852//
6853// API parameter values that are decorated as "sensitive" in the API will not
6854// be included in the string output. The member name will be present, but the
6855// value will be replaced with "sensitive".
6856func (s StartCutoverInput) GoString() string {
6857	return s.String()
6858}
6859
6860// Validate inspects the fields of the type to determine if they are valid.
6861func (s *StartCutoverInput) Validate() error {
6862	invalidParams := request.ErrInvalidParams{Context: "StartCutoverInput"}
6863	if s.SourceServerIDs == nil {
6864		invalidParams.Add(request.NewErrParamRequired("SourceServerIDs"))
6865	}
6866	if s.SourceServerIDs != nil && len(s.SourceServerIDs) < 1 {
6867		invalidParams.Add(request.NewErrParamMinLen("SourceServerIDs", 1))
6868	}
6869
6870	if invalidParams.Len() > 0 {
6871		return invalidParams
6872	}
6873	return nil
6874}
6875
6876// SetSourceServerIDs sets the SourceServerIDs field's value.
6877func (s *StartCutoverInput) SetSourceServerIDs(v []*string) *StartCutoverInput {
6878	s.SourceServerIDs = v
6879	return s
6880}
6881
6882// SetTags sets the Tags field's value.
6883func (s *StartCutoverInput) SetTags(v map[string]*string) *StartCutoverInput {
6884	s.Tags = v
6885	return s
6886}
6887
6888type StartCutoverOutput struct {
6889	_ struct{} `type:"structure"`
6890
6891	// Start Cutover Job response.
6892	Job *Job `locationName:"job" type:"structure"`
6893}
6894
6895// String returns the string representation.
6896//
6897// API parameter values that are decorated as "sensitive" in the API will not
6898// be included in the string output. The member name will be present, but the
6899// value will be replaced with "sensitive".
6900func (s StartCutoverOutput) String() string {
6901	return awsutil.Prettify(s)
6902}
6903
6904// GoString returns the string representation.
6905//
6906// API parameter values that are decorated as "sensitive" in the API will not
6907// be included in the string output. The member name will be present, but the
6908// value will be replaced with "sensitive".
6909func (s StartCutoverOutput) GoString() string {
6910	return s.String()
6911}
6912
6913// SetJob sets the Job field's value.
6914func (s *StartCutoverOutput) SetJob(v *Job) *StartCutoverOutput {
6915	s.Job = v
6916	return s
6917}
6918
6919type StartTestInput struct {
6920	_ struct{} `type:"structure"`
6921
6922	// Start Test for Source Server IDs.
6923	//
6924	// SourceServerIDs is a required field
6925	SourceServerIDs []*string `locationName:"sourceServerIDs" min:"1" type:"list" required:"true"`
6926
6927	// Start Test by Tags.
6928	//
6929	// Tags is a sensitive parameter and its value will be
6930	// replaced with "sensitive" in string returned by StartTestInput's
6931	// String and GoString methods.
6932	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
6933}
6934
6935// String returns the string representation.
6936//
6937// API parameter values that are decorated as "sensitive" in the API will not
6938// be included in the string output. The member name will be present, but the
6939// value will be replaced with "sensitive".
6940func (s StartTestInput) String() string {
6941	return awsutil.Prettify(s)
6942}
6943
6944// GoString returns the string representation.
6945//
6946// API parameter values that are decorated as "sensitive" in the API will not
6947// be included in the string output. The member name will be present, but the
6948// value will be replaced with "sensitive".
6949func (s StartTestInput) GoString() string {
6950	return s.String()
6951}
6952
6953// Validate inspects the fields of the type to determine if they are valid.
6954func (s *StartTestInput) Validate() error {
6955	invalidParams := request.ErrInvalidParams{Context: "StartTestInput"}
6956	if s.SourceServerIDs == nil {
6957		invalidParams.Add(request.NewErrParamRequired("SourceServerIDs"))
6958	}
6959	if s.SourceServerIDs != nil && len(s.SourceServerIDs) < 1 {
6960		invalidParams.Add(request.NewErrParamMinLen("SourceServerIDs", 1))
6961	}
6962
6963	if invalidParams.Len() > 0 {
6964		return invalidParams
6965	}
6966	return nil
6967}
6968
6969// SetSourceServerIDs sets the SourceServerIDs field's value.
6970func (s *StartTestInput) SetSourceServerIDs(v []*string) *StartTestInput {
6971	s.SourceServerIDs = v
6972	return s
6973}
6974
6975// SetTags sets the Tags field's value.
6976func (s *StartTestInput) SetTags(v map[string]*string) *StartTestInput {
6977	s.Tags = v
6978	return s
6979}
6980
6981type StartTestOutput struct {
6982	_ struct{} `type:"structure"`
6983
6984	// Start Test Job response.
6985	Job *Job `locationName:"job" type:"structure"`
6986}
6987
6988// String returns the string representation.
6989//
6990// API parameter values that are decorated as "sensitive" in the API will not
6991// be included in the string output. The member name will be present, but the
6992// value will be replaced with "sensitive".
6993func (s StartTestOutput) String() string {
6994	return awsutil.Prettify(s)
6995}
6996
6997// GoString returns the string representation.
6998//
6999// API parameter values that are decorated as "sensitive" in the API will not
7000// be included in the string output. The member name will be present, but the
7001// value will be replaced with "sensitive".
7002func (s StartTestOutput) GoString() string {
7003	return s.String()
7004}
7005
7006// SetJob sets the Job field's value.
7007func (s *StartTestOutput) SetJob(v *Job) *StartTestOutput {
7008	s.Job = v
7009	return s
7010}
7011
7012type TagResourceInput struct {
7013	_ struct{} `type:"structure"`
7014
7015	// Tag resource by ARN.
7016	//
7017	// ResourceArn is a required field
7018	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
7019
7020	// Tag resource by Tags.
7021	//
7022	// Tags is a sensitive parameter and its value will be
7023	// replaced with "sensitive" in string returned by TagResourceInput's
7024	// String and GoString methods.
7025	//
7026	// Tags is a required field
7027	Tags map[string]*string `locationName:"tags" type:"map" required:"true" sensitive:"true"`
7028}
7029
7030// String returns the string representation.
7031//
7032// API parameter values that are decorated as "sensitive" in the API will not
7033// be included in the string output. The member name will be present, but the
7034// value will be replaced with "sensitive".
7035func (s TagResourceInput) String() string {
7036	return awsutil.Prettify(s)
7037}
7038
7039// GoString returns the string representation.
7040//
7041// API parameter values that are decorated as "sensitive" in the API will not
7042// be included in the string output. The member name will be present, but the
7043// value will be replaced with "sensitive".
7044func (s TagResourceInput) GoString() string {
7045	return s.String()
7046}
7047
7048// Validate inspects the fields of the type to determine if they are valid.
7049func (s *TagResourceInput) Validate() error {
7050	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
7051	if s.ResourceArn == nil {
7052		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7053	}
7054	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
7055		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
7056	}
7057	if s.Tags == nil {
7058		invalidParams.Add(request.NewErrParamRequired("Tags"))
7059	}
7060
7061	if invalidParams.Len() > 0 {
7062		return invalidParams
7063	}
7064	return nil
7065}
7066
7067// SetResourceArn sets the ResourceArn field's value.
7068func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
7069	s.ResourceArn = &v
7070	return s
7071}
7072
7073// SetTags sets the Tags field's value.
7074func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
7075	s.Tags = v
7076	return s
7077}
7078
7079type TagResourceOutput struct {
7080	_ struct{} `type:"structure"`
7081}
7082
7083// String returns the string representation.
7084//
7085// API parameter values that are decorated as "sensitive" in the API will not
7086// be included in the string output. The member name will be present, but the
7087// value will be replaced with "sensitive".
7088func (s TagResourceOutput) String() string {
7089	return awsutil.Prettify(s)
7090}
7091
7092// GoString returns the string representation.
7093//
7094// API parameter values that are decorated as "sensitive" in the API will not
7095// be included in the string output. The member name will be present, but the
7096// value will be replaced with "sensitive".
7097func (s TagResourceOutput) GoString() string {
7098	return s.String()
7099}
7100
7101type TerminateTargetInstancesInput struct {
7102	_ struct{} `type:"structure"`
7103
7104	// Terminate Target instance by Source Server IDs.
7105	//
7106	// SourceServerIDs is a required field
7107	SourceServerIDs []*string `locationName:"sourceServerIDs" min:"1" type:"list" required:"true"`
7108
7109	// Terminate Target instance by Tags.
7110	//
7111	// Tags is a sensitive parameter and its value will be
7112	// replaced with "sensitive" in string returned by TerminateTargetInstancesInput's
7113	// String and GoString methods.
7114	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
7115}
7116
7117// String returns the string representation.
7118//
7119// API parameter values that are decorated as "sensitive" in the API will not
7120// be included in the string output. The member name will be present, but the
7121// value will be replaced with "sensitive".
7122func (s TerminateTargetInstancesInput) String() string {
7123	return awsutil.Prettify(s)
7124}
7125
7126// GoString returns the string representation.
7127//
7128// API parameter values that are decorated as "sensitive" in the API will not
7129// be included in the string output. The member name will be present, but the
7130// value will be replaced with "sensitive".
7131func (s TerminateTargetInstancesInput) GoString() string {
7132	return s.String()
7133}
7134
7135// Validate inspects the fields of the type to determine if they are valid.
7136func (s *TerminateTargetInstancesInput) Validate() error {
7137	invalidParams := request.ErrInvalidParams{Context: "TerminateTargetInstancesInput"}
7138	if s.SourceServerIDs == nil {
7139		invalidParams.Add(request.NewErrParamRequired("SourceServerIDs"))
7140	}
7141	if s.SourceServerIDs != nil && len(s.SourceServerIDs) < 1 {
7142		invalidParams.Add(request.NewErrParamMinLen("SourceServerIDs", 1))
7143	}
7144
7145	if invalidParams.Len() > 0 {
7146		return invalidParams
7147	}
7148	return nil
7149}
7150
7151// SetSourceServerIDs sets the SourceServerIDs field's value.
7152func (s *TerminateTargetInstancesInput) SetSourceServerIDs(v []*string) *TerminateTargetInstancesInput {
7153	s.SourceServerIDs = v
7154	return s
7155}
7156
7157// SetTags sets the Tags field's value.
7158func (s *TerminateTargetInstancesInput) SetTags(v map[string]*string) *TerminateTargetInstancesInput {
7159	s.Tags = v
7160	return s
7161}
7162
7163type TerminateTargetInstancesOutput struct {
7164	_ struct{} `type:"structure"`
7165
7166	// Terminate Target instance Job response.
7167	Job *Job `locationName:"job" type:"structure"`
7168}
7169
7170// String returns the string representation.
7171//
7172// API parameter values that are decorated as "sensitive" in the API will not
7173// be included in the string output. The member name will be present, but the
7174// value will be replaced with "sensitive".
7175func (s TerminateTargetInstancesOutput) String() string {
7176	return awsutil.Prettify(s)
7177}
7178
7179// GoString returns the string representation.
7180//
7181// API parameter values that are decorated as "sensitive" in the API will not
7182// be included in the string output. The member name will be present, but the
7183// value will be replaced with "sensitive".
7184func (s TerminateTargetInstancesOutput) GoString() string {
7185	return s.String()
7186}
7187
7188// SetJob sets the Job field's value.
7189func (s *TerminateTargetInstancesOutput) SetJob(v *Job) *TerminateTargetInstancesOutput {
7190	s.Job = v
7191	return s
7192}
7193
7194// Reached throttling quota exception.
7195type ThrottlingException struct {
7196	_            struct{}                  `type:"structure"`
7197	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7198
7199	Message_ *string `locationName:"message" type:"string"`
7200
7201	// Reached throttling quota exception.
7202	QuotaCode *string `locationName:"quotaCode" type:"string"`
7203
7204	// Reached throttling quota exception will retry after x seconds.
7205	RetryAfterSeconds *string `location:"header" locationName:"Retry-After" type:"string"`
7206
7207	// Reached throttling quota exception service code.
7208	ServiceCode *string `locationName:"serviceCode" type:"string"`
7209}
7210
7211// String returns the string representation.
7212//
7213// API parameter values that are decorated as "sensitive" in the API will not
7214// be included in the string output. The member name will be present, but the
7215// value will be replaced with "sensitive".
7216func (s ThrottlingException) String() string {
7217	return awsutil.Prettify(s)
7218}
7219
7220// GoString returns the string representation.
7221//
7222// API parameter values that are decorated as "sensitive" in the API will not
7223// be included in the string output. The member name will be present, but the
7224// value will be replaced with "sensitive".
7225func (s ThrottlingException) GoString() string {
7226	return s.String()
7227}
7228
7229func newErrorThrottlingException(v protocol.ResponseMetadata) error {
7230	return &ThrottlingException{
7231		RespMetadata: v,
7232	}
7233}
7234
7235// Code returns the exception type name.
7236func (s *ThrottlingException) Code() string {
7237	return "ThrottlingException"
7238}
7239
7240// Message returns the exception's message.
7241func (s *ThrottlingException) Message() string {
7242	if s.Message_ != nil {
7243		return *s.Message_
7244	}
7245	return ""
7246}
7247
7248// OrigErr always returns nil, satisfies awserr.Error interface.
7249func (s *ThrottlingException) OrigErr() error {
7250	return nil
7251}
7252
7253func (s *ThrottlingException) Error() string {
7254	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7255}
7256
7257// Status code returns the HTTP status code for the request's response error.
7258func (s *ThrottlingException) StatusCode() int {
7259	return s.RespMetadata.StatusCode
7260}
7261
7262// RequestID returns the service's response RequestID for request.
7263func (s *ThrottlingException) RequestID() string {
7264	return s.RespMetadata.RequestID
7265}
7266
7267// Unitialized account exception.
7268type UninitializedAccountException struct {
7269	_            struct{}                  `type:"structure"`
7270	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7271
7272	Code_ *string `locationName:"code" type:"string"`
7273
7274	Message_ *string `locationName:"message" type:"string"`
7275}
7276
7277// String returns the string representation.
7278//
7279// API parameter values that are decorated as "sensitive" in the API will not
7280// be included in the string output. The member name will be present, but the
7281// value will be replaced with "sensitive".
7282func (s UninitializedAccountException) String() string {
7283	return awsutil.Prettify(s)
7284}
7285
7286// GoString returns the string representation.
7287//
7288// API parameter values that are decorated as "sensitive" in the API will not
7289// be included in the string output. The member name will be present, but the
7290// value will be replaced with "sensitive".
7291func (s UninitializedAccountException) GoString() string {
7292	return s.String()
7293}
7294
7295func newErrorUninitializedAccountException(v protocol.ResponseMetadata) error {
7296	return &UninitializedAccountException{
7297		RespMetadata: v,
7298	}
7299}
7300
7301// Code returns the exception type name.
7302func (s *UninitializedAccountException) Code() string {
7303	return "UninitializedAccountException"
7304}
7305
7306// Message returns the exception's message.
7307func (s *UninitializedAccountException) Message() string {
7308	if s.Message_ != nil {
7309		return *s.Message_
7310	}
7311	return ""
7312}
7313
7314// OrigErr always returns nil, satisfies awserr.Error interface.
7315func (s *UninitializedAccountException) OrigErr() error {
7316	return nil
7317}
7318
7319func (s *UninitializedAccountException) Error() string {
7320	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7321}
7322
7323// Status code returns the HTTP status code for the request's response error.
7324func (s *UninitializedAccountException) StatusCode() int {
7325	return s.RespMetadata.StatusCode
7326}
7327
7328// RequestID returns the service's response RequestID for request.
7329func (s *UninitializedAccountException) RequestID() string {
7330	return s.RespMetadata.RequestID
7331}
7332
7333type UntagResourceInput struct {
7334	_ struct{} `type:"structure" nopayload:"true"`
7335
7336	// Untag resource by ARN.
7337	//
7338	// ResourceArn is a required field
7339	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"`
7340
7341	// Untag resource by Keys.
7342	//
7343	// TagKeys is a sensitive parameter and its value will be
7344	// replaced with "sensitive" in string returned by UntagResourceInput's
7345	// String and GoString methods.
7346	//
7347	// TagKeys is a required field
7348	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true" sensitive:"true"`
7349}
7350
7351// String returns the string representation.
7352//
7353// API parameter values that are decorated as "sensitive" in the API will not
7354// be included in the string output. The member name will be present, but the
7355// value will be replaced with "sensitive".
7356func (s UntagResourceInput) String() string {
7357	return awsutil.Prettify(s)
7358}
7359
7360// GoString returns the string representation.
7361//
7362// API parameter values that are decorated as "sensitive" in the API will not
7363// be included in the string output. The member name will be present, but the
7364// value will be replaced with "sensitive".
7365func (s UntagResourceInput) GoString() string {
7366	return s.String()
7367}
7368
7369// Validate inspects the fields of the type to determine if they are valid.
7370func (s *UntagResourceInput) Validate() error {
7371	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
7372	if s.ResourceArn == nil {
7373		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7374	}
7375	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
7376		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
7377	}
7378	if s.TagKeys == nil {
7379		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
7380	}
7381
7382	if invalidParams.Len() > 0 {
7383		return invalidParams
7384	}
7385	return nil
7386}
7387
7388// SetResourceArn sets the ResourceArn field's value.
7389func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
7390	s.ResourceArn = &v
7391	return s
7392}
7393
7394// SetTagKeys sets the TagKeys field's value.
7395func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
7396	s.TagKeys = v
7397	return s
7398}
7399
7400type UntagResourceOutput struct {
7401	_ struct{} `type:"structure"`
7402}
7403
7404// String returns the string representation.
7405//
7406// API parameter values that are decorated as "sensitive" in the API will not
7407// be included in the string output. The member name will be present, but the
7408// value will be replaced with "sensitive".
7409func (s UntagResourceOutput) String() string {
7410	return awsutil.Prettify(s)
7411}
7412
7413// GoString returns the string representation.
7414//
7415// API parameter values that are decorated as "sensitive" in the API will not
7416// be included in the string output. The member name will be present, but the
7417// value will be replaced with "sensitive".
7418func (s UntagResourceOutput) GoString() string {
7419	return s.String()
7420}
7421
7422type UpdateLaunchConfigurationInput struct {
7423	_ struct{} `type:"structure"`
7424
7425	// Update Launch configuration copy Private IP request.
7426	CopyPrivateIp *bool `locationName:"copyPrivateIp" type:"boolean"`
7427
7428	// Update Launch configuration copy Tags request.
7429	CopyTags *bool `locationName:"copyTags" type:"boolean"`
7430
7431	// Update Launch configuration launch disposition request.
7432	LaunchDisposition *string `locationName:"launchDisposition" type:"string" enum:"LaunchDisposition"`
7433
7434	// Update Launch configuration licensing request.
7435	Licensing *Licensing `locationName:"licensing" type:"structure"`
7436
7437	// Update Launch configuration name request.
7438	Name *string `locationName:"name" type:"string"`
7439
7440	// Update Launch configuration by Source Server ID request.
7441	//
7442	// SourceServerID is a required field
7443	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"`
7444
7445	// Update Launch configuration Target instance right sizing request.
7446	TargetInstanceTypeRightSizingMethod *string `locationName:"targetInstanceTypeRightSizingMethod" type:"string" enum:"TargetInstanceTypeRightSizingMethod"`
7447}
7448
7449// String returns the string representation.
7450//
7451// API parameter values that are decorated as "sensitive" in the API will not
7452// be included in the string output. The member name will be present, but the
7453// value will be replaced with "sensitive".
7454func (s UpdateLaunchConfigurationInput) String() string {
7455	return awsutil.Prettify(s)
7456}
7457
7458// GoString returns the string representation.
7459//
7460// API parameter values that are decorated as "sensitive" in the API will not
7461// be included in the string output. The member name will be present, but the
7462// value will be replaced with "sensitive".
7463func (s UpdateLaunchConfigurationInput) GoString() string {
7464	return s.String()
7465}
7466
7467// Validate inspects the fields of the type to determine if they are valid.
7468func (s *UpdateLaunchConfigurationInput) Validate() error {
7469	invalidParams := request.ErrInvalidParams{Context: "UpdateLaunchConfigurationInput"}
7470	if s.SourceServerID == nil {
7471		invalidParams.Add(request.NewErrParamRequired("SourceServerID"))
7472	}
7473	if s.SourceServerID != nil && len(*s.SourceServerID) < 19 {
7474		invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19))
7475	}
7476
7477	if invalidParams.Len() > 0 {
7478		return invalidParams
7479	}
7480	return nil
7481}
7482
7483// SetCopyPrivateIp sets the CopyPrivateIp field's value.
7484func (s *UpdateLaunchConfigurationInput) SetCopyPrivateIp(v bool) *UpdateLaunchConfigurationInput {
7485	s.CopyPrivateIp = &v
7486	return s
7487}
7488
7489// SetCopyTags sets the CopyTags field's value.
7490func (s *UpdateLaunchConfigurationInput) SetCopyTags(v bool) *UpdateLaunchConfigurationInput {
7491	s.CopyTags = &v
7492	return s
7493}
7494
7495// SetLaunchDisposition sets the LaunchDisposition field's value.
7496func (s *UpdateLaunchConfigurationInput) SetLaunchDisposition(v string) *UpdateLaunchConfigurationInput {
7497	s.LaunchDisposition = &v
7498	return s
7499}
7500
7501// SetLicensing sets the Licensing field's value.
7502func (s *UpdateLaunchConfigurationInput) SetLicensing(v *Licensing) *UpdateLaunchConfigurationInput {
7503	s.Licensing = v
7504	return s
7505}
7506
7507// SetName sets the Name field's value.
7508func (s *UpdateLaunchConfigurationInput) SetName(v string) *UpdateLaunchConfigurationInput {
7509	s.Name = &v
7510	return s
7511}
7512
7513// SetSourceServerID sets the SourceServerID field's value.
7514func (s *UpdateLaunchConfigurationInput) SetSourceServerID(v string) *UpdateLaunchConfigurationInput {
7515	s.SourceServerID = &v
7516	return s
7517}
7518
7519// SetTargetInstanceTypeRightSizingMethod sets the TargetInstanceTypeRightSizingMethod field's value.
7520func (s *UpdateLaunchConfigurationInput) SetTargetInstanceTypeRightSizingMethod(v string) *UpdateLaunchConfigurationInput {
7521	s.TargetInstanceTypeRightSizingMethod = &v
7522	return s
7523}
7524
7525type UpdateLaunchConfigurationOutput struct {
7526	_ struct{} `type:"structure"`
7527
7528	// Copy Private IP during Launch Configuration.
7529	CopyPrivateIp *bool `locationName:"copyPrivateIp" type:"boolean"`
7530
7531	// Copy Tags during Launch Configuration.
7532	CopyTags *bool `locationName:"copyTags" type:"boolean"`
7533
7534	// Configure EC2 lauch configuration template ID.
7535	Ec2LaunchTemplateID *string `locationName:"ec2LaunchTemplateID" type:"string"`
7536
7537	// Configure launch dispostion for launch configuration.
7538	LaunchDisposition *string `locationName:"launchDisposition" type:"string" enum:"LaunchDisposition"`
7539
7540	// Configure launch configuration OS licensing.
7541	Licensing *Licensing `locationName:"licensing" type:"structure"`
7542
7543	// Configure launch configuration name.
7544	Name *string `locationName:"name" type:"string"`
7545
7546	// Configure launch configuration Source Server ID.
7547	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
7548
7549	// Configure launch configuration Target instance type right sizing method.
7550	TargetInstanceTypeRightSizingMethod *string `locationName:"targetInstanceTypeRightSizingMethod" type:"string" enum:"TargetInstanceTypeRightSizingMethod"`
7551}
7552
7553// String returns the string representation.
7554//
7555// API parameter values that are decorated as "sensitive" in the API will not
7556// be included in the string output. The member name will be present, but the
7557// value will be replaced with "sensitive".
7558func (s UpdateLaunchConfigurationOutput) String() string {
7559	return awsutil.Prettify(s)
7560}
7561
7562// GoString returns the string representation.
7563//
7564// API parameter values that are decorated as "sensitive" in the API will not
7565// be included in the string output. The member name will be present, but the
7566// value will be replaced with "sensitive".
7567func (s UpdateLaunchConfigurationOutput) GoString() string {
7568	return s.String()
7569}
7570
7571// SetCopyPrivateIp sets the CopyPrivateIp field's value.
7572func (s *UpdateLaunchConfigurationOutput) SetCopyPrivateIp(v bool) *UpdateLaunchConfigurationOutput {
7573	s.CopyPrivateIp = &v
7574	return s
7575}
7576
7577// SetCopyTags sets the CopyTags field's value.
7578func (s *UpdateLaunchConfigurationOutput) SetCopyTags(v bool) *UpdateLaunchConfigurationOutput {
7579	s.CopyTags = &v
7580	return s
7581}
7582
7583// SetEc2LaunchTemplateID sets the Ec2LaunchTemplateID field's value.
7584func (s *UpdateLaunchConfigurationOutput) SetEc2LaunchTemplateID(v string) *UpdateLaunchConfigurationOutput {
7585	s.Ec2LaunchTemplateID = &v
7586	return s
7587}
7588
7589// SetLaunchDisposition sets the LaunchDisposition field's value.
7590func (s *UpdateLaunchConfigurationOutput) SetLaunchDisposition(v string) *UpdateLaunchConfigurationOutput {
7591	s.LaunchDisposition = &v
7592	return s
7593}
7594
7595// SetLicensing sets the Licensing field's value.
7596func (s *UpdateLaunchConfigurationOutput) SetLicensing(v *Licensing) *UpdateLaunchConfigurationOutput {
7597	s.Licensing = v
7598	return s
7599}
7600
7601// SetName sets the Name field's value.
7602func (s *UpdateLaunchConfigurationOutput) SetName(v string) *UpdateLaunchConfigurationOutput {
7603	s.Name = &v
7604	return s
7605}
7606
7607// SetSourceServerID sets the SourceServerID field's value.
7608func (s *UpdateLaunchConfigurationOutput) SetSourceServerID(v string) *UpdateLaunchConfigurationOutput {
7609	s.SourceServerID = &v
7610	return s
7611}
7612
7613// SetTargetInstanceTypeRightSizingMethod sets the TargetInstanceTypeRightSizingMethod field's value.
7614func (s *UpdateLaunchConfigurationOutput) SetTargetInstanceTypeRightSizingMethod(v string) *UpdateLaunchConfigurationOutput {
7615	s.TargetInstanceTypeRightSizingMethod = &v
7616	return s
7617}
7618
7619type UpdateReplicationConfigurationInput struct {
7620	_ struct{} `type:"structure"`
7621
7622	// Update replication configuration associate default Application Migration
7623	// Service Security group request.
7624	AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean"`
7625
7626	// Update replication configuration bandwidth throttling request.
7627	BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"`
7628
7629	// Update replication configuration create Public IP request.
7630	CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean"`
7631
7632	// Update replication configuration data plane routing request.
7633	DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" enum:"ReplicationConfigurationDataPlaneRouting"`
7634
7635	// Update replication configuration use default large Staging Disk type request.
7636	DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"`
7637
7638	// Update replication configuration EBS encryption request.
7639	EbsEncryption *string `locationName:"ebsEncryption" type:"string" enum:"ReplicationConfigurationEbsEncryption"`
7640
7641	// Update replication configuration EBS encryption key ARN request.
7642	EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"`
7643
7644	// Update replication configuration name request.
7645	Name *string `locationName:"name" type:"string"`
7646
7647	// Update replication configuration replicated disks request.
7648	ReplicatedDisks []*ReplicationConfigurationReplicatedDisk `locationName:"replicatedDisks" type:"list"`
7649
7650	// Update replication configuration Replication Server instance type request.
7651	ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string"`
7652
7653	// Update replication configuration Replication Server Security Groups IDs request.
7654	ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list"`
7655
7656	// Update replication configuration Source Server ID request.
7657	//
7658	// SourceServerID is a required field
7659	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string" required:"true"`
7660
7661	// Update replication configuration Staging Area subnet request.
7662	StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string"`
7663
7664	// Update replication configuration Staging Area Tags request.
7665	//
7666	// StagingAreaTags is a sensitive parameter and its value will be
7667	// replaced with "sensitive" in string returned by UpdateReplicationConfigurationInput's
7668	// String and GoString methods.
7669	StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" sensitive:"true"`
7670
7671	// Update replication configuration use dedicated Replication Server request.
7672	UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean"`
7673}
7674
7675// String returns the string representation.
7676//
7677// API parameter values that are decorated as "sensitive" in the API will not
7678// be included in the string output. The member name will be present, but the
7679// value will be replaced with "sensitive".
7680func (s UpdateReplicationConfigurationInput) String() string {
7681	return awsutil.Prettify(s)
7682}
7683
7684// GoString returns the string representation.
7685//
7686// API parameter values that are decorated as "sensitive" in the API will not
7687// be included in the string output. The member name will be present, but the
7688// value will be replaced with "sensitive".
7689func (s UpdateReplicationConfigurationInput) GoString() string {
7690	return s.String()
7691}
7692
7693// Validate inspects the fields of the type to determine if they are valid.
7694func (s *UpdateReplicationConfigurationInput) Validate() error {
7695	invalidParams := request.ErrInvalidParams{Context: "UpdateReplicationConfigurationInput"}
7696	if s.EbsEncryptionKeyArn != nil && len(*s.EbsEncryptionKeyArn) < 20 {
7697		invalidParams.Add(request.NewErrParamMinLen("EbsEncryptionKeyArn", 20))
7698	}
7699	if s.SourceServerID == nil {
7700		invalidParams.Add(request.NewErrParamRequired("SourceServerID"))
7701	}
7702	if s.SourceServerID != nil && len(*s.SourceServerID) < 19 {
7703		invalidParams.Add(request.NewErrParamMinLen("SourceServerID", 19))
7704	}
7705
7706	if invalidParams.Len() > 0 {
7707		return invalidParams
7708	}
7709	return nil
7710}
7711
7712// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value.
7713func (s *UpdateReplicationConfigurationInput) SetAssociateDefaultSecurityGroup(v bool) *UpdateReplicationConfigurationInput {
7714	s.AssociateDefaultSecurityGroup = &v
7715	return s
7716}
7717
7718// SetBandwidthThrottling sets the BandwidthThrottling field's value.
7719func (s *UpdateReplicationConfigurationInput) SetBandwidthThrottling(v int64) *UpdateReplicationConfigurationInput {
7720	s.BandwidthThrottling = &v
7721	return s
7722}
7723
7724// SetCreatePublicIP sets the CreatePublicIP field's value.
7725func (s *UpdateReplicationConfigurationInput) SetCreatePublicIP(v bool) *UpdateReplicationConfigurationInput {
7726	s.CreatePublicIP = &v
7727	return s
7728}
7729
7730// SetDataPlaneRouting sets the DataPlaneRouting field's value.
7731func (s *UpdateReplicationConfigurationInput) SetDataPlaneRouting(v string) *UpdateReplicationConfigurationInput {
7732	s.DataPlaneRouting = &v
7733	return s
7734}
7735
7736// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value.
7737func (s *UpdateReplicationConfigurationInput) SetDefaultLargeStagingDiskType(v string) *UpdateReplicationConfigurationInput {
7738	s.DefaultLargeStagingDiskType = &v
7739	return s
7740}
7741
7742// SetEbsEncryption sets the EbsEncryption field's value.
7743func (s *UpdateReplicationConfigurationInput) SetEbsEncryption(v string) *UpdateReplicationConfigurationInput {
7744	s.EbsEncryption = &v
7745	return s
7746}
7747
7748// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value.
7749func (s *UpdateReplicationConfigurationInput) SetEbsEncryptionKeyArn(v string) *UpdateReplicationConfigurationInput {
7750	s.EbsEncryptionKeyArn = &v
7751	return s
7752}
7753
7754// SetName sets the Name field's value.
7755func (s *UpdateReplicationConfigurationInput) SetName(v string) *UpdateReplicationConfigurationInput {
7756	s.Name = &v
7757	return s
7758}
7759
7760// SetReplicatedDisks sets the ReplicatedDisks field's value.
7761func (s *UpdateReplicationConfigurationInput) SetReplicatedDisks(v []*ReplicationConfigurationReplicatedDisk) *UpdateReplicationConfigurationInput {
7762	s.ReplicatedDisks = v
7763	return s
7764}
7765
7766// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value.
7767func (s *UpdateReplicationConfigurationInput) SetReplicationServerInstanceType(v string) *UpdateReplicationConfigurationInput {
7768	s.ReplicationServerInstanceType = &v
7769	return s
7770}
7771
7772// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value.
7773func (s *UpdateReplicationConfigurationInput) SetReplicationServersSecurityGroupsIDs(v []*string) *UpdateReplicationConfigurationInput {
7774	s.ReplicationServersSecurityGroupsIDs = v
7775	return s
7776}
7777
7778// SetSourceServerID sets the SourceServerID field's value.
7779func (s *UpdateReplicationConfigurationInput) SetSourceServerID(v string) *UpdateReplicationConfigurationInput {
7780	s.SourceServerID = &v
7781	return s
7782}
7783
7784// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value.
7785func (s *UpdateReplicationConfigurationInput) SetStagingAreaSubnetId(v string) *UpdateReplicationConfigurationInput {
7786	s.StagingAreaSubnetId = &v
7787	return s
7788}
7789
7790// SetStagingAreaTags sets the StagingAreaTags field's value.
7791func (s *UpdateReplicationConfigurationInput) SetStagingAreaTags(v map[string]*string) *UpdateReplicationConfigurationInput {
7792	s.StagingAreaTags = v
7793	return s
7794}
7795
7796// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value.
7797func (s *UpdateReplicationConfigurationInput) SetUseDedicatedReplicationServer(v bool) *UpdateReplicationConfigurationInput {
7798	s.UseDedicatedReplicationServer = &v
7799	return s
7800}
7801
7802type UpdateReplicationConfigurationOutput struct {
7803	_ struct{} `type:"structure"`
7804
7805	// Replication Configuration associate default Application Migration Service
7806	// Security Group.
7807	AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean"`
7808
7809	// Replication Configuration set bandwidth throttling.
7810	BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"`
7811
7812	// Replication Configuration create Public IP.
7813	CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean"`
7814
7815	// Replication Configuration data plane routing.
7816	DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" enum:"ReplicationConfigurationDataPlaneRouting"`
7817
7818	// Replication Configuration use default large Staging Disks.
7819	DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"`
7820
7821	// Replication Configuration EBS encryption.
7822	EbsEncryption *string `locationName:"ebsEncryption" type:"string" enum:"ReplicationConfigurationEbsEncryption"`
7823
7824	// Replication Configuration EBS encryption key ARN.
7825	EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"`
7826
7827	// Replication Configuration name.
7828	Name *string `locationName:"name" type:"string"`
7829
7830	// Replication Configuration replicated disks.
7831	ReplicatedDisks []*ReplicationConfigurationReplicatedDisk `locationName:"replicatedDisks" type:"list"`
7832
7833	// Replication Configuration Replication Server instance type.
7834	ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string"`
7835
7836	// Replication Configuration Replication Server Security Group IDs.
7837	ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list"`
7838
7839	// Replication Configuration Source Server ID.
7840	SourceServerID *string `locationName:"sourceServerID" min:"19" type:"string"`
7841
7842	// Replication Configuration Staging Area subnet ID.
7843	StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string"`
7844
7845	// Replication Configuration Staging Area tags.
7846	//
7847	// StagingAreaTags is a sensitive parameter and its value will be
7848	// replaced with "sensitive" in string returned by UpdateReplicationConfigurationOutput's
7849	// String and GoString methods.
7850	StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" sensitive:"true"`
7851
7852	// Replication Configuration use Dedicated Replication Server.
7853	UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean"`
7854}
7855
7856// String returns the string representation.
7857//
7858// API parameter values that are decorated as "sensitive" in the API will not
7859// be included in the string output. The member name will be present, but the
7860// value will be replaced with "sensitive".
7861func (s UpdateReplicationConfigurationOutput) String() string {
7862	return awsutil.Prettify(s)
7863}
7864
7865// GoString returns the string representation.
7866//
7867// API parameter values that are decorated as "sensitive" in the API will not
7868// be included in the string output. The member name will be present, but the
7869// value will be replaced with "sensitive".
7870func (s UpdateReplicationConfigurationOutput) GoString() string {
7871	return s.String()
7872}
7873
7874// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value.
7875func (s *UpdateReplicationConfigurationOutput) SetAssociateDefaultSecurityGroup(v bool) *UpdateReplicationConfigurationOutput {
7876	s.AssociateDefaultSecurityGroup = &v
7877	return s
7878}
7879
7880// SetBandwidthThrottling sets the BandwidthThrottling field's value.
7881func (s *UpdateReplicationConfigurationOutput) SetBandwidthThrottling(v int64) *UpdateReplicationConfigurationOutput {
7882	s.BandwidthThrottling = &v
7883	return s
7884}
7885
7886// SetCreatePublicIP sets the CreatePublicIP field's value.
7887func (s *UpdateReplicationConfigurationOutput) SetCreatePublicIP(v bool) *UpdateReplicationConfigurationOutput {
7888	s.CreatePublicIP = &v
7889	return s
7890}
7891
7892// SetDataPlaneRouting sets the DataPlaneRouting field's value.
7893func (s *UpdateReplicationConfigurationOutput) SetDataPlaneRouting(v string) *UpdateReplicationConfigurationOutput {
7894	s.DataPlaneRouting = &v
7895	return s
7896}
7897
7898// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value.
7899func (s *UpdateReplicationConfigurationOutput) SetDefaultLargeStagingDiskType(v string) *UpdateReplicationConfigurationOutput {
7900	s.DefaultLargeStagingDiskType = &v
7901	return s
7902}
7903
7904// SetEbsEncryption sets the EbsEncryption field's value.
7905func (s *UpdateReplicationConfigurationOutput) SetEbsEncryption(v string) *UpdateReplicationConfigurationOutput {
7906	s.EbsEncryption = &v
7907	return s
7908}
7909
7910// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value.
7911func (s *UpdateReplicationConfigurationOutput) SetEbsEncryptionKeyArn(v string) *UpdateReplicationConfigurationOutput {
7912	s.EbsEncryptionKeyArn = &v
7913	return s
7914}
7915
7916// SetName sets the Name field's value.
7917func (s *UpdateReplicationConfigurationOutput) SetName(v string) *UpdateReplicationConfigurationOutput {
7918	s.Name = &v
7919	return s
7920}
7921
7922// SetReplicatedDisks sets the ReplicatedDisks field's value.
7923func (s *UpdateReplicationConfigurationOutput) SetReplicatedDisks(v []*ReplicationConfigurationReplicatedDisk) *UpdateReplicationConfigurationOutput {
7924	s.ReplicatedDisks = v
7925	return s
7926}
7927
7928// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value.
7929func (s *UpdateReplicationConfigurationOutput) SetReplicationServerInstanceType(v string) *UpdateReplicationConfigurationOutput {
7930	s.ReplicationServerInstanceType = &v
7931	return s
7932}
7933
7934// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value.
7935func (s *UpdateReplicationConfigurationOutput) SetReplicationServersSecurityGroupsIDs(v []*string) *UpdateReplicationConfigurationOutput {
7936	s.ReplicationServersSecurityGroupsIDs = v
7937	return s
7938}
7939
7940// SetSourceServerID sets the SourceServerID field's value.
7941func (s *UpdateReplicationConfigurationOutput) SetSourceServerID(v string) *UpdateReplicationConfigurationOutput {
7942	s.SourceServerID = &v
7943	return s
7944}
7945
7946// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value.
7947func (s *UpdateReplicationConfigurationOutput) SetStagingAreaSubnetId(v string) *UpdateReplicationConfigurationOutput {
7948	s.StagingAreaSubnetId = &v
7949	return s
7950}
7951
7952// SetStagingAreaTags sets the StagingAreaTags field's value.
7953func (s *UpdateReplicationConfigurationOutput) SetStagingAreaTags(v map[string]*string) *UpdateReplicationConfigurationOutput {
7954	s.StagingAreaTags = v
7955	return s
7956}
7957
7958// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value.
7959func (s *UpdateReplicationConfigurationOutput) SetUseDedicatedReplicationServer(v bool) *UpdateReplicationConfigurationOutput {
7960	s.UseDedicatedReplicationServer = &v
7961	return s
7962}
7963
7964type UpdateReplicationConfigurationTemplateInput struct {
7965	_ struct{} `type:"structure"`
7966
7967	// Update replication configuration template ARN request.
7968	Arn *string `locationName:"arn" min:"20" type:"string"`
7969
7970	// Update replication configuration template associate default Application Migration
7971	// Service Security group request.
7972	AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean"`
7973
7974	// Update replication configuration template bandwidth throttling request.
7975	BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"`
7976
7977	// Update replication configuration template create Public IP request.
7978	CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean"`
7979
7980	// Update replication configuration template data plane routing request.
7981	DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" enum:"ReplicationConfigurationDataPlaneRouting"`
7982
7983	// Update replication configuration template use default large Staging Disk
7984	// type request.
7985	DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"`
7986
7987	// Update replication configuration template EBS encryption request.
7988	EbsEncryption *string `locationName:"ebsEncryption" type:"string" enum:"ReplicationConfigurationEbsEncryption"`
7989
7990	// Update replication configuration template EBS encryption key ARN request.
7991	EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"`
7992
7993	// Update replication configuration template template ID request.
7994	//
7995	// ReplicationConfigurationTemplateID is a required field
7996	ReplicationConfigurationTemplateID *string `locationName:"replicationConfigurationTemplateID" min:"21" type:"string" required:"true"`
7997
7998	// Update replication configuration template Replication Server instance type
7999	// request.
8000	ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string"`
8001
8002	// Update replication configuration template Replication Server Security groups
8003	// IDs request.
8004	ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list"`
8005
8006	// Update replication configuration template Staging Area subnet ID request.
8007	StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string"`
8008
8009	// Update replication configuration template Staging Area Tags request.
8010	//
8011	// StagingAreaTags is a sensitive parameter and its value will be
8012	// replaced with "sensitive" in string returned by UpdateReplicationConfigurationTemplateInput's
8013	// String and GoString methods.
8014	StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" sensitive:"true"`
8015
8016	// Update replication configuration template use dedicated Replication Server
8017	// request.
8018	UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean"`
8019}
8020
8021// String returns the string representation.
8022//
8023// API parameter values that are decorated as "sensitive" in the API will not
8024// be included in the string output. The member name will be present, but the
8025// value will be replaced with "sensitive".
8026func (s UpdateReplicationConfigurationTemplateInput) String() string {
8027	return awsutil.Prettify(s)
8028}
8029
8030// GoString returns the string representation.
8031//
8032// API parameter values that are decorated as "sensitive" in the API will not
8033// be included in the string output. The member name will be present, but the
8034// value will be replaced with "sensitive".
8035func (s UpdateReplicationConfigurationTemplateInput) GoString() string {
8036	return s.String()
8037}
8038
8039// Validate inspects the fields of the type to determine if they are valid.
8040func (s *UpdateReplicationConfigurationTemplateInput) Validate() error {
8041	invalidParams := request.ErrInvalidParams{Context: "UpdateReplicationConfigurationTemplateInput"}
8042	if s.Arn != nil && len(*s.Arn) < 20 {
8043		invalidParams.Add(request.NewErrParamMinLen("Arn", 20))
8044	}
8045	if s.EbsEncryptionKeyArn != nil && len(*s.EbsEncryptionKeyArn) < 20 {
8046		invalidParams.Add(request.NewErrParamMinLen("EbsEncryptionKeyArn", 20))
8047	}
8048	if s.ReplicationConfigurationTemplateID == nil {
8049		invalidParams.Add(request.NewErrParamRequired("ReplicationConfigurationTemplateID"))
8050	}
8051	if s.ReplicationConfigurationTemplateID != nil && len(*s.ReplicationConfigurationTemplateID) < 21 {
8052		invalidParams.Add(request.NewErrParamMinLen("ReplicationConfigurationTemplateID", 21))
8053	}
8054
8055	if invalidParams.Len() > 0 {
8056		return invalidParams
8057	}
8058	return nil
8059}
8060
8061// SetArn sets the Arn field's value.
8062func (s *UpdateReplicationConfigurationTemplateInput) SetArn(v string) *UpdateReplicationConfigurationTemplateInput {
8063	s.Arn = &v
8064	return s
8065}
8066
8067// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value.
8068func (s *UpdateReplicationConfigurationTemplateInput) SetAssociateDefaultSecurityGroup(v bool) *UpdateReplicationConfigurationTemplateInput {
8069	s.AssociateDefaultSecurityGroup = &v
8070	return s
8071}
8072
8073// SetBandwidthThrottling sets the BandwidthThrottling field's value.
8074func (s *UpdateReplicationConfigurationTemplateInput) SetBandwidthThrottling(v int64) *UpdateReplicationConfigurationTemplateInput {
8075	s.BandwidthThrottling = &v
8076	return s
8077}
8078
8079// SetCreatePublicIP sets the CreatePublicIP field's value.
8080func (s *UpdateReplicationConfigurationTemplateInput) SetCreatePublicIP(v bool) *UpdateReplicationConfigurationTemplateInput {
8081	s.CreatePublicIP = &v
8082	return s
8083}
8084
8085// SetDataPlaneRouting sets the DataPlaneRouting field's value.
8086func (s *UpdateReplicationConfigurationTemplateInput) SetDataPlaneRouting(v string) *UpdateReplicationConfigurationTemplateInput {
8087	s.DataPlaneRouting = &v
8088	return s
8089}
8090
8091// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value.
8092func (s *UpdateReplicationConfigurationTemplateInput) SetDefaultLargeStagingDiskType(v string) *UpdateReplicationConfigurationTemplateInput {
8093	s.DefaultLargeStagingDiskType = &v
8094	return s
8095}
8096
8097// SetEbsEncryption sets the EbsEncryption field's value.
8098func (s *UpdateReplicationConfigurationTemplateInput) SetEbsEncryption(v string) *UpdateReplicationConfigurationTemplateInput {
8099	s.EbsEncryption = &v
8100	return s
8101}
8102
8103// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value.
8104func (s *UpdateReplicationConfigurationTemplateInput) SetEbsEncryptionKeyArn(v string) *UpdateReplicationConfigurationTemplateInput {
8105	s.EbsEncryptionKeyArn = &v
8106	return s
8107}
8108
8109// SetReplicationConfigurationTemplateID sets the ReplicationConfigurationTemplateID field's value.
8110func (s *UpdateReplicationConfigurationTemplateInput) SetReplicationConfigurationTemplateID(v string) *UpdateReplicationConfigurationTemplateInput {
8111	s.ReplicationConfigurationTemplateID = &v
8112	return s
8113}
8114
8115// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value.
8116func (s *UpdateReplicationConfigurationTemplateInput) SetReplicationServerInstanceType(v string) *UpdateReplicationConfigurationTemplateInput {
8117	s.ReplicationServerInstanceType = &v
8118	return s
8119}
8120
8121// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value.
8122func (s *UpdateReplicationConfigurationTemplateInput) SetReplicationServersSecurityGroupsIDs(v []*string) *UpdateReplicationConfigurationTemplateInput {
8123	s.ReplicationServersSecurityGroupsIDs = v
8124	return s
8125}
8126
8127// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value.
8128func (s *UpdateReplicationConfigurationTemplateInput) SetStagingAreaSubnetId(v string) *UpdateReplicationConfigurationTemplateInput {
8129	s.StagingAreaSubnetId = &v
8130	return s
8131}
8132
8133// SetStagingAreaTags sets the StagingAreaTags field's value.
8134func (s *UpdateReplicationConfigurationTemplateInput) SetStagingAreaTags(v map[string]*string) *UpdateReplicationConfigurationTemplateInput {
8135	s.StagingAreaTags = v
8136	return s
8137}
8138
8139// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value.
8140func (s *UpdateReplicationConfigurationTemplateInput) SetUseDedicatedReplicationServer(v bool) *UpdateReplicationConfigurationTemplateInput {
8141	s.UseDedicatedReplicationServer = &v
8142	return s
8143}
8144
8145type UpdateReplicationConfigurationTemplateOutput struct {
8146	_ struct{} `type:"structure"`
8147
8148	// Replication Configuration template ARN.
8149	Arn *string `locationName:"arn" min:"20" type:"string"`
8150
8151	// Replication Configuration template associate default Application Migration
8152	// Service Security group.
8153	AssociateDefaultSecurityGroup *bool `locationName:"associateDefaultSecurityGroup" type:"boolean"`
8154
8155	// Replication Configuration template bandwidth throtting.
8156	BandwidthThrottling *int64 `locationName:"bandwidthThrottling" type:"long"`
8157
8158	// Replication Configuration template create Public IP.
8159	CreatePublicIP *bool `locationName:"createPublicIP" type:"boolean"`
8160
8161	// Replication Configuration template data plane routing.
8162	DataPlaneRouting *string `locationName:"dataPlaneRouting" type:"string" enum:"ReplicationConfigurationDataPlaneRouting"`
8163
8164	// Replication Configuration template use dedault large Staging Disk type.
8165	DefaultLargeStagingDiskType *string `locationName:"defaultLargeStagingDiskType" type:"string" enum:"ReplicationConfigurationDefaultLargeStagingDiskType"`
8166
8167	// Replication Configuration template EBS encryption.
8168	EbsEncryption *string `locationName:"ebsEncryption" type:"string" enum:"ReplicationConfigurationEbsEncryption"`
8169
8170	// Replication Configuration template EBS encryption key ARN.
8171	EbsEncryptionKeyArn *string `locationName:"ebsEncryptionKeyArn" min:"20" type:"string"`
8172
8173	// Replication Configuration template template ID.
8174	//
8175	// ReplicationConfigurationTemplateID is a required field
8176	ReplicationConfigurationTemplateID *string `locationName:"replicationConfigurationTemplateID" min:"21" type:"string" required:"true"`
8177
8178	// Replication Configuration template server instance type.
8179	ReplicationServerInstanceType *string `locationName:"replicationServerInstanceType" type:"string"`
8180
8181	// Replication Configuration template server Security Groups IDs.
8182	ReplicationServersSecurityGroupsIDs []*string `locationName:"replicationServersSecurityGroupsIDs" type:"list"`
8183
8184	// Replication Configuration template Staging Area subnet ID.
8185	StagingAreaSubnetId *string `locationName:"stagingAreaSubnetId" type:"string"`
8186
8187	// Replication Configuration template Staging Area Tags.
8188	//
8189	// StagingAreaTags is a sensitive parameter and its value will be
8190	// replaced with "sensitive" in string returned by UpdateReplicationConfigurationTemplateOutput's
8191	// String and GoString methods.
8192	StagingAreaTags map[string]*string `locationName:"stagingAreaTags" type:"map" sensitive:"true"`
8193
8194	// Replication Configuration template Tags.
8195	//
8196	// Tags is a sensitive parameter and its value will be
8197	// replaced with "sensitive" in string returned by UpdateReplicationConfigurationTemplateOutput's
8198	// String and GoString methods.
8199	Tags map[string]*string `locationName:"tags" type:"map" sensitive:"true"`
8200
8201	// Replication Configuration template use Dedicated Replication Server.
8202	UseDedicatedReplicationServer *bool `locationName:"useDedicatedReplicationServer" type:"boolean"`
8203}
8204
8205// String returns the string representation.
8206//
8207// API parameter values that are decorated as "sensitive" in the API will not
8208// be included in the string output. The member name will be present, but the
8209// value will be replaced with "sensitive".
8210func (s UpdateReplicationConfigurationTemplateOutput) String() string {
8211	return awsutil.Prettify(s)
8212}
8213
8214// GoString returns the string representation.
8215//
8216// API parameter values that are decorated as "sensitive" in the API will not
8217// be included in the string output. The member name will be present, but the
8218// value will be replaced with "sensitive".
8219func (s UpdateReplicationConfigurationTemplateOutput) GoString() string {
8220	return s.String()
8221}
8222
8223// SetArn sets the Arn field's value.
8224func (s *UpdateReplicationConfigurationTemplateOutput) SetArn(v string) *UpdateReplicationConfigurationTemplateOutput {
8225	s.Arn = &v
8226	return s
8227}
8228
8229// SetAssociateDefaultSecurityGroup sets the AssociateDefaultSecurityGroup field's value.
8230func (s *UpdateReplicationConfigurationTemplateOutput) SetAssociateDefaultSecurityGroup(v bool) *UpdateReplicationConfigurationTemplateOutput {
8231	s.AssociateDefaultSecurityGroup = &v
8232	return s
8233}
8234
8235// SetBandwidthThrottling sets the BandwidthThrottling field's value.
8236func (s *UpdateReplicationConfigurationTemplateOutput) SetBandwidthThrottling(v int64) *UpdateReplicationConfigurationTemplateOutput {
8237	s.BandwidthThrottling = &v
8238	return s
8239}
8240
8241// SetCreatePublicIP sets the CreatePublicIP field's value.
8242func (s *UpdateReplicationConfigurationTemplateOutput) SetCreatePublicIP(v bool) *UpdateReplicationConfigurationTemplateOutput {
8243	s.CreatePublicIP = &v
8244	return s
8245}
8246
8247// SetDataPlaneRouting sets the DataPlaneRouting field's value.
8248func (s *UpdateReplicationConfigurationTemplateOutput) SetDataPlaneRouting(v string) *UpdateReplicationConfigurationTemplateOutput {
8249	s.DataPlaneRouting = &v
8250	return s
8251}
8252
8253// SetDefaultLargeStagingDiskType sets the DefaultLargeStagingDiskType field's value.
8254func (s *UpdateReplicationConfigurationTemplateOutput) SetDefaultLargeStagingDiskType(v string) *UpdateReplicationConfigurationTemplateOutput {
8255	s.DefaultLargeStagingDiskType = &v
8256	return s
8257}
8258
8259// SetEbsEncryption sets the EbsEncryption field's value.
8260func (s *UpdateReplicationConfigurationTemplateOutput) SetEbsEncryption(v string) *UpdateReplicationConfigurationTemplateOutput {
8261	s.EbsEncryption = &v
8262	return s
8263}
8264
8265// SetEbsEncryptionKeyArn sets the EbsEncryptionKeyArn field's value.
8266func (s *UpdateReplicationConfigurationTemplateOutput) SetEbsEncryptionKeyArn(v string) *UpdateReplicationConfigurationTemplateOutput {
8267	s.EbsEncryptionKeyArn = &v
8268	return s
8269}
8270
8271// SetReplicationConfigurationTemplateID sets the ReplicationConfigurationTemplateID field's value.
8272func (s *UpdateReplicationConfigurationTemplateOutput) SetReplicationConfigurationTemplateID(v string) *UpdateReplicationConfigurationTemplateOutput {
8273	s.ReplicationConfigurationTemplateID = &v
8274	return s
8275}
8276
8277// SetReplicationServerInstanceType sets the ReplicationServerInstanceType field's value.
8278func (s *UpdateReplicationConfigurationTemplateOutput) SetReplicationServerInstanceType(v string) *UpdateReplicationConfigurationTemplateOutput {
8279	s.ReplicationServerInstanceType = &v
8280	return s
8281}
8282
8283// SetReplicationServersSecurityGroupsIDs sets the ReplicationServersSecurityGroupsIDs field's value.
8284func (s *UpdateReplicationConfigurationTemplateOutput) SetReplicationServersSecurityGroupsIDs(v []*string) *UpdateReplicationConfigurationTemplateOutput {
8285	s.ReplicationServersSecurityGroupsIDs = v
8286	return s
8287}
8288
8289// SetStagingAreaSubnetId sets the StagingAreaSubnetId field's value.
8290func (s *UpdateReplicationConfigurationTemplateOutput) SetStagingAreaSubnetId(v string) *UpdateReplicationConfigurationTemplateOutput {
8291	s.StagingAreaSubnetId = &v
8292	return s
8293}
8294
8295// SetStagingAreaTags sets the StagingAreaTags field's value.
8296func (s *UpdateReplicationConfigurationTemplateOutput) SetStagingAreaTags(v map[string]*string) *UpdateReplicationConfigurationTemplateOutput {
8297	s.StagingAreaTags = v
8298	return s
8299}
8300
8301// SetTags sets the Tags field's value.
8302func (s *UpdateReplicationConfigurationTemplateOutput) SetTags(v map[string]*string) *UpdateReplicationConfigurationTemplateOutput {
8303	s.Tags = v
8304	return s
8305}
8306
8307// SetUseDedicatedReplicationServer sets the UseDedicatedReplicationServer field's value.
8308func (s *UpdateReplicationConfigurationTemplateOutput) SetUseDedicatedReplicationServer(v bool) *UpdateReplicationConfigurationTemplateOutput {
8309	s.UseDedicatedReplicationServer = &v
8310	return s
8311}
8312
8313// Validate exception.
8314type ValidationException struct {
8315	_            struct{}                  `type:"structure"`
8316	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8317
8318	Code_ *string `locationName:"code" type:"string"`
8319
8320	// Validate exception field list.
8321	FieldList []*ValidationExceptionField `locationName:"fieldList" type:"list"`
8322
8323	Message_ *string `locationName:"message" type:"string"`
8324
8325	// Validate exception reason.
8326	Reason *string `locationName:"reason" type:"string" enum:"ValidationExceptionReason"`
8327}
8328
8329// String returns the string representation.
8330//
8331// API parameter values that are decorated as "sensitive" in the API will not
8332// be included in the string output. The member name will be present, but the
8333// value will be replaced with "sensitive".
8334func (s ValidationException) String() string {
8335	return awsutil.Prettify(s)
8336}
8337
8338// GoString returns the string representation.
8339//
8340// API parameter values that are decorated as "sensitive" in the API will not
8341// be included in the string output. The member name will be present, but the
8342// value will be replaced with "sensitive".
8343func (s ValidationException) GoString() string {
8344	return s.String()
8345}
8346
8347func newErrorValidationException(v protocol.ResponseMetadata) error {
8348	return &ValidationException{
8349		RespMetadata: v,
8350	}
8351}
8352
8353// Code returns the exception type name.
8354func (s *ValidationException) Code() string {
8355	return "ValidationException"
8356}
8357
8358// Message returns the exception's message.
8359func (s *ValidationException) Message() string {
8360	if s.Message_ != nil {
8361		return *s.Message_
8362	}
8363	return ""
8364}
8365
8366// OrigErr always returns nil, satisfies awserr.Error interface.
8367func (s *ValidationException) OrigErr() error {
8368	return nil
8369}
8370
8371func (s *ValidationException) Error() string {
8372	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
8373}
8374
8375// Status code returns the HTTP status code for the request's response error.
8376func (s *ValidationException) StatusCode() int {
8377	return s.RespMetadata.StatusCode
8378}
8379
8380// RequestID returns the service's response RequestID for request.
8381func (s *ValidationException) RequestID() string {
8382	return s.RespMetadata.RequestID
8383}
8384
8385// Validate exception field.
8386type ValidationExceptionField struct {
8387	_ struct{} `type:"structure"`
8388
8389	// Validate exception field message.
8390	Message *string `locationName:"message" type:"string"`
8391
8392	// Validate exception field name.
8393	Name *string `locationName:"name" type:"string"`
8394}
8395
8396// String returns the string representation.
8397//
8398// API parameter values that are decorated as "sensitive" in the API will not
8399// be included in the string output. The member name will be present, but the
8400// value will be replaced with "sensitive".
8401func (s ValidationExceptionField) String() string {
8402	return awsutil.Prettify(s)
8403}
8404
8405// GoString returns the string representation.
8406//
8407// API parameter values that are decorated as "sensitive" in the API will not
8408// be included in the string output. The member name will be present, but the
8409// value will be replaced with "sensitive".
8410func (s ValidationExceptionField) GoString() string {
8411	return s.String()
8412}
8413
8414// SetMessage sets the Message field's value.
8415func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField {
8416	s.Message = &v
8417	return s
8418}
8419
8420// SetName sets the Name field's value.
8421func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField {
8422	s.Name = &v
8423	return s
8424}
8425
8426const (
8427	// ChangeServerLifeCycleStateSourceServerLifecycleStateReadyForTest is a ChangeServerLifeCycleStateSourceServerLifecycleState enum value
8428	ChangeServerLifeCycleStateSourceServerLifecycleStateReadyForTest = "READY_FOR_TEST"
8429
8430	// ChangeServerLifeCycleStateSourceServerLifecycleStateReadyForCutover is a ChangeServerLifeCycleStateSourceServerLifecycleState enum value
8431	ChangeServerLifeCycleStateSourceServerLifecycleStateReadyForCutover = "READY_FOR_CUTOVER"
8432
8433	// ChangeServerLifeCycleStateSourceServerLifecycleStateCutover is a ChangeServerLifeCycleStateSourceServerLifecycleState enum value
8434	ChangeServerLifeCycleStateSourceServerLifecycleStateCutover = "CUTOVER"
8435)
8436
8437// ChangeServerLifeCycleStateSourceServerLifecycleState_Values returns all elements of the ChangeServerLifeCycleStateSourceServerLifecycleState enum
8438func ChangeServerLifeCycleStateSourceServerLifecycleState_Values() []string {
8439	return []string{
8440		ChangeServerLifeCycleStateSourceServerLifecycleStateReadyForTest,
8441		ChangeServerLifeCycleStateSourceServerLifecycleStateReadyForCutover,
8442		ChangeServerLifeCycleStateSourceServerLifecycleStateCutover,
8443	}
8444}
8445
8446const (
8447	// DataReplicationErrorStringAgentNotSeen is a DataReplicationErrorString enum value
8448	DataReplicationErrorStringAgentNotSeen = "AGENT_NOT_SEEN"
8449
8450	// DataReplicationErrorStringSnapshotsFailure is a DataReplicationErrorString enum value
8451	DataReplicationErrorStringSnapshotsFailure = "SNAPSHOTS_FAILURE"
8452
8453	// DataReplicationErrorStringNotConverging is a DataReplicationErrorString enum value
8454	DataReplicationErrorStringNotConverging = "NOT_CONVERGING"
8455
8456	// DataReplicationErrorStringUnstableNetwork is a DataReplicationErrorString enum value
8457	DataReplicationErrorStringUnstableNetwork = "UNSTABLE_NETWORK"
8458
8459	// DataReplicationErrorStringFailedToCreateSecurityGroup is a DataReplicationErrorString enum value
8460	DataReplicationErrorStringFailedToCreateSecurityGroup = "FAILED_TO_CREATE_SECURITY_GROUP"
8461
8462	// DataReplicationErrorStringFailedToLaunchReplicationServer is a DataReplicationErrorString enum value
8463	DataReplicationErrorStringFailedToLaunchReplicationServer = "FAILED_TO_LAUNCH_REPLICATION_SERVER"
8464
8465	// DataReplicationErrorStringFailedToBootReplicationServer is a DataReplicationErrorString enum value
8466	DataReplicationErrorStringFailedToBootReplicationServer = "FAILED_TO_BOOT_REPLICATION_SERVER"
8467
8468	// DataReplicationErrorStringFailedToAuthenticateWithService is a DataReplicationErrorString enum value
8469	DataReplicationErrorStringFailedToAuthenticateWithService = "FAILED_TO_AUTHENTICATE_WITH_SERVICE"
8470
8471	// DataReplicationErrorStringFailedToDownloadReplicationSoftware is a DataReplicationErrorString enum value
8472	DataReplicationErrorStringFailedToDownloadReplicationSoftware = "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE"
8473
8474	// DataReplicationErrorStringFailedToCreateStagingDisks is a DataReplicationErrorString enum value
8475	DataReplicationErrorStringFailedToCreateStagingDisks = "FAILED_TO_CREATE_STAGING_DISKS"
8476
8477	// DataReplicationErrorStringFailedToAttachStagingDisks is a DataReplicationErrorString enum value
8478	DataReplicationErrorStringFailedToAttachStagingDisks = "FAILED_TO_ATTACH_STAGING_DISKS"
8479
8480	// DataReplicationErrorStringFailedToPairReplicationServerWithAgent is a DataReplicationErrorString enum value
8481	DataReplicationErrorStringFailedToPairReplicationServerWithAgent = "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT"
8482
8483	// DataReplicationErrorStringFailedToConnectAgentToReplicationServer is a DataReplicationErrorString enum value
8484	DataReplicationErrorStringFailedToConnectAgentToReplicationServer = "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER"
8485
8486	// DataReplicationErrorStringFailedToStartDataTransfer is a DataReplicationErrorString enum value
8487	DataReplicationErrorStringFailedToStartDataTransfer = "FAILED_TO_START_DATA_TRANSFER"
8488)
8489
8490// DataReplicationErrorString_Values returns all elements of the DataReplicationErrorString enum
8491func DataReplicationErrorString_Values() []string {
8492	return []string{
8493		DataReplicationErrorStringAgentNotSeen,
8494		DataReplicationErrorStringSnapshotsFailure,
8495		DataReplicationErrorStringNotConverging,
8496		DataReplicationErrorStringUnstableNetwork,
8497		DataReplicationErrorStringFailedToCreateSecurityGroup,
8498		DataReplicationErrorStringFailedToLaunchReplicationServer,
8499		DataReplicationErrorStringFailedToBootReplicationServer,
8500		DataReplicationErrorStringFailedToAuthenticateWithService,
8501		DataReplicationErrorStringFailedToDownloadReplicationSoftware,
8502		DataReplicationErrorStringFailedToCreateStagingDisks,
8503		DataReplicationErrorStringFailedToAttachStagingDisks,
8504		DataReplicationErrorStringFailedToPairReplicationServerWithAgent,
8505		DataReplicationErrorStringFailedToConnectAgentToReplicationServer,
8506		DataReplicationErrorStringFailedToStartDataTransfer,
8507	}
8508}
8509
8510const (
8511	// DataReplicationInitiationStepNameWait is a DataReplicationInitiationStepName enum value
8512	DataReplicationInitiationStepNameWait = "WAIT"
8513
8514	// DataReplicationInitiationStepNameCreateSecurityGroup is a DataReplicationInitiationStepName enum value
8515	DataReplicationInitiationStepNameCreateSecurityGroup = "CREATE_SECURITY_GROUP"
8516
8517	// DataReplicationInitiationStepNameLaunchReplicationServer is a DataReplicationInitiationStepName enum value
8518	DataReplicationInitiationStepNameLaunchReplicationServer = "LAUNCH_REPLICATION_SERVER"
8519
8520	// DataReplicationInitiationStepNameBootReplicationServer is a DataReplicationInitiationStepName enum value
8521	DataReplicationInitiationStepNameBootReplicationServer = "BOOT_REPLICATION_SERVER"
8522
8523	// DataReplicationInitiationStepNameAuthenticateWithService is a DataReplicationInitiationStepName enum value
8524	DataReplicationInitiationStepNameAuthenticateWithService = "AUTHENTICATE_WITH_SERVICE"
8525
8526	// DataReplicationInitiationStepNameDownloadReplicationSoftware is a DataReplicationInitiationStepName enum value
8527	DataReplicationInitiationStepNameDownloadReplicationSoftware = "DOWNLOAD_REPLICATION_SOFTWARE"
8528
8529	// DataReplicationInitiationStepNameCreateStagingDisks is a DataReplicationInitiationStepName enum value
8530	DataReplicationInitiationStepNameCreateStagingDisks = "CREATE_STAGING_DISKS"
8531
8532	// DataReplicationInitiationStepNameAttachStagingDisks is a DataReplicationInitiationStepName enum value
8533	DataReplicationInitiationStepNameAttachStagingDisks = "ATTACH_STAGING_DISKS"
8534
8535	// DataReplicationInitiationStepNamePairReplicationServerWithAgent is a DataReplicationInitiationStepName enum value
8536	DataReplicationInitiationStepNamePairReplicationServerWithAgent = "PAIR_REPLICATION_SERVER_WITH_AGENT"
8537
8538	// DataReplicationInitiationStepNameConnectAgentToReplicationServer is a DataReplicationInitiationStepName enum value
8539	DataReplicationInitiationStepNameConnectAgentToReplicationServer = "CONNECT_AGENT_TO_REPLICATION_SERVER"
8540
8541	// DataReplicationInitiationStepNameStartDataTransfer is a DataReplicationInitiationStepName enum value
8542	DataReplicationInitiationStepNameStartDataTransfer = "START_DATA_TRANSFER"
8543)
8544
8545// DataReplicationInitiationStepName_Values returns all elements of the DataReplicationInitiationStepName enum
8546func DataReplicationInitiationStepName_Values() []string {
8547	return []string{
8548		DataReplicationInitiationStepNameWait,
8549		DataReplicationInitiationStepNameCreateSecurityGroup,
8550		DataReplicationInitiationStepNameLaunchReplicationServer,
8551		DataReplicationInitiationStepNameBootReplicationServer,
8552		DataReplicationInitiationStepNameAuthenticateWithService,
8553		DataReplicationInitiationStepNameDownloadReplicationSoftware,
8554		DataReplicationInitiationStepNameCreateStagingDisks,
8555		DataReplicationInitiationStepNameAttachStagingDisks,
8556		DataReplicationInitiationStepNamePairReplicationServerWithAgent,
8557		DataReplicationInitiationStepNameConnectAgentToReplicationServer,
8558		DataReplicationInitiationStepNameStartDataTransfer,
8559	}
8560}
8561
8562const (
8563	// DataReplicationInitiationStepStatusNotStarted is a DataReplicationInitiationStepStatus enum value
8564	DataReplicationInitiationStepStatusNotStarted = "NOT_STARTED"
8565
8566	// DataReplicationInitiationStepStatusInProgress is a DataReplicationInitiationStepStatus enum value
8567	DataReplicationInitiationStepStatusInProgress = "IN_PROGRESS"
8568
8569	// DataReplicationInitiationStepStatusSucceeded is a DataReplicationInitiationStepStatus enum value
8570	DataReplicationInitiationStepStatusSucceeded = "SUCCEEDED"
8571
8572	// DataReplicationInitiationStepStatusFailed is a DataReplicationInitiationStepStatus enum value
8573	DataReplicationInitiationStepStatusFailed = "FAILED"
8574
8575	// DataReplicationInitiationStepStatusSkipped is a DataReplicationInitiationStepStatus enum value
8576	DataReplicationInitiationStepStatusSkipped = "SKIPPED"
8577)
8578
8579// DataReplicationInitiationStepStatus_Values returns all elements of the DataReplicationInitiationStepStatus enum
8580func DataReplicationInitiationStepStatus_Values() []string {
8581	return []string{
8582		DataReplicationInitiationStepStatusNotStarted,
8583		DataReplicationInitiationStepStatusInProgress,
8584		DataReplicationInitiationStepStatusSucceeded,
8585		DataReplicationInitiationStepStatusFailed,
8586		DataReplicationInitiationStepStatusSkipped,
8587	}
8588}
8589
8590const (
8591	// DataReplicationStateStopped is a DataReplicationState enum value
8592	DataReplicationStateStopped = "STOPPED"
8593
8594	// DataReplicationStateInitiating is a DataReplicationState enum value
8595	DataReplicationStateInitiating = "INITIATING"
8596
8597	// DataReplicationStateInitialSync is a DataReplicationState enum value
8598	DataReplicationStateInitialSync = "INITIAL_SYNC"
8599
8600	// DataReplicationStateBacklog is a DataReplicationState enum value
8601	DataReplicationStateBacklog = "BACKLOG"
8602
8603	// DataReplicationStateCreatingSnapshot is a DataReplicationState enum value
8604	DataReplicationStateCreatingSnapshot = "CREATING_SNAPSHOT"
8605
8606	// DataReplicationStateContinuous is a DataReplicationState enum value
8607	DataReplicationStateContinuous = "CONTINUOUS"
8608
8609	// DataReplicationStatePaused is a DataReplicationState enum value
8610	DataReplicationStatePaused = "PAUSED"
8611
8612	// DataReplicationStateRescan is a DataReplicationState enum value
8613	DataReplicationStateRescan = "RESCAN"
8614
8615	// DataReplicationStateStalled is a DataReplicationState enum value
8616	DataReplicationStateStalled = "STALLED"
8617
8618	// DataReplicationStateDisconnected is a DataReplicationState enum value
8619	DataReplicationStateDisconnected = "DISCONNECTED"
8620)
8621
8622// DataReplicationState_Values returns all elements of the DataReplicationState enum
8623func DataReplicationState_Values() []string {
8624	return []string{
8625		DataReplicationStateStopped,
8626		DataReplicationStateInitiating,
8627		DataReplicationStateInitialSync,
8628		DataReplicationStateBacklog,
8629		DataReplicationStateCreatingSnapshot,
8630		DataReplicationStateContinuous,
8631		DataReplicationStatePaused,
8632		DataReplicationStateRescan,
8633		DataReplicationStateStalled,
8634		DataReplicationStateDisconnected,
8635	}
8636}
8637
8638const (
8639	// FirstBootWaiting is a FirstBoot enum value
8640	FirstBootWaiting = "WAITING"
8641
8642	// FirstBootSucceeded is a FirstBoot enum value
8643	FirstBootSucceeded = "SUCCEEDED"
8644
8645	// FirstBootUnknown is a FirstBoot enum value
8646	FirstBootUnknown = "UNKNOWN"
8647
8648	// FirstBootStopped is a FirstBoot enum value
8649	FirstBootStopped = "STOPPED"
8650)
8651
8652// FirstBoot_Values returns all elements of the FirstBoot enum
8653func FirstBoot_Values() []string {
8654	return []string{
8655		FirstBootWaiting,
8656		FirstBootSucceeded,
8657		FirstBootUnknown,
8658		FirstBootStopped,
8659	}
8660}
8661
8662const (
8663	// InitiatedByStartTest is a InitiatedBy enum value
8664	InitiatedByStartTest = "START_TEST"
8665
8666	// InitiatedByStartCutover is a InitiatedBy enum value
8667	InitiatedByStartCutover = "START_CUTOVER"
8668
8669	// InitiatedByDiagnostic is a InitiatedBy enum value
8670	InitiatedByDiagnostic = "DIAGNOSTIC"
8671
8672	// InitiatedByTerminate is a InitiatedBy enum value
8673	InitiatedByTerminate = "TERMINATE"
8674)
8675
8676// InitiatedBy_Values returns all elements of the InitiatedBy enum
8677func InitiatedBy_Values() []string {
8678	return []string{
8679		InitiatedByStartTest,
8680		InitiatedByStartCutover,
8681		InitiatedByDiagnostic,
8682		InitiatedByTerminate,
8683	}
8684}
8685
8686const (
8687	// JobLogEventJobStart is a JobLogEvent enum value
8688	JobLogEventJobStart = "JOB_START"
8689
8690	// JobLogEventServerSkipped is a JobLogEvent enum value
8691	JobLogEventServerSkipped = "SERVER_SKIPPED"
8692
8693	// JobLogEventCleanupStart is a JobLogEvent enum value
8694	JobLogEventCleanupStart = "CLEANUP_START"
8695
8696	// JobLogEventCleanupEnd is a JobLogEvent enum value
8697	JobLogEventCleanupEnd = "CLEANUP_END"
8698
8699	// JobLogEventCleanupFail is a JobLogEvent enum value
8700	JobLogEventCleanupFail = "CLEANUP_FAIL"
8701
8702	// JobLogEventSnapshotStart is a JobLogEvent enum value
8703	JobLogEventSnapshotStart = "SNAPSHOT_START"
8704
8705	// JobLogEventSnapshotEnd is a JobLogEvent enum value
8706	JobLogEventSnapshotEnd = "SNAPSHOT_END"
8707
8708	// JobLogEventSnapshotFail is a JobLogEvent enum value
8709	JobLogEventSnapshotFail = "SNAPSHOT_FAIL"
8710
8711	// JobLogEventUsingPreviousSnapshot is a JobLogEvent enum value
8712	JobLogEventUsingPreviousSnapshot = "USING_PREVIOUS_SNAPSHOT"
8713
8714	// JobLogEventConversionStart is a JobLogEvent enum value
8715	JobLogEventConversionStart = "CONVERSION_START"
8716
8717	// JobLogEventConversionEnd is a JobLogEvent enum value
8718	JobLogEventConversionEnd = "CONVERSION_END"
8719
8720	// JobLogEventConversionFail is a JobLogEvent enum value
8721	JobLogEventConversionFail = "CONVERSION_FAIL"
8722
8723	// JobLogEventLaunchStart is a JobLogEvent enum value
8724	JobLogEventLaunchStart = "LAUNCH_START"
8725
8726	// JobLogEventLaunchFailed is a JobLogEvent enum value
8727	JobLogEventLaunchFailed = "LAUNCH_FAILED"
8728
8729	// JobLogEventJobCancel is a JobLogEvent enum value
8730	JobLogEventJobCancel = "JOB_CANCEL"
8731
8732	// JobLogEventJobEnd is a JobLogEvent enum value
8733	JobLogEventJobEnd = "JOB_END"
8734)
8735
8736// JobLogEvent_Values returns all elements of the JobLogEvent enum
8737func JobLogEvent_Values() []string {
8738	return []string{
8739		JobLogEventJobStart,
8740		JobLogEventServerSkipped,
8741		JobLogEventCleanupStart,
8742		JobLogEventCleanupEnd,
8743		JobLogEventCleanupFail,
8744		JobLogEventSnapshotStart,
8745		JobLogEventSnapshotEnd,
8746		JobLogEventSnapshotFail,
8747		JobLogEventUsingPreviousSnapshot,
8748		JobLogEventConversionStart,
8749		JobLogEventConversionEnd,
8750		JobLogEventConversionFail,
8751		JobLogEventLaunchStart,
8752		JobLogEventLaunchFailed,
8753		JobLogEventJobCancel,
8754		JobLogEventJobEnd,
8755	}
8756}
8757
8758const (
8759	// JobStatusPending is a JobStatus enum value
8760	JobStatusPending = "PENDING"
8761
8762	// JobStatusStarted is a JobStatus enum value
8763	JobStatusStarted = "STARTED"
8764
8765	// JobStatusCompleted is a JobStatus enum value
8766	JobStatusCompleted = "COMPLETED"
8767)
8768
8769// JobStatus_Values returns all elements of the JobStatus enum
8770func JobStatus_Values() []string {
8771	return []string{
8772		JobStatusPending,
8773		JobStatusStarted,
8774		JobStatusCompleted,
8775	}
8776}
8777
8778const (
8779	// JobTypeLaunch is a JobType enum value
8780	JobTypeLaunch = "LAUNCH"
8781
8782	// JobTypeTerminate is a JobType enum value
8783	JobTypeTerminate = "TERMINATE"
8784)
8785
8786// JobType_Values returns all elements of the JobType enum
8787func JobType_Values() []string {
8788	return []string{
8789		JobTypeLaunch,
8790		JobTypeTerminate,
8791	}
8792}
8793
8794const (
8795	// LaunchDispositionStopped is a LaunchDisposition enum value
8796	LaunchDispositionStopped = "STOPPED"
8797
8798	// LaunchDispositionStarted is a LaunchDisposition enum value
8799	LaunchDispositionStarted = "STARTED"
8800)
8801
8802// LaunchDisposition_Values returns all elements of the LaunchDisposition enum
8803func LaunchDisposition_Values() []string {
8804	return []string{
8805		LaunchDispositionStopped,
8806		LaunchDispositionStarted,
8807	}
8808}
8809
8810const (
8811	// LaunchStatusPending is a LaunchStatus enum value
8812	LaunchStatusPending = "PENDING"
8813
8814	// LaunchStatusInProgress is a LaunchStatus enum value
8815	LaunchStatusInProgress = "IN_PROGRESS"
8816
8817	// LaunchStatusLaunched is a LaunchStatus enum value
8818	LaunchStatusLaunched = "LAUNCHED"
8819
8820	// LaunchStatusFailed is a LaunchStatus enum value
8821	LaunchStatusFailed = "FAILED"
8822
8823	// LaunchStatusTerminated is a LaunchStatus enum value
8824	LaunchStatusTerminated = "TERMINATED"
8825)
8826
8827// LaunchStatus_Values returns all elements of the LaunchStatus enum
8828func LaunchStatus_Values() []string {
8829	return []string{
8830		LaunchStatusPending,
8831		LaunchStatusInProgress,
8832		LaunchStatusLaunched,
8833		LaunchStatusFailed,
8834		LaunchStatusTerminated,
8835	}
8836}
8837
8838const (
8839	// LifeCycleStateStopped is a LifeCycleState enum value
8840	LifeCycleStateStopped = "STOPPED"
8841
8842	// LifeCycleStateNotReady is a LifeCycleState enum value
8843	LifeCycleStateNotReady = "NOT_READY"
8844
8845	// LifeCycleStateReadyForTest is a LifeCycleState enum value
8846	LifeCycleStateReadyForTest = "READY_FOR_TEST"
8847
8848	// LifeCycleStateTesting is a LifeCycleState enum value
8849	LifeCycleStateTesting = "TESTING"
8850
8851	// LifeCycleStateReadyForCutover is a LifeCycleState enum value
8852	LifeCycleStateReadyForCutover = "READY_FOR_CUTOVER"
8853
8854	// LifeCycleStateCuttingOver is a LifeCycleState enum value
8855	LifeCycleStateCuttingOver = "CUTTING_OVER"
8856
8857	// LifeCycleStateCutover is a LifeCycleState enum value
8858	LifeCycleStateCutover = "CUTOVER"
8859
8860	// LifeCycleStateDisconnected is a LifeCycleState enum value
8861	LifeCycleStateDisconnected = "DISCONNECTED"
8862)
8863
8864// LifeCycleState_Values returns all elements of the LifeCycleState enum
8865func LifeCycleState_Values() []string {
8866	return []string{
8867		LifeCycleStateStopped,
8868		LifeCycleStateNotReady,
8869		LifeCycleStateReadyForTest,
8870		LifeCycleStateTesting,
8871		LifeCycleStateReadyForCutover,
8872		LifeCycleStateCuttingOver,
8873		LifeCycleStateCutover,
8874		LifeCycleStateDisconnected,
8875	}
8876}
8877
8878const (
8879	// ReplicationConfigurationDataPlaneRoutingPrivateIp is a ReplicationConfigurationDataPlaneRouting enum value
8880	ReplicationConfigurationDataPlaneRoutingPrivateIp = "PRIVATE_IP"
8881
8882	// ReplicationConfigurationDataPlaneRoutingPublicIp is a ReplicationConfigurationDataPlaneRouting enum value
8883	ReplicationConfigurationDataPlaneRoutingPublicIp = "PUBLIC_IP"
8884)
8885
8886// ReplicationConfigurationDataPlaneRouting_Values returns all elements of the ReplicationConfigurationDataPlaneRouting enum
8887func ReplicationConfigurationDataPlaneRouting_Values() []string {
8888	return []string{
8889		ReplicationConfigurationDataPlaneRoutingPrivateIp,
8890		ReplicationConfigurationDataPlaneRoutingPublicIp,
8891	}
8892}
8893
8894const (
8895	// ReplicationConfigurationDefaultLargeStagingDiskTypeGp2 is a ReplicationConfigurationDefaultLargeStagingDiskType enum value
8896	ReplicationConfigurationDefaultLargeStagingDiskTypeGp2 = "GP2"
8897
8898	// ReplicationConfigurationDefaultLargeStagingDiskTypeSt1 is a ReplicationConfigurationDefaultLargeStagingDiskType enum value
8899	ReplicationConfigurationDefaultLargeStagingDiskTypeSt1 = "ST1"
8900)
8901
8902// ReplicationConfigurationDefaultLargeStagingDiskType_Values returns all elements of the ReplicationConfigurationDefaultLargeStagingDiskType enum
8903func ReplicationConfigurationDefaultLargeStagingDiskType_Values() []string {
8904	return []string{
8905		ReplicationConfigurationDefaultLargeStagingDiskTypeGp2,
8906		ReplicationConfigurationDefaultLargeStagingDiskTypeSt1,
8907	}
8908}
8909
8910const (
8911	// ReplicationConfigurationEbsEncryptionDefault is a ReplicationConfigurationEbsEncryption enum value
8912	ReplicationConfigurationEbsEncryptionDefault = "DEFAULT"
8913
8914	// ReplicationConfigurationEbsEncryptionCustom is a ReplicationConfigurationEbsEncryption enum value
8915	ReplicationConfigurationEbsEncryptionCustom = "CUSTOM"
8916)
8917
8918// ReplicationConfigurationEbsEncryption_Values returns all elements of the ReplicationConfigurationEbsEncryption enum
8919func ReplicationConfigurationEbsEncryption_Values() []string {
8920	return []string{
8921		ReplicationConfigurationEbsEncryptionDefault,
8922		ReplicationConfigurationEbsEncryptionCustom,
8923	}
8924}
8925
8926const (
8927	// ReplicationConfigurationReplicatedDiskStagingDiskTypeAuto is a ReplicationConfigurationReplicatedDiskStagingDiskType enum value
8928	ReplicationConfigurationReplicatedDiskStagingDiskTypeAuto = "AUTO"
8929
8930	// ReplicationConfigurationReplicatedDiskStagingDiskTypeGp2 is a ReplicationConfigurationReplicatedDiskStagingDiskType enum value
8931	ReplicationConfigurationReplicatedDiskStagingDiskTypeGp2 = "GP2"
8932
8933	// ReplicationConfigurationReplicatedDiskStagingDiskTypeIo1 is a ReplicationConfigurationReplicatedDiskStagingDiskType enum value
8934	ReplicationConfigurationReplicatedDiskStagingDiskTypeIo1 = "IO1"
8935
8936	// ReplicationConfigurationReplicatedDiskStagingDiskTypeSc1 is a ReplicationConfigurationReplicatedDiskStagingDiskType enum value
8937	ReplicationConfigurationReplicatedDiskStagingDiskTypeSc1 = "SC1"
8938
8939	// ReplicationConfigurationReplicatedDiskStagingDiskTypeSt1 is a ReplicationConfigurationReplicatedDiskStagingDiskType enum value
8940	ReplicationConfigurationReplicatedDiskStagingDiskTypeSt1 = "ST1"
8941
8942	// ReplicationConfigurationReplicatedDiskStagingDiskTypeStandard is a ReplicationConfigurationReplicatedDiskStagingDiskType enum value
8943	ReplicationConfigurationReplicatedDiskStagingDiskTypeStandard = "STANDARD"
8944)
8945
8946// ReplicationConfigurationReplicatedDiskStagingDiskType_Values returns all elements of the ReplicationConfigurationReplicatedDiskStagingDiskType enum
8947func ReplicationConfigurationReplicatedDiskStagingDiskType_Values() []string {
8948	return []string{
8949		ReplicationConfigurationReplicatedDiskStagingDiskTypeAuto,
8950		ReplicationConfigurationReplicatedDiskStagingDiskTypeGp2,
8951		ReplicationConfigurationReplicatedDiskStagingDiskTypeIo1,
8952		ReplicationConfigurationReplicatedDiskStagingDiskTypeSc1,
8953		ReplicationConfigurationReplicatedDiskStagingDiskTypeSt1,
8954		ReplicationConfigurationReplicatedDiskStagingDiskTypeStandard,
8955	}
8956}
8957
8958const (
8959	// TargetInstanceTypeRightSizingMethodNone is a TargetInstanceTypeRightSizingMethod enum value
8960	TargetInstanceTypeRightSizingMethodNone = "NONE"
8961
8962	// TargetInstanceTypeRightSizingMethodBasic is a TargetInstanceTypeRightSizingMethod enum value
8963	TargetInstanceTypeRightSizingMethodBasic = "BASIC"
8964)
8965
8966// TargetInstanceTypeRightSizingMethod_Values returns all elements of the TargetInstanceTypeRightSizingMethod enum
8967func TargetInstanceTypeRightSizingMethod_Values() []string {
8968	return []string{
8969		TargetInstanceTypeRightSizingMethodNone,
8970		TargetInstanceTypeRightSizingMethodBasic,
8971	}
8972}
8973
8974const (
8975	// ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value
8976	ValidationExceptionReasonUnknownOperation = "unknownOperation"
8977
8978	// ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value
8979	ValidationExceptionReasonCannotParse = "cannotParse"
8980
8981	// ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value
8982	ValidationExceptionReasonFieldValidationFailed = "fieldValidationFailed"
8983
8984	// ValidationExceptionReasonOther is a ValidationExceptionReason enum value
8985	ValidationExceptionReasonOther = "other"
8986)
8987
8988// ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum
8989func ValidationExceptionReason_Values() []string {
8990	return []string{
8991		ValidationExceptionReasonUnknownOperation,
8992		ValidationExceptionReasonCannotParse,
8993		ValidationExceptionReasonFieldValidationFailed,
8994		ValidationExceptionReasonOther,
8995	}
8996}
8997