1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package appconfig
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const opCreateApplication = "CreateApplication"
17
18// CreateApplicationRequest generates a "aws/request.Request" representing the
19// client's request for the CreateApplication operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See CreateApplication for more information on using the CreateApplication
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the CreateApplicationRequest method.
34//    req, resp := client.CreateApplicationRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateApplication
42func (c *AppConfig) CreateApplicationRequest(input *CreateApplicationInput) (req *request.Request, output *CreateApplicationOutput) {
43	op := &request.Operation{
44		Name:       opCreateApplication,
45		HTTPMethod: "POST",
46		HTTPPath:   "/applications",
47	}
48
49	if input == nil {
50		input = &CreateApplicationInput{}
51	}
52
53	output = &CreateApplicationOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// CreateApplication API operation for Amazon AppConfig.
59//
60// An application in AppConfig is a logical unit of code that provides capabilities
61// for your customers. For example, an application can be a microservice that
62// runs on Amazon EC2 instances, a mobile application installed by your users,
63// a serverless application using Amazon API Gateway and AWS Lambda, or any
64// system you run on behalf of others.
65//
66// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
67// with awserr.Error's Code and Message methods to get detailed information about
68// the error.
69//
70// See the AWS API reference guide for Amazon AppConfig's
71// API operation CreateApplication for usage and error information.
72//
73// Returned Error Types:
74//   * BadRequestException
75//   The input fails to satisfy the constraints specified by an AWS service.
76//
77//   * InternalServerException
78//   There was an internal failure in the AppConfig service.
79//
80// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateApplication
81func (c *AppConfig) CreateApplication(input *CreateApplicationInput) (*CreateApplicationOutput, error) {
82	req, out := c.CreateApplicationRequest(input)
83	return out, req.Send()
84}
85
86// CreateApplicationWithContext is the same as CreateApplication with the addition of
87// the ability to pass a context and additional request options.
88//
89// See CreateApplication for details on how to use this API operation.
90//
91// The context must be non-nil and will be used for request cancellation. If
92// the context is nil a panic will occur. In the future the SDK may create
93// sub-contexts for http.Requests. See https://golang.org/pkg/context/
94// for more information on using Contexts.
95func (c *AppConfig) CreateApplicationWithContext(ctx aws.Context, input *CreateApplicationInput, opts ...request.Option) (*CreateApplicationOutput, error) {
96	req, out := c.CreateApplicationRequest(input)
97	req.SetContext(ctx)
98	req.ApplyOptions(opts...)
99	return out, req.Send()
100}
101
102const opCreateConfigurationProfile = "CreateConfigurationProfile"
103
104// CreateConfigurationProfileRequest generates a "aws/request.Request" representing the
105// client's request for the CreateConfigurationProfile operation. The "output" return
106// value will be populated with the request's response once the request completes
107// successfully.
108//
109// Use "Send" method on the returned Request to send the API call to the service.
110// the "output" return value is not valid until after Send returns without error.
111//
112// See CreateConfigurationProfile for more information on using the CreateConfigurationProfile
113// API call, and error handling.
114//
115// This method is useful when you want to inject custom logic or configuration
116// into the SDK's request lifecycle. Such as custom headers, or retry logic.
117//
118//
119//    // Example sending a request using the CreateConfigurationProfileRequest method.
120//    req, resp := client.CreateConfigurationProfileRequest(params)
121//
122//    err := req.Send()
123//    if err == nil { // resp is now filled
124//        fmt.Println(resp)
125//    }
126//
127// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateConfigurationProfile
128func (c *AppConfig) CreateConfigurationProfileRequest(input *CreateConfigurationProfileInput) (req *request.Request, output *CreateConfigurationProfileOutput) {
129	op := &request.Operation{
130		Name:       opCreateConfigurationProfile,
131		HTTPMethod: "POST",
132		HTTPPath:   "/applications/{ApplicationId}/configurationprofiles",
133	}
134
135	if input == nil {
136		input = &CreateConfigurationProfileInput{}
137	}
138
139	output = &CreateConfigurationProfileOutput{}
140	req = c.newRequest(op, input, output)
141	return
142}
143
144// CreateConfigurationProfile API operation for Amazon AppConfig.
145//
146// Information that enables AppConfig to access the configuration source. Valid
147// configuration sources include Systems Manager (SSM) documents, SSM Parameter
148// Store parameters, and Amazon S3 objects. A configuration profile includes
149// the following information.
150//
151//    * The Uri location of the configuration data.
152//
153//    * The AWS Identity and Access Management (IAM) role that provides access
154//    to the configuration data.
155//
156//    * A validator for the configuration data. Available validators include
157//    either a JSON Schema or an AWS Lambda function.
158//
159// For more information, see Create a Configuration and a Configuration Profile
160// (http://docs.aws.amazon.com/systems-manager/latest/userguide/appconfig-creating-configuration-and-profile.html)
161// in the AWS AppConfig User Guide.
162//
163// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
164// with awserr.Error's Code and Message methods to get detailed information about
165// the error.
166//
167// See the AWS API reference guide for Amazon AppConfig's
168// API operation CreateConfigurationProfile for usage and error information.
169//
170// Returned Error Types:
171//   * BadRequestException
172//   The input fails to satisfy the constraints specified by an AWS service.
173//
174//   * ResourceNotFoundException
175//   The requested resource could not be found.
176//
177//   * InternalServerException
178//   There was an internal failure in the AppConfig service.
179//
180// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateConfigurationProfile
181func (c *AppConfig) CreateConfigurationProfile(input *CreateConfigurationProfileInput) (*CreateConfigurationProfileOutput, error) {
182	req, out := c.CreateConfigurationProfileRequest(input)
183	return out, req.Send()
184}
185
186// CreateConfigurationProfileWithContext is the same as CreateConfigurationProfile with the addition of
187// the ability to pass a context and additional request options.
188//
189// See CreateConfigurationProfile for details on how to use this API operation.
190//
191// The context must be non-nil and will be used for request cancellation. If
192// the context is nil a panic will occur. In the future the SDK may create
193// sub-contexts for http.Requests. See https://golang.org/pkg/context/
194// for more information on using Contexts.
195func (c *AppConfig) CreateConfigurationProfileWithContext(ctx aws.Context, input *CreateConfigurationProfileInput, opts ...request.Option) (*CreateConfigurationProfileOutput, error) {
196	req, out := c.CreateConfigurationProfileRequest(input)
197	req.SetContext(ctx)
198	req.ApplyOptions(opts...)
199	return out, req.Send()
200}
201
202const opCreateDeploymentStrategy = "CreateDeploymentStrategy"
203
204// CreateDeploymentStrategyRequest generates a "aws/request.Request" representing the
205// client's request for the CreateDeploymentStrategy operation. The "output" return
206// value will be populated with the request's response once the request completes
207// successfully.
208//
209// Use "Send" method on the returned Request to send the API call to the service.
210// the "output" return value is not valid until after Send returns without error.
211//
212// See CreateDeploymentStrategy for more information on using the CreateDeploymentStrategy
213// API call, and error handling.
214//
215// This method is useful when you want to inject custom logic or configuration
216// into the SDK's request lifecycle. Such as custom headers, or retry logic.
217//
218//
219//    // Example sending a request using the CreateDeploymentStrategyRequest method.
220//    req, resp := client.CreateDeploymentStrategyRequest(params)
221//
222//    err := req.Send()
223//    if err == nil { // resp is now filled
224//        fmt.Println(resp)
225//    }
226//
227// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateDeploymentStrategy
228func (c *AppConfig) CreateDeploymentStrategyRequest(input *CreateDeploymentStrategyInput) (req *request.Request, output *CreateDeploymentStrategyOutput) {
229	op := &request.Operation{
230		Name:       opCreateDeploymentStrategy,
231		HTTPMethod: "POST",
232		HTTPPath:   "/deploymentstrategies",
233	}
234
235	if input == nil {
236		input = &CreateDeploymentStrategyInput{}
237	}
238
239	output = &CreateDeploymentStrategyOutput{}
240	req = c.newRequest(op, input, output)
241	return
242}
243
244// CreateDeploymentStrategy API operation for Amazon AppConfig.
245//
246// A deployment strategy defines important criteria for rolling out your configuration
247// to the designated targets. A deployment strategy includes: the overall duration
248// required, a percentage of targets to receive the deployment during each interval,
249// an algorithm that defines how percentage grows, and bake time.
250//
251// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
252// with awserr.Error's Code and Message methods to get detailed information about
253// the error.
254//
255// See the AWS API reference guide for Amazon AppConfig's
256// API operation CreateDeploymentStrategy for usage and error information.
257//
258// Returned Error Types:
259//   * InternalServerException
260//   There was an internal failure in the AppConfig service.
261//
262//   * BadRequestException
263//   The input fails to satisfy the constraints specified by an AWS service.
264//
265// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateDeploymentStrategy
266func (c *AppConfig) CreateDeploymentStrategy(input *CreateDeploymentStrategyInput) (*CreateDeploymentStrategyOutput, error) {
267	req, out := c.CreateDeploymentStrategyRequest(input)
268	return out, req.Send()
269}
270
271// CreateDeploymentStrategyWithContext is the same as CreateDeploymentStrategy with the addition of
272// the ability to pass a context and additional request options.
273//
274// See CreateDeploymentStrategy for details on how to use this API operation.
275//
276// The context must be non-nil and will be used for request cancellation. If
277// the context is nil a panic will occur. In the future the SDK may create
278// sub-contexts for http.Requests. See https://golang.org/pkg/context/
279// for more information on using Contexts.
280func (c *AppConfig) CreateDeploymentStrategyWithContext(ctx aws.Context, input *CreateDeploymentStrategyInput, opts ...request.Option) (*CreateDeploymentStrategyOutput, error) {
281	req, out := c.CreateDeploymentStrategyRequest(input)
282	req.SetContext(ctx)
283	req.ApplyOptions(opts...)
284	return out, req.Send()
285}
286
287const opCreateEnvironment = "CreateEnvironment"
288
289// CreateEnvironmentRequest generates a "aws/request.Request" representing the
290// client's request for the CreateEnvironment operation. The "output" return
291// value will be populated with the request's response once the request completes
292// successfully.
293//
294// Use "Send" method on the returned Request to send the API call to the service.
295// the "output" return value is not valid until after Send returns without error.
296//
297// See CreateEnvironment for more information on using the CreateEnvironment
298// API call, and error handling.
299//
300// This method is useful when you want to inject custom logic or configuration
301// into the SDK's request lifecycle. Such as custom headers, or retry logic.
302//
303//
304//    // Example sending a request using the CreateEnvironmentRequest method.
305//    req, resp := client.CreateEnvironmentRequest(params)
306//
307//    err := req.Send()
308//    if err == nil { // resp is now filled
309//        fmt.Println(resp)
310//    }
311//
312// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateEnvironment
313func (c *AppConfig) CreateEnvironmentRequest(input *CreateEnvironmentInput) (req *request.Request, output *CreateEnvironmentOutput) {
314	op := &request.Operation{
315		Name:       opCreateEnvironment,
316		HTTPMethod: "POST",
317		HTTPPath:   "/applications/{ApplicationId}/environments",
318	}
319
320	if input == nil {
321		input = &CreateEnvironmentInput{}
322	}
323
324	output = &CreateEnvironmentOutput{}
325	req = c.newRequest(op, input, output)
326	return
327}
328
329// CreateEnvironment API operation for Amazon AppConfig.
330//
331// For each application, you define one or more environments. An environment
332// is a logical deployment group of AppConfig targets, such as applications
333// in a Beta or Production environment. You can also define environments for
334// application subcomponents such as the Web, Mobile and Back-end components
335// for your application. You can configure Amazon CloudWatch alarms for each
336// environment. The system monitors alarms during a configuration deployment.
337// If an alarm is triggered, the system rolls back the configuration.
338//
339// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
340// with awserr.Error's Code and Message methods to get detailed information about
341// the error.
342//
343// See the AWS API reference guide for Amazon AppConfig's
344// API operation CreateEnvironment for usage and error information.
345//
346// Returned Error Types:
347//   * InternalServerException
348//   There was an internal failure in the AppConfig service.
349//
350//   * ResourceNotFoundException
351//   The requested resource could not be found.
352//
353//   * BadRequestException
354//   The input fails to satisfy the constraints specified by an AWS service.
355//
356// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateEnvironment
357func (c *AppConfig) CreateEnvironment(input *CreateEnvironmentInput) (*CreateEnvironmentOutput, error) {
358	req, out := c.CreateEnvironmentRequest(input)
359	return out, req.Send()
360}
361
362// CreateEnvironmentWithContext is the same as CreateEnvironment with the addition of
363// the ability to pass a context and additional request options.
364//
365// See CreateEnvironment for details on how to use this API operation.
366//
367// The context must be non-nil and will be used for request cancellation. If
368// the context is nil a panic will occur. In the future the SDK may create
369// sub-contexts for http.Requests. See https://golang.org/pkg/context/
370// for more information on using Contexts.
371func (c *AppConfig) CreateEnvironmentWithContext(ctx aws.Context, input *CreateEnvironmentInput, opts ...request.Option) (*CreateEnvironmentOutput, error) {
372	req, out := c.CreateEnvironmentRequest(input)
373	req.SetContext(ctx)
374	req.ApplyOptions(opts...)
375	return out, req.Send()
376}
377
378const opCreateHostedConfigurationVersion = "CreateHostedConfigurationVersion"
379
380// CreateHostedConfigurationVersionRequest generates a "aws/request.Request" representing the
381// client's request for the CreateHostedConfigurationVersion operation. The "output" return
382// value will be populated with the request's response once the request completes
383// successfully.
384//
385// Use "Send" method on the returned Request to send the API call to the service.
386// the "output" return value is not valid until after Send returns without error.
387//
388// See CreateHostedConfigurationVersion for more information on using the CreateHostedConfigurationVersion
389// API call, and error handling.
390//
391// This method is useful when you want to inject custom logic or configuration
392// into the SDK's request lifecycle. Such as custom headers, or retry logic.
393//
394//
395//    // Example sending a request using the CreateHostedConfigurationVersionRequest method.
396//    req, resp := client.CreateHostedConfigurationVersionRequest(params)
397//
398//    err := req.Send()
399//    if err == nil { // resp is now filled
400//        fmt.Println(resp)
401//    }
402//
403// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateHostedConfigurationVersion
404func (c *AppConfig) CreateHostedConfigurationVersionRequest(input *CreateHostedConfigurationVersionInput) (req *request.Request, output *CreateHostedConfigurationVersionOutput) {
405	op := &request.Operation{
406		Name:       opCreateHostedConfigurationVersion,
407		HTTPMethod: "POST",
408		HTTPPath:   "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}/hostedconfigurationversions",
409	}
410
411	if input == nil {
412		input = &CreateHostedConfigurationVersionInput{}
413	}
414
415	output = &CreateHostedConfigurationVersionOutput{}
416	req = c.newRequest(op, input, output)
417	return
418}
419
420// CreateHostedConfigurationVersion API operation for Amazon AppConfig.
421//
422// Create a new configuration in the AppConfig configuration store.
423//
424// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
425// with awserr.Error's Code and Message methods to get detailed information about
426// the error.
427//
428// See the AWS API reference guide for Amazon AppConfig's
429// API operation CreateHostedConfigurationVersion for usage and error information.
430//
431// Returned Error Types:
432//   * BadRequestException
433//   The input fails to satisfy the constraints specified by an AWS service.
434//
435//   * ServiceQuotaExceededException
436//   The number of hosted configuration versions exceeds the limit for the AppConfig
437//   configuration store. Delete one or more versions and try again.
438//
439//   * ResourceNotFoundException
440//   The requested resource could not be found.
441//
442//   * ConflictException
443//   The request could not be processed because of conflict in the current state
444//   of the resource.
445//
446//   * PayloadTooLargeException
447//   The configuration size is too large.
448//
449//   * InternalServerException
450//   There was an internal failure in the AppConfig service.
451//
452// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/CreateHostedConfigurationVersion
453func (c *AppConfig) CreateHostedConfigurationVersion(input *CreateHostedConfigurationVersionInput) (*CreateHostedConfigurationVersionOutput, error) {
454	req, out := c.CreateHostedConfigurationVersionRequest(input)
455	return out, req.Send()
456}
457
458// CreateHostedConfigurationVersionWithContext is the same as CreateHostedConfigurationVersion with the addition of
459// the ability to pass a context and additional request options.
460//
461// See CreateHostedConfigurationVersion for details on how to use this API operation.
462//
463// The context must be non-nil and will be used for request cancellation. If
464// the context is nil a panic will occur. In the future the SDK may create
465// sub-contexts for http.Requests. See https://golang.org/pkg/context/
466// for more information on using Contexts.
467func (c *AppConfig) CreateHostedConfigurationVersionWithContext(ctx aws.Context, input *CreateHostedConfigurationVersionInput, opts ...request.Option) (*CreateHostedConfigurationVersionOutput, error) {
468	req, out := c.CreateHostedConfigurationVersionRequest(input)
469	req.SetContext(ctx)
470	req.ApplyOptions(opts...)
471	return out, req.Send()
472}
473
474const opDeleteApplication = "DeleteApplication"
475
476// DeleteApplicationRequest generates a "aws/request.Request" representing the
477// client's request for the DeleteApplication operation. The "output" return
478// value will be populated with the request's response once the request completes
479// successfully.
480//
481// Use "Send" method on the returned Request to send the API call to the service.
482// the "output" return value is not valid until after Send returns without error.
483//
484// See DeleteApplication for more information on using the DeleteApplication
485// API call, and error handling.
486//
487// This method is useful when you want to inject custom logic or configuration
488// into the SDK's request lifecycle. Such as custom headers, or retry logic.
489//
490//
491//    // Example sending a request using the DeleteApplicationRequest method.
492//    req, resp := client.DeleteApplicationRequest(params)
493//
494//    err := req.Send()
495//    if err == nil { // resp is now filled
496//        fmt.Println(resp)
497//    }
498//
499// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteApplication
500func (c *AppConfig) DeleteApplicationRequest(input *DeleteApplicationInput) (req *request.Request, output *DeleteApplicationOutput) {
501	op := &request.Operation{
502		Name:       opDeleteApplication,
503		HTTPMethod: "DELETE",
504		HTTPPath:   "/applications/{ApplicationId}",
505	}
506
507	if input == nil {
508		input = &DeleteApplicationInput{}
509	}
510
511	output = &DeleteApplicationOutput{}
512	req = c.newRequest(op, input, output)
513	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
514	return
515}
516
517// DeleteApplication API operation for Amazon AppConfig.
518//
519// Delete an application. Deleting an application does not delete a configuration
520// from a host.
521//
522// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
523// with awserr.Error's Code and Message methods to get detailed information about
524// the error.
525//
526// See the AWS API reference guide for Amazon AppConfig's
527// API operation DeleteApplication for usage and error information.
528//
529// Returned Error Types:
530//   * ResourceNotFoundException
531//   The requested resource could not be found.
532//
533//   * InternalServerException
534//   There was an internal failure in the AppConfig service.
535//
536//   * BadRequestException
537//   The input fails to satisfy the constraints specified by an AWS service.
538//
539// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteApplication
540func (c *AppConfig) DeleteApplication(input *DeleteApplicationInput) (*DeleteApplicationOutput, error) {
541	req, out := c.DeleteApplicationRequest(input)
542	return out, req.Send()
543}
544
545// DeleteApplicationWithContext is the same as DeleteApplication with the addition of
546// the ability to pass a context and additional request options.
547//
548// See DeleteApplication for details on how to use this API operation.
549//
550// The context must be non-nil and will be used for request cancellation. If
551// the context is nil a panic will occur. In the future the SDK may create
552// sub-contexts for http.Requests. See https://golang.org/pkg/context/
553// for more information on using Contexts.
554func (c *AppConfig) DeleteApplicationWithContext(ctx aws.Context, input *DeleteApplicationInput, opts ...request.Option) (*DeleteApplicationOutput, error) {
555	req, out := c.DeleteApplicationRequest(input)
556	req.SetContext(ctx)
557	req.ApplyOptions(opts...)
558	return out, req.Send()
559}
560
561const opDeleteConfigurationProfile = "DeleteConfigurationProfile"
562
563// DeleteConfigurationProfileRequest generates a "aws/request.Request" representing the
564// client's request for the DeleteConfigurationProfile operation. The "output" return
565// value will be populated with the request's response once the request completes
566// successfully.
567//
568// Use "Send" method on the returned Request to send the API call to the service.
569// the "output" return value is not valid until after Send returns without error.
570//
571// See DeleteConfigurationProfile for more information on using the DeleteConfigurationProfile
572// API call, and error handling.
573//
574// This method is useful when you want to inject custom logic or configuration
575// into the SDK's request lifecycle. Such as custom headers, or retry logic.
576//
577//
578//    // Example sending a request using the DeleteConfigurationProfileRequest method.
579//    req, resp := client.DeleteConfigurationProfileRequest(params)
580//
581//    err := req.Send()
582//    if err == nil { // resp is now filled
583//        fmt.Println(resp)
584//    }
585//
586// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteConfigurationProfile
587func (c *AppConfig) DeleteConfigurationProfileRequest(input *DeleteConfigurationProfileInput) (req *request.Request, output *DeleteConfigurationProfileOutput) {
588	op := &request.Operation{
589		Name:       opDeleteConfigurationProfile,
590		HTTPMethod: "DELETE",
591		HTTPPath:   "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}",
592	}
593
594	if input == nil {
595		input = &DeleteConfigurationProfileInput{}
596	}
597
598	output = &DeleteConfigurationProfileOutput{}
599	req = c.newRequest(op, input, output)
600	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
601	return
602}
603
604// DeleteConfigurationProfile API operation for Amazon AppConfig.
605//
606// Delete a configuration profile. Deleting a configuration profile does not
607// delete a configuration from a host.
608//
609// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
610// with awserr.Error's Code and Message methods to get detailed information about
611// the error.
612//
613// See the AWS API reference guide for Amazon AppConfig's
614// API operation DeleteConfigurationProfile for usage and error information.
615//
616// Returned Error Types:
617//   * ResourceNotFoundException
618//   The requested resource could not be found.
619//
620//   * ConflictException
621//   The request could not be processed because of conflict in the current state
622//   of the resource.
623//
624//   * InternalServerException
625//   There was an internal failure in the AppConfig service.
626//
627//   * BadRequestException
628//   The input fails to satisfy the constraints specified by an AWS service.
629//
630// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteConfigurationProfile
631func (c *AppConfig) DeleteConfigurationProfile(input *DeleteConfigurationProfileInput) (*DeleteConfigurationProfileOutput, error) {
632	req, out := c.DeleteConfigurationProfileRequest(input)
633	return out, req.Send()
634}
635
636// DeleteConfigurationProfileWithContext is the same as DeleteConfigurationProfile with the addition of
637// the ability to pass a context and additional request options.
638//
639// See DeleteConfigurationProfile for details on how to use this API operation.
640//
641// The context must be non-nil and will be used for request cancellation. If
642// the context is nil a panic will occur. In the future the SDK may create
643// sub-contexts for http.Requests. See https://golang.org/pkg/context/
644// for more information on using Contexts.
645func (c *AppConfig) DeleteConfigurationProfileWithContext(ctx aws.Context, input *DeleteConfigurationProfileInput, opts ...request.Option) (*DeleteConfigurationProfileOutput, error) {
646	req, out := c.DeleteConfigurationProfileRequest(input)
647	req.SetContext(ctx)
648	req.ApplyOptions(opts...)
649	return out, req.Send()
650}
651
652const opDeleteDeploymentStrategy = "DeleteDeploymentStrategy"
653
654// DeleteDeploymentStrategyRequest generates a "aws/request.Request" representing the
655// client's request for the DeleteDeploymentStrategy operation. The "output" return
656// value will be populated with the request's response once the request completes
657// successfully.
658//
659// Use "Send" method on the returned Request to send the API call to the service.
660// the "output" return value is not valid until after Send returns without error.
661//
662// See DeleteDeploymentStrategy for more information on using the DeleteDeploymentStrategy
663// API call, and error handling.
664//
665// This method is useful when you want to inject custom logic or configuration
666// into the SDK's request lifecycle. Such as custom headers, or retry logic.
667//
668//
669//    // Example sending a request using the DeleteDeploymentStrategyRequest method.
670//    req, resp := client.DeleteDeploymentStrategyRequest(params)
671//
672//    err := req.Send()
673//    if err == nil { // resp is now filled
674//        fmt.Println(resp)
675//    }
676//
677// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteDeploymentStrategy
678func (c *AppConfig) DeleteDeploymentStrategyRequest(input *DeleteDeploymentStrategyInput) (req *request.Request, output *DeleteDeploymentStrategyOutput) {
679	op := &request.Operation{
680		Name:       opDeleteDeploymentStrategy,
681		HTTPMethod: "DELETE",
682		HTTPPath:   "/deployementstrategies/{DeploymentStrategyId}",
683	}
684
685	if input == nil {
686		input = &DeleteDeploymentStrategyInput{}
687	}
688
689	output = &DeleteDeploymentStrategyOutput{}
690	req = c.newRequest(op, input, output)
691	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
692	return
693}
694
695// DeleteDeploymentStrategy API operation for Amazon AppConfig.
696//
697// Delete a deployment strategy. Deleting a deployment strategy does not delete
698// a configuration from a host.
699//
700// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
701// with awserr.Error's Code and Message methods to get detailed information about
702// the error.
703//
704// See the AWS API reference guide for Amazon AppConfig's
705// API operation DeleteDeploymentStrategy for usage and error information.
706//
707// Returned Error Types:
708//   * ResourceNotFoundException
709//   The requested resource could not be found.
710//
711//   * InternalServerException
712//   There was an internal failure in the AppConfig service.
713//
714//   * BadRequestException
715//   The input fails to satisfy the constraints specified by an AWS service.
716//
717// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteDeploymentStrategy
718func (c *AppConfig) DeleteDeploymentStrategy(input *DeleteDeploymentStrategyInput) (*DeleteDeploymentStrategyOutput, error) {
719	req, out := c.DeleteDeploymentStrategyRequest(input)
720	return out, req.Send()
721}
722
723// DeleteDeploymentStrategyWithContext is the same as DeleteDeploymentStrategy with the addition of
724// the ability to pass a context and additional request options.
725//
726// See DeleteDeploymentStrategy for details on how to use this API operation.
727//
728// The context must be non-nil and will be used for request cancellation. If
729// the context is nil a panic will occur. In the future the SDK may create
730// sub-contexts for http.Requests. See https://golang.org/pkg/context/
731// for more information on using Contexts.
732func (c *AppConfig) DeleteDeploymentStrategyWithContext(ctx aws.Context, input *DeleteDeploymentStrategyInput, opts ...request.Option) (*DeleteDeploymentStrategyOutput, error) {
733	req, out := c.DeleteDeploymentStrategyRequest(input)
734	req.SetContext(ctx)
735	req.ApplyOptions(opts...)
736	return out, req.Send()
737}
738
739const opDeleteEnvironment = "DeleteEnvironment"
740
741// DeleteEnvironmentRequest generates a "aws/request.Request" representing the
742// client's request for the DeleteEnvironment operation. The "output" return
743// value will be populated with the request's response once the request completes
744// successfully.
745//
746// Use "Send" method on the returned Request to send the API call to the service.
747// the "output" return value is not valid until after Send returns without error.
748//
749// See DeleteEnvironment for more information on using the DeleteEnvironment
750// API call, and error handling.
751//
752// This method is useful when you want to inject custom logic or configuration
753// into the SDK's request lifecycle. Such as custom headers, or retry logic.
754//
755//
756//    // Example sending a request using the DeleteEnvironmentRequest method.
757//    req, resp := client.DeleteEnvironmentRequest(params)
758//
759//    err := req.Send()
760//    if err == nil { // resp is now filled
761//        fmt.Println(resp)
762//    }
763//
764// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteEnvironment
765func (c *AppConfig) DeleteEnvironmentRequest(input *DeleteEnvironmentInput) (req *request.Request, output *DeleteEnvironmentOutput) {
766	op := &request.Operation{
767		Name:       opDeleteEnvironment,
768		HTTPMethod: "DELETE",
769		HTTPPath:   "/applications/{ApplicationId}/environments/{EnvironmentId}",
770	}
771
772	if input == nil {
773		input = &DeleteEnvironmentInput{}
774	}
775
776	output = &DeleteEnvironmentOutput{}
777	req = c.newRequest(op, input, output)
778	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
779	return
780}
781
782// DeleteEnvironment API operation for Amazon AppConfig.
783//
784// Delete an environment. Deleting an environment does not delete a configuration
785// from a host.
786//
787// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
788// with awserr.Error's Code and Message methods to get detailed information about
789// the error.
790//
791// See the AWS API reference guide for Amazon AppConfig's
792// API operation DeleteEnvironment for usage and error information.
793//
794// Returned Error Types:
795//   * ResourceNotFoundException
796//   The requested resource could not be found.
797//
798//   * ConflictException
799//   The request could not be processed because of conflict in the current state
800//   of the resource.
801//
802//   * InternalServerException
803//   There was an internal failure in the AppConfig service.
804//
805//   * BadRequestException
806//   The input fails to satisfy the constraints specified by an AWS service.
807//
808// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteEnvironment
809func (c *AppConfig) DeleteEnvironment(input *DeleteEnvironmentInput) (*DeleteEnvironmentOutput, error) {
810	req, out := c.DeleteEnvironmentRequest(input)
811	return out, req.Send()
812}
813
814// DeleteEnvironmentWithContext is the same as DeleteEnvironment with the addition of
815// the ability to pass a context and additional request options.
816//
817// See DeleteEnvironment for details on how to use this API operation.
818//
819// The context must be non-nil and will be used for request cancellation. If
820// the context is nil a panic will occur. In the future the SDK may create
821// sub-contexts for http.Requests. See https://golang.org/pkg/context/
822// for more information on using Contexts.
823func (c *AppConfig) DeleteEnvironmentWithContext(ctx aws.Context, input *DeleteEnvironmentInput, opts ...request.Option) (*DeleteEnvironmentOutput, error) {
824	req, out := c.DeleteEnvironmentRequest(input)
825	req.SetContext(ctx)
826	req.ApplyOptions(opts...)
827	return out, req.Send()
828}
829
830const opDeleteHostedConfigurationVersion = "DeleteHostedConfigurationVersion"
831
832// DeleteHostedConfigurationVersionRequest generates a "aws/request.Request" representing the
833// client's request for the DeleteHostedConfigurationVersion operation. The "output" return
834// value will be populated with the request's response once the request completes
835// successfully.
836//
837// Use "Send" method on the returned Request to send the API call to the service.
838// the "output" return value is not valid until after Send returns without error.
839//
840// See DeleteHostedConfigurationVersion for more information on using the DeleteHostedConfigurationVersion
841// API call, and error handling.
842//
843// This method is useful when you want to inject custom logic or configuration
844// into the SDK's request lifecycle. Such as custom headers, or retry logic.
845//
846//
847//    // Example sending a request using the DeleteHostedConfigurationVersionRequest method.
848//    req, resp := client.DeleteHostedConfigurationVersionRequest(params)
849//
850//    err := req.Send()
851//    if err == nil { // resp is now filled
852//        fmt.Println(resp)
853//    }
854//
855// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteHostedConfigurationVersion
856func (c *AppConfig) DeleteHostedConfigurationVersionRequest(input *DeleteHostedConfigurationVersionInput) (req *request.Request, output *DeleteHostedConfigurationVersionOutput) {
857	op := &request.Operation{
858		Name:       opDeleteHostedConfigurationVersion,
859		HTTPMethod: "DELETE",
860		HTTPPath:   "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}/hostedconfigurationversions/{VersionNumber}",
861	}
862
863	if input == nil {
864		input = &DeleteHostedConfigurationVersionInput{}
865	}
866
867	output = &DeleteHostedConfigurationVersionOutput{}
868	req = c.newRequest(op, input, output)
869	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
870	return
871}
872
873// DeleteHostedConfigurationVersion API operation for Amazon AppConfig.
874//
875// Delete a version of a configuration from the AppConfig configuration store.
876//
877// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
878// with awserr.Error's Code and Message methods to get detailed information about
879// the error.
880//
881// See the AWS API reference guide for Amazon AppConfig's
882// API operation DeleteHostedConfigurationVersion for usage and error information.
883//
884// Returned Error Types:
885//   * BadRequestException
886//   The input fails to satisfy the constraints specified by an AWS service.
887//
888//   * ResourceNotFoundException
889//   The requested resource could not be found.
890//
891//   * InternalServerException
892//   There was an internal failure in the AppConfig service.
893//
894// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/DeleteHostedConfigurationVersion
895func (c *AppConfig) DeleteHostedConfigurationVersion(input *DeleteHostedConfigurationVersionInput) (*DeleteHostedConfigurationVersionOutput, error) {
896	req, out := c.DeleteHostedConfigurationVersionRequest(input)
897	return out, req.Send()
898}
899
900// DeleteHostedConfigurationVersionWithContext is the same as DeleteHostedConfigurationVersion with the addition of
901// the ability to pass a context and additional request options.
902//
903// See DeleteHostedConfigurationVersion for details on how to use this API operation.
904//
905// The context must be non-nil and will be used for request cancellation. If
906// the context is nil a panic will occur. In the future the SDK may create
907// sub-contexts for http.Requests. See https://golang.org/pkg/context/
908// for more information on using Contexts.
909func (c *AppConfig) DeleteHostedConfigurationVersionWithContext(ctx aws.Context, input *DeleteHostedConfigurationVersionInput, opts ...request.Option) (*DeleteHostedConfigurationVersionOutput, error) {
910	req, out := c.DeleteHostedConfigurationVersionRequest(input)
911	req.SetContext(ctx)
912	req.ApplyOptions(opts...)
913	return out, req.Send()
914}
915
916const opGetApplication = "GetApplication"
917
918// GetApplicationRequest generates a "aws/request.Request" representing the
919// client's request for the GetApplication operation. The "output" return
920// value will be populated with the request's response once the request completes
921// successfully.
922//
923// Use "Send" method on the returned Request to send the API call to the service.
924// the "output" return value is not valid until after Send returns without error.
925//
926// See GetApplication for more information on using the GetApplication
927// API call, and error handling.
928//
929// This method is useful when you want to inject custom logic or configuration
930// into the SDK's request lifecycle. Such as custom headers, or retry logic.
931//
932//
933//    // Example sending a request using the GetApplicationRequest method.
934//    req, resp := client.GetApplicationRequest(params)
935//
936//    err := req.Send()
937//    if err == nil { // resp is now filled
938//        fmt.Println(resp)
939//    }
940//
941// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetApplication
942func (c *AppConfig) GetApplicationRequest(input *GetApplicationInput) (req *request.Request, output *GetApplicationOutput) {
943	op := &request.Operation{
944		Name:       opGetApplication,
945		HTTPMethod: "GET",
946		HTTPPath:   "/applications/{ApplicationId}",
947	}
948
949	if input == nil {
950		input = &GetApplicationInput{}
951	}
952
953	output = &GetApplicationOutput{}
954	req = c.newRequest(op, input, output)
955	return
956}
957
958// GetApplication API operation for Amazon AppConfig.
959//
960// Retrieve information about an application.
961//
962// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
963// with awserr.Error's Code and Message methods to get detailed information about
964// the error.
965//
966// See the AWS API reference guide for Amazon AppConfig's
967// API operation GetApplication for usage and error information.
968//
969// Returned Error Types:
970//   * ResourceNotFoundException
971//   The requested resource could not be found.
972//
973//   * InternalServerException
974//   There was an internal failure in the AppConfig service.
975//
976//   * BadRequestException
977//   The input fails to satisfy the constraints specified by an AWS service.
978//
979// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetApplication
980func (c *AppConfig) GetApplication(input *GetApplicationInput) (*GetApplicationOutput, error) {
981	req, out := c.GetApplicationRequest(input)
982	return out, req.Send()
983}
984
985// GetApplicationWithContext is the same as GetApplication with the addition of
986// the ability to pass a context and additional request options.
987//
988// See GetApplication for details on how to use this API operation.
989//
990// The context must be non-nil and will be used for request cancellation. If
991// the context is nil a panic will occur. In the future the SDK may create
992// sub-contexts for http.Requests. See https://golang.org/pkg/context/
993// for more information on using Contexts.
994func (c *AppConfig) GetApplicationWithContext(ctx aws.Context, input *GetApplicationInput, opts ...request.Option) (*GetApplicationOutput, error) {
995	req, out := c.GetApplicationRequest(input)
996	req.SetContext(ctx)
997	req.ApplyOptions(opts...)
998	return out, req.Send()
999}
1000
1001const opGetConfiguration = "GetConfiguration"
1002
1003// GetConfigurationRequest generates a "aws/request.Request" representing the
1004// client's request for the GetConfiguration operation. The "output" return
1005// value will be populated with the request's response once the request completes
1006// successfully.
1007//
1008// Use "Send" method on the returned Request to send the API call to the service.
1009// the "output" return value is not valid until after Send returns without error.
1010//
1011// See GetConfiguration for more information on using the GetConfiguration
1012// API call, and error handling.
1013//
1014// This method is useful when you want to inject custom logic or configuration
1015// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1016//
1017//
1018//    // Example sending a request using the GetConfigurationRequest method.
1019//    req, resp := client.GetConfigurationRequest(params)
1020//
1021//    err := req.Send()
1022//    if err == nil { // resp is now filled
1023//        fmt.Println(resp)
1024//    }
1025//
1026// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetConfiguration
1027func (c *AppConfig) GetConfigurationRequest(input *GetConfigurationInput) (req *request.Request, output *GetConfigurationOutput) {
1028	op := &request.Operation{
1029		Name:       opGetConfiguration,
1030		HTTPMethod: "GET",
1031		HTTPPath:   "/applications/{Application}/environments/{Environment}/configurations/{Configuration}",
1032	}
1033
1034	if input == nil {
1035		input = &GetConfigurationInput{}
1036	}
1037
1038	output = &GetConfigurationOutput{}
1039	req = c.newRequest(op, input, output)
1040	return
1041}
1042
1043// GetConfiguration API operation for Amazon AppConfig.
1044//
1045// Receive information about a configuration.
1046//
1047// AWS AppConfig uses the value of the ClientConfigurationVersion parameter
1048// to identify the configuration version on your clients. If you don’t send
1049// ClientConfigurationVersion with each call to GetConfiguration, your clients
1050// receive the current configuration. You are charged each time your clients
1051// receive a configuration.
1052//
1053// To avoid excess charges, we recommend that you include the ClientConfigurationVersion
1054// value with every call to GetConfiguration. This value must be saved on your
1055// client. Subsequent calls to GetConfiguration must pass this value by using
1056// the ClientConfigurationVersion parameter.
1057//
1058// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1059// with awserr.Error's Code and Message methods to get detailed information about
1060// the error.
1061//
1062// See the AWS API reference guide for Amazon AppConfig's
1063// API operation GetConfiguration for usage and error information.
1064//
1065// Returned Error Types:
1066//   * ResourceNotFoundException
1067//   The requested resource could not be found.
1068//
1069//   * InternalServerException
1070//   There was an internal failure in the AppConfig service.
1071//
1072//   * BadRequestException
1073//   The input fails to satisfy the constraints specified by an AWS service.
1074//
1075// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetConfiguration
1076func (c *AppConfig) GetConfiguration(input *GetConfigurationInput) (*GetConfigurationOutput, error) {
1077	req, out := c.GetConfigurationRequest(input)
1078	return out, req.Send()
1079}
1080
1081// GetConfigurationWithContext is the same as GetConfiguration with the addition of
1082// the ability to pass a context and additional request options.
1083//
1084// See GetConfiguration for details on how to use this API operation.
1085//
1086// The context must be non-nil and will be used for request cancellation. If
1087// the context is nil a panic will occur. In the future the SDK may create
1088// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1089// for more information on using Contexts.
1090func (c *AppConfig) GetConfigurationWithContext(ctx aws.Context, input *GetConfigurationInput, opts ...request.Option) (*GetConfigurationOutput, error) {
1091	req, out := c.GetConfigurationRequest(input)
1092	req.SetContext(ctx)
1093	req.ApplyOptions(opts...)
1094	return out, req.Send()
1095}
1096
1097const opGetConfigurationProfile = "GetConfigurationProfile"
1098
1099// GetConfigurationProfileRequest generates a "aws/request.Request" representing the
1100// client's request for the GetConfigurationProfile operation. The "output" return
1101// value will be populated with the request's response once the request completes
1102// successfully.
1103//
1104// Use "Send" method on the returned Request to send the API call to the service.
1105// the "output" return value is not valid until after Send returns without error.
1106//
1107// See GetConfigurationProfile for more information on using the GetConfigurationProfile
1108// API call, and error handling.
1109//
1110// This method is useful when you want to inject custom logic or configuration
1111// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1112//
1113//
1114//    // Example sending a request using the GetConfigurationProfileRequest method.
1115//    req, resp := client.GetConfigurationProfileRequest(params)
1116//
1117//    err := req.Send()
1118//    if err == nil { // resp is now filled
1119//        fmt.Println(resp)
1120//    }
1121//
1122// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetConfigurationProfile
1123func (c *AppConfig) GetConfigurationProfileRequest(input *GetConfigurationProfileInput) (req *request.Request, output *GetConfigurationProfileOutput) {
1124	op := &request.Operation{
1125		Name:       opGetConfigurationProfile,
1126		HTTPMethod: "GET",
1127		HTTPPath:   "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}",
1128	}
1129
1130	if input == nil {
1131		input = &GetConfigurationProfileInput{}
1132	}
1133
1134	output = &GetConfigurationProfileOutput{}
1135	req = c.newRequest(op, input, output)
1136	return
1137}
1138
1139// GetConfigurationProfile API operation for Amazon AppConfig.
1140//
1141// Retrieve information about a configuration profile.
1142//
1143// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1144// with awserr.Error's Code and Message methods to get detailed information about
1145// the error.
1146//
1147// See the AWS API reference guide for Amazon AppConfig's
1148// API operation GetConfigurationProfile for usage and error information.
1149//
1150// Returned Error Types:
1151//   * ResourceNotFoundException
1152//   The requested resource could not be found.
1153//
1154//   * InternalServerException
1155//   There was an internal failure in the AppConfig service.
1156//
1157//   * BadRequestException
1158//   The input fails to satisfy the constraints specified by an AWS service.
1159//
1160// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetConfigurationProfile
1161func (c *AppConfig) GetConfigurationProfile(input *GetConfigurationProfileInput) (*GetConfigurationProfileOutput, error) {
1162	req, out := c.GetConfigurationProfileRequest(input)
1163	return out, req.Send()
1164}
1165
1166// GetConfigurationProfileWithContext is the same as GetConfigurationProfile with the addition of
1167// the ability to pass a context and additional request options.
1168//
1169// See GetConfigurationProfile for details on how to use this API operation.
1170//
1171// The context must be non-nil and will be used for request cancellation. If
1172// the context is nil a panic will occur. In the future the SDK may create
1173// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1174// for more information on using Contexts.
1175func (c *AppConfig) GetConfigurationProfileWithContext(ctx aws.Context, input *GetConfigurationProfileInput, opts ...request.Option) (*GetConfigurationProfileOutput, error) {
1176	req, out := c.GetConfigurationProfileRequest(input)
1177	req.SetContext(ctx)
1178	req.ApplyOptions(opts...)
1179	return out, req.Send()
1180}
1181
1182const opGetDeployment = "GetDeployment"
1183
1184// GetDeploymentRequest generates a "aws/request.Request" representing the
1185// client's request for the GetDeployment operation. The "output" return
1186// value will be populated with the request's response once the request completes
1187// successfully.
1188//
1189// Use "Send" method on the returned Request to send the API call to the service.
1190// the "output" return value is not valid until after Send returns without error.
1191//
1192// See GetDeployment for more information on using the GetDeployment
1193// API call, and error handling.
1194//
1195// This method is useful when you want to inject custom logic or configuration
1196// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1197//
1198//
1199//    // Example sending a request using the GetDeploymentRequest method.
1200//    req, resp := client.GetDeploymentRequest(params)
1201//
1202//    err := req.Send()
1203//    if err == nil { // resp is now filled
1204//        fmt.Println(resp)
1205//    }
1206//
1207// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetDeployment
1208func (c *AppConfig) GetDeploymentRequest(input *GetDeploymentInput) (req *request.Request, output *GetDeploymentOutput) {
1209	op := &request.Operation{
1210		Name:       opGetDeployment,
1211		HTTPMethod: "GET",
1212		HTTPPath:   "/applications/{ApplicationId}/environments/{EnvironmentId}/deployments/{DeploymentNumber}",
1213	}
1214
1215	if input == nil {
1216		input = &GetDeploymentInput{}
1217	}
1218
1219	output = &GetDeploymentOutput{}
1220	req = c.newRequest(op, input, output)
1221	return
1222}
1223
1224// GetDeployment API operation for Amazon AppConfig.
1225//
1226// Retrieve information about a configuration deployment.
1227//
1228// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1229// with awserr.Error's Code and Message methods to get detailed information about
1230// the error.
1231//
1232// See the AWS API reference guide for Amazon AppConfig's
1233// API operation GetDeployment for usage and error information.
1234//
1235// Returned Error Types:
1236//   * ResourceNotFoundException
1237//   The requested resource could not be found.
1238//
1239//   * InternalServerException
1240//   There was an internal failure in the AppConfig service.
1241//
1242//   * BadRequestException
1243//   The input fails to satisfy the constraints specified by an AWS service.
1244//
1245// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetDeployment
1246func (c *AppConfig) GetDeployment(input *GetDeploymentInput) (*GetDeploymentOutput, error) {
1247	req, out := c.GetDeploymentRequest(input)
1248	return out, req.Send()
1249}
1250
1251// GetDeploymentWithContext is the same as GetDeployment with the addition of
1252// the ability to pass a context and additional request options.
1253//
1254// See GetDeployment for details on how to use this API operation.
1255//
1256// The context must be non-nil and will be used for request cancellation. If
1257// the context is nil a panic will occur. In the future the SDK may create
1258// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1259// for more information on using Contexts.
1260func (c *AppConfig) GetDeploymentWithContext(ctx aws.Context, input *GetDeploymentInput, opts ...request.Option) (*GetDeploymentOutput, error) {
1261	req, out := c.GetDeploymentRequest(input)
1262	req.SetContext(ctx)
1263	req.ApplyOptions(opts...)
1264	return out, req.Send()
1265}
1266
1267const opGetDeploymentStrategy = "GetDeploymentStrategy"
1268
1269// GetDeploymentStrategyRequest generates a "aws/request.Request" representing the
1270// client's request for the GetDeploymentStrategy operation. The "output" return
1271// value will be populated with the request's response once the request completes
1272// successfully.
1273//
1274// Use "Send" method on the returned Request to send the API call to the service.
1275// the "output" return value is not valid until after Send returns without error.
1276//
1277// See GetDeploymentStrategy for more information on using the GetDeploymentStrategy
1278// API call, and error handling.
1279//
1280// This method is useful when you want to inject custom logic or configuration
1281// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1282//
1283//
1284//    // Example sending a request using the GetDeploymentStrategyRequest method.
1285//    req, resp := client.GetDeploymentStrategyRequest(params)
1286//
1287//    err := req.Send()
1288//    if err == nil { // resp is now filled
1289//        fmt.Println(resp)
1290//    }
1291//
1292// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetDeploymentStrategy
1293func (c *AppConfig) GetDeploymentStrategyRequest(input *GetDeploymentStrategyInput) (req *request.Request, output *GetDeploymentStrategyOutput) {
1294	op := &request.Operation{
1295		Name:       opGetDeploymentStrategy,
1296		HTTPMethod: "GET",
1297		HTTPPath:   "/deploymentstrategies/{DeploymentStrategyId}",
1298	}
1299
1300	if input == nil {
1301		input = &GetDeploymentStrategyInput{}
1302	}
1303
1304	output = &GetDeploymentStrategyOutput{}
1305	req = c.newRequest(op, input, output)
1306	return
1307}
1308
1309// GetDeploymentStrategy API operation for Amazon AppConfig.
1310//
1311// Retrieve information about a deployment strategy. A deployment strategy defines
1312// important criteria for rolling out your configuration to the designated targets.
1313// A deployment strategy includes: the overall duration required, a percentage
1314// of targets to receive the deployment during each interval, an algorithm that
1315// defines how percentage grows, and bake time.
1316//
1317// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1318// with awserr.Error's Code and Message methods to get detailed information about
1319// the error.
1320//
1321// See the AWS API reference guide for Amazon AppConfig's
1322// API operation GetDeploymentStrategy for usage and error information.
1323//
1324// Returned Error Types:
1325//   * ResourceNotFoundException
1326//   The requested resource could not be found.
1327//
1328//   * InternalServerException
1329//   There was an internal failure in the AppConfig service.
1330//
1331//   * BadRequestException
1332//   The input fails to satisfy the constraints specified by an AWS service.
1333//
1334// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetDeploymentStrategy
1335func (c *AppConfig) GetDeploymentStrategy(input *GetDeploymentStrategyInput) (*GetDeploymentStrategyOutput, error) {
1336	req, out := c.GetDeploymentStrategyRequest(input)
1337	return out, req.Send()
1338}
1339
1340// GetDeploymentStrategyWithContext is the same as GetDeploymentStrategy with the addition of
1341// the ability to pass a context and additional request options.
1342//
1343// See GetDeploymentStrategy for details on how to use this API operation.
1344//
1345// The context must be non-nil and will be used for request cancellation. If
1346// the context is nil a panic will occur. In the future the SDK may create
1347// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1348// for more information on using Contexts.
1349func (c *AppConfig) GetDeploymentStrategyWithContext(ctx aws.Context, input *GetDeploymentStrategyInput, opts ...request.Option) (*GetDeploymentStrategyOutput, error) {
1350	req, out := c.GetDeploymentStrategyRequest(input)
1351	req.SetContext(ctx)
1352	req.ApplyOptions(opts...)
1353	return out, req.Send()
1354}
1355
1356const opGetEnvironment = "GetEnvironment"
1357
1358// GetEnvironmentRequest generates a "aws/request.Request" representing the
1359// client's request for the GetEnvironment operation. The "output" return
1360// value will be populated with the request's response once the request completes
1361// successfully.
1362//
1363// Use "Send" method on the returned Request to send the API call to the service.
1364// the "output" return value is not valid until after Send returns without error.
1365//
1366// See GetEnvironment for more information on using the GetEnvironment
1367// API call, and error handling.
1368//
1369// This method is useful when you want to inject custom logic or configuration
1370// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1371//
1372//
1373//    // Example sending a request using the GetEnvironmentRequest method.
1374//    req, resp := client.GetEnvironmentRequest(params)
1375//
1376//    err := req.Send()
1377//    if err == nil { // resp is now filled
1378//        fmt.Println(resp)
1379//    }
1380//
1381// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetEnvironment
1382func (c *AppConfig) GetEnvironmentRequest(input *GetEnvironmentInput) (req *request.Request, output *GetEnvironmentOutput) {
1383	op := &request.Operation{
1384		Name:       opGetEnvironment,
1385		HTTPMethod: "GET",
1386		HTTPPath:   "/applications/{ApplicationId}/environments/{EnvironmentId}",
1387	}
1388
1389	if input == nil {
1390		input = &GetEnvironmentInput{}
1391	}
1392
1393	output = &GetEnvironmentOutput{}
1394	req = c.newRequest(op, input, output)
1395	return
1396}
1397
1398// GetEnvironment API operation for Amazon AppConfig.
1399//
1400// Retrieve information about an environment. An environment is a logical deployment
1401// group of AppConfig applications, such as applications in a Production environment
1402// or in an EU_Region environment. Each configuration deployment targets an
1403// environment. You can enable one or more Amazon CloudWatch alarms for an environment.
1404// If an alarm is triggered during a deployment, AppConfig roles back the configuration.
1405//
1406// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1407// with awserr.Error's Code and Message methods to get detailed information about
1408// the error.
1409//
1410// See the AWS API reference guide for Amazon AppConfig's
1411// API operation GetEnvironment for usage and error information.
1412//
1413// Returned Error Types:
1414//   * ResourceNotFoundException
1415//   The requested resource could not be found.
1416//
1417//   * InternalServerException
1418//   There was an internal failure in the AppConfig service.
1419//
1420//   * BadRequestException
1421//   The input fails to satisfy the constraints specified by an AWS service.
1422//
1423// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetEnvironment
1424func (c *AppConfig) GetEnvironment(input *GetEnvironmentInput) (*GetEnvironmentOutput, error) {
1425	req, out := c.GetEnvironmentRequest(input)
1426	return out, req.Send()
1427}
1428
1429// GetEnvironmentWithContext is the same as GetEnvironment with the addition of
1430// the ability to pass a context and additional request options.
1431//
1432// See GetEnvironment for details on how to use this API operation.
1433//
1434// The context must be non-nil and will be used for request cancellation. If
1435// the context is nil a panic will occur. In the future the SDK may create
1436// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1437// for more information on using Contexts.
1438func (c *AppConfig) GetEnvironmentWithContext(ctx aws.Context, input *GetEnvironmentInput, opts ...request.Option) (*GetEnvironmentOutput, error) {
1439	req, out := c.GetEnvironmentRequest(input)
1440	req.SetContext(ctx)
1441	req.ApplyOptions(opts...)
1442	return out, req.Send()
1443}
1444
1445const opGetHostedConfigurationVersion = "GetHostedConfigurationVersion"
1446
1447// GetHostedConfigurationVersionRequest generates a "aws/request.Request" representing the
1448// client's request for the GetHostedConfigurationVersion operation. The "output" return
1449// value will be populated with the request's response once the request completes
1450// successfully.
1451//
1452// Use "Send" method on the returned Request to send the API call to the service.
1453// the "output" return value is not valid until after Send returns without error.
1454//
1455// See GetHostedConfigurationVersion for more information on using the GetHostedConfigurationVersion
1456// API call, and error handling.
1457//
1458// This method is useful when you want to inject custom logic or configuration
1459// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1460//
1461//
1462//    // Example sending a request using the GetHostedConfigurationVersionRequest method.
1463//    req, resp := client.GetHostedConfigurationVersionRequest(params)
1464//
1465//    err := req.Send()
1466//    if err == nil { // resp is now filled
1467//        fmt.Println(resp)
1468//    }
1469//
1470// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetHostedConfigurationVersion
1471func (c *AppConfig) GetHostedConfigurationVersionRequest(input *GetHostedConfigurationVersionInput) (req *request.Request, output *GetHostedConfigurationVersionOutput) {
1472	op := &request.Operation{
1473		Name:       opGetHostedConfigurationVersion,
1474		HTTPMethod: "GET",
1475		HTTPPath:   "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}/hostedconfigurationversions/{VersionNumber}",
1476	}
1477
1478	if input == nil {
1479		input = &GetHostedConfigurationVersionInput{}
1480	}
1481
1482	output = &GetHostedConfigurationVersionOutput{}
1483	req = c.newRequest(op, input, output)
1484	return
1485}
1486
1487// GetHostedConfigurationVersion API operation for Amazon AppConfig.
1488//
1489// Get information about a specific configuration version.
1490//
1491// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1492// with awserr.Error's Code and Message methods to get detailed information about
1493// the error.
1494//
1495// See the AWS API reference guide for Amazon AppConfig's
1496// API operation GetHostedConfigurationVersion for usage and error information.
1497//
1498// Returned Error Types:
1499//   * BadRequestException
1500//   The input fails to satisfy the constraints specified by an AWS service.
1501//
1502//   * ResourceNotFoundException
1503//   The requested resource could not be found.
1504//
1505//   * InternalServerException
1506//   There was an internal failure in the AppConfig service.
1507//
1508// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/GetHostedConfigurationVersion
1509func (c *AppConfig) GetHostedConfigurationVersion(input *GetHostedConfigurationVersionInput) (*GetHostedConfigurationVersionOutput, error) {
1510	req, out := c.GetHostedConfigurationVersionRequest(input)
1511	return out, req.Send()
1512}
1513
1514// GetHostedConfigurationVersionWithContext is the same as GetHostedConfigurationVersion with the addition of
1515// the ability to pass a context and additional request options.
1516//
1517// See GetHostedConfigurationVersion for details on how to use this API operation.
1518//
1519// The context must be non-nil and will be used for request cancellation. If
1520// the context is nil a panic will occur. In the future the SDK may create
1521// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1522// for more information on using Contexts.
1523func (c *AppConfig) GetHostedConfigurationVersionWithContext(ctx aws.Context, input *GetHostedConfigurationVersionInput, opts ...request.Option) (*GetHostedConfigurationVersionOutput, error) {
1524	req, out := c.GetHostedConfigurationVersionRequest(input)
1525	req.SetContext(ctx)
1526	req.ApplyOptions(opts...)
1527	return out, req.Send()
1528}
1529
1530const opListApplications = "ListApplications"
1531
1532// ListApplicationsRequest generates a "aws/request.Request" representing the
1533// client's request for the ListApplications operation. The "output" return
1534// value will be populated with the request's response once the request completes
1535// successfully.
1536//
1537// Use "Send" method on the returned Request to send the API call to the service.
1538// the "output" return value is not valid until after Send returns without error.
1539//
1540// See ListApplications for more information on using the ListApplications
1541// API call, and error handling.
1542//
1543// This method is useful when you want to inject custom logic or configuration
1544// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1545//
1546//
1547//    // Example sending a request using the ListApplicationsRequest method.
1548//    req, resp := client.ListApplicationsRequest(params)
1549//
1550//    err := req.Send()
1551//    if err == nil { // resp is now filled
1552//        fmt.Println(resp)
1553//    }
1554//
1555// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListApplications
1556func (c *AppConfig) ListApplicationsRequest(input *ListApplicationsInput) (req *request.Request, output *ListApplicationsOutput) {
1557	op := &request.Operation{
1558		Name:       opListApplications,
1559		HTTPMethod: "GET",
1560		HTTPPath:   "/applications",
1561		Paginator: &request.Paginator{
1562			InputTokens:     []string{"NextToken"},
1563			OutputTokens:    []string{"NextToken"},
1564			LimitToken:      "MaxResults",
1565			TruncationToken: "",
1566		},
1567	}
1568
1569	if input == nil {
1570		input = &ListApplicationsInput{}
1571	}
1572
1573	output = &ListApplicationsOutput{}
1574	req = c.newRequest(op, input, output)
1575	return
1576}
1577
1578// ListApplications API operation for Amazon AppConfig.
1579//
1580// List all applications in your AWS account.
1581//
1582// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1583// with awserr.Error's Code and Message methods to get detailed information about
1584// the error.
1585//
1586// See the AWS API reference guide for Amazon AppConfig's
1587// API operation ListApplications for usage and error information.
1588//
1589// Returned Error Types:
1590//   * InternalServerException
1591//   There was an internal failure in the AppConfig service.
1592//
1593//   * BadRequestException
1594//   The input fails to satisfy the constraints specified by an AWS service.
1595//
1596// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListApplications
1597func (c *AppConfig) ListApplications(input *ListApplicationsInput) (*ListApplicationsOutput, error) {
1598	req, out := c.ListApplicationsRequest(input)
1599	return out, req.Send()
1600}
1601
1602// ListApplicationsWithContext is the same as ListApplications with the addition of
1603// the ability to pass a context and additional request options.
1604//
1605// See ListApplications for details on how to use this API operation.
1606//
1607// The context must be non-nil and will be used for request cancellation. If
1608// the context is nil a panic will occur. In the future the SDK may create
1609// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1610// for more information on using Contexts.
1611func (c *AppConfig) ListApplicationsWithContext(ctx aws.Context, input *ListApplicationsInput, opts ...request.Option) (*ListApplicationsOutput, error) {
1612	req, out := c.ListApplicationsRequest(input)
1613	req.SetContext(ctx)
1614	req.ApplyOptions(opts...)
1615	return out, req.Send()
1616}
1617
1618// ListApplicationsPages iterates over the pages of a ListApplications operation,
1619// calling the "fn" function with the response data for each page. To stop
1620// iterating, return false from the fn function.
1621//
1622// See ListApplications method for more information on how to use this operation.
1623//
1624// Note: This operation can generate multiple requests to a service.
1625//
1626//    // Example iterating over at most 3 pages of a ListApplications operation.
1627//    pageNum := 0
1628//    err := client.ListApplicationsPages(params,
1629//        func(page *appconfig.ListApplicationsOutput, lastPage bool) bool {
1630//            pageNum++
1631//            fmt.Println(page)
1632//            return pageNum <= 3
1633//        })
1634//
1635func (c *AppConfig) ListApplicationsPages(input *ListApplicationsInput, fn func(*ListApplicationsOutput, bool) bool) error {
1636	return c.ListApplicationsPagesWithContext(aws.BackgroundContext(), input, fn)
1637}
1638
1639// ListApplicationsPagesWithContext same as ListApplicationsPages except
1640// it takes a Context and allows setting request options on the pages.
1641//
1642// The context must be non-nil and will be used for request cancellation. If
1643// the context is nil a panic will occur. In the future the SDK may create
1644// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1645// for more information on using Contexts.
1646func (c *AppConfig) ListApplicationsPagesWithContext(ctx aws.Context, input *ListApplicationsInput, fn func(*ListApplicationsOutput, bool) bool, opts ...request.Option) error {
1647	p := request.Pagination{
1648		NewRequest: func() (*request.Request, error) {
1649			var inCpy *ListApplicationsInput
1650			if input != nil {
1651				tmp := *input
1652				inCpy = &tmp
1653			}
1654			req, _ := c.ListApplicationsRequest(inCpy)
1655			req.SetContext(ctx)
1656			req.ApplyOptions(opts...)
1657			return req, nil
1658		},
1659	}
1660
1661	for p.Next() {
1662		if !fn(p.Page().(*ListApplicationsOutput), !p.HasNextPage()) {
1663			break
1664		}
1665	}
1666
1667	return p.Err()
1668}
1669
1670const opListConfigurationProfiles = "ListConfigurationProfiles"
1671
1672// ListConfigurationProfilesRequest generates a "aws/request.Request" representing the
1673// client's request for the ListConfigurationProfiles operation. The "output" return
1674// value will be populated with the request's response once the request completes
1675// successfully.
1676//
1677// Use "Send" method on the returned Request to send the API call to the service.
1678// the "output" return value is not valid until after Send returns without error.
1679//
1680// See ListConfigurationProfiles for more information on using the ListConfigurationProfiles
1681// API call, and error handling.
1682//
1683// This method is useful when you want to inject custom logic or configuration
1684// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1685//
1686//
1687//    // Example sending a request using the ListConfigurationProfilesRequest method.
1688//    req, resp := client.ListConfigurationProfilesRequest(params)
1689//
1690//    err := req.Send()
1691//    if err == nil { // resp is now filled
1692//        fmt.Println(resp)
1693//    }
1694//
1695// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListConfigurationProfiles
1696func (c *AppConfig) ListConfigurationProfilesRequest(input *ListConfigurationProfilesInput) (req *request.Request, output *ListConfigurationProfilesOutput) {
1697	op := &request.Operation{
1698		Name:       opListConfigurationProfiles,
1699		HTTPMethod: "GET",
1700		HTTPPath:   "/applications/{ApplicationId}/configurationprofiles",
1701		Paginator: &request.Paginator{
1702			InputTokens:     []string{"NextToken"},
1703			OutputTokens:    []string{"NextToken"},
1704			LimitToken:      "MaxResults",
1705			TruncationToken: "",
1706		},
1707	}
1708
1709	if input == nil {
1710		input = &ListConfigurationProfilesInput{}
1711	}
1712
1713	output = &ListConfigurationProfilesOutput{}
1714	req = c.newRequest(op, input, output)
1715	return
1716}
1717
1718// ListConfigurationProfiles API operation for Amazon AppConfig.
1719//
1720// Lists the configuration profiles for an application.
1721//
1722// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1723// with awserr.Error's Code and Message methods to get detailed information about
1724// the error.
1725//
1726// See the AWS API reference guide for Amazon AppConfig's
1727// API operation ListConfigurationProfiles for usage and error information.
1728//
1729// Returned Error Types:
1730//   * ResourceNotFoundException
1731//   The requested resource could not be found.
1732//
1733//   * InternalServerException
1734//   There was an internal failure in the AppConfig service.
1735//
1736//   * BadRequestException
1737//   The input fails to satisfy the constraints specified by an AWS service.
1738//
1739// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListConfigurationProfiles
1740func (c *AppConfig) ListConfigurationProfiles(input *ListConfigurationProfilesInput) (*ListConfigurationProfilesOutput, error) {
1741	req, out := c.ListConfigurationProfilesRequest(input)
1742	return out, req.Send()
1743}
1744
1745// ListConfigurationProfilesWithContext is the same as ListConfigurationProfiles with the addition of
1746// the ability to pass a context and additional request options.
1747//
1748// See ListConfigurationProfiles for details on how to use this API operation.
1749//
1750// The context must be non-nil and will be used for request cancellation. If
1751// the context is nil a panic will occur. In the future the SDK may create
1752// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1753// for more information on using Contexts.
1754func (c *AppConfig) ListConfigurationProfilesWithContext(ctx aws.Context, input *ListConfigurationProfilesInput, opts ...request.Option) (*ListConfigurationProfilesOutput, error) {
1755	req, out := c.ListConfigurationProfilesRequest(input)
1756	req.SetContext(ctx)
1757	req.ApplyOptions(opts...)
1758	return out, req.Send()
1759}
1760
1761// ListConfigurationProfilesPages iterates over the pages of a ListConfigurationProfiles operation,
1762// calling the "fn" function with the response data for each page. To stop
1763// iterating, return false from the fn function.
1764//
1765// See ListConfigurationProfiles method for more information on how to use this operation.
1766//
1767// Note: This operation can generate multiple requests to a service.
1768//
1769//    // Example iterating over at most 3 pages of a ListConfigurationProfiles operation.
1770//    pageNum := 0
1771//    err := client.ListConfigurationProfilesPages(params,
1772//        func(page *appconfig.ListConfigurationProfilesOutput, lastPage bool) bool {
1773//            pageNum++
1774//            fmt.Println(page)
1775//            return pageNum <= 3
1776//        })
1777//
1778func (c *AppConfig) ListConfigurationProfilesPages(input *ListConfigurationProfilesInput, fn func(*ListConfigurationProfilesOutput, bool) bool) error {
1779	return c.ListConfigurationProfilesPagesWithContext(aws.BackgroundContext(), input, fn)
1780}
1781
1782// ListConfigurationProfilesPagesWithContext same as ListConfigurationProfilesPages except
1783// it takes a Context and allows setting request options on the pages.
1784//
1785// The context must be non-nil and will be used for request cancellation. If
1786// the context is nil a panic will occur. In the future the SDK may create
1787// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1788// for more information on using Contexts.
1789func (c *AppConfig) ListConfigurationProfilesPagesWithContext(ctx aws.Context, input *ListConfigurationProfilesInput, fn func(*ListConfigurationProfilesOutput, bool) bool, opts ...request.Option) error {
1790	p := request.Pagination{
1791		NewRequest: func() (*request.Request, error) {
1792			var inCpy *ListConfigurationProfilesInput
1793			if input != nil {
1794				tmp := *input
1795				inCpy = &tmp
1796			}
1797			req, _ := c.ListConfigurationProfilesRequest(inCpy)
1798			req.SetContext(ctx)
1799			req.ApplyOptions(opts...)
1800			return req, nil
1801		},
1802	}
1803
1804	for p.Next() {
1805		if !fn(p.Page().(*ListConfigurationProfilesOutput), !p.HasNextPage()) {
1806			break
1807		}
1808	}
1809
1810	return p.Err()
1811}
1812
1813const opListDeploymentStrategies = "ListDeploymentStrategies"
1814
1815// ListDeploymentStrategiesRequest generates a "aws/request.Request" representing the
1816// client's request for the ListDeploymentStrategies operation. The "output" return
1817// value will be populated with the request's response once the request completes
1818// successfully.
1819//
1820// Use "Send" method on the returned Request to send the API call to the service.
1821// the "output" return value is not valid until after Send returns without error.
1822//
1823// See ListDeploymentStrategies for more information on using the ListDeploymentStrategies
1824// API call, and error handling.
1825//
1826// This method is useful when you want to inject custom logic or configuration
1827// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1828//
1829//
1830//    // Example sending a request using the ListDeploymentStrategiesRequest method.
1831//    req, resp := client.ListDeploymentStrategiesRequest(params)
1832//
1833//    err := req.Send()
1834//    if err == nil { // resp is now filled
1835//        fmt.Println(resp)
1836//    }
1837//
1838// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListDeploymentStrategies
1839func (c *AppConfig) ListDeploymentStrategiesRequest(input *ListDeploymentStrategiesInput) (req *request.Request, output *ListDeploymentStrategiesOutput) {
1840	op := &request.Operation{
1841		Name:       opListDeploymentStrategies,
1842		HTTPMethod: "GET",
1843		HTTPPath:   "/deploymentstrategies",
1844		Paginator: &request.Paginator{
1845			InputTokens:     []string{"NextToken"},
1846			OutputTokens:    []string{"NextToken"},
1847			LimitToken:      "MaxResults",
1848			TruncationToken: "",
1849		},
1850	}
1851
1852	if input == nil {
1853		input = &ListDeploymentStrategiesInput{}
1854	}
1855
1856	output = &ListDeploymentStrategiesOutput{}
1857	req = c.newRequest(op, input, output)
1858	return
1859}
1860
1861// ListDeploymentStrategies API operation for Amazon AppConfig.
1862//
1863// List deployment strategies.
1864//
1865// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1866// with awserr.Error's Code and Message methods to get detailed information about
1867// the error.
1868//
1869// See the AWS API reference guide for Amazon AppConfig's
1870// API operation ListDeploymentStrategies for usage and error information.
1871//
1872// Returned Error Types:
1873//   * InternalServerException
1874//   There was an internal failure in the AppConfig service.
1875//
1876//   * BadRequestException
1877//   The input fails to satisfy the constraints specified by an AWS service.
1878//
1879// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListDeploymentStrategies
1880func (c *AppConfig) ListDeploymentStrategies(input *ListDeploymentStrategiesInput) (*ListDeploymentStrategiesOutput, error) {
1881	req, out := c.ListDeploymentStrategiesRequest(input)
1882	return out, req.Send()
1883}
1884
1885// ListDeploymentStrategiesWithContext is the same as ListDeploymentStrategies with the addition of
1886// the ability to pass a context and additional request options.
1887//
1888// See ListDeploymentStrategies for details on how to use this API operation.
1889//
1890// The context must be non-nil and will be used for request cancellation. If
1891// the context is nil a panic will occur. In the future the SDK may create
1892// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1893// for more information on using Contexts.
1894func (c *AppConfig) ListDeploymentStrategiesWithContext(ctx aws.Context, input *ListDeploymentStrategiesInput, opts ...request.Option) (*ListDeploymentStrategiesOutput, error) {
1895	req, out := c.ListDeploymentStrategiesRequest(input)
1896	req.SetContext(ctx)
1897	req.ApplyOptions(opts...)
1898	return out, req.Send()
1899}
1900
1901// ListDeploymentStrategiesPages iterates over the pages of a ListDeploymentStrategies operation,
1902// calling the "fn" function with the response data for each page. To stop
1903// iterating, return false from the fn function.
1904//
1905// See ListDeploymentStrategies method for more information on how to use this operation.
1906//
1907// Note: This operation can generate multiple requests to a service.
1908//
1909//    // Example iterating over at most 3 pages of a ListDeploymentStrategies operation.
1910//    pageNum := 0
1911//    err := client.ListDeploymentStrategiesPages(params,
1912//        func(page *appconfig.ListDeploymentStrategiesOutput, lastPage bool) bool {
1913//            pageNum++
1914//            fmt.Println(page)
1915//            return pageNum <= 3
1916//        })
1917//
1918func (c *AppConfig) ListDeploymentStrategiesPages(input *ListDeploymentStrategiesInput, fn func(*ListDeploymentStrategiesOutput, bool) bool) error {
1919	return c.ListDeploymentStrategiesPagesWithContext(aws.BackgroundContext(), input, fn)
1920}
1921
1922// ListDeploymentStrategiesPagesWithContext same as ListDeploymentStrategiesPages except
1923// it takes a Context and allows setting request options on the pages.
1924//
1925// The context must be non-nil and will be used for request cancellation. If
1926// the context is nil a panic will occur. In the future the SDK may create
1927// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1928// for more information on using Contexts.
1929func (c *AppConfig) ListDeploymentStrategiesPagesWithContext(ctx aws.Context, input *ListDeploymentStrategiesInput, fn func(*ListDeploymentStrategiesOutput, bool) bool, opts ...request.Option) error {
1930	p := request.Pagination{
1931		NewRequest: func() (*request.Request, error) {
1932			var inCpy *ListDeploymentStrategiesInput
1933			if input != nil {
1934				tmp := *input
1935				inCpy = &tmp
1936			}
1937			req, _ := c.ListDeploymentStrategiesRequest(inCpy)
1938			req.SetContext(ctx)
1939			req.ApplyOptions(opts...)
1940			return req, nil
1941		},
1942	}
1943
1944	for p.Next() {
1945		if !fn(p.Page().(*ListDeploymentStrategiesOutput), !p.HasNextPage()) {
1946			break
1947		}
1948	}
1949
1950	return p.Err()
1951}
1952
1953const opListDeployments = "ListDeployments"
1954
1955// ListDeploymentsRequest generates a "aws/request.Request" representing the
1956// client's request for the ListDeployments operation. The "output" return
1957// value will be populated with the request's response once the request completes
1958// successfully.
1959//
1960// Use "Send" method on the returned Request to send the API call to the service.
1961// the "output" return value is not valid until after Send returns without error.
1962//
1963// See ListDeployments for more information on using the ListDeployments
1964// API call, and error handling.
1965//
1966// This method is useful when you want to inject custom logic or configuration
1967// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1968//
1969//
1970//    // Example sending a request using the ListDeploymentsRequest method.
1971//    req, resp := client.ListDeploymentsRequest(params)
1972//
1973//    err := req.Send()
1974//    if err == nil { // resp is now filled
1975//        fmt.Println(resp)
1976//    }
1977//
1978// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListDeployments
1979func (c *AppConfig) ListDeploymentsRequest(input *ListDeploymentsInput) (req *request.Request, output *ListDeploymentsOutput) {
1980	op := &request.Operation{
1981		Name:       opListDeployments,
1982		HTTPMethod: "GET",
1983		HTTPPath:   "/applications/{ApplicationId}/environments/{EnvironmentId}/deployments",
1984		Paginator: &request.Paginator{
1985			InputTokens:     []string{"NextToken"},
1986			OutputTokens:    []string{"NextToken"},
1987			LimitToken:      "MaxResults",
1988			TruncationToken: "",
1989		},
1990	}
1991
1992	if input == nil {
1993		input = &ListDeploymentsInput{}
1994	}
1995
1996	output = &ListDeploymentsOutput{}
1997	req = c.newRequest(op, input, output)
1998	return
1999}
2000
2001// ListDeployments API operation for Amazon AppConfig.
2002//
2003// Lists the deployments for an environment.
2004//
2005// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2006// with awserr.Error's Code and Message methods to get detailed information about
2007// the error.
2008//
2009// See the AWS API reference guide for Amazon AppConfig's
2010// API operation ListDeployments for usage and error information.
2011//
2012// Returned Error Types:
2013//   * ResourceNotFoundException
2014//   The requested resource could not be found.
2015//
2016//   * InternalServerException
2017//   There was an internal failure in the AppConfig service.
2018//
2019//   * BadRequestException
2020//   The input fails to satisfy the constraints specified by an AWS service.
2021//
2022// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListDeployments
2023func (c *AppConfig) ListDeployments(input *ListDeploymentsInput) (*ListDeploymentsOutput, error) {
2024	req, out := c.ListDeploymentsRequest(input)
2025	return out, req.Send()
2026}
2027
2028// ListDeploymentsWithContext is the same as ListDeployments with the addition of
2029// the ability to pass a context and additional request options.
2030//
2031// See ListDeployments for details on how to use this API operation.
2032//
2033// The context must be non-nil and will be used for request cancellation. If
2034// the context is nil a panic will occur. In the future the SDK may create
2035// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2036// for more information on using Contexts.
2037func (c *AppConfig) ListDeploymentsWithContext(ctx aws.Context, input *ListDeploymentsInput, opts ...request.Option) (*ListDeploymentsOutput, error) {
2038	req, out := c.ListDeploymentsRequest(input)
2039	req.SetContext(ctx)
2040	req.ApplyOptions(opts...)
2041	return out, req.Send()
2042}
2043
2044// ListDeploymentsPages iterates over the pages of a ListDeployments operation,
2045// calling the "fn" function with the response data for each page. To stop
2046// iterating, return false from the fn function.
2047//
2048// See ListDeployments method for more information on how to use this operation.
2049//
2050// Note: This operation can generate multiple requests to a service.
2051//
2052//    // Example iterating over at most 3 pages of a ListDeployments operation.
2053//    pageNum := 0
2054//    err := client.ListDeploymentsPages(params,
2055//        func(page *appconfig.ListDeploymentsOutput, lastPage bool) bool {
2056//            pageNum++
2057//            fmt.Println(page)
2058//            return pageNum <= 3
2059//        })
2060//
2061func (c *AppConfig) ListDeploymentsPages(input *ListDeploymentsInput, fn func(*ListDeploymentsOutput, bool) bool) error {
2062	return c.ListDeploymentsPagesWithContext(aws.BackgroundContext(), input, fn)
2063}
2064
2065// ListDeploymentsPagesWithContext same as ListDeploymentsPages except
2066// it takes a Context and allows setting request options on the pages.
2067//
2068// The context must be non-nil and will be used for request cancellation. If
2069// the context is nil a panic will occur. In the future the SDK may create
2070// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2071// for more information on using Contexts.
2072func (c *AppConfig) ListDeploymentsPagesWithContext(ctx aws.Context, input *ListDeploymentsInput, fn func(*ListDeploymentsOutput, bool) bool, opts ...request.Option) error {
2073	p := request.Pagination{
2074		NewRequest: func() (*request.Request, error) {
2075			var inCpy *ListDeploymentsInput
2076			if input != nil {
2077				tmp := *input
2078				inCpy = &tmp
2079			}
2080			req, _ := c.ListDeploymentsRequest(inCpy)
2081			req.SetContext(ctx)
2082			req.ApplyOptions(opts...)
2083			return req, nil
2084		},
2085	}
2086
2087	for p.Next() {
2088		if !fn(p.Page().(*ListDeploymentsOutput), !p.HasNextPage()) {
2089			break
2090		}
2091	}
2092
2093	return p.Err()
2094}
2095
2096const opListEnvironments = "ListEnvironments"
2097
2098// ListEnvironmentsRequest generates a "aws/request.Request" representing the
2099// client's request for the ListEnvironments operation. The "output" return
2100// value will be populated with the request's response once the request completes
2101// successfully.
2102//
2103// Use "Send" method on the returned Request to send the API call to the service.
2104// the "output" return value is not valid until after Send returns without error.
2105//
2106// See ListEnvironments for more information on using the ListEnvironments
2107// API call, and error handling.
2108//
2109// This method is useful when you want to inject custom logic or configuration
2110// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2111//
2112//
2113//    // Example sending a request using the ListEnvironmentsRequest method.
2114//    req, resp := client.ListEnvironmentsRequest(params)
2115//
2116//    err := req.Send()
2117//    if err == nil { // resp is now filled
2118//        fmt.Println(resp)
2119//    }
2120//
2121// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListEnvironments
2122func (c *AppConfig) ListEnvironmentsRequest(input *ListEnvironmentsInput) (req *request.Request, output *ListEnvironmentsOutput) {
2123	op := &request.Operation{
2124		Name:       opListEnvironments,
2125		HTTPMethod: "GET",
2126		HTTPPath:   "/applications/{ApplicationId}/environments",
2127		Paginator: &request.Paginator{
2128			InputTokens:     []string{"NextToken"},
2129			OutputTokens:    []string{"NextToken"},
2130			LimitToken:      "MaxResults",
2131			TruncationToken: "",
2132		},
2133	}
2134
2135	if input == nil {
2136		input = &ListEnvironmentsInput{}
2137	}
2138
2139	output = &ListEnvironmentsOutput{}
2140	req = c.newRequest(op, input, output)
2141	return
2142}
2143
2144// ListEnvironments API operation for Amazon AppConfig.
2145//
2146// List the environments for an application.
2147//
2148// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2149// with awserr.Error's Code and Message methods to get detailed information about
2150// the error.
2151//
2152// See the AWS API reference guide for Amazon AppConfig's
2153// API operation ListEnvironments for usage and error information.
2154//
2155// Returned Error Types:
2156//   * ResourceNotFoundException
2157//   The requested resource could not be found.
2158//
2159//   * InternalServerException
2160//   There was an internal failure in the AppConfig service.
2161//
2162//   * BadRequestException
2163//   The input fails to satisfy the constraints specified by an AWS service.
2164//
2165// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListEnvironments
2166func (c *AppConfig) ListEnvironments(input *ListEnvironmentsInput) (*ListEnvironmentsOutput, error) {
2167	req, out := c.ListEnvironmentsRequest(input)
2168	return out, req.Send()
2169}
2170
2171// ListEnvironmentsWithContext is the same as ListEnvironments with the addition of
2172// the ability to pass a context and additional request options.
2173//
2174// See ListEnvironments for details on how to use this API operation.
2175//
2176// The context must be non-nil and will be used for request cancellation. If
2177// the context is nil a panic will occur. In the future the SDK may create
2178// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2179// for more information on using Contexts.
2180func (c *AppConfig) ListEnvironmentsWithContext(ctx aws.Context, input *ListEnvironmentsInput, opts ...request.Option) (*ListEnvironmentsOutput, error) {
2181	req, out := c.ListEnvironmentsRequest(input)
2182	req.SetContext(ctx)
2183	req.ApplyOptions(opts...)
2184	return out, req.Send()
2185}
2186
2187// ListEnvironmentsPages iterates over the pages of a ListEnvironments operation,
2188// calling the "fn" function with the response data for each page. To stop
2189// iterating, return false from the fn function.
2190//
2191// See ListEnvironments method for more information on how to use this operation.
2192//
2193// Note: This operation can generate multiple requests to a service.
2194//
2195//    // Example iterating over at most 3 pages of a ListEnvironments operation.
2196//    pageNum := 0
2197//    err := client.ListEnvironmentsPages(params,
2198//        func(page *appconfig.ListEnvironmentsOutput, lastPage bool) bool {
2199//            pageNum++
2200//            fmt.Println(page)
2201//            return pageNum <= 3
2202//        })
2203//
2204func (c *AppConfig) ListEnvironmentsPages(input *ListEnvironmentsInput, fn func(*ListEnvironmentsOutput, bool) bool) error {
2205	return c.ListEnvironmentsPagesWithContext(aws.BackgroundContext(), input, fn)
2206}
2207
2208// ListEnvironmentsPagesWithContext same as ListEnvironmentsPages except
2209// it takes a Context and allows setting request options on the pages.
2210//
2211// The context must be non-nil and will be used for request cancellation. If
2212// the context is nil a panic will occur. In the future the SDK may create
2213// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2214// for more information on using Contexts.
2215func (c *AppConfig) ListEnvironmentsPagesWithContext(ctx aws.Context, input *ListEnvironmentsInput, fn func(*ListEnvironmentsOutput, bool) bool, opts ...request.Option) error {
2216	p := request.Pagination{
2217		NewRequest: func() (*request.Request, error) {
2218			var inCpy *ListEnvironmentsInput
2219			if input != nil {
2220				tmp := *input
2221				inCpy = &tmp
2222			}
2223			req, _ := c.ListEnvironmentsRequest(inCpy)
2224			req.SetContext(ctx)
2225			req.ApplyOptions(opts...)
2226			return req, nil
2227		},
2228	}
2229
2230	for p.Next() {
2231		if !fn(p.Page().(*ListEnvironmentsOutput), !p.HasNextPage()) {
2232			break
2233		}
2234	}
2235
2236	return p.Err()
2237}
2238
2239const opListHostedConfigurationVersions = "ListHostedConfigurationVersions"
2240
2241// ListHostedConfigurationVersionsRequest generates a "aws/request.Request" representing the
2242// client's request for the ListHostedConfigurationVersions operation. The "output" return
2243// value will be populated with the request's response once the request completes
2244// successfully.
2245//
2246// Use "Send" method on the returned Request to send the API call to the service.
2247// the "output" return value is not valid until after Send returns without error.
2248//
2249// See ListHostedConfigurationVersions for more information on using the ListHostedConfigurationVersions
2250// API call, and error handling.
2251//
2252// This method is useful when you want to inject custom logic or configuration
2253// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2254//
2255//
2256//    // Example sending a request using the ListHostedConfigurationVersionsRequest method.
2257//    req, resp := client.ListHostedConfigurationVersionsRequest(params)
2258//
2259//    err := req.Send()
2260//    if err == nil { // resp is now filled
2261//        fmt.Println(resp)
2262//    }
2263//
2264// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListHostedConfigurationVersions
2265func (c *AppConfig) ListHostedConfigurationVersionsRequest(input *ListHostedConfigurationVersionsInput) (req *request.Request, output *ListHostedConfigurationVersionsOutput) {
2266	op := &request.Operation{
2267		Name:       opListHostedConfigurationVersions,
2268		HTTPMethod: "GET",
2269		HTTPPath:   "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}/hostedconfigurationversions",
2270		Paginator: &request.Paginator{
2271			InputTokens:     []string{"NextToken"},
2272			OutputTokens:    []string{"NextToken"},
2273			LimitToken:      "MaxResults",
2274			TruncationToken: "",
2275		},
2276	}
2277
2278	if input == nil {
2279		input = &ListHostedConfigurationVersionsInput{}
2280	}
2281
2282	output = &ListHostedConfigurationVersionsOutput{}
2283	req = c.newRequest(op, input, output)
2284	return
2285}
2286
2287// ListHostedConfigurationVersions API operation for Amazon AppConfig.
2288//
2289// View a list of configurations stored in the AppConfig configuration store
2290// by version.
2291//
2292// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2293// with awserr.Error's Code and Message methods to get detailed information about
2294// the error.
2295//
2296// See the AWS API reference guide for Amazon AppConfig's
2297// API operation ListHostedConfigurationVersions for usage and error information.
2298//
2299// Returned Error Types:
2300//   * BadRequestException
2301//   The input fails to satisfy the constraints specified by an AWS service.
2302//
2303//   * ResourceNotFoundException
2304//   The requested resource could not be found.
2305//
2306//   * InternalServerException
2307//   There was an internal failure in the AppConfig service.
2308//
2309// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListHostedConfigurationVersions
2310func (c *AppConfig) ListHostedConfigurationVersions(input *ListHostedConfigurationVersionsInput) (*ListHostedConfigurationVersionsOutput, error) {
2311	req, out := c.ListHostedConfigurationVersionsRequest(input)
2312	return out, req.Send()
2313}
2314
2315// ListHostedConfigurationVersionsWithContext is the same as ListHostedConfigurationVersions with the addition of
2316// the ability to pass a context and additional request options.
2317//
2318// See ListHostedConfigurationVersions for details on how to use this API operation.
2319//
2320// The context must be non-nil and will be used for request cancellation. If
2321// the context is nil a panic will occur. In the future the SDK may create
2322// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2323// for more information on using Contexts.
2324func (c *AppConfig) ListHostedConfigurationVersionsWithContext(ctx aws.Context, input *ListHostedConfigurationVersionsInput, opts ...request.Option) (*ListHostedConfigurationVersionsOutput, error) {
2325	req, out := c.ListHostedConfigurationVersionsRequest(input)
2326	req.SetContext(ctx)
2327	req.ApplyOptions(opts...)
2328	return out, req.Send()
2329}
2330
2331// ListHostedConfigurationVersionsPages iterates over the pages of a ListHostedConfigurationVersions operation,
2332// calling the "fn" function with the response data for each page. To stop
2333// iterating, return false from the fn function.
2334//
2335// See ListHostedConfigurationVersions method for more information on how to use this operation.
2336//
2337// Note: This operation can generate multiple requests to a service.
2338//
2339//    // Example iterating over at most 3 pages of a ListHostedConfigurationVersions operation.
2340//    pageNum := 0
2341//    err := client.ListHostedConfigurationVersionsPages(params,
2342//        func(page *appconfig.ListHostedConfigurationVersionsOutput, lastPage bool) bool {
2343//            pageNum++
2344//            fmt.Println(page)
2345//            return pageNum <= 3
2346//        })
2347//
2348func (c *AppConfig) ListHostedConfigurationVersionsPages(input *ListHostedConfigurationVersionsInput, fn func(*ListHostedConfigurationVersionsOutput, bool) bool) error {
2349	return c.ListHostedConfigurationVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
2350}
2351
2352// ListHostedConfigurationVersionsPagesWithContext same as ListHostedConfigurationVersionsPages except
2353// it takes a Context and allows setting request options on the pages.
2354//
2355// The context must be non-nil and will be used for request cancellation. If
2356// the context is nil a panic will occur. In the future the SDK may create
2357// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2358// for more information on using Contexts.
2359func (c *AppConfig) ListHostedConfigurationVersionsPagesWithContext(ctx aws.Context, input *ListHostedConfigurationVersionsInput, fn func(*ListHostedConfigurationVersionsOutput, bool) bool, opts ...request.Option) error {
2360	p := request.Pagination{
2361		NewRequest: func() (*request.Request, error) {
2362			var inCpy *ListHostedConfigurationVersionsInput
2363			if input != nil {
2364				tmp := *input
2365				inCpy = &tmp
2366			}
2367			req, _ := c.ListHostedConfigurationVersionsRequest(inCpy)
2368			req.SetContext(ctx)
2369			req.ApplyOptions(opts...)
2370			return req, nil
2371		},
2372	}
2373
2374	for p.Next() {
2375		if !fn(p.Page().(*ListHostedConfigurationVersionsOutput), !p.HasNextPage()) {
2376			break
2377		}
2378	}
2379
2380	return p.Err()
2381}
2382
2383const opListTagsForResource = "ListTagsForResource"
2384
2385// ListTagsForResourceRequest generates a "aws/request.Request" representing the
2386// client's request for the ListTagsForResource operation. The "output" return
2387// value will be populated with the request's response once the request completes
2388// successfully.
2389//
2390// Use "Send" method on the returned Request to send the API call to the service.
2391// the "output" return value is not valid until after Send returns without error.
2392//
2393// See ListTagsForResource for more information on using the ListTagsForResource
2394// API call, and error handling.
2395//
2396// This method is useful when you want to inject custom logic or configuration
2397// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2398//
2399//
2400//    // Example sending a request using the ListTagsForResourceRequest method.
2401//    req, resp := client.ListTagsForResourceRequest(params)
2402//
2403//    err := req.Send()
2404//    if err == nil { // resp is now filled
2405//        fmt.Println(resp)
2406//    }
2407//
2408// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListTagsForResource
2409func (c *AppConfig) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
2410	op := &request.Operation{
2411		Name:       opListTagsForResource,
2412		HTTPMethod: "GET",
2413		HTTPPath:   "/tags/{ResourceArn}",
2414	}
2415
2416	if input == nil {
2417		input = &ListTagsForResourceInput{}
2418	}
2419
2420	output = &ListTagsForResourceOutput{}
2421	req = c.newRequest(op, input, output)
2422	return
2423}
2424
2425// ListTagsForResource API operation for Amazon AppConfig.
2426//
2427// Retrieves the list of key-value tags assigned to the resource.
2428//
2429// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2430// with awserr.Error's Code and Message methods to get detailed information about
2431// the error.
2432//
2433// See the AWS API reference guide for Amazon AppConfig's
2434// API operation ListTagsForResource for usage and error information.
2435//
2436// Returned Error Types:
2437//   * ResourceNotFoundException
2438//   The requested resource could not be found.
2439//
2440//   * BadRequestException
2441//   The input fails to satisfy the constraints specified by an AWS service.
2442//
2443//   * InternalServerException
2444//   There was an internal failure in the AppConfig service.
2445//
2446// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ListTagsForResource
2447func (c *AppConfig) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2448	req, out := c.ListTagsForResourceRequest(input)
2449	return out, req.Send()
2450}
2451
2452// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2453// the ability to pass a context and additional request options.
2454//
2455// See ListTagsForResource for details on how to use this API operation.
2456//
2457// The context must be non-nil and will be used for request cancellation. If
2458// the context is nil a panic will occur. In the future the SDK may create
2459// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2460// for more information on using Contexts.
2461func (c *AppConfig) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2462	req, out := c.ListTagsForResourceRequest(input)
2463	req.SetContext(ctx)
2464	req.ApplyOptions(opts...)
2465	return out, req.Send()
2466}
2467
2468const opStartDeployment = "StartDeployment"
2469
2470// StartDeploymentRequest generates a "aws/request.Request" representing the
2471// client's request for the StartDeployment operation. The "output" return
2472// value will be populated with the request's response once the request completes
2473// successfully.
2474//
2475// Use "Send" method on the returned Request to send the API call to the service.
2476// the "output" return value is not valid until after Send returns without error.
2477//
2478// See StartDeployment for more information on using the StartDeployment
2479// API call, and error handling.
2480//
2481// This method is useful when you want to inject custom logic or configuration
2482// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2483//
2484//
2485//    // Example sending a request using the StartDeploymentRequest method.
2486//    req, resp := client.StartDeploymentRequest(params)
2487//
2488//    err := req.Send()
2489//    if err == nil { // resp is now filled
2490//        fmt.Println(resp)
2491//    }
2492//
2493// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/StartDeployment
2494func (c *AppConfig) StartDeploymentRequest(input *StartDeploymentInput) (req *request.Request, output *StartDeploymentOutput) {
2495	op := &request.Operation{
2496		Name:       opStartDeployment,
2497		HTTPMethod: "POST",
2498		HTTPPath:   "/applications/{ApplicationId}/environments/{EnvironmentId}/deployments",
2499	}
2500
2501	if input == nil {
2502		input = &StartDeploymentInput{}
2503	}
2504
2505	output = &StartDeploymentOutput{}
2506	req = c.newRequest(op, input, output)
2507	return
2508}
2509
2510// StartDeployment API operation for Amazon AppConfig.
2511//
2512// Starts a deployment.
2513//
2514// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2515// with awserr.Error's Code and Message methods to get detailed information about
2516// the error.
2517//
2518// See the AWS API reference guide for Amazon AppConfig's
2519// API operation StartDeployment for usage and error information.
2520//
2521// Returned Error Types:
2522//   * BadRequestException
2523//   The input fails to satisfy the constraints specified by an AWS service.
2524//
2525//   * ResourceNotFoundException
2526//   The requested resource could not be found.
2527//
2528//   * ConflictException
2529//   The request could not be processed because of conflict in the current state
2530//   of the resource.
2531//
2532//   * InternalServerException
2533//   There was an internal failure in the AppConfig service.
2534//
2535// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/StartDeployment
2536func (c *AppConfig) StartDeployment(input *StartDeploymentInput) (*StartDeploymentOutput, error) {
2537	req, out := c.StartDeploymentRequest(input)
2538	return out, req.Send()
2539}
2540
2541// StartDeploymentWithContext is the same as StartDeployment with the addition of
2542// the ability to pass a context and additional request options.
2543//
2544// See StartDeployment for details on how to use this API operation.
2545//
2546// The context must be non-nil and will be used for request cancellation. If
2547// the context is nil a panic will occur. In the future the SDK may create
2548// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2549// for more information on using Contexts.
2550func (c *AppConfig) StartDeploymentWithContext(ctx aws.Context, input *StartDeploymentInput, opts ...request.Option) (*StartDeploymentOutput, error) {
2551	req, out := c.StartDeploymentRequest(input)
2552	req.SetContext(ctx)
2553	req.ApplyOptions(opts...)
2554	return out, req.Send()
2555}
2556
2557const opStopDeployment = "StopDeployment"
2558
2559// StopDeploymentRequest generates a "aws/request.Request" representing the
2560// client's request for the StopDeployment operation. The "output" return
2561// value will be populated with the request's response once the request completes
2562// successfully.
2563//
2564// Use "Send" method on the returned Request to send the API call to the service.
2565// the "output" return value is not valid until after Send returns without error.
2566//
2567// See StopDeployment for more information on using the StopDeployment
2568// API call, and error handling.
2569//
2570// This method is useful when you want to inject custom logic or configuration
2571// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2572//
2573//
2574//    // Example sending a request using the StopDeploymentRequest method.
2575//    req, resp := client.StopDeploymentRequest(params)
2576//
2577//    err := req.Send()
2578//    if err == nil { // resp is now filled
2579//        fmt.Println(resp)
2580//    }
2581//
2582// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/StopDeployment
2583func (c *AppConfig) StopDeploymentRequest(input *StopDeploymentInput) (req *request.Request, output *StopDeploymentOutput) {
2584	op := &request.Operation{
2585		Name:       opStopDeployment,
2586		HTTPMethod: "DELETE",
2587		HTTPPath:   "/applications/{ApplicationId}/environments/{EnvironmentId}/deployments/{DeploymentNumber}",
2588	}
2589
2590	if input == nil {
2591		input = &StopDeploymentInput{}
2592	}
2593
2594	output = &StopDeploymentOutput{}
2595	req = c.newRequest(op, input, output)
2596	return
2597}
2598
2599// StopDeployment API operation for Amazon AppConfig.
2600//
2601// Stops a deployment. This API action works only on deployments that have a
2602// status of DEPLOYING. This action moves the deployment to a status of ROLLED_BACK.
2603//
2604// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2605// with awserr.Error's Code and Message methods to get detailed information about
2606// the error.
2607//
2608// See the AWS API reference guide for Amazon AppConfig's
2609// API operation StopDeployment for usage and error information.
2610//
2611// Returned Error Types:
2612//   * ResourceNotFoundException
2613//   The requested resource could not be found.
2614//
2615//   * InternalServerException
2616//   There was an internal failure in the AppConfig service.
2617//
2618//   * BadRequestException
2619//   The input fails to satisfy the constraints specified by an AWS service.
2620//
2621// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/StopDeployment
2622func (c *AppConfig) StopDeployment(input *StopDeploymentInput) (*StopDeploymentOutput, error) {
2623	req, out := c.StopDeploymentRequest(input)
2624	return out, req.Send()
2625}
2626
2627// StopDeploymentWithContext is the same as StopDeployment with the addition of
2628// the ability to pass a context and additional request options.
2629//
2630// See StopDeployment for details on how to use this API operation.
2631//
2632// The context must be non-nil and will be used for request cancellation. If
2633// the context is nil a panic will occur. In the future the SDK may create
2634// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2635// for more information on using Contexts.
2636func (c *AppConfig) StopDeploymentWithContext(ctx aws.Context, input *StopDeploymentInput, opts ...request.Option) (*StopDeploymentOutput, error) {
2637	req, out := c.StopDeploymentRequest(input)
2638	req.SetContext(ctx)
2639	req.ApplyOptions(opts...)
2640	return out, req.Send()
2641}
2642
2643const opTagResource = "TagResource"
2644
2645// TagResourceRequest generates a "aws/request.Request" representing the
2646// client's request for the TagResource operation. The "output" return
2647// value will be populated with the request's response once the request completes
2648// successfully.
2649//
2650// Use "Send" method on the returned Request to send the API call to the service.
2651// the "output" return value is not valid until after Send returns without error.
2652//
2653// See TagResource for more information on using the TagResource
2654// API call, and error handling.
2655//
2656// This method is useful when you want to inject custom logic or configuration
2657// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2658//
2659//
2660//    // Example sending a request using the TagResourceRequest method.
2661//    req, resp := client.TagResourceRequest(params)
2662//
2663//    err := req.Send()
2664//    if err == nil { // resp is now filled
2665//        fmt.Println(resp)
2666//    }
2667//
2668// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/TagResource
2669func (c *AppConfig) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
2670	op := &request.Operation{
2671		Name:       opTagResource,
2672		HTTPMethod: "POST",
2673		HTTPPath:   "/tags/{ResourceArn}",
2674	}
2675
2676	if input == nil {
2677		input = &TagResourceInput{}
2678	}
2679
2680	output = &TagResourceOutput{}
2681	req = c.newRequest(op, input, output)
2682	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2683	return
2684}
2685
2686// TagResource API operation for Amazon AppConfig.
2687//
2688// Metadata to assign to an AppConfig resource. Tags help organize and categorize
2689// your AppConfig resources. Each tag consists of a key and an optional value,
2690// both of which you define. You can specify a maximum of 50 tags for a resource.
2691//
2692// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2693// with awserr.Error's Code and Message methods to get detailed information about
2694// the error.
2695//
2696// See the AWS API reference guide for Amazon AppConfig's
2697// API operation TagResource for usage and error information.
2698//
2699// Returned Error Types:
2700//   * ResourceNotFoundException
2701//   The requested resource could not be found.
2702//
2703//   * BadRequestException
2704//   The input fails to satisfy the constraints specified by an AWS service.
2705//
2706//   * InternalServerException
2707//   There was an internal failure in the AppConfig service.
2708//
2709// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/TagResource
2710func (c *AppConfig) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
2711	req, out := c.TagResourceRequest(input)
2712	return out, req.Send()
2713}
2714
2715// TagResourceWithContext is the same as TagResource with the addition of
2716// the ability to pass a context and additional request options.
2717//
2718// See TagResource for details on how to use this API operation.
2719//
2720// The context must be non-nil and will be used for request cancellation. If
2721// the context is nil a panic will occur. In the future the SDK may create
2722// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2723// for more information on using Contexts.
2724func (c *AppConfig) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
2725	req, out := c.TagResourceRequest(input)
2726	req.SetContext(ctx)
2727	req.ApplyOptions(opts...)
2728	return out, req.Send()
2729}
2730
2731const opUntagResource = "UntagResource"
2732
2733// UntagResourceRequest generates a "aws/request.Request" representing the
2734// client's request for the UntagResource operation. The "output" return
2735// value will be populated with the request's response once the request completes
2736// successfully.
2737//
2738// Use "Send" method on the returned Request to send the API call to the service.
2739// the "output" return value is not valid until after Send returns without error.
2740//
2741// See UntagResource for more information on using the UntagResource
2742// API call, and error handling.
2743//
2744// This method is useful when you want to inject custom logic or configuration
2745// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2746//
2747//
2748//    // Example sending a request using the UntagResourceRequest method.
2749//    req, resp := client.UntagResourceRequest(params)
2750//
2751//    err := req.Send()
2752//    if err == nil { // resp is now filled
2753//        fmt.Println(resp)
2754//    }
2755//
2756// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UntagResource
2757func (c *AppConfig) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
2758	op := &request.Operation{
2759		Name:       opUntagResource,
2760		HTTPMethod: "DELETE",
2761		HTTPPath:   "/tags/{ResourceArn}",
2762	}
2763
2764	if input == nil {
2765		input = &UntagResourceInput{}
2766	}
2767
2768	output = &UntagResourceOutput{}
2769	req = c.newRequest(op, input, output)
2770	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2771	return
2772}
2773
2774// UntagResource API operation for Amazon AppConfig.
2775//
2776// Deletes a tag key and value from an AppConfig resource.
2777//
2778// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2779// with awserr.Error's Code and Message methods to get detailed information about
2780// the error.
2781//
2782// See the AWS API reference guide for Amazon AppConfig's
2783// API operation UntagResource for usage and error information.
2784//
2785// Returned Error Types:
2786//   * ResourceNotFoundException
2787//   The requested resource could not be found.
2788//
2789//   * BadRequestException
2790//   The input fails to satisfy the constraints specified by an AWS service.
2791//
2792//   * InternalServerException
2793//   There was an internal failure in the AppConfig service.
2794//
2795// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UntagResource
2796func (c *AppConfig) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
2797	req, out := c.UntagResourceRequest(input)
2798	return out, req.Send()
2799}
2800
2801// UntagResourceWithContext is the same as UntagResource with the addition of
2802// the ability to pass a context and additional request options.
2803//
2804// See UntagResource for details on how to use this API operation.
2805//
2806// The context must be non-nil and will be used for request cancellation. If
2807// the context is nil a panic will occur. In the future the SDK may create
2808// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2809// for more information on using Contexts.
2810func (c *AppConfig) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
2811	req, out := c.UntagResourceRequest(input)
2812	req.SetContext(ctx)
2813	req.ApplyOptions(opts...)
2814	return out, req.Send()
2815}
2816
2817const opUpdateApplication = "UpdateApplication"
2818
2819// UpdateApplicationRequest generates a "aws/request.Request" representing the
2820// client's request for the UpdateApplication operation. The "output" return
2821// value will be populated with the request's response once the request completes
2822// successfully.
2823//
2824// Use "Send" method on the returned Request to send the API call to the service.
2825// the "output" return value is not valid until after Send returns without error.
2826//
2827// See UpdateApplication for more information on using the UpdateApplication
2828// API call, and error handling.
2829//
2830// This method is useful when you want to inject custom logic or configuration
2831// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2832//
2833//
2834//    // Example sending a request using the UpdateApplicationRequest method.
2835//    req, resp := client.UpdateApplicationRequest(params)
2836//
2837//    err := req.Send()
2838//    if err == nil { // resp is now filled
2839//        fmt.Println(resp)
2840//    }
2841//
2842// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateApplication
2843func (c *AppConfig) UpdateApplicationRequest(input *UpdateApplicationInput) (req *request.Request, output *UpdateApplicationOutput) {
2844	op := &request.Operation{
2845		Name:       opUpdateApplication,
2846		HTTPMethod: "PATCH",
2847		HTTPPath:   "/applications/{ApplicationId}",
2848	}
2849
2850	if input == nil {
2851		input = &UpdateApplicationInput{}
2852	}
2853
2854	output = &UpdateApplicationOutput{}
2855	req = c.newRequest(op, input, output)
2856	return
2857}
2858
2859// UpdateApplication API operation for Amazon AppConfig.
2860//
2861// Updates an application.
2862//
2863// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2864// with awserr.Error's Code and Message methods to get detailed information about
2865// the error.
2866//
2867// See the AWS API reference guide for Amazon AppConfig's
2868// API operation UpdateApplication for usage and error information.
2869//
2870// Returned Error Types:
2871//   * BadRequestException
2872//   The input fails to satisfy the constraints specified by an AWS service.
2873//
2874//   * ResourceNotFoundException
2875//   The requested resource could not be found.
2876//
2877//   * InternalServerException
2878//   There was an internal failure in the AppConfig service.
2879//
2880// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateApplication
2881func (c *AppConfig) UpdateApplication(input *UpdateApplicationInput) (*UpdateApplicationOutput, error) {
2882	req, out := c.UpdateApplicationRequest(input)
2883	return out, req.Send()
2884}
2885
2886// UpdateApplicationWithContext is the same as UpdateApplication with the addition of
2887// the ability to pass a context and additional request options.
2888//
2889// See UpdateApplication for details on how to use this API operation.
2890//
2891// The context must be non-nil and will be used for request cancellation. If
2892// the context is nil a panic will occur. In the future the SDK may create
2893// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2894// for more information on using Contexts.
2895func (c *AppConfig) UpdateApplicationWithContext(ctx aws.Context, input *UpdateApplicationInput, opts ...request.Option) (*UpdateApplicationOutput, error) {
2896	req, out := c.UpdateApplicationRequest(input)
2897	req.SetContext(ctx)
2898	req.ApplyOptions(opts...)
2899	return out, req.Send()
2900}
2901
2902const opUpdateConfigurationProfile = "UpdateConfigurationProfile"
2903
2904// UpdateConfigurationProfileRequest generates a "aws/request.Request" representing the
2905// client's request for the UpdateConfigurationProfile operation. The "output" return
2906// value will be populated with the request's response once the request completes
2907// successfully.
2908//
2909// Use "Send" method on the returned Request to send the API call to the service.
2910// the "output" return value is not valid until after Send returns without error.
2911//
2912// See UpdateConfigurationProfile for more information on using the UpdateConfigurationProfile
2913// API call, and error handling.
2914//
2915// This method is useful when you want to inject custom logic or configuration
2916// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2917//
2918//
2919//    // Example sending a request using the UpdateConfigurationProfileRequest method.
2920//    req, resp := client.UpdateConfigurationProfileRequest(params)
2921//
2922//    err := req.Send()
2923//    if err == nil { // resp is now filled
2924//        fmt.Println(resp)
2925//    }
2926//
2927// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateConfigurationProfile
2928func (c *AppConfig) UpdateConfigurationProfileRequest(input *UpdateConfigurationProfileInput) (req *request.Request, output *UpdateConfigurationProfileOutput) {
2929	op := &request.Operation{
2930		Name:       opUpdateConfigurationProfile,
2931		HTTPMethod: "PATCH",
2932		HTTPPath:   "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}",
2933	}
2934
2935	if input == nil {
2936		input = &UpdateConfigurationProfileInput{}
2937	}
2938
2939	output = &UpdateConfigurationProfileOutput{}
2940	req = c.newRequest(op, input, output)
2941	return
2942}
2943
2944// UpdateConfigurationProfile API operation for Amazon AppConfig.
2945//
2946// Updates a configuration profile.
2947//
2948// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2949// with awserr.Error's Code and Message methods to get detailed information about
2950// the error.
2951//
2952// See the AWS API reference guide for Amazon AppConfig's
2953// API operation UpdateConfigurationProfile for usage and error information.
2954//
2955// Returned Error Types:
2956//   * BadRequestException
2957//   The input fails to satisfy the constraints specified by an AWS service.
2958//
2959//   * ResourceNotFoundException
2960//   The requested resource could not be found.
2961//
2962//   * InternalServerException
2963//   There was an internal failure in the AppConfig service.
2964//
2965// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateConfigurationProfile
2966func (c *AppConfig) UpdateConfigurationProfile(input *UpdateConfigurationProfileInput) (*UpdateConfigurationProfileOutput, error) {
2967	req, out := c.UpdateConfigurationProfileRequest(input)
2968	return out, req.Send()
2969}
2970
2971// UpdateConfigurationProfileWithContext is the same as UpdateConfigurationProfile with the addition of
2972// the ability to pass a context and additional request options.
2973//
2974// See UpdateConfigurationProfile for details on how to use this API operation.
2975//
2976// The context must be non-nil and will be used for request cancellation. If
2977// the context is nil a panic will occur. In the future the SDK may create
2978// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2979// for more information on using Contexts.
2980func (c *AppConfig) UpdateConfigurationProfileWithContext(ctx aws.Context, input *UpdateConfigurationProfileInput, opts ...request.Option) (*UpdateConfigurationProfileOutput, error) {
2981	req, out := c.UpdateConfigurationProfileRequest(input)
2982	req.SetContext(ctx)
2983	req.ApplyOptions(opts...)
2984	return out, req.Send()
2985}
2986
2987const opUpdateDeploymentStrategy = "UpdateDeploymentStrategy"
2988
2989// UpdateDeploymentStrategyRequest generates a "aws/request.Request" representing the
2990// client's request for the UpdateDeploymentStrategy operation. The "output" return
2991// value will be populated with the request's response once the request completes
2992// successfully.
2993//
2994// Use "Send" method on the returned Request to send the API call to the service.
2995// the "output" return value is not valid until after Send returns without error.
2996//
2997// See UpdateDeploymentStrategy for more information on using the UpdateDeploymentStrategy
2998// API call, and error handling.
2999//
3000// This method is useful when you want to inject custom logic or configuration
3001// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3002//
3003//
3004//    // Example sending a request using the UpdateDeploymentStrategyRequest method.
3005//    req, resp := client.UpdateDeploymentStrategyRequest(params)
3006//
3007//    err := req.Send()
3008//    if err == nil { // resp is now filled
3009//        fmt.Println(resp)
3010//    }
3011//
3012// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateDeploymentStrategy
3013func (c *AppConfig) UpdateDeploymentStrategyRequest(input *UpdateDeploymentStrategyInput) (req *request.Request, output *UpdateDeploymentStrategyOutput) {
3014	op := &request.Operation{
3015		Name:       opUpdateDeploymentStrategy,
3016		HTTPMethod: "PATCH",
3017		HTTPPath:   "/deploymentstrategies/{DeploymentStrategyId}",
3018	}
3019
3020	if input == nil {
3021		input = &UpdateDeploymentStrategyInput{}
3022	}
3023
3024	output = &UpdateDeploymentStrategyOutput{}
3025	req = c.newRequest(op, input, output)
3026	return
3027}
3028
3029// UpdateDeploymentStrategy API operation for Amazon AppConfig.
3030//
3031// Updates a deployment strategy.
3032//
3033// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3034// with awserr.Error's Code and Message methods to get detailed information about
3035// the error.
3036//
3037// See the AWS API reference guide for Amazon AppConfig's
3038// API operation UpdateDeploymentStrategy for usage and error information.
3039//
3040// Returned Error Types:
3041//   * BadRequestException
3042//   The input fails to satisfy the constraints specified by an AWS service.
3043//
3044//   * ResourceNotFoundException
3045//   The requested resource could not be found.
3046//
3047//   * InternalServerException
3048//   There was an internal failure in the AppConfig service.
3049//
3050// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateDeploymentStrategy
3051func (c *AppConfig) UpdateDeploymentStrategy(input *UpdateDeploymentStrategyInput) (*UpdateDeploymentStrategyOutput, error) {
3052	req, out := c.UpdateDeploymentStrategyRequest(input)
3053	return out, req.Send()
3054}
3055
3056// UpdateDeploymentStrategyWithContext is the same as UpdateDeploymentStrategy with the addition of
3057// the ability to pass a context and additional request options.
3058//
3059// See UpdateDeploymentStrategy for details on how to use this API operation.
3060//
3061// The context must be non-nil and will be used for request cancellation. If
3062// the context is nil a panic will occur. In the future the SDK may create
3063// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3064// for more information on using Contexts.
3065func (c *AppConfig) UpdateDeploymentStrategyWithContext(ctx aws.Context, input *UpdateDeploymentStrategyInput, opts ...request.Option) (*UpdateDeploymentStrategyOutput, error) {
3066	req, out := c.UpdateDeploymentStrategyRequest(input)
3067	req.SetContext(ctx)
3068	req.ApplyOptions(opts...)
3069	return out, req.Send()
3070}
3071
3072const opUpdateEnvironment = "UpdateEnvironment"
3073
3074// UpdateEnvironmentRequest generates a "aws/request.Request" representing the
3075// client's request for the UpdateEnvironment operation. The "output" return
3076// value will be populated with the request's response once the request completes
3077// successfully.
3078//
3079// Use "Send" method on the returned Request to send the API call to the service.
3080// the "output" return value is not valid until after Send returns without error.
3081//
3082// See UpdateEnvironment for more information on using the UpdateEnvironment
3083// API call, and error handling.
3084//
3085// This method is useful when you want to inject custom logic or configuration
3086// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3087//
3088//
3089//    // Example sending a request using the UpdateEnvironmentRequest method.
3090//    req, resp := client.UpdateEnvironmentRequest(params)
3091//
3092//    err := req.Send()
3093//    if err == nil { // resp is now filled
3094//        fmt.Println(resp)
3095//    }
3096//
3097// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateEnvironment
3098func (c *AppConfig) UpdateEnvironmentRequest(input *UpdateEnvironmentInput) (req *request.Request, output *UpdateEnvironmentOutput) {
3099	op := &request.Operation{
3100		Name:       opUpdateEnvironment,
3101		HTTPMethod: "PATCH",
3102		HTTPPath:   "/applications/{ApplicationId}/environments/{EnvironmentId}",
3103	}
3104
3105	if input == nil {
3106		input = &UpdateEnvironmentInput{}
3107	}
3108
3109	output = &UpdateEnvironmentOutput{}
3110	req = c.newRequest(op, input, output)
3111	return
3112}
3113
3114// UpdateEnvironment API operation for Amazon AppConfig.
3115//
3116// Updates an environment.
3117//
3118// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3119// with awserr.Error's Code and Message methods to get detailed information about
3120// the error.
3121//
3122// See the AWS API reference guide for Amazon AppConfig's
3123// API operation UpdateEnvironment for usage and error information.
3124//
3125// Returned Error Types:
3126//   * BadRequestException
3127//   The input fails to satisfy the constraints specified by an AWS service.
3128//
3129//   * ResourceNotFoundException
3130//   The requested resource could not be found.
3131//
3132//   * InternalServerException
3133//   There was an internal failure in the AppConfig service.
3134//
3135// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/UpdateEnvironment
3136func (c *AppConfig) UpdateEnvironment(input *UpdateEnvironmentInput) (*UpdateEnvironmentOutput, error) {
3137	req, out := c.UpdateEnvironmentRequest(input)
3138	return out, req.Send()
3139}
3140
3141// UpdateEnvironmentWithContext is the same as UpdateEnvironment with the addition of
3142// the ability to pass a context and additional request options.
3143//
3144// See UpdateEnvironment for details on how to use this API operation.
3145//
3146// The context must be non-nil and will be used for request cancellation. If
3147// the context is nil a panic will occur. In the future the SDK may create
3148// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3149// for more information on using Contexts.
3150func (c *AppConfig) UpdateEnvironmentWithContext(ctx aws.Context, input *UpdateEnvironmentInput, opts ...request.Option) (*UpdateEnvironmentOutput, error) {
3151	req, out := c.UpdateEnvironmentRequest(input)
3152	req.SetContext(ctx)
3153	req.ApplyOptions(opts...)
3154	return out, req.Send()
3155}
3156
3157const opValidateConfiguration = "ValidateConfiguration"
3158
3159// ValidateConfigurationRequest generates a "aws/request.Request" representing the
3160// client's request for the ValidateConfiguration operation. The "output" return
3161// value will be populated with the request's response once the request completes
3162// successfully.
3163//
3164// Use "Send" method on the returned Request to send the API call to the service.
3165// the "output" return value is not valid until after Send returns without error.
3166//
3167// See ValidateConfiguration for more information on using the ValidateConfiguration
3168// API call, and error handling.
3169//
3170// This method is useful when you want to inject custom logic or configuration
3171// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3172//
3173//
3174//    // Example sending a request using the ValidateConfigurationRequest method.
3175//    req, resp := client.ValidateConfigurationRequest(params)
3176//
3177//    err := req.Send()
3178//    if err == nil { // resp is now filled
3179//        fmt.Println(resp)
3180//    }
3181//
3182// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ValidateConfiguration
3183func (c *AppConfig) ValidateConfigurationRequest(input *ValidateConfigurationInput) (req *request.Request, output *ValidateConfigurationOutput) {
3184	op := &request.Operation{
3185		Name:       opValidateConfiguration,
3186		HTTPMethod: "POST",
3187		HTTPPath:   "/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}/validators",
3188	}
3189
3190	if input == nil {
3191		input = &ValidateConfigurationInput{}
3192	}
3193
3194	output = &ValidateConfigurationOutput{}
3195	req = c.newRequest(op, input, output)
3196	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3197	return
3198}
3199
3200// ValidateConfiguration API operation for Amazon AppConfig.
3201//
3202// Uses the validators in a configuration profile to validate a configuration.
3203//
3204// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3205// with awserr.Error's Code and Message methods to get detailed information about
3206// the error.
3207//
3208// See the AWS API reference guide for Amazon AppConfig's
3209// API operation ValidateConfiguration for usage and error information.
3210//
3211// Returned Error Types:
3212//   * BadRequestException
3213//   The input fails to satisfy the constraints specified by an AWS service.
3214//
3215//   * ResourceNotFoundException
3216//   The requested resource could not be found.
3217//
3218//   * InternalServerException
3219//   There was an internal failure in the AppConfig service.
3220//
3221// See also, https://docs.aws.amazon.com/goto/WebAPI/appconfig-2019-10-09/ValidateConfiguration
3222func (c *AppConfig) ValidateConfiguration(input *ValidateConfigurationInput) (*ValidateConfigurationOutput, error) {
3223	req, out := c.ValidateConfigurationRequest(input)
3224	return out, req.Send()
3225}
3226
3227// ValidateConfigurationWithContext is the same as ValidateConfiguration with the addition of
3228// the ability to pass a context and additional request options.
3229//
3230// See ValidateConfiguration for details on how to use this API operation.
3231//
3232// The context must be non-nil and will be used for request cancellation. If
3233// the context is nil a panic will occur. In the future the SDK may create
3234// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3235// for more information on using Contexts.
3236func (c *AppConfig) ValidateConfigurationWithContext(ctx aws.Context, input *ValidateConfigurationInput, opts ...request.Option) (*ValidateConfigurationOutput, error) {
3237	req, out := c.ValidateConfigurationRequest(input)
3238	req.SetContext(ctx)
3239	req.ApplyOptions(opts...)
3240	return out, req.Send()
3241}
3242
3243type Application struct {
3244	_ struct{} `type:"structure"`
3245
3246	// The description of the application.
3247	Description *string `type:"string"`
3248
3249	// The application ID.
3250	Id *string `type:"string"`
3251
3252	// The application name.
3253	Name *string `min:"1" type:"string"`
3254}
3255
3256// String returns the string representation.
3257//
3258// API parameter values that are decorated as "sensitive" in the API will not
3259// be included in the string output. The member name will be present, but the
3260// value will be replaced with "sensitive".
3261func (s Application) String() string {
3262	return awsutil.Prettify(s)
3263}
3264
3265// GoString returns the string representation.
3266//
3267// API parameter values that are decorated as "sensitive" in the API will not
3268// be included in the string output. The member name will be present, but the
3269// value will be replaced with "sensitive".
3270func (s Application) GoString() string {
3271	return s.String()
3272}
3273
3274// SetDescription sets the Description field's value.
3275func (s *Application) SetDescription(v string) *Application {
3276	s.Description = &v
3277	return s
3278}
3279
3280// SetId sets the Id field's value.
3281func (s *Application) SetId(v string) *Application {
3282	s.Id = &v
3283	return s
3284}
3285
3286// SetName sets the Name field's value.
3287func (s *Application) SetName(v string) *Application {
3288	s.Name = &v
3289	return s
3290}
3291
3292// The input fails to satisfy the constraints specified by an AWS service.
3293type BadRequestException struct {
3294	_            struct{}                  `type:"structure"`
3295	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3296
3297	Message_ *string `locationName:"Message" type:"string"`
3298}
3299
3300// String returns the string representation.
3301//
3302// API parameter values that are decorated as "sensitive" in the API will not
3303// be included in the string output. The member name will be present, but the
3304// value will be replaced with "sensitive".
3305func (s BadRequestException) String() string {
3306	return awsutil.Prettify(s)
3307}
3308
3309// GoString returns the string representation.
3310//
3311// API parameter values that are decorated as "sensitive" in the API will not
3312// be included in the string output. The member name will be present, but the
3313// value will be replaced with "sensitive".
3314func (s BadRequestException) GoString() string {
3315	return s.String()
3316}
3317
3318func newErrorBadRequestException(v protocol.ResponseMetadata) error {
3319	return &BadRequestException{
3320		RespMetadata: v,
3321	}
3322}
3323
3324// Code returns the exception type name.
3325func (s *BadRequestException) Code() string {
3326	return "BadRequestException"
3327}
3328
3329// Message returns the exception's message.
3330func (s *BadRequestException) Message() string {
3331	if s.Message_ != nil {
3332		return *s.Message_
3333	}
3334	return ""
3335}
3336
3337// OrigErr always returns nil, satisfies awserr.Error interface.
3338func (s *BadRequestException) OrigErr() error {
3339	return nil
3340}
3341
3342func (s *BadRequestException) Error() string {
3343	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3344}
3345
3346// Status code returns the HTTP status code for the request's response error.
3347func (s *BadRequestException) StatusCode() int {
3348	return s.RespMetadata.StatusCode
3349}
3350
3351// RequestID returns the service's response RequestID for request.
3352func (s *BadRequestException) RequestID() string {
3353	return s.RespMetadata.RequestID
3354}
3355
3356// A summary of a configuration profile.
3357type ConfigurationProfileSummary struct {
3358	_ struct{} `type:"structure"`
3359
3360	// The application ID.
3361	ApplicationId *string `type:"string"`
3362
3363	// The ID of the configuration profile.
3364	Id *string `type:"string"`
3365
3366	// The URI location of the configuration.
3367	LocationUri *string `min:"1" type:"string"`
3368
3369	// The name of the configuration profile.
3370	Name *string `min:"1" type:"string"`
3371
3372	// The types of validators in the configuration profile.
3373	ValidatorTypes []*string `type:"list"`
3374}
3375
3376// String returns the string representation.
3377//
3378// API parameter values that are decorated as "sensitive" in the API will not
3379// be included in the string output. The member name will be present, but the
3380// value will be replaced with "sensitive".
3381func (s ConfigurationProfileSummary) String() string {
3382	return awsutil.Prettify(s)
3383}
3384
3385// GoString returns the string representation.
3386//
3387// API parameter values that are decorated as "sensitive" in the API will not
3388// be included in the string output. The member name will be present, but the
3389// value will be replaced with "sensitive".
3390func (s ConfigurationProfileSummary) GoString() string {
3391	return s.String()
3392}
3393
3394// SetApplicationId sets the ApplicationId field's value.
3395func (s *ConfigurationProfileSummary) SetApplicationId(v string) *ConfigurationProfileSummary {
3396	s.ApplicationId = &v
3397	return s
3398}
3399
3400// SetId sets the Id field's value.
3401func (s *ConfigurationProfileSummary) SetId(v string) *ConfigurationProfileSummary {
3402	s.Id = &v
3403	return s
3404}
3405
3406// SetLocationUri sets the LocationUri field's value.
3407func (s *ConfigurationProfileSummary) SetLocationUri(v string) *ConfigurationProfileSummary {
3408	s.LocationUri = &v
3409	return s
3410}
3411
3412// SetName sets the Name field's value.
3413func (s *ConfigurationProfileSummary) SetName(v string) *ConfigurationProfileSummary {
3414	s.Name = &v
3415	return s
3416}
3417
3418// SetValidatorTypes sets the ValidatorTypes field's value.
3419func (s *ConfigurationProfileSummary) SetValidatorTypes(v []*string) *ConfigurationProfileSummary {
3420	s.ValidatorTypes = v
3421	return s
3422}
3423
3424// The request could not be processed because of conflict in the current state
3425// of the resource.
3426type ConflictException struct {
3427	_            struct{}                  `type:"structure"`
3428	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3429
3430	Message_ *string `locationName:"Message" type:"string"`
3431}
3432
3433// String returns the string representation.
3434//
3435// API parameter values that are decorated as "sensitive" in the API will not
3436// be included in the string output. The member name will be present, but the
3437// value will be replaced with "sensitive".
3438func (s ConflictException) String() string {
3439	return awsutil.Prettify(s)
3440}
3441
3442// GoString returns the string representation.
3443//
3444// API parameter values that are decorated as "sensitive" in the API will not
3445// be included in the string output. The member name will be present, but the
3446// value will be replaced with "sensitive".
3447func (s ConflictException) GoString() string {
3448	return s.String()
3449}
3450
3451func newErrorConflictException(v protocol.ResponseMetadata) error {
3452	return &ConflictException{
3453		RespMetadata: v,
3454	}
3455}
3456
3457// Code returns the exception type name.
3458func (s *ConflictException) Code() string {
3459	return "ConflictException"
3460}
3461
3462// Message returns the exception's message.
3463func (s *ConflictException) Message() string {
3464	if s.Message_ != nil {
3465		return *s.Message_
3466	}
3467	return ""
3468}
3469
3470// OrigErr always returns nil, satisfies awserr.Error interface.
3471func (s *ConflictException) OrigErr() error {
3472	return nil
3473}
3474
3475func (s *ConflictException) Error() string {
3476	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3477}
3478
3479// Status code returns the HTTP status code for the request's response error.
3480func (s *ConflictException) StatusCode() int {
3481	return s.RespMetadata.StatusCode
3482}
3483
3484// RequestID returns the service's response RequestID for request.
3485func (s *ConflictException) RequestID() string {
3486	return s.RespMetadata.RequestID
3487}
3488
3489type CreateApplicationInput struct {
3490	_ struct{} `type:"structure"`
3491
3492	// A description of the application.
3493	Description *string `type:"string"`
3494
3495	// A name for the application.
3496	//
3497	// Name is a required field
3498	Name *string `min:"1" type:"string" required:"true"`
3499
3500	// Metadata to assign to the application. Tags help organize and categorize
3501	// your AppConfig resources. Each tag consists of a key and an optional value,
3502	// both of which you define.
3503	Tags map[string]*string `type:"map"`
3504}
3505
3506// String returns the string representation.
3507//
3508// API parameter values that are decorated as "sensitive" in the API will not
3509// be included in the string output. The member name will be present, but the
3510// value will be replaced with "sensitive".
3511func (s CreateApplicationInput) String() string {
3512	return awsutil.Prettify(s)
3513}
3514
3515// GoString returns the string representation.
3516//
3517// API parameter values that are decorated as "sensitive" in the API will not
3518// be included in the string output. The member name will be present, but the
3519// value will be replaced with "sensitive".
3520func (s CreateApplicationInput) GoString() string {
3521	return s.String()
3522}
3523
3524// Validate inspects the fields of the type to determine if they are valid.
3525func (s *CreateApplicationInput) Validate() error {
3526	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationInput"}
3527	if s.Name == nil {
3528		invalidParams.Add(request.NewErrParamRequired("Name"))
3529	}
3530	if s.Name != nil && len(*s.Name) < 1 {
3531		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
3532	}
3533
3534	if invalidParams.Len() > 0 {
3535		return invalidParams
3536	}
3537	return nil
3538}
3539
3540// SetDescription sets the Description field's value.
3541func (s *CreateApplicationInput) SetDescription(v string) *CreateApplicationInput {
3542	s.Description = &v
3543	return s
3544}
3545
3546// SetName sets the Name field's value.
3547func (s *CreateApplicationInput) SetName(v string) *CreateApplicationInput {
3548	s.Name = &v
3549	return s
3550}
3551
3552// SetTags sets the Tags field's value.
3553func (s *CreateApplicationInput) SetTags(v map[string]*string) *CreateApplicationInput {
3554	s.Tags = v
3555	return s
3556}
3557
3558type CreateApplicationOutput struct {
3559	_ struct{} `type:"structure"`
3560
3561	// The description of the application.
3562	Description *string `type:"string"`
3563
3564	// The application ID.
3565	Id *string `type:"string"`
3566
3567	// The application name.
3568	Name *string `min:"1" type:"string"`
3569}
3570
3571// String returns the string representation.
3572//
3573// API parameter values that are decorated as "sensitive" in the API will not
3574// be included in the string output. The member name will be present, but the
3575// value will be replaced with "sensitive".
3576func (s CreateApplicationOutput) String() string {
3577	return awsutil.Prettify(s)
3578}
3579
3580// GoString returns the string representation.
3581//
3582// API parameter values that are decorated as "sensitive" in the API will not
3583// be included in the string output. The member name will be present, but the
3584// value will be replaced with "sensitive".
3585func (s CreateApplicationOutput) GoString() string {
3586	return s.String()
3587}
3588
3589// SetDescription sets the Description field's value.
3590func (s *CreateApplicationOutput) SetDescription(v string) *CreateApplicationOutput {
3591	s.Description = &v
3592	return s
3593}
3594
3595// SetId sets the Id field's value.
3596func (s *CreateApplicationOutput) SetId(v string) *CreateApplicationOutput {
3597	s.Id = &v
3598	return s
3599}
3600
3601// SetName sets the Name field's value.
3602func (s *CreateApplicationOutput) SetName(v string) *CreateApplicationOutput {
3603	s.Name = &v
3604	return s
3605}
3606
3607type CreateConfigurationProfileInput struct {
3608	_ struct{} `type:"structure"`
3609
3610	// The application ID.
3611	//
3612	// ApplicationId is a required field
3613	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
3614
3615	// A description of the configuration profile.
3616	Description *string `type:"string"`
3617
3618	// A URI to locate the configuration. You can specify a Systems Manager (SSM)
3619	// document, an SSM Parameter Store parameter, or an Amazon S3 object. For an
3620	// SSM document, specify either the document name in the format ssm-document://<Document_name>
3621	// or the Amazon Resource Name (ARN). For a parameter, specify either the parameter
3622	// name in the format ssm-parameter://<Parameter_name> or the ARN. For an Amazon
3623	// S3 object, specify the URI in the following format: s3://<bucket>/<objectKey>
3624	// . Here is an example: s3://my-bucket/my-app/us-east-1/my-config.json
3625	//
3626	// LocationUri is a required field
3627	LocationUri *string `min:"1" type:"string" required:"true"`
3628
3629	// A name for the configuration profile.
3630	//
3631	// Name is a required field
3632	Name *string `min:"1" type:"string" required:"true"`
3633
3634	// The ARN of an IAM role with permission to access the configuration at the
3635	// specified LocationUri.
3636	RetrievalRoleArn *string `min:"20" type:"string"`
3637
3638	// Metadata to assign to the configuration profile. Tags help organize and categorize
3639	// your AppConfig resources. Each tag consists of a key and an optional value,
3640	// both of which you define.
3641	Tags map[string]*string `type:"map"`
3642
3643	// A list of methods for validating the configuration.
3644	Validators []*Validator `type:"list"`
3645}
3646
3647// String returns the string representation.
3648//
3649// API parameter values that are decorated as "sensitive" in the API will not
3650// be included in the string output. The member name will be present, but the
3651// value will be replaced with "sensitive".
3652func (s CreateConfigurationProfileInput) String() string {
3653	return awsutil.Prettify(s)
3654}
3655
3656// GoString returns the string representation.
3657//
3658// API parameter values that are decorated as "sensitive" in the API will not
3659// be included in the string output. The member name will be present, but the
3660// value will be replaced with "sensitive".
3661func (s CreateConfigurationProfileInput) GoString() string {
3662	return s.String()
3663}
3664
3665// Validate inspects the fields of the type to determine if they are valid.
3666func (s *CreateConfigurationProfileInput) Validate() error {
3667	invalidParams := request.ErrInvalidParams{Context: "CreateConfigurationProfileInput"}
3668	if s.ApplicationId == nil {
3669		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
3670	}
3671	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
3672		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
3673	}
3674	if s.LocationUri == nil {
3675		invalidParams.Add(request.NewErrParamRequired("LocationUri"))
3676	}
3677	if s.LocationUri != nil && len(*s.LocationUri) < 1 {
3678		invalidParams.Add(request.NewErrParamMinLen("LocationUri", 1))
3679	}
3680	if s.Name == nil {
3681		invalidParams.Add(request.NewErrParamRequired("Name"))
3682	}
3683	if s.Name != nil && len(*s.Name) < 1 {
3684		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
3685	}
3686	if s.RetrievalRoleArn != nil && len(*s.RetrievalRoleArn) < 20 {
3687		invalidParams.Add(request.NewErrParamMinLen("RetrievalRoleArn", 20))
3688	}
3689	if s.Validators != nil {
3690		for i, v := range s.Validators {
3691			if v == nil {
3692				continue
3693			}
3694			if err := v.Validate(); err != nil {
3695				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Validators", i), err.(request.ErrInvalidParams))
3696			}
3697		}
3698	}
3699
3700	if invalidParams.Len() > 0 {
3701		return invalidParams
3702	}
3703	return nil
3704}
3705
3706// SetApplicationId sets the ApplicationId field's value.
3707func (s *CreateConfigurationProfileInput) SetApplicationId(v string) *CreateConfigurationProfileInput {
3708	s.ApplicationId = &v
3709	return s
3710}
3711
3712// SetDescription sets the Description field's value.
3713func (s *CreateConfigurationProfileInput) SetDescription(v string) *CreateConfigurationProfileInput {
3714	s.Description = &v
3715	return s
3716}
3717
3718// SetLocationUri sets the LocationUri field's value.
3719func (s *CreateConfigurationProfileInput) SetLocationUri(v string) *CreateConfigurationProfileInput {
3720	s.LocationUri = &v
3721	return s
3722}
3723
3724// SetName sets the Name field's value.
3725func (s *CreateConfigurationProfileInput) SetName(v string) *CreateConfigurationProfileInput {
3726	s.Name = &v
3727	return s
3728}
3729
3730// SetRetrievalRoleArn sets the RetrievalRoleArn field's value.
3731func (s *CreateConfigurationProfileInput) SetRetrievalRoleArn(v string) *CreateConfigurationProfileInput {
3732	s.RetrievalRoleArn = &v
3733	return s
3734}
3735
3736// SetTags sets the Tags field's value.
3737func (s *CreateConfigurationProfileInput) SetTags(v map[string]*string) *CreateConfigurationProfileInput {
3738	s.Tags = v
3739	return s
3740}
3741
3742// SetValidators sets the Validators field's value.
3743func (s *CreateConfigurationProfileInput) SetValidators(v []*Validator) *CreateConfigurationProfileInput {
3744	s.Validators = v
3745	return s
3746}
3747
3748type CreateConfigurationProfileOutput struct {
3749	_ struct{} `type:"structure"`
3750
3751	// The application ID.
3752	ApplicationId *string `type:"string"`
3753
3754	// The configuration profile description.
3755	Description *string `type:"string"`
3756
3757	// The configuration profile ID.
3758	Id *string `type:"string"`
3759
3760	// The URI location of the configuration.
3761	LocationUri *string `min:"1" type:"string"`
3762
3763	// The name of the configuration profile.
3764	Name *string `min:"1" type:"string"`
3765
3766	// The ARN of an IAM role with permission to access the configuration at the
3767	// specified LocationUri.
3768	RetrievalRoleArn *string `min:"20" type:"string"`
3769
3770	// A list of methods for validating the configuration.
3771	Validators []*Validator `type:"list"`
3772}
3773
3774// String returns the string representation.
3775//
3776// API parameter values that are decorated as "sensitive" in the API will not
3777// be included in the string output. The member name will be present, but the
3778// value will be replaced with "sensitive".
3779func (s CreateConfigurationProfileOutput) String() string {
3780	return awsutil.Prettify(s)
3781}
3782
3783// GoString returns the string representation.
3784//
3785// API parameter values that are decorated as "sensitive" in the API will not
3786// be included in the string output. The member name will be present, but the
3787// value will be replaced with "sensitive".
3788func (s CreateConfigurationProfileOutput) GoString() string {
3789	return s.String()
3790}
3791
3792// SetApplicationId sets the ApplicationId field's value.
3793func (s *CreateConfigurationProfileOutput) SetApplicationId(v string) *CreateConfigurationProfileOutput {
3794	s.ApplicationId = &v
3795	return s
3796}
3797
3798// SetDescription sets the Description field's value.
3799func (s *CreateConfigurationProfileOutput) SetDescription(v string) *CreateConfigurationProfileOutput {
3800	s.Description = &v
3801	return s
3802}
3803
3804// SetId sets the Id field's value.
3805func (s *CreateConfigurationProfileOutput) SetId(v string) *CreateConfigurationProfileOutput {
3806	s.Id = &v
3807	return s
3808}
3809
3810// SetLocationUri sets the LocationUri field's value.
3811func (s *CreateConfigurationProfileOutput) SetLocationUri(v string) *CreateConfigurationProfileOutput {
3812	s.LocationUri = &v
3813	return s
3814}
3815
3816// SetName sets the Name field's value.
3817func (s *CreateConfigurationProfileOutput) SetName(v string) *CreateConfigurationProfileOutput {
3818	s.Name = &v
3819	return s
3820}
3821
3822// SetRetrievalRoleArn sets the RetrievalRoleArn field's value.
3823func (s *CreateConfigurationProfileOutput) SetRetrievalRoleArn(v string) *CreateConfigurationProfileOutput {
3824	s.RetrievalRoleArn = &v
3825	return s
3826}
3827
3828// SetValidators sets the Validators field's value.
3829func (s *CreateConfigurationProfileOutput) SetValidators(v []*Validator) *CreateConfigurationProfileOutput {
3830	s.Validators = v
3831	return s
3832}
3833
3834type CreateDeploymentStrategyInput struct {
3835	_ struct{} `type:"structure"`
3836
3837	// Total amount of time for a deployment to last.
3838	//
3839	// DeploymentDurationInMinutes is a required field
3840	DeploymentDurationInMinutes *int64 `type:"integer" required:"true"`
3841
3842	// A description of the deployment strategy.
3843	Description *string `type:"string"`
3844
3845	// The amount of time AppConfig monitors for alarms before considering the deployment
3846	// to be complete and no longer eligible for automatic roll back.
3847	FinalBakeTimeInMinutes *int64 `type:"integer"`
3848
3849	// The percentage of targets to receive a deployed configuration during each
3850	// interval.
3851	//
3852	// GrowthFactor is a required field
3853	GrowthFactor *float64 `min:"1" type:"float" required:"true"`
3854
3855	// The algorithm used to define how percentage grows over time. AWS AppConfig
3856	// supports the following growth types:
3857	//
3858	// Linear: For this type, AppConfig processes the deployment by dividing the
3859	// total number of targets by the value specified for Step percentage. For example,
3860	// a linear deployment that uses a Step percentage of 10 deploys the configuration
3861	// to 10 percent of the hosts. After those deployments are complete, the system
3862	// deploys the configuration to the next 10 percent. This continues until 100%
3863	// of the targets have successfully received the configuration.
3864	//
3865	// Exponential: For this type, AppConfig processes the deployment exponentially
3866	// using the following formula: G*(2^N). In this formula, G is the growth factor
3867	// specified by the user and N is the number of steps until the configuration
3868	// is deployed to all targets. For example, if you specify a growth factor of
3869	// 2, then the system rolls out the configuration as follows:
3870	//
3871	// 2*(2^0)
3872	//
3873	// 2*(2^1)
3874	//
3875	// 2*(2^2)
3876	//
3877	// Expressed numerically, the deployment rolls out as follows: 2% of the targets,
3878	// 4% of the targets, 8% of the targets, and continues until the configuration
3879	// has been deployed to all targets.
3880	GrowthType *string `type:"string" enum:"GrowthType"`
3881
3882	// A name for the deployment strategy.
3883	//
3884	// Name is a required field
3885	Name *string `min:"1" type:"string" required:"true"`
3886
3887	// Save the deployment strategy to a Systems Manager (SSM) document.
3888	//
3889	// ReplicateTo is a required field
3890	ReplicateTo *string `type:"string" required:"true" enum:"ReplicateTo"`
3891
3892	// Metadata to assign to the deployment strategy. Tags help organize and categorize
3893	// your AppConfig resources. Each tag consists of a key and an optional value,
3894	// both of which you define.
3895	Tags map[string]*string `type:"map"`
3896}
3897
3898// String returns the string representation.
3899//
3900// API parameter values that are decorated as "sensitive" in the API will not
3901// be included in the string output. The member name will be present, but the
3902// value will be replaced with "sensitive".
3903func (s CreateDeploymentStrategyInput) String() string {
3904	return awsutil.Prettify(s)
3905}
3906
3907// GoString returns the string representation.
3908//
3909// API parameter values that are decorated as "sensitive" in the API will not
3910// be included in the string output. The member name will be present, but the
3911// value will be replaced with "sensitive".
3912func (s CreateDeploymentStrategyInput) GoString() string {
3913	return s.String()
3914}
3915
3916// Validate inspects the fields of the type to determine if they are valid.
3917func (s *CreateDeploymentStrategyInput) Validate() error {
3918	invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentStrategyInput"}
3919	if s.DeploymentDurationInMinutes == nil {
3920		invalidParams.Add(request.NewErrParamRequired("DeploymentDurationInMinutes"))
3921	}
3922	if s.GrowthFactor == nil {
3923		invalidParams.Add(request.NewErrParamRequired("GrowthFactor"))
3924	}
3925	if s.GrowthFactor != nil && *s.GrowthFactor < 1 {
3926		invalidParams.Add(request.NewErrParamMinValue("GrowthFactor", 1))
3927	}
3928	if s.Name == nil {
3929		invalidParams.Add(request.NewErrParamRequired("Name"))
3930	}
3931	if s.Name != nil && len(*s.Name) < 1 {
3932		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
3933	}
3934	if s.ReplicateTo == nil {
3935		invalidParams.Add(request.NewErrParamRequired("ReplicateTo"))
3936	}
3937
3938	if invalidParams.Len() > 0 {
3939		return invalidParams
3940	}
3941	return nil
3942}
3943
3944// SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value.
3945func (s *CreateDeploymentStrategyInput) SetDeploymentDurationInMinutes(v int64) *CreateDeploymentStrategyInput {
3946	s.DeploymentDurationInMinutes = &v
3947	return s
3948}
3949
3950// SetDescription sets the Description field's value.
3951func (s *CreateDeploymentStrategyInput) SetDescription(v string) *CreateDeploymentStrategyInput {
3952	s.Description = &v
3953	return s
3954}
3955
3956// SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value.
3957func (s *CreateDeploymentStrategyInput) SetFinalBakeTimeInMinutes(v int64) *CreateDeploymentStrategyInput {
3958	s.FinalBakeTimeInMinutes = &v
3959	return s
3960}
3961
3962// SetGrowthFactor sets the GrowthFactor field's value.
3963func (s *CreateDeploymentStrategyInput) SetGrowthFactor(v float64) *CreateDeploymentStrategyInput {
3964	s.GrowthFactor = &v
3965	return s
3966}
3967
3968// SetGrowthType sets the GrowthType field's value.
3969func (s *CreateDeploymentStrategyInput) SetGrowthType(v string) *CreateDeploymentStrategyInput {
3970	s.GrowthType = &v
3971	return s
3972}
3973
3974// SetName sets the Name field's value.
3975func (s *CreateDeploymentStrategyInput) SetName(v string) *CreateDeploymentStrategyInput {
3976	s.Name = &v
3977	return s
3978}
3979
3980// SetReplicateTo sets the ReplicateTo field's value.
3981func (s *CreateDeploymentStrategyInput) SetReplicateTo(v string) *CreateDeploymentStrategyInput {
3982	s.ReplicateTo = &v
3983	return s
3984}
3985
3986// SetTags sets the Tags field's value.
3987func (s *CreateDeploymentStrategyInput) SetTags(v map[string]*string) *CreateDeploymentStrategyInput {
3988	s.Tags = v
3989	return s
3990}
3991
3992type CreateDeploymentStrategyOutput struct {
3993	_ struct{} `type:"structure"`
3994
3995	// Total amount of time the deployment lasted.
3996	DeploymentDurationInMinutes *int64 `type:"integer"`
3997
3998	// The description of the deployment strategy.
3999	Description *string `type:"string"`
4000
4001	// The amount of time AppConfig monitored for alarms before considering the
4002	// deployment to be complete and no longer eligible for automatic roll back.
4003	FinalBakeTimeInMinutes *int64 `type:"integer"`
4004
4005	// The percentage of targets that received a deployed configuration during each
4006	// interval.
4007	GrowthFactor *float64 `min:"1" type:"float"`
4008
4009	// The algorithm used to define how percentage grew over time.
4010	GrowthType *string `type:"string" enum:"GrowthType"`
4011
4012	// The deployment strategy ID.
4013	Id *string `type:"string"`
4014
4015	// The name of the deployment strategy.
4016	Name *string `min:"1" type:"string"`
4017
4018	// Save the deployment strategy to a Systems Manager (SSM) document.
4019	ReplicateTo *string `type:"string" enum:"ReplicateTo"`
4020}
4021
4022// String returns the string representation.
4023//
4024// API parameter values that are decorated as "sensitive" in the API will not
4025// be included in the string output. The member name will be present, but the
4026// value will be replaced with "sensitive".
4027func (s CreateDeploymentStrategyOutput) String() string {
4028	return awsutil.Prettify(s)
4029}
4030
4031// GoString returns the string representation.
4032//
4033// API parameter values that are decorated as "sensitive" in the API will not
4034// be included in the string output. The member name will be present, but the
4035// value will be replaced with "sensitive".
4036func (s CreateDeploymentStrategyOutput) GoString() string {
4037	return s.String()
4038}
4039
4040// SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value.
4041func (s *CreateDeploymentStrategyOutput) SetDeploymentDurationInMinutes(v int64) *CreateDeploymentStrategyOutput {
4042	s.DeploymentDurationInMinutes = &v
4043	return s
4044}
4045
4046// SetDescription sets the Description field's value.
4047func (s *CreateDeploymentStrategyOutput) SetDescription(v string) *CreateDeploymentStrategyOutput {
4048	s.Description = &v
4049	return s
4050}
4051
4052// SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value.
4053func (s *CreateDeploymentStrategyOutput) SetFinalBakeTimeInMinutes(v int64) *CreateDeploymentStrategyOutput {
4054	s.FinalBakeTimeInMinutes = &v
4055	return s
4056}
4057
4058// SetGrowthFactor sets the GrowthFactor field's value.
4059func (s *CreateDeploymentStrategyOutput) SetGrowthFactor(v float64) *CreateDeploymentStrategyOutput {
4060	s.GrowthFactor = &v
4061	return s
4062}
4063
4064// SetGrowthType sets the GrowthType field's value.
4065func (s *CreateDeploymentStrategyOutput) SetGrowthType(v string) *CreateDeploymentStrategyOutput {
4066	s.GrowthType = &v
4067	return s
4068}
4069
4070// SetId sets the Id field's value.
4071func (s *CreateDeploymentStrategyOutput) SetId(v string) *CreateDeploymentStrategyOutput {
4072	s.Id = &v
4073	return s
4074}
4075
4076// SetName sets the Name field's value.
4077func (s *CreateDeploymentStrategyOutput) SetName(v string) *CreateDeploymentStrategyOutput {
4078	s.Name = &v
4079	return s
4080}
4081
4082// SetReplicateTo sets the ReplicateTo field's value.
4083func (s *CreateDeploymentStrategyOutput) SetReplicateTo(v string) *CreateDeploymentStrategyOutput {
4084	s.ReplicateTo = &v
4085	return s
4086}
4087
4088type CreateEnvironmentInput struct {
4089	_ struct{} `type:"structure"`
4090
4091	// The application ID.
4092	//
4093	// ApplicationId is a required field
4094	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
4095
4096	// A description of the environment.
4097	Description *string `type:"string"`
4098
4099	// Amazon CloudWatch alarms to monitor during the deployment process.
4100	Monitors []*Monitor `type:"list"`
4101
4102	// A name for the environment.
4103	//
4104	// Name is a required field
4105	Name *string `min:"1" type:"string" required:"true"`
4106
4107	// Metadata to assign to the environment. Tags help organize and categorize
4108	// your AppConfig resources. Each tag consists of a key and an optional value,
4109	// both of which you define.
4110	Tags map[string]*string `type:"map"`
4111}
4112
4113// String returns the string representation.
4114//
4115// API parameter values that are decorated as "sensitive" in the API will not
4116// be included in the string output. The member name will be present, but the
4117// value will be replaced with "sensitive".
4118func (s CreateEnvironmentInput) String() string {
4119	return awsutil.Prettify(s)
4120}
4121
4122// GoString returns the string representation.
4123//
4124// API parameter values that are decorated as "sensitive" in the API will not
4125// be included in the string output. The member name will be present, but the
4126// value will be replaced with "sensitive".
4127func (s CreateEnvironmentInput) GoString() string {
4128	return s.String()
4129}
4130
4131// Validate inspects the fields of the type to determine if they are valid.
4132func (s *CreateEnvironmentInput) Validate() error {
4133	invalidParams := request.ErrInvalidParams{Context: "CreateEnvironmentInput"}
4134	if s.ApplicationId == nil {
4135		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
4136	}
4137	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
4138		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
4139	}
4140	if s.Name == nil {
4141		invalidParams.Add(request.NewErrParamRequired("Name"))
4142	}
4143	if s.Name != nil && len(*s.Name) < 1 {
4144		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4145	}
4146	if s.Monitors != nil {
4147		for i, v := range s.Monitors {
4148			if v == nil {
4149				continue
4150			}
4151			if err := v.Validate(); err != nil {
4152				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Monitors", i), err.(request.ErrInvalidParams))
4153			}
4154		}
4155	}
4156
4157	if invalidParams.Len() > 0 {
4158		return invalidParams
4159	}
4160	return nil
4161}
4162
4163// SetApplicationId sets the ApplicationId field's value.
4164func (s *CreateEnvironmentInput) SetApplicationId(v string) *CreateEnvironmentInput {
4165	s.ApplicationId = &v
4166	return s
4167}
4168
4169// SetDescription sets the Description field's value.
4170func (s *CreateEnvironmentInput) SetDescription(v string) *CreateEnvironmentInput {
4171	s.Description = &v
4172	return s
4173}
4174
4175// SetMonitors sets the Monitors field's value.
4176func (s *CreateEnvironmentInput) SetMonitors(v []*Monitor) *CreateEnvironmentInput {
4177	s.Monitors = v
4178	return s
4179}
4180
4181// SetName sets the Name field's value.
4182func (s *CreateEnvironmentInput) SetName(v string) *CreateEnvironmentInput {
4183	s.Name = &v
4184	return s
4185}
4186
4187// SetTags sets the Tags field's value.
4188func (s *CreateEnvironmentInput) SetTags(v map[string]*string) *CreateEnvironmentInput {
4189	s.Tags = v
4190	return s
4191}
4192
4193type CreateEnvironmentOutput struct {
4194	_ struct{} `type:"structure"`
4195
4196	// The application ID.
4197	ApplicationId *string `type:"string"`
4198
4199	// The description of the environment.
4200	Description *string `type:"string"`
4201
4202	// The environment ID.
4203	Id *string `type:"string"`
4204
4205	// Amazon CloudWatch alarms monitored during the deployment.
4206	Monitors []*Monitor `type:"list"`
4207
4208	// The name of the environment.
4209	Name *string `min:"1" type:"string"`
4210
4211	// The state of the environment. An environment can be in one of the following
4212	// states: READY_FOR_DEPLOYMENT, DEPLOYING, ROLLING_BACK, or ROLLED_BACK
4213	State *string `type:"string" enum:"EnvironmentState"`
4214}
4215
4216// String returns the string representation.
4217//
4218// API parameter values that are decorated as "sensitive" in the API will not
4219// be included in the string output. The member name will be present, but the
4220// value will be replaced with "sensitive".
4221func (s CreateEnvironmentOutput) String() string {
4222	return awsutil.Prettify(s)
4223}
4224
4225// GoString returns the string representation.
4226//
4227// API parameter values that are decorated as "sensitive" in the API will not
4228// be included in the string output. The member name will be present, but the
4229// value will be replaced with "sensitive".
4230func (s CreateEnvironmentOutput) GoString() string {
4231	return s.String()
4232}
4233
4234// SetApplicationId sets the ApplicationId field's value.
4235func (s *CreateEnvironmentOutput) SetApplicationId(v string) *CreateEnvironmentOutput {
4236	s.ApplicationId = &v
4237	return s
4238}
4239
4240// SetDescription sets the Description field's value.
4241func (s *CreateEnvironmentOutput) SetDescription(v string) *CreateEnvironmentOutput {
4242	s.Description = &v
4243	return s
4244}
4245
4246// SetId sets the Id field's value.
4247func (s *CreateEnvironmentOutput) SetId(v string) *CreateEnvironmentOutput {
4248	s.Id = &v
4249	return s
4250}
4251
4252// SetMonitors sets the Monitors field's value.
4253func (s *CreateEnvironmentOutput) SetMonitors(v []*Monitor) *CreateEnvironmentOutput {
4254	s.Monitors = v
4255	return s
4256}
4257
4258// SetName sets the Name field's value.
4259func (s *CreateEnvironmentOutput) SetName(v string) *CreateEnvironmentOutput {
4260	s.Name = &v
4261	return s
4262}
4263
4264// SetState sets the State field's value.
4265func (s *CreateEnvironmentOutput) SetState(v string) *CreateEnvironmentOutput {
4266	s.State = &v
4267	return s
4268}
4269
4270type CreateHostedConfigurationVersionInput struct {
4271	_ struct{} `type:"structure" payload:"Content"`
4272
4273	// The application ID.
4274	//
4275	// ApplicationId is a required field
4276	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
4277
4278	// The configuration profile ID.
4279	//
4280	// ConfigurationProfileId is a required field
4281	ConfigurationProfileId *string `location:"uri" locationName:"ConfigurationProfileId" type:"string" required:"true"`
4282
4283	// The content of the configuration or the configuration data.
4284	//
4285	// Content is a sensitive parameter and its value will be
4286	// replaced with "sensitive" in string returned by CreateHostedConfigurationVersionInput's
4287	// String and GoString methods.
4288	//
4289	// Content is a required field
4290	Content []byte `type:"blob" required:"true" sensitive:"true"`
4291
4292	// A standard MIME type describing the format of the configuration content.
4293	// For more information, see Content-Type (https://docs.aws.amazon.com/https:/www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17).
4294	//
4295	// ContentType is a required field
4296	ContentType *string `location:"header" locationName:"Content-Type" min:"1" type:"string" required:"true"`
4297
4298	// A description of the configuration.
4299	Description *string `location:"header" locationName:"Description" type:"string"`
4300
4301	// An optional locking token used to prevent race conditions from overwriting
4302	// configuration updates when creating a new version. To ensure your data is
4303	// not overwritten when creating multiple hosted configuration versions in rapid
4304	// succession, specify the version of the latest hosted configuration version.
4305	LatestVersionNumber *int64 `location:"header" locationName:"Latest-Version-Number" type:"integer"`
4306}
4307
4308// String returns the string representation.
4309//
4310// API parameter values that are decorated as "sensitive" in the API will not
4311// be included in the string output. The member name will be present, but the
4312// value will be replaced with "sensitive".
4313func (s CreateHostedConfigurationVersionInput) String() string {
4314	return awsutil.Prettify(s)
4315}
4316
4317// GoString returns the string representation.
4318//
4319// API parameter values that are decorated as "sensitive" in the API will not
4320// be included in the string output. The member name will be present, but the
4321// value will be replaced with "sensitive".
4322func (s CreateHostedConfigurationVersionInput) GoString() string {
4323	return s.String()
4324}
4325
4326// Validate inspects the fields of the type to determine if they are valid.
4327func (s *CreateHostedConfigurationVersionInput) Validate() error {
4328	invalidParams := request.ErrInvalidParams{Context: "CreateHostedConfigurationVersionInput"}
4329	if s.ApplicationId == nil {
4330		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
4331	}
4332	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
4333		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
4334	}
4335	if s.ConfigurationProfileId == nil {
4336		invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId"))
4337	}
4338	if s.ConfigurationProfileId != nil && len(*s.ConfigurationProfileId) < 1 {
4339		invalidParams.Add(request.NewErrParamMinLen("ConfigurationProfileId", 1))
4340	}
4341	if s.Content == nil {
4342		invalidParams.Add(request.NewErrParamRequired("Content"))
4343	}
4344	if s.ContentType == nil {
4345		invalidParams.Add(request.NewErrParamRequired("ContentType"))
4346	}
4347	if s.ContentType != nil && len(*s.ContentType) < 1 {
4348		invalidParams.Add(request.NewErrParamMinLen("ContentType", 1))
4349	}
4350
4351	if invalidParams.Len() > 0 {
4352		return invalidParams
4353	}
4354	return nil
4355}
4356
4357// SetApplicationId sets the ApplicationId field's value.
4358func (s *CreateHostedConfigurationVersionInput) SetApplicationId(v string) *CreateHostedConfigurationVersionInput {
4359	s.ApplicationId = &v
4360	return s
4361}
4362
4363// SetConfigurationProfileId sets the ConfigurationProfileId field's value.
4364func (s *CreateHostedConfigurationVersionInput) SetConfigurationProfileId(v string) *CreateHostedConfigurationVersionInput {
4365	s.ConfigurationProfileId = &v
4366	return s
4367}
4368
4369// SetContent sets the Content field's value.
4370func (s *CreateHostedConfigurationVersionInput) SetContent(v []byte) *CreateHostedConfigurationVersionInput {
4371	s.Content = v
4372	return s
4373}
4374
4375// SetContentType sets the ContentType field's value.
4376func (s *CreateHostedConfigurationVersionInput) SetContentType(v string) *CreateHostedConfigurationVersionInput {
4377	s.ContentType = &v
4378	return s
4379}
4380
4381// SetDescription sets the Description field's value.
4382func (s *CreateHostedConfigurationVersionInput) SetDescription(v string) *CreateHostedConfigurationVersionInput {
4383	s.Description = &v
4384	return s
4385}
4386
4387// SetLatestVersionNumber sets the LatestVersionNumber field's value.
4388func (s *CreateHostedConfigurationVersionInput) SetLatestVersionNumber(v int64) *CreateHostedConfigurationVersionInput {
4389	s.LatestVersionNumber = &v
4390	return s
4391}
4392
4393type CreateHostedConfigurationVersionOutput struct {
4394	_ struct{} `type:"structure" payload:"Content"`
4395
4396	// The application ID.
4397	ApplicationId *string `location:"header" locationName:"Application-Id" type:"string"`
4398
4399	// The configuration profile ID.
4400	ConfigurationProfileId *string `location:"header" locationName:"Configuration-Profile-Id" type:"string"`
4401
4402	// The content of the configuration or the configuration data.
4403	//
4404	// Content is a sensitive parameter and its value will be
4405	// replaced with "sensitive" in string returned by CreateHostedConfigurationVersionOutput's
4406	// String and GoString methods.
4407	Content []byte `type:"blob" sensitive:"true"`
4408
4409	// A standard MIME type describing the format of the configuration content.
4410	// For more information, see Content-Type (https://docs.aws.amazon.com/https:/www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17).
4411	ContentType *string `location:"header" locationName:"Content-Type" min:"1" type:"string"`
4412
4413	// A description of the configuration.
4414	Description *string `location:"header" locationName:"Description" type:"string"`
4415
4416	// The configuration version.
4417	VersionNumber *int64 `location:"header" locationName:"Version-Number" type:"integer"`
4418}
4419
4420// String returns the string representation.
4421//
4422// API parameter values that are decorated as "sensitive" in the API will not
4423// be included in the string output. The member name will be present, but the
4424// value will be replaced with "sensitive".
4425func (s CreateHostedConfigurationVersionOutput) String() string {
4426	return awsutil.Prettify(s)
4427}
4428
4429// GoString returns the string representation.
4430//
4431// API parameter values that are decorated as "sensitive" in the API will not
4432// be included in the string output. The member name will be present, but the
4433// value will be replaced with "sensitive".
4434func (s CreateHostedConfigurationVersionOutput) GoString() string {
4435	return s.String()
4436}
4437
4438// SetApplicationId sets the ApplicationId field's value.
4439func (s *CreateHostedConfigurationVersionOutput) SetApplicationId(v string) *CreateHostedConfigurationVersionOutput {
4440	s.ApplicationId = &v
4441	return s
4442}
4443
4444// SetConfigurationProfileId sets the ConfigurationProfileId field's value.
4445func (s *CreateHostedConfigurationVersionOutput) SetConfigurationProfileId(v string) *CreateHostedConfigurationVersionOutput {
4446	s.ConfigurationProfileId = &v
4447	return s
4448}
4449
4450// SetContent sets the Content field's value.
4451func (s *CreateHostedConfigurationVersionOutput) SetContent(v []byte) *CreateHostedConfigurationVersionOutput {
4452	s.Content = v
4453	return s
4454}
4455
4456// SetContentType sets the ContentType field's value.
4457func (s *CreateHostedConfigurationVersionOutput) SetContentType(v string) *CreateHostedConfigurationVersionOutput {
4458	s.ContentType = &v
4459	return s
4460}
4461
4462// SetDescription sets the Description field's value.
4463func (s *CreateHostedConfigurationVersionOutput) SetDescription(v string) *CreateHostedConfigurationVersionOutput {
4464	s.Description = &v
4465	return s
4466}
4467
4468// SetVersionNumber sets the VersionNumber field's value.
4469func (s *CreateHostedConfigurationVersionOutput) SetVersionNumber(v int64) *CreateHostedConfigurationVersionOutput {
4470	s.VersionNumber = &v
4471	return s
4472}
4473
4474type DeleteApplicationInput struct {
4475	_ struct{} `type:"structure" nopayload:"true"`
4476
4477	// The ID of the application to delete.
4478	//
4479	// ApplicationId is a required field
4480	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
4481}
4482
4483// String returns the string representation.
4484//
4485// API parameter values that are decorated as "sensitive" in the API will not
4486// be included in the string output. The member name will be present, but the
4487// value will be replaced with "sensitive".
4488func (s DeleteApplicationInput) String() string {
4489	return awsutil.Prettify(s)
4490}
4491
4492// GoString returns the string representation.
4493//
4494// API parameter values that are decorated as "sensitive" in the API will not
4495// be included in the string output. The member name will be present, but the
4496// value will be replaced with "sensitive".
4497func (s DeleteApplicationInput) GoString() string {
4498	return s.String()
4499}
4500
4501// Validate inspects the fields of the type to determine if they are valid.
4502func (s *DeleteApplicationInput) Validate() error {
4503	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationInput"}
4504	if s.ApplicationId == nil {
4505		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
4506	}
4507	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
4508		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
4509	}
4510
4511	if invalidParams.Len() > 0 {
4512		return invalidParams
4513	}
4514	return nil
4515}
4516
4517// SetApplicationId sets the ApplicationId field's value.
4518func (s *DeleteApplicationInput) SetApplicationId(v string) *DeleteApplicationInput {
4519	s.ApplicationId = &v
4520	return s
4521}
4522
4523type DeleteApplicationOutput struct {
4524	_ struct{} `type:"structure"`
4525}
4526
4527// String returns the string representation.
4528//
4529// API parameter values that are decorated as "sensitive" in the API will not
4530// be included in the string output. The member name will be present, but the
4531// value will be replaced with "sensitive".
4532func (s DeleteApplicationOutput) String() string {
4533	return awsutil.Prettify(s)
4534}
4535
4536// GoString returns the string representation.
4537//
4538// API parameter values that are decorated as "sensitive" in the API will not
4539// be included in the string output. The member name will be present, but the
4540// value will be replaced with "sensitive".
4541func (s DeleteApplicationOutput) GoString() string {
4542	return s.String()
4543}
4544
4545type DeleteConfigurationProfileInput struct {
4546	_ struct{} `type:"structure" nopayload:"true"`
4547
4548	// The application ID that includes the configuration profile you want to delete.
4549	//
4550	// ApplicationId is a required field
4551	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
4552
4553	// The ID of the configuration profile you want to delete.
4554	//
4555	// ConfigurationProfileId is a required field
4556	ConfigurationProfileId *string `location:"uri" locationName:"ConfigurationProfileId" type:"string" required:"true"`
4557}
4558
4559// String returns the string representation.
4560//
4561// API parameter values that are decorated as "sensitive" in the API will not
4562// be included in the string output. The member name will be present, but the
4563// value will be replaced with "sensitive".
4564func (s DeleteConfigurationProfileInput) String() string {
4565	return awsutil.Prettify(s)
4566}
4567
4568// GoString returns the string representation.
4569//
4570// API parameter values that are decorated as "sensitive" in the API will not
4571// be included in the string output. The member name will be present, but the
4572// value will be replaced with "sensitive".
4573func (s DeleteConfigurationProfileInput) GoString() string {
4574	return s.String()
4575}
4576
4577// Validate inspects the fields of the type to determine if they are valid.
4578func (s *DeleteConfigurationProfileInput) Validate() error {
4579	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationProfileInput"}
4580	if s.ApplicationId == nil {
4581		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
4582	}
4583	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
4584		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
4585	}
4586	if s.ConfigurationProfileId == nil {
4587		invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId"))
4588	}
4589	if s.ConfigurationProfileId != nil && len(*s.ConfigurationProfileId) < 1 {
4590		invalidParams.Add(request.NewErrParamMinLen("ConfigurationProfileId", 1))
4591	}
4592
4593	if invalidParams.Len() > 0 {
4594		return invalidParams
4595	}
4596	return nil
4597}
4598
4599// SetApplicationId sets the ApplicationId field's value.
4600func (s *DeleteConfigurationProfileInput) SetApplicationId(v string) *DeleteConfigurationProfileInput {
4601	s.ApplicationId = &v
4602	return s
4603}
4604
4605// SetConfigurationProfileId sets the ConfigurationProfileId field's value.
4606func (s *DeleteConfigurationProfileInput) SetConfigurationProfileId(v string) *DeleteConfigurationProfileInput {
4607	s.ConfigurationProfileId = &v
4608	return s
4609}
4610
4611type DeleteConfigurationProfileOutput struct {
4612	_ struct{} `type:"structure"`
4613}
4614
4615// String returns the string representation.
4616//
4617// API parameter values that are decorated as "sensitive" in the API will not
4618// be included in the string output. The member name will be present, but the
4619// value will be replaced with "sensitive".
4620func (s DeleteConfigurationProfileOutput) String() string {
4621	return awsutil.Prettify(s)
4622}
4623
4624// GoString returns the string representation.
4625//
4626// API parameter values that are decorated as "sensitive" in the API will not
4627// be included in the string output. The member name will be present, but the
4628// value will be replaced with "sensitive".
4629func (s DeleteConfigurationProfileOutput) GoString() string {
4630	return s.String()
4631}
4632
4633type DeleteDeploymentStrategyInput struct {
4634	_ struct{} `type:"structure" nopayload:"true"`
4635
4636	// The ID of the deployment strategy you want to delete.
4637	//
4638	// DeploymentStrategyId is a required field
4639	DeploymentStrategyId *string `location:"uri" locationName:"DeploymentStrategyId" type:"string" required:"true"`
4640}
4641
4642// String returns the string representation.
4643//
4644// API parameter values that are decorated as "sensitive" in the API will not
4645// be included in the string output. The member name will be present, but the
4646// value will be replaced with "sensitive".
4647func (s DeleteDeploymentStrategyInput) String() string {
4648	return awsutil.Prettify(s)
4649}
4650
4651// GoString returns the string representation.
4652//
4653// API parameter values that are decorated as "sensitive" in the API will not
4654// be included in the string output. The member name will be present, but the
4655// value will be replaced with "sensitive".
4656func (s DeleteDeploymentStrategyInput) GoString() string {
4657	return s.String()
4658}
4659
4660// Validate inspects the fields of the type to determine if they are valid.
4661func (s *DeleteDeploymentStrategyInput) Validate() error {
4662	invalidParams := request.ErrInvalidParams{Context: "DeleteDeploymentStrategyInput"}
4663	if s.DeploymentStrategyId == nil {
4664		invalidParams.Add(request.NewErrParamRequired("DeploymentStrategyId"))
4665	}
4666	if s.DeploymentStrategyId != nil && len(*s.DeploymentStrategyId) < 1 {
4667		invalidParams.Add(request.NewErrParamMinLen("DeploymentStrategyId", 1))
4668	}
4669
4670	if invalidParams.Len() > 0 {
4671		return invalidParams
4672	}
4673	return nil
4674}
4675
4676// SetDeploymentStrategyId sets the DeploymentStrategyId field's value.
4677func (s *DeleteDeploymentStrategyInput) SetDeploymentStrategyId(v string) *DeleteDeploymentStrategyInput {
4678	s.DeploymentStrategyId = &v
4679	return s
4680}
4681
4682type DeleteDeploymentStrategyOutput struct {
4683	_ struct{} `type:"structure"`
4684}
4685
4686// String returns the string representation.
4687//
4688// API parameter values that are decorated as "sensitive" in the API will not
4689// be included in the string output. The member name will be present, but the
4690// value will be replaced with "sensitive".
4691func (s DeleteDeploymentStrategyOutput) String() string {
4692	return awsutil.Prettify(s)
4693}
4694
4695// GoString returns the string representation.
4696//
4697// API parameter values that are decorated as "sensitive" in the API will not
4698// be included in the string output. The member name will be present, but the
4699// value will be replaced with "sensitive".
4700func (s DeleteDeploymentStrategyOutput) GoString() string {
4701	return s.String()
4702}
4703
4704type DeleteEnvironmentInput struct {
4705	_ struct{} `type:"structure" nopayload:"true"`
4706
4707	// The application ID that includes the environment you want to delete.
4708	//
4709	// ApplicationId is a required field
4710	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
4711
4712	// The ID of the environment you want to delete.
4713	//
4714	// EnvironmentId is a required field
4715	EnvironmentId *string `location:"uri" locationName:"EnvironmentId" type:"string" required:"true"`
4716}
4717
4718// String returns the string representation.
4719//
4720// API parameter values that are decorated as "sensitive" in the API will not
4721// be included in the string output. The member name will be present, but the
4722// value will be replaced with "sensitive".
4723func (s DeleteEnvironmentInput) String() string {
4724	return awsutil.Prettify(s)
4725}
4726
4727// GoString returns the string representation.
4728//
4729// API parameter values that are decorated as "sensitive" in the API will not
4730// be included in the string output. The member name will be present, but the
4731// value will be replaced with "sensitive".
4732func (s DeleteEnvironmentInput) GoString() string {
4733	return s.String()
4734}
4735
4736// Validate inspects the fields of the type to determine if they are valid.
4737func (s *DeleteEnvironmentInput) Validate() error {
4738	invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentInput"}
4739	if s.ApplicationId == nil {
4740		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
4741	}
4742	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
4743		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
4744	}
4745	if s.EnvironmentId == nil {
4746		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
4747	}
4748	if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 {
4749		invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1))
4750	}
4751
4752	if invalidParams.Len() > 0 {
4753		return invalidParams
4754	}
4755	return nil
4756}
4757
4758// SetApplicationId sets the ApplicationId field's value.
4759func (s *DeleteEnvironmentInput) SetApplicationId(v string) *DeleteEnvironmentInput {
4760	s.ApplicationId = &v
4761	return s
4762}
4763
4764// SetEnvironmentId sets the EnvironmentId field's value.
4765func (s *DeleteEnvironmentInput) SetEnvironmentId(v string) *DeleteEnvironmentInput {
4766	s.EnvironmentId = &v
4767	return s
4768}
4769
4770type DeleteEnvironmentOutput struct {
4771	_ struct{} `type:"structure"`
4772}
4773
4774// String returns the string representation.
4775//
4776// API parameter values that are decorated as "sensitive" in the API will not
4777// be included in the string output. The member name will be present, but the
4778// value will be replaced with "sensitive".
4779func (s DeleteEnvironmentOutput) String() string {
4780	return awsutil.Prettify(s)
4781}
4782
4783// GoString returns the string representation.
4784//
4785// API parameter values that are decorated as "sensitive" in the API will not
4786// be included in the string output. The member name will be present, but the
4787// value will be replaced with "sensitive".
4788func (s DeleteEnvironmentOutput) GoString() string {
4789	return s.String()
4790}
4791
4792type DeleteHostedConfigurationVersionInput struct {
4793	_ struct{} `type:"structure" nopayload:"true"`
4794
4795	// The application ID.
4796	//
4797	// ApplicationId is a required field
4798	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
4799
4800	// The configuration profile ID.
4801	//
4802	// ConfigurationProfileId is a required field
4803	ConfigurationProfileId *string `location:"uri" locationName:"ConfigurationProfileId" type:"string" required:"true"`
4804
4805	// The versions number to delete.
4806	//
4807	// VersionNumber is a required field
4808	VersionNumber *int64 `location:"uri" locationName:"VersionNumber" type:"integer" required:"true"`
4809}
4810
4811// String returns the string representation.
4812//
4813// API parameter values that are decorated as "sensitive" in the API will not
4814// be included in the string output. The member name will be present, but the
4815// value will be replaced with "sensitive".
4816func (s DeleteHostedConfigurationVersionInput) String() string {
4817	return awsutil.Prettify(s)
4818}
4819
4820// GoString returns the string representation.
4821//
4822// API parameter values that are decorated as "sensitive" in the API will not
4823// be included in the string output. The member name will be present, but the
4824// value will be replaced with "sensitive".
4825func (s DeleteHostedConfigurationVersionInput) GoString() string {
4826	return s.String()
4827}
4828
4829// Validate inspects the fields of the type to determine if they are valid.
4830func (s *DeleteHostedConfigurationVersionInput) Validate() error {
4831	invalidParams := request.ErrInvalidParams{Context: "DeleteHostedConfigurationVersionInput"}
4832	if s.ApplicationId == nil {
4833		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
4834	}
4835	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
4836		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
4837	}
4838	if s.ConfigurationProfileId == nil {
4839		invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId"))
4840	}
4841	if s.ConfigurationProfileId != nil && len(*s.ConfigurationProfileId) < 1 {
4842		invalidParams.Add(request.NewErrParamMinLen("ConfigurationProfileId", 1))
4843	}
4844	if s.VersionNumber == nil {
4845		invalidParams.Add(request.NewErrParamRequired("VersionNumber"))
4846	}
4847
4848	if invalidParams.Len() > 0 {
4849		return invalidParams
4850	}
4851	return nil
4852}
4853
4854// SetApplicationId sets the ApplicationId field's value.
4855func (s *DeleteHostedConfigurationVersionInput) SetApplicationId(v string) *DeleteHostedConfigurationVersionInput {
4856	s.ApplicationId = &v
4857	return s
4858}
4859
4860// SetConfigurationProfileId sets the ConfigurationProfileId field's value.
4861func (s *DeleteHostedConfigurationVersionInput) SetConfigurationProfileId(v string) *DeleteHostedConfigurationVersionInput {
4862	s.ConfigurationProfileId = &v
4863	return s
4864}
4865
4866// SetVersionNumber sets the VersionNumber field's value.
4867func (s *DeleteHostedConfigurationVersionInput) SetVersionNumber(v int64) *DeleteHostedConfigurationVersionInput {
4868	s.VersionNumber = &v
4869	return s
4870}
4871
4872type DeleteHostedConfigurationVersionOutput struct {
4873	_ struct{} `type:"structure"`
4874}
4875
4876// String returns the string representation.
4877//
4878// API parameter values that are decorated as "sensitive" in the API will not
4879// be included in the string output. The member name will be present, but the
4880// value will be replaced with "sensitive".
4881func (s DeleteHostedConfigurationVersionOutput) String() string {
4882	return awsutil.Prettify(s)
4883}
4884
4885// GoString returns the string representation.
4886//
4887// API parameter values that are decorated as "sensitive" in the API will not
4888// be included in the string output. The member name will be present, but the
4889// value will be replaced with "sensitive".
4890func (s DeleteHostedConfigurationVersionOutput) GoString() string {
4891	return s.String()
4892}
4893
4894// An object that describes a deployment event.
4895type DeploymentEvent struct {
4896	_ struct{} `type:"structure"`
4897
4898	// A description of the deployment event. Descriptions include, but are not
4899	// limited to, the user account or the CloudWatch alarm ARN that initiated a
4900	// rollback, the percentage of hosts that received the deployment, or in the
4901	// case of an internal error, a recommendation to attempt a new deployment.
4902	Description *string `type:"string"`
4903
4904	// The type of deployment event. Deployment event types include the start, stop,
4905	// or completion of a deployment; a percentage update; the start or stop of
4906	// a bake period; the start or completion of a rollback.
4907	EventType *string `type:"string" enum:"DeploymentEventType"`
4908
4909	// The date and time the event occurred.
4910	OccurredAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
4911
4912	// The entity that triggered the deployment event. Events can be triggered by
4913	// a user, AWS AppConfig, an Amazon CloudWatch alarm, or an internal error.
4914	TriggeredBy *string `type:"string" enum:"TriggeredBy"`
4915}
4916
4917// String returns the string representation.
4918//
4919// API parameter values that are decorated as "sensitive" in the API will not
4920// be included in the string output. The member name will be present, but the
4921// value will be replaced with "sensitive".
4922func (s DeploymentEvent) String() string {
4923	return awsutil.Prettify(s)
4924}
4925
4926// GoString returns the string representation.
4927//
4928// API parameter values that are decorated as "sensitive" in the API will not
4929// be included in the string output. The member name will be present, but the
4930// value will be replaced with "sensitive".
4931func (s DeploymentEvent) GoString() string {
4932	return s.String()
4933}
4934
4935// SetDescription sets the Description field's value.
4936func (s *DeploymentEvent) SetDescription(v string) *DeploymentEvent {
4937	s.Description = &v
4938	return s
4939}
4940
4941// SetEventType sets the EventType field's value.
4942func (s *DeploymentEvent) SetEventType(v string) *DeploymentEvent {
4943	s.EventType = &v
4944	return s
4945}
4946
4947// SetOccurredAt sets the OccurredAt field's value.
4948func (s *DeploymentEvent) SetOccurredAt(v time.Time) *DeploymentEvent {
4949	s.OccurredAt = &v
4950	return s
4951}
4952
4953// SetTriggeredBy sets the TriggeredBy field's value.
4954func (s *DeploymentEvent) SetTriggeredBy(v string) *DeploymentEvent {
4955	s.TriggeredBy = &v
4956	return s
4957}
4958
4959type DeploymentStrategy struct {
4960	_ struct{} `type:"structure"`
4961
4962	// Total amount of time the deployment lasted.
4963	DeploymentDurationInMinutes *int64 `type:"integer"`
4964
4965	// The description of the deployment strategy.
4966	Description *string `type:"string"`
4967
4968	// The amount of time AppConfig monitored for alarms before considering the
4969	// deployment to be complete and no longer eligible for automatic roll back.
4970	FinalBakeTimeInMinutes *int64 `type:"integer"`
4971
4972	// The percentage of targets that received a deployed configuration during each
4973	// interval.
4974	GrowthFactor *float64 `min:"1" type:"float"`
4975
4976	// The algorithm used to define how percentage grew over time.
4977	GrowthType *string `type:"string" enum:"GrowthType"`
4978
4979	// The deployment strategy ID.
4980	Id *string `type:"string"`
4981
4982	// The name of the deployment strategy.
4983	Name *string `min:"1" type:"string"`
4984
4985	// Save the deployment strategy to a Systems Manager (SSM) document.
4986	ReplicateTo *string `type:"string" enum:"ReplicateTo"`
4987}
4988
4989// String returns the string representation.
4990//
4991// API parameter values that are decorated as "sensitive" in the API will not
4992// be included in the string output. The member name will be present, but the
4993// value will be replaced with "sensitive".
4994func (s DeploymentStrategy) String() string {
4995	return awsutil.Prettify(s)
4996}
4997
4998// GoString returns the string representation.
4999//
5000// API parameter values that are decorated as "sensitive" in the API will not
5001// be included in the string output. The member name will be present, but the
5002// value will be replaced with "sensitive".
5003func (s DeploymentStrategy) GoString() string {
5004	return s.String()
5005}
5006
5007// SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value.
5008func (s *DeploymentStrategy) SetDeploymentDurationInMinutes(v int64) *DeploymentStrategy {
5009	s.DeploymentDurationInMinutes = &v
5010	return s
5011}
5012
5013// SetDescription sets the Description field's value.
5014func (s *DeploymentStrategy) SetDescription(v string) *DeploymentStrategy {
5015	s.Description = &v
5016	return s
5017}
5018
5019// SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value.
5020func (s *DeploymentStrategy) SetFinalBakeTimeInMinutes(v int64) *DeploymentStrategy {
5021	s.FinalBakeTimeInMinutes = &v
5022	return s
5023}
5024
5025// SetGrowthFactor sets the GrowthFactor field's value.
5026func (s *DeploymentStrategy) SetGrowthFactor(v float64) *DeploymentStrategy {
5027	s.GrowthFactor = &v
5028	return s
5029}
5030
5031// SetGrowthType sets the GrowthType field's value.
5032func (s *DeploymentStrategy) SetGrowthType(v string) *DeploymentStrategy {
5033	s.GrowthType = &v
5034	return s
5035}
5036
5037// SetId sets the Id field's value.
5038func (s *DeploymentStrategy) SetId(v string) *DeploymentStrategy {
5039	s.Id = &v
5040	return s
5041}
5042
5043// SetName sets the Name field's value.
5044func (s *DeploymentStrategy) SetName(v string) *DeploymentStrategy {
5045	s.Name = &v
5046	return s
5047}
5048
5049// SetReplicateTo sets the ReplicateTo field's value.
5050func (s *DeploymentStrategy) SetReplicateTo(v string) *DeploymentStrategy {
5051	s.ReplicateTo = &v
5052	return s
5053}
5054
5055// Information about the deployment.
5056type DeploymentSummary struct {
5057	_ struct{} `type:"structure"`
5058
5059	// Time the deployment completed.
5060	CompletedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
5061
5062	// The name of the configuration.
5063	ConfigurationName *string `min:"1" type:"string"`
5064
5065	// The version of the configuration.
5066	ConfigurationVersion *string `min:"1" type:"string"`
5067
5068	// Total amount of time the deployment lasted.
5069	DeploymentDurationInMinutes *int64 `type:"integer"`
5070
5071	// The sequence number of the deployment.
5072	DeploymentNumber *int64 `type:"integer"`
5073
5074	// The amount of time AppConfig monitors for alarms before considering the deployment
5075	// to be complete and no longer eligible for automatic roll back.
5076	FinalBakeTimeInMinutes *int64 `type:"integer"`
5077
5078	// The percentage of targets to receive a deployed configuration during each
5079	// interval.
5080	GrowthFactor *float64 `min:"1" type:"float"`
5081
5082	// The algorithm used to define how percentage grows over time.
5083	GrowthType *string `type:"string" enum:"GrowthType"`
5084
5085	// The percentage of targets for which the deployment is available.
5086	PercentageComplete *float64 `min:"1" type:"float"`
5087
5088	// Time the deployment started.
5089	StartedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
5090
5091	// The state of the deployment.
5092	State *string `type:"string" enum:"DeploymentState"`
5093}
5094
5095// String returns the string representation.
5096//
5097// API parameter values that are decorated as "sensitive" in the API will not
5098// be included in the string output. The member name will be present, but the
5099// value will be replaced with "sensitive".
5100func (s DeploymentSummary) String() string {
5101	return awsutil.Prettify(s)
5102}
5103
5104// GoString returns the string representation.
5105//
5106// API parameter values that are decorated as "sensitive" in the API will not
5107// be included in the string output. The member name will be present, but the
5108// value will be replaced with "sensitive".
5109func (s DeploymentSummary) GoString() string {
5110	return s.String()
5111}
5112
5113// SetCompletedAt sets the CompletedAt field's value.
5114func (s *DeploymentSummary) SetCompletedAt(v time.Time) *DeploymentSummary {
5115	s.CompletedAt = &v
5116	return s
5117}
5118
5119// SetConfigurationName sets the ConfigurationName field's value.
5120func (s *DeploymentSummary) SetConfigurationName(v string) *DeploymentSummary {
5121	s.ConfigurationName = &v
5122	return s
5123}
5124
5125// SetConfigurationVersion sets the ConfigurationVersion field's value.
5126func (s *DeploymentSummary) SetConfigurationVersion(v string) *DeploymentSummary {
5127	s.ConfigurationVersion = &v
5128	return s
5129}
5130
5131// SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value.
5132func (s *DeploymentSummary) SetDeploymentDurationInMinutes(v int64) *DeploymentSummary {
5133	s.DeploymentDurationInMinutes = &v
5134	return s
5135}
5136
5137// SetDeploymentNumber sets the DeploymentNumber field's value.
5138func (s *DeploymentSummary) SetDeploymentNumber(v int64) *DeploymentSummary {
5139	s.DeploymentNumber = &v
5140	return s
5141}
5142
5143// SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value.
5144func (s *DeploymentSummary) SetFinalBakeTimeInMinutes(v int64) *DeploymentSummary {
5145	s.FinalBakeTimeInMinutes = &v
5146	return s
5147}
5148
5149// SetGrowthFactor sets the GrowthFactor field's value.
5150func (s *DeploymentSummary) SetGrowthFactor(v float64) *DeploymentSummary {
5151	s.GrowthFactor = &v
5152	return s
5153}
5154
5155// SetGrowthType sets the GrowthType field's value.
5156func (s *DeploymentSummary) SetGrowthType(v string) *DeploymentSummary {
5157	s.GrowthType = &v
5158	return s
5159}
5160
5161// SetPercentageComplete sets the PercentageComplete field's value.
5162func (s *DeploymentSummary) SetPercentageComplete(v float64) *DeploymentSummary {
5163	s.PercentageComplete = &v
5164	return s
5165}
5166
5167// SetStartedAt sets the StartedAt field's value.
5168func (s *DeploymentSummary) SetStartedAt(v time.Time) *DeploymentSummary {
5169	s.StartedAt = &v
5170	return s
5171}
5172
5173// SetState sets the State field's value.
5174func (s *DeploymentSummary) SetState(v string) *DeploymentSummary {
5175	s.State = &v
5176	return s
5177}
5178
5179type Environment struct {
5180	_ struct{} `type:"structure"`
5181
5182	// The application ID.
5183	ApplicationId *string `type:"string"`
5184
5185	// The description of the environment.
5186	Description *string `type:"string"`
5187
5188	// The environment ID.
5189	Id *string `type:"string"`
5190
5191	// Amazon CloudWatch alarms monitored during the deployment.
5192	Monitors []*Monitor `type:"list"`
5193
5194	// The name of the environment.
5195	Name *string `min:"1" type:"string"`
5196
5197	// The state of the environment. An environment can be in one of the following
5198	// states: READY_FOR_DEPLOYMENT, DEPLOYING, ROLLING_BACK, or ROLLED_BACK
5199	State *string `type:"string" enum:"EnvironmentState"`
5200}
5201
5202// String returns the string representation.
5203//
5204// API parameter values that are decorated as "sensitive" in the API will not
5205// be included in the string output. The member name will be present, but the
5206// value will be replaced with "sensitive".
5207func (s Environment) String() string {
5208	return awsutil.Prettify(s)
5209}
5210
5211// GoString returns the string representation.
5212//
5213// API parameter values that are decorated as "sensitive" in the API will not
5214// be included in the string output. The member name will be present, but the
5215// value will be replaced with "sensitive".
5216func (s Environment) GoString() string {
5217	return s.String()
5218}
5219
5220// SetApplicationId sets the ApplicationId field's value.
5221func (s *Environment) SetApplicationId(v string) *Environment {
5222	s.ApplicationId = &v
5223	return s
5224}
5225
5226// SetDescription sets the Description field's value.
5227func (s *Environment) SetDescription(v string) *Environment {
5228	s.Description = &v
5229	return s
5230}
5231
5232// SetId sets the Id field's value.
5233func (s *Environment) SetId(v string) *Environment {
5234	s.Id = &v
5235	return s
5236}
5237
5238// SetMonitors sets the Monitors field's value.
5239func (s *Environment) SetMonitors(v []*Monitor) *Environment {
5240	s.Monitors = v
5241	return s
5242}
5243
5244// SetName sets the Name field's value.
5245func (s *Environment) SetName(v string) *Environment {
5246	s.Name = &v
5247	return s
5248}
5249
5250// SetState sets the State field's value.
5251func (s *Environment) SetState(v string) *Environment {
5252	s.State = &v
5253	return s
5254}
5255
5256type GetApplicationInput struct {
5257	_ struct{} `type:"structure" nopayload:"true"`
5258
5259	// The ID of the application you want to get.
5260	//
5261	// ApplicationId is a required field
5262	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
5263}
5264
5265// String returns the string representation.
5266//
5267// API parameter values that are decorated as "sensitive" in the API will not
5268// be included in the string output. The member name will be present, but the
5269// value will be replaced with "sensitive".
5270func (s GetApplicationInput) String() string {
5271	return awsutil.Prettify(s)
5272}
5273
5274// GoString returns the string representation.
5275//
5276// API parameter values that are decorated as "sensitive" in the API will not
5277// be included in the string output. The member name will be present, but the
5278// value will be replaced with "sensitive".
5279func (s GetApplicationInput) GoString() string {
5280	return s.String()
5281}
5282
5283// Validate inspects the fields of the type to determine if they are valid.
5284func (s *GetApplicationInput) Validate() error {
5285	invalidParams := request.ErrInvalidParams{Context: "GetApplicationInput"}
5286	if s.ApplicationId == nil {
5287		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
5288	}
5289	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
5290		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
5291	}
5292
5293	if invalidParams.Len() > 0 {
5294		return invalidParams
5295	}
5296	return nil
5297}
5298
5299// SetApplicationId sets the ApplicationId field's value.
5300func (s *GetApplicationInput) SetApplicationId(v string) *GetApplicationInput {
5301	s.ApplicationId = &v
5302	return s
5303}
5304
5305type GetApplicationOutput struct {
5306	_ struct{} `type:"structure"`
5307
5308	// The description of the application.
5309	Description *string `type:"string"`
5310
5311	// The application ID.
5312	Id *string `type:"string"`
5313
5314	// The application name.
5315	Name *string `min:"1" type:"string"`
5316}
5317
5318// String returns the string representation.
5319//
5320// API parameter values that are decorated as "sensitive" in the API will not
5321// be included in the string output. The member name will be present, but the
5322// value will be replaced with "sensitive".
5323func (s GetApplicationOutput) String() string {
5324	return awsutil.Prettify(s)
5325}
5326
5327// GoString returns the string representation.
5328//
5329// API parameter values that are decorated as "sensitive" in the API will not
5330// be included in the string output. The member name will be present, but the
5331// value will be replaced with "sensitive".
5332func (s GetApplicationOutput) GoString() string {
5333	return s.String()
5334}
5335
5336// SetDescription sets the Description field's value.
5337func (s *GetApplicationOutput) SetDescription(v string) *GetApplicationOutput {
5338	s.Description = &v
5339	return s
5340}
5341
5342// SetId sets the Id field's value.
5343func (s *GetApplicationOutput) SetId(v string) *GetApplicationOutput {
5344	s.Id = &v
5345	return s
5346}
5347
5348// SetName sets the Name field's value.
5349func (s *GetApplicationOutput) SetName(v string) *GetApplicationOutput {
5350	s.Name = &v
5351	return s
5352}
5353
5354type GetConfigurationInput struct {
5355	_ struct{} `type:"structure" nopayload:"true"`
5356
5357	// The application to get. Specify either the application name or the application
5358	// ID.
5359	//
5360	// Application is a required field
5361	Application *string `location:"uri" locationName:"Application" min:"1" type:"string" required:"true"`
5362
5363	// The configuration version returned in the most recent GetConfiguration response.
5364	//
5365	// AWS AppConfig uses the value of the ClientConfigurationVersion parameter
5366	// to identify the configuration version on your clients. If you don’t send
5367	// ClientConfigurationVersion with each call to GetConfiguration, your clients
5368	// receive the current configuration. You are charged each time your clients
5369	// receive a configuration.
5370	//
5371	// To avoid excess charges, we recommend that you include the ClientConfigurationVersion
5372	// value with every call to GetConfiguration. This value must be saved on your
5373	// client. Subsequent calls to GetConfiguration must pass this value by using
5374	// the ClientConfigurationVersion parameter.
5375	//
5376	// For more information about working with configurations, see Retrieving the
5377	// Configuration (https://docs.aws.amazon.com/systems-manager/latest/userguide/appconfig-retrieving-the-configuration.html)
5378	// in the AWS AppConfig User Guide.
5379	ClientConfigurationVersion *string `location:"querystring" locationName:"client_configuration_version" min:"1" type:"string"`
5380
5381	// A unique ID to identify the client for the configuration. This ID enables
5382	// AppConfig to deploy the configuration in intervals, as defined in the deployment
5383	// strategy.
5384	//
5385	// ClientId is a required field
5386	ClientId *string `location:"querystring" locationName:"client_id" min:"1" type:"string" required:"true"`
5387
5388	// The configuration to get. Specify either the configuration name or the configuration
5389	// ID.
5390	//
5391	// Configuration is a required field
5392	Configuration *string `location:"uri" locationName:"Configuration" min:"1" type:"string" required:"true"`
5393
5394	// The environment to get. Specify either the environment name or the environment
5395	// ID.
5396	//
5397	// Environment is a required field
5398	Environment *string `location:"uri" locationName:"Environment" min:"1" type:"string" required:"true"`
5399}
5400
5401// String returns the string representation.
5402//
5403// API parameter values that are decorated as "sensitive" in the API will not
5404// be included in the string output. The member name will be present, but the
5405// value will be replaced with "sensitive".
5406func (s GetConfigurationInput) String() string {
5407	return awsutil.Prettify(s)
5408}
5409
5410// GoString returns the string representation.
5411//
5412// API parameter values that are decorated as "sensitive" in the API will not
5413// be included in the string output. The member name will be present, but the
5414// value will be replaced with "sensitive".
5415func (s GetConfigurationInput) GoString() string {
5416	return s.String()
5417}
5418
5419// Validate inspects the fields of the type to determine if they are valid.
5420func (s *GetConfigurationInput) Validate() error {
5421	invalidParams := request.ErrInvalidParams{Context: "GetConfigurationInput"}
5422	if s.Application == nil {
5423		invalidParams.Add(request.NewErrParamRequired("Application"))
5424	}
5425	if s.Application != nil && len(*s.Application) < 1 {
5426		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
5427	}
5428	if s.ClientConfigurationVersion != nil && len(*s.ClientConfigurationVersion) < 1 {
5429		invalidParams.Add(request.NewErrParamMinLen("ClientConfigurationVersion", 1))
5430	}
5431	if s.ClientId == nil {
5432		invalidParams.Add(request.NewErrParamRequired("ClientId"))
5433	}
5434	if s.ClientId != nil && len(*s.ClientId) < 1 {
5435		invalidParams.Add(request.NewErrParamMinLen("ClientId", 1))
5436	}
5437	if s.Configuration == nil {
5438		invalidParams.Add(request.NewErrParamRequired("Configuration"))
5439	}
5440	if s.Configuration != nil && len(*s.Configuration) < 1 {
5441		invalidParams.Add(request.NewErrParamMinLen("Configuration", 1))
5442	}
5443	if s.Environment == nil {
5444		invalidParams.Add(request.NewErrParamRequired("Environment"))
5445	}
5446	if s.Environment != nil && len(*s.Environment) < 1 {
5447		invalidParams.Add(request.NewErrParamMinLen("Environment", 1))
5448	}
5449
5450	if invalidParams.Len() > 0 {
5451		return invalidParams
5452	}
5453	return nil
5454}
5455
5456// SetApplication sets the Application field's value.
5457func (s *GetConfigurationInput) SetApplication(v string) *GetConfigurationInput {
5458	s.Application = &v
5459	return s
5460}
5461
5462// SetClientConfigurationVersion sets the ClientConfigurationVersion field's value.
5463func (s *GetConfigurationInput) SetClientConfigurationVersion(v string) *GetConfigurationInput {
5464	s.ClientConfigurationVersion = &v
5465	return s
5466}
5467
5468// SetClientId sets the ClientId field's value.
5469func (s *GetConfigurationInput) SetClientId(v string) *GetConfigurationInput {
5470	s.ClientId = &v
5471	return s
5472}
5473
5474// SetConfiguration sets the Configuration field's value.
5475func (s *GetConfigurationInput) SetConfiguration(v string) *GetConfigurationInput {
5476	s.Configuration = &v
5477	return s
5478}
5479
5480// SetEnvironment sets the Environment field's value.
5481func (s *GetConfigurationInput) SetEnvironment(v string) *GetConfigurationInput {
5482	s.Environment = &v
5483	return s
5484}
5485
5486type GetConfigurationOutput struct {
5487	_ struct{} `type:"structure" payload:"Content"`
5488
5489	// The configuration version.
5490	ConfigurationVersion *string `location:"header" locationName:"Configuration-Version" min:"1" type:"string"`
5491
5492	// The content of the configuration or the configuration data.
5493	//
5494	// Content is a sensitive parameter and its value will be
5495	// replaced with "sensitive" in string returned by GetConfigurationOutput's
5496	// String and GoString methods.
5497	Content []byte `type:"blob" sensitive:"true"`
5498
5499	// A standard MIME type describing the format of the configuration content.
5500	// For more information, see Content-Type (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17).
5501	ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
5502}
5503
5504// String returns the string representation.
5505//
5506// API parameter values that are decorated as "sensitive" in the API will not
5507// be included in the string output. The member name will be present, but the
5508// value will be replaced with "sensitive".
5509func (s GetConfigurationOutput) String() string {
5510	return awsutil.Prettify(s)
5511}
5512
5513// GoString returns the string representation.
5514//
5515// API parameter values that are decorated as "sensitive" in the API will not
5516// be included in the string output. The member name will be present, but the
5517// value will be replaced with "sensitive".
5518func (s GetConfigurationOutput) GoString() string {
5519	return s.String()
5520}
5521
5522// SetConfigurationVersion sets the ConfigurationVersion field's value.
5523func (s *GetConfigurationOutput) SetConfigurationVersion(v string) *GetConfigurationOutput {
5524	s.ConfigurationVersion = &v
5525	return s
5526}
5527
5528// SetContent sets the Content field's value.
5529func (s *GetConfigurationOutput) SetContent(v []byte) *GetConfigurationOutput {
5530	s.Content = v
5531	return s
5532}
5533
5534// SetContentType sets the ContentType field's value.
5535func (s *GetConfigurationOutput) SetContentType(v string) *GetConfigurationOutput {
5536	s.ContentType = &v
5537	return s
5538}
5539
5540type GetConfigurationProfileInput struct {
5541	_ struct{} `type:"structure" nopayload:"true"`
5542
5543	// The ID of the application that includes the configuration profile you want
5544	// to get.
5545	//
5546	// ApplicationId is a required field
5547	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
5548
5549	// The ID of the configuration profile you want to get.
5550	//
5551	// ConfigurationProfileId is a required field
5552	ConfigurationProfileId *string `location:"uri" locationName:"ConfigurationProfileId" type:"string" required:"true"`
5553}
5554
5555// String returns the string representation.
5556//
5557// API parameter values that are decorated as "sensitive" in the API will not
5558// be included in the string output. The member name will be present, but the
5559// value will be replaced with "sensitive".
5560func (s GetConfigurationProfileInput) String() string {
5561	return awsutil.Prettify(s)
5562}
5563
5564// GoString returns the string representation.
5565//
5566// API parameter values that are decorated as "sensitive" in the API will not
5567// be included in the string output. The member name will be present, but the
5568// value will be replaced with "sensitive".
5569func (s GetConfigurationProfileInput) GoString() string {
5570	return s.String()
5571}
5572
5573// Validate inspects the fields of the type to determine if they are valid.
5574func (s *GetConfigurationProfileInput) Validate() error {
5575	invalidParams := request.ErrInvalidParams{Context: "GetConfigurationProfileInput"}
5576	if s.ApplicationId == nil {
5577		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
5578	}
5579	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
5580		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
5581	}
5582	if s.ConfigurationProfileId == nil {
5583		invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId"))
5584	}
5585	if s.ConfigurationProfileId != nil && len(*s.ConfigurationProfileId) < 1 {
5586		invalidParams.Add(request.NewErrParamMinLen("ConfigurationProfileId", 1))
5587	}
5588
5589	if invalidParams.Len() > 0 {
5590		return invalidParams
5591	}
5592	return nil
5593}
5594
5595// SetApplicationId sets the ApplicationId field's value.
5596func (s *GetConfigurationProfileInput) SetApplicationId(v string) *GetConfigurationProfileInput {
5597	s.ApplicationId = &v
5598	return s
5599}
5600
5601// SetConfigurationProfileId sets the ConfigurationProfileId field's value.
5602func (s *GetConfigurationProfileInput) SetConfigurationProfileId(v string) *GetConfigurationProfileInput {
5603	s.ConfigurationProfileId = &v
5604	return s
5605}
5606
5607type GetConfigurationProfileOutput struct {
5608	_ struct{} `type:"structure"`
5609
5610	// The application ID.
5611	ApplicationId *string `type:"string"`
5612
5613	// The configuration profile description.
5614	Description *string `type:"string"`
5615
5616	// The configuration profile ID.
5617	Id *string `type:"string"`
5618
5619	// The URI location of the configuration.
5620	LocationUri *string `min:"1" type:"string"`
5621
5622	// The name of the configuration profile.
5623	Name *string `min:"1" type:"string"`
5624
5625	// The ARN of an IAM role with permission to access the configuration at the
5626	// specified LocationUri.
5627	RetrievalRoleArn *string `min:"20" type:"string"`
5628
5629	// A list of methods for validating the configuration.
5630	Validators []*Validator `type:"list"`
5631}
5632
5633// String returns the string representation.
5634//
5635// API parameter values that are decorated as "sensitive" in the API will not
5636// be included in the string output. The member name will be present, but the
5637// value will be replaced with "sensitive".
5638func (s GetConfigurationProfileOutput) String() string {
5639	return awsutil.Prettify(s)
5640}
5641
5642// GoString returns the string representation.
5643//
5644// API parameter values that are decorated as "sensitive" in the API will not
5645// be included in the string output. The member name will be present, but the
5646// value will be replaced with "sensitive".
5647func (s GetConfigurationProfileOutput) GoString() string {
5648	return s.String()
5649}
5650
5651// SetApplicationId sets the ApplicationId field's value.
5652func (s *GetConfigurationProfileOutput) SetApplicationId(v string) *GetConfigurationProfileOutput {
5653	s.ApplicationId = &v
5654	return s
5655}
5656
5657// SetDescription sets the Description field's value.
5658func (s *GetConfigurationProfileOutput) SetDescription(v string) *GetConfigurationProfileOutput {
5659	s.Description = &v
5660	return s
5661}
5662
5663// SetId sets the Id field's value.
5664func (s *GetConfigurationProfileOutput) SetId(v string) *GetConfigurationProfileOutput {
5665	s.Id = &v
5666	return s
5667}
5668
5669// SetLocationUri sets the LocationUri field's value.
5670func (s *GetConfigurationProfileOutput) SetLocationUri(v string) *GetConfigurationProfileOutput {
5671	s.LocationUri = &v
5672	return s
5673}
5674
5675// SetName sets the Name field's value.
5676func (s *GetConfigurationProfileOutput) SetName(v string) *GetConfigurationProfileOutput {
5677	s.Name = &v
5678	return s
5679}
5680
5681// SetRetrievalRoleArn sets the RetrievalRoleArn field's value.
5682func (s *GetConfigurationProfileOutput) SetRetrievalRoleArn(v string) *GetConfigurationProfileOutput {
5683	s.RetrievalRoleArn = &v
5684	return s
5685}
5686
5687// SetValidators sets the Validators field's value.
5688func (s *GetConfigurationProfileOutput) SetValidators(v []*Validator) *GetConfigurationProfileOutput {
5689	s.Validators = v
5690	return s
5691}
5692
5693type GetDeploymentInput struct {
5694	_ struct{} `type:"structure" nopayload:"true"`
5695
5696	// The ID of the application that includes the deployment you want to get.
5697	//
5698	// ApplicationId is a required field
5699	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
5700
5701	// The sequence number of the deployment.
5702	//
5703	// DeploymentNumber is a required field
5704	DeploymentNumber *int64 `location:"uri" locationName:"DeploymentNumber" type:"integer" required:"true"`
5705
5706	// The ID of the environment that includes the deployment you want to get.
5707	//
5708	// EnvironmentId is a required field
5709	EnvironmentId *string `location:"uri" locationName:"EnvironmentId" type:"string" required:"true"`
5710}
5711
5712// String returns the string representation.
5713//
5714// API parameter values that are decorated as "sensitive" in the API will not
5715// be included in the string output. The member name will be present, but the
5716// value will be replaced with "sensitive".
5717func (s GetDeploymentInput) String() string {
5718	return awsutil.Prettify(s)
5719}
5720
5721// GoString returns the string representation.
5722//
5723// API parameter values that are decorated as "sensitive" in the API will not
5724// be included in the string output. The member name will be present, but the
5725// value will be replaced with "sensitive".
5726func (s GetDeploymentInput) GoString() string {
5727	return s.String()
5728}
5729
5730// Validate inspects the fields of the type to determine if they are valid.
5731func (s *GetDeploymentInput) Validate() error {
5732	invalidParams := request.ErrInvalidParams{Context: "GetDeploymentInput"}
5733	if s.ApplicationId == nil {
5734		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
5735	}
5736	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
5737		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
5738	}
5739	if s.DeploymentNumber == nil {
5740		invalidParams.Add(request.NewErrParamRequired("DeploymentNumber"))
5741	}
5742	if s.EnvironmentId == nil {
5743		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
5744	}
5745	if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 {
5746		invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1))
5747	}
5748
5749	if invalidParams.Len() > 0 {
5750		return invalidParams
5751	}
5752	return nil
5753}
5754
5755// SetApplicationId sets the ApplicationId field's value.
5756func (s *GetDeploymentInput) SetApplicationId(v string) *GetDeploymentInput {
5757	s.ApplicationId = &v
5758	return s
5759}
5760
5761// SetDeploymentNumber sets the DeploymentNumber field's value.
5762func (s *GetDeploymentInput) SetDeploymentNumber(v int64) *GetDeploymentInput {
5763	s.DeploymentNumber = &v
5764	return s
5765}
5766
5767// SetEnvironmentId sets the EnvironmentId field's value.
5768func (s *GetDeploymentInput) SetEnvironmentId(v string) *GetDeploymentInput {
5769	s.EnvironmentId = &v
5770	return s
5771}
5772
5773type GetDeploymentOutput struct {
5774	_ struct{} `type:"structure"`
5775
5776	// The ID of the application that was deployed.
5777	ApplicationId *string `type:"string"`
5778
5779	// The time the deployment completed.
5780	CompletedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
5781
5782	// Information about the source location of the configuration.
5783	ConfigurationLocationUri *string `min:"1" type:"string"`
5784
5785	// The name of the configuration.
5786	ConfigurationName *string `min:"1" type:"string"`
5787
5788	// The ID of the configuration profile that was deployed.
5789	ConfigurationProfileId *string `type:"string"`
5790
5791	// The configuration version that was deployed.
5792	ConfigurationVersion *string `min:"1" type:"string"`
5793
5794	// Total amount of time the deployment lasted.
5795	DeploymentDurationInMinutes *int64 `type:"integer"`
5796
5797	// The sequence number of the deployment.
5798	DeploymentNumber *int64 `type:"integer"`
5799
5800	// The ID of the deployment strategy that was deployed.
5801	DeploymentStrategyId *string `type:"string"`
5802
5803	// The description of the deployment.
5804	Description *string `type:"string"`
5805
5806	// The ID of the environment that was deployed.
5807	EnvironmentId *string `type:"string"`
5808
5809	// A list containing all events related to a deployment. The most recent events
5810	// are displayed first.
5811	EventLog []*DeploymentEvent `type:"list"`
5812
5813	// The amount of time AppConfig monitored for alarms before considering the
5814	// deployment to be complete and no longer eligible for automatic roll back.
5815	FinalBakeTimeInMinutes *int64 `type:"integer"`
5816
5817	// The percentage of targets to receive a deployed configuration during each
5818	// interval.
5819	GrowthFactor *float64 `min:"1" type:"float"`
5820
5821	// The algorithm used to define how percentage grew over time.
5822	GrowthType *string `type:"string" enum:"GrowthType"`
5823
5824	// The percentage of targets for which the deployment is available.
5825	PercentageComplete *float64 `min:"1" type:"float"`
5826
5827	// The time the deployment started.
5828	StartedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
5829
5830	// The state of the deployment.
5831	State *string `type:"string" enum:"DeploymentState"`
5832}
5833
5834// String returns the string representation.
5835//
5836// API parameter values that are decorated as "sensitive" in the API will not
5837// be included in the string output. The member name will be present, but the
5838// value will be replaced with "sensitive".
5839func (s GetDeploymentOutput) String() string {
5840	return awsutil.Prettify(s)
5841}
5842
5843// GoString returns the string representation.
5844//
5845// API parameter values that are decorated as "sensitive" in the API will not
5846// be included in the string output. The member name will be present, but the
5847// value will be replaced with "sensitive".
5848func (s GetDeploymentOutput) GoString() string {
5849	return s.String()
5850}
5851
5852// SetApplicationId sets the ApplicationId field's value.
5853func (s *GetDeploymentOutput) SetApplicationId(v string) *GetDeploymentOutput {
5854	s.ApplicationId = &v
5855	return s
5856}
5857
5858// SetCompletedAt sets the CompletedAt field's value.
5859func (s *GetDeploymentOutput) SetCompletedAt(v time.Time) *GetDeploymentOutput {
5860	s.CompletedAt = &v
5861	return s
5862}
5863
5864// SetConfigurationLocationUri sets the ConfigurationLocationUri field's value.
5865func (s *GetDeploymentOutput) SetConfigurationLocationUri(v string) *GetDeploymentOutput {
5866	s.ConfigurationLocationUri = &v
5867	return s
5868}
5869
5870// SetConfigurationName sets the ConfigurationName field's value.
5871func (s *GetDeploymentOutput) SetConfigurationName(v string) *GetDeploymentOutput {
5872	s.ConfigurationName = &v
5873	return s
5874}
5875
5876// SetConfigurationProfileId sets the ConfigurationProfileId field's value.
5877func (s *GetDeploymentOutput) SetConfigurationProfileId(v string) *GetDeploymentOutput {
5878	s.ConfigurationProfileId = &v
5879	return s
5880}
5881
5882// SetConfigurationVersion sets the ConfigurationVersion field's value.
5883func (s *GetDeploymentOutput) SetConfigurationVersion(v string) *GetDeploymentOutput {
5884	s.ConfigurationVersion = &v
5885	return s
5886}
5887
5888// SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value.
5889func (s *GetDeploymentOutput) SetDeploymentDurationInMinutes(v int64) *GetDeploymentOutput {
5890	s.DeploymentDurationInMinutes = &v
5891	return s
5892}
5893
5894// SetDeploymentNumber sets the DeploymentNumber field's value.
5895func (s *GetDeploymentOutput) SetDeploymentNumber(v int64) *GetDeploymentOutput {
5896	s.DeploymentNumber = &v
5897	return s
5898}
5899
5900// SetDeploymentStrategyId sets the DeploymentStrategyId field's value.
5901func (s *GetDeploymentOutput) SetDeploymentStrategyId(v string) *GetDeploymentOutput {
5902	s.DeploymentStrategyId = &v
5903	return s
5904}
5905
5906// SetDescription sets the Description field's value.
5907func (s *GetDeploymentOutput) SetDescription(v string) *GetDeploymentOutput {
5908	s.Description = &v
5909	return s
5910}
5911
5912// SetEnvironmentId sets the EnvironmentId field's value.
5913func (s *GetDeploymentOutput) SetEnvironmentId(v string) *GetDeploymentOutput {
5914	s.EnvironmentId = &v
5915	return s
5916}
5917
5918// SetEventLog sets the EventLog field's value.
5919func (s *GetDeploymentOutput) SetEventLog(v []*DeploymentEvent) *GetDeploymentOutput {
5920	s.EventLog = v
5921	return s
5922}
5923
5924// SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value.
5925func (s *GetDeploymentOutput) SetFinalBakeTimeInMinutes(v int64) *GetDeploymentOutput {
5926	s.FinalBakeTimeInMinutes = &v
5927	return s
5928}
5929
5930// SetGrowthFactor sets the GrowthFactor field's value.
5931func (s *GetDeploymentOutput) SetGrowthFactor(v float64) *GetDeploymentOutput {
5932	s.GrowthFactor = &v
5933	return s
5934}
5935
5936// SetGrowthType sets the GrowthType field's value.
5937func (s *GetDeploymentOutput) SetGrowthType(v string) *GetDeploymentOutput {
5938	s.GrowthType = &v
5939	return s
5940}
5941
5942// SetPercentageComplete sets the PercentageComplete field's value.
5943func (s *GetDeploymentOutput) SetPercentageComplete(v float64) *GetDeploymentOutput {
5944	s.PercentageComplete = &v
5945	return s
5946}
5947
5948// SetStartedAt sets the StartedAt field's value.
5949func (s *GetDeploymentOutput) SetStartedAt(v time.Time) *GetDeploymentOutput {
5950	s.StartedAt = &v
5951	return s
5952}
5953
5954// SetState sets the State field's value.
5955func (s *GetDeploymentOutput) SetState(v string) *GetDeploymentOutput {
5956	s.State = &v
5957	return s
5958}
5959
5960type GetDeploymentStrategyInput struct {
5961	_ struct{} `type:"structure" nopayload:"true"`
5962
5963	// The ID of the deployment strategy to get.
5964	//
5965	// DeploymentStrategyId is a required field
5966	DeploymentStrategyId *string `location:"uri" locationName:"DeploymentStrategyId" type:"string" required:"true"`
5967}
5968
5969// String returns the string representation.
5970//
5971// API parameter values that are decorated as "sensitive" in the API will not
5972// be included in the string output. The member name will be present, but the
5973// value will be replaced with "sensitive".
5974func (s GetDeploymentStrategyInput) String() string {
5975	return awsutil.Prettify(s)
5976}
5977
5978// GoString returns the string representation.
5979//
5980// API parameter values that are decorated as "sensitive" in the API will not
5981// be included in the string output. The member name will be present, but the
5982// value will be replaced with "sensitive".
5983func (s GetDeploymentStrategyInput) GoString() string {
5984	return s.String()
5985}
5986
5987// Validate inspects the fields of the type to determine if they are valid.
5988func (s *GetDeploymentStrategyInput) Validate() error {
5989	invalidParams := request.ErrInvalidParams{Context: "GetDeploymentStrategyInput"}
5990	if s.DeploymentStrategyId == nil {
5991		invalidParams.Add(request.NewErrParamRequired("DeploymentStrategyId"))
5992	}
5993	if s.DeploymentStrategyId != nil && len(*s.DeploymentStrategyId) < 1 {
5994		invalidParams.Add(request.NewErrParamMinLen("DeploymentStrategyId", 1))
5995	}
5996
5997	if invalidParams.Len() > 0 {
5998		return invalidParams
5999	}
6000	return nil
6001}
6002
6003// SetDeploymentStrategyId sets the DeploymentStrategyId field's value.
6004func (s *GetDeploymentStrategyInput) SetDeploymentStrategyId(v string) *GetDeploymentStrategyInput {
6005	s.DeploymentStrategyId = &v
6006	return s
6007}
6008
6009type GetDeploymentStrategyOutput struct {
6010	_ struct{} `type:"structure"`
6011
6012	// Total amount of time the deployment lasted.
6013	DeploymentDurationInMinutes *int64 `type:"integer"`
6014
6015	// The description of the deployment strategy.
6016	Description *string `type:"string"`
6017
6018	// The amount of time AppConfig monitored for alarms before considering the
6019	// deployment to be complete and no longer eligible for automatic roll back.
6020	FinalBakeTimeInMinutes *int64 `type:"integer"`
6021
6022	// The percentage of targets that received a deployed configuration during each
6023	// interval.
6024	GrowthFactor *float64 `min:"1" type:"float"`
6025
6026	// The algorithm used to define how percentage grew over time.
6027	GrowthType *string `type:"string" enum:"GrowthType"`
6028
6029	// The deployment strategy ID.
6030	Id *string `type:"string"`
6031
6032	// The name of the deployment strategy.
6033	Name *string `min:"1" type:"string"`
6034
6035	// Save the deployment strategy to a Systems Manager (SSM) document.
6036	ReplicateTo *string `type:"string" enum:"ReplicateTo"`
6037}
6038
6039// String returns the string representation.
6040//
6041// API parameter values that are decorated as "sensitive" in the API will not
6042// be included in the string output. The member name will be present, but the
6043// value will be replaced with "sensitive".
6044func (s GetDeploymentStrategyOutput) String() string {
6045	return awsutil.Prettify(s)
6046}
6047
6048// GoString returns the string representation.
6049//
6050// API parameter values that are decorated as "sensitive" in the API will not
6051// be included in the string output. The member name will be present, but the
6052// value will be replaced with "sensitive".
6053func (s GetDeploymentStrategyOutput) GoString() string {
6054	return s.String()
6055}
6056
6057// SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value.
6058func (s *GetDeploymentStrategyOutput) SetDeploymentDurationInMinutes(v int64) *GetDeploymentStrategyOutput {
6059	s.DeploymentDurationInMinutes = &v
6060	return s
6061}
6062
6063// SetDescription sets the Description field's value.
6064func (s *GetDeploymentStrategyOutput) SetDescription(v string) *GetDeploymentStrategyOutput {
6065	s.Description = &v
6066	return s
6067}
6068
6069// SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value.
6070func (s *GetDeploymentStrategyOutput) SetFinalBakeTimeInMinutes(v int64) *GetDeploymentStrategyOutput {
6071	s.FinalBakeTimeInMinutes = &v
6072	return s
6073}
6074
6075// SetGrowthFactor sets the GrowthFactor field's value.
6076func (s *GetDeploymentStrategyOutput) SetGrowthFactor(v float64) *GetDeploymentStrategyOutput {
6077	s.GrowthFactor = &v
6078	return s
6079}
6080
6081// SetGrowthType sets the GrowthType field's value.
6082func (s *GetDeploymentStrategyOutput) SetGrowthType(v string) *GetDeploymentStrategyOutput {
6083	s.GrowthType = &v
6084	return s
6085}
6086
6087// SetId sets the Id field's value.
6088func (s *GetDeploymentStrategyOutput) SetId(v string) *GetDeploymentStrategyOutput {
6089	s.Id = &v
6090	return s
6091}
6092
6093// SetName sets the Name field's value.
6094func (s *GetDeploymentStrategyOutput) SetName(v string) *GetDeploymentStrategyOutput {
6095	s.Name = &v
6096	return s
6097}
6098
6099// SetReplicateTo sets the ReplicateTo field's value.
6100func (s *GetDeploymentStrategyOutput) SetReplicateTo(v string) *GetDeploymentStrategyOutput {
6101	s.ReplicateTo = &v
6102	return s
6103}
6104
6105type GetEnvironmentInput struct {
6106	_ struct{} `type:"structure" nopayload:"true"`
6107
6108	// The ID of the application that includes the environment you want to get.
6109	//
6110	// ApplicationId is a required field
6111	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
6112
6113	// The ID of the environment you wnat to get.
6114	//
6115	// EnvironmentId is a required field
6116	EnvironmentId *string `location:"uri" locationName:"EnvironmentId" type:"string" required:"true"`
6117}
6118
6119// String returns the string representation.
6120//
6121// API parameter values that are decorated as "sensitive" in the API will not
6122// be included in the string output. The member name will be present, but the
6123// value will be replaced with "sensitive".
6124func (s GetEnvironmentInput) String() string {
6125	return awsutil.Prettify(s)
6126}
6127
6128// GoString returns the string representation.
6129//
6130// API parameter values that are decorated as "sensitive" in the API will not
6131// be included in the string output. The member name will be present, but the
6132// value will be replaced with "sensitive".
6133func (s GetEnvironmentInput) GoString() string {
6134	return s.String()
6135}
6136
6137// Validate inspects the fields of the type to determine if they are valid.
6138func (s *GetEnvironmentInput) Validate() error {
6139	invalidParams := request.ErrInvalidParams{Context: "GetEnvironmentInput"}
6140	if s.ApplicationId == nil {
6141		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
6142	}
6143	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
6144		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
6145	}
6146	if s.EnvironmentId == nil {
6147		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
6148	}
6149	if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 {
6150		invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1))
6151	}
6152
6153	if invalidParams.Len() > 0 {
6154		return invalidParams
6155	}
6156	return nil
6157}
6158
6159// SetApplicationId sets the ApplicationId field's value.
6160func (s *GetEnvironmentInput) SetApplicationId(v string) *GetEnvironmentInput {
6161	s.ApplicationId = &v
6162	return s
6163}
6164
6165// SetEnvironmentId sets the EnvironmentId field's value.
6166func (s *GetEnvironmentInput) SetEnvironmentId(v string) *GetEnvironmentInput {
6167	s.EnvironmentId = &v
6168	return s
6169}
6170
6171type GetEnvironmentOutput struct {
6172	_ struct{} `type:"structure"`
6173
6174	// The application ID.
6175	ApplicationId *string `type:"string"`
6176
6177	// The description of the environment.
6178	Description *string `type:"string"`
6179
6180	// The environment ID.
6181	Id *string `type:"string"`
6182
6183	// Amazon CloudWatch alarms monitored during the deployment.
6184	Monitors []*Monitor `type:"list"`
6185
6186	// The name of the environment.
6187	Name *string `min:"1" type:"string"`
6188
6189	// The state of the environment. An environment can be in one of the following
6190	// states: READY_FOR_DEPLOYMENT, DEPLOYING, ROLLING_BACK, or ROLLED_BACK
6191	State *string `type:"string" enum:"EnvironmentState"`
6192}
6193
6194// String returns the string representation.
6195//
6196// API parameter values that are decorated as "sensitive" in the API will not
6197// be included in the string output. The member name will be present, but the
6198// value will be replaced with "sensitive".
6199func (s GetEnvironmentOutput) String() string {
6200	return awsutil.Prettify(s)
6201}
6202
6203// GoString returns the string representation.
6204//
6205// API parameter values that are decorated as "sensitive" in the API will not
6206// be included in the string output. The member name will be present, but the
6207// value will be replaced with "sensitive".
6208func (s GetEnvironmentOutput) GoString() string {
6209	return s.String()
6210}
6211
6212// SetApplicationId sets the ApplicationId field's value.
6213func (s *GetEnvironmentOutput) SetApplicationId(v string) *GetEnvironmentOutput {
6214	s.ApplicationId = &v
6215	return s
6216}
6217
6218// SetDescription sets the Description field's value.
6219func (s *GetEnvironmentOutput) SetDescription(v string) *GetEnvironmentOutput {
6220	s.Description = &v
6221	return s
6222}
6223
6224// SetId sets the Id field's value.
6225func (s *GetEnvironmentOutput) SetId(v string) *GetEnvironmentOutput {
6226	s.Id = &v
6227	return s
6228}
6229
6230// SetMonitors sets the Monitors field's value.
6231func (s *GetEnvironmentOutput) SetMonitors(v []*Monitor) *GetEnvironmentOutput {
6232	s.Monitors = v
6233	return s
6234}
6235
6236// SetName sets the Name field's value.
6237func (s *GetEnvironmentOutput) SetName(v string) *GetEnvironmentOutput {
6238	s.Name = &v
6239	return s
6240}
6241
6242// SetState sets the State field's value.
6243func (s *GetEnvironmentOutput) SetState(v string) *GetEnvironmentOutput {
6244	s.State = &v
6245	return s
6246}
6247
6248type GetHostedConfigurationVersionInput struct {
6249	_ struct{} `type:"structure" nopayload:"true"`
6250
6251	// The application ID.
6252	//
6253	// ApplicationId is a required field
6254	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
6255
6256	// The configuration profile ID.
6257	//
6258	// ConfigurationProfileId is a required field
6259	ConfigurationProfileId *string `location:"uri" locationName:"ConfigurationProfileId" type:"string" required:"true"`
6260
6261	// The version.
6262	//
6263	// VersionNumber is a required field
6264	VersionNumber *int64 `location:"uri" locationName:"VersionNumber" type:"integer" required:"true"`
6265}
6266
6267// String returns the string representation.
6268//
6269// API parameter values that are decorated as "sensitive" in the API will not
6270// be included in the string output. The member name will be present, but the
6271// value will be replaced with "sensitive".
6272func (s GetHostedConfigurationVersionInput) String() string {
6273	return awsutil.Prettify(s)
6274}
6275
6276// GoString returns the string representation.
6277//
6278// API parameter values that are decorated as "sensitive" in the API will not
6279// be included in the string output. The member name will be present, but the
6280// value will be replaced with "sensitive".
6281func (s GetHostedConfigurationVersionInput) GoString() string {
6282	return s.String()
6283}
6284
6285// Validate inspects the fields of the type to determine if they are valid.
6286func (s *GetHostedConfigurationVersionInput) Validate() error {
6287	invalidParams := request.ErrInvalidParams{Context: "GetHostedConfigurationVersionInput"}
6288	if s.ApplicationId == nil {
6289		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
6290	}
6291	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
6292		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
6293	}
6294	if s.ConfigurationProfileId == nil {
6295		invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId"))
6296	}
6297	if s.ConfigurationProfileId != nil && len(*s.ConfigurationProfileId) < 1 {
6298		invalidParams.Add(request.NewErrParamMinLen("ConfigurationProfileId", 1))
6299	}
6300	if s.VersionNumber == nil {
6301		invalidParams.Add(request.NewErrParamRequired("VersionNumber"))
6302	}
6303
6304	if invalidParams.Len() > 0 {
6305		return invalidParams
6306	}
6307	return nil
6308}
6309
6310// SetApplicationId sets the ApplicationId field's value.
6311func (s *GetHostedConfigurationVersionInput) SetApplicationId(v string) *GetHostedConfigurationVersionInput {
6312	s.ApplicationId = &v
6313	return s
6314}
6315
6316// SetConfigurationProfileId sets the ConfigurationProfileId field's value.
6317func (s *GetHostedConfigurationVersionInput) SetConfigurationProfileId(v string) *GetHostedConfigurationVersionInput {
6318	s.ConfigurationProfileId = &v
6319	return s
6320}
6321
6322// SetVersionNumber sets the VersionNumber field's value.
6323func (s *GetHostedConfigurationVersionInput) SetVersionNumber(v int64) *GetHostedConfigurationVersionInput {
6324	s.VersionNumber = &v
6325	return s
6326}
6327
6328type GetHostedConfigurationVersionOutput struct {
6329	_ struct{} `type:"structure" payload:"Content"`
6330
6331	// The application ID.
6332	ApplicationId *string `location:"header" locationName:"Application-Id" type:"string"`
6333
6334	// The configuration profile ID.
6335	ConfigurationProfileId *string `location:"header" locationName:"Configuration-Profile-Id" type:"string"`
6336
6337	// The content of the configuration or the configuration data.
6338	//
6339	// Content is a sensitive parameter and its value will be
6340	// replaced with "sensitive" in string returned by GetHostedConfigurationVersionOutput's
6341	// String and GoString methods.
6342	Content []byte `type:"blob" sensitive:"true"`
6343
6344	// A standard MIME type describing the format of the configuration content.
6345	// For more information, see Content-Type (https://docs.aws.amazon.com/https:/www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17).
6346	ContentType *string `location:"header" locationName:"Content-Type" min:"1" type:"string"`
6347
6348	// A description of the configuration.
6349	Description *string `location:"header" locationName:"Description" type:"string"`
6350
6351	// The configuration version.
6352	VersionNumber *int64 `location:"header" locationName:"Version-Number" type:"integer"`
6353}
6354
6355// String returns the string representation.
6356//
6357// API parameter values that are decorated as "sensitive" in the API will not
6358// be included in the string output. The member name will be present, but the
6359// value will be replaced with "sensitive".
6360func (s GetHostedConfigurationVersionOutput) String() string {
6361	return awsutil.Prettify(s)
6362}
6363
6364// GoString returns the string representation.
6365//
6366// API parameter values that are decorated as "sensitive" in the API will not
6367// be included in the string output. The member name will be present, but the
6368// value will be replaced with "sensitive".
6369func (s GetHostedConfigurationVersionOutput) GoString() string {
6370	return s.String()
6371}
6372
6373// SetApplicationId sets the ApplicationId field's value.
6374func (s *GetHostedConfigurationVersionOutput) SetApplicationId(v string) *GetHostedConfigurationVersionOutput {
6375	s.ApplicationId = &v
6376	return s
6377}
6378
6379// SetConfigurationProfileId sets the ConfigurationProfileId field's value.
6380func (s *GetHostedConfigurationVersionOutput) SetConfigurationProfileId(v string) *GetHostedConfigurationVersionOutput {
6381	s.ConfigurationProfileId = &v
6382	return s
6383}
6384
6385// SetContent sets the Content field's value.
6386func (s *GetHostedConfigurationVersionOutput) SetContent(v []byte) *GetHostedConfigurationVersionOutput {
6387	s.Content = v
6388	return s
6389}
6390
6391// SetContentType sets the ContentType field's value.
6392func (s *GetHostedConfigurationVersionOutput) SetContentType(v string) *GetHostedConfigurationVersionOutput {
6393	s.ContentType = &v
6394	return s
6395}
6396
6397// SetDescription sets the Description field's value.
6398func (s *GetHostedConfigurationVersionOutput) SetDescription(v string) *GetHostedConfigurationVersionOutput {
6399	s.Description = &v
6400	return s
6401}
6402
6403// SetVersionNumber sets the VersionNumber field's value.
6404func (s *GetHostedConfigurationVersionOutput) SetVersionNumber(v int64) *GetHostedConfigurationVersionOutput {
6405	s.VersionNumber = &v
6406	return s
6407}
6408
6409// Information about the configuration.
6410type HostedConfigurationVersionSummary struct {
6411	_ struct{} `type:"structure"`
6412
6413	// The application ID.
6414	ApplicationId *string `type:"string"`
6415
6416	// The configuration profile ID.
6417	ConfigurationProfileId *string `type:"string"`
6418
6419	// A standard MIME type describing the format of the configuration content.
6420	// For more information, see Content-Type (https://docs.aws.amazon.com/https:/www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17).
6421	ContentType *string `min:"1" type:"string"`
6422
6423	// A description of the configuration.
6424	Description *string `type:"string"`
6425
6426	// The configuration version.
6427	VersionNumber *int64 `type:"integer"`
6428}
6429
6430// String returns the string representation.
6431//
6432// API parameter values that are decorated as "sensitive" in the API will not
6433// be included in the string output. The member name will be present, but the
6434// value will be replaced with "sensitive".
6435func (s HostedConfigurationVersionSummary) String() string {
6436	return awsutil.Prettify(s)
6437}
6438
6439// GoString returns the string representation.
6440//
6441// API parameter values that are decorated as "sensitive" in the API will not
6442// be included in the string output. The member name will be present, but the
6443// value will be replaced with "sensitive".
6444func (s HostedConfigurationVersionSummary) GoString() string {
6445	return s.String()
6446}
6447
6448// SetApplicationId sets the ApplicationId field's value.
6449func (s *HostedConfigurationVersionSummary) SetApplicationId(v string) *HostedConfigurationVersionSummary {
6450	s.ApplicationId = &v
6451	return s
6452}
6453
6454// SetConfigurationProfileId sets the ConfigurationProfileId field's value.
6455func (s *HostedConfigurationVersionSummary) SetConfigurationProfileId(v string) *HostedConfigurationVersionSummary {
6456	s.ConfigurationProfileId = &v
6457	return s
6458}
6459
6460// SetContentType sets the ContentType field's value.
6461func (s *HostedConfigurationVersionSummary) SetContentType(v string) *HostedConfigurationVersionSummary {
6462	s.ContentType = &v
6463	return s
6464}
6465
6466// SetDescription sets the Description field's value.
6467func (s *HostedConfigurationVersionSummary) SetDescription(v string) *HostedConfigurationVersionSummary {
6468	s.Description = &v
6469	return s
6470}
6471
6472// SetVersionNumber sets the VersionNumber field's value.
6473func (s *HostedConfigurationVersionSummary) SetVersionNumber(v int64) *HostedConfigurationVersionSummary {
6474	s.VersionNumber = &v
6475	return s
6476}
6477
6478// There was an internal failure in the AppConfig service.
6479type InternalServerException struct {
6480	_            struct{}                  `type:"structure"`
6481	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6482
6483	Message_ *string `locationName:"Message" type:"string"`
6484}
6485
6486// String returns the string representation.
6487//
6488// API parameter values that are decorated as "sensitive" in the API will not
6489// be included in the string output. The member name will be present, but the
6490// value will be replaced with "sensitive".
6491func (s InternalServerException) String() string {
6492	return awsutil.Prettify(s)
6493}
6494
6495// GoString returns the string representation.
6496//
6497// API parameter values that are decorated as "sensitive" in the API will not
6498// be included in the string output. The member name will be present, but the
6499// value will be replaced with "sensitive".
6500func (s InternalServerException) GoString() string {
6501	return s.String()
6502}
6503
6504func newErrorInternalServerException(v protocol.ResponseMetadata) error {
6505	return &InternalServerException{
6506		RespMetadata: v,
6507	}
6508}
6509
6510// Code returns the exception type name.
6511func (s *InternalServerException) Code() string {
6512	return "InternalServerException"
6513}
6514
6515// Message returns the exception's message.
6516func (s *InternalServerException) Message() string {
6517	if s.Message_ != nil {
6518		return *s.Message_
6519	}
6520	return ""
6521}
6522
6523// OrigErr always returns nil, satisfies awserr.Error interface.
6524func (s *InternalServerException) OrigErr() error {
6525	return nil
6526}
6527
6528func (s *InternalServerException) Error() string {
6529	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6530}
6531
6532// Status code returns the HTTP status code for the request's response error.
6533func (s *InternalServerException) StatusCode() int {
6534	return s.RespMetadata.StatusCode
6535}
6536
6537// RequestID returns the service's response RequestID for request.
6538func (s *InternalServerException) RequestID() string {
6539	return s.RespMetadata.RequestID
6540}
6541
6542type ListApplicationsInput struct {
6543	_ struct{} `type:"structure" nopayload:"true"`
6544
6545	// The maximum number of items to return for this call. The call also returns
6546	// a token that you can specify in a subsequent call to get the next set of
6547	// results.
6548	MaxResults *int64 `location:"querystring" locationName:"max_results" min:"1" type:"integer"`
6549
6550	// A token to start the list. Use this token to get the next set of results.
6551	NextToken *string `location:"querystring" locationName:"next_token" min:"1" type:"string"`
6552}
6553
6554// String returns the string representation.
6555//
6556// API parameter values that are decorated as "sensitive" in the API will not
6557// be included in the string output. The member name will be present, but the
6558// value will be replaced with "sensitive".
6559func (s ListApplicationsInput) String() string {
6560	return awsutil.Prettify(s)
6561}
6562
6563// GoString returns the string representation.
6564//
6565// API parameter values that are decorated as "sensitive" in the API will not
6566// be included in the string output. The member name will be present, but the
6567// value will be replaced with "sensitive".
6568func (s ListApplicationsInput) GoString() string {
6569	return s.String()
6570}
6571
6572// Validate inspects the fields of the type to determine if they are valid.
6573func (s *ListApplicationsInput) Validate() error {
6574	invalidParams := request.ErrInvalidParams{Context: "ListApplicationsInput"}
6575	if s.MaxResults != nil && *s.MaxResults < 1 {
6576		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6577	}
6578	if s.NextToken != nil && len(*s.NextToken) < 1 {
6579		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6580	}
6581
6582	if invalidParams.Len() > 0 {
6583		return invalidParams
6584	}
6585	return nil
6586}
6587
6588// SetMaxResults sets the MaxResults field's value.
6589func (s *ListApplicationsInput) SetMaxResults(v int64) *ListApplicationsInput {
6590	s.MaxResults = &v
6591	return s
6592}
6593
6594// SetNextToken sets the NextToken field's value.
6595func (s *ListApplicationsInput) SetNextToken(v string) *ListApplicationsInput {
6596	s.NextToken = &v
6597	return s
6598}
6599
6600type ListApplicationsOutput struct {
6601	_ struct{} `type:"structure"`
6602
6603	// The elements from this collection.
6604	Items []*Application `type:"list"`
6605
6606	// The token for the next set of items to return. Use this token to get the
6607	// next set of results.
6608	NextToken *string `min:"1" type:"string"`
6609}
6610
6611// String returns the string representation.
6612//
6613// API parameter values that are decorated as "sensitive" in the API will not
6614// be included in the string output. The member name will be present, but the
6615// value will be replaced with "sensitive".
6616func (s ListApplicationsOutput) String() string {
6617	return awsutil.Prettify(s)
6618}
6619
6620// GoString returns the string representation.
6621//
6622// API parameter values that are decorated as "sensitive" in the API will not
6623// be included in the string output. The member name will be present, but the
6624// value will be replaced with "sensitive".
6625func (s ListApplicationsOutput) GoString() string {
6626	return s.String()
6627}
6628
6629// SetItems sets the Items field's value.
6630func (s *ListApplicationsOutput) SetItems(v []*Application) *ListApplicationsOutput {
6631	s.Items = v
6632	return s
6633}
6634
6635// SetNextToken sets the NextToken field's value.
6636func (s *ListApplicationsOutput) SetNextToken(v string) *ListApplicationsOutput {
6637	s.NextToken = &v
6638	return s
6639}
6640
6641type ListConfigurationProfilesInput struct {
6642	_ struct{} `type:"structure" nopayload:"true"`
6643
6644	// The application ID.
6645	//
6646	// ApplicationId is a required field
6647	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
6648
6649	// The maximum number of items to return for this call. The call also returns
6650	// a token that you can specify in a subsequent call to get the next set of
6651	// results.
6652	MaxResults *int64 `location:"querystring" locationName:"max_results" min:"1" type:"integer"`
6653
6654	// A token to start the list. Use this token to get the next set of results.
6655	NextToken *string `location:"querystring" locationName:"next_token" min:"1" type:"string"`
6656}
6657
6658// String returns the string representation.
6659//
6660// API parameter values that are decorated as "sensitive" in the API will not
6661// be included in the string output. The member name will be present, but the
6662// value will be replaced with "sensitive".
6663func (s ListConfigurationProfilesInput) String() string {
6664	return awsutil.Prettify(s)
6665}
6666
6667// GoString returns the string representation.
6668//
6669// API parameter values that are decorated as "sensitive" in the API will not
6670// be included in the string output. The member name will be present, but the
6671// value will be replaced with "sensitive".
6672func (s ListConfigurationProfilesInput) GoString() string {
6673	return s.String()
6674}
6675
6676// Validate inspects the fields of the type to determine if they are valid.
6677func (s *ListConfigurationProfilesInput) Validate() error {
6678	invalidParams := request.ErrInvalidParams{Context: "ListConfigurationProfilesInput"}
6679	if s.ApplicationId == nil {
6680		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
6681	}
6682	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
6683		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
6684	}
6685	if s.MaxResults != nil && *s.MaxResults < 1 {
6686		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6687	}
6688	if s.NextToken != nil && len(*s.NextToken) < 1 {
6689		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6690	}
6691
6692	if invalidParams.Len() > 0 {
6693		return invalidParams
6694	}
6695	return nil
6696}
6697
6698// SetApplicationId sets the ApplicationId field's value.
6699func (s *ListConfigurationProfilesInput) SetApplicationId(v string) *ListConfigurationProfilesInput {
6700	s.ApplicationId = &v
6701	return s
6702}
6703
6704// SetMaxResults sets the MaxResults field's value.
6705func (s *ListConfigurationProfilesInput) SetMaxResults(v int64) *ListConfigurationProfilesInput {
6706	s.MaxResults = &v
6707	return s
6708}
6709
6710// SetNextToken sets the NextToken field's value.
6711func (s *ListConfigurationProfilesInput) SetNextToken(v string) *ListConfigurationProfilesInput {
6712	s.NextToken = &v
6713	return s
6714}
6715
6716type ListConfigurationProfilesOutput struct {
6717	_ struct{} `type:"structure"`
6718
6719	// The elements from this collection.
6720	Items []*ConfigurationProfileSummary `type:"list"`
6721
6722	// The token for the next set of items to return. Use this token to get the
6723	// next set of results.
6724	NextToken *string `min:"1" type:"string"`
6725}
6726
6727// String returns the string representation.
6728//
6729// API parameter values that are decorated as "sensitive" in the API will not
6730// be included in the string output. The member name will be present, but the
6731// value will be replaced with "sensitive".
6732func (s ListConfigurationProfilesOutput) String() string {
6733	return awsutil.Prettify(s)
6734}
6735
6736// GoString returns the string representation.
6737//
6738// API parameter values that are decorated as "sensitive" in the API will not
6739// be included in the string output. The member name will be present, but the
6740// value will be replaced with "sensitive".
6741func (s ListConfigurationProfilesOutput) GoString() string {
6742	return s.String()
6743}
6744
6745// SetItems sets the Items field's value.
6746func (s *ListConfigurationProfilesOutput) SetItems(v []*ConfigurationProfileSummary) *ListConfigurationProfilesOutput {
6747	s.Items = v
6748	return s
6749}
6750
6751// SetNextToken sets the NextToken field's value.
6752func (s *ListConfigurationProfilesOutput) SetNextToken(v string) *ListConfigurationProfilesOutput {
6753	s.NextToken = &v
6754	return s
6755}
6756
6757type ListDeploymentStrategiesInput struct {
6758	_ struct{} `type:"structure" nopayload:"true"`
6759
6760	// The maximum number of items to return for this call. The call also returns
6761	// a token that you can specify in a subsequent call to get the next set of
6762	// results.
6763	MaxResults *int64 `location:"querystring" locationName:"max_results" min:"1" type:"integer"`
6764
6765	// A token to start the list. Use this token to get the next set of results.
6766	NextToken *string `location:"querystring" locationName:"next_token" min:"1" type:"string"`
6767}
6768
6769// String returns the string representation.
6770//
6771// API parameter values that are decorated as "sensitive" in the API will not
6772// be included in the string output. The member name will be present, but the
6773// value will be replaced with "sensitive".
6774func (s ListDeploymentStrategiesInput) String() string {
6775	return awsutil.Prettify(s)
6776}
6777
6778// GoString returns the string representation.
6779//
6780// API parameter values that are decorated as "sensitive" in the API will not
6781// be included in the string output. The member name will be present, but the
6782// value will be replaced with "sensitive".
6783func (s ListDeploymentStrategiesInput) GoString() string {
6784	return s.String()
6785}
6786
6787// Validate inspects the fields of the type to determine if they are valid.
6788func (s *ListDeploymentStrategiesInput) Validate() error {
6789	invalidParams := request.ErrInvalidParams{Context: "ListDeploymentStrategiesInput"}
6790	if s.MaxResults != nil && *s.MaxResults < 1 {
6791		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6792	}
6793	if s.NextToken != nil && len(*s.NextToken) < 1 {
6794		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6795	}
6796
6797	if invalidParams.Len() > 0 {
6798		return invalidParams
6799	}
6800	return nil
6801}
6802
6803// SetMaxResults sets the MaxResults field's value.
6804func (s *ListDeploymentStrategiesInput) SetMaxResults(v int64) *ListDeploymentStrategiesInput {
6805	s.MaxResults = &v
6806	return s
6807}
6808
6809// SetNextToken sets the NextToken field's value.
6810func (s *ListDeploymentStrategiesInput) SetNextToken(v string) *ListDeploymentStrategiesInput {
6811	s.NextToken = &v
6812	return s
6813}
6814
6815type ListDeploymentStrategiesOutput struct {
6816	_ struct{} `type:"structure"`
6817
6818	// The elements from this collection.
6819	Items []*DeploymentStrategy `type:"list"`
6820
6821	// The token for the next set of items to return. Use this token to get the
6822	// next set of results.
6823	NextToken *string `min:"1" type:"string"`
6824}
6825
6826// String returns the string representation.
6827//
6828// API parameter values that are decorated as "sensitive" in the API will not
6829// be included in the string output. The member name will be present, but the
6830// value will be replaced with "sensitive".
6831func (s ListDeploymentStrategiesOutput) String() string {
6832	return awsutil.Prettify(s)
6833}
6834
6835// GoString returns the string representation.
6836//
6837// API parameter values that are decorated as "sensitive" in the API will not
6838// be included in the string output. The member name will be present, but the
6839// value will be replaced with "sensitive".
6840func (s ListDeploymentStrategiesOutput) GoString() string {
6841	return s.String()
6842}
6843
6844// SetItems sets the Items field's value.
6845func (s *ListDeploymentStrategiesOutput) SetItems(v []*DeploymentStrategy) *ListDeploymentStrategiesOutput {
6846	s.Items = v
6847	return s
6848}
6849
6850// SetNextToken sets the NextToken field's value.
6851func (s *ListDeploymentStrategiesOutput) SetNextToken(v string) *ListDeploymentStrategiesOutput {
6852	s.NextToken = &v
6853	return s
6854}
6855
6856type ListDeploymentsInput struct {
6857	_ struct{} `type:"structure" nopayload:"true"`
6858
6859	// The application ID.
6860	//
6861	// ApplicationId is a required field
6862	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
6863
6864	// The environment ID.
6865	//
6866	// EnvironmentId is a required field
6867	EnvironmentId *string `location:"uri" locationName:"EnvironmentId" type:"string" required:"true"`
6868
6869	// The maximum number of items to return for this call. The call also returns
6870	// a token that you can specify in a subsequent call to get the next set of
6871	// results.
6872	MaxResults *int64 `location:"querystring" locationName:"max_results" min:"1" type:"integer"`
6873
6874	// A token to start the list. Use this token to get the next set of results.
6875	NextToken *string `location:"querystring" locationName:"next_token" min:"1" type:"string"`
6876}
6877
6878// String returns the string representation.
6879//
6880// API parameter values that are decorated as "sensitive" in the API will not
6881// be included in the string output. The member name will be present, but the
6882// value will be replaced with "sensitive".
6883func (s ListDeploymentsInput) String() string {
6884	return awsutil.Prettify(s)
6885}
6886
6887// GoString returns the string representation.
6888//
6889// API parameter values that are decorated as "sensitive" in the API will not
6890// be included in the string output. The member name will be present, but the
6891// value will be replaced with "sensitive".
6892func (s ListDeploymentsInput) GoString() string {
6893	return s.String()
6894}
6895
6896// Validate inspects the fields of the type to determine if they are valid.
6897func (s *ListDeploymentsInput) Validate() error {
6898	invalidParams := request.ErrInvalidParams{Context: "ListDeploymentsInput"}
6899	if s.ApplicationId == nil {
6900		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
6901	}
6902	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
6903		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
6904	}
6905	if s.EnvironmentId == nil {
6906		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
6907	}
6908	if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 {
6909		invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1))
6910	}
6911	if s.MaxResults != nil && *s.MaxResults < 1 {
6912		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6913	}
6914	if s.NextToken != nil && len(*s.NextToken) < 1 {
6915		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6916	}
6917
6918	if invalidParams.Len() > 0 {
6919		return invalidParams
6920	}
6921	return nil
6922}
6923
6924// SetApplicationId sets the ApplicationId field's value.
6925func (s *ListDeploymentsInput) SetApplicationId(v string) *ListDeploymentsInput {
6926	s.ApplicationId = &v
6927	return s
6928}
6929
6930// SetEnvironmentId sets the EnvironmentId field's value.
6931func (s *ListDeploymentsInput) SetEnvironmentId(v string) *ListDeploymentsInput {
6932	s.EnvironmentId = &v
6933	return s
6934}
6935
6936// SetMaxResults sets the MaxResults field's value.
6937func (s *ListDeploymentsInput) SetMaxResults(v int64) *ListDeploymentsInput {
6938	s.MaxResults = &v
6939	return s
6940}
6941
6942// SetNextToken sets the NextToken field's value.
6943func (s *ListDeploymentsInput) SetNextToken(v string) *ListDeploymentsInput {
6944	s.NextToken = &v
6945	return s
6946}
6947
6948type ListDeploymentsOutput struct {
6949	_ struct{} `type:"structure"`
6950
6951	// The elements from this collection.
6952	Items []*DeploymentSummary `type:"list"`
6953
6954	// The token for the next set of items to return. Use this token to get the
6955	// next set of results.
6956	NextToken *string `min:"1" type:"string"`
6957}
6958
6959// String returns the string representation.
6960//
6961// API parameter values that are decorated as "sensitive" in the API will not
6962// be included in the string output. The member name will be present, but the
6963// value will be replaced with "sensitive".
6964func (s ListDeploymentsOutput) String() string {
6965	return awsutil.Prettify(s)
6966}
6967
6968// GoString returns the string representation.
6969//
6970// API parameter values that are decorated as "sensitive" in the API will not
6971// be included in the string output. The member name will be present, but the
6972// value will be replaced with "sensitive".
6973func (s ListDeploymentsOutput) GoString() string {
6974	return s.String()
6975}
6976
6977// SetItems sets the Items field's value.
6978func (s *ListDeploymentsOutput) SetItems(v []*DeploymentSummary) *ListDeploymentsOutput {
6979	s.Items = v
6980	return s
6981}
6982
6983// SetNextToken sets the NextToken field's value.
6984func (s *ListDeploymentsOutput) SetNextToken(v string) *ListDeploymentsOutput {
6985	s.NextToken = &v
6986	return s
6987}
6988
6989type ListEnvironmentsInput struct {
6990	_ struct{} `type:"structure" nopayload:"true"`
6991
6992	// The application ID.
6993	//
6994	// ApplicationId is a required field
6995	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
6996
6997	// The maximum number of items to return for this call. The call also returns
6998	// a token that you can specify in a subsequent call to get the next set of
6999	// results.
7000	MaxResults *int64 `location:"querystring" locationName:"max_results" min:"1" type:"integer"`
7001
7002	// A token to start the list. Use this token to get the next set of results.
7003	NextToken *string `location:"querystring" locationName:"next_token" min:"1" type:"string"`
7004}
7005
7006// String returns the string representation.
7007//
7008// API parameter values that are decorated as "sensitive" in the API will not
7009// be included in the string output. The member name will be present, but the
7010// value will be replaced with "sensitive".
7011func (s ListEnvironmentsInput) String() string {
7012	return awsutil.Prettify(s)
7013}
7014
7015// GoString returns the string representation.
7016//
7017// API parameter values that are decorated as "sensitive" in the API will not
7018// be included in the string output. The member name will be present, but the
7019// value will be replaced with "sensitive".
7020func (s ListEnvironmentsInput) GoString() string {
7021	return s.String()
7022}
7023
7024// Validate inspects the fields of the type to determine if they are valid.
7025func (s *ListEnvironmentsInput) Validate() error {
7026	invalidParams := request.ErrInvalidParams{Context: "ListEnvironmentsInput"}
7027	if s.ApplicationId == nil {
7028		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
7029	}
7030	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
7031		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
7032	}
7033	if s.MaxResults != nil && *s.MaxResults < 1 {
7034		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7035	}
7036	if s.NextToken != nil && len(*s.NextToken) < 1 {
7037		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7038	}
7039
7040	if invalidParams.Len() > 0 {
7041		return invalidParams
7042	}
7043	return nil
7044}
7045
7046// SetApplicationId sets the ApplicationId field's value.
7047func (s *ListEnvironmentsInput) SetApplicationId(v string) *ListEnvironmentsInput {
7048	s.ApplicationId = &v
7049	return s
7050}
7051
7052// SetMaxResults sets the MaxResults field's value.
7053func (s *ListEnvironmentsInput) SetMaxResults(v int64) *ListEnvironmentsInput {
7054	s.MaxResults = &v
7055	return s
7056}
7057
7058// SetNextToken sets the NextToken field's value.
7059func (s *ListEnvironmentsInput) SetNextToken(v string) *ListEnvironmentsInput {
7060	s.NextToken = &v
7061	return s
7062}
7063
7064type ListEnvironmentsOutput struct {
7065	_ struct{} `type:"structure"`
7066
7067	// The elements from this collection.
7068	Items []*Environment `type:"list"`
7069
7070	// The token for the next set of items to return. Use this token to get the
7071	// next set of results.
7072	NextToken *string `min:"1" type:"string"`
7073}
7074
7075// String returns the string representation.
7076//
7077// API parameter values that are decorated as "sensitive" in the API will not
7078// be included in the string output. The member name will be present, but the
7079// value will be replaced with "sensitive".
7080func (s ListEnvironmentsOutput) String() string {
7081	return awsutil.Prettify(s)
7082}
7083
7084// GoString returns the string representation.
7085//
7086// API parameter values that are decorated as "sensitive" in the API will not
7087// be included in the string output. The member name will be present, but the
7088// value will be replaced with "sensitive".
7089func (s ListEnvironmentsOutput) GoString() string {
7090	return s.String()
7091}
7092
7093// SetItems sets the Items field's value.
7094func (s *ListEnvironmentsOutput) SetItems(v []*Environment) *ListEnvironmentsOutput {
7095	s.Items = v
7096	return s
7097}
7098
7099// SetNextToken sets the NextToken field's value.
7100func (s *ListEnvironmentsOutput) SetNextToken(v string) *ListEnvironmentsOutput {
7101	s.NextToken = &v
7102	return s
7103}
7104
7105type ListHostedConfigurationVersionsInput struct {
7106	_ struct{} `type:"structure" nopayload:"true"`
7107
7108	// The application ID.
7109	//
7110	// ApplicationId is a required field
7111	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
7112
7113	// The configuration profile ID.
7114	//
7115	// ConfigurationProfileId is a required field
7116	ConfigurationProfileId *string `location:"uri" locationName:"ConfigurationProfileId" type:"string" required:"true"`
7117
7118	// The maximum number of items to return for this call. The call also returns
7119	// a token that you can specify in a subsequent call to get the next set of
7120	// results.
7121	MaxResults *int64 `location:"querystring" locationName:"max_results" min:"1" type:"integer"`
7122
7123	// A token to start the list. Use this token to get the next set of results.
7124	NextToken *string `location:"querystring" locationName:"next_token" min:"1" type:"string"`
7125}
7126
7127// String returns the string representation.
7128//
7129// API parameter values that are decorated as "sensitive" in the API will not
7130// be included in the string output. The member name will be present, but the
7131// value will be replaced with "sensitive".
7132func (s ListHostedConfigurationVersionsInput) String() string {
7133	return awsutil.Prettify(s)
7134}
7135
7136// GoString returns the string representation.
7137//
7138// API parameter values that are decorated as "sensitive" in the API will not
7139// be included in the string output. The member name will be present, but the
7140// value will be replaced with "sensitive".
7141func (s ListHostedConfigurationVersionsInput) GoString() string {
7142	return s.String()
7143}
7144
7145// Validate inspects the fields of the type to determine if they are valid.
7146func (s *ListHostedConfigurationVersionsInput) Validate() error {
7147	invalidParams := request.ErrInvalidParams{Context: "ListHostedConfigurationVersionsInput"}
7148	if s.ApplicationId == nil {
7149		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
7150	}
7151	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
7152		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
7153	}
7154	if s.ConfigurationProfileId == nil {
7155		invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId"))
7156	}
7157	if s.ConfigurationProfileId != nil && len(*s.ConfigurationProfileId) < 1 {
7158		invalidParams.Add(request.NewErrParamMinLen("ConfigurationProfileId", 1))
7159	}
7160	if s.MaxResults != nil && *s.MaxResults < 1 {
7161		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7162	}
7163	if s.NextToken != nil && len(*s.NextToken) < 1 {
7164		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7165	}
7166
7167	if invalidParams.Len() > 0 {
7168		return invalidParams
7169	}
7170	return nil
7171}
7172
7173// SetApplicationId sets the ApplicationId field's value.
7174func (s *ListHostedConfigurationVersionsInput) SetApplicationId(v string) *ListHostedConfigurationVersionsInput {
7175	s.ApplicationId = &v
7176	return s
7177}
7178
7179// SetConfigurationProfileId sets the ConfigurationProfileId field's value.
7180func (s *ListHostedConfigurationVersionsInput) SetConfigurationProfileId(v string) *ListHostedConfigurationVersionsInput {
7181	s.ConfigurationProfileId = &v
7182	return s
7183}
7184
7185// SetMaxResults sets the MaxResults field's value.
7186func (s *ListHostedConfigurationVersionsInput) SetMaxResults(v int64) *ListHostedConfigurationVersionsInput {
7187	s.MaxResults = &v
7188	return s
7189}
7190
7191// SetNextToken sets the NextToken field's value.
7192func (s *ListHostedConfigurationVersionsInput) SetNextToken(v string) *ListHostedConfigurationVersionsInput {
7193	s.NextToken = &v
7194	return s
7195}
7196
7197type ListHostedConfigurationVersionsOutput struct {
7198	_ struct{} `type:"structure"`
7199
7200	// The elements from this collection.
7201	Items []*HostedConfigurationVersionSummary `type:"list"`
7202
7203	// The token for the next set of items to return. Use this token to get the
7204	// next set of results.
7205	NextToken *string `min:"1" type:"string"`
7206}
7207
7208// String returns the string representation.
7209//
7210// API parameter values that are decorated as "sensitive" in the API will not
7211// be included in the string output. The member name will be present, but the
7212// value will be replaced with "sensitive".
7213func (s ListHostedConfigurationVersionsOutput) String() string {
7214	return awsutil.Prettify(s)
7215}
7216
7217// GoString returns the string representation.
7218//
7219// API parameter values that are decorated as "sensitive" in the API will not
7220// be included in the string output. The member name will be present, but the
7221// value will be replaced with "sensitive".
7222func (s ListHostedConfigurationVersionsOutput) GoString() string {
7223	return s.String()
7224}
7225
7226// SetItems sets the Items field's value.
7227func (s *ListHostedConfigurationVersionsOutput) SetItems(v []*HostedConfigurationVersionSummary) *ListHostedConfigurationVersionsOutput {
7228	s.Items = v
7229	return s
7230}
7231
7232// SetNextToken sets the NextToken field's value.
7233func (s *ListHostedConfigurationVersionsOutput) SetNextToken(v string) *ListHostedConfigurationVersionsOutput {
7234	s.NextToken = &v
7235	return s
7236}
7237
7238type ListTagsForResourceInput struct {
7239	_ struct{} `type:"structure" nopayload:"true"`
7240
7241	// The resource ARN.
7242	//
7243	// ResourceArn is a required field
7244	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"`
7245}
7246
7247// String returns the string representation.
7248//
7249// API parameter values that are decorated as "sensitive" in the API will not
7250// be included in the string output. The member name will be present, but the
7251// value will be replaced with "sensitive".
7252func (s ListTagsForResourceInput) String() string {
7253	return awsutil.Prettify(s)
7254}
7255
7256// GoString returns the string representation.
7257//
7258// API parameter values that are decorated as "sensitive" in the API will not
7259// be included in the string output. The member name will be present, but the
7260// value will be replaced with "sensitive".
7261func (s ListTagsForResourceInput) GoString() string {
7262	return s.String()
7263}
7264
7265// Validate inspects the fields of the type to determine if they are valid.
7266func (s *ListTagsForResourceInput) Validate() error {
7267	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
7268	if s.ResourceArn == nil {
7269		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7270	}
7271	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
7272		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
7273	}
7274
7275	if invalidParams.Len() > 0 {
7276		return invalidParams
7277	}
7278	return nil
7279}
7280
7281// SetResourceArn sets the ResourceArn field's value.
7282func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
7283	s.ResourceArn = &v
7284	return s
7285}
7286
7287type ListTagsForResourceOutput struct {
7288	_ struct{} `type:"structure"`
7289
7290	// Metadata to assign to AppConfig resources. Tags help organize and categorize
7291	// your AppConfig resources. Each tag consists of a key and an optional value,
7292	// both of which you define.
7293	Tags map[string]*string `type:"map"`
7294}
7295
7296// String returns the string representation.
7297//
7298// API parameter values that are decorated as "sensitive" in the API will not
7299// be included in the string output. The member name will be present, but the
7300// value will be replaced with "sensitive".
7301func (s ListTagsForResourceOutput) String() string {
7302	return awsutil.Prettify(s)
7303}
7304
7305// GoString returns the string representation.
7306//
7307// API parameter values that are decorated as "sensitive" in the API will not
7308// be included in the string output. The member name will be present, but the
7309// value will be replaced with "sensitive".
7310func (s ListTagsForResourceOutput) GoString() string {
7311	return s.String()
7312}
7313
7314// SetTags sets the Tags field's value.
7315func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
7316	s.Tags = v
7317	return s
7318}
7319
7320// Amazon CloudWatch alarms to monitor during the deployment process.
7321type Monitor struct {
7322	_ struct{} `type:"structure"`
7323
7324	// ARN of the Amazon CloudWatch alarm.
7325	AlarmArn *string `min:"20" type:"string"`
7326
7327	// ARN of an IAM role for AppConfig to monitor AlarmArn.
7328	AlarmRoleArn *string `min:"20" type:"string"`
7329}
7330
7331// String returns the string representation.
7332//
7333// API parameter values that are decorated as "sensitive" in the API will not
7334// be included in the string output. The member name will be present, but the
7335// value will be replaced with "sensitive".
7336func (s Monitor) String() string {
7337	return awsutil.Prettify(s)
7338}
7339
7340// GoString returns the string representation.
7341//
7342// API parameter values that are decorated as "sensitive" in the API will not
7343// be included in the string output. The member name will be present, but the
7344// value will be replaced with "sensitive".
7345func (s Monitor) GoString() string {
7346	return s.String()
7347}
7348
7349// Validate inspects the fields of the type to determine if they are valid.
7350func (s *Monitor) Validate() error {
7351	invalidParams := request.ErrInvalidParams{Context: "Monitor"}
7352	if s.AlarmArn != nil && len(*s.AlarmArn) < 20 {
7353		invalidParams.Add(request.NewErrParamMinLen("AlarmArn", 20))
7354	}
7355	if s.AlarmRoleArn != nil && len(*s.AlarmRoleArn) < 20 {
7356		invalidParams.Add(request.NewErrParamMinLen("AlarmRoleArn", 20))
7357	}
7358
7359	if invalidParams.Len() > 0 {
7360		return invalidParams
7361	}
7362	return nil
7363}
7364
7365// SetAlarmArn sets the AlarmArn field's value.
7366func (s *Monitor) SetAlarmArn(v string) *Monitor {
7367	s.AlarmArn = &v
7368	return s
7369}
7370
7371// SetAlarmRoleArn sets the AlarmRoleArn field's value.
7372func (s *Monitor) SetAlarmRoleArn(v string) *Monitor {
7373	s.AlarmRoleArn = &v
7374	return s
7375}
7376
7377// The configuration size is too large.
7378type PayloadTooLargeException struct {
7379	_            struct{}                  `type:"structure"`
7380	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7381
7382	Limit *float64 `type:"float"`
7383
7384	Measure *string `type:"string" enum:"BytesMeasure"`
7385
7386	Message_ *string `locationName:"Message" type:"string"`
7387
7388	Size *float64 `type:"float"`
7389}
7390
7391// String returns the string representation.
7392//
7393// API parameter values that are decorated as "sensitive" in the API will not
7394// be included in the string output. The member name will be present, but the
7395// value will be replaced with "sensitive".
7396func (s PayloadTooLargeException) String() string {
7397	return awsutil.Prettify(s)
7398}
7399
7400// GoString returns the string representation.
7401//
7402// API parameter values that are decorated as "sensitive" in the API will not
7403// be included in the string output. The member name will be present, but the
7404// value will be replaced with "sensitive".
7405func (s PayloadTooLargeException) GoString() string {
7406	return s.String()
7407}
7408
7409func newErrorPayloadTooLargeException(v protocol.ResponseMetadata) error {
7410	return &PayloadTooLargeException{
7411		RespMetadata: v,
7412	}
7413}
7414
7415// Code returns the exception type name.
7416func (s *PayloadTooLargeException) Code() string {
7417	return "PayloadTooLargeException"
7418}
7419
7420// Message returns the exception's message.
7421func (s *PayloadTooLargeException) Message() string {
7422	if s.Message_ != nil {
7423		return *s.Message_
7424	}
7425	return ""
7426}
7427
7428// OrigErr always returns nil, satisfies awserr.Error interface.
7429func (s *PayloadTooLargeException) OrigErr() error {
7430	return nil
7431}
7432
7433func (s *PayloadTooLargeException) Error() string {
7434	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7435}
7436
7437// Status code returns the HTTP status code for the request's response error.
7438func (s *PayloadTooLargeException) StatusCode() int {
7439	return s.RespMetadata.StatusCode
7440}
7441
7442// RequestID returns the service's response RequestID for request.
7443func (s *PayloadTooLargeException) RequestID() string {
7444	return s.RespMetadata.RequestID
7445}
7446
7447// The requested resource could not be found.
7448type ResourceNotFoundException struct {
7449	_            struct{}                  `type:"structure"`
7450	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7451
7452	Message_ *string `locationName:"Message" type:"string"`
7453
7454	ResourceName *string `type:"string"`
7455}
7456
7457// String returns the string representation.
7458//
7459// API parameter values that are decorated as "sensitive" in the API will not
7460// be included in the string output. The member name will be present, but the
7461// value will be replaced with "sensitive".
7462func (s ResourceNotFoundException) String() string {
7463	return awsutil.Prettify(s)
7464}
7465
7466// GoString returns the string representation.
7467//
7468// API parameter values that are decorated as "sensitive" in the API will not
7469// be included in the string output. The member name will be present, but the
7470// value will be replaced with "sensitive".
7471func (s ResourceNotFoundException) GoString() string {
7472	return s.String()
7473}
7474
7475func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
7476	return &ResourceNotFoundException{
7477		RespMetadata: v,
7478	}
7479}
7480
7481// Code returns the exception type name.
7482func (s *ResourceNotFoundException) Code() string {
7483	return "ResourceNotFoundException"
7484}
7485
7486// Message returns the exception's message.
7487func (s *ResourceNotFoundException) Message() string {
7488	if s.Message_ != nil {
7489		return *s.Message_
7490	}
7491	return ""
7492}
7493
7494// OrigErr always returns nil, satisfies awserr.Error interface.
7495func (s *ResourceNotFoundException) OrigErr() error {
7496	return nil
7497}
7498
7499func (s *ResourceNotFoundException) Error() string {
7500	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7501}
7502
7503// Status code returns the HTTP status code for the request's response error.
7504func (s *ResourceNotFoundException) StatusCode() int {
7505	return s.RespMetadata.StatusCode
7506}
7507
7508// RequestID returns the service's response RequestID for request.
7509func (s *ResourceNotFoundException) RequestID() string {
7510	return s.RespMetadata.RequestID
7511}
7512
7513// The number of hosted configuration versions exceeds the limit for the AppConfig
7514// configuration store. Delete one or more versions and try again.
7515type ServiceQuotaExceededException struct {
7516	_            struct{}                  `type:"structure"`
7517	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7518
7519	Message_ *string `locationName:"Message" type:"string"`
7520}
7521
7522// String returns the string representation.
7523//
7524// API parameter values that are decorated as "sensitive" in the API will not
7525// be included in the string output. The member name will be present, but the
7526// value will be replaced with "sensitive".
7527func (s ServiceQuotaExceededException) String() string {
7528	return awsutil.Prettify(s)
7529}
7530
7531// GoString returns the string representation.
7532//
7533// API parameter values that are decorated as "sensitive" in the API will not
7534// be included in the string output. The member name will be present, but the
7535// value will be replaced with "sensitive".
7536func (s ServiceQuotaExceededException) GoString() string {
7537	return s.String()
7538}
7539
7540func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
7541	return &ServiceQuotaExceededException{
7542		RespMetadata: v,
7543	}
7544}
7545
7546// Code returns the exception type name.
7547func (s *ServiceQuotaExceededException) Code() string {
7548	return "ServiceQuotaExceededException"
7549}
7550
7551// Message returns the exception's message.
7552func (s *ServiceQuotaExceededException) Message() string {
7553	if s.Message_ != nil {
7554		return *s.Message_
7555	}
7556	return ""
7557}
7558
7559// OrigErr always returns nil, satisfies awserr.Error interface.
7560func (s *ServiceQuotaExceededException) OrigErr() error {
7561	return nil
7562}
7563
7564func (s *ServiceQuotaExceededException) Error() string {
7565	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7566}
7567
7568// Status code returns the HTTP status code for the request's response error.
7569func (s *ServiceQuotaExceededException) StatusCode() int {
7570	return s.RespMetadata.StatusCode
7571}
7572
7573// RequestID returns the service's response RequestID for request.
7574func (s *ServiceQuotaExceededException) RequestID() string {
7575	return s.RespMetadata.RequestID
7576}
7577
7578type StartDeploymentInput struct {
7579	_ struct{} `type:"structure"`
7580
7581	// The application ID.
7582	//
7583	// ApplicationId is a required field
7584	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
7585
7586	// The configuration profile ID.
7587	//
7588	// ConfigurationProfileId is a required field
7589	ConfigurationProfileId *string `type:"string" required:"true"`
7590
7591	// The configuration version to deploy.
7592	//
7593	// ConfigurationVersion is a required field
7594	ConfigurationVersion *string `min:"1" type:"string" required:"true"`
7595
7596	// The deployment strategy ID.
7597	//
7598	// DeploymentStrategyId is a required field
7599	DeploymentStrategyId *string `type:"string" required:"true"`
7600
7601	// A description of the deployment.
7602	Description *string `type:"string"`
7603
7604	// The environment ID.
7605	//
7606	// EnvironmentId is a required field
7607	EnvironmentId *string `location:"uri" locationName:"EnvironmentId" type:"string" required:"true"`
7608
7609	// Metadata to assign to the deployment. Tags help organize and categorize your
7610	// AppConfig resources. Each tag consists of a key and an optional value, both
7611	// of which you define.
7612	Tags map[string]*string `type:"map"`
7613}
7614
7615// String returns the string representation.
7616//
7617// API parameter values that are decorated as "sensitive" in the API will not
7618// be included in the string output. The member name will be present, but the
7619// value will be replaced with "sensitive".
7620func (s StartDeploymentInput) String() string {
7621	return awsutil.Prettify(s)
7622}
7623
7624// GoString returns the string representation.
7625//
7626// API parameter values that are decorated as "sensitive" in the API will not
7627// be included in the string output. The member name will be present, but the
7628// value will be replaced with "sensitive".
7629func (s StartDeploymentInput) GoString() string {
7630	return s.String()
7631}
7632
7633// Validate inspects the fields of the type to determine if they are valid.
7634func (s *StartDeploymentInput) Validate() error {
7635	invalidParams := request.ErrInvalidParams{Context: "StartDeploymentInput"}
7636	if s.ApplicationId == nil {
7637		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
7638	}
7639	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
7640		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
7641	}
7642	if s.ConfigurationProfileId == nil {
7643		invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId"))
7644	}
7645	if s.ConfigurationVersion == nil {
7646		invalidParams.Add(request.NewErrParamRequired("ConfigurationVersion"))
7647	}
7648	if s.ConfigurationVersion != nil && len(*s.ConfigurationVersion) < 1 {
7649		invalidParams.Add(request.NewErrParamMinLen("ConfigurationVersion", 1))
7650	}
7651	if s.DeploymentStrategyId == nil {
7652		invalidParams.Add(request.NewErrParamRequired("DeploymentStrategyId"))
7653	}
7654	if s.EnvironmentId == nil {
7655		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
7656	}
7657	if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 {
7658		invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1))
7659	}
7660
7661	if invalidParams.Len() > 0 {
7662		return invalidParams
7663	}
7664	return nil
7665}
7666
7667// SetApplicationId sets the ApplicationId field's value.
7668func (s *StartDeploymentInput) SetApplicationId(v string) *StartDeploymentInput {
7669	s.ApplicationId = &v
7670	return s
7671}
7672
7673// SetConfigurationProfileId sets the ConfigurationProfileId field's value.
7674func (s *StartDeploymentInput) SetConfigurationProfileId(v string) *StartDeploymentInput {
7675	s.ConfigurationProfileId = &v
7676	return s
7677}
7678
7679// SetConfigurationVersion sets the ConfigurationVersion field's value.
7680func (s *StartDeploymentInput) SetConfigurationVersion(v string) *StartDeploymentInput {
7681	s.ConfigurationVersion = &v
7682	return s
7683}
7684
7685// SetDeploymentStrategyId sets the DeploymentStrategyId field's value.
7686func (s *StartDeploymentInput) SetDeploymentStrategyId(v string) *StartDeploymentInput {
7687	s.DeploymentStrategyId = &v
7688	return s
7689}
7690
7691// SetDescription sets the Description field's value.
7692func (s *StartDeploymentInput) SetDescription(v string) *StartDeploymentInput {
7693	s.Description = &v
7694	return s
7695}
7696
7697// SetEnvironmentId sets the EnvironmentId field's value.
7698func (s *StartDeploymentInput) SetEnvironmentId(v string) *StartDeploymentInput {
7699	s.EnvironmentId = &v
7700	return s
7701}
7702
7703// SetTags sets the Tags field's value.
7704func (s *StartDeploymentInput) SetTags(v map[string]*string) *StartDeploymentInput {
7705	s.Tags = v
7706	return s
7707}
7708
7709type StartDeploymentOutput struct {
7710	_ struct{} `type:"structure"`
7711
7712	// The ID of the application that was deployed.
7713	ApplicationId *string `type:"string"`
7714
7715	// The time the deployment completed.
7716	CompletedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
7717
7718	// Information about the source location of the configuration.
7719	ConfigurationLocationUri *string `min:"1" type:"string"`
7720
7721	// The name of the configuration.
7722	ConfigurationName *string `min:"1" type:"string"`
7723
7724	// The ID of the configuration profile that was deployed.
7725	ConfigurationProfileId *string `type:"string"`
7726
7727	// The configuration version that was deployed.
7728	ConfigurationVersion *string `min:"1" type:"string"`
7729
7730	// Total amount of time the deployment lasted.
7731	DeploymentDurationInMinutes *int64 `type:"integer"`
7732
7733	// The sequence number of the deployment.
7734	DeploymentNumber *int64 `type:"integer"`
7735
7736	// The ID of the deployment strategy that was deployed.
7737	DeploymentStrategyId *string `type:"string"`
7738
7739	// The description of the deployment.
7740	Description *string `type:"string"`
7741
7742	// The ID of the environment that was deployed.
7743	EnvironmentId *string `type:"string"`
7744
7745	// A list containing all events related to a deployment. The most recent events
7746	// are displayed first.
7747	EventLog []*DeploymentEvent `type:"list"`
7748
7749	// The amount of time AppConfig monitored for alarms before considering the
7750	// deployment to be complete and no longer eligible for automatic roll back.
7751	FinalBakeTimeInMinutes *int64 `type:"integer"`
7752
7753	// The percentage of targets to receive a deployed configuration during each
7754	// interval.
7755	GrowthFactor *float64 `min:"1" type:"float"`
7756
7757	// The algorithm used to define how percentage grew over time.
7758	GrowthType *string `type:"string" enum:"GrowthType"`
7759
7760	// The percentage of targets for which the deployment is available.
7761	PercentageComplete *float64 `min:"1" type:"float"`
7762
7763	// The time the deployment started.
7764	StartedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
7765
7766	// The state of the deployment.
7767	State *string `type:"string" enum:"DeploymentState"`
7768}
7769
7770// String returns the string representation.
7771//
7772// API parameter values that are decorated as "sensitive" in the API will not
7773// be included in the string output. The member name will be present, but the
7774// value will be replaced with "sensitive".
7775func (s StartDeploymentOutput) String() string {
7776	return awsutil.Prettify(s)
7777}
7778
7779// GoString returns the string representation.
7780//
7781// API parameter values that are decorated as "sensitive" in the API will not
7782// be included in the string output. The member name will be present, but the
7783// value will be replaced with "sensitive".
7784func (s StartDeploymentOutput) GoString() string {
7785	return s.String()
7786}
7787
7788// SetApplicationId sets the ApplicationId field's value.
7789func (s *StartDeploymentOutput) SetApplicationId(v string) *StartDeploymentOutput {
7790	s.ApplicationId = &v
7791	return s
7792}
7793
7794// SetCompletedAt sets the CompletedAt field's value.
7795func (s *StartDeploymentOutput) SetCompletedAt(v time.Time) *StartDeploymentOutput {
7796	s.CompletedAt = &v
7797	return s
7798}
7799
7800// SetConfigurationLocationUri sets the ConfigurationLocationUri field's value.
7801func (s *StartDeploymentOutput) SetConfigurationLocationUri(v string) *StartDeploymentOutput {
7802	s.ConfigurationLocationUri = &v
7803	return s
7804}
7805
7806// SetConfigurationName sets the ConfigurationName field's value.
7807func (s *StartDeploymentOutput) SetConfigurationName(v string) *StartDeploymentOutput {
7808	s.ConfigurationName = &v
7809	return s
7810}
7811
7812// SetConfigurationProfileId sets the ConfigurationProfileId field's value.
7813func (s *StartDeploymentOutput) SetConfigurationProfileId(v string) *StartDeploymentOutput {
7814	s.ConfigurationProfileId = &v
7815	return s
7816}
7817
7818// SetConfigurationVersion sets the ConfigurationVersion field's value.
7819func (s *StartDeploymentOutput) SetConfigurationVersion(v string) *StartDeploymentOutput {
7820	s.ConfigurationVersion = &v
7821	return s
7822}
7823
7824// SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value.
7825func (s *StartDeploymentOutput) SetDeploymentDurationInMinutes(v int64) *StartDeploymentOutput {
7826	s.DeploymentDurationInMinutes = &v
7827	return s
7828}
7829
7830// SetDeploymentNumber sets the DeploymentNumber field's value.
7831func (s *StartDeploymentOutput) SetDeploymentNumber(v int64) *StartDeploymentOutput {
7832	s.DeploymentNumber = &v
7833	return s
7834}
7835
7836// SetDeploymentStrategyId sets the DeploymentStrategyId field's value.
7837func (s *StartDeploymentOutput) SetDeploymentStrategyId(v string) *StartDeploymentOutput {
7838	s.DeploymentStrategyId = &v
7839	return s
7840}
7841
7842// SetDescription sets the Description field's value.
7843func (s *StartDeploymentOutput) SetDescription(v string) *StartDeploymentOutput {
7844	s.Description = &v
7845	return s
7846}
7847
7848// SetEnvironmentId sets the EnvironmentId field's value.
7849func (s *StartDeploymentOutput) SetEnvironmentId(v string) *StartDeploymentOutput {
7850	s.EnvironmentId = &v
7851	return s
7852}
7853
7854// SetEventLog sets the EventLog field's value.
7855func (s *StartDeploymentOutput) SetEventLog(v []*DeploymentEvent) *StartDeploymentOutput {
7856	s.EventLog = v
7857	return s
7858}
7859
7860// SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value.
7861func (s *StartDeploymentOutput) SetFinalBakeTimeInMinutes(v int64) *StartDeploymentOutput {
7862	s.FinalBakeTimeInMinutes = &v
7863	return s
7864}
7865
7866// SetGrowthFactor sets the GrowthFactor field's value.
7867func (s *StartDeploymentOutput) SetGrowthFactor(v float64) *StartDeploymentOutput {
7868	s.GrowthFactor = &v
7869	return s
7870}
7871
7872// SetGrowthType sets the GrowthType field's value.
7873func (s *StartDeploymentOutput) SetGrowthType(v string) *StartDeploymentOutput {
7874	s.GrowthType = &v
7875	return s
7876}
7877
7878// SetPercentageComplete sets the PercentageComplete field's value.
7879func (s *StartDeploymentOutput) SetPercentageComplete(v float64) *StartDeploymentOutput {
7880	s.PercentageComplete = &v
7881	return s
7882}
7883
7884// SetStartedAt sets the StartedAt field's value.
7885func (s *StartDeploymentOutput) SetStartedAt(v time.Time) *StartDeploymentOutput {
7886	s.StartedAt = &v
7887	return s
7888}
7889
7890// SetState sets the State field's value.
7891func (s *StartDeploymentOutput) SetState(v string) *StartDeploymentOutput {
7892	s.State = &v
7893	return s
7894}
7895
7896type StopDeploymentInput struct {
7897	_ struct{} `type:"structure" nopayload:"true"`
7898
7899	// The application ID.
7900	//
7901	// ApplicationId is a required field
7902	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
7903
7904	// The sequence number of the deployment.
7905	//
7906	// DeploymentNumber is a required field
7907	DeploymentNumber *int64 `location:"uri" locationName:"DeploymentNumber" type:"integer" required:"true"`
7908
7909	// The environment ID.
7910	//
7911	// EnvironmentId is a required field
7912	EnvironmentId *string `location:"uri" locationName:"EnvironmentId" type:"string" required:"true"`
7913}
7914
7915// String returns the string representation.
7916//
7917// API parameter values that are decorated as "sensitive" in the API will not
7918// be included in the string output. The member name will be present, but the
7919// value will be replaced with "sensitive".
7920func (s StopDeploymentInput) String() string {
7921	return awsutil.Prettify(s)
7922}
7923
7924// GoString returns the string representation.
7925//
7926// API parameter values that are decorated as "sensitive" in the API will not
7927// be included in the string output. The member name will be present, but the
7928// value will be replaced with "sensitive".
7929func (s StopDeploymentInput) GoString() string {
7930	return s.String()
7931}
7932
7933// Validate inspects the fields of the type to determine if they are valid.
7934func (s *StopDeploymentInput) Validate() error {
7935	invalidParams := request.ErrInvalidParams{Context: "StopDeploymentInput"}
7936	if s.ApplicationId == nil {
7937		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
7938	}
7939	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
7940		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
7941	}
7942	if s.DeploymentNumber == nil {
7943		invalidParams.Add(request.NewErrParamRequired("DeploymentNumber"))
7944	}
7945	if s.EnvironmentId == nil {
7946		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
7947	}
7948	if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 {
7949		invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1))
7950	}
7951
7952	if invalidParams.Len() > 0 {
7953		return invalidParams
7954	}
7955	return nil
7956}
7957
7958// SetApplicationId sets the ApplicationId field's value.
7959func (s *StopDeploymentInput) SetApplicationId(v string) *StopDeploymentInput {
7960	s.ApplicationId = &v
7961	return s
7962}
7963
7964// SetDeploymentNumber sets the DeploymentNumber field's value.
7965func (s *StopDeploymentInput) SetDeploymentNumber(v int64) *StopDeploymentInput {
7966	s.DeploymentNumber = &v
7967	return s
7968}
7969
7970// SetEnvironmentId sets the EnvironmentId field's value.
7971func (s *StopDeploymentInput) SetEnvironmentId(v string) *StopDeploymentInput {
7972	s.EnvironmentId = &v
7973	return s
7974}
7975
7976type StopDeploymentOutput struct {
7977	_ struct{} `type:"structure"`
7978
7979	// The ID of the application that was deployed.
7980	ApplicationId *string `type:"string"`
7981
7982	// The time the deployment completed.
7983	CompletedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
7984
7985	// Information about the source location of the configuration.
7986	ConfigurationLocationUri *string `min:"1" type:"string"`
7987
7988	// The name of the configuration.
7989	ConfigurationName *string `min:"1" type:"string"`
7990
7991	// The ID of the configuration profile that was deployed.
7992	ConfigurationProfileId *string `type:"string"`
7993
7994	// The configuration version that was deployed.
7995	ConfigurationVersion *string `min:"1" type:"string"`
7996
7997	// Total amount of time the deployment lasted.
7998	DeploymentDurationInMinutes *int64 `type:"integer"`
7999
8000	// The sequence number of the deployment.
8001	DeploymentNumber *int64 `type:"integer"`
8002
8003	// The ID of the deployment strategy that was deployed.
8004	DeploymentStrategyId *string `type:"string"`
8005
8006	// The description of the deployment.
8007	Description *string `type:"string"`
8008
8009	// The ID of the environment that was deployed.
8010	EnvironmentId *string `type:"string"`
8011
8012	// A list containing all events related to a deployment. The most recent events
8013	// are displayed first.
8014	EventLog []*DeploymentEvent `type:"list"`
8015
8016	// The amount of time AppConfig monitored for alarms before considering the
8017	// deployment to be complete and no longer eligible for automatic roll back.
8018	FinalBakeTimeInMinutes *int64 `type:"integer"`
8019
8020	// The percentage of targets to receive a deployed configuration during each
8021	// interval.
8022	GrowthFactor *float64 `min:"1" type:"float"`
8023
8024	// The algorithm used to define how percentage grew over time.
8025	GrowthType *string `type:"string" enum:"GrowthType"`
8026
8027	// The percentage of targets for which the deployment is available.
8028	PercentageComplete *float64 `min:"1" type:"float"`
8029
8030	// The time the deployment started.
8031	StartedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
8032
8033	// The state of the deployment.
8034	State *string `type:"string" enum:"DeploymentState"`
8035}
8036
8037// String returns the string representation.
8038//
8039// API parameter values that are decorated as "sensitive" in the API will not
8040// be included in the string output. The member name will be present, but the
8041// value will be replaced with "sensitive".
8042func (s StopDeploymentOutput) String() string {
8043	return awsutil.Prettify(s)
8044}
8045
8046// GoString returns the string representation.
8047//
8048// API parameter values that are decorated as "sensitive" in the API will not
8049// be included in the string output. The member name will be present, but the
8050// value will be replaced with "sensitive".
8051func (s StopDeploymentOutput) GoString() string {
8052	return s.String()
8053}
8054
8055// SetApplicationId sets the ApplicationId field's value.
8056func (s *StopDeploymentOutput) SetApplicationId(v string) *StopDeploymentOutput {
8057	s.ApplicationId = &v
8058	return s
8059}
8060
8061// SetCompletedAt sets the CompletedAt field's value.
8062func (s *StopDeploymentOutput) SetCompletedAt(v time.Time) *StopDeploymentOutput {
8063	s.CompletedAt = &v
8064	return s
8065}
8066
8067// SetConfigurationLocationUri sets the ConfigurationLocationUri field's value.
8068func (s *StopDeploymentOutput) SetConfigurationLocationUri(v string) *StopDeploymentOutput {
8069	s.ConfigurationLocationUri = &v
8070	return s
8071}
8072
8073// SetConfigurationName sets the ConfigurationName field's value.
8074func (s *StopDeploymentOutput) SetConfigurationName(v string) *StopDeploymentOutput {
8075	s.ConfigurationName = &v
8076	return s
8077}
8078
8079// SetConfigurationProfileId sets the ConfigurationProfileId field's value.
8080func (s *StopDeploymentOutput) SetConfigurationProfileId(v string) *StopDeploymentOutput {
8081	s.ConfigurationProfileId = &v
8082	return s
8083}
8084
8085// SetConfigurationVersion sets the ConfigurationVersion field's value.
8086func (s *StopDeploymentOutput) SetConfigurationVersion(v string) *StopDeploymentOutput {
8087	s.ConfigurationVersion = &v
8088	return s
8089}
8090
8091// SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value.
8092func (s *StopDeploymentOutput) SetDeploymentDurationInMinutes(v int64) *StopDeploymentOutput {
8093	s.DeploymentDurationInMinutes = &v
8094	return s
8095}
8096
8097// SetDeploymentNumber sets the DeploymentNumber field's value.
8098func (s *StopDeploymentOutput) SetDeploymentNumber(v int64) *StopDeploymentOutput {
8099	s.DeploymentNumber = &v
8100	return s
8101}
8102
8103// SetDeploymentStrategyId sets the DeploymentStrategyId field's value.
8104func (s *StopDeploymentOutput) SetDeploymentStrategyId(v string) *StopDeploymentOutput {
8105	s.DeploymentStrategyId = &v
8106	return s
8107}
8108
8109// SetDescription sets the Description field's value.
8110func (s *StopDeploymentOutput) SetDescription(v string) *StopDeploymentOutput {
8111	s.Description = &v
8112	return s
8113}
8114
8115// SetEnvironmentId sets the EnvironmentId field's value.
8116func (s *StopDeploymentOutput) SetEnvironmentId(v string) *StopDeploymentOutput {
8117	s.EnvironmentId = &v
8118	return s
8119}
8120
8121// SetEventLog sets the EventLog field's value.
8122func (s *StopDeploymentOutput) SetEventLog(v []*DeploymentEvent) *StopDeploymentOutput {
8123	s.EventLog = v
8124	return s
8125}
8126
8127// SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value.
8128func (s *StopDeploymentOutput) SetFinalBakeTimeInMinutes(v int64) *StopDeploymentOutput {
8129	s.FinalBakeTimeInMinutes = &v
8130	return s
8131}
8132
8133// SetGrowthFactor sets the GrowthFactor field's value.
8134func (s *StopDeploymentOutput) SetGrowthFactor(v float64) *StopDeploymentOutput {
8135	s.GrowthFactor = &v
8136	return s
8137}
8138
8139// SetGrowthType sets the GrowthType field's value.
8140func (s *StopDeploymentOutput) SetGrowthType(v string) *StopDeploymentOutput {
8141	s.GrowthType = &v
8142	return s
8143}
8144
8145// SetPercentageComplete sets the PercentageComplete field's value.
8146func (s *StopDeploymentOutput) SetPercentageComplete(v float64) *StopDeploymentOutput {
8147	s.PercentageComplete = &v
8148	return s
8149}
8150
8151// SetStartedAt sets the StartedAt field's value.
8152func (s *StopDeploymentOutput) SetStartedAt(v time.Time) *StopDeploymentOutput {
8153	s.StartedAt = &v
8154	return s
8155}
8156
8157// SetState sets the State field's value.
8158func (s *StopDeploymentOutput) SetState(v string) *StopDeploymentOutput {
8159	s.State = &v
8160	return s
8161}
8162
8163type TagResourceInput struct {
8164	_ struct{} `type:"structure"`
8165
8166	// The ARN of the resource for which to retrieve tags.
8167	//
8168	// ResourceArn is a required field
8169	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"`
8170
8171	// The key-value string map. The valid character set is [a-zA-Z+-=._:/]. The
8172	// tag key can be up to 128 characters and must not start with aws:. The tag
8173	// value can be up to 256 characters.
8174	//
8175	// Tags is a required field
8176	Tags map[string]*string `type:"map" required:"true"`
8177}
8178
8179// String returns the string representation.
8180//
8181// API parameter values that are decorated as "sensitive" in the API will not
8182// be included in the string output. The member name will be present, but the
8183// value will be replaced with "sensitive".
8184func (s TagResourceInput) String() string {
8185	return awsutil.Prettify(s)
8186}
8187
8188// GoString returns the string representation.
8189//
8190// API parameter values that are decorated as "sensitive" in the API will not
8191// be included in the string output. The member name will be present, but the
8192// value will be replaced with "sensitive".
8193func (s TagResourceInput) GoString() string {
8194	return s.String()
8195}
8196
8197// Validate inspects the fields of the type to determine if they are valid.
8198func (s *TagResourceInput) Validate() error {
8199	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
8200	if s.ResourceArn == nil {
8201		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8202	}
8203	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
8204		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
8205	}
8206	if s.Tags == nil {
8207		invalidParams.Add(request.NewErrParamRequired("Tags"))
8208	}
8209
8210	if invalidParams.Len() > 0 {
8211		return invalidParams
8212	}
8213	return nil
8214}
8215
8216// SetResourceArn sets the ResourceArn field's value.
8217func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
8218	s.ResourceArn = &v
8219	return s
8220}
8221
8222// SetTags sets the Tags field's value.
8223func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
8224	s.Tags = v
8225	return s
8226}
8227
8228type TagResourceOutput struct {
8229	_ struct{} `type:"structure"`
8230}
8231
8232// String returns the string representation.
8233//
8234// API parameter values that are decorated as "sensitive" in the API will not
8235// be included in the string output. The member name will be present, but the
8236// value will be replaced with "sensitive".
8237func (s TagResourceOutput) String() string {
8238	return awsutil.Prettify(s)
8239}
8240
8241// GoString returns the string representation.
8242//
8243// API parameter values that are decorated as "sensitive" in the API will not
8244// be included in the string output. The member name will be present, but the
8245// value will be replaced with "sensitive".
8246func (s TagResourceOutput) GoString() string {
8247	return s.String()
8248}
8249
8250type UntagResourceInput struct {
8251	_ struct{} `type:"structure" nopayload:"true"`
8252
8253	// The ARN of the resource for which to remove tags.
8254	//
8255	// ResourceArn is a required field
8256	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"`
8257
8258	// The tag keys to delete.
8259	//
8260	// TagKeys is a required field
8261	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
8262}
8263
8264// String returns the string representation.
8265//
8266// API parameter values that are decorated as "sensitive" in the API will not
8267// be included in the string output. The member name will be present, but the
8268// value will be replaced with "sensitive".
8269func (s UntagResourceInput) String() string {
8270	return awsutil.Prettify(s)
8271}
8272
8273// GoString returns the string representation.
8274//
8275// API parameter values that are decorated as "sensitive" in the API will not
8276// be included in the string output. The member name will be present, but the
8277// value will be replaced with "sensitive".
8278func (s UntagResourceInput) GoString() string {
8279	return s.String()
8280}
8281
8282// Validate inspects the fields of the type to determine if they are valid.
8283func (s *UntagResourceInput) Validate() error {
8284	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
8285	if s.ResourceArn == nil {
8286		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8287	}
8288	if s.ResourceArn != nil && len(*s.ResourceArn) < 20 {
8289		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20))
8290	}
8291	if s.TagKeys == nil {
8292		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
8293	}
8294
8295	if invalidParams.Len() > 0 {
8296		return invalidParams
8297	}
8298	return nil
8299}
8300
8301// SetResourceArn sets the ResourceArn field's value.
8302func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
8303	s.ResourceArn = &v
8304	return s
8305}
8306
8307// SetTagKeys sets the TagKeys field's value.
8308func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
8309	s.TagKeys = v
8310	return s
8311}
8312
8313type UntagResourceOutput struct {
8314	_ struct{} `type:"structure"`
8315}
8316
8317// String returns the string representation.
8318//
8319// API parameter values that are decorated as "sensitive" in the API will not
8320// be included in the string output. The member name will be present, but the
8321// value will be replaced with "sensitive".
8322func (s UntagResourceOutput) String() string {
8323	return awsutil.Prettify(s)
8324}
8325
8326// GoString returns the string representation.
8327//
8328// API parameter values that are decorated as "sensitive" in the API will not
8329// be included in the string output. The member name will be present, but the
8330// value will be replaced with "sensitive".
8331func (s UntagResourceOutput) GoString() string {
8332	return s.String()
8333}
8334
8335type UpdateApplicationInput struct {
8336	_ struct{} `type:"structure"`
8337
8338	// The application ID.
8339	//
8340	// ApplicationId is a required field
8341	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
8342
8343	// A description of the application.
8344	Description *string `type:"string"`
8345
8346	// The name of the application.
8347	Name *string `min:"1" type:"string"`
8348}
8349
8350// String returns the string representation.
8351//
8352// API parameter values that are decorated as "sensitive" in the API will not
8353// be included in the string output. The member name will be present, but the
8354// value will be replaced with "sensitive".
8355func (s UpdateApplicationInput) String() string {
8356	return awsutil.Prettify(s)
8357}
8358
8359// GoString returns the string representation.
8360//
8361// API parameter values that are decorated as "sensitive" in the API will not
8362// be included in the string output. The member name will be present, but the
8363// value will be replaced with "sensitive".
8364func (s UpdateApplicationInput) GoString() string {
8365	return s.String()
8366}
8367
8368// Validate inspects the fields of the type to determine if they are valid.
8369func (s *UpdateApplicationInput) Validate() error {
8370	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationInput"}
8371	if s.ApplicationId == nil {
8372		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
8373	}
8374	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
8375		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
8376	}
8377	if s.Name != nil && len(*s.Name) < 1 {
8378		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8379	}
8380
8381	if invalidParams.Len() > 0 {
8382		return invalidParams
8383	}
8384	return nil
8385}
8386
8387// SetApplicationId sets the ApplicationId field's value.
8388func (s *UpdateApplicationInput) SetApplicationId(v string) *UpdateApplicationInput {
8389	s.ApplicationId = &v
8390	return s
8391}
8392
8393// SetDescription sets the Description field's value.
8394func (s *UpdateApplicationInput) SetDescription(v string) *UpdateApplicationInput {
8395	s.Description = &v
8396	return s
8397}
8398
8399// SetName sets the Name field's value.
8400func (s *UpdateApplicationInput) SetName(v string) *UpdateApplicationInput {
8401	s.Name = &v
8402	return s
8403}
8404
8405type UpdateApplicationOutput struct {
8406	_ struct{} `type:"structure"`
8407
8408	// The description of the application.
8409	Description *string `type:"string"`
8410
8411	// The application ID.
8412	Id *string `type:"string"`
8413
8414	// The application name.
8415	Name *string `min:"1" type:"string"`
8416}
8417
8418// String returns the string representation.
8419//
8420// API parameter values that are decorated as "sensitive" in the API will not
8421// be included in the string output. The member name will be present, but the
8422// value will be replaced with "sensitive".
8423func (s UpdateApplicationOutput) String() string {
8424	return awsutil.Prettify(s)
8425}
8426
8427// GoString returns the string representation.
8428//
8429// API parameter values that are decorated as "sensitive" in the API will not
8430// be included in the string output. The member name will be present, but the
8431// value will be replaced with "sensitive".
8432func (s UpdateApplicationOutput) GoString() string {
8433	return s.String()
8434}
8435
8436// SetDescription sets the Description field's value.
8437func (s *UpdateApplicationOutput) SetDescription(v string) *UpdateApplicationOutput {
8438	s.Description = &v
8439	return s
8440}
8441
8442// SetId sets the Id field's value.
8443func (s *UpdateApplicationOutput) SetId(v string) *UpdateApplicationOutput {
8444	s.Id = &v
8445	return s
8446}
8447
8448// SetName sets the Name field's value.
8449func (s *UpdateApplicationOutput) SetName(v string) *UpdateApplicationOutput {
8450	s.Name = &v
8451	return s
8452}
8453
8454type UpdateConfigurationProfileInput struct {
8455	_ struct{} `type:"structure"`
8456
8457	// The application ID.
8458	//
8459	// ApplicationId is a required field
8460	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
8461
8462	// The ID of the configuration profile.
8463	//
8464	// ConfigurationProfileId is a required field
8465	ConfigurationProfileId *string `location:"uri" locationName:"ConfigurationProfileId" type:"string" required:"true"`
8466
8467	// A description of the configuration profile.
8468	Description *string `type:"string"`
8469
8470	// The name of the configuration profile.
8471	Name *string `min:"1" type:"string"`
8472
8473	// The ARN of an IAM role with permission to access the configuration at the
8474	// specified LocationUri.
8475	RetrievalRoleArn *string `min:"20" type:"string"`
8476
8477	// A list of methods for validating the configuration.
8478	Validators []*Validator `type:"list"`
8479}
8480
8481// String returns the string representation.
8482//
8483// API parameter values that are decorated as "sensitive" in the API will not
8484// be included in the string output. The member name will be present, but the
8485// value will be replaced with "sensitive".
8486func (s UpdateConfigurationProfileInput) String() string {
8487	return awsutil.Prettify(s)
8488}
8489
8490// GoString returns the string representation.
8491//
8492// API parameter values that are decorated as "sensitive" in the API will not
8493// be included in the string output. The member name will be present, but the
8494// value will be replaced with "sensitive".
8495func (s UpdateConfigurationProfileInput) GoString() string {
8496	return s.String()
8497}
8498
8499// Validate inspects the fields of the type to determine if they are valid.
8500func (s *UpdateConfigurationProfileInput) Validate() error {
8501	invalidParams := request.ErrInvalidParams{Context: "UpdateConfigurationProfileInput"}
8502	if s.ApplicationId == nil {
8503		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
8504	}
8505	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
8506		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
8507	}
8508	if s.ConfigurationProfileId == nil {
8509		invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId"))
8510	}
8511	if s.ConfigurationProfileId != nil && len(*s.ConfigurationProfileId) < 1 {
8512		invalidParams.Add(request.NewErrParamMinLen("ConfigurationProfileId", 1))
8513	}
8514	if s.Name != nil && len(*s.Name) < 1 {
8515		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8516	}
8517	if s.RetrievalRoleArn != nil && len(*s.RetrievalRoleArn) < 20 {
8518		invalidParams.Add(request.NewErrParamMinLen("RetrievalRoleArn", 20))
8519	}
8520	if s.Validators != nil {
8521		for i, v := range s.Validators {
8522			if v == nil {
8523				continue
8524			}
8525			if err := v.Validate(); err != nil {
8526				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Validators", i), err.(request.ErrInvalidParams))
8527			}
8528		}
8529	}
8530
8531	if invalidParams.Len() > 0 {
8532		return invalidParams
8533	}
8534	return nil
8535}
8536
8537// SetApplicationId sets the ApplicationId field's value.
8538func (s *UpdateConfigurationProfileInput) SetApplicationId(v string) *UpdateConfigurationProfileInput {
8539	s.ApplicationId = &v
8540	return s
8541}
8542
8543// SetConfigurationProfileId sets the ConfigurationProfileId field's value.
8544func (s *UpdateConfigurationProfileInput) SetConfigurationProfileId(v string) *UpdateConfigurationProfileInput {
8545	s.ConfigurationProfileId = &v
8546	return s
8547}
8548
8549// SetDescription sets the Description field's value.
8550func (s *UpdateConfigurationProfileInput) SetDescription(v string) *UpdateConfigurationProfileInput {
8551	s.Description = &v
8552	return s
8553}
8554
8555// SetName sets the Name field's value.
8556func (s *UpdateConfigurationProfileInput) SetName(v string) *UpdateConfigurationProfileInput {
8557	s.Name = &v
8558	return s
8559}
8560
8561// SetRetrievalRoleArn sets the RetrievalRoleArn field's value.
8562func (s *UpdateConfigurationProfileInput) SetRetrievalRoleArn(v string) *UpdateConfigurationProfileInput {
8563	s.RetrievalRoleArn = &v
8564	return s
8565}
8566
8567// SetValidators sets the Validators field's value.
8568func (s *UpdateConfigurationProfileInput) SetValidators(v []*Validator) *UpdateConfigurationProfileInput {
8569	s.Validators = v
8570	return s
8571}
8572
8573type UpdateConfigurationProfileOutput struct {
8574	_ struct{} `type:"structure"`
8575
8576	// The application ID.
8577	ApplicationId *string `type:"string"`
8578
8579	// The configuration profile description.
8580	Description *string `type:"string"`
8581
8582	// The configuration profile ID.
8583	Id *string `type:"string"`
8584
8585	// The URI location of the configuration.
8586	LocationUri *string `min:"1" type:"string"`
8587
8588	// The name of the configuration profile.
8589	Name *string `min:"1" type:"string"`
8590
8591	// The ARN of an IAM role with permission to access the configuration at the
8592	// specified LocationUri.
8593	RetrievalRoleArn *string `min:"20" type:"string"`
8594
8595	// A list of methods for validating the configuration.
8596	Validators []*Validator `type:"list"`
8597}
8598
8599// String returns the string representation.
8600//
8601// API parameter values that are decorated as "sensitive" in the API will not
8602// be included in the string output. The member name will be present, but the
8603// value will be replaced with "sensitive".
8604func (s UpdateConfigurationProfileOutput) String() string {
8605	return awsutil.Prettify(s)
8606}
8607
8608// GoString returns the string representation.
8609//
8610// API parameter values that are decorated as "sensitive" in the API will not
8611// be included in the string output. The member name will be present, but the
8612// value will be replaced with "sensitive".
8613func (s UpdateConfigurationProfileOutput) GoString() string {
8614	return s.String()
8615}
8616
8617// SetApplicationId sets the ApplicationId field's value.
8618func (s *UpdateConfigurationProfileOutput) SetApplicationId(v string) *UpdateConfigurationProfileOutput {
8619	s.ApplicationId = &v
8620	return s
8621}
8622
8623// SetDescription sets the Description field's value.
8624func (s *UpdateConfigurationProfileOutput) SetDescription(v string) *UpdateConfigurationProfileOutput {
8625	s.Description = &v
8626	return s
8627}
8628
8629// SetId sets the Id field's value.
8630func (s *UpdateConfigurationProfileOutput) SetId(v string) *UpdateConfigurationProfileOutput {
8631	s.Id = &v
8632	return s
8633}
8634
8635// SetLocationUri sets the LocationUri field's value.
8636func (s *UpdateConfigurationProfileOutput) SetLocationUri(v string) *UpdateConfigurationProfileOutput {
8637	s.LocationUri = &v
8638	return s
8639}
8640
8641// SetName sets the Name field's value.
8642func (s *UpdateConfigurationProfileOutput) SetName(v string) *UpdateConfigurationProfileOutput {
8643	s.Name = &v
8644	return s
8645}
8646
8647// SetRetrievalRoleArn sets the RetrievalRoleArn field's value.
8648func (s *UpdateConfigurationProfileOutput) SetRetrievalRoleArn(v string) *UpdateConfigurationProfileOutput {
8649	s.RetrievalRoleArn = &v
8650	return s
8651}
8652
8653// SetValidators sets the Validators field's value.
8654func (s *UpdateConfigurationProfileOutput) SetValidators(v []*Validator) *UpdateConfigurationProfileOutput {
8655	s.Validators = v
8656	return s
8657}
8658
8659type UpdateDeploymentStrategyInput struct {
8660	_ struct{} `type:"structure"`
8661
8662	// Total amount of time for a deployment to last.
8663	DeploymentDurationInMinutes *int64 `type:"integer"`
8664
8665	// The deployment strategy ID.
8666	//
8667	// DeploymentStrategyId is a required field
8668	DeploymentStrategyId *string `location:"uri" locationName:"DeploymentStrategyId" type:"string" required:"true"`
8669
8670	// A description of the deployment strategy.
8671	Description *string `type:"string"`
8672
8673	// The amount of time AppConfig monitors for alarms before considering the deployment
8674	// to be complete and no longer eligible for automatic roll back.
8675	FinalBakeTimeInMinutes *int64 `type:"integer"`
8676
8677	// The percentage of targets to receive a deployed configuration during each
8678	// interval.
8679	GrowthFactor *float64 `min:"1" type:"float"`
8680
8681	// The algorithm used to define how percentage grows over time. AWS AppConfig
8682	// supports the following growth types:
8683	//
8684	// Linear: For this type, AppConfig processes the deployment by increments of
8685	// the growth factor evenly distributed over the deployment time. For example,
8686	// a linear deployment that uses a growth factor of 20 initially makes the configuration
8687	// available to 20 percent of the targets. After 1/5th of the deployment time
8688	// has passed, the system updates the percentage to 40 percent. This continues
8689	// until 100% of the targets are set to receive the deployed configuration.
8690	//
8691	// Exponential: For this type, AppConfig processes the deployment exponentially
8692	// using the following formula: G*(2^N). In this formula, G is the growth factor
8693	// specified by the user and N is the number of steps until the configuration
8694	// is deployed to all targets. For example, if you specify a growth factor of
8695	// 2, then the system rolls out the configuration as follows:
8696	//
8697	// 2*(2^0)
8698	//
8699	// 2*(2^1)
8700	//
8701	// 2*(2^2)
8702	//
8703	// Expressed numerically, the deployment rolls out as follows: 2% of the targets,
8704	// 4% of the targets, 8% of the targets, and continues until the configuration
8705	// has been deployed to all targets.
8706	GrowthType *string `type:"string" enum:"GrowthType"`
8707}
8708
8709// String returns the string representation.
8710//
8711// API parameter values that are decorated as "sensitive" in the API will not
8712// be included in the string output. The member name will be present, but the
8713// value will be replaced with "sensitive".
8714func (s UpdateDeploymentStrategyInput) String() string {
8715	return awsutil.Prettify(s)
8716}
8717
8718// GoString returns the string representation.
8719//
8720// API parameter values that are decorated as "sensitive" in the API will not
8721// be included in the string output. The member name will be present, but the
8722// value will be replaced with "sensitive".
8723func (s UpdateDeploymentStrategyInput) GoString() string {
8724	return s.String()
8725}
8726
8727// Validate inspects the fields of the type to determine if they are valid.
8728func (s *UpdateDeploymentStrategyInput) Validate() error {
8729	invalidParams := request.ErrInvalidParams{Context: "UpdateDeploymentStrategyInput"}
8730	if s.DeploymentStrategyId == nil {
8731		invalidParams.Add(request.NewErrParamRequired("DeploymentStrategyId"))
8732	}
8733	if s.DeploymentStrategyId != nil && len(*s.DeploymentStrategyId) < 1 {
8734		invalidParams.Add(request.NewErrParamMinLen("DeploymentStrategyId", 1))
8735	}
8736	if s.GrowthFactor != nil && *s.GrowthFactor < 1 {
8737		invalidParams.Add(request.NewErrParamMinValue("GrowthFactor", 1))
8738	}
8739
8740	if invalidParams.Len() > 0 {
8741		return invalidParams
8742	}
8743	return nil
8744}
8745
8746// SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value.
8747func (s *UpdateDeploymentStrategyInput) SetDeploymentDurationInMinutes(v int64) *UpdateDeploymentStrategyInput {
8748	s.DeploymentDurationInMinutes = &v
8749	return s
8750}
8751
8752// SetDeploymentStrategyId sets the DeploymentStrategyId field's value.
8753func (s *UpdateDeploymentStrategyInput) SetDeploymentStrategyId(v string) *UpdateDeploymentStrategyInput {
8754	s.DeploymentStrategyId = &v
8755	return s
8756}
8757
8758// SetDescription sets the Description field's value.
8759func (s *UpdateDeploymentStrategyInput) SetDescription(v string) *UpdateDeploymentStrategyInput {
8760	s.Description = &v
8761	return s
8762}
8763
8764// SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value.
8765func (s *UpdateDeploymentStrategyInput) SetFinalBakeTimeInMinutes(v int64) *UpdateDeploymentStrategyInput {
8766	s.FinalBakeTimeInMinutes = &v
8767	return s
8768}
8769
8770// SetGrowthFactor sets the GrowthFactor field's value.
8771func (s *UpdateDeploymentStrategyInput) SetGrowthFactor(v float64) *UpdateDeploymentStrategyInput {
8772	s.GrowthFactor = &v
8773	return s
8774}
8775
8776// SetGrowthType sets the GrowthType field's value.
8777func (s *UpdateDeploymentStrategyInput) SetGrowthType(v string) *UpdateDeploymentStrategyInput {
8778	s.GrowthType = &v
8779	return s
8780}
8781
8782type UpdateDeploymentStrategyOutput struct {
8783	_ struct{} `type:"structure"`
8784
8785	// Total amount of time the deployment lasted.
8786	DeploymentDurationInMinutes *int64 `type:"integer"`
8787
8788	// The description of the deployment strategy.
8789	Description *string `type:"string"`
8790
8791	// The amount of time AppConfig monitored for alarms before considering the
8792	// deployment to be complete and no longer eligible for automatic roll back.
8793	FinalBakeTimeInMinutes *int64 `type:"integer"`
8794
8795	// The percentage of targets that received a deployed configuration during each
8796	// interval.
8797	GrowthFactor *float64 `min:"1" type:"float"`
8798
8799	// The algorithm used to define how percentage grew over time.
8800	GrowthType *string `type:"string" enum:"GrowthType"`
8801
8802	// The deployment strategy ID.
8803	Id *string `type:"string"`
8804
8805	// The name of the deployment strategy.
8806	Name *string `min:"1" type:"string"`
8807
8808	// Save the deployment strategy to a Systems Manager (SSM) document.
8809	ReplicateTo *string `type:"string" enum:"ReplicateTo"`
8810}
8811
8812// String returns the string representation.
8813//
8814// API parameter values that are decorated as "sensitive" in the API will not
8815// be included in the string output. The member name will be present, but the
8816// value will be replaced with "sensitive".
8817func (s UpdateDeploymentStrategyOutput) String() string {
8818	return awsutil.Prettify(s)
8819}
8820
8821// GoString returns the string representation.
8822//
8823// API parameter values that are decorated as "sensitive" in the API will not
8824// be included in the string output. The member name will be present, but the
8825// value will be replaced with "sensitive".
8826func (s UpdateDeploymentStrategyOutput) GoString() string {
8827	return s.String()
8828}
8829
8830// SetDeploymentDurationInMinutes sets the DeploymentDurationInMinutes field's value.
8831func (s *UpdateDeploymentStrategyOutput) SetDeploymentDurationInMinutes(v int64) *UpdateDeploymentStrategyOutput {
8832	s.DeploymentDurationInMinutes = &v
8833	return s
8834}
8835
8836// SetDescription sets the Description field's value.
8837func (s *UpdateDeploymentStrategyOutput) SetDescription(v string) *UpdateDeploymentStrategyOutput {
8838	s.Description = &v
8839	return s
8840}
8841
8842// SetFinalBakeTimeInMinutes sets the FinalBakeTimeInMinutes field's value.
8843func (s *UpdateDeploymentStrategyOutput) SetFinalBakeTimeInMinutes(v int64) *UpdateDeploymentStrategyOutput {
8844	s.FinalBakeTimeInMinutes = &v
8845	return s
8846}
8847
8848// SetGrowthFactor sets the GrowthFactor field's value.
8849func (s *UpdateDeploymentStrategyOutput) SetGrowthFactor(v float64) *UpdateDeploymentStrategyOutput {
8850	s.GrowthFactor = &v
8851	return s
8852}
8853
8854// SetGrowthType sets the GrowthType field's value.
8855func (s *UpdateDeploymentStrategyOutput) SetGrowthType(v string) *UpdateDeploymentStrategyOutput {
8856	s.GrowthType = &v
8857	return s
8858}
8859
8860// SetId sets the Id field's value.
8861func (s *UpdateDeploymentStrategyOutput) SetId(v string) *UpdateDeploymentStrategyOutput {
8862	s.Id = &v
8863	return s
8864}
8865
8866// SetName sets the Name field's value.
8867func (s *UpdateDeploymentStrategyOutput) SetName(v string) *UpdateDeploymentStrategyOutput {
8868	s.Name = &v
8869	return s
8870}
8871
8872// SetReplicateTo sets the ReplicateTo field's value.
8873func (s *UpdateDeploymentStrategyOutput) SetReplicateTo(v string) *UpdateDeploymentStrategyOutput {
8874	s.ReplicateTo = &v
8875	return s
8876}
8877
8878type UpdateEnvironmentInput struct {
8879	_ struct{} `type:"structure"`
8880
8881	// The application ID.
8882	//
8883	// ApplicationId is a required field
8884	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
8885
8886	// A description of the environment.
8887	Description *string `type:"string"`
8888
8889	// The environment ID.
8890	//
8891	// EnvironmentId is a required field
8892	EnvironmentId *string `location:"uri" locationName:"EnvironmentId" type:"string" required:"true"`
8893
8894	// Amazon CloudWatch alarms to monitor during the deployment process.
8895	Monitors []*Monitor `type:"list"`
8896
8897	// The name of the environment.
8898	Name *string `min:"1" type:"string"`
8899}
8900
8901// String returns the string representation.
8902//
8903// API parameter values that are decorated as "sensitive" in the API will not
8904// be included in the string output. The member name will be present, but the
8905// value will be replaced with "sensitive".
8906func (s UpdateEnvironmentInput) String() string {
8907	return awsutil.Prettify(s)
8908}
8909
8910// GoString returns the string representation.
8911//
8912// API parameter values that are decorated as "sensitive" in the API will not
8913// be included in the string output. The member name will be present, but the
8914// value will be replaced with "sensitive".
8915func (s UpdateEnvironmentInput) GoString() string {
8916	return s.String()
8917}
8918
8919// Validate inspects the fields of the type to determine if they are valid.
8920func (s *UpdateEnvironmentInput) Validate() error {
8921	invalidParams := request.ErrInvalidParams{Context: "UpdateEnvironmentInput"}
8922	if s.ApplicationId == nil {
8923		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
8924	}
8925	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
8926		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
8927	}
8928	if s.EnvironmentId == nil {
8929		invalidParams.Add(request.NewErrParamRequired("EnvironmentId"))
8930	}
8931	if s.EnvironmentId != nil && len(*s.EnvironmentId) < 1 {
8932		invalidParams.Add(request.NewErrParamMinLen("EnvironmentId", 1))
8933	}
8934	if s.Name != nil && len(*s.Name) < 1 {
8935		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8936	}
8937	if s.Monitors != nil {
8938		for i, v := range s.Monitors {
8939			if v == nil {
8940				continue
8941			}
8942			if err := v.Validate(); err != nil {
8943				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Monitors", i), err.(request.ErrInvalidParams))
8944			}
8945		}
8946	}
8947
8948	if invalidParams.Len() > 0 {
8949		return invalidParams
8950	}
8951	return nil
8952}
8953
8954// SetApplicationId sets the ApplicationId field's value.
8955func (s *UpdateEnvironmentInput) SetApplicationId(v string) *UpdateEnvironmentInput {
8956	s.ApplicationId = &v
8957	return s
8958}
8959
8960// SetDescription sets the Description field's value.
8961func (s *UpdateEnvironmentInput) SetDescription(v string) *UpdateEnvironmentInput {
8962	s.Description = &v
8963	return s
8964}
8965
8966// SetEnvironmentId sets the EnvironmentId field's value.
8967func (s *UpdateEnvironmentInput) SetEnvironmentId(v string) *UpdateEnvironmentInput {
8968	s.EnvironmentId = &v
8969	return s
8970}
8971
8972// SetMonitors sets the Monitors field's value.
8973func (s *UpdateEnvironmentInput) SetMonitors(v []*Monitor) *UpdateEnvironmentInput {
8974	s.Monitors = v
8975	return s
8976}
8977
8978// SetName sets the Name field's value.
8979func (s *UpdateEnvironmentInput) SetName(v string) *UpdateEnvironmentInput {
8980	s.Name = &v
8981	return s
8982}
8983
8984type UpdateEnvironmentOutput struct {
8985	_ struct{} `type:"structure"`
8986
8987	// The application ID.
8988	ApplicationId *string `type:"string"`
8989
8990	// The description of the environment.
8991	Description *string `type:"string"`
8992
8993	// The environment ID.
8994	Id *string `type:"string"`
8995
8996	// Amazon CloudWatch alarms monitored during the deployment.
8997	Monitors []*Monitor `type:"list"`
8998
8999	// The name of the environment.
9000	Name *string `min:"1" type:"string"`
9001
9002	// The state of the environment. An environment can be in one of the following
9003	// states: READY_FOR_DEPLOYMENT, DEPLOYING, ROLLING_BACK, or ROLLED_BACK
9004	State *string `type:"string" enum:"EnvironmentState"`
9005}
9006
9007// String returns the string representation.
9008//
9009// API parameter values that are decorated as "sensitive" in the API will not
9010// be included in the string output. The member name will be present, but the
9011// value will be replaced with "sensitive".
9012func (s UpdateEnvironmentOutput) String() string {
9013	return awsutil.Prettify(s)
9014}
9015
9016// GoString returns the string representation.
9017//
9018// API parameter values that are decorated as "sensitive" in the API will not
9019// be included in the string output. The member name will be present, but the
9020// value will be replaced with "sensitive".
9021func (s UpdateEnvironmentOutput) GoString() string {
9022	return s.String()
9023}
9024
9025// SetApplicationId sets the ApplicationId field's value.
9026func (s *UpdateEnvironmentOutput) SetApplicationId(v string) *UpdateEnvironmentOutput {
9027	s.ApplicationId = &v
9028	return s
9029}
9030
9031// SetDescription sets the Description field's value.
9032func (s *UpdateEnvironmentOutput) SetDescription(v string) *UpdateEnvironmentOutput {
9033	s.Description = &v
9034	return s
9035}
9036
9037// SetId sets the Id field's value.
9038func (s *UpdateEnvironmentOutput) SetId(v string) *UpdateEnvironmentOutput {
9039	s.Id = &v
9040	return s
9041}
9042
9043// SetMonitors sets the Monitors field's value.
9044func (s *UpdateEnvironmentOutput) SetMonitors(v []*Monitor) *UpdateEnvironmentOutput {
9045	s.Monitors = v
9046	return s
9047}
9048
9049// SetName sets the Name field's value.
9050func (s *UpdateEnvironmentOutput) SetName(v string) *UpdateEnvironmentOutput {
9051	s.Name = &v
9052	return s
9053}
9054
9055// SetState sets the State field's value.
9056func (s *UpdateEnvironmentOutput) SetState(v string) *UpdateEnvironmentOutput {
9057	s.State = &v
9058	return s
9059}
9060
9061type ValidateConfigurationInput struct {
9062	_ struct{} `type:"structure" nopayload:"true"`
9063
9064	// The application ID.
9065	//
9066	// ApplicationId is a required field
9067	ApplicationId *string `location:"uri" locationName:"ApplicationId" type:"string" required:"true"`
9068
9069	// The configuration profile ID.
9070	//
9071	// ConfigurationProfileId is a required field
9072	ConfigurationProfileId *string `location:"uri" locationName:"ConfigurationProfileId" type:"string" required:"true"`
9073
9074	// The version of the configuration to validate.
9075	//
9076	// ConfigurationVersion is a required field
9077	ConfigurationVersion *string `location:"querystring" locationName:"configuration_version" min:"1" type:"string" required:"true"`
9078}
9079
9080// String returns the string representation.
9081//
9082// API parameter values that are decorated as "sensitive" in the API will not
9083// be included in the string output. The member name will be present, but the
9084// value will be replaced with "sensitive".
9085func (s ValidateConfigurationInput) String() string {
9086	return awsutil.Prettify(s)
9087}
9088
9089// GoString returns the string representation.
9090//
9091// API parameter values that are decorated as "sensitive" in the API will not
9092// be included in the string output. The member name will be present, but the
9093// value will be replaced with "sensitive".
9094func (s ValidateConfigurationInput) GoString() string {
9095	return s.String()
9096}
9097
9098// Validate inspects the fields of the type to determine if they are valid.
9099func (s *ValidateConfigurationInput) Validate() error {
9100	invalidParams := request.ErrInvalidParams{Context: "ValidateConfigurationInput"}
9101	if s.ApplicationId == nil {
9102		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
9103	}
9104	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
9105		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
9106	}
9107	if s.ConfigurationProfileId == nil {
9108		invalidParams.Add(request.NewErrParamRequired("ConfigurationProfileId"))
9109	}
9110	if s.ConfigurationProfileId != nil && len(*s.ConfigurationProfileId) < 1 {
9111		invalidParams.Add(request.NewErrParamMinLen("ConfigurationProfileId", 1))
9112	}
9113	if s.ConfigurationVersion == nil {
9114		invalidParams.Add(request.NewErrParamRequired("ConfigurationVersion"))
9115	}
9116	if s.ConfigurationVersion != nil && len(*s.ConfigurationVersion) < 1 {
9117		invalidParams.Add(request.NewErrParamMinLen("ConfigurationVersion", 1))
9118	}
9119
9120	if invalidParams.Len() > 0 {
9121		return invalidParams
9122	}
9123	return nil
9124}
9125
9126// SetApplicationId sets the ApplicationId field's value.
9127func (s *ValidateConfigurationInput) SetApplicationId(v string) *ValidateConfigurationInput {
9128	s.ApplicationId = &v
9129	return s
9130}
9131
9132// SetConfigurationProfileId sets the ConfigurationProfileId field's value.
9133func (s *ValidateConfigurationInput) SetConfigurationProfileId(v string) *ValidateConfigurationInput {
9134	s.ConfigurationProfileId = &v
9135	return s
9136}
9137
9138// SetConfigurationVersion sets the ConfigurationVersion field's value.
9139func (s *ValidateConfigurationInput) SetConfigurationVersion(v string) *ValidateConfigurationInput {
9140	s.ConfigurationVersion = &v
9141	return s
9142}
9143
9144type ValidateConfigurationOutput struct {
9145	_ struct{} `type:"structure"`
9146}
9147
9148// String returns the string representation.
9149//
9150// API parameter values that are decorated as "sensitive" in the API will not
9151// be included in the string output. The member name will be present, but the
9152// value will be replaced with "sensitive".
9153func (s ValidateConfigurationOutput) String() string {
9154	return awsutil.Prettify(s)
9155}
9156
9157// GoString returns the string representation.
9158//
9159// API parameter values that are decorated as "sensitive" in the API will not
9160// be included in the string output. The member name will be present, but the
9161// value will be replaced with "sensitive".
9162func (s ValidateConfigurationOutput) GoString() string {
9163	return s.String()
9164}
9165
9166// A validator provides a syntactic or semantic check to ensure the configuration
9167// you want to deploy functions as intended. To validate your application configuration
9168// data, you provide a schema or a Lambda function that runs against the configuration.
9169// The configuration deployment or update can only proceed when the configuration
9170// data is valid.
9171type Validator struct {
9172	_ struct{} `type:"structure"`
9173
9174	// Either the JSON Schema content or the Amazon Resource Name (ARN) of an AWS
9175	// Lambda function.
9176	//
9177	// Content is a sensitive parameter and its value will be
9178	// replaced with "sensitive" in string returned by Validator's
9179	// String and GoString methods.
9180	//
9181	// Content is a required field
9182	Content *string `type:"string" required:"true" sensitive:"true"`
9183
9184	// AppConfig supports validators of type JSON_SCHEMA and LAMBDA
9185	//
9186	// Type is a required field
9187	Type *string `type:"string" required:"true" enum:"ValidatorType"`
9188}
9189
9190// String returns the string representation.
9191//
9192// API parameter values that are decorated as "sensitive" in the API will not
9193// be included in the string output. The member name will be present, but the
9194// value will be replaced with "sensitive".
9195func (s Validator) String() string {
9196	return awsutil.Prettify(s)
9197}
9198
9199// GoString returns the string representation.
9200//
9201// API parameter values that are decorated as "sensitive" in the API will not
9202// be included in the string output. The member name will be present, but the
9203// value will be replaced with "sensitive".
9204func (s Validator) GoString() string {
9205	return s.String()
9206}
9207
9208// Validate inspects the fields of the type to determine if they are valid.
9209func (s *Validator) Validate() error {
9210	invalidParams := request.ErrInvalidParams{Context: "Validator"}
9211	if s.Content == nil {
9212		invalidParams.Add(request.NewErrParamRequired("Content"))
9213	}
9214	if s.Type == nil {
9215		invalidParams.Add(request.NewErrParamRequired("Type"))
9216	}
9217
9218	if invalidParams.Len() > 0 {
9219		return invalidParams
9220	}
9221	return nil
9222}
9223
9224// SetContent sets the Content field's value.
9225func (s *Validator) SetContent(v string) *Validator {
9226	s.Content = &v
9227	return s
9228}
9229
9230// SetType sets the Type field's value.
9231func (s *Validator) SetType(v string) *Validator {
9232	s.Type = &v
9233	return s
9234}
9235
9236const (
9237	// BytesMeasureKilobytes is a BytesMeasure enum value
9238	BytesMeasureKilobytes = "KILOBYTES"
9239)
9240
9241// BytesMeasure_Values returns all elements of the BytesMeasure enum
9242func BytesMeasure_Values() []string {
9243	return []string{
9244		BytesMeasureKilobytes,
9245	}
9246}
9247
9248const (
9249	// DeploymentEventTypePercentageUpdated is a DeploymentEventType enum value
9250	DeploymentEventTypePercentageUpdated = "PERCENTAGE_UPDATED"
9251
9252	// DeploymentEventTypeRollbackStarted is a DeploymentEventType enum value
9253	DeploymentEventTypeRollbackStarted = "ROLLBACK_STARTED"
9254
9255	// DeploymentEventTypeRollbackCompleted is a DeploymentEventType enum value
9256	DeploymentEventTypeRollbackCompleted = "ROLLBACK_COMPLETED"
9257
9258	// DeploymentEventTypeBakeTimeStarted is a DeploymentEventType enum value
9259	DeploymentEventTypeBakeTimeStarted = "BAKE_TIME_STARTED"
9260
9261	// DeploymentEventTypeDeploymentStarted is a DeploymentEventType enum value
9262	DeploymentEventTypeDeploymentStarted = "DEPLOYMENT_STARTED"
9263
9264	// DeploymentEventTypeDeploymentCompleted is a DeploymentEventType enum value
9265	DeploymentEventTypeDeploymentCompleted = "DEPLOYMENT_COMPLETED"
9266)
9267
9268// DeploymentEventType_Values returns all elements of the DeploymentEventType enum
9269func DeploymentEventType_Values() []string {
9270	return []string{
9271		DeploymentEventTypePercentageUpdated,
9272		DeploymentEventTypeRollbackStarted,
9273		DeploymentEventTypeRollbackCompleted,
9274		DeploymentEventTypeBakeTimeStarted,
9275		DeploymentEventTypeDeploymentStarted,
9276		DeploymentEventTypeDeploymentCompleted,
9277	}
9278}
9279
9280const (
9281	// DeploymentStateBaking is a DeploymentState enum value
9282	DeploymentStateBaking = "BAKING"
9283
9284	// DeploymentStateValidating is a DeploymentState enum value
9285	DeploymentStateValidating = "VALIDATING"
9286
9287	// DeploymentStateDeploying is a DeploymentState enum value
9288	DeploymentStateDeploying = "DEPLOYING"
9289
9290	// DeploymentStateComplete is a DeploymentState enum value
9291	DeploymentStateComplete = "COMPLETE"
9292
9293	// DeploymentStateRollingBack is a DeploymentState enum value
9294	DeploymentStateRollingBack = "ROLLING_BACK"
9295
9296	// DeploymentStateRolledBack is a DeploymentState enum value
9297	DeploymentStateRolledBack = "ROLLED_BACK"
9298)
9299
9300// DeploymentState_Values returns all elements of the DeploymentState enum
9301func DeploymentState_Values() []string {
9302	return []string{
9303		DeploymentStateBaking,
9304		DeploymentStateValidating,
9305		DeploymentStateDeploying,
9306		DeploymentStateComplete,
9307		DeploymentStateRollingBack,
9308		DeploymentStateRolledBack,
9309	}
9310}
9311
9312const (
9313	// EnvironmentStateReadyForDeployment is a EnvironmentState enum value
9314	EnvironmentStateReadyForDeployment = "READY_FOR_DEPLOYMENT"
9315
9316	// EnvironmentStateDeploying is a EnvironmentState enum value
9317	EnvironmentStateDeploying = "DEPLOYING"
9318
9319	// EnvironmentStateRollingBack is a EnvironmentState enum value
9320	EnvironmentStateRollingBack = "ROLLING_BACK"
9321
9322	// EnvironmentStateRolledBack is a EnvironmentState enum value
9323	EnvironmentStateRolledBack = "ROLLED_BACK"
9324)
9325
9326// EnvironmentState_Values returns all elements of the EnvironmentState enum
9327func EnvironmentState_Values() []string {
9328	return []string{
9329		EnvironmentStateReadyForDeployment,
9330		EnvironmentStateDeploying,
9331		EnvironmentStateRollingBack,
9332		EnvironmentStateRolledBack,
9333	}
9334}
9335
9336const (
9337	// GrowthTypeLinear is a GrowthType enum value
9338	GrowthTypeLinear = "LINEAR"
9339
9340	// GrowthTypeExponential is a GrowthType enum value
9341	GrowthTypeExponential = "EXPONENTIAL"
9342)
9343
9344// GrowthType_Values returns all elements of the GrowthType enum
9345func GrowthType_Values() []string {
9346	return []string{
9347		GrowthTypeLinear,
9348		GrowthTypeExponential,
9349	}
9350}
9351
9352const (
9353	// ReplicateToNone is a ReplicateTo enum value
9354	ReplicateToNone = "NONE"
9355
9356	// ReplicateToSsmDocument is a ReplicateTo enum value
9357	ReplicateToSsmDocument = "SSM_DOCUMENT"
9358)
9359
9360// ReplicateTo_Values returns all elements of the ReplicateTo enum
9361func ReplicateTo_Values() []string {
9362	return []string{
9363		ReplicateToNone,
9364		ReplicateToSsmDocument,
9365	}
9366}
9367
9368const (
9369	// TriggeredByUser is a TriggeredBy enum value
9370	TriggeredByUser = "USER"
9371
9372	// TriggeredByAppconfig is a TriggeredBy enum value
9373	TriggeredByAppconfig = "APPCONFIG"
9374
9375	// TriggeredByCloudwatchAlarm is a TriggeredBy enum value
9376	TriggeredByCloudwatchAlarm = "CLOUDWATCH_ALARM"
9377
9378	// TriggeredByInternalError is a TriggeredBy enum value
9379	TriggeredByInternalError = "INTERNAL_ERROR"
9380)
9381
9382// TriggeredBy_Values returns all elements of the TriggeredBy enum
9383func TriggeredBy_Values() []string {
9384	return []string{
9385		TriggeredByUser,
9386		TriggeredByAppconfig,
9387		TriggeredByCloudwatchAlarm,
9388		TriggeredByInternalError,
9389	}
9390}
9391
9392const (
9393	// ValidatorTypeJsonSchema is a ValidatorType enum value
9394	ValidatorTypeJsonSchema = "JSON_SCHEMA"
9395
9396	// ValidatorTypeLambda is a ValidatorType enum value
9397	ValidatorTypeLambda = "LAMBDA"
9398)
9399
9400// ValidatorType_Values returns all elements of the ValidatorType enum
9401func ValidatorType_Values() []string {
9402	return []string{
9403		ValidatorTypeJsonSchema,
9404		ValidatorTypeLambda,
9405	}
9406}
9407