1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package sms
4
5import (
6	"time"
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/jsonrpc"
13)
14
15const opCreateApp = "CreateApp"
16
17// CreateAppRequest generates a "aws/request.Request" representing the
18// client's request for the CreateApp 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 CreateApp for more information on using the CreateApp
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 CreateAppRequest method.
33//    req, resp := client.CreateAppRequest(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/sms-2016-10-24/CreateApp
41func (c *SMS) CreateAppRequest(input *CreateAppInput) (req *request.Request, output *CreateAppOutput) {
42	op := &request.Operation{
43		Name:       opCreateApp,
44		HTTPMethod: "POST",
45		HTTPPath:   "/",
46	}
47
48	if input == nil {
49		input = &CreateAppInput{}
50	}
51
52	output = &CreateAppOutput{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// CreateApp API operation for AWS Server Migration Service.
58//
59// Creates an application. An application consists of one or more server groups.
60// Each server group contain one or more servers.
61//
62// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
63// with awserr.Error's Code and Message methods to get detailed information about
64// the error.
65//
66// See the AWS API reference guide for AWS Server Migration Service's
67// API operation CreateApp for usage and error information.
68//
69// Returned Error Codes:
70//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
71//   You lack permissions needed to perform this operation. Check your IAM policies,
72//   and ensure that you are using the correct access keys.
73//
74//   * ErrCodeInvalidParameterException "InvalidParameterException"
75//   A specified parameter is not valid.
76//
77//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
78//   A required parameter is missing.
79//
80//   * ErrCodeInternalError "InternalError"
81//   An internal error occurred.
82//
83//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
84//   This operation is not allowed.
85//
86// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/CreateApp
87func (c *SMS) CreateApp(input *CreateAppInput) (*CreateAppOutput, error) {
88	req, out := c.CreateAppRequest(input)
89	return out, req.Send()
90}
91
92// CreateAppWithContext is the same as CreateApp with the addition of
93// the ability to pass a context and additional request options.
94//
95// See CreateApp for details on how to use this API operation.
96//
97// The context must be non-nil and will be used for request cancellation. If
98// the context is nil a panic will occur. In the future the SDK may create
99// sub-contexts for http.Requests. See https://golang.org/pkg/context/
100// for more information on using Contexts.
101func (c *SMS) CreateAppWithContext(ctx aws.Context, input *CreateAppInput, opts ...request.Option) (*CreateAppOutput, error) {
102	req, out := c.CreateAppRequest(input)
103	req.SetContext(ctx)
104	req.ApplyOptions(opts...)
105	return out, req.Send()
106}
107
108const opCreateReplicationJob = "CreateReplicationJob"
109
110// CreateReplicationJobRequest generates a "aws/request.Request" representing the
111// client's request for the CreateReplicationJob operation. The "output" return
112// value will be populated with the request's response once the request completes
113// successfully.
114//
115// Use "Send" method on the returned Request to send the API call to the service.
116// the "output" return value is not valid until after Send returns without error.
117//
118// See CreateReplicationJob for more information on using the CreateReplicationJob
119// API call, and error handling.
120//
121// This method is useful when you want to inject custom logic or configuration
122// into the SDK's request lifecycle. Such as custom headers, or retry logic.
123//
124//
125//    // Example sending a request using the CreateReplicationJobRequest method.
126//    req, resp := client.CreateReplicationJobRequest(params)
127//
128//    err := req.Send()
129//    if err == nil { // resp is now filled
130//        fmt.Println(resp)
131//    }
132//
133// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/CreateReplicationJob
134func (c *SMS) CreateReplicationJobRequest(input *CreateReplicationJobInput) (req *request.Request, output *CreateReplicationJobOutput) {
135	op := &request.Operation{
136		Name:       opCreateReplicationJob,
137		HTTPMethod: "POST",
138		HTTPPath:   "/",
139	}
140
141	if input == nil {
142		input = &CreateReplicationJobInput{}
143	}
144
145	output = &CreateReplicationJobOutput{}
146	req = c.newRequest(op, input, output)
147	return
148}
149
150// CreateReplicationJob API operation for AWS Server Migration Service.
151//
152// Creates a replication job. The replication job schedules periodic replication
153// runs to replicate your server to AWS. Each replication run creates an Amazon
154// Machine Image (AMI).
155//
156// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
157// with awserr.Error's Code and Message methods to get detailed information about
158// the error.
159//
160// See the AWS API reference guide for AWS Server Migration Service's
161// API operation CreateReplicationJob for usage and error information.
162//
163// Returned Error Codes:
164//   * ErrCodeInvalidParameterException "InvalidParameterException"
165//   A specified parameter is not valid.
166//
167//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
168//   A required parameter is missing.
169//
170//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
171//   You lack permissions needed to perform this operation. Check your IAM policies,
172//   and ensure that you are using the correct access keys.
173//
174//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
175//   This operation is not allowed.
176//
177//   * ErrCodeServerCannotBeReplicatedException "ServerCannotBeReplicatedException"
178//   The specified server cannot be replicated.
179//
180//   * ErrCodeReplicationJobAlreadyExistsException "ReplicationJobAlreadyExistsException"
181//   The specified replication job already exists.
182//
183//   * ErrCodeNoConnectorsAvailableException "NoConnectorsAvailableException"
184//   There are no connectors available.
185//
186//   * ErrCodeInternalError "InternalError"
187//   An internal error occurred.
188//
189//   * ErrCodeTemporarilyUnavailableException "TemporarilyUnavailableException"
190//   The service is temporarily unavailable.
191//
192// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/CreateReplicationJob
193func (c *SMS) CreateReplicationJob(input *CreateReplicationJobInput) (*CreateReplicationJobOutput, error) {
194	req, out := c.CreateReplicationJobRequest(input)
195	return out, req.Send()
196}
197
198// CreateReplicationJobWithContext is the same as CreateReplicationJob with the addition of
199// the ability to pass a context and additional request options.
200//
201// See CreateReplicationJob for details on how to use this API operation.
202//
203// The context must be non-nil and will be used for request cancellation. If
204// the context is nil a panic will occur. In the future the SDK may create
205// sub-contexts for http.Requests. See https://golang.org/pkg/context/
206// for more information on using Contexts.
207func (c *SMS) CreateReplicationJobWithContext(ctx aws.Context, input *CreateReplicationJobInput, opts ...request.Option) (*CreateReplicationJobOutput, error) {
208	req, out := c.CreateReplicationJobRequest(input)
209	req.SetContext(ctx)
210	req.ApplyOptions(opts...)
211	return out, req.Send()
212}
213
214const opDeleteApp = "DeleteApp"
215
216// DeleteAppRequest generates a "aws/request.Request" representing the
217// client's request for the DeleteApp operation. The "output" return
218// value will be populated with the request's response once the request completes
219// successfully.
220//
221// Use "Send" method on the returned Request to send the API call to the service.
222// the "output" return value is not valid until after Send returns without error.
223//
224// See DeleteApp for more information on using the DeleteApp
225// API call, and error handling.
226//
227// This method is useful when you want to inject custom logic or configuration
228// into the SDK's request lifecycle. Such as custom headers, or retry logic.
229//
230//
231//    // Example sending a request using the DeleteAppRequest method.
232//    req, resp := client.DeleteAppRequest(params)
233//
234//    err := req.Send()
235//    if err == nil { // resp is now filled
236//        fmt.Println(resp)
237//    }
238//
239// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteApp
240func (c *SMS) DeleteAppRequest(input *DeleteAppInput) (req *request.Request, output *DeleteAppOutput) {
241	op := &request.Operation{
242		Name:       opDeleteApp,
243		HTTPMethod: "POST",
244		HTTPPath:   "/",
245	}
246
247	if input == nil {
248		input = &DeleteAppInput{}
249	}
250
251	output = &DeleteAppOutput{}
252	req = c.newRequest(op, input, output)
253	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
254	return
255}
256
257// DeleteApp API operation for AWS Server Migration Service.
258//
259// Deletes an existing application. Optionally deletes the launched stack associated
260// with the application and all AWS SMS replication jobs for servers in the
261// application.
262//
263// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
264// with awserr.Error's Code and Message methods to get detailed information about
265// the error.
266//
267// See the AWS API reference guide for AWS Server Migration Service's
268// API operation DeleteApp for usage and error information.
269//
270// Returned Error Codes:
271//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
272//   You lack permissions needed to perform this operation. Check your IAM policies,
273//   and ensure that you are using the correct access keys.
274//
275//   * ErrCodeInvalidParameterException "InvalidParameterException"
276//   A specified parameter is not valid.
277//
278//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
279//   A required parameter is missing.
280//
281//   * ErrCodeInternalError "InternalError"
282//   An internal error occurred.
283//
284//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
285//   This operation is not allowed.
286//
287// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteApp
288func (c *SMS) DeleteApp(input *DeleteAppInput) (*DeleteAppOutput, error) {
289	req, out := c.DeleteAppRequest(input)
290	return out, req.Send()
291}
292
293// DeleteAppWithContext is the same as DeleteApp with the addition of
294// the ability to pass a context and additional request options.
295//
296// See DeleteApp for details on how to use this API operation.
297//
298// The context must be non-nil and will be used for request cancellation. If
299// the context is nil a panic will occur. In the future the SDK may create
300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
301// for more information on using Contexts.
302func (c *SMS) DeleteAppWithContext(ctx aws.Context, input *DeleteAppInput, opts ...request.Option) (*DeleteAppOutput, error) {
303	req, out := c.DeleteAppRequest(input)
304	req.SetContext(ctx)
305	req.ApplyOptions(opts...)
306	return out, req.Send()
307}
308
309const opDeleteAppLaunchConfiguration = "DeleteAppLaunchConfiguration"
310
311// DeleteAppLaunchConfigurationRequest generates a "aws/request.Request" representing the
312// client's request for the DeleteAppLaunchConfiguration operation. The "output" return
313// value will be populated with the request's response once the request completes
314// successfully.
315//
316// Use "Send" method on the returned Request to send the API call to the service.
317// the "output" return value is not valid until after Send returns without error.
318//
319// See DeleteAppLaunchConfiguration for more information on using the DeleteAppLaunchConfiguration
320// API call, and error handling.
321//
322// This method is useful when you want to inject custom logic or configuration
323// into the SDK's request lifecycle. Such as custom headers, or retry logic.
324//
325//
326//    // Example sending a request using the DeleteAppLaunchConfigurationRequest method.
327//    req, resp := client.DeleteAppLaunchConfigurationRequest(params)
328//
329//    err := req.Send()
330//    if err == nil { // resp is now filled
331//        fmt.Println(resp)
332//    }
333//
334// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteAppLaunchConfiguration
335func (c *SMS) DeleteAppLaunchConfigurationRequest(input *DeleteAppLaunchConfigurationInput) (req *request.Request, output *DeleteAppLaunchConfigurationOutput) {
336	op := &request.Operation{
337		Name:       opDeleteAppLaunchConfiguration,
338		HTTPMethod: "POST",
339		HTTPPath:   "/",
340	}
341
342	if input == nil {
343		input = &DeleteAppLaunchConfigurationInput{}
344	}
345
346	output = &DeleteAppLaunchConfigurationOutput{}
347	req = c.newRequest(op, input, output)
348	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
349	return
350}
351
352// DeleteAppLaunchConfiguration API operation for AWS Server Migration Service.
353//
354// Deletes existing launch configuration for an application.
355//
356// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
357// with awserr.Error's Code and Message methods to get detailed information about
358// the error.
359//
360// See the AWS API reference guide for AWS Server Migration Service's
361// API operation DeleteAppLaunchConfiguration for usage and error information.
362//
363// Returned Error Codes:
364//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
365//   You lack permissions needed to perform this operation. Check your IAM policies,
366//   and ensure that you are using the correct access keys.
367//
368//   * ErrCodeInvalidParameterException "InvalidParameterException"
369//   A specified parameter is not valid.
370//
371//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
372//   A required parameter is missing.
373//
374//   * ErrCodeInternalError "InternalError"
375//   An internal error occurred.
376//
377//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
378//   This operation is not allowed.
379//
380// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteAppLaunchConfiguration
381func (c *SMS) DeleteAppLaunchConfiguration(input *DeleteAppLaunchConfigurationInput) (*DeleteAppLaunchConfigurationOutput, error) {
382	req, out := c.DeleteAppLaunchConfigurationRequest(input)
383	return out, req.Send()
384}
385
386// DeleteAppLaunchConfigurationWithContext is the same as DeleteAppLaunchConfiguration with the addition of
387// the ability to pass a context and additional request options.
388//
389// See DeleteAppLaunchConfiguration for details on how to use this API operation.
390//
391// The context must be non-nil and will be used for request cancellation. If
392// the context is nil a panic will occur. In the future the SDK may create
393// sub-contexts for http.Requests. See https://golang.org/pkg/context/
394// for more information on using Contexts.
395func (c *SMS) DeleteAppLaunchConfigurationWithContext(ctx aws.Context, input *DeleteAppLaunchConfigurationInput, opts ...request.Option) (*DeleteAppLaunchConfigurationOutput, error) {
396	req, out := c.DeleteAppLaunchConfigurationRequest(input)
397	req.SetContext(ctx)
398	req.ApplyOptions(opts...)
399	return out, req.Send()
400}
401
402const opDeleteAppReplicationConfiguration = "DeleteAppReplicationConfiguration"
403
404// DeleteAppReplicationConfigurationRequest generates a "aws/request.Request" representing the
405// client's request for the DeleteAppReplicationConfiguration operation. The "output" return
406// value will be populated with the request's response once the request completes
407// successfully.
408//
409// Use "Send" method on the returned Request to send the API call to the service.
410// the "output" return value is not valid until after Send returns without error.
411//
412// See DeleteAppReplicationConfiguration for more information on using the DeleteAppReplicationConfiguration
413// API call, and error handling.
414//
415// This method is useful when you want to inject custom logic or configuration
416// into the SDK's request lifecycle. Such as custom headers, or retry logic.
417//
418//
419//    // Example sending a request using the DeleteAppReplicationConfigurationRequest method.
420//    req, resp := client.DeleteAppReplicationConfigurationRequest(params)
421//
422//    err := req.Send()
423//    if err == nil { // resp is now filled
424//        fmt.Println(resp)
425//    }
426//
427// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteAppReplicationConfiguration
428func (c *SMS) DeleteAppReplicationConfigurationRequest(input *DeleteAppReplicationConfigurationInput) (req *request.Request, output *DeleteAppReplicationConfigurationOutput) {
429	op := &request.Operation{
430		Name:       opDeleteAppReplicationConfiguration,
431		HTTPMethod: "POST",
432		HTTPPath:   "/",
433	}
434
435	if input == nil {
436		input = &DeleteAppReplicationConfigurationInput{}
437	}
438
439	output = &DeleteAppReplicationConfigurationOutput{}
440	req = c.newRequest(op, input, output)
441	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
442	return
443}
444
445// DeleteAppReplicationConfiguration API operation for AWS Server Migration Service.
446//
447// Deletes existing replication configuration for an application.
448//
449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
450// with awserr.Error's Code and Message methods to get detailed information about
451// the error.
452//
453// See the AWS API reference guide for AWS Server Migration Service's
454// API operation DeleteAppReplicationConfiguration for usage and error information.
455//
456// Returned Error Codes:
457//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
458//   You lack permissions needed to perform this operation. Check your IAM policies,
459//   and ensure that you are using the correct access keys.
460//
461//   * ErrCodeInvalidParameterException "InvalidParameterException"
462//   A specified parameter is not valid.
463//
464//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
465//   A required parameter is missing.
466//
467//   * ErrCodeInternalError "InternalError"
468//   An internal error occurred.
469//
470//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
471//   This operation is not allowed.
472//
473// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteAppReplicationConfiguration
474func (c *SMS) DeleteAppReplicationConfiguration(input *DeleteAppReplicationConfigurationInput) (*DeleteAppReplicationConfigurationOutput, error) {
475	req, out := c.DeleteAppReplicationConfigurationRequest(input)
476	return out, req.Send()
477}
478
479// DeleteAppReplicationConfigurationWithContext is the same as DeleteAppReplicationConfiguration with the addition of
480// the ability to pass a context and additional request options.
481//
482// See DeleteAppReplicationConfiguration for details on how to use this API operation.
483//
484// The context must be non-nil and will be used for request cancellation. If
485// the context is nil a panic will occur. In the future the SDK may create
486// sub-contexts for http.Requests. See https://golang.org/pkg/context/
487// for more information on using Contexts.
488func (c *SMS) DeleteAppReplicationConfigurationWithContext(ctx aws.Context, input *DeleteAppReplicationConfigurationInput, opts ...request.Option) (*DeleteAppReplicationConfigurationOutput, error) {
489	req, out := c.DeleteAppReplicationConfigurationRequest(input)
490	req.SetContext(ctx)
491	req.ApplyOptions(opts...)
492	return out, req.Send()
493}
494
495const opDeleteReplicationJob = "DeleteReplicationJob"
496
497// DeleteReplicationJobRequest generates a "aws/request.Request" representing the
498// client's request for the DeleteReplicationJob operation. The "output" return
499// value will be populated with the request's response once the request completes
500// successfully.
501//
502// Use "Send" method on the returned Request to send the API call to the service.
503// the "output" return value is not valid until after Send returns without error.
504//
505// See DeleteReplicationJob for more information on using the DeleteReplicationJob
506// API call, and error handling.
507//
508// This method is useful when you want to inject custom logic or configuration
509// into the SDK's request lifecycle. Such as custom headers, or retry logic.
510//
511//
512//    // Example sending a request using the DeleteReplicationJobRequest method.
513//    req, resp := client.DeleteReplicationJobRequest(params)
514//
515//    err := req.Send()
516//    if err == nil { // resp is now filled
517//        fmt.Println(resp)
518//    }
519//
520// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteReplicationJob
521func (c *SMS) DeleteReplicationJobRequest(input *DeleteReplicationJobInput) (req *request.Request, output *DeleteReplicationJobOutput) {
522	op := &request.Operation{
523		Name:       opDeleteReplicationJob,
524		HTTPMethod: "POST",
525		HTTPPath:   "/",
526	}
527
528	if input == nil {
529		input = &DeleteReplicationJobInput{}
530	}
531
532	output = &DeleteReplicationJobOutput{}
533	req = c.newRequest(op, input, output)
534	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
535	return
536}
537
538// DeleteReplicationJob API operation for AWS Server Migration Service.
539//
540// Deletes the specified replication job.
541//
542// After you delete a replication job, there are no further replication runs.
543// AWS deletes the contents of the Amazon S3 bucket used to store AWS SMS artifacts.
544// The AMIs created by the replication runs are not deleted.
545//
546// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
547// with awserr.Error's Code and Message methods to get detailed information about
548// the error.
549//
550// See the AWS API reference guide for AWS Server Migration Service's
551// API operation DeleteReplicationJob for usage and error information.
552//
553// Returned Error Codes:
554//   * ErrCodeInvalidParameterException "InvalidParameterException"
555//   A specified parameter is not valid.
556//
557//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
558//   A required parameter is missing.
559//
560//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
561//   You lack permissions needed to perform this operation. Check your IAM policies,
562//   and ensure that you are using the correct access keys.
563//
564//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
565//   This operation is not allowed.
566//
567//   * ErrCodeReplicationJobNotFoundException "ReplicationJobNotFoundException"
568//   The specified replication job does not exist.
569//
570// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteReplicationJob
571func (c *SMS) DeleteReplicationJob(input *DeleteReplicationJobInput) (*DeleteReplicationJobOutput, error) {
572	req, out := c.DeleteReplicationJobRequest(input)
573	return out, req.Send()
574}
575
576// DeleteReplicationJobWithContext is the same as DeleteReplicationJob with the addition of
577// the ability to pass a context and additional request options.
578//
579// See DeleteReplicationJob for details on how to use this API operation.
580//
581// The context must be non-nil and will be used for request cancellation. If
582// the context is nil a panic will occur. In the future the SDK may create
583// sub-contexts for http.Requests. See https://golang.org/pkg/context/
584// for more information on using Contexts.
585func (c *SMS) DeleteReplicationJobWithContext(ctx aws.Context, input *DeleteReplicationJobInput, opts ...request.Option) (*DeleteReplicationJobOutput, error) {
586	req, out := c.DeleteReplicationJobRequest(input)
587	req.SetContext(ctx)
588	req.ApplyOptions(opts...)
589	return out, req.Send()
590}
591
592const opDeleteServerCatalog = "DeleteServerCatalog"
593
594// DeleteServerCatalogRequest generates a "aws/request.Request" representing the
595// client's request for the DeleteServerCatalog operation. The "output" return
596// value will be populated with the request's response once the request completes
597// successfully.
598//
599// Use "Send" method on the returned Request to send the API call to the service.
600// the "output" return value is not valid until after Send returns without error.
601//
602// See DeleteServerCatalog for more information on using the DeleteServerCatalog
603// API call, and error handling.
604//
605// This method is useful when you want to inject custom logic or configuration
606// into the SDK's request lifecycle. Such as custom headers, or retry logic.
607//
608//
609//    // Example sending a request using the DeleteServerCatalogRequest method.
610//    req, resp := client.DeleteServerCatalogRequest(params)
611//
612//    err := req.Send()
613//    if err == nil { // resp is now filled
614//        fmt.Println(resp)
615//    }
616//
617// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteServerCatalog
618func (c *SMS) DeleteServerCatalogRequest(input *DeleteServerCatalogInput) (req *request.Request, output *DeleteServerCatalogOutput) {
619	op := &request.Operation{
620		Name:       opDeleteServerCatalog,
621		HTTPMethod: "POST",
622		HTTPPath:   "/",
623	}
624
625	if input == nil {
626		input = &DeleteServerCatalogInput{}
627	}
628
629	output = &DeleteServerCatalogOutput{}
630	req = c.newRequest(op, input, output)
631	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
632	return
633}
634
635// DeleteServerCatalog API operation for AWS Server Migration Service.
636//
637// Deletes all servers from your server catalog.
638//
639// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
640// with awserr.Error's Code and Message methods to get detailed information about
641// the error.
642//
643// See the AWS API reference guide for AWS Server Migration Service's
644// API operation DeleteServerCatalog for usage and error information.
645//
646// Returned Error Codes:
647//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
648//   You lack permissions needed to perform this operation. Check your IAM policies,
649//   and ensure that you are using the correct access keys.
650//
651//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
652//   This operation is not allowed.
653//
654//   * ErrCodeInvalidParameterException "InvalidParameterException"
655//   A specified parameter is not valid.
656//
657//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
658//   A required parameter is missing.
659//
660// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteServerCatalog
661func (c *SMS) DeleteServerCatalog(input *DeleteServerCatalogInput) (*DeleteServerCatalogOutput, error) {
662	req, out := c.DeleteServerCatalogRequest(input)
663	return out, req.Send()
664}
665
666// DeleteServerCatalogWithContext is the same as DeleteServerCatalog with the addition of
667// the ability to pass a context and additional request options.
668//
669// See DeleteServerCatalog for details on how to use this API operation.
670//
671// The context must be non-nil and will be used for request cancellation. If
672// the context is nil a panic will occur. In the future the SDK may create
673// sub-contexts for http.Requests. See https://golang.org/pkg/context/
674// for more information on using Contexts.
675func (c *SMS) DeleteServerCatalogWithContext(ctx aws.Context, input *DeleteServerCatalogInput, opts ...request.Option) (*DeleteServerCatalogOutput, error) {
676	req, out := c.DeleteServerCatalogRequest(input)
677	req.SetContext(ctx)
678	req.ApplyOptions(opts...)
679	return out, req.Send()
680}
681
682const opDisassociateConnector = "DisassociateConnector"
683
684// DisassociateConnectorRequest generates a "aws/request.Request" representing the
685// client's request for the DisassociateConnector operation. The "output" return
686// value will be populated with the request's response once the request completes
687// successfully.
688//
689// Use "Send" method on the returned Request to send the API call to the service.
690// the "output" return value is not valid until after Send returns without error.
691//
692// See DisassociateConnector for more information on using the DisassociateConnector
693// API call, and error handling.
694//
695// This method is useful when you want to inject custom logic or configuration
696// into the SDK's request lifecycle. Such as custom headers, or retry logic.
697//
698//
699//    // Example sending a request using the DisassociateConnectorRequest method.
700//    req, resp := client.DisassociateConnectorRequest(params)
701//
702//    err := req.Send()
703//    if err == nil { // resp is now filled
704//        fmt.Println(resp)
705//    }
706//
707// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DisassociateConnector
708func (c *SMS) DisassociateConnectorRequest(input *DisassociateConnectorInput) (req *request.Request, output *DisassociateConnectorOutput) {
709	op := &request.Operation{
710		Name:       opDisassociateConnector,
711		HTTPMethod: "POST",
712		HTTPPath:   "/",
713	}
714
715	if input == nil {
716		input = &DisassociateConnectorInput{}
717	}
718
719	output = &DisassociateConnectorOutput{}
720	req = c.newRequest(op, input, output)
721	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
722	return
723}
724
725// DisassociateConnector API operation for AWS Server Migration Service.
726//
727// Disassociates the specified connector from AWS SMS.
728//
729// After you disassociate a connector, it is no longer available to support
730// replication jobs.
731//
732// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
733// with awserr.Error's Code and Message methods to get detailed information about
734// the error.
735//
736// See the AWS API reference guide for AWS Server Migration Service's
737// API operation DisassociateConnector for usage and error information.
738//
739// Returned Error Codes:
740//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
741//   A required parameter is missing.
742//
743//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
744//   You lack permissions needed to perform this operation. Check your IAM policies,
745//   and ensure that you are using the correct access keys.
746//
747//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
748//   This operation is not allowed.
749//
750//   * ErrCodeInvalidParameterException "InvalidParameterException"
751//   A specified parameter is not valid.
752//
753// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DisassociateConnector
754func (c *SMS) DisassociateConnector(input *DisassociateConnectorInput) (*DisassociateConnectorOutput, error) {
755	req, out := c.DisassociateConnectorRequest(input)
756	return out, req.Send()
757}
758
759// DisassociateConnectorWithContext is the same as DisassociateConnector with the addition of
760// the ability to pass a context and additional request options.
761//
762// See DisassociateConnector for details on how to use this API operation.
763//
764// The context must be non-nil and will be used for request cancellation. If
765// the context is nil a panic will occur. In the future the SDK may create
766// sub-contexts for http.Requests. See https://golang.org/pkg/context/
767// for more information on using Contexts.
768func (c *SMS) DisassociateConnectorWithContext(ctx aws.Context, input *DisassociateConnectorInput, opts ...request.Option) (*DisassociateConnectorOutput, error) {
769	req, out := c.DisassociateConnectorRequest(input)
770	req.SetContext(ctx)
771	req.ApplyOptions(opts...)
772	return out, req.Send()
773}
774
775const opGenerateChangeSet = "GenerateChangeSet"
776
777// GenerateChangeSetRequest generates a "aws/request.Request" representing the
778// client's request for the GenerateChangeSet operation. The "output" return
779// value will be populated with the request's response once the request completes
780// successfully.
781//
782// Use "Send" method on the returned Request to send the API call to the service.
783// the "output" return value is not valid until after Send returns without error.
784//
785// See GenerateChangeSet for more information on using the GenerateChangeSet
786// API call, and error handling.
787//
788// This method is useful when you want to inject custom logic or configuration
789// into the SDK's request lifecycle. Such as custom headers, or retry logic.
790//
791//
792//    // Example sending a request using the GenerateChangeSetRequest method.
793//    req, resp := client.GenerateChangeSetRequest(params)
794//
795//    err := req.Send()
796//    if err == nil { // resp is now filled
797//        fmt.Println(resp)
798//    }
799//
800// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GenerateChangeSet
801func (c *SMS) GenerateChangeSetRequest(input *GenerateChangeSetInput) (req *request.Request, output *GenerateChangeSetOutput) {
802	op := &request.Operation{
803		Name:       opGenerateChangeSet,
804		HTTPMethod: "POST",
805		HTTPPath:   "/",
806	}
807
808	if input == nil {
809		input = &GenerateChangeSetInput{}
810	}
811
812	output = &GenerateChangeSetOutput{}
813	req = c.newRequest(op, input, output)
814	return
815}
816
817// GenerateChangeSet API operation for AWS Server Migration Service.
818//
819// Generates a target change set for a currently launched stack and writes it
820// to an Amazon S3 object in the customer’s Amazon S3 bucket.
821//
822// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
823// with awserr.Error's Code and Message methods to get detailed information about
824// the error.
825//
826// See the AWS API reference guide for AWS Server Migration Service's
827// API operation GenerateChangeSet for usage and error information.
828//
829// Returned Error Codes:
830//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
831//   You lack permissions needed to perform this operation. Check your IAM policies,
832//   and ensure that you are using the correct access keys.
833//
834//   * ErrCodeInvalidParameterException "InvalidParameterException"
835//   A specified parameter is not valid.
836//
837//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
838//   A required parameter is missing.
839//
840//   * ErrCodeInternalError "InternalError"
841//   An internal error occurred.
842//
843//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
844//   This operation is not allowed.
845//
846// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GenerateChangeSet
847func (c *SMS) GenerateChangeSet(input *GenerateChangeSetInput) (*GenerateChangeSetOutput, error) {
848	req, out := c.GenerateChangeSetRequest(input)
849	return out, req.Send()
850}
851
852// GenerateChangeSetWithContext is the same as GenerateChangeSet with the addition of
853// the ability to pass a context and additional request options.
854//
855// See GenerateChangeSet for details on how to use this API operation.
856//
857// The context must be non-nil and will be used for request cancellation. If
858// the context is nil a panic will occur. In the future the SDK may create
859// sub-contexts for http.Requests. See https://golang.org/pkg/context/
860// for more information on using Contexts.
861func (c *SMS) GenerateChangeSetWithContext(ctx aws.Context, input *GenerateChangeSetInput, opts ...request.Option) (*GenerateChangeSetOutput, error) {
862	req, out := c.GenerateChangeSetRequest(input)
863	req.SetContext(ctx)
864	req.ApplyOptions(opts...)
865	return out, req.Send()
866}
867
868const opGenerateTemplate = "GenerateTemplate"
869
870// GenerateTemplateRequest generates a "aws/request.Request" representing the
871// client's request for the GenerateTemplate operation. The "output" return
872// value will be populated with the request's response once the request completes
873// successfully.
874//
875// Use "Send" method on the returned Request to send the API call to the service.
876// the "output" return value is not valid until after Send returns without error.
877//
878// See GenerateTemplate for more information on using the GenerateTemplate
879// API call, and error handling.
880//
881// This method is useful when you want to inject custom logic or configuration
882// into the SDK's request lifecycle. Such as custom headers, or retry logic.
883//
884//
885//    // Example sending a request using the GenerateTemplateRequest method.
886//    req, resp := client.GenerateTemplateRequest(params)
887//
888//    err := req.Send()
889//    if err == nil { // resp is now filled
890//        fmt.Println(resp)
891//    }
892//
893// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GenerateTemplate
894func (c *SMS) GenerateTemplateRequest(input *GenerateTemplateInput) (req *request.Request, output *GenerateTemplateOutput) {
895	op := &request.Operation{
896		Name:       opGenerateTemplate,
897		HTTPMethod: "POST",
898		HTTPPath:   "/",
899	}
900
901	if input == nil {
902		input = &GenerateTemplateInput{}
903	}
904
905	output = &GenerateTemplateOutput{}
906	req = c.newRequest(op, input, output)
907	return
908}
909
910// GenerateTemplate API operation for AWS Server Migration Service.
911//
912// Generates an Amazon CloudFormation template based on the current launch configuration
913// and writes it to an Amazon S3 object in the customer’s Amazon S3 bucket.
914//
915// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
916// with awserr.Error's Code and Message methods to get detailed information about
917// the error.
918//
919// See the AWS API reference guide for AWS Server Migration Service's
920// API operation GenerateTemplate for usage and error information.
921//
922// Returned Error Codes:
923//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
924//   You lack permissions needed to perform this operation. Check your IAM policies,
925//   and ensure that you are using the correct access keys.
926//
927//   * ErrCodeInvalidParameterException "InvalidParameterException"
928//   A specified parameter is not valid.
929//
930//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
931//   A required parameter is missing.
932//
933//   * ErrCodeInternalError "InternalError"
934//   An internal error occurred.
935//
936//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
937//   This operation is not allowed.
938//
939// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GenerateTemplate
940func (c *SMS) GenerateTemplate(input *GenerateTemplateInput) (*GenerateTemplateOutput, error) {
941	req, out := c.GenerateTemplateRequest(input)
942	return out, req.Send()
943}
944
945// GenerateTemplateWithContext is the same as GenerateTemplate with the addition of
946// the ability to pass a context and additional request options.
947//
948// See GenerateTemplate for details on how to use this API operation.
949//
950// The context must be non-nil and will be used for request cancellation. If
951// the context is nil a panic will occur. In the future the SDK may create
952// sub-contexts for http.Requests. See https://golang.org/pkg/context/
953// for more information on using Contexts.
954func (c *SMS) GenerateTemplateWithContext(ctx aws.Context, input *GenerateTemplateInput, opts ...request.Option) (*GenerateTemplateOutput, error) {
955	req, out := c.GenerateTemplateRequest(input)
956	req.SetContext(ctx)
957	req.ApplyOptions(opts...)
958	return out, req.Send()
959}
960
961const opGetApp = "GetApp"
962
963// GetAppRequest generates a "aws/request.Request" representing the
964// client's request for the GetApp operation. The "output" return
965// value will be populated with the request's response once the request completes
966// successfully.
967//
968// Use "Send" method on the returned Request to send the API call to the service.
969// the "output" return value is not valid until after Send returns without error.
970//
971// See GetApp for more information on using the GetApp
972// API call, and error handling.
973//
974// This method is useful when you want to inject custom logic or configuration
975// into the SDK's request lifecycle. Such as custom headers, or retry logic.
976//
977//
978//    // Example sending a request using the GetAppRequest method.
979//    req, resp := client.GetAppRequest(params)
980//
981//    err := req.Send()
982//    if err == nil { // resp is now filled
983//        fmt.Println(resp)
984//    }
985//
986// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetApp
987func (c *SMS) GetAppRequest(input *GetAppInput) (req *request.Request, output *GetAppOutput) {
988	op := &request.Operation{
989		Name:       opGetApp,
990		HTTPMethod: "POST",
991		HTTPPath:   "/",
992	}
993
994	if input == nil {
995		input = &GetAppInput{}
996	}
997
998	output = &GetAppOutput{}
999	req = c.newRequest(op, input, output)
1000	return
1001}
1002
1003// GetApp API operation for AWS Server Migration Service.
1004//
1005// Retrieve information about an application.
1006//
1007// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1008// with awserr.Error's Code and Message methods to get detailed information about
1009// the error.
1010//
1011// See the AWS API reference guide for AWS Server Migration Service's
1012// API operation GetApp for usage and error information.
1013//
1014// Returned Error Codes:
1015//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
1016//   You lack permissions needed to perform this operation. Check your IAM policies,
1017//   and ensure that you are using the correct access keys.
1018//
1019//   * ErrCodeInvalidParameterException "InvalidParameterException"
1020//   A specified parameter is not valid.
1021//
1022//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
1023//   A required parameter is missing.
1024//
1025//   * ErrCodeInternalError "InternalError"
1026//   An internal error occurred.
1027//
1028//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
1029//   This operation is not allowed.
1030//
1031// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetApp
1032func (c *SMS) GetApp(input *GetAppInput) (*GetAppOutput, error) {
1033	req, out := c.GetAppRequest(input)
1034	return out, req.Send()
1035}
1036
1037// GetAppWithContext is the same as GetApp with the addition of
1038// the ability to pass a context and additional request options.
1039//
1040// See GetApp for details on how to use this API operation.
1041//
1042// The context must be non-nil and will be used for request cancellation. If
1043// the context is nil a panic will occur. In the future the SDK may create
1044// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1045// for more information on using Contexts.
1046func (c *SMS) GetAppWithContext(ctx aws.Context, input *GetAppInput, opts ...request.Option) (*GetAppOutput, error) {
1047	req, out := c.GetAppRequest(input)
1048	req.SetContext(ctx)
1049	req.ApplyOptions(opts...)
1050	return out, req.Send()
1051}
1052
1053const opGetAppLaunchConfiguration = "GetAppLaunchConfiguration"
1054
1055// GetAppLaunchConfigurationRequest generates a "aws/request.Request" representing the
1056// client's request for the GetAppLaunchConfiguration operation. The "output" return
1057// value will be populated with the request's response once the request completes
1058// successfully.
1059//
1060// Use "Send" method on the returned Request to send the API call to the service.
1061// the "output" return value is not valid until after Send returns without error.
1062//
1063// See GetAppLaunchConfiguration for more information on using the GetAppLaunchConfiguration
1064// API call, and error handling.
1065//
1066// This method is useful when you want to inject custom logic or configuration
1067// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1068//
1069//
1070//    // Example sending a request using the GetAppLaunchConfigurationRequest method.
1071//    req, resp := client.GetAppLaunchConfigurationRequest(params)
1072//
1073//    err := req.Send()
1074//    if err == nil { // resp is now filled
1075//        fmt.Println(resp)
1076//    }
1077//
1078// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetAppLaunchConfiguration
1079func (c *SMS) GetAppLaunchConfigurationRequest(input *GetAppLaunchConfigurationInput) (req *request.Request, output *GetAppLaunchConfigurationOutput) {
1080	op := &request.Operation{
1081		Name:       opGetAppLaunchConfiguration,
1082		HTTPMethod: "POST",
1083		HTTPPath:   "/",
1084	}
1085
1086	if input == nil {
1087		input = &GetAppLaunchConfigurationInput{}
1088	}
1089
1090	output = &GetAppLaunchConfigurationOutput{}
1091	req = c.newRequest(op, input, output)
1092	return
1093}
1094
1095// GetAppLaunchConfiguration API operation for AWS Server Migration Service.
1096//
1097// Retrieves the application launch configuration associated with an application.
1098//
1099// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1100// with awserr.Error's Code and Message methods to get detailed information about
1101// the error.
1102//
1103// See the AWS API reference guide for AWS Server Migration Service's
1104// API operation GetAppLaunchConfiguration for usage and error information.
1105//
1106// Returned Error Codes:
1107//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
1108//   You lack permissions needed to perform this operation. Check your IAM policies,
1109//   and ensure that you are using the correct access keys.
1110//
1111//   * ErrCodeInvalidParameterException "InvalidParameterException"
1112//   A specified parameter is not valid.
1113//
1114//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
1115//   A required parameter is missing.
1116//
1117//   * ErrCodeInternalError "InternalError"
1118//   An internal error occurred.
1119//
1120//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
1121//   This operation is not allowed.
1122//
1123// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetAppLaunchConfiguration
1124func (c *SMS) GetAppLaunchConfiguration(input *GetAppLaunchConfigurationInput) (*GetAppLaunchConfigurationOutput, error) {
1125	req, out := c.GetAppLaunchConfigurationRequest(input)
1126	return out, req.Send()
1127}
1128
1129// GetAppLaunchConfigurationWithContext is the same as GetAppLaunchConfiguration with the addition of
1130// the ability to pass a context and additional request options.
1131//
1132// See GetAppLaunchConfiguration for details on how to use this API operation.
1133//
1134// The context must be non-nil and will be used for request cancellation. If
1135// the context is nil a panic will occur. In the future the SDK may create
1136// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1137// for more information on using Contexts.
1138func (c *SMS) GetAppLaunchConfigurationWithContext(ctx aws.Context, input *GetAppLaunchConfigurationInput, opts ...request.Option) (*GetAppLaunchConfigurationOutput, error) {
1139	req, out := c.GetAppLaunchConfigurationRequest(input)
1140	req.SetContext(ctx)
1141	req.ApplyOptions(opts...)
1142	return out, req.Send()
1143}
1144
1145const opGetAppReplicationConfiguration = "GetAppReplicationConfiguration"
1146
1147// GetAppReplicationConfigurationRequest generates a "aws/request.Request" representing the
1148// client's request for the GetAppReplicationConfiguration operation. The "output" return
1149// value will be populated with the request's response once the request completes
1150// successfully.
1151//
1152// Use "Send" method on the returned Request to send the API call to the service.
1153// the "output" return value is not valid until after Send returns without error.
1154//
1155// See GetAppReplicationConfiguration for more information on using the GetAppReplicationConfiguration
1156// API call, and error handling.
1157//
1158// This method is useful when you want to inject custom logic or configuration
1159// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1160//
1161//
1162//    // Example sending a request using the GetAppReplicationConfigurationRequest method.
1163//    req, resp := client.GetAppReplicationConfigurationRequest(params)
1164//
1165//    err := req.Send()
1166//    if err == nil { // resp is now filled
1167//        fmt.Println(resp)
1168//    }
1169//
1170// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetAppReplicationConfiguration
1171func (c *SMS) GetAppReplicationConfigurationRequest(input *GetAppReplicationConfigurationInput) (req *request.Request, output *GetAppReplicationConfigurationOutput) {
1172	op := &request.Operation{
1173		Name:       opGetAppReplicationConfiguration,
1174		HTTPMethod: "POST",
1175		HTTPPath:   "/",
1176	}
1177
1178	if input == nil {
1179		input = &GetAppReplicationConfigurationInput{}
1180	}
1181
1182	output = &GetAppReplicationConfigurationOutput{}
1183	req = c.newRequest(op, input, output)
1184	return
1185}
1186
1187// GetAppReplicationConfiguration API operation for AWS Server Migration Service.
1188//
1189// Retrieves an application replication configuration associatd with an application.
1190//
1191// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1192// with awserr.Error's Code and Message methods to get detailed information about
1193// the error.
1194//
1195// See the AWS API reference guide for AWS Server Migration Service's
1196// API operation GetAppReplicationConfiguration for usage and error information.
1197//
1198// Returned Error Codes:
1199//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
1200//   You lack permissions needed to perform this operation. Check your IAM policies,
1201//   and ensure that you are using the correct access keys.
1202//
1203//   * ErrCodeInvalidParameterException "InvalidParameterException"
1204//   A specified parameter is not valid.
1205//
1206//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
1207//   A required parameter is missing.
1208//
1209//   * ErrCodeInternalError "InternalError"
1210//   An internal error occurred.
1211//
1212//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
1213//   This operation is not allowed.
1214//
1215// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetAppReplicationConfiguration
1216func (c *SMS) GetAppReplicationConfiguration(input *GetAppReplicationConfigurationInput) (*GetAppReplicationConfigurationOutput, error) {
1217	req, out := c.GetAppReplicationConfigurationRequest(input)
1218	return out, req.Send()
1219}
1220
1221// GetAppReplicationConfigurationWithContext is the same as GetAppReplicationConfiguration with the addition of
1222// the ability to pass a context and additional request options.
1223//
1224// See GetAppReplicationConfiguration for details on how to use this API operation.
1225//
1226// The context must be non-nil and will be used for request cancellation. If
1227// the context is nil a panic will occur. In the future the SDK may create
1228// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1229// for more information on using Contexts.
1230func (c *SMS) GetAppReplicationConfigurationWithContext(ctx aws.Context, input *GetAppReplicationConfigurationInput, opts ...request.Option) (*GetAppReplicationConfigurationOutput, error) {
1231	req, out := c.GetAppReplicationConfigurationRequest(input)
1232	req.SetContext(ctx)
1233	req.ApplyOptions(opts...)
1234	return out, req.Send()
1235}
1236
1237const opGetConnectors = "GetConnectors"
1238
1239// GetConnectorsRequest generates a "aws/request.Request" representing the
1240// client's request for the GetConnectors operation. The "output" return
1241// value will be populated with the request's response once the request completes
1242// successfully.
1243//
1244// Use "Send" method on the returned Request to send the API call to the service.
1245// the "output" return value is not valid until after Send returns without error.
1246//
1247// See GetConnectors for more information on using the GetConnectors
1248// API call, and error handling.
1249//
1250// This method is useful when you want to inject custom logic or configuration
1251// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1252//
1253//
1254//    // Example sending a request using the GetConnectorsRequest method.
1255//    req, resp := client.GetConnectorsRequest(params)
1256//
1257//    err := req.Send()
1258//    if err == nil { // resp is now filled
1259//        fmt.Println(resp)
1260//    }
1261//
1262// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetConnectors
1263func (c *SMS) GetConnectorsRequest(input *GetConnectorsInput) (req *request.Request, output *GetConnectorsOutput) {
1264	op := &request.Operation{
1265		Name:       opGetConnectors,
1266		HTTPMethod: "POST",
1267		HTTPPath:   "/",
1268		Paginator: &request.Paginator{
1269			InputTokens:     []string{"nextToken"},
1270			OutputTokens:    []string{"nextToken"},
1271			LimitToken:      "maxResults",
1272			TruncationToken: "",
1273		},
1274	}
1275
1276	if input == nil {
1277		input = &GetConnectorsInput{}
1278	}
1279
1280	output = &GetConnectorsOutput{}
1281	req = c.newRequest(op, input, output)
1282	return
1283}
1284
1285// GetConnectors API operation for AWS Server Migration Service.
1286//
1287// Describes the connectors registered with the AWS SMS.
1288//
1289// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1290// with awserr.Error's Code and Message methods to get detailed information about
1291// the error.
1292//
1293// See the AWS API reference guide for AWS Server Migration Service's
1294// API operation GetConnectors for usage and error information.
1295//
1296// Returned Error Codes:
1297//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
1298//   You lack permissions needed to perform this operation. Check your IAM policies,
1299//   and ensure that you are using the correct access keys.
1300//
1301// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetConnectors
1302func (c *SMS) GetConnectors(input *GetConnectorsInput) (*GetConnectorsOutput, error) {
1303	req, out := c.GetConnectorsRequest(input)
1304	return out, req.Send()
1305}
1306
1307// GetConnectorsWithContext is the same as GetConnectors with the addition of
1308// the ability to pass a context and additional request options.
1309//
1310// See GetConnectors for details on how to use this API operation.
1311//
1312// The context must be non-nil and will be used for request cancellation. If
1313// the context is nil a panic will occur. In the future the SDK may create
1314// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1315// for more information on using Contexts.
1316func (c *SMS) GetConnectorsWithContext(ctx aws.Context, input *GetConnectorsInput, opts ...request.Option) (*GetConnectorsOutput, error) {
1317	req, out := c.GetConnectorsRequest(input)
1318	req.SetContext(ctx)
1319	req.ApplyOptions(opts...)
1320	return out, req.Send()
1321}
1322
1323// GetConnectorsPages iterates over the pages of a GetConnectors operation,
1324// calling the "fn" function with the response data for each page. To stop
1325// iterating, return false from the fn function.
1326//
1327// See GetConnectors method for more information on how to use this operation.
1328//
1329// Note: This operation can generate multiple requests to a service.
1330//
1331//    // Example iterating over at most 3 pages of a GetConnectors operation.
1332//    pageNum := 0
1333//    err := client.GetConnectorsPages(params,
1334//        func(page *sms.GetConnectorsOutput, lastPage bool) bool {
1335//            pageNum++
1336//            fmt.Println(page)
1337//            return pageNum <= 3
1338//        })
1339//
1340func (c *SMS) GetConnectorsPages(input *GetConnectorsInput, fn func(*GetConnectorsOutput, bool) bool) error {
1341	return c.GetConnectorsPagesWithContext(aws.BackgroundContext(), input, fn)
1342}
1343
1344// GetConnectorsPagesWithContext same as GetConnectorsPages except
1345// it takes a Context and allows setting request options on the pages.
1346//
1347// The context must be non-nil and will be used for request cancellation. If
1348// the context is nil a panic will occur. In the future the SDK may create
1349// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1350// for more information on using Contexts.
1351func (c *SMS) GetConnectorsPagesWithContext(ctx aws.Context, input *GetConnectorsInput, fn func(*GetConnectorsOutput, bool) bool, opts ...request.Option) error {
1352	p := request.Pagination{
1353		NewRequest: func() (*request.Request, error) {
1354			var inCpy *GetConnectorsInput
1355			if input != nil {
1356				tmp := *input
1357				inCpy = &tmp
1358			}
1359			req, _ := c.GetConnectorsRequest(inCpy)
1360			req.SetContext(ctx)
1361			req.ApplyOptions(opts...)
1362			return req, nil
1363		},
1364	}
1365
1366	for p.Next() {
1367		if !fn(p.Page().(*GetConnectorsOutput), !p.HasNextPage()) {
1368			break
1369		}
1370	}
1371
1372	return p.Err()
1373}
1374
1375const opGetReplicationJobs = "GetReplicationJobs"
1376
1377// GetReplicationJobsRequest generates a "aws/request.Request" representing the
1378// client's request for the GetReplicationJobs operation. The "output" return
1379// value will be populated with the request's response once the request completes
1380// successfully.
1381//
1382// Use "Send" method on the returned Request to send the API call to the service.
1383// the "output" return value is not valid until after Send returns without error.
1384//
1385// See GetReplicationJobs for more information on using the GetReplicationJobs
1386// API call, and error handling.
1387//
1388// This method is useful when you want to inject custom logic or configuration
1389// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1390//
1391//
1392//    // Example sending a request using the GetReplicationJobsRequest method.
1393//    req, resp := client.GetReplicationJobsRequest(params)
1394//
1395//    err := req.Send()
1396//    if err == nil { // resp is now filled
1397//        fmt.Println(resp)
1398//    }
1399//
1400// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetReplicationJobs
1401func (c *SMS) GetReplicationJobsRequest(input *GetReplicationJobsInput) (req *request.Request, output *GetReplicationJobsOutput) {
1402	op := &request.Operation{
1403		Name:       opGetReplicationJobs,
1404		HTTPMethod: "POST",
1405		HTTPPath:   "/",
1406		Paginator: &request.Paginator{
1407			InputTokens:     []string{"nextToken"},
1408			OutputTokens:    []string{"nextToken"},
1409			LimitToken:      "maxResults",
1410			TruncationToken: "",
1411		},
1412	}
1413
1414	if input == nil {
1415		input = &GetReplicationJobsInput{}
1416	}
1417
1418	output = &GetReplicationJobsOutput{}
1419	req = c.newRequest(op, input, output)
1420	return
1421}
1422
1423// GetReplicationJobs API operation for AWS Server Migration Service.
1424//
1425// Describes the specified replication job or all of your replication jobs.
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 AWS Server Migration Service's
1432// API operation GetReplicationJobs for usage and error information.
1433//
1434// Returned Error Codes:
1435//   * ErrCodeInvalidParameterException "InvalidParameterException"
1436//   A specified parameter is not valid.
1437//
1438//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
1439//   A required parameter is missing.
1440//
1441//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
1442//   You lack permissions needed to perform this operation. Check your IAM policies,
1443//   and ensure that you are using the correct access keys.
1444//
1445// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetReplicationJobs
1446func (c *SMS) GetReplicationJobs(input *GetReplicationJobsInput) (*GetReplicationJobsOutput, error) {
1447	req, out := c.GetReplicationJobsRequest(input)
1448	return out, req.Send()
1449}
1450
1451// GetReplicationJobsWithContext is the same as GetReplicationJobs with the addition of
1452// the ability to pass a context and additional request options.
1453//
1454// See GetReplicationJobs for details on how to use this API operation.
1455//
1456// The context must be non-nil and will be used for request cancellation. If
1457// the context is nil a panic will occur. In the future the SDK may create
1458// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1459// for more information on using Contexts.
1460func (c *SMS) GetReplicationJobsWithContext(ctx aws.Context, input *GetReplicationJobsInput, opts ...request.Option) (*GetReplicationJobsOutput, error) {
1461	req, out := c.GetReplicationJobsRequest(input)
1462	req.SetContext(ctx)
1463	req.ApplyOptions(opts...)
1464	return out, req.Send()
1465}
1466
1467// GetReplicationJobsPages iterates over the pages of a GetReplicationJobs operation,
1468// calling the "fn" function with the response data for each page. To stop
1469// iterating, return false from the fn function.
1470//
1471// See GetReplicationJobs method for more information on how to use this operation.
1472//
1473// Note: This operation can generate multiple requests to a service.
1474//
1475//    // Example iterating over at most 3 pages of a GetReplicationJobs operation.
1476//    pageNum := 0
1477//    err := client.GetReplicationJobsPages(params,
1478//        func(page *sms.GetReplicationJobsOutput, lastPage bool) bool {
1479//            pageNum++
1480//            fmt.Println(page)
1481//            return pageNum <= 3
1482//        })
1483//
1484func (c *SMS) GetReplicationJobsPages(input *GetReplicationJobsInput, fn func(*GetReplicationJobsOutput, bool) bool) error {
1485	return c.GetReplicationJobsPagesWithContext(aws.BackgroundContext(), input, fn)
1486}
1487
1488// GetReplicationJobsPagesWithContext same as GetReplicationJobsPages except
1489// it takes a Context and allows setting request options on the pages.
1490//
1491// The context must be non-nil and will be used for request cancellation. If
1492// the context is nil a panic will occur. In the future the SDK may create
1493// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1494// for more information on using Contexts.
1495func (c *SMS) GetReplicationJobsPagesWithContext(ctx aws.Context, input *GetReplicationJobsInput, fn func(*GetReplicationJobsOutput, bool) bool, opts ...request.Option) error {
1496	p := request.Pagination{
1497		NewRequest: func() (*request.Request, error) {
1498			var inCpy *GetReplicationJobsInput
1499			if input != nil {
1500				tmp := *input
1501				inCpy = &tmp
1502			}
1503			req, _ := c.GetReplicationJobsRequest(inCpy)
1504			req.SetContext(ctx)
1505			req.ApplyOptions(opts...)
1506			return req, nil
1507		},
1508	}
1509
1510	for p.Next() {
1511		if !fn(p.Page().(*GetReplicationJobsOutput), !p.HasNextPage()) {
1512			break
1513		}
1514	}
1515
1516	return p.Err()
1517}
1518
1519const opGetReplicationRuns = "GetReplicationRuns"
1520
1521// GetReplicationRunsRequest generates a "aws/request.Request" representing the
1522// client's request for the GetReplicationRuns operation. The "output" return
1523// value will be populated with the request's response once the request completes
1524// successfully.
1525//
1526// Use "Send" method on the returned Request to send the API call to the service.
1527// the "output" return value is not valid until after Send returns without error.
1528//
1529// See GetReplicationRuns for more information on using the GetReplicationRuns
1530// API call, and error handling.
1531//
1532// This method is useful when you want to inject custom logic or configuration
1533// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1534//
1535//
1536//    // Example sending a request using the GetReplicationRunsRequest method.
1537//    req, resp := client.GetReplicationRunsRequest(params)
1538//
1539//    err := req.Send()
1540//    if err == nil { // resp is now filled
1541//        fmt.Println(resp)
1542//    }
1543//
1544// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetReplicationRuns
1545func (c *SMS) GetReplicationRunsRequest(input *GetReplicationRunsInput) (req *request.Request, output *GetReplicationRunsOutput) {
1546	op := &request.Operation{
1547		Name:       opGetReplicationRuns,
1548		HTTPMethod: "POST",
1549		HTTPPath:   "/",
1550		Paginator: &request.Paginator{
1551			InputTokens:     []string{"nextToken"},
1552			OutputTokens:    []string{"nextToken"},
1553			LimitToken:      "maxResults",
1554			TruncationToken: "",
1555		},
1556	}
1557
1558	if input == nil {
1559		input = &GetReplicationRunsInput{}
1560	}
1561
1562	output = &GetReplicationRunsOutput{}
1563	req = c.newRequest(op, input, output)
1564	return
1565}
1566
1567// GetReplicationRuns API operation for AWS Server Migration Service.
1568//
1569// Describes the replication runs for the specified replication job.
1570//
1571// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1572// with awserr.Error's Code and Message methods to get detailed information about
1573// the error.
1574//
1575// See the AWS API reference guide for AWS Server Migration Service's
1576// API operation GetReplicationRuns for usage and error information.
1577//
1578// Returned Error Codes:
1579//   * ErrCodeInvalidParameterException "InvalidParameterException"
1580//   A specified parameter is not valid.
1581//
1582//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
1583//   A required parameter is missing.
1584//
1585//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
1586//   You lack permissions needed to perform this operation. Check your IAM policies,
1587//   and ensure that you are using the correct access keys.
1588//
1589// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetReplicationRuns
1590func (c *SMS) GetReplicationRuns(input *GetReplicationRunsInput) (*GetReplicationRunsOutput, error) {
1591	req, out := c.GetReplicationRunsRequest(input)
1592	return out, req.Send()
1593}
1594
1595// GetReplicationRunsWithContext is the same as GetReplicationRuns with the addition of
1596// the ability to pass a context and additional request options.
1597//
1598// See GetReplicationRuns for details on how to use this API operation.
1599//
1600// The context must be non-nil and will be used for request cancellation. If
1601// the context is nil a panic will occur. In the future the SDK may create
1602// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1603// for more information on using Contexts.
1604func (c *SMS) GetReplicationRunsWithContext(ctx aws.Context, input *GetReplicationRunsInput, opts ...request.Option) (*GetReplicationRunsOutput, error) {
1605	req, out := c.GetReplicationRunsRequest(input)
1606	req.SetContext(ctx)
1607	req.ApplyOptions(opts...)
1608	return out, req.Send()
1609}
1610
1611// GetReplicationRunsPages iterates over the pages of a GetReplicationRuns operation,
1612// calling the "fn" function with the response data for each page. To stop
1613// iterating, return false from the fn function.
1614//
1615// See GetReplicationRuns method for more information on how to use this operation.
1616//
1617// Note: This operation can generate multiple requests to a service.
1618//
1619//    // Example iterating over at most 3 pages of a GetReplicationRuns operation.
1620//    pageNum := 0
1621//    err := client.GetReplicationRunsPages(params,
1622//        func(page *sms.GetReplicationRunsOutput, lastPage bool) bool {
1623//            pageNum++
1624//            fmt.Println(page)
1625//            return pageNum <= 3
1626//        })
1627//
1628func (c *SMS) GetReplicationRunsPages(input *GetReplicationRunsInput, fn func(*GetReplicationRunsOutput, bool) bool) error {
1629	return c.GetReplicationRunsPagesWithContext(aws.BackgroundContext(), input, fn)
1630}
1631
1632// GetReplicationRunsPagesWithContext same as GetReplicationRunsPages except
1633// it takes a Context and allows setting request options on the pages.
1634//
1635// The context must be non-nil and will be used for request cancellation. If
1636// the context is nil a panic will occur. In the future the SDK may create
1637// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1638// for more information on using Contexts.
1639func (c *SMS) GetReplicationRunsPagesWithContext(ctx aws.Context, input *GetReplicationRunsInput, fn func(*GetReplicationRunsOutput, bool) bool, opts ...request.Option) error {
1640	p := request.Pagination{
1641		NewRequest: func() (*request.Request, error) {
1642			var inCpy *GetReplicationRunsInput
1643			if input != nil {
1644				tmp := *input
1645				inCpy = &tmp
1646			}
1647			req, _ := c.GetReplicationRunsRequest(inCpy)
1648			req.SetContext(ctx)
1649			req.ApplyOptions(opts...)
1650			return req, nil
1651		},
1652	}
1653
1654	for p.Next() {
1655		if !fn(p.Page().(*GetReplicationRunsOutput), !p.HasNextPage()) {
1656			break
1657		}
1658	}
1659
1660	return p.Err()
1661}
1662
1663const opGetServers = "GetServers"
1664
1665// GetServersRequest generates a "aws/request.Request" representing the
1666// client's request for the GetServers operation. The "output" return
1667// value will be populated with the request's response once the request completes
1668// successfully.
1669//
1670// Use "Send" method on the returned Request to send the API call to the service.
1671// the "output" return value is not valid until after Send returns without error.
1672//
1673// See GetServers for more information on using the GetServers
1674// API call, and error handling.
1675//
1676// This method is useful when you want to inject custom logic or configuration
1677// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1678//
1679//
1680//    // Example sending a request using the GetServersRequest method.
1681//    req, resp := client.GetServersRequest(params)
1682//
1683//    err := req.Send()
1684//    if err == nil { // resp is now filled
1685//        fmt.Println(resp)
1686//    }
1687//
1688// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetServers
1689func (c *SMS) GetServersRequest(input *GetServersInput) (req *request.Request, output *GetServersOutput) {
1690	op := &request.Operation{
1691		Name:       opGetServers,
1692		HTTPMethod: "POST",
1693		HTTPPath:   "/",
1694		Paginator: &request.Paginator{
1695			InputTokens:     []string{"nextToken"},
1696			OutputTokens:    []string{"nextToken"},
1697			LimitToken:      "maxResults",
1698			TruncationToken: "",
1699		},
1700	}
1701
1702	if input == nil {
1703		input = &GetServersInput{}
1704	}
1705
1706	output = &GetServersOutput{}
1707	req = c.newRequest(op, input, output)
1708	return
1709}
1710
1711// GetServers API operation for AWS Server Migration Service.
1712//
1713// Describes the servers in your server catalog.
1714//
1715// Before you can describe your servers, you must import them using ImportServerCatalog.
1716//
1717// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1718// with awserr.Error's Code and Message methods to get detailed information about
1719// the error.
1720//
1721// See the AWS API reference guide for AWS Server Migration Service's
1722// API operation GetServers for usage and error information.
1723//
1724// Returned Error Codes:
1725//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
1726//   You lack permissions needed to perform this operation. Check your IAM policies,
1727//   and ensure that you are using the correct access keys.
1728//
1729// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetServers
1730func (c *SMS) GetServers(input *GetServersInput) (*GetServersOutput, error) {
1731	req, out := c.GetServersRequest(input)
1732	return out, req.Send()
1733}
1734
1735// GetServersWithContext is the same as GetServers with the addition of
1736// the ability to pass a context and additional request options.
1737//
1738// See GetServers for details on how to use this API operation.
1739//
1740// The context must be non-nil and will be used for request cancellation. If
1741// the context is nil a panic will occur. In the future the SDK may create
1742// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1743// for more information on using Contexts.
1744func (c *SMS) GetServersWithContext(ctx aws.Context, input *GetServersInput, opts ...request.Option) (*GetServersOutput, error) {
1745	req, out := c.GetServersRequest(input)
1746	req.SetContext(ctx)
1747	req.ApplyOptions(opts...)
1748	return out, req.Send()
1749}
1750
1751// GetServersPages iterates over the pages of a GetServers operation,
1752// calling the "fn" function with the response data for each page. To stop
1753// iterating, return false from the fn function.
1754//
1755// See GetServers method for more information on how to use this operation.
1756//
1757// Note: This operation can generate multiple requests to a service.
1758//
1759//    // Example iterating over at most 3 pages of a GetServers operation.
1760//    pageNum := 0
1761//    err := client.GetServersPages(params,
1762//        func(page *sms.GetServersOutput, lastPage bool) bool {
1763//            pageNum++
1764//            fmt.Println(page)
1765//            return pageNum <= 3
1766//        })
1767//
1768func (c *SMS) GetServersPages(input *GetServersInput, fn func(*GetServersOutput, bool) bool) error {
1769	return c.GetServersPagesWithContext(aws.BackgroundContext(), input, fn)
1770}
1771
1772// GetServersPagesWithContext same as GetServersPages except
1773// it takes a Context and allows setting request options on the pages.
1774//
1775// The context must be non-nil and will be used for request cancellation. If
1776// the context is nil a panic will occur. In the future the SDK may create
1777// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1778// for more information on using Contexts.
1779func (c *SMS) GetServersPagesWithContext(ctx aws.Context, input *GetServersInput, fn func(*GetServersOutput, bool) bool, opts ...request.Option) error {
1780	p := request.Pagination{
1781		NewRequest: func() (*request.Request, error) {
1782			var inCpy *GetServersInput
1783			if input != nil {
1784				tmp := *input
1785				inCpy = &tmp
1786			}
1787			req, _ := c.GetServersRequest(inCpy)
1788			req.SetContext(ctx)
1789			req.ApplyOptions(opts...)
1790			return req, nil
1791		},
1792	}
1793
1794	for p.Next() {
1795		if !fn(p.Page().(*GetServersOutput), !p.HasNextPage()) {
1796			break
1797		}
1798	}
1799
1800	return p.Err()
1801}
1802
1803const opImportServerCatalog = "ImportServerCatalog"
1804
1805// ImportServerCatalogRequest generates a "aws/request.Request" representing the
1806// client's request for the ImportServerCatalog operation. The "output" return
1807// value will be populated with the request's response once the request completes
1808// successfully.
1809//
1810// Use "Send" method on the returned Request to send the API call to the service.
1811// the "output" return value is not valid until after Send returns without error.
1812//
1813// See ImportServerCatalog for more information on using the ImportServerCatalog
1814// API call, and error handling.
1815//
1816// This method is useful when you want to inject custom logic or configuration
1817// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1818//
1819//
1820//    // Example sending a request using the ImportServerCatalogRequest method.
1821//    req, resp := client.ImportServerCatalogRequest(params)
1822//
1823//    err := req.Send()
1824//    if err == nil { // resp is now filled
1825//        fmt.Println(resp)
1826//    }
1827//
1828// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/ImportServerCatalog
1829func (c *SMS) ImportServerCatalogRequest(input *ImportServerCatalogInput) (req *request.Request, output *ImportServerCatalogOutput) {
1830	op := &request.Operation{
1831		Name:       opImportServerCatalog,
1832		HTTPMethod: "POST",
1833		HTTPPath:   "/",
1834	}
1835
1836	if input == nil {
1837		input = &ImportServerCatalogInput{}
1838	}
1839
1840	output = &ImportServerCatalogOutput{}
1841	req = c.newRequest(op, input, output)
1842	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1843	return
1844}
1845
1846// ImportServerCatalog API operation for AWS Server Migration Service.
1847//
1848// Gathers a complete list of on-premises servers. Connectors must be installed
1849// and monitoring all servers that you want to import.
1850//
1851// This call returns immediately, but might take additional time to retrieve
1852// all the servers.
1853//
1854// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1855// with awserr.Error's Code and Message methods to get detailed information about
1856// the error.
1857//
1858// See the AWS API reference guide for AWS Server Migration Service's
1859// API operation ImportServerCatalog for usage and error information.
1860//
1861// Returned Error Codes:
1862//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
1863//   You lack permissions needed to perform this operation. Check your IAM policies,
1864//   and ensure that you are using the correct access keys.
1865//
1866//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
1867//   This operation is not allowed.
1868//
1869//   * ErrCodeInvalidParameterException "InvalidParameterException"
1870//   A specified parameter is not valid.
1871//
1872//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
1873//   A required parameter is missing.
1874//
1875//   * ErrCodeNoConnectorsAvailableException "NoConnectorsAvailableException"
1876//   There are no connectors available.
1877//
1878// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/ImportServerCatalog
1879func (c *SMS) ImportServerCatalog(input *ImportServerCatalogInput) (*ImportServerCatalogOutput, error) {
1880	req, out := c.ImportServerCatalogRequest(input)
1881	return out, req.Send()
1882}
1883
1884// ImportServerCatalogWithContext is the same as ImportServerCatalog with the addition of
1885// the ability to pass a context and additional request options.
1886//
1887// See ImportServerCatalog for details on how to use this API operation.
1888//
1889// The context must be non-nil and will be used for request cancellation. If
1890// the context is nil a panic will occur. In the future the SDK may create
1891// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1892// for more information on using Contexts.
1893func (c *SMS) ImportServerCatalogWithContext(ctx aws.Context, input *ImportServerCatalogInput, opts ...request.Option) (*ImportServerCatalogOutput, error) {
1894	req, out := c.ImportServerCatalogRequest(input)
1895	req.SetContext(ctx)
1896	req.ApplyOptions(opts...)
1897	return out, req.Send()
1898}
1899
1900const opLaunchApp = "LaunchApp"
1901
1902// LaunchAppRequest generates a "aws/request.Request" representing the
1903// client's request for the LaunchApp operation. The "output" return
1904// value will be populated with the request's response once the request completes
1905// successfully.
1906//
1907// Use "Send" method on the returned Request to send the API call to the service.
1908// the "output" return value is not valid until after Send returns without error.
1909//
1910// See LaunchApp for more information on using the LaunchApp
1911// API call, and error handling.
1912//
1913// This method is useful when you want to inject custom logic or configuration
1914// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1915//
1916//
1917//    // Example sending a request using the LaunchAppRequest method.
1918//    req, resp := client.LaunchAppRequest(params)
1919//
1920//    err := req.Send()
1921//    if err == nil { // resp is now filled
1922//        fmt.Println(resp)
1923//    }
1924//
1925// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/LaunchApp
1926func (c *SMS) LaunchAppRequest(input *LaunchAppInput) (req *request.Request, output *LaunchAppOutput) {
1927	op := &request.Operation{
1928		Name:       opLaunchApp,
1929		HTTPMethod: "POST",
1930		HTTPPath:   "/",
1931	}
1932
1933	if input == nil {
1934		input = &LaunchAppInput{}
1935	}
1936
1937	output = &LaunchAppOutput{}
1938	req = c.newRequest(op, input, output)
1939	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1940	return
1941}
1942
1943// LaunchApp API operation for AWS Server Migration Service.
1944//
1945// Launches an application stack.
1946//
1947// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1948// with awserr.Error's Code and Message methods to get detailed information about
1949// the error.
1950//
1951// See the AWS API reference guide for AWS Server Migration Service's
1952// API operation LaunchApp for usage and error information.
1953//
1954// Returned Error Codes:
1955//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
1956//   You lack permissions needed to perform this operation. Check your IAM policies,
1957//   and ensure that you are using the correct access keys.
1958//
1959//   * ErrCodeInvalidParameterException "InvalidParameterException"
1960//   A specified parameter is not valid.
1961//
1962//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
1963//   A required parameter is missing.
1964//
1965//   * ErrCodeInternalError "InternalError"
1966//   An internal error occurred.
1967//
1968//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
1969//   This operation is not allowed.
1970//
1971// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/LaunchApp
1972func (c *SMS) LaunchApp(input *LaunchAppInput) (*LaunchAppOutput, error) {
1973	req, out := c.LaunchAppRequest(input)
1974	return out, req.Send()
1975}
1976
1977// LaunchAppWithContext is the same as LaunchApp with the addition of
1978// the ability to pass a context and additional request options.
1979//
1980// See LaunchApp for details on how to use this API operation.
1981//
1982// The context must be non-nil and will be used for request cancellation. If
1983// the context is nil a panic will occur. In the future the SDK may create
1984// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1985// for more information on using Contexts.
1986func (c *SMS) LaunchAppWithContext(ctx aws.Context, input *LaunchAppInput, opts ...request.Option) (*LaunchAppOutput, error) {
1987	req, out := c.LaunchAppRequest(input)
1988	req.SetContext(ctx)
1989	req.ApplyOptions(opts...)
1990	return out, req.Send()
1991}
1992
1993const opListApps = "ListApps"
1994
1995// ListAppsRequest generates a "aws/request.Request" representing the
1996// client's request for the ListApps operation. The "output" return
1997// value will be populated with the request's response once the request completes
1998// successfully.
1999//
2000// Use "Send" method on the returned Request to send the API call to the service.
2001// the "output" return value is not valid until after Send returns without error.
2002//
2003// See ListApps for more information on using the ListApps
2004// API call, and error handling.
2005//
2006// This method is useful when you want to inject custom logic or configuration
2007// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2008//
2009//
2010//    // Example sending a request using the ListAppsRequest method.
2011//    req, resp := client.ListAppsRequest(params)
2012//
2013//    err := req.Send()
2014//    if err == nil { // resp is now filled
2015//        fmt.Println(resp)
2016//    }
2017//
2018// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/ListApps
2019func (c *SMS) ListAppsRequest(input *ListAppsInput) (req *request.Request, output *ListAppsOutput) {
2020	op := &request.Operation{
2021		Name:       opListApps,
2022		HTTPMethod: "POST",
2023		HTTPPath:   "/",
2024	}
2025
2026	if input == nil {
2027		input = &ListAppsInput{}
2028	}
2029
2030	output = &ListAppsOutput{}
2031	req = c.newRequest(op, input, output)
2032	return
2033}
2034
2035// ListApps API operation for AWS Server Migration Service.
2036//
2037// Returns a list of summaries for all applications.
2038//
2039// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2040// with awserr.Error's Code and Message methods to get detailed information about
2041// the error.
2042//
2043// See the AWS API reference guide for AWS Server Migration Service's
2044// API operation ListApps for usage and error information.
2045//
2046// Returned Error Codes:
2047//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
2048//   You lack permissions needed to perform this operation. Check your IAM policies,
2049//   and ensure that you are using the correct access keys.
2050//
2051//   * ErrCodeInvalidParameterException "InvalidParameterException"
2052//   A specified parameter is not valid.
2053//
2054//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
2055//   A required parameter is missing.
2056//
2057//   * ErrCodeInternalError "InternalError"
2058//   An internal error occurred.
2059//
2060//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
2061//   This operation is not allowed.
2062//
2063// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/ListApps
2064func (c *SMS) ListApps(input *ListAppsInput) (*ListAppsOutput, error) {
2065	req, out := c.ListAppsRequest(input)
2066	return out, req.Send()
2067}
2068
2069// ListAppsWithContext is the same as ListApps with the addition of
2070// the ability to pass a context and additional request options.
2071//
2072// See ListApps for details on how to use this API operation.
2073//
2074// The context must be non-nil and will be used for request cancellation. If
2075// the context is nil a panic will occur. In the future the SDK may create
2076// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2077// for more information on using Contexts.
2078func (c *SMS) ListAppsWithContext(ctx aws.Context, input *ListAppsInput, opts ...request.Option) (*ListAppsOutput, error) {
2079	req, out := c.ListAppsRequest(input)
2080	req.SetContext(ctx)
2081	req.ApplyOptions(opts...)
2082	return out, req.Send()
2083}
2084
2085const opPutAppLaunchConfiguration = "PutAppLaunchConfiguration"
2086
2087// PutAppLaunchConfigurationRequest generates a "aws/request.Request" representing the
2088// client's request for the PutAppLaunchConfiguration operation. The "output" return
2089// value will be populated with the request's response once the request completes
2090// successfully.
2091//
2092// Use "Send" method on the returned Request to send the API call to the service.
2093// the "output" return value is not valid until after Send returns without error.
2094//
2095// See PutAppLaunchConfiguration for more information on using the PutAppLaunchConfiguration
2096// API call, and error handling.
2097//
2098// This method is useful when you want to inject custom logic or configuration
2099// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2100//
2101//
2102//    // Example sending a request using the PutAppLaunchConfigurationRequest method.
2103//    req, resp := client.PutAppLaunchConfigurationRequest(params)
2104//
2105//    err := req.Send()
2106//    if err == nil { // resp is now filled
2107//        fmt.Println(resp)
2108//    }
2109//
2110// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/PutAppLaunchConfiguration
2111func (c *SMS) PutAppLaunchConfigurationRequest(input *PutAppLaunchConfigurationInput) (req *request.Request, output *PutAppLaunchConfigurationOutput) {
2112	op := &request.Operation{
2113		Name:       opPutAppLaunchConfiguration,
2114		HTTPMethod: "POST",
2115		HTTPPath:   "/",
2116	}
2117
2118	if input == nil {
2119		input = &PutAppLaunchConfigurationInput{}
2120	}
2121
2122	output = &PutAppLaunchConfigurationOutput{}
2123	req = c.newRequest(op, input, output)
2124	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2125	return
2126}
2127
2128// PutAppLaunchConfiguration API operation for AWS Server Migration Service.
2129//
2130// Creates a launch configuration for an application.
2131//
2132// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2133// with awserr.Error's Code and Message methods to get detailed information about
2134// the error.
2135//
2136// See the AWS API reference guide for AWS Server Migration Service's
2137// API operation PutAppLaunchConfiguration for usage and error information.
2138//
2139// Returned Error Codes:
2140//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
2141//   You lack permissions needed to perform this operation. Check your IAM policies,
2142//   and ensure that you are using the correct access keys.
2143//
2144//   * ErrCodeInvalidParameterException "InvalidParameterException"
2145//   A specified parameter is not valid.
2146//
2147//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
2148//   A required parameter is missing.
2149//
2150//   * ErrCodeInternalError "InternalError"
2151//   An internal error occurred.
2152//
2153//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
2154//   This operation is not allowed.
2155//
2156// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/PutAppLaunchConfiguration
2157func (c *SMS) PutAppLaunchConfiguration(input *PutAppLaunchConfigurationInput) (*PutAppLaunchConfigurationOutput, error) {
2158	req, out := c.PutAppLaunchConfigurationRequest(input)
2159	return out, req.Send()
2160}
2161
2162// PutAppLaunchConfigurationWithContext is the same as PutAppLaunchConfiguration with the addition of
2163// the ability to pass a context and additional request options.
2164//
2165// See PutAppLaunchConfiguration for details on how to use this API operation.
2166//
2167// The context must be non-nil and will be used for request cancellation. If
2168// the context is nil a panic will occur. In the future the SDK may create
2169// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2170// for more information on using Contexts.
2171func (c *SMS) PutAppLaunchConfigurationWithContext(ctx aws.Context, input *PutAppLaunchConfigurationInput, opts ...request.Option) (*PutAppLaunchConfigurationOutput, error) {
2172	req, out := c.PutAppLaunchConfigurationRequest(input)
2173	req.SetContext(ctx)
2174	req.ApplyOptions(opts...)
2175	return out, req.Send()
2176}
2177
2178const opPutAppReplicationConfiguration = "PutAppReplicationConfiguration"
2179
2180// PutAppReplicationConfigurationRequest generates a "aws/request.Request" representing the
2181// client's request for the PutAppReplicationConfiguration operation. The "output" return
2182// value will be populated with the request's response once the request completes
2183// successfully.
2184//
2185// Use "Send" method on the returned Request to send the API call to the service.
2186// the "output" return value is not valid until after Send returns without error.
2187//
2188// See PutAppReplicationConfiguration for more information on using the PutAppReplicationConfiguration
2189// API call, and error handling.
2190//
2191// This method is useful when you want to inject custom logic or configuration
2192// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2193//
2194//
2195//    // Example sending a request using the PutAppReplicationConfigurationRequest method.
2196//    req, resp := client.PutAppReplicationConfigurationRequest(params)
2197//
2198//    err := req.Send()
2199//    if err == nil { // resp is now filled
2200//        fmt.Println(resp)
2201//    }
2202//
2203// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/PutAppReplicationConfiguration
2204func (c *SMS) PutAppReplicationConfigurationRequest(input *PutAppReplicationConfigurationInput) (req *request.Request, output *PutAppReplicationConfigurationOutput) {
2205	op := &request.Operation{
2206		Name:       opPutAppReplicationConfiguration,
2207		HTTPMethod: "POST",
2208		HTTPPath:   "/",
2209	}
2210
2211	if input == nil {
2212		input = &PutAppReplicationConfigurationInput{}
2213	}
2214
2215	output = &PutAppReplicationConfigurationOutput{}
2216	req = c.newRequest(op, input, output)
2217	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2218	return
2219}
2220
2221// PutAppReplicationConfiguration API operation for AWS Server Migration Service.
2222//
2223// Creates or updates a replication configuration for an application.
2224//
2225// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2226// with awserr.Error's Code and Message methods to get detailed information about
2227// the error.
2228//
2229// See the AWS API reference guide for AWS Server Migration Service's
2230// API operation PutAppReplicationConfiguration for usage and error information.
2231//
2232// Returned Error Codes:
2233//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
2234//   You lack permissions needed to perform this operation. Check your IAM policies,
2235//   and ensure that you are using the correct access keys.
2236//
2237//   * ErrCodeInvalidParameterException "InvalidParameterException"
2238//   A specified parameter is not valid.
2239//
2240//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
2241//   A required parameter is missing.
2242//
2243//   * ErrCodeInternalError "InternalError"
2244//   An internal error occurred.
2245//
2246//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
2247//   This operation is not allowed.
2248//
2249// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/PutAppReplicationConfiguration
2250func (c *SMS) PutAppReplicationConfiguration(input *PutAppReplicationConfigurationInput) (*PutAppReplicationConfigurationOutput, error) {
2251	req, out := c.PutAppReplicationConfigurationRequest(input)
2252	return out, req.Send()
2253}
2254
2255// PutAppReplicationConfigurationWithContext is the same as PutAppReplicationConfiguration with the addition of
2256// the ability to pass a context and additional request options.
2257//
2258// See PutAppReplicationConfiguration for details on how to use this API operation.
2259//
2260// The context must be non-nil and will be used for request cancellation. If
2261// the context is nil a panic will occur. In the future the SDK may create
2262// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2263// for more information on using Contexts.
2264func (c *SMS) PutAppReplicationConfigurationWithContext(ctx aws.Context, input *PutAppReplicationConfigurationInput, opts ...request.Option) (*PutAppReplicationConfigurationOutput, error) {
2265	req, out := c.PutAppReplicationConfigurationRequest(input)
2266	req.SetContext(ctx)
2267	req.ApplyOptions(opts...)
2268	return out, req.Send()
2269}
2270
2271const opStartAppReplication = "StartAppReplication"
2272
2273// StartAppReplicationRequest generates a "aws/request.Request" representing the
2274// client's request for the StartAppReplication operation. The "output" return
2275// value will be populated with the request's response once the request completes
2276// successfully.
2277//
2278// Use "Send" method on the returned Request to send the API call to the service.
2279// the "output" return value is not valid until after Send returns without error.
2280//
2281// See StartAppReplication for more information on using the StartAppReplication
2282// API call, and error handling.
2283//
2284// This method is useful when you want to inject custom logic or configuration
2285// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2286//
2287//
2288//    // Example sending a request using the StartAppReplicationRequest method.
2289//    req, resp := client.StartAppReplicationRequest(params)
2290//
2291//    err := req.Send()
2292//    if err == nil { // resp is now filled
2293//        fmt.Println(resp)
2294//    }
2295//
2296// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/StartAppReplication
2297func (c *SMS) StartAppReplicationRequest(input *StartAppReplicationInput) (req *request.Request, output *StartAppReplicationOutput) {
2298	op := &request.Operation{
2299		Name:       opStartAppReplication,
2300		HTTPMethod: "POST",
2301		HTTPPath:   "/",
2302	}
2303
2304	if input == nil {
2305		input = &StartAppReplicationInput{}
2306	}
2307
2308	output = &StartAppReplicationOutput{}
2309	req = c.newRequest(op, input, output)
2310	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2311	return
2312}
2313
2314// StartAppReplication API operation for AWS Server Migration Service.
2315//
2316// Starts replicating an application.
2317//
2318// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2319// with awserr.Error's Code and Message methods to get detailed information about
2320// the error.
2321//
2322// See the AWS API reference guide for AWS Server Migration Service's
2323// API operation StartAppReplication for usage and error information.
2324//
2325// Returned Error Codes:
2326//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
2327//   You lack permissions needed to perform this operation. Check your IAM policies,
2328//   and ensure that you are using the correct access keys.
2329//
2330//   * ErrCodeInvalidParameterException "InvalidParameterException"
2331//   A specified parameter is not valid.
2332//
2333//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
2334//   A required parameter is missing.
2335//
2336//   * ErrCodeInternalError "InternalError"
2337//   An internal error occurred.
2338//
2339//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
2340//   This operation is not allowed.
2341//
2342// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/StartAppReplication
2343func (c *SMS) StartAppReplication(input *StartAppReplicationInput) (*StartAppReplicationOutput, error) {
2344	req, out := c.StartAppReplicationRequest(input)
2345	return out, req.Send()
2346}
2347
2348// StartAppReplicationWithContext is the same as StartAppReplication with the addition of
2349// the ability to pass a context and additional request options.
2350//
2351// See StartAppReplication for details on how to use this API operation.
2352//
2353// The context must be non-nil and will be used for request cancellation. If
2354// the context is nil a panic will occur. In the future the SDK may create
2355// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2356// for more information on using Contexts.
2357func (c *SMS) StartAppReplicationWithContext(ctx aws.Context, input *StartAppReplicationInput, opts ...request.Option) (*StartAppReplicationOutput, error) {
2358	req, out := c.StartAppReplicationRequest(input)
2359	req.SetContext(ctx)
2360	req.ApplyOptions(opts...)
2361	return out, req.Send()
2362}
2363
2364const opStartOnDemandReplicationRun = "StartOnDemandReplicationRun"
2365
2366// StartOnDemandReplicationRunRequest generates a "aws/request.Request" representing the
2367// client's request for the StartOnDemandReplicationRun operation. The "output" return
2368// value will be populated with the request's response once the request completes
2369// successfully.
2370//
2371// Use "Send" method on the returned Request to send the API call to the service.
2372// the "output" return value is not valid until after Send returns without error.
2373//
2374// See StartOnDemandReplicationRun for more information on using the StartOnDemandReplicationRun
2375// API call, and error handling.
2376//
2377// This method is useful when you want to inject custom logic or configuration
2378// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2379//
2380//
2381//    // Example sending a request using the StartOnDemandReplicationRunRequest method.
2382//    req, resp := client.StartOnDemandReplicationRunRequest(params)
2383//
2384//    err := req.Send()
2385//    if err == nil { // resp is now filled
2386//        fmt.Println(resp)
2387//    }
2388//
2389// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/StartOnDemandReplicationRun
2390func (c *SMS) StartOnDemandReplicationRunRequest(input *StartOnDemandReplicationRunInput) (req *request.Request, output *StartOnDemandReplicationRunOutput) {
2391	op := &request.Operation{
2392		Name:       opStartOnDemandReplicationRun,
2393		HTTPMethod: "POST",
2394		HTTPPath:   "/",
2395	}
2396
2397	if input == nil {
2398		input = &StartOnDemandReplicationRunInput{}
2399	}
2400
2401	output = &StartOnDemandReplicationRunOutput{}
2402	req = c.newRequest(op, input, output)
2403	return
2404}
2405
2406// StartOnDemandReplicationRun API operation for AWS Server Migration Service.
2407//
2408// Starts an on-demand replication run for the specified replication job. This
2409// replication run starts immediately. This replication run is in addition to
2410// the ones already scheduled.
2411//
2412// There is a limit on the number of on-demand replications runs you can request
2413// in a 24-hour period.
2414//
2415// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2416// with awserr.Error's Code and Message methods to get detailed information about
2417// the error.
2418//
2419// See the AWS API reference guide for AWS Server Migration Service's
2420// API operation StartOnDemandReplicationRun for usage and error information.
2421//
2422// Returned Error Codes:
2423//   * ErrCodeInvalidParameterException "InvalidParameterException"
2424//   A specified parameter is not valid.
2425//
2426//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
2427//   A required parameter is missing.
2428//
2429//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
2430//   You lack permissions needed to perform this operation. Check your IAM policies,
2431//   and ensure that you are using the correct access keys.
2432//
2433//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
2434//   This operation is not allowed.
2435//
2436//   * ErrCodeReplicationRunLimitExceededException "ReplicationRunLimitExceededException"
2437//   You have exceeded the number of on-demand replication runs you can request
2438//   in a 24-hour period.
2439//
2440// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/StartOnDemandReplicationRun
2441func (c *SMS) StartOnDemandReplicationRun(input *StartOnDemandReplicationRunInput) (*StartOnDemandReplicationRunOutput, error) {
2442	req, out := c.StartOnDemandReplicationRunRequest(input)
2443	return out, req.Send()
2444}
2445
2446// StartOnDemandReplicationRunWithContext is the same as StartOnDemandReplicationRun with the addition of
2447// the ability to pass a context and additional request options.
2448//
2449// See StartOnDemandReplicationRun for details on how to use this API operation.
2450//
2451// The context must be non-nil and will be used for request cancellation. If
2452// the context is nil a panic will occur. In the future the SDK may create
2453// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2454// for more information on using Contexts.
2455func (c *SMS) StartOnDemandReplicationRunWithContext(ctx aws.Context, input *StartOnDemandReplicationRunInput, opts ...request.Option) (*StartOnDemandReplicationRunOutput, error) {
2456	req, out := c.StartOnDemandReplicationRunRequest(input)
2457	req.SetContext(ctx)
2458	req.ApplyOptions(opts...)
2459	return out, req.Send()
2460}
2461
2462const opStopAppReplication = "StopAppReplication"
2463
2464// StopAppReplicationRequest generates a "aws/request.Request" representing the
2465// client's request for the StopAppReplication operation. The "output" return
2466// value will be populated with the request's response once the request completes
2467// successfully.
2468//
2469// Use "Send" method on the returned Request to send the API call to the service.
2470// the "output" return value is not valid until after Send returns without error.
2471//
2472// See StopAppReplication for more information on using the StopAppReplication
2473// API call, and error handling.
2474//
2475// This method is useful when you want to inject custom logic or configuration
2476// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2477//
2478//
2479//    // Example sending a request using the StopAppReplicationRequest method.
2480//    req, resp := client.StopAppReplicationRequest(params)
2481//
2482//    err := req.Send()
2483//    if err == nil { // resp is now filled
2484//        fmt.Println(resp)
2485//    }
2486//
2487// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/StopAppReplication
2488func (c *SMS) StopAppReplicationRequest(input *StopAppReplicationInput) (req *request.Request, output *StopAppReplicationOutput) {
2489	op := &request.Operation{
2490		Name:       opStopAppReplication,
2491		HTTPMethod: "POST",
2492		HTTPPath:   "/",
2493	}
2494
2495	if input == nil {
2496		input = &StopAppReplicationInput{}
2497	}
2498
2499	output = &StopAppReplicationOutput{}
2500	req = c.newRequest(op, input, output)
2501	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2502	return
2503}
2504
2505// StopAppReplication API operation for AWS Server Migration Service.
2506//
2507// Stops replicating an application.
2508//
2509// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2510// with awserr.Error's Code and Message methods to get detailed information about
2511// the error.
2512//
2513// See the AWS API reference guide for AWS Server Migration Service's
2514// API operation StopAppReplication for usage and error information.
2515//
2516// Returned Error Codes:
2517//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
2518//   You lack permissions needed to perform this operation. Check your IAM policies,
2519//   and ensure that you are using the correct access keys.
2520//
2521//   * ErrCodeInvalidParameterException "InvalidParameterException"
2522//   A specified parameter is not valid.
2523//
2524//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
2525//   A required parameter is missing.
2526//
2527//   * ErrCodeInternalError "InternalError"
2528//   An internal error occurred.
2529//
2530//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
2531//   This operation is not allowed.
2532//
2533// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/StopAppReplication
2534func (c *SMS) StopAppReplication(input *StopAppReplicationInput) (*StopAppReplicationOutput, error) {
2535	req, out := c.StopAppReplicationRequest(input)
2536	return out, req.Send()
2537}
2538
2539// StopAppReplicationWithContext is the same as StopAppReplication with the addition of
2540// the ability to pass a context and additional request options.
2541//
2542// See StopAppReplication for details on how to use this API operation.
2543//
2544// The context must be non-nil and will be used for request cancellation. If
2545// the context is nil a panic will occur. In the future the SDK may create
2546// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2547// for more information on using Contexts.
2548func (c *SMS) StopAppReplicationWithContext(ctx aws.Context, input *StopAppReplicationInput, opts ...request.Option) (*StopAppReplicationOutput, error) {
2549	req, out := c.StopAppReplicationRequest(input)
2550	req.SetContext(ctx)
2551	req.ApplyOptions(opts...)
2552	return out, req.Send()
2553}
2554
2555const opTerminateApp = "TerminateApp"
2556
2557// TerminateAppRequest generates a "aws/request.Request" representing the
2558// client's request for the TerminateApp operation. The "output" return
2559// value will be populated with the request's response once the request completes
2560// successfully.
2561//
2562// Use "Send" method on the returned Request to send the API call to the service.
2563// the "output" return value is not valid until after Send returns without error.
2564//
2565// See TerminateApp for more information on using the TerminateApp
2566// API call, and error handling.
2567//
2568// This method is useful when you want to inject custom logic or configuration
2569// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2570//
2571//
2572//    // Example sending a request using the TerminateAppRequest method.
2573//    req, resp := client.TerminateAppRequest(params)
2574//
2575//    err := req.Send()
2576//    if err == nil { // resp is now filled
2577//        fmt.Println(resp)
2578//    }
2579//
2580// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/TerminateApp
2581func (c *SMS) TerminateAppRequest(input *TerminateAppInput) (req *request.Request, output *TerminateAppOutput) {
2582	op := &request.Operation{
2583		Name:       opTerminateApp,
2584		HTTPMethod: "POST",
2585		HTTPPath:   "/",
2586	}
2587
2588	if input == nil {
2589		input = &TerminateAppInput{}
2590	}
2591
2592	output = &TerminateAppOutput{}
2593	req = c.newRequest(op, input, output)
2594	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2595	return
2596}
2597
2598// TerminateApp API operation for AWS Server Migration Service.
2599//
2600// Terminates the stack for an application.
2601//
2602// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2603// with awserr.Error's Code and Message methods to get detailed information about
2604// the error.
2605//
2606// See the AWS API reference guide for AWS Server Migration Service's
2607// API operation TerminateApp for usage and error information.
2608//
2609// Returned Error Codes:
2610//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
2611//   You lack permissions needed to perform this operation. Check your IAM policies,
2612//   and ensure that you are using the correct access keys.
2613//
2614//   * ErrCodeInvalidParameterException "InvalidParameterException"
2615//   A specified parameter is not valid.
2616//
2617//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
2618//   A required parameter is missing.
2619//
2620//   * ErrCodeInternalError "InternalError"
2621//   An internal error occurred.
2622//
2623//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
2624//   This operation is not allowed.
2625//
2626// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/TerminateApp
2627func (c *SMS) TerminateApp(input *TerminateAppInput) (*TerminateAppOutput, error) {
2628	req, out := c.TerminateAppRequest(input)
2629	return out, req.Send()
2630}
2631
2632// TerminateAppWithContext is the same as TerminateApp with the addition of
2633// the ability to pass a context and additional request options.
2634//
2635// See TerminateApp for details on how to use this API operation.
2636//
2637// The context must be non-nil and will be used for request cancellation. If
2638// the context is nil a panic will occur. In the future the SDK may create
2639// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2640// for more information on using Contexts.
2641func (c *SMS) TerminateAppWithContext(ctx aws.Context, input *TerminateAppInput, opts ...request.Option) (*TerminateAppOutput, error) {
2642	req, out := c.TerminateAppRequest(input)
2643	req.SetContext(ctx)
2644	req.ApplyOptions(opts...)
2645	return out, req.Send()
2646}
2647
2648const opUpdateApp = "UpdateApp"
2649
2650// UpdateAppRequest generates a "aws/request.Request" representing the
2651// client's request for the UpdateApp operation. The "output" return
2652// value will be populated with the request's response once the request completes
2653// successfully.
2654//
2655// Use "Send" method on the returned Request to send the API call to the service.
2656// the "output" return value is not valid until after Send returns without error.
2657//
2658// See UpdateApp for more information on using the UpdateApp
2659// API call, and error handling.
2660//
2661// This method is useful when you want to inject custom logic or configuration
2662// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2663//
2664//
2665//    // Example sending a request using the UpdateAppRequest method.
2666//    req, resp := client.UpdateAppRequest(params)
2667//
2668//    err := req.Send()
2669//    if err == nil { // resp is now filled
2670//        fmt.Println(resp)
2671//    }
2672//
2673// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/UpdateApp
2674func (c *SMS) UpdateAppRequest(input *UpdateAppInput) (req *request.Request, output *UpdateAppOutput) {
2675	op := &request.Operation{
2676		Name:       opUpdateApp,
2677		HTTPMethod: "POST",
2678		HTTPPath:   "/",
2679	}
2680
2681	if input == nil {
2682		input = &UpdateAppInput{}
2683	}
2684
2685	output = &UpdateAppOutput{}
2686	req = c.newRequest(op, input, output)
2687	return
2688}
2689
2690// UpdateApp API operation for AWS Server Migration Service.
2691//
2692// Updates an application.
2693//
2694// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2695// with awserr.Error's Code and Message methods to get detailed information about
2696// the error.
2697//
2698// See the AWS API reference guide for AWS Server Migration Service's
2699// API operation UpdateApp for usage and error information.
2700//
2701// Returned Error Codes:
2702//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
2703//   You lack permissions needed to perform this operation. Check your IAM policies,
2704//   and ensure that you are using the correct access keys.
2705//
2706//   * ErrCodeInvalidParameterException "InvalidParameterException"
2707//   A specified parameter is not valid.
2708//
2709//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
2710//   A required parameter is missing.
2711//
2712//   * ErrCodeInternalError "InternalError"
2713//   An internal error occurred.
2714//
2715//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
2716//   This operation is not allowed.
2717//
2718// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/UpdateApp
2719func (c *SMS) UpdateApp(input *UpdateAppInput) (*UpdateAppOutput, error) {
2720	req, out := c.UpdateAppRequest(input)
2721	return out, req.Send()
2722}
2723
2724// UpdateAppWithContext is the same as UpdateApp with the addition of
2725// the ability to pass a context and additional request options.
2726//
2727// See UpdateApp for details on how to use this API operation.
2728//
2729// The context must be non-nil and will be used for request cancellation. If
2730// the context is nil a panic will occur. In the future the SDK may create
2731// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2732// for more information on using Contexts.
2733func (c *SMS) UpdateAppWithContext(ctx aws.Context, input *UpdateAppInput, opts ...request.Option) (*UpdateAppOutput, error) {
2734	req, out := c.UpdateAppRequest(input)
2735	req.SetContext(ctx)
2736	req.ApplyOptions(opts...)
2737	return out, req.Send()
2738}
2739
2740const opUpdateReplicationJob = "UpdateReplicationJob"
2741
2742// UpdateReplicationJobRequest generates a "aws/request.Request" representing the
2743// client's request for the UpdateReplicationJob operation. The "output" return
2744// value will be populated with the request's response once the request completes
2745// successfully.
2746//
2747// Use "Send" method on the returned Request to send the API call to the service.
2748// the "output" return value is not valid until after Send returns without error.
2749//
2750// See UpdateReplicationJob for more information on using the UpdateReplicationJob
2751// API call, and error handling.
2752//
2753// This method is useful when you want to inject custom logic or configuration
2754// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2755//
2756//
2757//    // Example sending a request using the UpdateReplicationJobRequest method.
2758//    req, resp := client.UpdateReplicationJobRequest(params)
2759//
2760//    err := req.Send()
2761//    if err == nil { // resp is now filled
2762//        fmt.Println(resp)
2763//    }
2764//
2765// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/UpdateReplicationJob
2766func (c *SMS) UpdateReplicationJobRequest(input *UpdateReplicationJobInput) (req *request.Request, output *UpdateReplicationJobOutput) {
2767	op := &request.Operation{
2768		Name:       opUpdateReplicationJob,
2769		HTTPMethod: "POST",
2770		HTTPPath:   "/",
2771	}
2772
2773	if input == nil {
2774		input = &UpdateReplicationJobInput{}
2775	}
2776
2777	output = &UpdateReplicationJobOutput{}
2778	req = c.newRequest(op, input, output)
2779	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2780	return
2781}
2782
2783// UpdateReplicationJob API operation for AWS Server Migration Service.
2784//
2785// Updates the specified settings for the specified replication job.
2786//
2787// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2788// with awserr.Error's Code and Message methods to get detailed information about
2789// the error.
2790//
2791// See the AWS API reference guide for AWS Server Migration Service's
2792// API operation UpdateReplicationJob for usage and error information.
2793//
2794// Returned Error Codes:
2795//   * ErrCodeInvalidParameterException "InvalidParameterException"
2796//   A specified parameter is not valid.
2797//
2798//   * ErrCodeMissingRequiredParameterException "MissingRequiredParameterException"
2799//   A required parameter is missing.
2800//
2801//   * ErrCodeOperationNotPermittedException "OperationNotPermittedException"
2802//   This operation is not allowed.
2803//
2804//   * ErrCodeUnauthorizedOperationException "UnauthorizedOperationException"
2805//   You lack permissions needed to perform this operation. Check your IAM policies,
2806//   and ensure that you are using the correct access keys.
2807//
2808//   * ErrCodeServerCannotBeReplicatedException "ServerCannotBeReplicatedException"
2809//   The specified server cannot be replicated.
2810//
2811//   * ErrCodeReplicationJobNotFoundException "ReplicationJobNotFoundException"
2812//   The specified replication job does not exist.
2813//
2814//   * ErrCodeInternalError "InternalError"
2815//   An internal error occurred.
2816//
2817//   * ErrCodeTemporarilyUnavailableException "TemporarilyUnavailableException"
2818//   The service is temporarily unavailable.
2819//
2820// See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/UpdateReplicationJob
2821func (c *SMS) UpdateReplicationJob(input *UpdateReplicationJobInput) (*UpdateReplicationJobOutput, error) {
2822	req, out := c.UpdateReplicationJobRequest(input)
2823	return out, req.Send()
2824}
2825
2826// UpdateReplicationJobWithContext is the same as UpdateReplicationJob with the addition of
2827// the ability to pass a context and additional request options.
2828//
2829// See UpdateReplicationJob for details on how to use this API operation.
2830//
2831// The context must be non-nil and will be used for request cancellation. If
2832// the context is nil a panic will occur. In the future the SDK may create
2833// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2834// for more information on using Contexts.
2835func (c *SMS) UpdateReplicationJobWithContext(ctx aws.Context, input *UpdateReplicationJobInput, opts ...request.Option) (*UpdateReplicationJobOutput, error) {
2836	req, out := c.UpdateReplicationJobRequest(input)
2837	req.SetContext(ctx)
2838	req.ApplyOptions(opts...)
2839	return out, req.Send()
2840}
2841
2842// Information about the application.
2843type AppSummary struct {
2844	_ struct{} `type:"structure"`
2845
2846	// Unique ID of the application.
2847	AppId *string `locationName:"appId" type:"string"`
2848
2849	// Time of creation of this application.
2850	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
2851
2852	// Description of the application.
2853	Description *string `locationName:"description" type:"string"`
2854
2855	// Timestamp of the application's creation.
2856	LastModified *time.Time `locationName:"lastModified" type:"timestamp"`
2857
2858	// Timestamp of the application's most recent successful replication.
2859	LatestReplicationTime *time.Time `locationName:"latestReplicationTime" type:"timestamp"`
2860
2861	// Details about the latest launch of the application.
2862	LaunchDetails *LaunchDetails `locationName:"launchDetails" type:"structure"`
2863
2864	// Launch status of the application.
2865	LaunchStatus *string `locationName:"launchStatus" type:"string" enum:"AppLaunchStatus"`
2866
2867	// A message related to the launch status of the application.
2868	LaunchStatusMessage *string `locationName:"launchStatusMessage" type:"string"`
2869
2870	// Name of the application.
2871	Name *string `locationName:"name" type:"string"`
2872
2873	// Replication status of the application.
2874	ReplicationStatus *string `locationName:"replicationStatus" type:"string" enum:"AppReplicationStatus"`
2875
2876	// A message related to the replication status of the application.
2877	ReplicationStatusMessage *string `locationName:"replicationStatusMessage" type:"string"`
2878
2879	// Name of the service role in the customer's account used by AWS SMS.
2880	RoleName *string `locationName:"roleName" type:"string"`
2881
2882	// Status of the application.
2883	Status *string `locationName:"status" type:"string" enum:"AppStatus"`
2884
2885	// A message related to the status of the application
2886	StatusMessage *string `locationName:"statusMessage" type:"string"`
2887
2888	// Number of server groups present in the application.
2889	TotalServerGroups *int64 `locationName:"totalServerGroups" type:"integer"`
2890
2891	// Number of servers present in the application.
2892	TotalServers *int64 `locationName:"totalServers" type:"integer"`
2893}
2894
2895// String returns the string representation
2896func (s AppSummary) String() string {
2897	return awsutil.Prettify(s)
2898}
2899
2900// GoString returns the string representation
2901func (s AppSummary) GoString() string {
2902	return s.String()
2903}
2904
2905// SetAppId sets the AppId field's value.
2906func (s *AppSummary) SetAppId(v string) *AppSummary {
2907	s.AppId = &v
2908	return s
2909}
2910
2911// SetCreationTime sets the CreationTime field's value.
2912func (s *AppSummary) SetCreationTime(v time.Time) *AppSummary {
2913	s.CreationTime = &v
2914	return s
2915}
2916
2917// SetDescription sets the Description field's value.
2918func (s *AppSummary) SetDescription(v string) *AppSummary {
2919	s.Description = &v
2920	return s
2921}
2922
2923// SetLastModified sets the LastModified field's value.
2924func (s *AppSummary) SetLastModified(v time.Time) *AppSummary {
2925	s.LastModified = &v
2926	return s
2927}
2928
2929// SetLatestReplicationTime sets the LatestReplicationTime field's value.
2930func (s *AppSummary) SetLatestReplicationTime(v time.Time) *AppSummary {
2931	s.LatestReplicationTime = &v
2932	return s
2933}
2934
2935// SetLaunchDetails sets the LaunchDetails field's value.
2936func (s *AppSummary) SetLaunchDetails(v *LaunchDetails) *AppSummary {
2937	s.LaunchDetails = v
2938	return s
2939}
2940
2941// SetLaunchStatus sets the LaunchStatus field's value.
2942func (s *AppSummary) SetLaunchStatus(v string) *AppSummary {
2943	s.LaunchStatus = &v
2944	return s
2945}
2946
2947// SetLaunchStatusMessage sets the LaunchStatusMessage field's value.
2948func (s *AppSummary) SetLaunchStatusMessage(v string) *AppSummary {
2949	s.LaunchStatusMessage = &v
2950	return s
2951}
2952
2953// SetName sets the Name field's value.
2954func (s *AppSummary) SetName(v string) *AppSummary {
2955	s.Name = &v
2956	return s
2957}
2958
2959// SetReplicationStatus sets the ReplicationStatus field's value.
2960func (s *AppSummary) SetReplicationStatus(v string) *AppSummary {
2961	s.ReplicationStatus = &v
2962	return s
2963}
2964
2965// SetReplicationStatusMessage sets the ReplicationStatusMessage field's value.
2966func (s *AppSummary) SetReplicationStatusMessage(v string) *AppSummary {
2967	s.ReplicationStatusMessage = &v
2968	return s
2969}
2970
2971// SetRoleName sets the RoleName field's value.
2972func (s *AppSummary) SetRoleName(v string) *AppSummary {
2973	s.RoleName = &v
2974	return s
2975}
2976
2977// SetStatus sets the Status field's value.
2978func (s *AppSummary) SetStatus(v string) *AppSummary {
2979	s.Status = &v
2980	return s
2981}
2982
2983// SetStatusMessage sets the StatusMessage field's value.
2984func (s *AppSummary) SetStatusMessage(v string) *AppSummary {
2985	s.StatusMessage = &v
2986	return s
2987}
2988
2989// SetTotalServerGroups sets the TotalServerGroups field's value.
2990func (s *AppSummary) SetTotalServerGroups(v int64) *AppSummary {
2991	s.TotalServerGroups = &v
2992	return s
2993}
2994
2995// SetTotalServers sets the TotalServers field's value.
2996func (s *AppSummary) SetTotalServers(v int64) *AppSummary {
2997	s.TotalServers = &v
2998	return s
2999}
3000
3001// Represents a connector.
3002type Connector struct {
3003	_ struct{} `type:"structure"`
3004
3005	// The time the connector was associated.
3006	AssociatedOn *time.Time `locationName:"associatedOn" type:"timestamp"`
3007
3008	// The capabilities of the connector.
3009	CapabilityList []*string `locationName:"capabilityList" type:"list"`
3010
3011	// The identifier of the connector.
3012	ConnectorId *string `locationName:"connectorId" type:"string"`
3013
3014	// The IP address of the connector.
3015	IpAddress *string `locationName:"ipAddress" type:"string"`
3016
3017	// The MAC address of the connector.
3018	MacAddress *string `locationName:"macAddress" type:"string"`
3019
3020	// The status of the connector.
3021	Status *string `locationName:"status" type:"string" enum:"ConnectorStatus"`
3022
3023	// The connector version.
3024	Version *string `locationName:"version" type:"string"`
3025
3026	// The identifier of the VM manager.
3027	VmManagerId *string `locationName:"vmManagerId" type:"string"`
3028
3029	// The name of the VM manager.
3030	VmManagerName *string `locationName:"vmManagerName" type:"string"`
3031
3032	// The VM management product.
3033	VmManagerType *string `locationName:"vmManagerType" type:"string" enum:"VmManagerType"`
3034}
3035
3036// String returns the string representation
3037func (s Connector) String() string {
3038	return awsutil.Prettify(s)
3039}
3040
3041// GoString returns the string representation
3042func (s Connector) GoString() string {
3043	return s.String()
3044}
3045
3046// SetAssociatedOn sets the AssociatedOn field's value.
3047func (s *Connector) SetAssociatedOn(v time.Time) *Connector {
3048	s.AssociatedOn = &v
3049	return s
3050}
3051
3052// SetCapabilityList sets the CapabilityList field's value.
3053func (s *Connector) SetCapabilityList(v []*string) *Connector {
3054	s.CapabilityList = v
3055	return s
3056}
3057
3058// SetConnectorId sets the ConnectorId field's value.
3059func (s *Connector) SetConnectorId(v string) *Connector {
3060	s.ConnectorId = &v
3061	return s
3062}
3063
3064// SetIpAddress sets the IpAddress field's value.
3065func (s *Connector) SetIpAddress(v string) *Connector {
3066	s.IpAddress = &v
3067	return s
3068}
3069
3070// SetMacAddress sets the MacAddress field's value.
3071func (s *Connector) SetMacAddress(v string) *Connector {
3072	s.MacAddress = &v
3073	return s
3074}
3075
3076// SetStatus sets the Status field's value.
3077func (s *Connector) SetStatus(v string) *Connector {
3078	s.Status = &v
3079	return s
3080}
3081
3082// SetVersion sets the Version field's value.
3083func (s *Connector) SetVersion(v string) *Connector {
3084	s.Version = &v
3085	return s
3086}
3087
3088// SetVmManagerId sets the VmManagerId field's value.
3089func (s *Connector) SetVmManagerId(v string) *Connector {
3090	s.VmManagerId = &v
3091	return s
3092}
3093
3094// SetVmManagerName sets the VmManagerName field's value.
3095func (s *Connector) SetVmManagerName(v string) *Connector {
3096	s.VmManagerName = &v
3097	return s
3098}
3099
3100// SetVmManagerType sets the VmManagerType field's value.
3101func (s *Connector) SetVmManagerType(v string) *Connector {
3102	s.VmManagerType = &v
3103	return s
3104}
3105
3106type CreateAppInput struct {
3107	_ struct{} `type:"structure"`
3108
3109	// A unique, case-sensitive identifier you provide to ensure idempotency of
3110	// application creation.
3111	ClientToken *string `locationName:"clientToken" type:"string"`
3112
3113	// Description of the new application
3114	Description *string `locationName:"description" type:"string"`
3115
3116	// Name of the new application.
3117	Name *string `locationName:"name" type:"string"`
3118
3119	// Name of service role in customer's account to be used by AWS SMS.
3120	RoleName *string `locationName:"roleName" type:"string"`
3121
3122	// List of server groups to include in the application.
3123	ServerGroups []*ServerGroup `locationName:"serverGroups" type:"list"`
3124
3125	// List of tags to be associated with the application.
3126	Tags []*Tag `locationName:"tags" type:"list"`
3127}
3128
3129// String returns the string representation
3130func (s CreateAppInput) String() string {
3131	return awsutil.Prettify(s)
3132}
3133
3134// GoString returns the string representation
3135func (s CreateAppInput) GoString() string {
3136	return s.String()
3137}
3138
3139// SetClientToken sets the ClientToken field's value.
3140func (s *CreateAppInput) SetClientToken(v string) *CreateAppInput {
3141	s.ClientToken = &v
3142	return s
3143}
3144
3145// SetDescription sets the Description field's value.
3146func (s *CreateAppInput) SetDescription(v string) *CreateAppInput {
3147	s.Description = &v
3148	return s
3149}
3150
3151// SetName sets the Name field's value.
3152func (s *CreateAppInput) SetName(v string) *CreateAppInput {
3153	s.Name = &v
3154	return s
3155}
3156
3157// SetRoleName sets the RoleName field's value.
3158func (s *CreateAppInput) SetRoleName(v string) *CreateAppInput {
3159	s.RoleName = &v
3160	return s
3161}
3162
3163// SetServerGroups sets the ServerGroups field's value.
3164func (s *CreateAppInput) SetServerGroups(v []*ServerGroup) *CreateAppInput {
3165	s.ServerGroups = v
3166	return s
3167}
3168
3169// SetTags sets the Tags field's value.
3170func (s *CreateAppInput) SetTags(v []*Tag) *CreateAppInput {
3171	s.Tags = v
3172	return s
3173}
3174
3175type CreateAppOutput struct {
3176	_ struct{} `type:"structure"`
3177
3178	// Summary description of the application.
3179	AppSummary *AppSummary `locationName:"appSummary" type:"structure"`
3180
3181	// List of server groups included in the application.
3182	ServerGroups []*ServerGroup `locationName:"serverGroups" type:"list"`
3183
3184	// List of taags associated with the application.
3185	Tags []*Tag `locationName:"tags" type:"list"`
3186}
3187
3188// String returns the string representation
3189func (s CreateAppOutput) String() string {
3190	return awsutil.Prettify(s)
3191}
3192
3193// GoString returns the string representation
3194func (s CreateAppOutput) GoString() string {
3195	return s.String()
3196}
3197
3198// SetAppSummary sets the AppSummary field's value.
3199func (s *CreateAppOutput) SetAppSummary(v *AppSummary) *CreateAppOutput {
3200	s.AppSummary = v
3201	return s
3202}
3203
3204// SetServerGroups sets the ServerGroups field's value.
3205func (s *CreateAppOutput) SetServerGroups(v []*ServerGroup) *CreateAppOutput {
3206	s.ServerGroups = v
3207	return s
3208}
3209
3210// SetTags sets the Tags field's value.
3211func (s *CreateAppOutput) SetTags(v []*Tag) *CreateAppOutput {
3212	s.Tags = v
3213	return s
3214}
3215
3216type CreateReplicationJobInput struct {
3217	_ struct{} `type:"structure"`
3218
3219	// The description of the replication job.
3220	Description *string `locationName:"description" type:"string"`
3221
3222	// When true, the replication job produces encrypted AMIs. See also KmsKeyId
3223	// below.
3224	Encrypted *bool `locationName:"encrypted" type:"boolean"`
3225
3226	// The time between consecutive replication runs, in hours.
3227	Frequency *int64 `locationName:"frequency" type:"integer"`
3228
3229	// KMS key ID for replication jobs that produce encrypted AMIs. Can be any of
3230	// the following:
3231	//
3232	//    * KMS key ID
3233	//
3234	//    * KMS key alias
3235	//
3236	//    * ARN referring to KMS key ID
3237	//
3238	//    * ARN referring to KMS key alias
3239	//
3240	// If encrypted is true but a KMS key id is not specified, the customer's default
3241	// KMS key for EBS is used.
3242	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
3243
3244	// The license type to be used for the AMI created by a successful replication
3245	// run.
3246	LicenseType *string `locationName:"licenseType" type:"string" enum:"LicenseType"`
3247
3248	// The maximum number of SMS-created AMIs to retain. The oldest will be deleted
3249	// once the maximum number is reached and a new AMI is created.
3250	NumberOfRecentAmisToKeep *int64 `locationName:"numberOfRecentAmisToKeep" type:"integer"`
3251
3252	// The name of the IAM role to be used by the AWS SMS.
3253	RoleName *string `locationName:"roleName" type:"string"`
3254
3255	RunOnce *bool `locationName:"runOnce" type:"boolean"`
3256
3257	// The seed replication time.
3258	//
3259	// SeedReplicationTime is a required field
3260	SeedReplicationTime *time.Time `locationName:"seedReplicationTime" type:"timestamp" required:"true"`
3261
3262	// The identifier of the server.
3263	//
3264	// ServerId is a required field
3265	ServerId *string `locationName:"serverId" type:"string" required:"true"`
3266}
3267
3268// String returns the string representation
3269func (s CreateReplicationJobInput) String() string {
3270	return awsutil.Prettify(s)
3271}
3272
3273// GoString returns the string representation
3274func (s CreateReplicationJobInput) GoString() string {
3275	return s.String()
3276}
3277
3278// Validate inspects the fields of the type to determine if they are valid.
3279func (s *CreateReplicationJobInput) Validate() error {
3280	invalidParams := request.ErrInvalidParams{Context: "CreateReplicationJobInput"}
3281	if s.SeedReplicationTime == nil {
3282		invalidParams.Add(request.NewErrParamRequired("SeedReplicationTime"))
3283	}
3284	if s.ServerId == nil {
3285		invalidParams.Add(request.NewErrParamRequired("ServerId"))
3286	}
3287
3288	if invalidParams.Len() > 0 {
3289		return invalidParams
3290	}
3291	return nil
3292}
3293
3294// SetDescription sets the Description field's value.
3295func (s *CreateReplicationJobInput) SetDescription(v string) *CreateReplicationJobInput {
3296	s.Description = &v
3297	return s
3298}
3299
3300// SetEncrypted sets the Encrypted field's value.
3301func (s *CreateReplicationJobInput) SetEncrypted(v bool) *CreateReplicationJobInput {
3302	s.Encrypted = &v
3303	return s
3304}
3305
3306// SetFrequency sets the Frequency field's value.
3307func (s *CreateReplicationJobInput) SetFrequency(v int64) *CreateReplicationJobInput {
3308	s.Frequency = &v
3309	return s
3310}
3311
3312// SetKmsKeyId sets the KmsKeyId field's value.
3313func (s *CreateReplicationJobInput) SetKmsKeyId(v string) *CreateReplicationJobInput {
3314	s.KmsKeyId = &v
3315	return s
3316}
3317
3318// SetLicenseType sets the LicenseType field's value.
3319func (s *CreateReplicationJobInput) SetLicenseType(v string) *CreateReplicationJobInput {
3320	s.LicenseType = &v
3321	return s
3322}
3323
3324// SetNumberOfRecentAmisToKeep sets the NumberOfRecentAmisToKeep field's value.
3325func (s *CreateReplicationJobInput) SetNumberOfRecentAmisToKeep(v int64) *CreateReplicationJobInput {
3326	s.NumberOfRecentAmisToKeep = &v
3327	return s
3328}
3329
3330// SetRoleName sets the RoleName field's value.
3331func (s *CreateReplicationJobInput) SetRoleName(v string) *CreateReplicationJobInput {
3332	s.RoleName = &v
3333	return s
3334}
3335
3336// SetRunOnce sets the RunOnce field's value.
3337func (s *CreateReplicationJobInput) SetRunOnce(v bool) *CreateReplicationJobInput {
3338	s.RunOnce = &v
3339	return s
3340}
3341
3342// SetSeedReplicationTime sets the SeedReplicationTime field's value.
3343func (s *CreateReplicationJobInput) SetSeedReplicationTime(v time.Time) *CreateReplicationJobInput {
3344	s.SeedReplicationTime = &v
3345	return s
3346}
3347
3348// SetServerId sets the ServerId field's value.
3349func (s *CreateReplicationJobInput) SetServerId(v string) *CreateReplicationJobInput {
3350	s.ServerId = &v
3351	return s
3352}
3353
3354type CreateReplicationJobOutput struct {
3355	_ struct{} `type:"structure"`
3356
3357	// The unique identifier of the replication job.
3358	ReplicationJobId *string `locationName:"replicationJobId" type:"string"`
3359}
3360
3361// String returns the string representation
3362func (s CreateReplicationJobOutput) String() string {
3363	return awsutil.Prettify(s)
3364}
3365
3366// GoString returns the string representation
3367func (s CreateReplicationJobOutput) GoString() string {
3368	return s.String()
3369}
3370
3371// SetReplicationJobId sets the ReplicationJobId field's value.
3372func (s *CreateReplicationJobOutput) SetReplicationJobId(v string) *CreateReplicationJobOutput {
3373	s.ReplicationJobId = &v
3374	return s
3375}
3376
3377type DeleteAppInput struct {
3378	_ struct{} `type:"structure"`
3379
3380	// ID of the application to delete.
3381	AppId *string `locationName:"appId" type:"string"`
3382
3383	// While deleting the application, stop all replication jobs corresponding to
3384	// the servers in the application.
3385	ForceStopAppReplication *bool `locationName:"forceStopAppReplication" type:"boolean"`
3386
3387	// While deleting the application, terminate the stack corresponding to the
3388	// application.
3389	ForceTerminateApp *bool `locationName:"forceTerminateApp" type:"boolean"`
3390}
3391
3392// String returns the string representation
3393func (s DeleteAppInput) String() string {
3394	return awsutil.Prettify(s)
3395}
3396
3397// GoString returns the string representation
3398func (s DeleteAppInput) GoString() string {
3399	return s.String()
3400}
3401
3402// SetAppId sets the AppId field's value.
3403func (s *DeleteAppInput) SetAppId(v string) *DeleteAppInput {
3404	s.AppId = &v
3405	return s
3406}
3407
3408// SetForceStopAppReplication sets the ForceStopAppReplication field's value.
3409func (s *DeleteAppInput) SetForceStopAppReplication(v bool) *DeleteAppInput {
3410	s.ForceStopAppReplication = &v
3411	return s
3412}
3413
3414// SetForceTerminateApp sets the ForceTerminateApp field's value.
3415func (s *DeleteAppInput) SetForceTerminateApp(v bool) *DeleteAppInput {
3416	s.ForceTerminateApp = &v
3417	return s
3418}
3419
3420type DeleteAppLaunchConfigurationInput struct {
3421	_ struct{} `type:"structure"`
3422
3423	// ID of the application associated with the launch configuration.
3424	AppId *string `locationName:"appId" type:"string"`
3425}
3426
3427// String returns the string representation
3428func (s DeleteAppLaunchConfigurationInput) String() string {
3429	return awsutil.Prettify(s)
3430}
3431
3432// GoString returns the string representation
3433func (s DeleteAppLaunchConfigurationInput) GoString() string {
3434	return s.String()
3435}
3436
3437// SetAppId sets the AppId field's value.
3438func (s *DeleteAppLaunchConfigurationInput) SetAppId(v string) *DeleteAppLaunchConfigurationInput {
3439	s.AppId = &v
3440	return s
3441}
3442
3443type DeleteAppLaunchConfigurationOutput struct {
3444	_ struct{} `type:"structure"`
3445}
3446
3447// String returns the string representation
3448func (s DeleteAppLaunchConfigurationOutput) String() string {
3449	return awsutil.Prettify(s)
3450}
3451
3452// GoString returns the string representation
3453func (s DeleteAppLaunchConfigurationOutput) GoString() string {
3454	return s.String()
3455}
3456
3457type DeleteAppOutput struct {
3458	_ struct{} `type:"structure"`
3459}
3460
3461// String returns the string representation
3462func (s DeleteAppOutput) String() string {
3463	return awsutil.Prettify(s)
3464}
3465
3466// GoString returns the string representation
3467func (s DeleteAppOutput) GoString() string {
3468	return s.String()
3469}
3470
3471type DeleteAppReplicationConfigurationInput struct {
3472	_ struct{} `type:"structure"`
3473
3474	// ID of the application associated with the replication configuration.
3475	AppId *string `locationName:"appId" type:"string"`
3476}
3477
3478// String returns the string representation
3479func (s DeleteAppReplicationConfigurationInput) String() string {
3480	return awsutil.Prettify(s)
3481}
3482
3483// GoString returns the string representation
3484func (s DeleteAppReplicationConfigurationInput) GoString() string {
3485	return s.String()
3486}
3487
3488// SetAppId sets the AppId field's value.
3489func (s *DeleteAppReplicationConfigurationInput) SetAppId(v string) *DeleteAppReplicationConfigurationInput {
3490	s.AppId = &v
3491	return s
3492}
3493
3494type DeleteAppReplicationConfigurationOutput struct {
3495	_ struct{} `type:"structure"`
3496}
3497
3498// String returns the string representation
3499func (s DeleteAppReplicationConfigurationOutput) String() string {
3500	return awsutil.Prettify(s)
3501}
3502
3503// GoString returns the string representation
3504func (s DeleteAppReplicationConfigurationOutput) GoString() string {
3505	return s.String()
3506}
3507
3508type DeleteReplicationJobInput struct {
3509	_ struct{} `type:"structure"`
3510
3511	// The identifier of the replication job.
3512	//
3513	// ReplicationJobId is a required field
3514	ReplicationJobId *string `locationName:"replicationJobId" type:"string" required:"true"`
3515}
3516
3517// String returns the string representation
3518func (s DeleteReplicationJobInput) String() string {
3519	return awsutil.Prettify(s)
3520}
3521
3522// GoString returns the string representation
3523func (s DeleteReplicationJobInput) GoString() string {
3524	return s.String()
3525}
3526
3527// Validate inspects the fields of the type to determine if they are valid.
3528func (s *DeleteReplicationJobInput) Validate() error {
3529	invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationJobInput"}
3530	if s.ReplicationJobId == nil {
3531		invalidParams.Add(request.NewErrParamRequired("ReplicationJobId"))
3532	}
3533
3534	if invalidParams.Len() > 0 {
3535		return invalidParams
3536	}
3537	return nil
3538}
3539
3540// SetReplicationJobId sets the ReplicationJobId field's value.
3541func (s *DeleteReplicationJobInput) SetReplicationJobId(v string) *DeleteReplicationJobInput {
3542	s.ReplicationJobId = &v
3543	return s
3544}
3545
3546type DeleteReplicationJobOutput struct {
3547	_ struct{} `type:"structure"`
3548}
3549
3550// String returns the string representation
3551func (s DeleteReplicationJobOutput) String() string {
3552	return awsutil.Prettify(s)
3553}
3554
3555// GoString returns the string representation
3556func (s DeleteReplicationJobOutput) GoString() string {
3557	return s.String()
3558}
3559
3560type DeleteServerCatalogInput struct {
3561	_ struct{} `type:"structure"`
3562}
3563
3564// String returns the string representation
3565func (s DeleteServerCatalogInput) String() string {
3566	return awsutil.Prettify(s)
3567}
3568
3569// GoString returns the string representation
3570func (s DeleteServerCatalogInput) GoString() string {
3571	return s.String()
3572}
3573
3574type DeleteServerCatalogOutput struct {
3575	_ struct{} `type:"structure"`
3576}
3577
3578// String returns the string representation
3579func (s DeleteServerCatalogOutput) String() string {
3580	return awsutil.Prettify(s)
3581}
3582
3583// GoString returns the string representation
3584func (s DeleteServerCatalogOutput) GoString() string {
3585	return s.String()
3586}
3587
3588type DisassociateConnectorInput struct {
3589	_ struct{} `type:"structure"`
3590
3591	// The identifier of the connector.
3592	//
3593	// ConnectorId is a required field
3594	ConnectorId *string `locationName:"connectorId" type:"string" required:"true"`
3595}
3596
3597// String returns the string representation
3598func (s DisassociateConnectorInput) String() string {
3599	return awsutil.Prettify(s)
3600}
3601
3602// GoString returns the string representation
3603func (s DisassociateConnectorInput) GoString() string {
3604	return s.String()
3605}
3606
3607// Validate inspects the fields of the type to determine if they are valid.
3608func (s *DisassociateConnectorInput) Validate() error {
3609	invalidParams := request.ErrInvalidParams{Context: "DisassociateConnectorInput"}
3610	if s.ConnectorId == nil {
3611		invalidParams.Add(request.NewErrParamRequired("ConnectorId"))
3612	}
3613
3614	if invalidParams.Len() > 0 {
3615		return invalidParams
3616	}
3617	return nil
3618}
3619
3620// SetConnectorId sets the ConnectorId field's value.
3621func (s *DisassociateConnectorInput) SetConnectorId(v string) *DisassociateConnectorInput {
3622	s.ConnectorId = &v
3623	return s
3624}
3625
3626type DisassociateConnectorOutput struct {
3627	_ struct{} `type:"structure"`
3628}
3629
3630// String returns the string representation
3631func (s DisassociateConnectorOutput) String() string {
3632	return awsutil.Prettify(s)
3633}
3634
3635// GoString returns the string representation
3636func (s DisassociateConnectorOutput) GoString() string {
3637	return s.String()
3638}
3639
3640type GenerateChangeSetInput struct {
3641	_ struct{} `type:"structure"`
3642
3643	// ID of the application associated with the change set.
3644	AppId *string `locationName:"appId" type:"string"`
3645
3646	// Format for the change set.
3647	ChangesetFormat *string `locationName:"changesetFormat" type:"string" enum:"OutputFormat"`
3648}
3649
3650// String returns the string representation
3651func (s GenerateChangeSetInput) String() string {
3652	return awsutil.Prettify(s)
3653}
3654
3655// GoString returns the string representation
3656func (s GenerateChangeSetInput) GoString() string {
3657	return s.String()
3658}
3659
3660// SetAppId sets the AppId field's value.
3661func (s *GenerateChangeSetInput) SetAppId(v string) *GenerateChangeSetInput {
3662	s.AppId = &v
3663	return s
3664}
3665
3666// SetChangesetFormat sets the ChangesetFormat field's value.
3667func (s *GenerateChangeSetInput) SetChangesetFormat(v string) *GenerateChangeSetInput {
3668	s.ChangesetFormat = &v
3669	return s
3670}
3671
3672type GenerateChangeSetOutput struct {
3673	_ struct{} `type:"structure"`
3674
3675	// Location of the Amazon S3 object.
3676	S3Location *S3Location `locationName:"s3Location" type:"structure"`
3677}
3678
3679// String returns the string representation
3680func (s GenerateChangeSetOutput) String() string {
3681	return awsutil.Prettify(s)
3682}
3683
3684// GoString returns the string representation
3685func (s GenerateChangeSetOutput) GoString() string {
3686	return s.String()
3687}
3688
3689// SetS3Location sets the S3Location field's value.
3690func (s *GenerateChangeSetOutput) SetS3Location(v *S3Location) *GenerateChangeSetOutput {
3691	s.S3Location = v
3692	return s
3693}
3694
3695type GenerateTemplateInput struct {
3696	_ struct{} `type:"structure"`
3697
3698	// ID of the application associated with the Amazon CloudFormation template.
3699	AppId *string `locationName:"appId" type:"string"`
3700
3701	// Format for generating the Amazon CloudFormation template.
3702	TemplateFormat *string `locationName:"templateFormat" type:"string" enum:"OutputFormat"`
3703}
3704
3705// String returns the string representation
3706func (s GenerateTemplateInput) String() string {
3707	return awsutil.Prettify(s)
3708}
3709
3710// GoString returns the string representation
3711func (s GenerateTemplateInput) GoString() string {
3712	return s.String()
3713}
3714
3715// SetAppId sets the AppId field's value.
3716func (s *GenerateTemplateInput) SetAppId(v string) *GenerateTemplateInput {
3717	s.AppId = &v
3718	return s
3719}
3720
3721// SetTemplateFormat sets the TemplateFormat field's value.
3722func (s *GenerateTemplateInput) SetTemplateFormat(v string) *GenerateTemplateInput {
3723	s.TemplateFormat = &v
3724	return s
3725}
3726
3727type GenerateTemplateOutput struct {
3728	_ struct{} `type:"structure"`
3729
3730	// Location of the Amazon S3 object.
3731	S3Location *S3Location `locationName:"s3Location" type:"structure"`
3732}
3733
3734// String returns the string representation
3735func (s GenerateTemplateOutput) String() string {
3736	return awsutil.Prettify(s)
3737}
3738
3739// GoString returns the string representation
3740func (s GenerateTemplateOutput) GoString() string {
3741	return s.String()
3742}
3743
3744// SetS3Location sets the S3Location field's value.
3745func (s *GenerateTemplateOutput) SetS3Location(v *S3Location) *GenerateTemplateOutput {
3746	s.S3Location = v
3747	return s
3748}
3749
3750type GetAppInput struct {
3751	_ struct{} `type:"structure"`
3752
3753	// ID of the application whose information is being retrieved.
3754	AppId *string `locationName:"appId" type:"string"`
3755}
3756
3757// String returns the string representation
3758func (s GetAppInput) String() string {
3759	return awsutil.Prettify(s)
3760}
3761
3762// GoString returns the string representation
3763func (s GetAppInput) GoString() string {
3764	return s.String()
3765}
3766
3767// SetAppId sets the AppId field's value.
3768func (s *GetAppInput) SetAppId(v string) *GetAppInput {
3769	s.AppId = &v
3770	return s
3771}
3772
3773type GetAppLaunchConfigurationInput struct {
3774	_ struct{} `type:"structure"`
3775
3776	// ID of the application launch configuration.
3777	AppId *string `locationName:"appId" type:"string"`
3778}
3779
3780// String returns the string representation
3781func (s GetAppLaunchConfigurationInput) String() string {
3782	return awsutil.Prettify(s)
3783}
3784
3785// GoString returns the string representation
3786func (s GetAppLaunchConfigurationInput) GoString() string {
3787	return s.String()
3788}
3789
3790// SetAppId sets the AppId field's value.
3791func (s *GetAppLaunchConfigurationInput) SetAppId(v string) *GetAppLaunchConfigurationInput {
3792	s.AppId = &v
3793	return s
3794}
3795
3796type GetAppLaunchConfigurationOutput struct {
3797	_ struct{} `type:"structure"`
3798
3799	// ID of the application associated with the launch configuration.
3800	AppId *string `locationName:"appId" type:"string"`
3801
3802	// Name of the service role in the customer's account that Amazon CloudFormation
3803	// uses to launch the application.
3804	RoleName *string `locationName:"roleName" type:"string"`
3805
3806	// List of launch configurations for server groups in this application.
3807	ServerGroupLaunchConfigurations []*ServerGroupLaunchConfiguration `locationName:"serverGroupLaunchConfigurations" type:"list"`
3808}
3809
3810// String returns the string representation
3811func (s GetAppLaunchConfigurationOutput) String() string {
3812	return awsutil.Prettify(s)
3813}
3814
3815// GoString returns the string representation
3816func (s GetAppLaunchConfigurationOutput) GoString() string {
3817	return s.String()
3818}
3819
3820// SetAppId sets the AppId field's value.
3821func (s *GetAppLaunchConfigurationOutput) SetAppId(v string) *GetAppLaunchConfigurationOutput {
3822	s.AppId = &v
3823	return s
3824}
3825
3826// SetRoleName sets the RoleName field's value.
3827func (s *GetAppLaunchConfigurationOutput) SetRoleName(v string) *GetAppLaunchConfigurationOutput {
3828	s.RoleName = &v
3829	return s
3830}
3831
3832// SetServerGroupLaunchConfigurations sets the ServerGroupLaunchConfigurations field's value.
3833func (s *GetAppLaunchConfigurationOutput) SetServerGroupLaunchConfigurations(v []*ServerGroupLaunchConfiguration) *GetAppLaunchConfigurationOutput {
3834	s.ServerGroupLaunchConfigurations = v
3835	return s
3836}
3837
3838type GetAppOutput struct {
3839	_ struct{} `type:"structure"`
3840
3841	// Information about the application.
3842	AppSummary *AppSummary `locationName:"appSummary" type:"structure"`
3843
3844	// List of server groups belonging to the application.
3845	ServerGroups []*ServerGroup `locationName:"serverGroups" type:"list"`
3846
3847	// List of tags associated with the application.
3848	Tags []*Tag `locationName:"tags" type:"list"`
3849}
3850
3851// String returns the string representation
3852func (s GetAppOutput) String() string {
3853	return awsutil.Prettify(s)
3854}
3855
3856// GoString returns the string representation
3857func (s GetAppOutput) GoString() string {
3858	return s.String()
3859}
3860
3861// SetAppSummary sets the AppSummary field's value.
3862func (s *GetAppOutput) SetAppSummary(v *AppSummary) *GetAppOutput {
3863	s.AppSummary = v
3864	return s
3865}
3866
3867// SetServerGroups sets the ServerGroups field's value.
3868func (s *GetAppOutput) SetServerGroups(v []*ServerGroup) *GetAppOutput {
3869	s.ServerGroups = v
3870	return s
3871}
3872
3873// SetTags sets the Tags field's value.
3874func (s *GetAppOutput) SetTags(v []*Tag) *GetAppOutput {
3875	s.Tags = v
3876	return s
3877}
3878
3879type GetAppReplicationConfigurationInput struct {
3880	_ struct{} `type:"structure"`
3881
3882	// ID of the application associated with the replication configuration.
3883	AppId *string `locationName:"appId" type:"string"`
3884}
3885
3886// String returns the string representation
3887func (s GetAppReplicationConfigurationInput) String() string {
3888	return awsutil.Prettify(s)
3889}
3890
3891// GoString returns the string representation
3892func (s GetAppReplicationConfigurationInput) GoString() string {
3893	return s.String()
3894}
3895
3896// SetAppId sets the AppId field's value.
3897func (s *GetAppReplicationConfigurationInput) SetAppId(v string) *GetAppReplicationConfigurationInput {
3898	s.AppId = &v
3899	return s
3900}
3901
3902type GetAppReplicationConfigurationOutput struct {
3903	_ struct{} `type:"structure"`
3904
3905	// Replication configurations associated with server groups in this application.
3906	ServerGroupReplicationConfigurations []*ServerGroupReplicationConfiguration `locationName:"serverGroupReplicationConfigurations" type:"list"`
3907}
3908
3909// String returns the string representation
3910func (s GetAppReplicationConfigurationOutput) String() string {
3911	return awsutil.Prettify(s)
3912}
3913
3914// GoString returns the string representation
3915func (s GetAppReplicationConfigurationOutput) GoString() string {
3916	return s.String()
3917}
3918
3919// SetServerGroupReplicationConfigurations sets the ServerGroupReplicationConfigurations field's value.
3920func (s *GetAppReplicationConfigurationOutput) SetServerGroupReplicationConfigurations(v []*ServerGroupReplicationConfiguration) *GetAppReplicationConfigurationOutput {
3921	s.ServerGroupReplicationConfigurations = v
3922	return s
3923}
3924
3925type GetConnectorsInput struct {
3926	_ struct{} `type:"structure"`
3927
3928	// The maximum number of results to return in a single call. The default value
3929	// is 50. To retrieve the remaining results, make another call with the returned
3930	// NextToken value.
3931	MaxResults *int64 `locationName:"maxResults" type:"integer"`
3932
3933	// The token for the next set of results.
3934	NextToken *string `locationName:"nextToken" type:"string"`
3935}
3936
3937// String returns the string representation
3938func (s GetConnectorsInput) String() string {
3939	return awsutil.Prettify(s)
3940}
3941
3942// GoString returns the string representation
3943func (s GetConnectorsInput) GoString() string {
3944	return s.String()
3945}
3946
3947// SetMaxResults sets the MaxResults field's value.
3948func (s *GetConnectorsInput) SetMaxResults(v int64) *GetConnectorsInput {
3949	s.MaxResults = &v
3950	return s
3951}
3952
3953// SetNextToken sets the NextToken field's value.
3954func (s *GetConnectorsInput) SetNextToken(v string) *GetConnectorsInput {
3955	s.NextToken = &v
3956	return s
3957}
3958
3959type GetConnectorsOutput struct {
3960	_ struct{} `type:"structure"`
3961
3962	// Information about the registered connectors.
3963	ConnectorList []*Connector `locationName:"connectorList" type:"list"`
3964
3965	// The token required to retrieve the next set of results. This value is null
3966	// when there are no more results to return.
3967	NextToken *string `locationName:"nextToken" type:"string"`
3968}
3969
3970// String returns the string representation
3971func (s GetConnectorsOutput) String() string {
3972	return awsutil.Prettify(s)
3973}
3974
3975// GoString returns the string representation
3976func (s GetConnectorsOutput) GoString() string {
3977	return s.String()
3978}
3979
3980// SetConnectorList sets the ConnectorList field's value.
3981func (s *GetConnectorsOutput) SetConnectorList(v []*Connector) *GetConnectorsOutput {
3982	s.ConnectorList = v
3983	return s
3984}
3985
3986// SetNextToken sets the NextToken field's value.
3987func (s *GetConnectorsOutput) SetNextToken(v string) *GetConnectorsOutput {
3988	s.NextToken = &v
3989	return s
3990}
3991
3992type GetReplicationJobsInput struct {
3993	_ struct{} `type:"structure"`
3994
3995	// The maximum number of results to return in a single call. The default value
3996	// is 50. To retrieve the remaining results, make another call with the returned
3997	// NextToken value.
3998	MaxResults *int64 `locationName:"maxResults" type:"integer"`
3999
4000	// The token for the next set of results.
4001	NextToken *string `locationName:"nextToken" type:"string"`
4002
4003	// The identifier of the replication job.
4004	ReplicationJobId *string `locationName:"replicationJobId" type:"string"`
4005}
4006
4007// String returns the string representation
4008func (s GetReplicationJobsInput) String() string {
4009	return awsutil.Prettify(s)
4010}
4011
4012// GoString returns the string representation
4013func (s GetReplicationJobsInput) GoString() string {
4014	return s.String()
4015}
4016
4017// SetMaxResults sets the MaxResults field's value.
4018func (s *GetReplicationJobsInput) SetMaxResults(v int64) *GetReplicationJobsInput {
4019	s.MaxResults = &v
4020	return s
4021}
4022
4023// SetNextToken sets the NextToken field's value.
4024func (s *GetReplicationJobsInput) SetNextToken(v string) *GetReplicationJobsInput {
4025	s.NextToken = &v
4026	return s
4027}
4028
4029// SetReplicationJobId sets the ReplicationJobId field's value.
4030func (s *GetReplicationJobsInput) SetReplicationJobId(v string) *GetReplicationJobsInput {
4031	s.ReplicationJobId = &v
4032	return s
4033}
4034
4035type GetReplicationJobsOutput struct {
4036	_ struct{} `type:"structure"`
4037
4038	// The token required to retrieve the next set of results. This value is null
4039	// when there are no more results to return.
4040	NextToken *string `locationName:"nextToken" type:"string"`
4041
4042	// Information about the replication jobs.
4043	ReplicationJobList []*ReplicationJob `locationName:"replicationJobList" type:"list"`
4044}
4045
4046// String returns the string representation
4047func (s GetReplicationJobsOutput) String() string {
4048	return awsutil.Prettify(s)
4049}
4050
4051// GoString returns the string representation
4052func (s GetReplicationJobsOutput) GoString() string {
4053	return s.String()
4054}
4055
4056// SetNextToken sets the NextToken field's value.
4057func (s *GetReplicationJobsOutput) SetNextToken(v string) *GetReplicationJobsOutput {
4058	s.NextToken = &v
4059	return s
4060}
4061
4062// SetReplicationJobList sets the ReplicationJobList field's value.
4063func (s *GetReplicationJobsOutput) SetReplicationJobList(v []*ReplicationJob) *GetReplicationJobsOutput {
4064	s.ReplicationJobList = v
4065	return s
4066}
4067
4068type GetReplicationRunsInput struct {
4069	_ struct{} `type:"structure"`
4070
4071	// The maximum number of results to return in a single call. The default value
4072	// is 50. To retrieve the remaining results, make another call with the returned
4073	// NextToken value.
4074	MaxResults *int64 `locationName:"maxResults" type:"integer"`
4075
4076	// The token for the next set of results.
4077	NextToken *string `locationName:"nextToken" type:"string"`
4078
4079	// The identifier of the replication job.
4080	//
4081	// ReplicationJobId is a required field
4082	ReplicationJobId *string `locationName:"replicationJobId" type:"string" required:"true"`
4083}
4084
4085// String returns the string representation
4086func (s GetReplicationRunsInput) String() string {
4087	return awsutil.Prettify(s)
4088}
4089
4090// GoString returns the string representation
4091func (s GetReplicationRunsInput) GoString() string {
4092	return s.String()
4093}
4094
4095// Validate inspects the fields of the type to determine if they are valid.
4096func (s *GetReplicationRunsInput) Validate() error {
4097	invalidParams := request.ErrInvalidParams{Context: "GetReplicationRunsInput"}
4098	if s.ReplicationJobId == nil {
4099		invalidParams.Add(request.NewErrParamRequired("ReplicationJobId"))
4100	}
4101
4102	if invalidParams.Len() > 0 {
4103		return invalidParams
4104	}
4105	return nil
4106}
4107
4108// SetMaxResults sets the MaxResults field's value.
4109func (s *GetReplicationRunsInput) SetMaxResults(v int64) *GetReplicationRunsInput {
4110	s.MaxResults = &v
4111	return s
4112}
4113
4114// SetNextToken sets the NextToken field's value.
4115func (s *GetReplicationRunsInput) SetNextToken(v string) *GetReplicationRunsInput {
4116	s.NextToken = &v
4117	return s
4118}
4119
4120// SetReplicationJobId sets the ReplicationJobId field's value.
4121func (s *GetReplicationRunsInput) SetReplicationJobId(v string) *GetReplicationRunsInput {
4122	s.ReplicationJobId = &v
4123	return s
4124}
4125
4126type GetReplicationRunsOutput struct {
4127	_ struct{} `type:"structure"`
4128
4129	// The token required to retrieve the next set of results. This value is null
4130	// when there are no more results to return.
4131	NextToken *string `locationName:"nextToken" type:"string"`
4132
4133	// Information about the replication job.
4134	ReplicationJob *ReplicationJob `locationName:"replicationJob" type:"structure"`
4135
4136	// Information about the replication runs.
4137	ReplicationRunList []*ReplicationRun `locationName:"replicationRunList" type:"list"`
4138}
4139
4140// String returns the string representation
4141func (s GetReplicationRunsOutput) String() string {
4142	return awsutil.Prettify(s)
4143}
4144
4145// GoString returns the string representation
4146func (s GetReplicationRunsOutput) GoString() string {
4147	return s.String()
4148}
4149
4150// SetNextToken sets the NextToken field's value.
4151func (s *GetReplicationRunsOutput) SetNextToken(v string) *GetReplicationRunsOutput {
4152	s.NextToken = &v
4153	return s
4154}
4155
4156// SetReplicationJob sets the ReplicationJob field's value.
4157func (s *GetReplicationRunsOutput) SetReplicationJob(v *ReplicationJob) *GetReplicationRunsOutput {
4158	s.ReplicationJob = v
4159	return s
4160}
4161
4162// SetReplicationRunList sets the ReplicationRunList field's value.
4163func (s *GetReplicationRunsOutput) SetReplicationRunList(v []*ReplicationRun) *GetReplicationRunsOutput {
4164	s.ReplicationRunList = v
4165	return s
4166}
4167
4168type GetServersInput struct {
4169	_ struct{} `type:"structure"`
4170
4171	// The maximum number of results to return in a single call. The default value
4172	// is 50. To retrieve the remaining results, make another call with the returned
4173	// NextToken value.
4174	MaxResults *int64 `locationName:"maxResults" type:"integer"`
4175
4176	// The token for the next set of results.
4177	NextToken *string `locationName:"nextToken" type:"string"`
4178
4179	// List of VmServerAddress objects
4180	VmServerAddressList []*VmServerAddress `locationName:"vmServerAddressList" type:"list"`
4181}
4182
4183// String returns the string representation
4184func (s GetServersInput) String() string {
4185	return awsutil.Prettify(s)
4186}
4187
4188// GoString returns the string representation
4189func (s GetServersInput) GoString() string {
4190	return s.String()
4191}
4192
4193// SetMaxResults sets the MaxResults field's value.
4194func (s *GetServersInput) SetMaxResults(v int64) *GetServersInput {
4195	s.MaxResults = &v
4196	return s
4197}
4198
4199// SetNextToken sets the NextToken field's value.
4200func (s *GetServersInput) SetNextToken(v string) *GetServersInput {
4201	s.NextToken = &v
4202	return s
4203}
4204
4205// SetVmServerAddressList sets the VmServerAddressList field's value.
4206func (s *GetServersInput) SetVmServerAddressList(v []*VmServerAddress) *GetServersInput {
4207	s.VmServerAddressList = v
4208	return s
4209}
4210
4211type GetServersOutput struct {
4212	_ struct{} `type:"structure"`
4213
4214	// The time when the server was last modified.
4215	LastModifiedOn *time.Time `locationName:"lastModifiedOn" type:"timestamp"`
4216
4217	// The token required to retrieve the next set of results. This value is null
4218	// when there are no more results to return.
4219	NextToken *string `locationName:"nextToken" type:"string"`
4220
4221	// The status of the server catalog.
4222	ServerCatalogStatus *string `locationName:"serverCatalogStatus" type:"string" enum:"ServerCatalogStatus"`
4223
4224	// Information about the servers.
4225	ServerList []*Server `locationName:"serverList" type:"list"`
4226}
4227
4228// String returns the string representation
4229func (s GetServersOutput) String() string {
4230	return awsutil.Prettify(s)
4231}
4232
4233// GoString returns the string representation
4234func (s GetServersOutput) GoString() string {
4235	return s.String()
4236}
4237
4238// SetLastModifiedOn sets the LastModifiedOn field's value.
4239func (s *GetServersOutput) SetLastModifiedOn(v time.Time) *GetServersOutput {
4240	s.LastModifiedOn = &v
4241	return s
4242}
4243
4244// SetNextToken sets the NextToken field's value.
4245func (s *GetServersOutput) SetNextToken(v string) *GetServersOutput {
4246	s.NextToken = &v
4247	return s
4248}
4249
4250// SetServerCatalogStatus sets the ServerCatalogStatus field's value.
4251func (s *GetServersOutput) SetServerCatalogStatus(v string) *GetServersOutput {
4252	s.ServerCatalogStatus = &v
4253	return s
4254}
4255
4256// SetServerList sets the ServerList field's value.
4257func (s *GetServersOutput) SetServerList(v []*Server) *GetServersOutput {
4258	s.ServerList = v
4259	return s
4260}
4261
4262type ImportServerCatalogInput struct {
4263	_ struct{} `type:"structure"`
4264}
4265
4266// String returns the string representation
4267func (s ImportServerCatalogInput) String() string {
4268	return awsutil.Prettify(s)
4269}
4270
4271// GoString returns the string representation
4272func (s ImportServerCatalogInput) GoString() string {
4273	return s.String()
4274}
4275
4276type ImportServerCatalogOutput struct {
4277	_ struct{} `type:"structure"`
4278}
4279
4280// String returns the string representation
4281func (s ImportServerCatalogOutput) String() string {
4282	return awsutil.Prettify(s)
4283}
4284
4285// GoString returns the string representation
4286func (s ImportServerCatalogOutput) GoString() string {
4287	return s.String()
4288}
4289
4290type LaunchAppInput struct {
4291	_ struct{} `type:"structure"`
4292
4293	// ID of the application to launch.
4294	AppId *string `locationName:"appId" type:"string"`
4295}
4296
4297// String returns the string representation
4298func (s LaunchAppInput) String() string {
4299	return awsutil.Prettify(s)
4300}
4301
4302// GoString returns the string representation
4303func (s LaunchAppInput) GoString() string {
4304	return s.String()
4305}
4306
4307// SetAppId sets the AppId field's value.
4308func (s *LaunchAppInput) SetAppId(v string) *LaunchAppInput {
4309	s.AppId = &v
4310	return s
4311}
4312
4313type LaunchAppOutput struct {
4314	_ struct{} `type:"structure"`
4315}
4316
4317// String returns the string representation
4318func (s LaunchAppOutput) String() string {
4319	return awsutil.Prettify(s)
4320}
4321
4322// GoString returns the string representation
4323func (s LaunchAppOutput) GoString() string {
4324	return s.String()
4325}
4326
4327// Details about the latest launch of an application.
4328type LaunchDetails struct {
4329	_ struct{} `type:"structure"`
4330
4331	// Latest time this application was launched successfully.
4332	LatestLaunchTime *time.Time `locationName:"latestLaunchTime" type:"timestamp"`
4333
4334	// Identifier of the latest stack launched for this application.
4335	StackId *string `locationName:"stackId" type:"string"`
4336
4337	// Name of the latest stack launched for this application.
4338	StackName *string `locationName:"stackName" type:"string"`
4339}
4340
4341// String returns the string representation
4342func (s LaunchDetails) String() string {
4343	return awsutil.Prettify(s)
4344}
4345
4346// GoString returns the string representation
4347func (s LaunchDetails) GoString() string {
4348	return s.String()
4349}
4350
4351// SetLatestLaunchTime sets the LatestLaunchTime field's value.
4352func (s *LaunchDetails) SetLatestLaunchTime(v time.Time) *LaunchDetails {
4353	s.LatestLaunchTime = &v
4354	return s
4355}
4356
4357// SetStackId sets the StackId field's value.
4358func (s *LaunchDetails) SetStackId(v string) *LaunchDetails {
4359	s.StackId = &v
4360	return s
4361}
4362
4363// SetStackName sets the StackName field's value.
4364func (s *LaunchDetails) SetStackName(v string) *LaunchDetails {
4365	s.StackName = &v
4366	return s
4367}
4368
4369type ListAppsInput struct {
4370	_ struct{} `type:"structure"`
4371
4372	AppIds []*string `locationName:"appIds" type:"list"`
4373
4374	// The maximum number of results to return in a single call. The default value
4375	// is 50. To retrieve the remaining results, make another call with the returned
4376	// NextToken value.
4377	MaxResults *int64 `locationName:"maxResults" type:"integer"`
4378
4379	// The token for the next set of results.
4380	NextToken *string `locationName:"nextToken" type:"string"`
4381}
4382
4383// String returns the string representation
4384func (s ListAppsInput) String() string {
4385	return awsutil.Prettify(s)
4386}
4387
4388// GoString returns the string representation
4389func (s ListAppsInput) GoString() string {
4390	return s.String()
4391}
4392
4393// SetAppIds sets the AppIds field's value.
4394func (s *ListAppsInput) SetAppIds(v []*string) *ListAppsInput {
4395	s.AppIds = v
4396	return s
4397}
4398
4399// SetMaxResults sets the MaxResults field's value.
4400func (s *ListAppsInput) SetMaxResults(v int64) *ListAppsInput {
4401	s.MaxResults = &v
4402	return s
4403}
4404
4405// SetNextToken sets the NextToken field's value.
4406func (s *ListAppsInput) SetNextToken(v string) *ListAppsInput {
4407	s.NextToken = &v
4408	return s
4409}
4410
4411type ListAppsOutput struct {
4412	_ struct{} `type:"structure"`
4413
4414	// A list of application summaries.
4415	Apps []*AppSummary `locationName:"apps" type:"list"`
4416
4417	// The token required to retrieve the next set of results. This value is null
4418	// when there are no more results to return.
4419	NextToken *string `locationName:"nextToken" type:"string"`
4420}
4421
4422// String returns the string representation
4423func (s ListAppsOutput) String() string {
4424	return awsutil.Prettify(s)
4425}
4426
4427// GoString returns the string representation
4428func (s ListAppsOutput) GoString() string {
4429	return s.String()
4430}
4431
4432// SetApps sets the Apps field's value.
4433func (s *ListAppsOutput) SetApps(v []*AppSummary) *ListAppsOutput {
4434	s.Apps = v
4435	return s
4436}
4437
4438// SetNextToken sets the NextToken field's value.
4439func (s *ListAppsOutput) SetNextToken(v string) *ListAppsOutput {
4440	s.NextToken = &v
4441	return s
4442}
4443
4444type PutAppLaunchConfigurationInput struct {
4445	_ struct{} `type:"structure"`
4446
4447	// ID of the application associated with the launch configuration.
4448	AppId *string `locationName:"appId" type:"string"`
4449
4450	// Name of service role in the customer's account that Amazon CloudFormation
4451	// uses to launch the application.
4452	RoleName *string `locationName:"roleName" type:"string"`
4453
4454	// Launch configurations for server groups in the application.
4455	ServerGroupLaunchConfigurations []*ServerGroupLaunchConfiguration `locationName:"serverGroupLaunchConfigurations" type:"list"`
4456}
4457
4458// String returns the string representation
4459func (s PutAppLaunchConfigurationInput) String() string {
4460	return awsutil.Prettify(s)
4461}
4462
4463// GoString returns the string representation
4464func (s PutAppLaunchConfigurationInput) GoString() string {
4465	return s.String()
4466}
4467
4468// SetAppId sets the AppId field's value.
4469func (s *PutAppLaunchConfigurationInput) SetAppId(v string) *PutAppLaunchConfigurationInput {
4470	s.AppId = &v
4471	return s
4472}
4473
4474// SetRoleName sets the RoleName field's value.
4475func (s *PutAppLaunchConfigurationInput) SetRoleName(v string) *PutAppLaunchConfigurationInput {
4476	s.RoleName = &v
4477	return s
4478}
4479
4480// SetServerGroupLaunchConfigurations sets the ServerGroupLaunchConfigurations field's value.
4481func (s *PutAppLaunchConfigurationInput) SetServerGroupLaunchConfigurations(v []*ServerGroupLaunchConfiguration) *PutAppLaunchConfigurationInput {
4482	s.ServerGroupLaunchConfigurations = v
4483	return s
4484}
4485
4486type PutAppLaunchConfigurationOutput struct {
4487	_ struct{} `type:"structure"`
4488}
4489
4490// String returns the string representation
4491func (s PutAppLaunchConfigurationOutput) String() string {
4492	return awsutil.Prettify(s)
4493}
4494
4495// GoString returns the string representation
4496func (s PutAppLaunchConfigurationOutput) GoString() string {
4497	return s.String()
4498}
4499
4500type PutAppReplicationConfigurationInput struct {
4501	_ struct{} `type:"structure"`
4502
4503	// ID of the application tassociated with the replication configuration.
4504	AppId *string `locationName:"appId" type:"string"`
4505
4506	// Replication configurations for server groups in the application.
4507	ServerGroupReplicationConfigurations []*ServerGroupReplicationConfiguration `locationName:"serverGroupReplicationConfigurations" type:"list"`
4508}
4509
4510// String returns the string representation
4511func (s PutAppReplicationConfigurationInput) String() string {
4512	return awsutil.Prettify(s)
4513}
4514
4515// GoString returns the string representation
4516func (s PutAppReplicationConfigurationInput) GoString() string {
4517	return s.String()
4518}
4519
4520// SetAppId sets the AppId field's value.
4521func (s *PutAppReplicationConfigurationInput) SetAppId(v string) *PutAppReplicationConfigurationInput {
4522	s.AppId = &v
4523	return s
4524}
4525
4526// SetServerGroupReplicationConfigurations sets the ServerGroupReplicationConfigurations field's value.
4527func (s *PutAppReplicationConfigurationInput) SetServerGroupReplicationConfigurations(v []*ServerGroupReplicationConfiguration) *PutAppReplicationConfigurationInput {
4528	s.ServerGroupReplicationConfigurations = v
4529	return s
4530}
4531
4532type PutAppReplicationConfigurationOutput struct {
4533	_ struct{} `type:"structure"`
4534}
4535
4536// String returns the string representation
4537func (s PutAppReplicationConfigurationOutput) String() string {
4538	return awsutil.Prettify(s)
4539}
4540
4541// GoString returns the string representation
4542func (s PutAppReplicationConfigurationOutput) GoString() string {
4543	return s.String()
4544}
4545
4546// Represents a replication job.
4547type ReplicationJob struct {
4548	_ struct{} `type:"structure"`
4549
4550	// The description of the replication job.
4551	Description *string `locationName:"description" type:"string"`
4552
4553	// Whether the replication job should produce encrypted AMIs or not. See also
4554	// KmsKeyId below.
4555	Encrypted *bool `locationName:"encrypted" type:"boolean"`
4556
4557	// The time between consecutive replication runs, in hours.
4558	Frequency *int64 `locationName:"frequency" type:"integer"`
4559
4560	// KMS key ID for replication jobs that produce encrypted AMIs. Can be any of
4561	// the following:
4562	//
4563	//    * KMS key ID
4564	//
4565	//    * KMS key alias
4566	//
4567	//    * ARN referring to KMS key ID
4568	//
4569	//    * ARN referring to KMS key alias
4570	//
4571	// If encrypted is true but a KMS key id is not specified, the customer's default
4572	// KMS key for EBS is used.
4573	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
4574
4575	// The ID of the latest Amazon Machine Image (AMI).
4576	LatestAmiId *string `locationName:"latestAmiId" type:"string"`
4577
4578	// The license type to be used for the AMI created by a successful replication
4579	// run.
4580	LicenseType *string `locationName:"licenseType" type:"string" enum:"LicenseType"`
4581
4582	// The start time of the next replication run.
4583	NextReplicationRunStartTime *time.Time `locationName:"nextReplicationRunStartTime" type:"timestamp"`
4584
4585	// Number of recent AMIs to keep in the customer's account for a replication
4586	// job. By default the value is set to zero, meaning that all AMIs are kept.
4587	NumberOfRecentAmisToKeep *int64 `locationName:"numberOfRecentAmisToKeep" type:"integer"`
4588
4589	// The identifier of the replication job.
4590	ReplicationJobId *string `locationName:"replicationJobId" type:"string"`
4591
4592	// Information about the replication runs.
4593	ReplicationRunList []*ReplicationRun `locationName:"replicationRunList" type:"list"`
4594
4595	// The name of the IAM role to be used by the Server Migration Service.
4596	RoleName *string `locationName:"roleName" type:"string"`
4597
4598	RunOnce *bool `locationName:"runOnce" type:"boolean"`
4599
4600	// The seed replication time.
4601	SeedReplicationTime *time.Time `locationName:"seedReplicationTime" type:"timestamp"`
4602
4603	// The identifier of the server.
4604	ServerId *string `locationName:"serverId" type:"string"`
4605
4606	// The type of server.
4607	ServerType *string `locationName:"serverType" type:"string" enum:"ServerType"`
4608
4609	// The state of the replication job.
4610	State *string `locationName:"state" type:"string" enum:"ReplicationJobState"`
4611
4612	// The description of the current status of the replication job.
4613	StatusMessage *string `locationName:"statusMessage" type:"string"`
4614
4615	// Information about the VM server.
4616	VmServer *VmServer `locationName:"vmServer" type:"structure"`
4617}
4618
4619// String returns the string representation
4620func (s ReplicationJob) String() string {
4621	return awsutil.Prettify(s)
4622}
4623
4624// GoString returns the string representation
4625func (s ReplicationJob) GoString() string {
4626	return s.String()
4627}
4628
4629// SetDescription sets the Description field's value.
4630func (s *ReplicationJob) SetDescription(v string) *ReplicationJob {
4631	s.Description = &v
4632	return s
4633}
4634
4635// SetEncrypted sets the Encrypted field's value.
4636func (s *ReplicationJob) SetEncrypted(v bool) *ReplicationJob {
4637	s.Encrypted = &v
4638	return s
4639}
4640
4641// SetFrequency sets the Frequency field's value.
4642func (s *ReplicationJob) SetFrequency(v int64) *ReplicationJob {
4643	s.Frequency = &v
4644	return s
4645}
4646
4647// SetKmsKeyId sets the KmsKeyId field's value.
4648func (s *ReplicationJob) SetKmsKeyId(v string) *ReplicationJob {
4649	s.KmsKeyId = &v
4650	return s
4651}
4652
4653// SetLatestAmiId sets the LatestAmiId field's value.
4654func (s *ReplicationJob) SetLatestAmiId(v string) *ReplicationJob {
4655	s.LatestAmiId = &v
4656	return s
4657}
4658
4659// SetLicenseType sets the LicenseType field's value.
4660func (s *ReplicationJob) SetLicenseType(v string) *ReplicationJob {
4661	s.LicenseType = &v
4662	return s
4663}
4664
4665// SetNextReplicationRunStartTime sets the NextReplicationRunStartTime field's value.
4666func (s *ReplicationJob) SetNextReplicationRunStartTime(v time.Time) *ReplicationJob {
4667	s.NextReplicationRunStartTime = &v
4668	return s
4669}
4670
4671// SetNumberOfRecentAmisToKeep sets the NumberOfRecentAmisToKeep field's value.
4672func (s *ReplicationJob) SetNumberOfRecentAmisToKeep(v int64) *ReplicationJob {
4673	s.NumberOfRecentAmisToKeep = &v
4674	return s
4675}
4676
4677// SetReplicationJobId sets the ReplicationJobId field's value.
4678func (s *ReplicationJob) SetReplicationJobId(v string) *ReplicationJob {
4679	s.ReplicationJobId = &v
4680	return s
4681}
4682
4683// SetReplicationRunList sets the ReplicationRunList field's value.
4684func (s *ReplicationJob) SetReplicationRunList(v []*ReplicationRun) *ReplicationJob {
4685	s.ReplicationRunList = v
4686	return s
4687}
4688
4689// SetRoleName sets the RoleName field's value.
4690func (s *ReplicationJob) SetRoleName(v string) *ReplicationJob {
4691	s.RoleName = &v
4692	return s
4693}
4694
4695// SetRunOnce sets the RunOnce field's value.
4696func (s *ReplicationJob) SetRunOnce(v bool) *ReplicationJob {
4697	s.RunOnce = &v
4698	return s
4699}
4700
4701// SetSeedReplicationTime sets the SeedReplicationTime field's value.
4702func (s *ReplicationJob) SetSeedReplicationTime(v time.Time) *ReplicationJob {
4703	s.SeedReplicationTime = &v
4704	return s
4705}
4706
4707// SetServerId sets the ServerId field's value.
4708func (s *ReplicationJob) SetServerId(v string) *ReplicationJob {
4709	s.ServerId = &v
4710	return s
4711}
4712
4713// SetServerType sets the ServerType field's value.
4714func (s *ReplicationJob) SetServerType(v string) *ReplicationJob {
4715	s.ServerType = &v
4716	return s
4717}
4718
4719// SetState sets the State field's value.
4720func (s *ReplicationJob) SetState(v string) *ReplicationJob {
4721	s.State = &v
4722	return s
4723}
4724
4725// SetStatusMessage sets the StatusMessage field's value.
4726func (s *ReplicationJob) SetStatusMessage(v string) *ReplicationJob {
4727	s.StatusMessage = &v
4728	return s
4729}
4730
4731// SetVmServer sets the VmServer field's value.
4732func (s *ReplicationJob) SetVmServer(v *VmServer) *ReplicationJob {
4733	s.VmServer = v
4734	return s
4735}
4736
4737// Represents a replication run.
4738type ReplicationRun struct {
4739	_ struct{} `type:"structure"`
4740
4741	// The identifier of the Amazon Machine Image (AMI) from the replication run.
4742	AmiId *string `locationName:"amiId" type:"string"`
4743
4744	// The completion time of the last replication run.
4745	CompletedTime *time.Time `locationName:"completedTime" type:"timestamp"`
4746
4747	// The description of the replication run.
4748	Description *string `locationName:"description" type:"string"`
4749
4750	// Whether the replication run should produce encrypted AMI or not. See also
4751	// KmsKeyId below.
4752	Encrypted *bool `locationName:"encrypted" type:"boolean"`
4753
4754	// KMS key ID for replication jobs that produce encrypted AMIs. Can be any of
4755	// the following:
4756	//
4757	//    * KMS key ID
4758	//
4759	//    * KMS key alias
4760	//
4761	//    * ARN referring to KMS key ID
4762	//
4763	//    * ARN referring to KMS key alias
4764	//
4765	// If encrypted is true but a KMS key id is not specified, the customer's default
4766	// KMS key for EBS is used.
4767	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
4768
4769	// The identifier of the replication run.
4770	ReplicationRunId *string `locationName:"replicationRunId" type:"string"`
4771
4772	// The start time of the next replication run.
4773	ScheduledStartTime *time.Time `locationName:"scheduledStartTime" type:"timestamp"`
4774
4775	// Details of the current stage of the replication run.
4776	StageDetails *ReplicationRunStageDetails `locationName:"stageDetails" type:"structure"`
4777
4778	// The state of the replication run.
4779	State *string `locationName:"state" type:"string" enum:"ReplicationRunState"`
4780
4781	// The description of the current status of the replication job.
4782	StatusMessage *string `locationName:"statusMessage" type:"string"`
4783
4784	// The type of replication run.
4785	Type *string `locationName:"type" type:"string" enum:"ReplicationRunType"`
4786}
4787
4788// String returns the string representation
4789func (s ReplicationRun) String() string {
4790	return awsutil.Prettify(s)
4791}
4792
4793// GoString returns the string representation
4794func (s ReplicationRun) GoString() string {
4795	return s.String()
4796}
4797
4798// SetAmiId sets the AmiId field's value.
4799func (s *ReplicationRun) SetAmiId(v string) *ReplicationRun {
4800	s.AmiId = &v
4801	return s
4802}
4803
4804// SetCompletedTime sets the CompletedTime field's value.
4805func (s *ReplicationRun) SetCompletedTime(v time.Time) *ReplicationRun {
4806	s.CompletedTime = &v
4807	return s
4808}
4809
4810// SetDescription sets the Description field's value.
4811func (s *ReplicationRun) SetDescription(v string) *ReplicationRun {
4812	s.Description = &v
4813	return s
4814}
4815
4816// SetEncrypted sets the Encrypted field's value.
4817func (s *ReplicationRun) SetEncrypted(v bool) *ReplicationRun {
4818	s.Encrypted = &v
4819	return s
4820}
4821
4822// SetKmsKeyId sets the KmsKeyId field's value.
4823func (s *ReplicationRun) SetKmsKeyId(v string) *ReplicationRun {
4824	s.KmsKeyId = &v
4825	return s
4826}
4827
4828// SetReplicationRunId sets the ReplicationRunId field's value.
4829func (s *ReplicationRun) SetReplicationRunId(v string) *ReplicationRun {
4830	s.ReplicationRunId = &v
4831	return s
4832}
4833
4834// SetScheduledStartTime sets the ScheduledStartTime field's value.
4835func (s *ReplicationRun) SetScheduledStartTime(v time.Time) *ReplicationRun {
4836	s.ScheduledStartTime = &v
4837	return s
4838}
4839
4840// SetStageDetails sets the StageDetails field's value.
4841func (s *ReplicationRun) SetStageDetails(v *ReplicationRunStageDetails) *ReplicationRun {
4842	s.StageDetails = v
4843	return s
4844}
4845
4846// SetState sets the State field's value.
4847func (s *ReplicationRun) SetState(v string) *ReplicationRun {
4848	s.State = &v
4849	return s
4850}
4851
4852// SetStatusMessage sets the StatusMessage field's value.
4853func (s *ReplicationRun) SetStatusMessage(v string) *ReplicationRun {
4854	s.StatusMessage = &v
4855	return s
4856}
4857
4858// SetType sets the Type field's value.
4859func (s *ReplicationRun) SetType(v string) *ReplicationRun {
4860	s.Type = &v
4861	return s
4862}
4863
4864// Details of the current stage of a replication run.
4865type ReplicationRunStageDetails struct {
4866	_ struct{} `type:"structure"`
4867
4868	// String describing the current stage of a replication run.
4869	Stage *string `locationName:"stage" type:"string"`
4870
4871	// String describing the progress of the current stage of a replication run.
4872	StageProgress *string `locationName:"stageProgress" type:"string"`
4873}
4874
4875// String returns the string representation
4876func (s ReplicationRunStageDetails) String() string {
4877	return awsutil.Prettify(s)
4878}
4879
4880// GoString returns the string representation
4881func (s ReplicationRunStageDetails) GoString() string {
4882	return s.String()
4883}
4884
4885// SetStage sets the Stage field's value.
4886func (s *ReplicationRunStageDetails) SetStage(v string) *ReplicationRunStageDetails {
4887	s.Stage = &v
4888	return s
4889}
4890
4891// SetStageProgress sets the StageProgress field's value.
4892func (s *ReplicationRunStageDetails) SetStageProgress(v string) *ReplicationRunStageDetails {
4893	s.StageProgress = &v
4894	return s
4895}
4896
4897// Location of the Amazon S3 object in the customer's account.
4898type S3Location struct {
4899	_ struct{} `type:"structure"`
4900
4901	// Amazon S3 bucket name.
4902	Bucket *string `locationName:"bucket" type:"string"`
4903
4904	// Amazon S3 bucket key.
4905	Key *string `locationName:"key" type:"string"`
4906}
4907
4908// String returns the string representation
4909func (s S3Location) String() string {
4910	return awsutil.Prettify(s)
4911}
4912
4913// GoString returns the string representation
4914func (s S3Location) GoString() string {
4915	return s.String()
4916}
4917
4918// SetBucket sets the Bucket field's value.
4919func (s *S3Location) SetBucket(v string) *S3Location {
4920	s.Bucket = &v
4921	return s
4922}
4923
4924// SetKey sets the Key field's value.
4925func (s *S3Location) SetKey(v string) *S3Location {
4926	s.Key = &v
4927	return s
4928}
4929
4930// Represents a server.
4931type Server struct {
4932	_ struct{} `type:"structure"`
4933
4934	// The identifier of the replication job.
4935	ReplicationJobId *string `locationName:"replicationJobId" type:"string"`
4936
4937	// Indicates whether the replication job is deleted or failed.
4938	ReplicationJobTerminated *bool `locationName:"replicationJobTerminated" type:"boolean"`
4939
4940	// The identifier of the server.
4941	ServerId *string `locationName:"serverId" type:"string"`
4942
4943	// The type of server.
4944	ServerType *string `locationName:"serverType" type:"string" enum:"ServerType"`
4945
4946	// Information about the VM server.
4947	VmServer *VmServer `locationName:"vmServer" type:"structure"`
4948}
4949
4950// String returns the string representation
4951func (s Server) String() string {
4952	return awsutil.Prettify(s)
4953}
4954
4955// GoString returns the string representation
4956func (s Server) GoString() string {
4957	return s.String()
4958}
4959
4960// SetReplicationJobId sets the ReplicationJobId field's value.
4961func (s *Server) SetReplicationJobId(v string) *Server {
4962	s.ReplicationJobId = &v
4963	return s
4964}
4965
4966// SetReplicationJobTerminated sets the ReplicationJobTerminated field's value.
4967func (s *Server) SetReplicationJobTerminated(v bool) *Server {
4968	s.ReplicationJobTerminated = &v
4969	return s
4970}
4971
4972// SetServerId sets the ServerId field's value.
4973func (s *Server) SetServerId(v string) *Server {
4974	s.ServerId = &v
4975	return s
4976}
4977
4978// SetServerType sets the ServerType field's value.
4979func (s *Server) SetServerType(v string) *Server {
4980	s.ServerType = &v
4981	return s
4982}
4983
4984// SetVmServer sets the VmServer field's value.
4985func (s *Server) SetVmServer(v *VmServer) *Server {
4986	s.VmServer = v
4987	return s
4988}
4989
4990// A logical grouping of servers.
4991type ServerGroup struct {
4992	_ struct{} `type:"structure"`
4993
4994	// Name of a server group.
4995	Name *string `locationName:"name" type:"string"`
4996
4997	// Identifier of a server group.
4998	ServerGroupId *string `locationName:"serverGroupId" type:"string"`
4999
5000	// List of servers belonging to a server group.
5001	ServerList []*Server `locationName:"serverList" type:"list"`
5002}
5003
5004// String returns the string representation
5005func (s ServerGroup) String() string {
5006	return awsutil.Prettify(s)
5007}
5008
5009// GoString returns the string representation
5010func (s ServerGroup) GoString() string {
5011	return s.String()
5012}
5013
5014// SetName sets the Name field's value.
5015func (s *ServerGroup) SetName(v string) *ServerGroup {
5016	s.Name = &v
5017	return s
5018}
5019
5020// SetServerGroupId sets the ServerGroupId field's value.
5021func (s *ServerGroup) SetServerGroupId(v string) *ServerGroup {
5022	s.ServerGroupId = &v
5023	return s
5024}
5025
5026// SetServerList sets the ServerList field's value.
5027func (s *ServerGroup) SetServerList(v []*Server) *ServerGroup {
5028	s.ServerList = v
5029	return s
5030}
5031
5032// Launch configuration for a server group.
5033type ServerGroupLaunchConfiguration struct {
5034	_ struct{} `type:"structure"`
5035
5036	// Launch order of servers in the server group.
5037	LaunchOrder *int64 `locationName:"launchOrder" type:"integer"`
5038
5039	// Identifier of the server group the launch configuration is associated with.
5040	ServerGroupId *string `locationName:"serverGroupId" type:"string"`
5041
5042	// Launch configuration for servers in the server group.
5043	ServerLaunchConfigurations []*ServerLaunchConfiguration `locationName:"serverLaunchConfigurations" type:"list"`
5044}
5045
5046// String returns the string representation
5047func (s ServerGroupLaunchConfiguration) String() string {
5048	return awsutil.Prettify(s)
5049}
5050
5051// GoString returns the string representation
5052func (s ServerGroupLaunchConfiguration) GoString() string {
5053	return s.String()
5054}
5055
5056// SetLaunchOrder sets the LaunchOrder field's value.
5057func (s *ServerGroupLaunchConfiguration) SetLaunchOrder(v int64) *ServerGroupLaunchConfiguration {
5058	s.LaunchOrder = &v
5059	return s
5060}
5061
5062// SetServerGroupId sets the ServerGroupId field's value.
5063func (s *ServerGroupLaunchConfiguration) SetServerGroupId(v string) *ServerGroupLaunchConfiguration {
5064	s.ServerGroupId = &v
5065	return s
5066}
5067
5068// SetServerLaunchConfigurations sets the ServerLaunchConfigurations field's value.
5069func (s *ServerGroupLaunchConfiguration) SetServerLaunchConfigurations(v []*ServerLaunchConfiguration) *ServerGroupLaunchConfiguration {
5070	s.ServerLaunchConfigurations = v
5071	return s
5072}
5073
5074// Replication configuration for a server group.
5075type ServerGroupReplicationConfiguration struct {
5076	_ struct{} `type:"structure"`
5077
5078	// Identifier of the server group this replication configuration is associated
5079	// with.
5080	ServerGroupId *string `locationName:"serverGroupId" type:"string"`
5081
5082	// Replication configuration for servers in the server group.
5083	ServerReplicationConfigurations []*ServerReplicationConfiguration `locationName:"serverReplicationConfigurations" type:"list"`
5084}
5085
5086// String returns the string representation
5087func (s ServerGroupReplicationConfiguration) String() string {
5088	return awsutil.Prettify(s)
5089}
5090
5091// GoString returns the string representation
5092func (s ServerGroupReplicationConfiguration) GoString() string {
5093	return s.String()
5094}
5095
5096// SetServerGroupId sets the ServerGroupId field's value.
5097func (s *ServerGroupReplicationConfiguration) SetServerGroupId(v string) *ServerGroupReplicationConfiguration {
5098	s.ServerGroupId = &v
5099	return s
5100}
5101
5102// SetServerReplicationConfigurations sets the ServerReplicationConfigurations field's value.
5103func (s *ServerGroupReplicationConfiguration) SetServerReplicationConfigurations(v []*ServerReplicationConfiguration) *ServerGroupReplicationConfiguration {
5104	s.ServerReplicationConfigurations = v
5105	return s
5106}
5107
5108// Launch configuration for a server.
5109type ServerLaunchConfiguration struct {
5110	_ struct{} `type:"structure"`
5111
5112	// If true, a publicly accessible IP address is created when launching the server.
5113	AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
5114
5115	// Name of the EC2 SSH Key to be used for connecting to the launched server.
5116	Ec2KeyName *string `locationName:"ec2KeyName" type:"string"`
5117
5118	// Instance type to be used for launching the server.
5119	InstanceType *string `locationName:"instanceType" type:"string"`
5120
5121	// Logical ID of the server in the Amazon CloudFormation template.
5122	LogicalId *string `locationName:"logicalId" type:"string"`
5123
5124	// Identifier of the security group that applies to the launched server.
5125	SecurityGroup *string `locationName:"securityGroup" type:"string"`
5126
5127	// Identifier of the server the launch configuration is associated with.
5128	Server *Server `locationName:"server" type:"structure"`
5129
5130	// Identifier of the subnet the server should be launched into.
5131	Subnet *string `locationName:"subnet" type:"string"`
5132
5133	// Location of the user-data script to be executed when launching the server.
5134	UserData *UserData `locationName:"userData" type:"structure"`
5135
5136	// Identifier of the VPC the server should be launched into.
5137	Vpc *string `locationName:"vpc" type:"string"`
5138}
5139
5140// String returns the string representation
5141func (s ServerLaunchConfiguration) String() string {
5142	return awsutil.Prettify(s)
5143}
5144
5145// GoString returns the string representation
5146func (s ServerLaunchConfiguration) GoString() string {
5147	return s.String()
5148}
5149
5150// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
5151func (s *ServerLaunchConfiguration) SetAssociatePublicIpAddress(v bool) *ServerLaunchConfiguration {
5152	s.AssociatePublicIpAddress = &v
5153	return s
5154}
5155
5156// SetEc2KeyName sets the Ec2KeyName field's value.
5157func (s *ServerLaunchConfiguration) SetEc2KeyName(v string) *ServerLaunchConfiguration {
5158	s.Ec2KeyName = &v
5159	return s
5160}
5161
5162// SetInstanceType sets the InstanceType field's value.
5163func (s *ServerLaunchConfiguration) SetInstanceType(v string) *ServerLaunchConfiguration {
5164	s.InstanceType = &v
5165	return s
5166}
5167
5168// SetLogicalId sets the LogicalId field's value.
5169func (s *ServerLaunchConfiguration) SetLogicalId(v string) *ServerLaunchConfiguration {
5170	s.LogicalId = &v
5171	return s
5172}
5173
5174// SetSecurityGroup sets the SecurityGroup field's value.
5175func (s *ServerLaunchConfiguration) SetSecurityGroup(v string) *ServerLaunchConfiguration {
5176	s.SecurityGroup = &v
5177	return s
5178}
5179
5180// SetServer sets the Server field's value.
5181func (s *ServerLaunchConfiguration) SetServer(v *Server) *ServerLaunchConfiguration {
5182	s.Server = v
5183	return s
5184}
5185
5186// SetSubnet sets the Subnet field's value.
5187func (s *ServerLaunchConfiguration) SetSubnet(v string) *ServerLaunchConfiguration {
5188	s.Subnet = &v
5189	return s
5190}
5191
5192// SetUserData sets the UserData field's value.
5193func (s *ServerLaunchConfiguration) SetUserData(v *UserData) *ServerLaunchConfiguration {
5194	s.UserData = v
5195	return s
5196}
5197
5198// SetVpc sets the Vpc field's value.
5199func (s *ServerLaunchConfiguration) SetVpc(v string) *ServerLaunchConfiguration {
5200	s.Vpc = &v
5201	return s
5202}
5203
5204// Replication configuration of a server.
5205type ServerReplicationConfiguration struct {
5206	_ struct{} `type:"structure"`
5207
5208	// Identifier of the server this replication configuration is associated with.
5209	Server *Server `locationName:"server" type:"structure"`
5210
5211	// Parameters for replicating the server.
5212	ServerReplicationParameters *ServerReplicationParameters `locationName:"serverReplicationParameters" type:"structure"`
5213}
5214
5215// String returns the string representation
5216func (s ServerReplicationConfiguration) String() string {
5217	return awsutil.Prettify(s)
5218}
5219
5220// GoString returns the string representation
5221func (s ServerReplicationConfiguration) GoString() string {
5222	return s.String()
5223}
5224
5225// SetServer sets the Server field's value.
5226func (s *ServerReplicationConfiguration) SetServer(v *Server) *ServerReplicationConfiguration {
5227	s.Server = v
5228	return s
5229}
5230
5231// SetServerReplicationParameters sets the ServerReplicationParameters field's value.
5232func (s *ServerReplicationConfiguration) SetServerReplicationParameters(v *ServerReplicationParameters) *ServerReplicationConfiguration {
5233	s.ServerReplicationParameters = v
5234	return s
5235}
5236
5237// Replication parameters for replicating a server.
5238type ServerReplicationParameters struct {
5239	_ struct{} `type:"structure"`
5240
5241	// When true, the replication job produces encrypted AMIs. See also KmsKeyId
5242	// below.
5243	Encrypted *bool `locationName:"encrypted" type:"boolean"`
5244
5245	// Frequency of creating replication jobs for the server.
5246	Frequency *int64 `locationName:"frequency" type:"integer"`
5247
5248	// KMS key ID for replication jobs that produce encrypted AMIs. Can be any of
5249	// the following:
5250	//
5251	//    * KMS key ID
5252	//
5253	//    * KMS key alias
5254	//
5255	//    * ARN referring to KMS key ID
5256	//
5257	//    * ARN referring to KMS key alias
5258	//
5259	// If encrypted is true but a KMS key id is not specified, the customer's default
5260	// KMS key for EBS is used.
5261	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
5262
5263	// License type for creating a replication job for the server.
5264	LicenseType *string `locationName:"licenseType" type:"string" enum:"LicenseType"`
5265
5266	// Number of recent AMIs to keep when creating a replication job for this server.
5267	NumberOfRecentAmisToKeep *int64 `locationName:"numberOfRecentAmisToKeep" type:"integer"`
5268
5269	RunOnce *bool `locationName:"runOnce" type:"boolean"`
5270
5271	// Seed time for creating a replication job for the server.
5272	SeedTime *time.Time `locationName:"seedTime" type:"timestamp"`
5273}
5274
5275// String returns the string representation
5276func (s ServerReplicationParameters) String() string {
5277	return awsutil.Prettify(s)
5278}
5279
5280// GoString returns the string representation
5281func (s ServerReplicationParameters) GoString() string {
5282	return s.String()
5283}
5284
5285// SetEncrypted sets the Encrypted field's value.
5286func (s *ServerReplicationParameters) SetEncrypted(v bool) *ServerReplicationParameters {
5287	s.Encrypted = &v
5288	return s
5289}
5290
5291// SetFrequency sets the Frequency field's value.
5292func (s *ServerReplicationParameters) SetFrequency(v int64) *ServerReplicationParameters {
5293	s.Frequency = &v
5294	return s
5295}
5296
5297// SetKmsKeyId sets the KmsKeyId field's value.
5298func (s *ServerReplicationParameters) SetKmsKeyId(v string) *ServerReplicationParameters {
5299	s.KmsKeyId = &v
5300	return s
5301}
5302
5303// SetLicenseType sets the LicenseType field's value.
5304func (s *ServerReplicationParameters) SetLicenseType(v string) *ServerReplicationParameters {
5305	s.LicenseType = &v
5306	return s
5307}
5308
5309// SetNumberOfRecentAmisToKeep sets the NumberOfRecentAmisToKeep field's value.
5310func (s *ServerReplicationParameters) SetNumberOfRecentAmisToKeep(v int64) *ServerReplicationParameters {
5311	s.NumberOfRecentAmisToKeep = &v
5312	return s
5313}
5314
5315// SetRunOnce sets the RunOnce field's value.
5316func (s *ServerReplicationParameters) SetRunOnce(v bool) *ServerReplicationParameters {
5317	s.RunOnce = &v
5318	return s
5319}
5320
5321// SetSeedTime sets the SeedTime field's value.
5322func (s *ServerReplicationParameters) SetSeedTime(v time.Time) *ServerReplicationParameters {
5323	s.SeedTime = &v
5324	return s
5325}
5326
5327type StartAppReplicationInput struct {
5328	_ struct{} `type:"structure"`
5329
5330	// ID of the application to replicate.
5331	AppId *string `locationName:"appId" type:"string"`
5332}
5333
5334// String returns the string representation
5335func (s StartAppReplicationInput) String() string {
5336	return awsutil.Prettify(s)
5337}
5338
5339// GoString returns the string representation
5340func (s StartAppReplicationInput) GoString() string {
5341	return s.String()
5342}
5343
5344// SetAppId sets the AppId field's value.
5345func (s *StartAppReplicationInput) SetAppId(v string) *StartAppReplicationInput {
5346	s.AppId = &v
5347	return s
5348}
5349
5350type StartAppReplicationOutput struct {
5351	_ struct{} `type:"structure"`
5352}
5353
5354// String returns the string representation
5355func (s StartAppReplicationOutput) String() string {
5356	return awsutil.Prettify(s)
5357}
5358
5359// GoString returns the string representation
5360func (s StartAppReplicationOutput) GoString() string {
5361	return s.String()
5362}
5363
5364type StartOnDemandReplicationRunInput struct {
5365	_ struct{} `type:"structure"`
5366
5367	// The description of the replication run.
5368	Description *string `locationName:"description" type:"string"`
5369
5370	// The identifier of the replication job.
5371	//
5372	// ReplicationJobId is a required field
5373	ReplicationJobId *string `locationName:"replicationJobId" type:"string" required:"true"`
5374}
5375
5376// String returns the string representation
5377func (s StartOnDemandReplicationRunInput) String() string {
5378	return awsutil.Prettify(s)
5379}
5380
5381// GoString returns the string representation
5382func (s StartOnDemandReplicationRunInput) GoString() string {
5383	return s.String()
5384}
5385
5386// Validate inspects the fields of the type to determine if they are valid.
5387func (s *StartOnDemandReplicationRunInput) Validate() error {
5388	invalidParams := request.ErrInvalidParams{Context: "StartOnDemandReplicationRunInput"}
5389	if s.ReplicationJobId == nil {
5390		invalidParams.Add(request.NewErrParamRequired("ReplicationJobId"))
5391	}
5392
5393	if invalidParams.Len() > 0 {
5394		return invalidParams
5395	}
5396	return nil
5397}
5398
5399// SetDescription sets the Description field's value.
5400func (s *StartOnDemandReplicationRunInput) SetDescription(v string) *StartOnDemandReplicationRunInput {
5401	s.Description = &v
5402	return s
5403}
5404
5405// SetReplicationJobId sets the ReplicationJobId field's value.
5406func (s *StartOnDemandReplicationRunInput) SetReplicationJobId(v string) *StartOnDemandReplicationRunInput {
5407	s.ReplicationJobId = &v
5408	return s
5409}
5410
5411type StartOnDemandReplicationRunOutput struct {
5412	_ struct{} `type:"structure"`
5413
5414	// The identifier of the replication run.
5415	ReplicationRunId *string `locationName:"replicationRunId" type:"string"`
5416}
5417
5418// String returns the string representation
5419func (s StartOnDemandReplicationRunOutput) String() string {
5420	return awsutil.Prettify(s)
5421}
5422
5423// GoString returns the string representation
5424func (s StartOnDemandReplicationRunOutput) GoString() string {
5425	return s.String()
5426}
5427
5428// SetReplicationRunId sets the ReplicationRunId field's value.
5429func (s *StartOnDemandReplicationRunOutput) SetReplicationRunId(v string) *StartOnDemandReplicationRunOutput {
5430	s.ReplicationRunId = &v
5431	return s
5432}
5433
5434type StopAppReplicationInput struct {
5435	_ struct{} `type:"structure"`
5436
5437	// ID of the application to stop replicating.
5438	AppId *string `locationName:"appId" type:"string"`
5439}
5440
5441// String returns the string representation
5442func (s StopAppReplicationInput) String() string {
5443	return awsutil.Prettify(s)
5444}
5445
5446// GoString returns the string representation
5447func (s StopAppReplicationInput) GoString() string {
5448	return s.String()
5449}
5450
5451// SetAppId sets the AppId field's value.
5452func (s *StopAppReplicationInput) SetAppId(v string) *StopAppReplicationInput {
5453	s.AppId = &v
5454	return s
5455}
5456
5457type StopAppReplicationOutput struct {
5458	_ struct{} `type:"structure"`
5459}
5460
5461// String returns the string representation
5462func (s StopAppReplicationOutput) String() string {
5463	return awsutil.Prettify(s)
5464}
5465
5466// GoString returns the string representation
5467func (s StopAppReplicationOutput) GoString() string {
5468	return s.String()
5469}
5470
5471// A label that can be assigned to an application.
5472type Tag struct {
5473	_ struct{} `type:"structure"`
5474
5475	// Tag key.
5476	Key *string `locationName:"key" type:"string"`
5477
5478	// Tag value.
5479	Value *string `locationName:"value" type:"string"`
5480}
5481
5482// String returns the string representation
5483func (s Tag) String() string {
5484	return awsutil.Prettify(s)
5485}
5486
5487// GoString returns the string representation
5488func (s Tag) GoString() string {
5489	return s.String()
5490}
5491
5492// SetKey sets the Key field's value.
5493func (s *Tag) SetKey(v string) *Tag {
5494	s.Key = &v
5495	return s
5496}
5497
5498// SetValue sets the Value field's value.
5499func (s *Tag) SetValue(v string) *Tag {
5500	s.Value = &v
5501	return s
5502}
5503
5504type TerminateAppInput struct {
5505	_ struct{} `type:"structure"`
5506
5507	// ID of the application to terminate.
5508	AppId *string `locationName:"appId" type:"string"`
5509}
5510
5511// String returns the string representation
5512func (s TerminateAppInput) String() string {
5513	return awsutil.Prettify(s)
5514}
5515
5516// GoString returns the string representation
5517func (s TerminateAppInput) GoString() string {
5518	return s.String()
5519}
5520
5521// SetAppId sets the AppId field's value.
5522func (s *TerminateAppInput) SetAppId(v string) *TerminateAppInput {
5523	s.AppId = &v
5524	return s
5525}
5526
5527type TerminateAppOutput struct {
5528	_ struct{} `type:"structure"`
5529}
5530
5531// String returns the string representation
5532func (s TerminateAppOutput) String() string {
5533	return awsutil.Prettify(s)
5534}
5535
5536// GoString returns the string representation
5537func (s TerminateAppOutput) GoString() string {
5538	return s.String()
5539}
5540
5541type UpdateAppInput struct {
5542	_ struct{} `type:"structure"`
5543
5544	// ID of the application to update.
5545	AppId *string `locationName:"appId" type:"string"`
5546
5547	// New description of the application.
5548	Description *string `locationName:"description" type:"string"`
5549
5550	// New name of the application.
5551	Name *string `locationName:"name" type:"string"`
5552
5553	// Name of the service role in the customer's account used by AWS SMS.
5554	RoleName *string `locationName:"roleName" type:"string"`
5555
5556	// List of server groups in the application to update.
5557	ServerGroups []*ServerGroup `locationName:"serverGroups" type:"list"`
5558
5559	// List of tags to associate with the application.
5560	Tags []*Tag `locationName:"tags" type:"list"`
5561}
5562
5563// String returns the string representation
5564func (s UpdateAppInput) String() string {
5565	return awsutil.Prettify(s)
5566}
5567
5568// GoString returns the string representation
5569func (s UpdateAppInput) GoString() string {
5570	return s.String()
5571}
5572
5573// SetAppId sets the AppId field's value.
5574func (s *UpdateAppInput) SetAppId(v string) *UpdateAppInput {
5575	s.AppId = &v
5576	return s
5577}
5578
5579// SetDescription sets the Description field's value.
5580func (s *UpdateAppInput) SetDescription(v string) *UpdateAppInput {
5581	s.Description = &v
5582	return s
5583}
5584
5585// SetName sets the Name field's value.
5586func (s *UpdateAppInput) SetName(v string) *UpdateAppInput {
5587	s.Name = &v
5588	return s
5589}
5590
5591// SetRoleName sets the RoleName field's value.
5592func (s *UpdateAppInput) SetRoleName(v string) *UpdateAppInput {
5593	s.RoleName = &v
5594	return s
5595}
5596
5597// SetServerGroups sets the ServerGroups field's value.
5598func (s *UpdateAppInput) SetServerGroups(v []*ServerGroup) *UpdateAppInput {
5599	s.ServerGroups = v
5600	return s
5601}
5602
5603// SetTags sets the Tags field's value.
5604func (s *UpdateAppInput) SetTags(v []*Tag) *UpdateAppInput {
5605	s.Tags = v
5606	return s
5607}
5608
5609type UpdateAppOutput struct {
5610	_ struct{} `type:"structure"`
5611
5612	// Summary description of the application.
5613	AppSummary *AppSummary `locationName:"appSummary" type:"structure"`
5614
5615	// List of updated server groups in the application.
5616	ServerGroups []*ServerGroup `locationName:"serverGroups" type:"list"`
5617
5618	// List of tags associated with the application.
5619	Tags []*Tag `locationName:"tags" type:"list"`
5620}
5621
5622// String returns the string representation
5623func (s UpdateAppOutput) String() string {
5624	return awsutil.Prettify(s)
5625}
5626
5627// GoString returns the string representation
5628func (s UpdateAppOutput) GoString() string {
5629	return s.String()
5630}
5631
5632// SetAppSummary sets the AppSummary field's value.
5633func (s *UpdateAppOutput) SetAppSummary(v *AppSummary) *UpdateAppOutput {
5634	s.AppSummary = v
5635	return s
5636}
5637
5638// SetServerGroups sets the ServerGroups field's value.
5639func (s *UpdateAppOutput) SetServerGroups(v []*ServerGroup) *UpdateAppOutput {
5640	s.ServerGroups = v
5641	return s
5642}
5643
5644// SetTags sets the Tags field's value.
5645func (s *UpdateAppOutput) SetTags(v []*Tag) *UpdateAppOutput {
5646	s.Tags = v
5647	return s
5648}
5649
5650type UpdateReplicationJobInput struct {
5651	_ struct{} `type:"structure"`
5652
5653	// The description of the replication job.
5654	Description *string `locationName:"description" type:"string"`
5655
5656	// When true, the replication job produces encrypted AMIs . See also KmsKeyId
5657	// below.
5658	Encrypted *bool `locationName:"encrypted" type:"boolean"`
5659
5660	// The time between consecutive replication runs, in hours.
5661	Frequency *int64 `locationName:"frequency" type:"integer"`
5662
5663	// KMS key ID for replication jobs that produce encrypted AMIs. Can be any of
5664	// the following:
5665	//
5666	//    * KMS key ID
5667	//
5668	//    * KMS key alias
5669	//
5670	//    * ARN referring to KMS key ID
5671	//
5672	//    * ARN referring to KMS key alias
5673	//
5674	// If encrypted is true but a KMS key id is not specified, the customer's default
5675	// KMS key for EBS is used.
5676	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
5677
5678	// The license type to be used for the AMI created by a successful replication
5679	// run.
5680	LicenseType *string `locationName:"licenseType" type:"string" enum:"LicenseType"`
5681
5682	// The start time of the next replication run.
5683	NextReplicationRunStartTime *time.Time `locationName:"nextReplicationRunStartTime" type:"timestamp"`
5684
5685	// The maximum number of SMS-created AMIs to retain. The oldest will be deleted
5686	// once the maximum number is reached and a new AMI is created.
5687	NumberOfRecentAmisToKeep *int64 `locationName:"numberOfRecentAmisToKeep" type:"integer"`
5688
5689	// The identifier of the replication job.
5690	//
5691	// ReplicationJobId is a required field
5692	ReplicationJobId *string `locationName:"replicationJobId" type:"string" required:"true"`
5693
5694	// The name of the IAM role to be used by AWS SMS.
5695	RoleName *string `locationName:"roleName" type:"string"`
5696}
5697
5698// String returns the string representation
5699func (s UpdateReplicationJobInput) String() string {
5700	return awsutil.Prettify(s)
5701}
5702
5703// GoString returns the string representation
5704func (s UpdateReplicationJobInput) GoString() string {
5705	return s.String()
5706}
5707
5708// Validate inspects the fields of the type to determine if they are valid.
5709func (s *UpdateReplicationJobInput) Validate() error {
5710	invalidParams := request.ErrInvalidParams{Context: "UpdateReplicationJobInput"}
5711	if s.ReplicationJobId == nil {
5712		invalidParams.Add(request.NewErrParamRequired("ReplicationJobId"))
5713	}
5714
5715	if invalidParams.Len() > 0 {
5716		return invalidParams
5717	}
5718	return nil
5719}
5720
5721// SetDescription sets the Description field's value.
5722func (s *UpdateReplicationJobInput) SetDescription(v string) *UpdateReplicationJobInput {
5723	s.Description = &v
5724	return s
5725}
5726
5727// SetEncrypted sets the Encrypted field's value.
5728func (s *UpdateReplicationJobInput) SetEncrypted(v bool) *UpdateReplicationJobInput {
5729	s.Encrypted = &v
5730	return s
5731}
5732
5733// SetFrequency sets the Frequency field's value.
5734func (s *UpdateReplicationJobInput) SetFrequency(v int64) *UpdateReplicationJobInput {
5735	s.Frequency = &v
5736	return s
5737}
5738
5739// SetKmsKeyId sets the KmsKeyId field's value.
5740func (s *UpdateReplicationJobInput) SetKmsKeyId(v string) *UpdateReplicationJobInput {
5741	s.KmsKeyId = &v
5742	return s
5743}
5744
5745// SetLicenseType sets the LicenseType field's value.
5746func (s *UpdateReplicationJobInput) SetLicenseType(v string) *UpdateReplicationJobInput {
5747	s.LicenseType = &v
5748	return s
5749}
5750
5751// SetNextReplicationRunStartTime sets the NextReplicationRunStartTime field's value.
5752func (s *UpdateReplicationJobInput) SetNextReplicationRunStartTime(v time.Time) *UpdateReplicationJobInput {
5753	s.NextReplicationRunStartTime = &v
5754	return s
5755}
5756
5757// SetNumberOfRecentAmisToKeep sets the NumberOfRecentAmisToKeep field's value.
5758func (s *UpdateReplicationJobInput) SetNumberOfRecentAmisToKeep(v int64) *UpdateReplicationJobInput {
5759	s.NumberOfRecentAmisToKeep = &v
5760	return s
5761}
5762
5763// SetReplicationJobId sets the ReplicationJobId field's value.
5764func (s *UpdateReplicationJobInput) SetReplicationJobId(v string) *UpdateReplicationJobInput {
5765	s.ReplicationJobId = &v
5766	return s
5767}
5768
5769// SetRoleName sets the RoleName field's value.
5770func (s *UpdateReplicationJobInput) SetRoleName(v string) *UpdateReplicationJobInput {
5771	s.RoleName = &v
5772	return s
5773}
5774
5775type UpdateReplicationJobOutput struct {
5776	_ struct{} `type:"structure"`
5777}
5778
5779// String returns the string representation
5780func (s UpdateReplicationJobOutput) String() string {
5781	return awsutil.Prettify(s)
5782}
5783
5784// GoString returns the string representation
5785func (s UpdateReplicationJobOutput) GoString() string {
5786	return s.String()
5787}
5788
5789// A script that runs on first launch of an Amazon EC2 instance. Used for configuring
5790// the server during launch.
5791type UserData struct {
5792	_ struct{} `type:"structure"`
5793
5794	// Amazon S3 location of the user-data script.
5795	S3Location *S3Location `locationName:"s3Location" type:"structure"`
5796}
5797
5798// String returns the string representation
5799func (s UserData) String() string {
5800	return awsutil.Prettify(s)
5801}
5802
5803// GoString returns the string representation
5804func (s UserData) GoString() string {
5805	return s.String()
5806}
5807
5808// SetS3Location sets the S3Location field's value.
5809func (s *UserData) SetS3Location(v *S3Location) *UserData {
5810	s.S3Location = v
5811	return s
5812}
5813
5814// Represents a VM server.
5815type VmServer struct {
5816	_ struct{} `type:"structure"`
5817
5818	// The name of the VM manager.
5819	VmManagerName *string `locationName:"vmManagerName" type:"string"`
5820
5821	// The type of VM management product.
5822	VmManagerType *string `locationName:"vmManagerType" type:"string" enum:"VmManagerType"`
5823
5824	// The name of the VM.
5825	VmName *string `locationName:"vmName" type:"string"`
5826
5827	// The VM folder path in the vCenter Server virtual machine inventory tree.
5828	VmPath *string `locationName:"vmPath" type:"string"`
5829
5830	// Information about the VM server location.
5831	VmServerAddress *VmServerAddress `locationName:"vmServerAddress" type:"structure"`
5832}
5833
5834// String returns the string representation
5835func (s VmServer) String() string {
5836	return awsutil.Prettify(s)
5837}
5838
5839// GoString returns the string representation
5840func (s VmServer) GoString() string {
5841	return s.String()
5842}
5843
5844// SetVmManagerName sets the VmManagerName field's value.
5845func (s *VmServer) SetVmManagerName(v string) *VmServer {
5846	s.VmManagerName = &v
5847	return s
5848}
5849
5850// SetVmManagerType sets the VmManagerType field's value.
5851func (s *VmServer) SetVmManagerType(v string) *VmServer {
5852	s.VmManagerType = &v
5853	return s
5854}
5855
5856// SetVmName sets the VmName field's value.
5857func (s *VmServer) SetVmName(v string) *VmServer {
5858	s.VmName = &v
5859	return s
5860}
5861
5862// SetVmPath sets the VmPath field's value.
5863func (s *VmServer) SetVmPath(v string) *VmServer {
5864	s.VmPath = &v
5865	return s
5866}
5867
5868// SetVmServerAddress sets the VmServerAddress field's value.
5869func (s *VmServer) SetVmServerAddress(v *VmServerAddress) *VmServer {
5870	s.VmServerAddress = v
5871	return s
5872}
5873
5874// Represents a VM server location.
5875type VmServerAddress struct {
5876	_ struct{} `type:"structure"`
5877
5878	// The identifier of the VM.
5879	VmId *string `locationName:"vmId" type:"string"`
5880
5881	// The identifier of the VM manager.
5882	VmManagerId *string `locationName:"vmManagerId" type:"string"`
5883}
5884
5885// String returns the string representation
5886func (s VmServerAddress) String() string {
5887	return awsutil.Prettify(s)
5888}
5889
5890// GoString returns the string representation
5891func (s VmServerAddress) GoString() string {
5892	return s.String()
5893}
5894
5895// SetVmId sets the VmId field's value.
5896func (s *VmServerAddress) SetVmId(v string) *VmServerAddress {
5897	s.VmId = &v
5898	return s
5899}
5900
5901// SetVmManagerId sets the VmManagerId field's value.
5902func (s *VmServerAddress) SetVmManagerId(v string) *VmServerAddress {
5903	s.VmManagerId = &v
5904	return s
5905}
5906
5907const (
5908	// AppLaunchStatusReadyForConfiguration is a AppLaunchStatus enum value
5909	AppLaunchStatusReadyForConfiguration = "READY_FOR_CONFIGURATION"
5910
5911	// AppLaunchStatusConfigurationInProgress is a AppLaunchStatus enum value
5912	AppLaunchStatusConfigurationInProgress = "CONFIGURATION_IN_PROGRESS"
5913
5914	// AppLaunchStatusConfigurationInvalid is a AppLaunchStatus enum value
5915	AppLaunchStatusConfigurationInvalid = "CONFIGURATION_INVALID"
5916
5917	// AppLaunchStatusReadyForLaunch is a AppLaunchStatus enum value
5918	AppLaunchStatusReadyForLaunch = "READY_FOR_LAUNCH"
5919
5920	// AppLaunchStatusValidationInProgress is a AppLaunchStatus enum value
5921	AppLaunchStatusValidationInProgress = "VALIDATION_IN_PROGRESS"
5922
5923	// AppLaunchStatusLaunchPending is a AppLaunchStatus enum value
5924	AppLaunchStatusLaunchPending = "LAUNCH_PENDING"
5925
5926	// AppLaunchStatusLaunchInProgress is a AppLaunchStatus enum value
5927	AppLaunchStatusLaunchInProgress = "LAUNCH_IN_PROGRESS"
5928
5929	// AppLaunchStatusLaunched is a AppLaunchStatus enum value
5930	AppLaunchStatusLaunched = "LAUNCHED"
5931
5932	// AppLaunchStatusDeltaLaunchInProgress is a AppLaunchStatus enum value
5933	AppLaunchStatusDeltaLaunchInProgress = "DELTA_LAUNCH_IN_PROGRESS"
5934
5935	// AppLaunchStatusDeltaLaunchFailed is a AppLaunchStatus enum value
5936	AppLaunchStatusDeltaLaunchFailed = "DELTA_LAUNCH_FAILED"
5937
5938	// AppLaunchStatusLaunchFailed is a AppLaunchStatus enum value
5939	AppLaunchStatusLaunchFailed = "LAUNCH_FAILED"
5940
5941	// AppLaunchStatusTerminateInProgress is a AppLaunchStatus enum value
5942	AppLaunchStatusTerminateInProgress = "TERMINATE_IN_PROGRESS"
5943
5944	// AppLaunchStatusTerminateFailed is a AppLaunchStatus enum value
5945	AppLaunchStatusTerminateFailed = "TERMINATE_FAILED"
5946
5947	// AppLaunchStatusTerminated is a AppLaunchStatus enum value
5948	AppLaunchStatusTerminated = "TERMINATED"
5949)
5950
5951const (
5952	// AppReplicationStatusReadyForConfiguration is a AppReplicationStatus enum value
5953	AppReplicationStatusReadyForConfiguration = "READY_FOR_CONFIGURATION"
5954
5955	// AppReplicationStatusConfigurationInProgress is a AppReplicationStatus enum value
5956	AppReplicationStatusConfigurationInProgress = "CONFIGURATION_IN_PROGRESS"
5957
5958	// AppReplicationStatusConfigurationInvalid is a AppReplicationStatus enum value
5959	AppReplicationStatusConfigurationInvalid = "CONFIGURATION_INVALID"
5960
5961	// AppReplicationStatusReadyForReplication is a AppReplicationStatus enum value
5962	AppReplicationStatusReadyForReplication = "READY_FOR_REPLICATION"
5963
5964	// AppReplicationStatusValidationInProgress is a AppReplicationStatus enum value
5965	AppReplicationStatusValidationInProgress = "VALIDATION_IN_PROGRESS"
5966
5967	// AppReplicationStatusReplicationPending is a AppReplicationStatus enum value
5968	AppReplicationStatusReplicationPending = "REPLICATION_PENDING"
5969
5970	// AppReplicationStatusReplicationInProgress is a AppReplicationStatus enum value
5971	AppReplicationStatusReplicationInProgress = "REPLICATION_IN_PROGRESS"
5972
5973	// AppReplicationStatusReplicated is a AppReplicationStatus enum value
5974	AppReplicationStatusReplicated = "REPLICATED"
5975
5976	// AppReplicationStatusDeltaReplicationInProgress is a AppReplicationStatus enum value
5977	AppReplicationStatusDeltaReplicationInProgress = "DELTA_REPLICATION_IN_PROGRESS"
5978
5979	// AppReplicationStatusDeltaReplicated is a AppReplicationStatus enum value
5980	AppReplicationStatusDeltaReplicated = "DELTA_REPLICATED"
5981
5982	// AppReplicationStatusDeltaReplicationFailed is a AppReplicationStatus enum value
5983	AppReplicationStatusDeltaReplicationFailed = "DELTA_REPLICATION_FAILED"
5984
5985	// AppReplicationStatusReplicationFailed is a AppReplicationStatus enum value
5986	AppReplicationStatusReplicationFailed = "REPLICATION_FAILED"
5987
5988	// AppReplicationStatusReplicationStopping is a AppReplicationStatus enum value
5989	AppReplicationStatusReplicationStopping = "REPLICATION_STOPPING"
5990
5991	// AppReplicationStatusReplicationStopFailed is a AppReplicationStatus enum value
5992	AppReplicationStatusReplicationStopFailed = "REPLICATION_STOP_FAILED"
5993
5994	// AppReplicationStatusReplicationStopped is a AppReplicationStatus enum value
5995	AppReplicationStatusReplicationStopped = "REPLICATION_STOPPED"
5996)
5997
5998const (
5999	// AppStatusCreating is a AppStatus enum value
6000	AppStatusCreating = "CREATING"
6001
6002	// AppStatusActive is a AppStatus enum value
6003	AppStatusActive = "ACTIVE"
6004
6005	// AppStatusUpdating is a AppStatus enum value
6006	AppStatusUpdating = "UPDATING"
6007
6008	// AppStatusDeleting is a AppStatus enum value
6009	AppStatusDeleting = "DELETING"
6010
6011	// AppStatusDeleted is a AppStatus enum value
6012	AppStatusDeleted = "DELETED"
6013
6014	// AppStatusDeleteFailed is a AppStatus enum value
6015	AppStatusDeleteFailed = "DELETE_FAILED"
6016)
6017
6018const (
6019	// ConnectorCapabilityVsphere is a ConnectorCapability enum value
6020	ConnectorCapabilityVsphere = "VSPHERE"
6021
6022	// ConnectorCapabilityScvmm is a ConnectorCapability enum value
6023	ConnectorCapabilityScvmm = "SCVMM"
6024
6025	// ConnectorCapabilityHypervManager is a ConnectorCapability enum value
6026	ConnectorCapabilityHypervManager = "HYPERV-MANAGER"
6027
6028	// ConnectorCapabilitySnapshotBatching is a ConnectorCapability enum value
6029	ConnectorCapabilitySnapshotBatching = "SNAPSHOT_BATCHING"
6030)
6031
6032const (
6033	// ConnectorStatusHealthy is a ConnectorStatus enum value
6034	ConnectorStatusHealthy = "HEALTHY"
6035
6036	// ConnectorStatusUnhealthy is a ConnectorStatus enum value
6037	ConnectorStatusUnhealthy = "UNHEALTHY"
6038)
6039
6040const (
6041	// LicenseTypeAws is a LicenseType enum value
6042	LicenseTypeAws = "AWS"
6043
6044	// LicenseTypeByol is a LicenseType enum value
6045	LicenseTypeByol = "BYOL"
6046)
6047
6048const (
6049	// OutputFormatJson is a OutputFormat enum value
6050	OutputFormatJson = "JSON"
6051
6052	// OutputFormatYaml is a OutputFormat enum value
6053	OutputFormatYaml = "YAML"
6054)
6055
6056const (
6057	// ReplicationJobStatePending is a ReplicationJobState enum value
6058	ReplicationJobStatePending = "PENDING"
6059
6060	// ReplicationJobStateActive is a ReplicationJobState enum value
6061	ReplicationJobStateActive = "ACTIVE"
6062
6063	// ReplicationJobStateFailed is a ReplicationJobState enum value
6064	ReplicationJobStateFailed = "FAILED"
6065
6066	// ReplicationJobStateDeleting is a ReplicationJobState enum value
6067	ReplicationJobStateDeleting = "DELETING"
6068
6069	// ReplicationJobStateDeleted is a ReplicationJobState enum value
6070	ReplicationJobStateDeleted = "DELETED"
6071
6072	// ReplicationJobStateCompleted is a ReplicationJobState enum value
6073	ReplicationJobStateCompleted = "COMPLETED"
6074
6075	// ReplicationJobStatePausedOnFailure is a ReplicationJobState enum value
6076	ReplicationJobStatePausedOnFailure = "PAUSED_ON_FAILURE"
6077
6078	// ReplicationJobStateFailing is a ReplicationJobState enum value
6079	ReplicationJobStateFailing = "FAILING"
6080)
6081
6082const (
6083	// ReplicationRunStatePending is a ReplicationRunState enum value
6084	ReplicationRunStatePending = "PENDING"
6085
6086	// ReplicationRunStateMissed is a ReplicationRunState enum value
6087	ReplicationRunStateMissed = "MISSED"
6088
6089	// ReplicationRunStateActive is a ReplicationRunState enum value
6090	ReplicationRunStateActive = "ACTIVE"
6091
6092	// ReplicationRunStateFailed is a ReplicationRunState enum value
6093	ReplicationRunStateFailed = "FAILED"
6094
6095	// ReplicationRunStateCompleted is a ReplicationRunState enum value
6096	ReplicationRunStateCompleted = "COMPLETED"
6097
6098	// ReplicationRunStateDeleting is a ReplicationRunState enum value
6099	ReplicationRunStateDeleting = "DELETING"
6100
6101	// ReplicationRunStateDeleted is a ReplicationRunState enum value
6102	ReplicationRunStateDeleted = "DELETED"
6103)
6104
6105const (
6106	// ReplicationRunTypeOnDemand is a ReplicationRunType enum value
6107	ReplicationRunTypeOnDemand = "ON_DEMAND"
6108
6109	// ReplicationRunTypeAutomatic is a ReplicationRunType enum value
6110	ReplicationRunTypeAutomatic = "AUTOMATIC"
6111)
6112
6113const (
6114	// ServerCatalogStatusNotImported is a ServerCatalogStatus enum value
6115	ServerCatalogStatusNotImported = "NOT_IMPORTED"
6116
6117	// ServerCatalogStatusImporting is a ServerCatalogStatus enum value
6118	ServerCatalogStatusImporting = "IMPORTING"
6119
6120	// ServerCatalogStatusAvailable is a ServerCatalogStatus enum value
6121	ServerCatalogStatusAvailable = "AVAILABLE"
6122
6123	// ServerCatalogStatusDeleted is a ServerCatalogStatus enum value
6124	ServerCatalogStatusDeleted = "DELETED"
6125
6126	// ServerCatalogStatusExpired is a ServerCatalogStatus enum value
6127	ServerCatalogStatusExpired = "EXPIRED"
6128)
6129
6130const (
6131	// ServerTypeVirtualMachine is a ServerType enum value
6132	ServerTypeVirtualMachine = "VIRTUAL_MACHINE"
6133)
6134
6135const (
6136	// VmManagerTypeVsphere is a VmManagerType enum value
6137	VmManagerTypeVsphere = "VSPHERE"
6138
6139	// VmManagerTypeScvmm is a VmManagerType enum value
6140	VmManagerTypeScvmm = "SCVMM"
6141
6142	// VmManagerTypeHypervManager is a VmManagerType enum value
6143	VmManagerTypeHypervManager = "HYPERV-MANAGER"
6144)
6145