1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package elasticbeanstalk
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/query"
14)
15
16const opAbortEnvironmentUpdate = "AbortEnvironmentUpdate"
17
18// AbortEnvironmentUpdateRequest generates a "aws/request.Request" representing the
19// client's request for the AbortEnvironmentUpdate 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 AbortEnvironmentUpdate for more information on using the AbortEnvironmentUpdate
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 AbortEnvironmentUpdateRequest method.
34//    req, resp := client.AbortEnvironmentUpdateRequest(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/elasticbeanstalk-2010-12-01/AbortEnvironmentUpdate
42func (c *ElasticBeanstalk) AbortEnvironmentUpdateRequest(input *AbortEnvironmentUpdateInput) (req *request.Request, output *AbortEnvironmentUpdateOutput) {
43	op := &request.Operation{
44		Name:       opAbortEnvironmentUpdate,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AbortEnvironmentUpdateInput{}
51	}
52
53	output = &AbortEnvironmentUpdateOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AbortEnvironmentUpdate API operation for AWS Elastic Beanstalk.
60//
61// Cancels in-progress environment configuration update or application version
62// deployment.
63//
64// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
65// with awserr.Error's Code and Message methods to get detailed information about
66// the error.
67//
68// See the AWS API reference guide for AWS Elastic Beanstalk's
69// API operation AbortEnvironmentUpdate for usage and error information.
70//
71// Returned Error Codes:
72//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
73//   The specified account does not have sufficient privileges for one or more
74//   AWS services.
75//
76// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/AbortEnvironmentUpdate
77func (c *ElasticBeanstalk) AbortEnvironmentUpdate(input *AbortEnvironmentUpdateInput) (*AbortEnvironmentUpdateOutput, error) {
78	req, out := c.AbortEnvironmentUpdateRequest(input)
79	return out, req.Send()
80}
81
82// AbortEnvironmentUpdateWithContext is the same as AbortEnvironmentUpdate with the addition of
83// the ability to pass a context and additional request options.
84//
85// See AbortEnvironmentUpdate for details on how to use this API operation.
86//
87// The context must be non-nil and will be used for request cancellation. If
88// the context is nil a panic will occur. In the future the SDK may create
89// sub-contexts for http.Requests. See https://golang.org/pkg/context/
90// for more information on using Contexts.
91func (c *ElasticBeanstalk) AbortEnvironmentUpdateWithContext(ctx aws.Context, input *AbortEnvironmentUpdateInput, opts ...request.Option) (*AbortEnvironmentUpdateOutput, error) {
92	req, out := c.AbortEnvironmentUpdateRequest(input)
93	req.SetContext(ctx)
94	req.ApplyOptions(opts...)
95	return out, req.Send()
96}
97
98const opApplyEnvironmentManagedAction = "ApplyEnvironmentManagedAction"
99
100// ApplyEnvironmentManagedActionRequest generates a "aws/request.Request" representing the
101// client's request for the ApplyEnvironmentManagedAction operation. The "output" return
102// value will be populated with the request's response once the request completes
103// successfully.
104//
105// Use "Send" method on the returned Request to send the API call to the service.
106// the "output" return value is not valid until after Send returns without error.
107//
108// See ApplyEnvironmentManagedAction for more information on using the ApplyEnvironmentManagedAction
109// API call, and error handling.
110//
111// This method is useful when you want to inject custom logic or configuration
112// into the SDK's request lifecycle. Such as custom headers, or retry logic.
113//
114//
115//    // Example sending a request using the ApplyEnvironmentManagedActionRequest method.
116//    req, resp := client.ApplyEnvironmentManagedActionRequest(params)
117//
118//    err := req.Send()
119//    if err == nil { // resp is now filled
120//        fmt.Println(resp)
121//    }
122//
123// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ApplyEnvironmentManagedAction
124func (c *ElasticBeanstalk) ApplyEnvironmentManagedActionRequest(input *ApplyEnvironmentManagedActionInput) (req *request.Request, output *ApplyEnvironmentManagedActionOutput) {
125	op := &request.Operation{
126		Name:       opApplyEnvironmentManagedAction,
127		HTTPMethod: "POST",
128		HTTPPath:   "/",
129	}
130
131	if input == nil {
132		input = &ApplyEnvironmentManagedActionInput{}
133	}
134
135	output = &ApplyEnvironmentManagedActionOutput{}
136	req = c.newRequest(op, input, output)
137	return
138}
139
140// ApplyEnvironmentManagedAction API operation for AWS Elastic Beanstalk.
141//
142// Applies a scheduled managed action immediately. A managed action can be applied
143// only if its status is Scheduled. Get the status and action ID of a managed
144// action with DescribeEnvironmentManagedActions.
145//
146// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
147// with awserr.Error's Code and Message methods to get detailed information about
148// the error.
149//
150// See the AWS API reference guide for AWS Elastic Beanstalk's
151// API operation ApplyEnvironmentManagedAction for usage and error information.
152//
153// Returned Error Codes:
154//   * ErrCodeServiceException "ElasticBeanstalkServiceException"
155//   A generic service exception has occurred.
156//
157//   * ErrCodeManagedActionInvalidStateException "ManagedActionInvalidStateException"
158//   Cannot modify the managed action in its current state.
159//
160// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ApplyEnvironmentManagedAction
161func (c *ElasticBeanstalk) ApplyEnvironmentManagedAction(input *ApplyEnvironmentManagedActionInput) (*ApplyEnvironmentManagedActionOutput, error) {
162	req, out := c.ApplyEnvironmentManagedActionRequest(input)
163	return out, req.Send()
164}
165
166// ApplyEnvironmentManagedActionWithContext is the same as ApplyEnvironmentManagedAction with the addition of
167// the ability to pass a context and additional request options.
168//
169// See ApplyEnvironmentManagedAction for details on how to use this API operation.
170//
171// The context must be non-nil and will be used for request cancellation. If
172// the context is nil a panic will occur. In the future the SDK may create
173// sub-contexts for http.Requests. See https://golang.org/pkg/context/
174// for more information on using Contexts.
175func (c *ElasticBeanstalk) ApplyEnvironmentManagedActionWithContext(ctx aws.Context, input *ApplyEnvironmentManagedActionInput, opts ...request.Option) (*ApplyEnvironmentManagedActionOutput, error) {
176	req, out := c.ApplyEnvironmentManagedActionRequest(input)
177	req.SetContext(ctx)
178	req.ApplyOptions(opts...)
179	return out, req.Send()
180}
181
182const opCheckDNSAvailability = "CheckDNSAvailability"
183
184// CheckDNSAvailabilityRequest generates a "aws/request.Request" representing the
185// client's request for the CheckDNSAvailability operation. The "output" return
186// value will be populated with the request's response once the request completes
187// successfully.
188//
189// Use "Send" method on the returned Request to send the API call to the service.
190// the "output" return value is not valid until after Send returns without error.
191//
192// See CheckDNSAvailability for more information on using the CheckDNSAvailability
193// API call, and error handling.
194//
195// This method is useful when you want to inject custom logic or configuration
196// into the SDK's request lifecycle. Such as custom headers, or retry logic.
197//
198//
199//    // Example sending a request using the CheckDNSAvailabilityRequest method.
200//    req, resp := client.CheckDNSAvailabilityRequest(params)
201//
202//    err := req.Send()
203//    if err == nil { // resp is now filled
204//        fmt.Println(resp)
205//    }
206//
207// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CheckDNSAvailability
208func (c *ElasticBeanstalk) CheckDNSAvailabilityRequest(input *CheckDNSAvailabilityInput) (req *request.Request, output *CheckDNSAvailabilityOutput) {
209	op := &request.Operation{
210		Name:       opCheckDNSAvailability,
211		HTTPMethod: "POST",
212		HTTPPath:   "/",
213	}
214
215	if input == nil {
216		input = &CheckDNSAvailabilityInput{}
217	}
218
219	output = &CheckDNSAvailabilityOutput{}
220	req = c.newRequest(op, input, output)
221	return
222}
223
224// CheckDNSAvailability API operation for AWS Elastic Beanstalk.
225//
226// Checks if the specified CNAME is available.
227//
228// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
229// with awserr.Error's Code and Message methods to get detailed information about
230// the error.
231//
232// See the AWS API reference guide for AWS Elastic Beanstalk's
233// API operation CheckDNSAvailability for usage and error information.
234// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CheckDNSAvailability
235func (c *ElasticBeanstalk) CheckDNSAvailability(input *CheckDNSAvailabilityInput) (*CheckDNSAvailabilityOutput, error) {
236	req, out := c.CheckDNSAvailabilityRequest(input)
237	return out, req.Send()
238}
239
240// CheckDNSAvailabilityWithContext is the same as CheckDNSAvailability with the addition of
241// the ability to pass a context and additional request options.
242//
243// See CheckDNSAvailability for details on how to use this API operation.
244//
245// The context must be non-nil and will be used for request cancellation. If
246// the context is nil a panic will occur. In the future the SDK may create
247// sub-contexts for http.Requests. See https://golang.org/pkg/context/
248// for more information on using Contexts.
249func (c *ElasticBeanstalk) CheckDNSAvailabilityWithContext(ctx aws.Context, input *CheckDNSAvailabilityInput, opts ...request.Option) (*CheckDNSAvailabilityOutput, error) {
250	req, out := c.CheckDNSAvailabilityRequest(input)
251	req.SetContext(ctx)
252	req.ApplyOptions(opts...)
253	return out, req.Send()
254}
255
256const opComposeEnvironments = "ComposeEnvironments"
257
258// ComposeEnvironmentsRequest generates a "aws/request.Request" representing the
259// client's request for the ComposeEnvironments operation. The "output" return
260// value will be populated with the request's response once the request completes
261// successfully.
262//
263// Use "Send" method on the returned Request to send the API call to the service.
264// the "output" return value is not valid until after Send returns without error.
265//
266// See ComposeEnvironments for more information on using the ComposeEnvironments
267// API call, and error handling.
268//
269// This method is useful when you want to inject custom logic or configuration
270// into the SDK's request lifecycle. Such as custom headers, or retry logic.
271//
272//
273//    // Example sending a request using the ComposeEnvironmentsRequest method.
274//    req, resp := client.ComposeEnvironmentsRequest(params)
275//
276//    err := req.Send()
277//    if err == nil { // resp is now filled
278//        fmt.Println(resp)
279//    }
280//
281// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ComposeEnvironments
282func (c *ElasticBeanstalk) ComposeEnvironmentsRequest(input *ComposeEnvironmentsInput) (req *request.Request, output *EnvironmentDescriptionsMessage) {
283	op := &request.Operation{
284		Name:       opComposeEnvironments,
285		HTTPMethod: "POST",
286		HTTPPath:   "/",
287	}
288
289	if input == nil {
290		input = &ComposeEnvironmentsInput{}
291	}
292
293	output = &EnvironmentDescriptionsMessage{}
294	req = c.newRequest(op, input, output)
295	return
296}
297
298// ComposeEnvironments API operation for AWS Elastic Beanstalk.
299//
300// Create or update a group of environments that each run a separate component
301// of a single application. Takes a list of version labels that specify application
302// source bundles for each of the environments to create or update. The name
303// of each environment and other required information must be included in the
304// source bundles in an environment manifest named env.yaml. See Compose Environments
305// (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-mgmt-compose.html)
306// for details.
307//
308// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
309// with awserr.Error's Code and Message methods to get detailed information about
310// the error.
311//
312// See the AWS API reference guide for AWS Elastic Beanstalk's
313// API operation ComposeEnvironments for usage and error information.
314//
315// Returned Error Codes:
316//   * ErrCodeTooManyEnvironmentsException "TooManyEnvironmentsException"
317//   The specified account has reached its limit of environments.
318//
319//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
320//   The specified account does not have sufficient privileges for one or more
321//   AWS services.
322//
323// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ComposeEnvironments
324func (c *ElasticBeanstalk) ComposeEnvironments(input *ComposeEnvironmentsInput) (*EnvironmentDescriptionsMessage, error) {
325	req, out := c.ComposeEnvironmentsRequest(input)
326	return out, req.Send()
327}
328
329// ComposeEnvironmentsWithContext is the same as ComposeEnvironments with the addition of
330// the ability to pass a context and additional request options.
331//
332// See ComposeEnvironments for details on how to use this API operation.
333//
334// The context must be non-nil and will be used for request cancellation. If
335// the context is nil a panic will occur. In the future the SDK may create
336// sub-contexts for http.Requests. See https://golang.org/pkg/context/
337// for more information on using Contexts.
338func (c *ElasticBeanstalk) ComposeEnvironmentsWithContext(ctx aws.Context, input *ComposeEnvironmentsInput, opts ...request.Option) (*EnvironmentDescriptionsMessage, error) {
339	req, out := c.ComposeEnvironmentsRequest(input)
340	req.SetContext(ctx)
341	req.ApplyOptions(opts...)
342	return out, req.Send()
343}
344
345const opCreateApplication = "CreateApplication"
346
347// CreateApplicationRequest generates a "aws/request.Request" representing the
348// client's request for the CreateApplication operation. The "output" return
349// value will be populated with the request's response once the request completes
350// successfully.
351//
352// Use "Send" method on the returned Request to send the API call to the service.
353// the "output" return value is not valid until after Send returns without error.
354//
355// See CreateApplication for more information on using the CreateApplication
356// API call, and error handling.
357//
358// This method is useful when you want to inject custom logic or configuration
359// into the SDK's request lifecycle. Such as custom headers, or retry logic.
360//
361//
362//    // Example sending a request using the CreateApplicationRequest method.
363//    req, resp := client.CreateApplicationRequest(params)
364//
365//    err := req.Send()
366//    if err == nil { // resp is now filled
367//        fmt.Println(resp)
368//    }
369//
370// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateApplication
371func (c *ElasticBeanstalk) CreateApplicationRequest(input *CreateApplicationInput) (req *request.Request, output *ApplicationDescriptionMessage) {
372	op := &request.Operation{
373		Name:       opCreateApplication,
374		HTTPMethod: "POST",
375		HTTPPath:   "/",
376	}
377
378	if input == nil {
379		input = &CreateApplicationInput{}
380	}
381
382	output = &ApplicationDescriptionMessage{}
383	req = c.newRequest(op, input, output)
384	return
385}
386
387// CreateApplication API operation for AWS Elastic Beanstalk.
388//
389// Creates an application that has one configuration template named default
390// and no application versions.
391//
392// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
393// with awserr.Error's Code and Message methods to get detailed information about
394// the error.
395//
396// See the AWS API reference guide for AWS Elastic Beanstalk's
397// API operation CreateApplication for usage and error information.
398//
399// Returned Error Codes:
400//   * ErrCodeTooManyApplicationsException "TooManyApplicationsException"
401//   The specified account has reached its limit of applications.
402//
403// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateApplication
404func (c *ElasticBeanstalk) CreateApplication(input *CreateApplicationInput) (*ApplicationDescriptionMessage, error) {
405	req, out := c.CreateApplicationRequest(input)
406	return out, req.Send()
407}
408
409// CreateApplicationWithContext is the same as CreateApplication with the addition of
410// the ability to pass a context and additional request options.
411//
412// See CreateApplication for details on how to use this API operation.
413//
414// The context must be non-nil and will be used for request cancellation. If
415// the context is nil a panic will occur. In the future the SDK may create
416// sub-contexts for http.Requests. See https://golang.org/pkg/context/
417// for more information on using Contexts.
418func (c *ElasticBeanstalk) CreateApplicationWithContext(ctx aws.Context, input *CreateApplicationInput, opts ...request.Option) (*ApplicationDescriptionMessage, error) {
419	req, out := c.CreateApplicationRequest(input)
420	req.SetContext(ctx)
421	req.ApplyOptions(opts...)
422	return out, req.Send()
423}
424
425const opCreateApplicationVersion = "CreateApplicationVersion"
426
427// CreateApplicationVersionRequest generates a "aws/request.Request" representing the
428// client's request for the CreateApplicationVersion operation. The "output" return
429// value will be populated with the request's response once the request completes
430// successfully.
431//
432// Use "Send" method on the returned Request to send the API call to the service.
433// the "output" return value is not valid until after Send returns without error.
434//
435// See CreateApplicationVersion for more information on using the CreateApplicationVersion
436// API call, and error handling.
437//
438// This method is useful when you want to inject custom logic or configuration
439// into the SDK's request lifecycle. Such as custom headers, or retry logic.
440//
441//
442//    // Example sending a request using the CreateApplicationVersionRequest method.
443//    req, resp := client.CreateApplicationVersionRequest(params)
444//
445//    err := req.Send()
446//    if err == nil { // resp is now filled
447//        fmt.Println(resp)
448//    }
449//
450// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateApplicationVersion
451func (c *ElasticBeanstalk) CreateApplicationVersionRequest(input *CreateApplicationVersionInput) (req *request.Request, output *ApplicationVersionDescriptionMessage) {
452	op := &request.Operation{
453		Name:       opCreateApplicationVersion,
454		HTTPMethod: "POST",
455		HTTPPath:   "/",
456	}
457
458	if input == nil {
459		input = &CreateApplicationVersionInput{}
460	}
461
462	output = &ApplicationVersionDescriptionMessage{}
463	req = c.newRequest(op, input, output)
464	return
465}
466
467// CreateApplicationVersion API operation for AWS Elastic Beanstalk.
468//
469// Creates an application version for the specified application. You can create
470// an application version from a source bundle in Amazon S3, a commit in AWS
471// CodeCommit, or the output of an AWS CodeBuild build as follows:
472//
473// Specify a commit in an AWS CodeCommit repository with SourceBuildInformation.
474//
475// Specify a build in an AWS CodeBuild with SourceBuildInformation and BuildConfiguration.
476//
477// Specify a source bundle in S3 with SourceBundle
478//
479// Omit both SourceBuildInformation and SourceBundle to use the default sample
480// application.
481//
482// Once you create an application version with a specified Amazon S3 bucket
483// and key location, you cannot change that Amazon S3 location. If you change
484// the Amazon S3 location, you receive an exception when you attempt to launch
485// an environment from the application version.
486//
487// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
488// with awserr.Error's Code and Message methods to get detailed information about
489// the error.
490//
491// See the AWS API reference guide for AWS Elastic Beanstalk's
492// API operation CreateApplicationVersion for usage and error information.
493//
494// Returned Error Codes:
495//   * ErrCodeTooManyApplicationsException "TooManyApplicationsException"
496//   The specified account has reached its limit of applications.
497//
498//   * ErrCodeTooManyApplicationVersionsException "TooManyApplicationVersionsException"
499//   The specified account has reached its limit of application versions.
500//
501//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
502//   The specified account does not have sufficient privileges for one or more
503//   AWS services.
504//
505//   * ErrCodeS3LocationNotInServiceRegionException "S3LocationNotInServiceRegionException"
506//   The specified S3 bucket does not belong to the S3 region in which the service
507//   is running. The following regions are supported:
508//
509//      * IAD/us-east-1
510//
511//      * PDX/us-west-2
512//
513//      * DUB/eu-west-1
514//
515//   * ErrCodeCodeBuildNotInServiceRegionException "CodeBuildNotInServiceRegionException"
516//   AWS CodeBuild is not available in the specified region.
517//
518// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateApplicationVersion
519func (c *ElasticBeanstalk) CreateApplicationVersion(input *CreateApplicationVersionInput) (*ApplicationVersionDescriptionMessage, error) {
520	req, out := c.CreateApplicationVersionRequest(input)
521	return out, req.Send()
522}
523
524// CreateApplicationVersionWithContext is the same as CreateApplicationVersion with the addition of
525// the ability to pass a context and additional request options.
526//
527// See CreateApplicationVersion for details on how to use this API operation.
528//
529// The context must be non-nil and will be used for request cancellation. If
530// the context is nil a panic will occur. In the future the SDK may create
531// sub-contexts for http.Requests. See https://golang.org/pkg/context/
532// for more information on using Contexts.
533func (c *ElasticBeanstalk) CreateApplicationVersionWithContext(ctx aws.Context, input *CreateApplicationVersionInput, opts ...request.Option) (*ApplicationVersionDescriptionMessage, error) {
534	req, out := c.CreateApplicationVersionRequest(input)
535	req.SetContext(ctx)
536	req.ApplyOptions(opts...)
537	return out, req.Send()
538}
539
540const opCreateConfigurationTemplate = "CreateConfigurationTemplate"
541
542// CreateConfigurationTemplateRequest generates a "aws/request.Request" representing the
543// client's request for the CreateConfigurationTemplate operation. The "output" return
544// value will be populated with the request's response once the request completes
545// successfully.
546//
547// Use "Send" method on the returned Request to send the API call to the service.
548// the "output" return value is not valid until after Send returns without error.
549//
550// See CreateConfigurationTemplate for more information on using the CreateConfigurationTemplate
551// API call, and error handling.
552//
553// This method is useful when you want to inject custom logic or configuration
554// into the SDK's request lifecycle. Such as custom headers, or retry logic.
555//
556//
557//    // Example sending a request using the CreateConfigurationTemplateRequest method.
558//    req, resp := client.CreateConfigurationTemplateRequest(params)
559//
560//    err := req.Send()
561//    if err == nil { // resp is now filled
562//        fmt.Println(resp)
563//    }
564//
565// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateConfigurationTemplate
566func (c *ElasticBeanstalk) CreateConfigurationTemplateRequest(input *CreateConfigurationTemplateInput) (req *request.Request, output *ConfigurationSettingsDescription) {
567	op := &request.Operation{
568		Name:       opCreateConfigurationTemplate,
569		HTTPMethod: "POST",
570		HTTPPath:   "/",
571	}
572
573	if input == nil {
574		input = &CreateConfigurationTemplateInput{}
575	}
576
577	output = &ConfigurationSettingsDescription{}
578	req = c.newRequest(op, input, output)
579	return
580}
581
582// CreateConfigurationTemplate API operation for AWS Elastic Beanstalk.
583//
584// Creates a configuration template. Templates are associated with a specific
585// application and are used to deploy different versions of the application
586// with the same configuration settings.
587//
588// Templates aren't associated with any environment. The EnvironmentName response
589// element is always null.
590//
591// Related Topics
592//
593//    * DescribeConfigurationOptions
594//
595//    * DescribeConfigurationSettings
596//
597//    * ListAvailableSolutionStacks
598//
599// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
600// with awserr.Error's Code and Message methods to get detailed information about
601// the error.
602//
603// See the AWS API reference guide for AWS Elastic Beanstalk's
604// API operation CreateConfigurationTemplate for usage and error information.
605//
606// Returned Error Codes:
607//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
608//   The specified account does not have sufficient privileges for one or more
609//   AWS services.
610//
611//   * ErrCodeTooManyBucketsException "TooManyBucketsException"
612//   The specified account has reached its limit of Amazon S3 buckets.
613//
614//   * ErrCodeTooManyConfigurationTemplatesException "TooManyConfigurationTemplatesException"
615//   The specified account has reached its limit of configuration templates.
616//
617// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateConfigurationTemplate
618func (c *ElasticBeanstalk) CreateConfigurationTemplate(input *CreateConfigurationTemplateInput) (*ConfigurationSettingsDescription, error) {
619	req, out := c.CreateConfigurationTemplateRequest(input)
620	return out, req.Send()
621}
622
623// CreateConfigurationTemplateWithContext is the same as CreateConfigurationTemplate with the addition of
624// the ability to pass a context and additional request options.
625//
626// See CreateConfigurationTemplate for details on how to use this API operation.
627//
628// The context must be non-nil and will be used for request cancellation. If
629// the context is nil a panic will occur. In the future the SDK may create
630// sub-contexts for http.Requests. See https://golang.org/pkg/context/
631// for more information on using Contexts.
632func (c *ElasticBeanstalk) CreateConfigurationTemplateWithContext(ctx aws.Context, input *CreateConfigurationTemplateInput, opts ...request.Option) (*ConfigurationSettingsDescription, error) {
633	req, out := c.CreateConfigurationTemplateRequest(input)
634	req.SetContext(ctx)
635	req.ApplyOptions(opts...)
636	return out, req.Send()
637}
638
639const opCreateEnvironment = "CreateEnvironment"
640
641// CreateEnvironmentRequest generates a "aws/request.Request" representing the
642// client's request for the CreateEnvironment operation. The "output" return
643// value will be populated with the request's response once the request completes
644// successfully.
645//
646// Use "Send" method on the returned Request to send the API call to the service.
647// the "output" return value is not valid until after Send returns without error.
648//
649// See CreateEnvironment for more information on using the CreateEnvironment
650// API call, and error handling.
651//
652// This method is useful when you want to inject custom logic or configuration
653// into the SDK's request lifecycle. Such as custom headers, or retry logic.
654//
655//
656//    // Example sending a request using the CreateEnvironmentRequest method.
657//    req, resp := client.CreateEnvironmentRequest(params)
658//
659//    err := req.Send()
660//    if err == nil { // resp is now filled
661//        fmt.Println(resp)
662//    }
663//
664// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateEnvironment
665func (c *ElasticBeanstalk) CreateEnvironmentRequest(input *CreateEnvironmentInput) (req *request.Request, output *EnvironmentDescription) {
666	op := &request.Operation{
667		Name:       opCreateEnvironment,
668		HTTPMethod: "POST",
669		HTTPPath:   "/",
670	}
671
672	if input == nil {
673		input = &CreateEnvironmentInput{}
674	}
675
676	output = &EnvironmentDescription{}
677	req = c.newRequest(op, input, output)
678	return
679}
680
681// CreateEnvironment API operation for AWS Elastic Beanstalk.
682//
683// Launches an environment for the specified application using the specified
684// configuration.
685//
686// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
687// with awserr.Error's Code and Message methods to get detailed information about
688// the error.
689//
690// See the AWS API reference guide for AWS Elastic Beanstalk's
691// API operation CreateEnvironment for usage and error information.
692//
693// Returned Error Codes:
694//   * ErrCodeTooManyEnvironmentsException "TooManyEnvironmentsException"
695//   The specified account has reached its limit of environments.
696//
697//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
698//   The specified account does not have sufficient privileges for one or more
699//   AWS services.
700//
701// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateEnvironment
702func (c *ElasticBeanstalk) CreateEnvironment(input *CreateEnvironmentInput) (*EnvironmentDescription, error) {
703	req, out := c.CreateEnvironmentRequest(input)
704	return out, req.Send()
705}
706
707// CreateEnvironmentWithContext is the same as CreateEnvironment with the addition of
708// the ability to pass a context and additional request options.
709//
710// See CreateEnvironment for details on how to use this API operation.
711//
712// The context must be non-nil and will be used for request cancellation. If
713// the context is nil a panic will occur. In the future the SDK may create
714// sub-contexts for http.Requests. See https://golang.org/pkg/context/
715// for more information on using Contexts.
716func (c *ElasticBeanstalk) CreateEnvironmentWithContext(ctx aws.Context, input *CreateEnvironmentInput, opts ...request.Option) (*EnvironmentDescription, error) {
717	req, out := c.CreateEnvironmentRequest(input)
718	req.SetContext(ctx)
719	req.ApplyOptions(opts...)
720	return out, req.Send()
721}
722
723const opCreatePlatformVersion = "CreatePlatformVersion"
724
725// CreatePlatformVersionRequest generates a "aws/request.Request" representing the
726// client's request for the CreatePlatformVersion operation. The "output" return
727// value will be populated with the request's response once the request completes
728// successfully.
729//
730// Use "Send" method on the returned Request to send the API call to the service.
731// the "output" return value is not valid until after Send returns without error.
732//
733// See CreatePlatformVersion for more information on using the CreatePlatformVersion
734// API call, and error handling.
735//
736// This method is useful when you want to inject custom logic or configuration
737// into the SDK's request lifecycle. Such as custom headers, or retry logic.
738//
739//
740//    // Example sending a request using the CreatePlatformVersionRequest method.
741//    req, resp := client.CreatePlatformVersionRequest(params)
742//
743//    err := req.Send()
744//    if err == nil { // resp is now filled
745//        fmt.Println(resp)
746//    }
747//
748// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreatePlatformVersion
749func (c *ElasticBeanstalk) CreatePlatformVersionRequest(input *CreatePlatformVersionInput) (req *request.Request, output *CreatePlatformVersionOutput) {
750	op := &request.Operation{
751		Name:       opCreatePlatformVersion,
752		HTTPMethod: "POST",
753		HTTPPath:   "/",
754	}
755
756	if input == nil {
757		input = &CreatePlatformVersionInput{}
758	}
759
760	output = &CreatePlatformVersionOutput{}
761	req = c.newRequest(op, input, output)
762	return
763}
764
765// CreatePlatformVersion API operation for AWS Elastic Beanstalk.
766//
767// Create a new version of your custom platform.
768//
769// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
770// with awserr.Error's Code and Message methods to get detailed information about
771// the error.
772//
773// See the AWS API reference guide for AWS Elastic Beanstalk's
774// API operation CreatePlatformVersion for usage and error information.
775//
776// Returned Error Codes:
777//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
778//   The specified account does not have sufficient privileges for one or more
779//   AWS services.
780//
781//   * ErrCodeServiceException "ElasticBeanstalkServiceException"
782//   A generic service exception has occurred.
783//
784//   * ErrCodeTooManyPlatformsException "TooManyPlatformsException"
785//   You have exceeded the maximum number of allowed platforms associated with
786//   the account.
787//
788// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreatePlatformVersion
789func (c *ElasticBeanstalk) CreatePlatformVersion(input *CreatePlatformVersionInput) (*CreatePlatformVersionOutput, error) {
790	req, out := c.CreatePlatformVersionRequest(input)
791	return out, req.Send()
792}
793
794// CreatePlatformVersionWithContext is the same as CreatePlatformVersion with the addition of
795// the ability to pass a context and additional request options.
796//
797// See CreatePlatformVersion for details on how to use this API operation.
798//
799// The context must be non-nil and will be used for request cancellation. If
800// the context is nil a panic will occur. In the future the SDK may create
801// sub-contexts for http.Requests. See https://golang.org/pkg/context/
802// for more information on using Contexts.
803func (c *ElasticBeanstalk) CreatePlatformVersionWithContext(ctx aws.Context, input *CreatePlatformVersionInput, opts ...request.Option) (*CreatePlatformVersionOutput, error) {
804	req, out := c.CreatePlatformVersionRequest(input)
805	req.SetContext(ctx)
806	req.ApplyOptions(opts...)
807	return out, req.Send()
808}
809
810const opCreateStorageLocation = "CreateStorageLocation"
811
812// CreateStorageLocationRequest generates a "aws/request.Request" representing the
813// client's request for the CreateStorageLocation operation. The "output" return
814// value will be populated with the request's response once the request completes
815// successfully.
816//
817// Use "Send" method on the returned Request to send the API call to the service.
818// the "output" return value is not valid until after Send returns without error.
819//
820// See CreateStorageLocation for more information on using the CreateStorageLocation
821// API call, and error handling.
822//
823// This method is useful when you want to inject custom logic or configuration
824// into the SDK's request lifecycle. Such as custom headers, or retry logic.
825//
826//
827//    // Example sending a request using the CreateStorageLocationRequest method.
828//    req, resp := client.CreateStorageLocationRequest(params)
829//
830//    err := req.Send()
831//    if err == nil { // resp is now filled
832//        fmt.Println(resp)
833//    }
834//
835// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateStorageLocation
836func (c *ElasticBeanstalk) CreateStorageLocationRequest(input *CreateStorageLocationInput) (req *request.Request, output *CreateStorageLocationOutput) {
837	op := &request.Operation{
838		Name:       opCreateStorageLocation,
839		HTTPMethod: "POST",
840		HTTPPath:   "/",
841	}
842
843	if input == nil {
844		input = &CreateStorageLocationInput{}
845	}
846
847	output = &CreateStorageLocationOutput{}
848	req = c.newRequest(op, input, output)
849	return
850}
851
852// CreateStorageLocation API operation for AWS Elastic Beanstalk.
853//
854// Creates a bucket in Amazon S3 to store application versions, logs, and other
855// files used by Elastic Beanstalk environments. The Elastic Beanstalk console
856// and EB CLI call this API the first time you create an environment in a region.
857// If the storage location already exists, CreateStorageLocation still returns
858// the bucket name but does not create a new bucket.
859//
860// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
861// with awserr.Error's Code and Message methods to get detailed information about
862// the error.
863//
864// See the AWS API reference guide for AWS Elastic Beanstalk's
865// API operation CreateStorageLocation for usage and error information.
866//
867// Returned Error Codes:
868//   * ErrCodeTooManyBucketsException "TooManyBucketsException"
869//   The specified account has reached its limit of Amazon S3 buckets.
870//
871//   * ErrCodeS3SubscriptionRequiredException "S3SubscriptionRequiredException"
872//   The specified account does not have a subscription to Amazon S3.
873//
874//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
875//   The specified account does not have sufficient privileges for one or more
876//   AWS services.
877//
878// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateStorageLocation
879func (c *ElasticBeanstalk) CreateStorageLocation(input *CreateStorageLocationInput) (*CreateStorageLocationOutput, error) {
880	req, out := c.CreateStorageLocationRequest(input)
881	return out, req.Send()
882}
883
884// CreateStorageLocationWithContext is the same as CreateStorageLocation with the addition of
885// the ability to pass a context and additional request options.
886//
887// See CreateStorageLocation for details on how to use this API operation.
888//
889// The context must be non-nil and will be used for request cancellation. If
890// the context is nil a panic will occur. In the future the SDK may create
891// sub-contexts for http.Requests. See https://golang.org/pkg/context/
892// for more information on using Contexts.
893func (c *ElasticBeanstalk) CreateStorageLocationWithContext(ctx aws.Context, input *CreateStorageLocationInput, opts ...request.Option) (*CreateStorageLocationOutput, error) {
894	req, out := c.CreateStorageLocationRequest(input)
895	req.SetContext(ctx)
896	req.ApplyOptions(opts...)
897	return out, req.Send()
898}
899
900const opDeleteApplication = "DeleteApplication"
901
902// DeleteApplicationRequest generates a "aws/request.Request" representing the
903// client's request for the DeleteApplication operation. The "output" return
904// value will be populated with the request's response once the request completes
905// successfully.
906//
907// Use "Send" method on the returned Request to send the API call to the service.
908// the "output" return value is not valid until after Send returns without error.
909//
910// See DeleteApplication for more information on using the DeleteApplication
911// API call, and error handling.
912//
913// This method is useful when you want to inject custom logic or configuration
914// into the SDK's request lifecycle. Such as custom headers, or retry logic.
915//
916//
917//    // Example sending a request using the DeleteApplicationRequest method.
918//    req, resp := client.DeleteApplicationRequest(params)
919//
920//    err := req.Send()
921//    if err == nil { // resp is now filled
922//        fmt.Println(resp)
923//    }
924//
925// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeleteApplication
926func (c *ElasticBeanstalk) DeleteApplicationRequest(input *DeleteApplicationInput) (req *request.Request, output *DeleteApplicationOutput) {
927	op := &request.Operation{
928		Name:       opDeleteApplication,
929		HTTPMethod: "POST",
930		HTTPPath:   "/",
931	}
932
933	if input == nil {
934		input = &DeleteApplicationInput{}
935	}
936
937	output = &DeleteApplicationOutput{}
938	req = c.newRequest(op, input, output)
939	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
940	return
941}
942
943// DeleteApplication API operation for AWS Elastic Beanstalk.
944//
945// Deletes the specified application along with all associated versions and
946// configurations. The application versions will not be deleted from your Amazon
947// S3 bucket.
948//
949// You cannot delete an application that has a running environment.
950//
951// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
952// with awserr.Error's Code and Message methods to get detailed information about
953// the error.
954//
955// See the AWS API reference guide for AWS Elastic Beanstalk's
956// API operation DeleteApplication for usage and error information.
957//
958// Returned Error Codes:
959//   * ErrCodeOperationInProgressException "OperationInProgressFailure"
960//   Unable to perform the specified operation because another operation that
961//   effects an element in this activity is already in progress.
962//
963// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeleteApplication
964func (c *ElasticBeanstalk) DeleteApplication(input *DeleteApplicationInput) (*DeleteApplicationOutput, error) {
965	req, out := c.DeleteApplicationRequest(input)
966	return out, req.Send()
967}
968
969// DeleteApplicationWithContext is the same as DeleteApplication with the addition of
970// the ability to pass a context and additional request options.
971//
972// See DeleteApplication for details on how to use this API operation.
973//
974// The context must be non-nil and will be used for request cancellation. If
975// the context is nil a panic will occur. In the future the SDK may create
976// sub-contexts for http.Requests. See https://golang.org/pkg/context/
977// for more information on using Contexts.
978func (c *ElasticBeanstalk) DeleteApplicationWithContext(ctx aws.Context, input *DeleteApplicationInput, opts ...request.Option) (*DeleteApplicationOutput, error) {
979	req, out := c.DeleteApplicationRequest(input)
980	req.SetContext(ctx)
981	req.ApplyOptions(opts...)
982	return out, req.Send()
983}
984
985const opDeleteApplicationVersion = "DeleteApplicationVersion"
986
987// DeleteApplicationVersionRequest generates a "aws/request.Request" representing the
988// client's request for the DeleteApplicationVersion operation. The "output" return
989// value will be populated with the request's response once the request completes
990// successfully.
991//
992// Use "Send" method on the returned Request to send the API call to the service.
993// the "output" return value is not valid until after Send returns without error.
994//
995// See DeleteApplicationVersion for more information on using the DeleteApplicationVersion
996// API call, and error handling.
997//
998// This method is useful when you want to inject custom logic or configuration
999// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1000//
1001//
1002//    // Example sending a request using the DeleteApplicationVersionRequest method.
1003//    req, resp := client.DeleteApplicationVersionRequest(params)
1004//
1005//    err := req.Send()
1006//    if err == nil { // resp is now filled
1007//        fmt.Println(resp)
1008//    }
1009//
1010// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeleteApplicationVersion
1011func (c *ElasticBeanstalk) DeleteApplicationVersionRequest(input *DeleteApplicationVersionInput) (req *request.Request, output *DeleteApplicationVersionOutput) {
1012	op := &request.Operation{
1013		Name:       opDeleteApplicationVersion,
1014		HTTPMethod: "POST",
1015		HTTPPath:   "/",
1016	}
1017
1018	if input == nil {
1019		input = &DeleteApplicationVersionInput{}
1020	}
1021
1022	output = &DeleteApplicationVersionOutput{}
1023	req = c.newRequest(op, input, output)
1024	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1025	return
1026}
1027
1028// DeleteApplicationVersion API operation for AWS Elastic Beanstalk.
1029//
1030// Deletes the specified version from the specified application.
1031//
1032// You cannot delete an application version that is associated with a running
1033// environment.
1034//
1035// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1036// with awserr.Error's Code and Message methods to get detailed information about
1037// the error.
1038//
1039// See the AWS API reference guide for AWS Elastic Beanstalk's
1040// API operation DeleteApplicationVersion for usage and error information.
1041//
1042// Returned Error Codes:
1043//   * ErrCodeSourceBundleDeletionException "SourceBundleDeletionFailure"
1044//   Unable to delete the Amazon S3 source bundle associated with the application
1045//   version. The application version was deleted successfully.
1046//
1047//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
1048//   The specified account does not have sufficient privileges for one or more
1049//   AWS services.
1050//
1051//   * ErrCodeOperationInProgressException "OperationInProgressFailure"
1052//   Unable to perform the specified operation because another operation that
1053//   effects an element in this activity is already in progress.
1054//
1055//   * ErrCodeS3LocationNotInServiceRegionException "S3LocationNotInServiceRegionException"
1056//   The specified S3 bucket does not belong to the S3 region in which the service
1057//   is running. The following regions are supported:
1058//
1059//      * IAD/us-east-1
1060//
1061//      * PDX/us-west-2
1062//
1063//      * DUB/eu-west-1
1064//
1065// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeleteApplicationVersion
1066func (c *ElasticBeanstalk) DeleteApplicationVersion(input *DeleteApplicationVersionInput) (*DeleteApplicationVersionOutput, error) {
1067	req, out := c.DeleteApplicationVersionRequest(input)
1068	return out, req.Send()
1069}
1070
1071// DeleteApplicationVersionWithContext is the same as DeleteApplicationVersion with the addition of
1072// the ability to pass a context and additional request options.
1073//
1074// See DeleteApplicationVersion for details on how to use this API operation.
1075//
1076// The context must be non-nil and will be used for request cancellation. If
1077// the context is nil a panic will occur. In the future the SDK may create
1078// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1079// for more information on using Contexts.
1080func (c *ElasticBeanstalk) DeleteApplicationVersionWithContext(ctx aws.Context, input *DeleteApplicationVersionInput, opts ...request.Option) (*DeleteApplicationVersionOutput, error) {
1081	req, out := c.DeleteApplicationVersionRequest(input)
1082	req.SetContext(ctx)
1083	req.ApplyOptions(opts...)
1084	return out, req.Send()
1085}
1086
1087const opDeleteConfigurationTemplate = "DeleteConfigurationTemplate"
1088
1089// DeleteConfigurationTemplateRequest generates a "aws/request.Request" representing the
1090// client's request for the DeleteConfigurationTemplate operation. The "output" return
1091// value will be populated with the request's response once the request completes
1092// successfully.
1093//
1094// Use "Send" method on the returned Request to send the API call to the service.
1095// the "output" return value is not valid until after Send returns without error.
1096//
1097// See DeleteConfigurationTemplate for more information on using the DeleteConfigurationTemplate
1098// API call, and error handling.
1099//
1100// This method is useful when you want to inject custom logic or configuration
1101// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1102//
1103//
1104//    // Example sending a request using the DeleteConfigurationTemplateRequest method.
1105//    req, resp := client.DeleteConfigurationTemplateRequest(params)
1106//
1107//    err := req.Send()
1108//    if err == nil { // resp is now filled
1109//        fmt.Println(resp)
1110//    }
1111//
1112// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeleteConfigurationTemplate
1113func (c *ElasticBeanstalk) DeleteConfigurationTemplateRequest(input *DeleteConfigurationTemplateInput) (req *request.Request, output *DeleteConfigurationTemplateOutput) {
1114	op := &request.Operation{
1115		Name:       opDeleteConfigurationTemplate,
1116		HTTPMethod: "POST",
1117		HTTPPath:   "/",
1118	}
1119
1120	if input == nil {
1121		input = &DeleteConfigurationTemplateInput{}
1122	}
1123
1124	output = &DeleteConfigurationTemplateOutput{}
1125	req = c.newRequest(op, input, output)
1126	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1127	return
1128}
1129
1130// DeleteConfigurationTemplate API operation for AWS Elastic Beanstalk.
1131//
1132// Deletes the specified configuration template.
1133//
1134// When you launch an environment using a configuration template, the environment
1135// gets a copy of the template. You can delete or modify the environment's copy
1136// of the template without affecting the running environment.
1137//
1138// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1139// with awserr.Error's Code and Message methods to get detailed information about
1140// the error.
1141//
1142// See the AWS API reference guide for AWS Elastic Beanstalk's
1143// API operation DeleteConfigurationTemplate for usage and error information.
1144//
1145// Returned Error Codes:
1146//   * ErrCodeOperationInProgressException "OperationInProgressFailure"
1147//   Unable to perform the specified operation because another operation that
1148//   effects an element in this activity is already in progress.
1149//
1150// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeleteConfigurationTemplate
1151func (c *ElasticBeanstalk) DeleteConfigurationTemplate(input *DeleteConfigurationTemplateInput) (*DeleteConfigurationTemplateOutput, error) {
1152	req, out := c.DeleteConfigurationTemplateRequest(input)
1153	return out, req.Send()
1154}
1155
1156// DeleteConfigurationTemplateWithContext is the same as DeleteConfigurationTemplate with the addition of
1157// the ability to pass a context and additional request options.
1158//
1159// See DeleteConfigurationTemplate for details on how to use this API operation.
1160//
1161// The context must be non-nil and will be used for request cancellation. If
1162// the context is nil a panic will occur. In the future the SDK may create
1163// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1164// for more information on using Contexts.
1165func (c *ElasticBeanstalk) DeleteConfigurationTemplateWithContext(ctx aws.Context, input *DeleteConfigurationTemplateInput, opts ...request.Option) (*DeleteConfigurationTemplateOutput, error) {
1166	req, out := c.DeleteConfigurationTemplateRequest(input)
1167	req.SetContext(ctx)
1168	req.ApplyOptions(opts...)
1169	return out, req.Send()
1170}
1171
1172const opDeleteEnvironmentConfiguration = "DeleteEnvironmentConfiguration"
1173
1174// DeleteEnvironmentConfigurationRequest generates a "aws/request.Request" representing the
1175// client's request for the DeleteEnvironmentConfiguration operation. The "output" return
1176// value will be populated with the request's response once the request completes
1177// successfully.
1178//
1179// Use "Send" method on the returned Request to send the API call to the service.
1180// the "output" return value is not valid until after Send returns without error.
1181//
1182// See DeleteEnvironmentConfiguration for more information on using the DeleteEnvironmentConfiguration
1183// API call, and error handling.
1184//
1185// This method is useful when you want to inject custom logic or configuration
1186// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1187//
1188//
1189//    // Example sending a request using the DeleteEnvironmentConfigurationRequest method.
1190//    req, resp := client.DeleteEnvironmentConfigurationRequest(params)
1191//
1192//    err := req.Send()
1193//    if err == nil { // resp is now filled
1194//        fmt.Println(resp)
1195//    }
1196//
1197// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeleteEnvironmentConfiguration
1198func (c *ElasticBeanstalk) DeleteEnvironmentConfigurationRequest(input *DeleteEnvironmentConfigurationInput) (req *request.Request, output *DeleteEnvironmentConfigurationOutput) {
1199	op := &request.Operation{
1200		Name:       opDeleteEnvironmentConfiguration,
1201		HTTPMethod: "POST",
1202		HTTPPath:   "/",
1203	}
1204
1205	if input == nil {
1206		input = &DeleteEnvironmentConfigurationInput{}
1207	}
1208
1209	output = &DeleteEnvironmentConfigurationOutput{}
1210	req = c.newRequest(op, input, output)
1211	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1212	return
1213}
1214
1215// DeleteEnvironmentConfiguration API operation for AWS Elastic Beanstalk.
1216//
1217// Deletes the draft configuration associated with the running environment.
1218//
1219// Updating a running environment with any configuration changes creates a draft
1220// configuration set. You can get the draft configuration using DescribeConfigurationSettings
1221// while the update is in progress or if the update fails. The DeploymentStatus
1222// for the draft configuration indicates whether the deployment is in process
1223// or has failed. The draft configuration remains in existence until it is deleted
1224// with this action.
1225//
1226// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1227// with awserr.Error's Code and Message methods to get detailed information about
1228// the error.
1229//
1230// See the AWS API reference guide for AWS Elastic Beanstalk's
1231// API operation DeleteEnvironmentConfiguration for usage and error information.
1232// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeleteEnvironmentConfiguration
1233func (c *ElasticBeanstalk) DeleteEnvironmentConfiguration(input *DeleteEnvironmentConfigurationInput) (*DeleteEnvironmentConfigurationOutput, error) {
1234	req, out := c.DeleteEnvironmentConfigurationRequest(input)
1235	return out, req.Send()
1236}
1237
1238// DeleteEnvironmentConfigurationWithContext is the same as DeleteEnvironmentConfiguration with the addition of
1239// the ability to pass a context and additional request options.
1240//
1241// See DeleteEnvironmentConfiguration for details on how to use this API operation.
1242//
1243// The context must be non-nil and will be used for request cancellation. If
1244// the context is nil a panic will occur. In the future the SDK may create
1245// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1246// for more information on using Contexts.
1247func (c *ElasticBeanstalk) DeleteEnvironmentConfigurationWithContext(ctx aws.Context, input *DeleteEnvironmentConfigurationInput, opts ...request.Option) (*DeleteEnvironmentConfigurationOutput, error) {
1248	req, out := c.DeleteEnvironmentConfigurationRequest(input)
1249	req.SetContext(ctx)
1250	req.ApplyOptions(opts...)
1251	return out, req.Send()
1252}
1253
1254const opDeletePlatformVersion = "DeletePlatformVersion"
1255
1256// DeletePlatformVersionRequest generates a "aws/request.Request" representing the
1257// client's request for the DeletePlatformVersion operation. The "output" return
1258// value will be populated with the request's response once the request completes
1259// successfully.
1260//
1261// Use "Send" method on the returned Request to send the API call to the service.
1262// the "output" return value is not valid until after Send returns without error.
1263//
1264// See DeletePlatformVersion for more information on using the DeletePlatformVersion
1265// API call, and error handling.
1266//
1267// This method is useful when you want to inject custom logic or configuration
1268// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1269//
1270//
1271//    // Example sending a request using the DeletePlatformVersionRequest method.
1272//    req, resp := client.DeletePlatformVersionRequest(params)
1273//
1274//    err := req.Send()
1275//    if err == nil { // resp is now filled
1276//        fmt.Println(resp)
1277//    }
1278//
1279// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeletePlatformVersion
1280func (c *ElasticBeanstalk) DeletePlatformVersionRequest(input *DeletePlatformVersionInput) (req *request.Request, output *DeletePlatformVersionOutput) {
1281	op := &request.Operation{
1282		Name:       opDeletePlatformVersion,
1283		HTTPMethod: "POST",
1284		HTTPPath:   "/",
1285	}
1286
1287	if input == nil {
1288		input = &DeletePlatformVersionInput{}
1289	}
1290
1291	output = &DeletePlatformVersionOutput{}
1292	req = c.newRequest(op, input, output)
1293	return
1294}
1295
1296// DeletePlatformVersion API operation for AWS Elastic Beanstalk.
1297//
1298// Deletes the specified version of a custom platform.
1299//
1300// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1301// with awserr.Error's Code and Message methods to get detailed information about
1302// the error.
1303//
1304// See the AWS API reference guide for AWS Elastic Beanstalk's
1305// API operation DeletePlatformVersion for usage and error information.
1306//
1307// Returned Error Codes:
1308//   * ErrCodeOperationInProgressException "OperationInProgressFailure"
1309//   Unable to perform the specified operation because another operation that
1310//   effects an element in this activity is already in progress.
1311//
1312//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
1313//   The specified account does not have sufficient privileges for one or more
1314//   AWS services.
1315//
1316//   * ErrCodeServiceException "ElasticBeanstalkServiceException"
1317//   A generic service exception has occurred.
1318//
1319//   * ErrCodePlatformVersionStillReferencedException "PlatformVersionStillReferencedException"
1320//   You cannot delete the platform version because there are still environments
1321//   running on it.
1322//
1323// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeletePlatformVersion
1324func (c *ElasticBeanstalk) DeletePlatformVersion(input *DeletePlatformVersionInput) (*DeletePlatformVersionOutput, error) {
1325	req, out := c.DeletePlatformVersionRequest(input)
1326	return out, req.Send()
1327}
1328
1329// DeletePlatformVersionWithContext is the same as DeletePlatformVersion with the addition of
1330// the ability to pass a context and additional request options.
1331//
1332// See DeletePlatformVersion for details on how to use this API operation.
1333//
1334// The context must be non-nil and will be used for request cancellation. If
1335// the context is nil a panic will occur. In the future the SDK may create
1336// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1337// for more information on using Contexts.
1338func (c *ElasticBeanstalk) DeletePlatformVersionWithContext(ctx aws.Context, input *DeletePlatformVersionInput, opts ...request.Option) (*DeletePlatformVersionOutput, error) {
1339	req, out := c.DeletePlatformVersionRequest(input)
1340	req.SetContext(ctx)
1341	req.ApplyOptions(opts...)
1342	return out, req.Send()
1343}
1344
1345const opDescribeAccountAttributes = "DescribeAccountAttributes"
1346
1347// DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
1348// client's request for the DescribeAccountAttributes operation. The "output" return
1349// value will be populated with the request's response once the request completes
1350// successfully.
1351//
1352// Use "Send" method on the returned Request to send the API call to the service.
1353// the "output" return value is not valid until after Send returns without error.
1354//
1355// See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
1356// API call, and error handling.
1357//
1358// This method is useful when you want to inject custom logic or configuration
1359// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1360//
1361//
1362//    // Example sending a request using the DescribeAccountAttributesRequest method.
1363//    req, resp := client.DescribeAccountAttributesRequest(params)
1364//
1365//    err := req.Send()
1366//    if err == nil { // resp is now filled
1367//        fmt.Println(resp)
1368//    }
1369//
1370// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeAccountAttributes
1371func (c *ElasticBeanstalk) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
1372	op := &request.Operation{
1373		Name:       opDescribeAccountAttributes,
1374		HTTPMethod: "POST",
1375		HTTPPath:   "/",
1376	}
1377
1378	if input == nil {
1379		input = &DescribeAccountAttributesInput{}
1380	}
1381
1382	output = &DescribeAccountAttributesOutput{}
1383	req = c.newRequest(op, input, output)
1384	return
1385}
1386
1387// DescribeAccountAttributes API operation for AWS Elastic Beanstalk.
1388//
1389// Returns attributes related to AWS Elastic Beanstalk that are associated with
1390// the calling AWS account.
1391//
1392// The result currently has one set of attributes—resource quotas.
1393//
1394// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1395// with awserr.Error's Code and Message methods to get detailed information about
1396// the error.
1397//
1398// See the AWS API reference guide for AWS Elastic Beanstalk's
1399// API operation DescribeAccountAttributes for usage and error information.
1400//
1401// Returned Error Codes:
1402//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
1403//   The specified account does not have sufficient privileges for one or more
1404//   AWS services.
1405//
1406// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeAccountAttributes
1407func (c *ElasticBeanstalk) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
1408	req, out := c.DescribeAccountAttributesRequest(input)
1409	return out, req.Send()
1410}
1411
1412// DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
1413// the ability to pass a context and additional request options.
1414//
1415// See DescribeAccountAttributes for details on how to use this API operation.
1416//
1417// The context must be non-nil and will be used for request cancellation. If
1418// the context is nil a panic will occur. In the future the SDK may create
1419// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1420// for more information on using Contexts.
1421func (c *ElasticBeanstalk) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
1422	req, out := c.DescribeAccountAttributesRequest(input)
1423	req.SetContext(ctx)
1424	req.ApplyOptions(opts...)
1425	return out, req.Send()
1426}
1427
1428const opDescribeApplicationVersions = "DescribeApplicationVersions"
1429
1430// DescribeApplicationVersionsRequest generates a "aws/request.Request" representing the
1431// client's request for the DescribeApplicationVersions operation. The "output" return
1432// value will be populated with the request's response once the request completes
1433// successfully.
1434//
1435// Use "Send" method on the returned Request to send the API call to the service.
1436// the "output" return value is not valid until after Send returns without error.
1437//
1438// See DescribeApplicationVersions for more information on using the DescribeApplicationVersions
1439// API call, and error handling.
1440//
1441// This method is useful when you want to inject custom logic or configuration
1442// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1443//
1444//
1445//    // Example sending a request using the DescribeApplicationVersionsRequest method.
1446//    req, resp := client.DescribeApplicationVersionsRequest(params)
1447//
1448//    err := req.Send()
1449//    if err == nil { // resp is now filled
1450//        fmt.Println(resp)
1451//    }
1452//
1453// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeApplicationVersions
1454func (c *ElasticBeanstalk) DescribeApplicationVersionsRequest(input *DescribeApplicationVersionsInput) (req *request.Request, output *DescribeApplicationVersionsOutput) {
1455	op := &request.Operation{
1456		Name:       opDescribeApplicationVersions,
1457		HTTPMethod: "POST",
1458		HTTPPath:   "/",
1459	}
1460
1461	if input == nil {
1462		input = &DescribeApplicationVersionsInput{}
1463	}
1464
1465	output = &DescribeApplicationVersionsOutput{}
1466	req = c.newRequest(op, input, output)
1467	return
1468}
1469
1470// DescribeApplicationVersions API operation for AWS Elastic Beanstalk.
1471//
1472// Retrieve a list of application versions.
1473//
1474// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1475// with awserr.Error's Code and Message methods to get detailed information about
1476// the error.
1477//
1478// See the AWS API reference guide for AWS Elastic Beanstalk's
1479// API operation DescribeApplicationVersions for usage and error information.
1480// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeApplicationVersions
1481func (c *ElasticBeanstalk) DescribeApplicationVersions(input *DescribeApplicationVersionsInput) (*DescribeApplicationVersionsOutput, error) {
1482	req, out := c.DescribeApplicationVersionsRequest(input)
1483	return out, req.Send()
1484}
1485
1486// DescribeApplicationVersionsWithContext is the same as DescribeApplicationVersions with the addition of
1487// the ability to pass a context and additional request options.
1488//
1489// See DescribeApplicationVersions for details on how to use this API operation.
1490//
1491// The context must be non-nil and will be used for request cancellation. If
1492// the context is nil a panic will occur. In the future the SDK may create
1493// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1494// for more information on using Contexts.
1495func (c *ElasticBeanstalk) DescribeApplicationVersionsWithContext(ctx aws.Context, input *DescribeApplicationVersionsInput, opts ...request.Option) (*DescribeApplicationVersionsOutput, error) {
1496	req, out := c.DescribeApplicationVersionsRequest(input)
1497	req.SetContext(ctx)
1498	req.ApplyOptions(opts...)
1499	return out, req.Send()
1500}
1501
1502const opDescribeApplications = "DescribeApplications"
1503
1504// DescribeApplicationsRequest generates a "aws/request.Request" representing the
1505// client's request for the DescribeApplications operation. The "output" return
1506// value will be populated with the request's response once the request completes
1507// successfully.
1508//
1509// Use "Send" method on the returned Request to send the API call to the service.
1510// the "output" return value is not valid until after Send returns without error.
1511//
1512// See DescribeApplications for more information on using the DescribeApplications
1513// API call, and error handling.
1514//
1515// This method is useful when you want to inject custom logic or configuration
1516// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1517//
1518//
1519//    // Example sending a request using the DescribeApplicationsRequest method.
1520//    req, resp := client.DescribeApplicationsRequest(params)
1521//
1522//    err := req.Send()
1523//    if err == nil { // resp is now filled
1524//        fmt.Println(resp)
1525//    }
1526//
1527// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeApplications
1528func (c *ElasticBeanstalk) DescribeApplicationsRequest(input *DescribeApplicationsInput) (req *request.Request, output *DescribeApplicationsOutput) {
1529	op := &request.Operation{
1530		Name:       opDescribeApplications,
1531		HTTPMethod: "POST",
1532		HTTPPath:   "/",
1533	}
1534
1535	if input == nil {
1536		input = &DescribeApplicationsInput{}
1537	}
1538
1539	output = &DescribeApplicationsOutput{}
1540	req = c.newRequest(op, input, output)
1541	return
1542}
1543
1544// DescribeApplications API operation for AWS Elastic Beanstalk.
1545//
1546// Returns the descriptions of existing applications.
1547//
1548// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1549// with awserr.Error's Code and Message methods to get detailed information about
1550// the error.
1551//
1552// See the AWS API reference guide for AWS Elastic Beanstalk's
1553// API operation DescribeApplications for usage and error information.
1554// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeApplications
1555func (c *ElasticBeanstalk) DescribeApplications(input *DescribeApplicationsInput) (*DescribeApplicationsOutput, error) {
1556	req, out := c.DescribeApplicationsRequest(input)
1557	return out, req.Send()
1558}
1559
1560// DescribeApplicationsWithContext is the same as DescribeApplications with the addition of
1561// the ability to pass a context and additional request options.
1562//
1563// See DescribeApplications for details on how to use this API operation.
1564//
1565// The context must be non-nil and will be used for request cancellation. If
1566// the context is nil a panic will occur. In the future the SDK may create
1567// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1568// for more information on using Contexts.
1569func (c *ElasticBeanstalk) DescribeApplicationsWithContext(ctx aws.Context, input *DescribeApplicationsInput, opts ...request.Option) (*DescribeApplicationsOutput, error) {
1570	req, out := c.DescribeApplicationsRequest(input)
1571	req.SetContext(ctx)
1572	req.ApplyOptions(opts...)
1573	return out, req.Send()
1574}
1575
1576const opDescribeConfigurationOptions = "DescribeConfigurationOptions"
1577
1578// DescribeConfigurationOptionsRequest generates a "aws/request.Request" representing the
1579// client's request for the DescribeConfigurationOptions operation. The "output" return
1580// value will be populated with the request's response once the request completes
1581// successfully.
1582//
1583// Use "Send" method on the returned Request to send the API call to the service.
1584// the "output" return value is not valid until after Send returns without error.
1585//
1586// See DescribeConfigurationOptions for more information on using the DescribeConfigurationOptions
1587// API call, and error handling.
1588//
1589// This method is useful when you want to inject custom logic or configuration
1590// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1591//
1592//
1593//    // Example sending a request using the DescribeConfigurationOptionsRequest method.
1594//    req, resp := client.DescribeConfigurationOptionsRequest(params)
1595//
1596//    err := req.Send()
1597//    if err == nil { // resp is now filled
1598//        fmt.Println(resp)
1599//    }
1600//
1601// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeConfigurationOptions
1602func (c *ElasticBeanstalk) DescribeConfigurationOptionsRequest(input *DescribeConfigurationOptionsInput) (req *request.Request, output *DescribeConfigurationOptionsOutput) {
1603	op := &request.Operation{
1604		Name:       opDescribeConfigurationOptions,
1605		HTTPMethod: "POST",
1606		HTTPPath:   "/",
1607	}
1608
1609	if input == nil {
1610		input = &DescribeConfigurationOptionsInput{}
1611	}
1612
1613	output = &DescribeConfigurationOptionsOutput{}
1614	req = c.newRequest(op, input, output)
1615	return
1616}
1617
1618// DescribeConfigurationOptions API operation for AWS Elastic Beanstalk.
1619//
1620// Describes the configuration options that are used in a particular configuration
1621// template or environment, or that a specified solution stack defines. The
1622// description includes the values the options, their default values, and an
1623// indication of the required action on a running environment if an option value
1624// is changed.
1625//
1626// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1627// with awserr.Error's Code and Message methods to get detailed information about
1628// the error.
1629//
1630// See the AWS API reference guide for AWS Elastic Beanstalk's
1631// API operation DescribeConfigurationOptions for usage and error information.
1632//
1633// Returned Error Codes:
1634//   * ErrCodeTooManyBucketsException "TooManyBucketsException"
1635//   The specified account has reached its limit of Amazon S3 buckets.
1636//
1637// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeConfigurationOptions
1638func (c *ElasticBeanstalk) DescribeConfigurationOptions(input *DescribeConfigurationOptionsInput) (*DescribeConfigurationOptionsOutput, error) {
1639	req, out := c.DescribeConfigurationOptionsRequest(input)
1640	return out, req.Send()
1641}
1642
1643// DescribeConfigurationOptionsWithContext is the same as DescribeConfigurationOptions with the addition of
1644// the ability to pass a context and additional request options.
1645//
1646// See DescribeConfigurationOptions for details on how to use this API operation.
1647//
1648// The context must be non-nil and will be used for request cancellation. If
1649// the context is nil a panic will occur. In the future the SDK may create
1650// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1651// for more information on using Contexts.
1652func (c *ElasticBeanstalk) DescribeConfigurationOptionsWithContext(ctx aws.Context, input *DescribeConfigurationOptionsInput, opts ...request.Option) (*DescribeConfigurationOptionsOutput, error) {
1653	req, out := c.DescribeConfigurationOptionsRequest(input)
1654	req.SetContext(ctx)
1655	req.ApplyOptions(opts...)
1656	return out, req.Send()
1657}
1658
1659const opDescribeConfigurationSettings = "DescribeConfigurationSettings"
1660
1661// DescribeConfigurationSettingsRequest generates a "aws/request.Request" representing the
1662// client's request for the DescribeConfigurationSettings operation. The "output" return
1663// value will be populated with the request's response once the request completes
1664// successfully.
1665//
1666// Use "Send" method on the returned Request to send the API call to the service.
1667// the "output" return value is not valid until after Send returns without error.
1668//
1669// See DescribeConfigurationSettings for more information on using the DescribeConfigurationSettings
1670// API call, and error handling.
1671//
1672// This method is useful when you want to inject custom logic or configuration
1673// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1674//
1675//
1676//    // Example sending a request using the DescribeConfigurationSettingsRequest method.
1677//    req, resp := client.DescribeConfigurationSettingsRequest(params)
1678//
1679//    err := req.Send()
1680//    if err == nil { // resp is now filled
1681//        fmt.Println(resp)
1682//    }
1683//
1684// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeConfigurationSettings
1685func (c *ElasticBeanstalk) DescribeConfigurationSettingsRequest(input *DescribeConfigurationSettingsInput) (req *request.Request, output *DescribeConfigurationSettingsOutput) {
1686	op := &request.Operation{
1687		Name:       opDescribeConfigurationSettings,
1688		HTTPMethod: "POST",
1689		HTTPPath:   "/",
1690	}
1691
1692	if input == nil {
1693		input = &DescribeConfigurationSettingsInput{}
1694	}
1695
1696	output = &DescribeConfigurationSettingsOutput{}
1697	req = c.newRequest(op, input, output)
1698	return
1699}
1700
1701// DescribeConfigurationSettings API operation for AWS Elastic Beanstalk.
1702//
1703// Returns a description of the settings for the specified configuration set,
1704// that is, either a configuration template or the configuration set associated
1705// with a running environment.
1706//
1707// When describing the settings for the configuration set associated with a
1708// running environment, it is possible to receive two sets of setting descriptions.
1709// One is the deployed configuration set, and the other is a draft configuration
1710// of an environment that is either in the process of deployment or that failed
1711// to deploy.
1712//
1713// Related Topics
1714//
1715//    * DeleteEnvironmentConfiguration
1716//
1717// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1718// with awserr.Error's Code and Message methods to get detailed information about
1719// the error.
1720//
1721// See the AWS API reference guide for AWS Elastic Beanstalk's
1722// API operation DescribeConfigurationSettings for usage and error information.
1723//
1724// Returned Error Codes:
1725//   * ErrCodeTooManyBucketsException "TooManyBucketsException"
1726//   The specified account has reached its limit of Amazon S3 buckets.
1727//
1728// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeConfigurationSettings
1729func (c *ElasticBeanstalk) DescribeConfigurationSettings(input *DescribeConfigurationSettingsInput) (*DescribeConfigurationSettingsOutput, error) {
1730	req, out := c.DescribeConfigurationSettingsRequest(input)
1731	return out, req.Send()
1732}
1733
1734// DescribeConfigurationSettingsWithContext is the same as DescribeConfigurationSettings with the addition of
1735// the ability to pass a context and additional request options.
1736//
1737// See DescribeConfigurationSettings for details on how to use this API operation.
1738//
1739// The context must be non-nil and will be used for request cancellation. If
1740// the context is nil a panic will occur. In the future the SDK may create
1741// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1742// for more information on using Contexts.
1743func (c *ElasticBeanstalk) DescribeConfigurationSettingsWithContext(ctx aws.Context, input *DescribeConfigurationSettingsInput, opts ...request.Option) (*DescribeConfigurationSettingsOutput, error) {
1744	req, out := c.DescribeConfigurationSettingsRequest(input)
1745	req.SetContext(ctx)
1746	req.ApplyOptions(opts...)
1747	return out, req.Send()
1748}
1749
1750const opDescribeEnvironmentHealth = "DescribeEnvironmentHealth"
1751
1752// DescribeEnvironmentHealthRequest generates a "aws/request.Request" representing the
1753// client's request for the DescribeEnvironmentHealth operation. The "output" return
1754// value will be populated with the request's response once the request completes
1755// successfully.
1756//
1757// Use "Send" method on the returned Request to send the API call to the service.
1758// the "output" return value is not valid until after Send returns without error.
1759//
1760// See DescribeEnvironmentHealth for more information on using the DescribeEnvironmentHealth
1761// API call, and error handling.
1762//
1763// This method is useful when you want to inject custom logic or configuration
1764// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1765//
1766//
1767//    // Example sending a request using the DescribeEnvironmentHealthRequest method.
1768//    req, resp := client.DescribeEnvironmentHealthRequest(params)
1769//
1770//    err := req.Send()
1771//    if err == nil { // resp is now filled
1772//        fmt.Println(resp)
1773//    }
1774//
1775// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironmentHealth
1776func (c *ElasticBeanstalk) DescribeEnvironmentHealthRequest(input *DescribeEnvironmentHealthInput) (req *request.Request, output *DescribeEnvironmentHealthOutput) {
1777	op := &request.Operation{
1778		Name:       opDescribeEnvironmentHealth,
1779		HTTPMethod: "POST",
1780		HTTPPath:   "/",
1781	}
1782
1783	if input == nil {
1784		input = &DescribeEnvironmentHealthInput{}
1785	}
1786
1787	output = &DescribeEnvironmentHealthOutput{}
1788	req = c.newRequest(op, input, output)
1789	return
1790}
1791
1792// DescribeEnvironmentHealth API operation for AWS Elastic Beanstalk.
1793//
1794// Returns information about the overall health of the specified environment.
1795// The DescribeEnvironmentHealth operation is only available with AWS Elastic
1796// Beanstalk Enhanced Health.
1797//
1798// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1799// with awserr.Error's Code and Message methods to get detailed information about
1800// the error.
1801//
1802// See the AWS API reference guide for AWS Elastic Beanstalk's
1803// API operation DescribeEnvironmentHealth for usage and error information.
1804//
1805// Returned Error Codes:
1806//   * ErrCodeInvalidRequestException "InvalidRequestException"
1807//   One or more input parameters is not valid. Please correct the input parameters
1808//   and try the operation again.
1809//
1810//   * ErrCodeServiceException "ElasticBeanstalkServiceException"
1811//   A generic service exception has occurred.
1812//
1813// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironmentHealth
1814func (c *ElasticBeanstalk) DescribeEnvironmentHealth(input *DescribeEnvironmentHealthInput) (*DescribeEnvironmentHealthOutput, error) {
1815	req, out := c.DescribeEnvironmentHealthRequest(input)
1816	return out, req.Send()
1817}
1818
1819// DescribeEnvironmentHealthWithContext is the same as DescribeEnvironmentHealth with the addition of
1820// the ability to pass a context and additional request options.
1821//
1822// See DescribeEnvironmentHealth for details on how to use this API operation.
1823//
1824// The context must be non-nil and will be used for request cancellation. If
1825// the context is nil a panic will occur. In the future the SDK may create
1826// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1827// for more information on using Contexts.
1828func (c *ElasticBeanstalk) DescribeEnvironmentHealthWithContext(ctx aws.Context, input *DescribeEnvironmentHealthInput, opts ...request.Option) (*DescribeEnvironmentHealthOutput, error) {
1829	req, out := c.DescribeEnvironmentHealthRequest(input)
1830	req.SetContext(ctx)
1831	req.ApplyOptions(opts...)
1832	return out, req.Send()
1833}
1834
1835const opDescribeEnvironmentManagedActionHistory = "DescribeEnvironmentManagedActionHistory"
1836
1837// DescribeEnvironmentManagedActionHistoryRequest generates a "aws/request.Request" representing the
1838// client's request for the DescribeEnvironmentManagedActionHistory operation. The "output" return
1839// value will be populated with the request's response once the request completes
1840// successfully.
1841//
1842// Use "Send" method on the returned Request to send the API call to the service.
1843// the "output" return value is not valid until after Send returns without error.
1844//
1845// See DescribeEnvironmentManagedActionHistory for more information on using the DescribeEnvironmentManagedActionHistory
1846// API call, and error handling.
1847//
1848// This method is useful when you want to inject custom logic or configuration
1849// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1850//
1851//
1852//    // Example sending a request using the DescribeEnvironmentManagedActionHistoryRequest method.
1853//    req, resp := client.DescribeEnvironmentManagedActionHistoryRequest(params)
1854//
1855//    err := req.Send()
1856//    if err == nil { // resp is now filled
1857//        fmt.Println(resp)
1858//    }
1859//
1860// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironmentManagedActionHistory
1861func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionHistoryRequest(input *DescribeEnvironmentManagedActionHistoryInput) (req *request.Request, output *DescribeEnvironmentManagedActionHistoryOutput) {
1862	op := &request.Operation{
1863		Name:       opDescribeEnvironmentManagedActionHistory,
1864		HTTPMethod: "POST",
1865		HTTPPath:   "/",
1866	}
1867
1868	if input == nil {
1869		input = &DescribeEnvironmentManagedActionHistoryInput{}
1870	}
1871
1872	output = &DescribeEnvironmentManagedActionHistoryOutput{}
1873	req = c.newRequest(op, input, output)
1874	return
1875}
1876
1877// DescribeEnvironmentManagedActionHistory API operation for AWS Elastic Beanstalk.
1878//
1879// Lists an environment's completed and failed managed actions.
1880//
1881// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1882// with awserr.Error's Code and Message methods to get detailed information about
1883// the error.
1884//
1885// See the AWS API reference guide for AWS Elastic Beanstalk's
1886// API operation DescribeEnvironmentManagedActionHistory for usage and error information.
1887//
1888// Returned Error Codes:
1889//   * ErrCodeServiceException "ElasticBeanstalkServiceException"
1890//   A generic service exception has occurred.
1891//
1892// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironmentManagedActionHistory
1893func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionHistory(input *DescribeEnvironmentManagedActionHistoryInput) (*DescribeEnvironmentManagedActionHistoryOutput, error) {
1894	req, out := c.DescribeEnvironmentManagedActionHistoryRequest(input)
1895	return out, req.Send()
1896}
1897
1898// DescribeEnvironmentManagedActionHistoryWithContext is the same as DescribeEnvironmentManagedActionHistory with the addition of
1899// the ability to pass a context and additional request options.
1900//
1901// See DescribeEnvironmentManagedActionHistory for details on how to use this API operation.
1902//
1903// The context must be non-nil and will be used for request cancellation. If
1904// the context is nil a panic will occur. In the future the SDK may create
1905// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1906// for more information on using Contexts.
1907func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionHistoryWithContext(ctx aws.Context, input *DescribeEnvironmentManagedActionHistoryInput, opts ...request.Option) (*DescribeEnvironmentManagedActionHistoryOutput, error) {
1908	req, out := c.DescribeEnvironmentManagedActionHistoryRequest(input)
1909	req.SetContext(ctx)
1910	req.ApplyOptions(opts...)
1911	return out, req.Send()
1912}
1913
1914const opDescribeEnvironmentManagedActions = "DescribeEnvironmentManagedActions"
1915
1916// DescribeEnvironmentManagedActionsRequest generates a "aws/request.Request" representing the
1917// client's request for the DescribeEnvironmentManagedActions operation. The "output" return
1918// value will be populated with the request's response once the request completes
1919// successfully.
1920//
1921// Use "Send" method on the returned Request to send the API call to the service.
1922// the "output" return value is not valid until after Send returns without error.
1923//
1924// See DescribeEnvironmentManagedActions for more information on using the DescribeEnvironmentManagedActions
1925// API call, and error handling.
1926//
1927// This method is useful when you want to inject custom logic or configuration
1928// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1929//
1930//
1931//    // Example sending a request using the DescribeEnvironmentManagedActionsRequest method.
1932//    req, resp := client.DescribeEnvironmentManagedActionsRequest(params)
1933//
1934//    err := req.Send()
1935//    if err == nil { // resp is now filled
1936//        fmt.Println(resp)
1937//    }
1938//
1939// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironmentManagedActions
1940func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionsRequest(input *DescribeEnvironmentManagedActionsInput) (req *request.Request, output *DescribeEnvironmentManagedActionsOutput) {
1941	op := &request.Operation{
1942		Name:       opDescribeEnvironmentManagedActions,
1943		HTTPMethod: "POST",
1944		HTTPPath:   "/",
1945	}
1946
1947	if input == nil {
1948		input = &DescribeEnvironmentManagedActionsInput{}
1949	}
1950
1951	output = &DescribeEnvironmentManagedActionsOutput{}
1952	req = c.newRequest(op, input, output)
1953	return
1954}
1955
1956// DescribeEnvironmentManagedActions API operation for AWS Elastic Beanstalk.
1957//
1958// Lists an environment's upcoming and in-progress managed actions.
1959//
1960// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1961// with awserr.Error's Code and Message methods to get detailed information about
1962// the error.
1963//
1964// See the AWS API reference guide for AWS Elastic Beanstalk's
1965// API operation DescribeEnvironmentManagedActions for usage and error information.
1966//
1967// Returned Error Codes:
1968//   * ErrCodeServiceException "ElasticBeanstalkServiceException"
1969//   A generic service exception has occurred.
1970//
1971// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironmentManagedActions
1972func (c *ElasticBeanstalk) DescribeEnvironmentManagedActions(input *DescribeEnvironmentManagedActionsInput) (*DescribeEnvironmentManagedActionsOutput, error) {
1973	req, out := c.DescribeEnvironmentManagedActionsRequest(input)
1974	return out, req.Send()
1975}
1976
1977// DescribeEnvironmentManagedActionsWithContext is the same as DescribeEnvironmentManagedActions with the addition of
1978// the ability to pass a context and additional request options.
1979//
1980// See DescribeEnvironmentManagedActions for details on how to use this API operation.
1981//
1982// The context must be non-nil and will be used for request cancellation. If
1983// the context is nil a panic will occur. In the future the SDK may create
1984// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1985// for more information on using Contexts.
1986func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionsWithContext(ctx aws.Context, input *DescribeEnvironmentManagedActionsInput, opts ...request.Option) (*DescribeEnvironmentManagedActionsOutput, error) {
1987	req, out := c.DescribeEnvironmentManagedActionsRequest(input)
1988	req.SetContext(ctx)
1989	req.ApplyOptions(opts...)
1990	return out, req.Send()
1991}
1992
1993const opDescribeEnvironmentResources = "DescribeEnvironmentResources"
1994
1995// DescribeEnvironmentResourcesRequest generates a "aws/request.Request" representing the
1996// client's request for the DescribeEnvironmentResources operation. The "output" return
1997// value will be populated with the request's response once the request completes
1998// successfully.
1999//
2000// Use "Send" method on the returned Request to send the API call to the service.
2001// the "output" return value is not valid until after Send returns without error.
2002//
2003// See DescribeEnvironmentResources for more information on using the DescribeEnvironmentResources
2004// API call, and error handling.
2005//
2006// This method is useful when you want to inject custom logic or configuration
2007// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2008//
2009//
2010//    // Example sending a request using the DescribeEnvironmentResourcesRequest method.
2011//    req, resp := client.DescribeEnvironmentResourcesRequest(params)
2012//
2013//    err := req.Send()
2014//    if err == nil { // resp is now filled
2015//        fmt.Println(resp)
2016//    }
2017//
2018// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironmentResources
2019func (c *ElasticBeanstalk) DescribeEnvironmentResourcesRequest(input *DescribeEnvironmentResourcesInput) (req *request.Request, output *DescribeEnvironmentResourcesOutput) {
2020	op := &request.Operation{
2021		Name:       opDescribeEnvironmentResources,
2022		HTTPMethod: "POST",
2023		HTTPPath:   "/",
2024	}
2025
2026	if input == nil {
2027		input = &DescribeEnvironmentResourcesInput{}
2028	}
2029
2030	output = &DescribeEnvironmentResourcesOutput{}
2031	req = c.newRequest(op, input, output)
2032	return
2033}
2034
2035// DescribeEnvironmentResources API operation for AWS Elastic Beanstalk.
2036//
2037// Returns AWS resources for this environment.
2038//
2039// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2040// with awserr.Error's Code and Message methods to get detailed information about
2041// the error.
2042//
2043// See the AWS API reference guide for AWS Elastic Beanstalk's
2044// API operation DescribeEnvironmentResources for usage and error information.
2045//
2046// Returned Error Codes:
2047//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
2048//   The specified account does not have sufficient privileges for one or more
2049//   AWS services.
2050//
2051// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironmentResources
2052func (c *ElasticBeanstalk) DescribeEnvironmentResources(input *DescribeEnvironmentResourcesInput) (*DescribeEnvironmentResourcesOutput, error) {
2053	req, out := c.DescribeEnvironmentResourcesRequest(input)
2054	return out, req.Send()
2055}
2056
2057// DescribeEnvironmentResourcesWithContext is the same as DescribeEnvironmentResources with the addition of
2058// the ability to pass a context and additional request options.
2059//
2060// See DescribeEnvironmentResources for details on how to use this API operation.
2061//
2062// The context must be non-nil and will be used for request cancellation. If
2063// the context is nil a panic will occur. In the future the SDK may create
2064// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2065// for more information on using Contexts.
2066func (c *ElasticBeanstalk) DescribeEnvironmentResourcesWithContext(ctx aws.Context, input *DescribeEnvironmentResourcesInput, opts ...request.Option) (*DescribeEnvironmentResourcesOutput, error) {
2067	req, out := c.DescribeEnvironmentResourcesRequest(input)
2068	req.SetContext(ctx)
2069	req.ApplyOptions(opts...)
2070	return out, req.Send()
2071}
2072
2073const opDescribeEnvironments = "DescribeEnvironments"
2074
2075// DescribeEnvironmentsRequest generates a "aws/request.Request" representing the
2076// client's request for the DescribeEnvironments operation. The "output" return
2077// value will be populated with the request's response once the request completes
2078// successfully.
2079//
2080// Use "Send" method on the returned Request to send the API call to the service.
2081// the "output" return value is not valid until after Send returns without error.
2082//
2083// See DescribeEnvironments for more information on using the DescribeEnvironments
2084// API call, and error handling.
2085//
2086// This method is useful when you want to inject custom logic or configuration
2087// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2088//
2089//
2090//    // Example sending a request using the DescribeEnvironmentsRequest method.
2091//    req, resp := client.DescribeEnvironmentsRequest(params)
2092//
2093//    err := req.Send()
2094//    if err == nil { // resp is now filled
2095//        fmt.Println(resp)
2096//    }
2097//
2098// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironments
2099func (c *ElasticBeanstalk) DescribeEnvironmentsRequest(input *DescribeEnvironmentsInput) (req *request.Request, output *EnvironmentDescriptionsMessage) {
2100	op := &request.Operation{
2101		Name:       opDescribeEnvironments,
2102		HTTPMethod: "POST",
2103		HTTPPath:   "/",
2104	}
2105
2106	if input == nil {
2107		input = &DescribeEnvironmentsInput{}
2108	}
2109
2110	output = &EnvironmentDescriptionsMessage{}
2111	req = c.newRequest(op, input, output)
2112	return
2113}
2114
2115// DescribeEnvironments API operation for AWS Elastic Beanstalk.
2116//
2117// Returns descriptions for existing environments.
2118//
2119// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2120// with awserr.Error's Code and Message methods to get detailed information about
2121// the error.
2122//
2123// See the AWS API reference guide for AWS Elastic Beanstalk's
2124// API operation DescribeEnvironments for usage and error information.
2125// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironments
2126func (c *ElasticBeanstalk) DescribeEnvironments(input *DescribeEnvironmentsInput) (*EnvironmentDescriptionsMessage, error) {
2127	req, out := c.DescribeEnvironmentsRequest(input)
2128	return out, req.Send()
2129}
2130
2131// DescribeEnvironmentsWithContext is the same as DescribeEnvironments with the addition of
2132// the ability to pass a context and additional request options.
2133//
2134// See DescribeEnvironments for details on how to use this API operation.
2135//
2136// The context must be non-nil and will be used for request cancellation. If
2137// the context is nil a panic will occur. In the future the SDK may create
2138// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2139// for more information on using Contexts.
2140func (c *ElasticBeanstalk) DescribeEnvironmentsWithContext(ctx aws.Context, input *DescribeEnvironmentsInput, opts ...request.Option) (*EnvironmentDescriptionsMessage, error) {
2141	req, out := c.DescribeEnvironmentsRequest(input)
2142	req.SetContext(ctx)
2143	req.ApplyOptions(opts...)
2144	return out, req.Send()
2145}
2146
2147const opDescribeEvents = "DescribeEvents"
2148
2149// DescribeEventsRequest generates a "aws/request.Request" representing the
2150// client's request for the DescribeEvents operation. The "output" return
2151// value will be populated with the request's response once the request completes
2152// successfully.
2153//
2154// Use "Send" method on the returned Request to send the API call to the service.
2155// the "output" return value is not valid until after Send returns without error.
2156//
2157// See DescribeEvents for more information on using the DescribeEvents
2158// API call, and error handling.
2159//
2160// This method is useful when you want to inject custom logic or configuration
2161// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2162//
2163//
2164//    // Example sending a request using the DescribeEventsRequest method.
2165//    req, resp := client.DescribeEventsRequest(params)
2166//
2167//    err := req.Send()
2168//    if err == nil { // resp is now filled
2169//        fmt.Println(resp)
2170//    }
2171//
2172// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEvents
2173func (c *ElasticBeanstalk) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
2174	op := &request.Operation{
2175		Name:       opDescribeEvents,
2176		HTTPMethod: "POST",
2177		HTTPPath:   "/",
2178		Paginator: &request.Paginator{
2179			InputTokens:     []string{"NextToken"},
2180			OutputTokens:    []string{"NextToken"},
2181			LimitToken:      "MaxRecords",
2182			TruncationToken: "",
2183		},
2184	}
2185
2186	if input == nil {
2187		input = &DescribeEventsInput{}
2188	}
2189
2190	output = &DescribeEventsOutput{}
2191	req = c.newRequest(op, input, output)
2192	return
2193}
2194
2195// DescribeEvents API operation for AWS Elastic Beanstalk.
2196//
2197// Returns list of event descriptions matching criteria up to the last 6 weeks.
2198//
2199// This action returns the most recent 1,000 events from the specified NextToken.
2200//
2201// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2202// with awserr.Error's Code and Message methods to get detailed information about
2203// the error.
2204//
2205// See the AWS API reference guide for AWS Elastic Beanstalk's
2206// API operation DescribeEvents for usage and error information.
2207// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEvents
2208func (c *ElasticBeanstalk) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
2209	req, out := c.DescribeEventsRequest(input)
2210	return out, req.Send()
2211}
2212
2213// DescribeEventsWithContext is the same as DescribeEvents with the addition of
2214// the ability to pass a context and additional request options.
2215//
2216// See DescribeEvents for details on how to use this API operation.
2217//
2218// The context must be non-nil and will be used for request cancellation. If
2219// the context is nil a panic will occur. In the future the SDK may create
2220// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2221// for more information on using Contexts.
2222func (c *ElasticBeanstalk) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) {
2223	req, out := c.DescribeEventsRequest(input)
2224	req.SetContext(ctx)
2225	req.ApplyOptions(opts...)
2226	return out, req.Send()
2227}
2228
2229// DescribeEventsPages iterates over the pages of a DescribeEvents operation,
2230// calling the "fn" function with the response data for each page. To stop
2231// iterating, return false from the fn function.
2232//
2233// See DescribeEvents method for more information on how to use this operation.
2234//
2235// Note: This operation can generate multiple requests to a service.
2236//
2237//    // Example iterating over at most 3 pages of a DescribeEvents operation.
2238//    pageNum := 0
2239//    err := client.DescribeEventsPages(params,
2240//        func(page *elasticbeanstalk.DescribeEventsOutput, lastPage bool) bool {
2241//            pageNum++
2242//            fmt.Println(page)
2243//            return pageNum <= 3
2244//        })
2245//
2246func (c *ElasticBeanstalk) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error {
2247	return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn)
2248}
2249
2250// DescribeEventsPagesWithContext same as DescribeEventsPages except
2251// it takes a Context and allows setting request options on the pages.
2252//
2253// The context must be non-nil and will be used for request cancellation. If
2254// the context is nil a panic will occur. In the future the SDK may create
2255// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2256// for more information on using Contexts.
2257func (c *ElasticBeanstalk) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error {
2258	p := request.Pagination{
2259		NewRequest: func() (*request.Request, error) {
2260			var inCpy *DescribeEventsInput
2261			if input != nil {
2262				tmp := *input
2263				inCpy = &tmp
2264			}
2265			req, _ := c.DescribeEventsRequest(inCpy)
2266			req.SetContext(ctx)
2267			req.ApplyOptions(opts...)
2268			return req, nil
2269		},
2270	}
2271
2272	cont := true
2273	for p.Next() && cont {
2274		cont = fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage())
2275	}
2276	return p.Err()
2277}
2278
2279const opDescribeInstancesHealth = "DescribeInstancesHealth"
2280
2281// DescribeInstancesHealthRequest generates a "aws/request.Request" representing the
2282// client's request for the DescribeInstancesHealth operation. The "output" return
2283// value will be populated with the request's response once the request completes
2284// successfully.
2285//
2286// Use "Send" method on the returned Request to send the API call to the service.
2287// the "output" return value is not valid until after Send returns without error.
2288//
2289// See DescribeInstancesHealth for more information on using the DescribeInstancesHealth
2290// API call, and error handling.
2291//
2292// This method is useful when you want to inject custom logic or configuration
2293// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2294//
2295//
2296//    // Example sending a request using the DescribeInstancesHealthRequest method.
2297//    req, resp := client.DescribeInstancesHealthRequest(params)
2298//
2299//    err := req.Send()
2300//    if err == nil { // resp is now filled
2301//        fmt.Println(resp)
2302//    }
2303//
2304// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeInstancesHealth
2305func (c *ElasticBeanstalk) DescribeInstancesHealthRequest(input *DescribeInstancesHealthInput) (req *request.Request, output *DescribeInstancesHealthOutput) {
2306	op := &request.Operation{
2307		Name:       opDescribeInstancesHealth,
2308		HTTPMethod: "POST",
2309		HTTPPath:   "/",
2310	}
2311
2312	if input == nil {
2313		input = &DescribeInstancesHealthInput{}
2314	}
2315
2316	output = &DescribeInstancesHealthOutput{}
2317	req = c.newRequest(op, input, output)
2318	return
2319}
2320
2321// DescribeInstancesHealth API operation for AWS Elastic Beanstalk.
2322//
2323// Retrieves detailed information about the health of instances in your AWS
2324// Elastic Beanstalk. This operation requires enhanced health reporting (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced.html).
2325//
2326// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2327// with awserr.Error's Code and Message methods to get detailed information about
2328// the error.
2329//
2330// See the AWS API reference guide for AWS Elastic Beanstalk's
2331// API operation DescribeInstancesHealth for usage and error information.
2332//
2333// Returned Error Codes:
2334//   * ErrCodeInvalidRequestException "InvalidRequestException"
2335//   One or more input parameters is not valid. Please correct the input parameters
2336//   and try the operation again.
2337//
2338//   * ErrCodeServiceException "ElasticBeanstalkServiceException"
2339//   A generic service exception has occurred.
2340//
2341// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeInstancesHealth
2342func (c *ElasticBeanstalk) DescribeInstancesHealth(input *DescribeInstancesHealthInput) (*DescribeInstancesHealthOutput, error) {
2343	req, out := c.DescribeInstancesHealthRequest(input)
2344	return out, req.Send()
2345}
2346
2347// DescribeInstancesHealthWithContext is the same as DescribeInstancesHealth with the addition of
2348// the ability to pass a context and additional request options.
2349//
2350// See DescribeInstancesHealth for details on how to use this API operation.
2351//
2352// The context must be non-nil and will be used for request cancellation. If
2353// the context is nil a panic will occur. In the future the SDK may create
2354// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2355// for more information on using Contexts.
2356func (c *ElasticBeanstalk) DescribeInstancesHealthWithContext(ctx aws.Context, input *DescribeInstancesHealthInput, opts ...request.Option) (*DescribeInstancesHealthOutput, error) {
2357	req, out := c.DescribeInstancesHealthRequest(input)
2358	req.SetContext(ctx)
2359	req.ApplyOptions(opts...)
2360	return out, req.Send()
2361}
2362
2363const opDescribePlatformVersion = "DescribePlatformVersion"
2364
2365// DescribePlatformVersionRequest generates a "aws/request.Request" representing the
2366// client's request for the DescribePlatformVersion operation. The "output" return
2367// value will be populated with the request's response once the request completes
2368// successfully.
2369//
2370// Use "Send" method on the returned Request to send the API call to the service.
2371// the "output" return value is not valid until after Send returns without error.
2372//
2373// See DescribePlatformVersion for more information on using the DescribePlatformVersion
2374// API call, and error handling.
2375//
2376// This method is useful when you want to inject custom logic or configuration
2377// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2378//
2379//
2380//    // Example sending a request using the DescribePlatformVersionRequest method.
2381//    req, resp := client.DescribePlatformVersionRequest(params)
2382//
2383//    err := req.Send()
2384//    if err == nil { // resp is now filled
2385//        fmt.Println(resp)
2386//    }
2387//
2388// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribePlatformVersion
2389func (c *ElasticBeanstalk) DescribePlatformVersionRequest(input *DescribePlatformVersionInput) (req *request.Request, output *DescribePlatformVersionOutput) {
2390	op := &request.Operation{
2391		Name:       opDescribePlatformVersion,
2392		HTTPMethod: "POST",
2393		HTTPPath:   "/",
2394	}
2395
2396	if input == nil {
2397		input = &DescribePlatformVersionInput{}
2398	}
2399
2400	output = &DescribePlatformVersionOutput{}
2401	req = c.newRequest(op, input, output)
2402	return
2403}
2404
2405// DescribePlatformVersion API operation for AWS Elastic Beanstalk.
2406//
2407// Describes the version of the platform.
2408//
2409// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2410// with awserr.Error's Code and Message methods to get detailed information about
2411// the error.
2412//
2413// See the AWS API reference guide for AWS Elastic Beanstalk's
2414// API operation DescribePlatformVersion for usage and error information.
2415//
2416// Returned Error Codes:
2417//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
2418//   The specified account does not have sufficient privileges for one or more
2419//   AWS services.
2420//
2421//   * ErrCodeServiceException "ElasticBeanstalkServiceException"
2422//   A generic service exception has occurred.
2423//
2424// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribePlatformVersion
2425func (c *ElasticBeanstalk) DescribePlatformVersion(input *DescribePlatformVersionInput) (*DescribePlatformVersionOutput, error) {
2426	req, out := c.DescribePlatformVersionRequest(input)
2427	return out, req.Send()
2428}
2429
2430// DescribePlatformVersionWithContext is the same as DescribePlatformVersion with the addition of
2431// the ability to pass a context and additional request options.
2432//
2433// See DescribePlatformVersion for details on how to use this API operation.
2434//
2435// The context must be non-nil and will be used for request cancellation. If
2436// the context is nil a panic will occur. In the future the SDK may create
2437// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2438// for more information on using Contexts.
2439func (c *ElasticBeanstalk) DescribePlatformVersionWithContext(ctx aws.Context, input *DescribePlatformVersionInput, opts ...request.Option) (*DescribePlatformVersionOutput, error) {
2440	req, out := c.DescribePlatformVersionRequest(input)
2441	req.SetContext(ctx)
2442	req.ApplyOptions(opts...)
2443	return out, req.Send()
2444}
2445
2446const opListAvailableSolutionStacks = "ListAvailableSolutionStacks"
2447
2448// ListAvailableSolutionStacksRequest generates a "aws/request.Request" representing the
2449// client's request for the ListAvailableSolutionStacks operation. The "output" return
2450// value will be populated with the request's response once the request completes
2451// successfully.
2452//
2453// Use "Send" method on the returned Request to send the API call to the service.
2454// the "output" return value is not valid until after Send returns without error.
2455//
2456// See ListAvailableSolutionStacks for more information on using the ListAvailableSolutionStacks
2457// API call, and error handling.
2458//
2459// This method is useful when you want to inject custom logic or configuration
2460// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2461//
2462//
2463//    // Example sending a request using the ListAvailableSolutionStacksRequest method.
2464//    req, resp := client.ListAvailableSolutionStacksRequest(params)
2465//
2466//    err := req.Send()
2467//    if err == nil { // resp is now filled
2468//        fmt.Println(resp)
2469//    }
2470//
2471// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ListAvailableSolutionStacks
2472func (c *ElasticBeanstalk) ListAvailableSolutionStacksRequest(input *ListAvailableSolutionStacksInput) (req *request.Request, output *ListAvailableSolutionStacksOutput) {
2473	op := &request.Operation{
2474		Name:       opListAvailableSolutionStacks,
2475		HTTPMethod: "POST",
2476		HTTPPath:   "/",
2477	}
2478
2479	if input == nil {
2480		input = &ListAvailableSolutionStacksInput{}
2481	}
2482
2483	output = &ListAvailableSolutionStacksOutput{}
2484	req = c.newRequest(op, input, output)
2485	return
2486}
2487
2488// ListAvailableSolutionStacks API operation for AWS Elastic Beanstalk.
2489//
2490// Returns a list of the available solution stack names, with the public version
2491// first and then in reverse chronological order.
2492//
2493// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2494// with awserr.Error's Code and Message methods to get detailed information about
2495// the error.
2496//
2497// See the AWS API reference guide for AWS Elastic Beanstalk's
2498// API operation ListAvailableSolutionStacks for usage and error information.
2499// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ListAvailableSolutionStacks
2500func (c *ElasticBeanstalk) ListAvailableSolutionStacks(input *ListAvailableSolutionStacksInput) (*ListAvailableSolutionStacksOutput, error) {
2501	req, out := c.ListAvailableSolutionStacksRequest(input)
2502	return out, req.Send()
2503}
2504
2505// ListAvailableSolutionStacksWithContext is the same as ListAvailableSolutionStacks with the addition of
2506// the ability to pass a context and additional request options.
2507//
2508// See ListAvailableSolutionStacks for details on how to use this API operation.
2509//
2510// The context must be non-nil and will be used for request cancellation. If
2511// the context is nil a panic will occur. In the future the SDK may create
2512// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2513// for more information on using Contexts.
2514func (c *ElasticBeanstalk) ListAvailableSolutionStacksWithContext(ctx aws.Context, input *ListAvailableSolutionStacksInput, opts ...request.Option) (*ListAvailableSolutionStacksOutput, error) {
2515	req, out := c.ListAvailableSolutionStacksRequest(input)
2516	req.SetContext(ctx)
2517	req.ApplyOptions(opts...)
2518	return out, req.Send()
2519}
2520
2521const opListPlatformVersions = "ListPlatformVersions"
2522
2523// ListPlatformVersionsRequest generates a "aws/request.Request" representing the
2524// client's request for the ListPlatformVersions operation. The "output" return
2525// value will be populated with the request's response once the request completes
2526// successfully.
2527//
2528// Use "Send" method on the returned Request to send the API call to the service.
2529// the "output" return value is not valid until after Send returns without error.
2530//
2531// See ListPlatformVersions for more information on using the ListPlatformVersions
2532// API call, and error handling.
2533//
2534// This method is useful when you want to inject custom logic or configuration
2535// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2536//
2537//
2538//    // Example sending a request using the ListPlatformVersionsRequest method.
2539//    req, resp := client.ListPlatformVersionsRequest(params)
2540//
2541//    err := req.Send()
2542//    if err == nil { // resp is now filled
2543//        fmt.Println(resp)
2544//    }
2545//
2546// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ListPlatformVersions
2547func (c *ElasticBeanstalk) ListPlatformVersionsRequest(input *ListPlatformVersionsInput) (req *request.Request, output *ListPlatformVersionsOutput) {
2548	op := &request.Operation{
2549		Name:       opListPlatformVersions,
2550		HTTPMethod: "POST",
2551		HTTPPath:   "/",
2552	}
2553
2554	if input == nil {
2555		input = &ListPlatformVersionsInput{}
2556	}
2557
2558	output = &ListPlatformVersionsOutput{}
2559	req = c.newRequest(op, input, output)
2560	return
2561}
2562
2563// ListPlatformVersions API operation for AWS Elastic Beanstalk.
2564//
2565// Lists the available platforms.
2566//
2567// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2568// with awserr.Error's Code and Message methods to get detailed information about
2569// the error.
2570//
2571// See the AWS API reference guide for AWS Elastic Beanstalk's
2572// API operation ListPlatformVersions for usage and error information.
2573//
2574// Returned Error Codes:
2575//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
2576//   The specified account does not have sufficient privileges for one or more
2577//   AWS services.
2578//
2579//   * ErrCodeServiceException "ElasticBeanstalkServiceException"
2580//   A generic service exception has occurred.
2581//
2582// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ListPlatformVersions
2583func (c *ElasticBeanstalk) ListPlatformVersions(input *ListPlatformVersionsInput) (*ListPlatformVersionsOutput, error) {
2584	req, out := c.ListPlatformVersionsRequest(input)
2585	return out, req.Send()
2586}
2587
2588// ListPlatformVersionsWithContext is the same as ListPlatformVersions with the addition of
2589// the ability to pass a context and additional request options.
2590//
2591// See ListPlatformVersions for details on how to use this API operation.
2592//
2593// The context must be non-nil and will be used for request cancellation. If
2594// the context is nil a panic will occur. In the future the SDK may create
2595// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2596// for more information on using Contexts.
2597func (c *ElasticBeanstalk) ListPlatformVersionsWithContext(ctx aws.Context, input *ListPlatformVersionsInput, opts ...request.Option) (*ListPlatformVersionsOutput, error) {
2598	req, out := c.ListPlatformVersionsRequest(input)
2599	req.SetContext(ctx)
2600	req.ApplyOptions(opts...)
2601	return out, req.Send()
2602}
2603
2604const opListTagsForResource = "ListTagsForResource"
2605
2606// ListTagsForResourceRequest generates a "aws/request.Request" representing the
2607// client's request for the ListTagsForResource operation. The "output" return
2608// value will be populated with the request's response once the request completes
2609// successfully.
2610//
2611// Use "Send" method on the returned Request to send the API call to the service.
2612// the "output" return value is not valid until after Send returns without error.
2613//
2614// See ListTagsForResource for more information on using the ListTagsForResource
2615// API call, and error handling.
2616//
2617// This method is useful when you want to inject custom logic or configuration
2618// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2619//
2620//
2621//    // Example sending a request using the ListTagsForResourceRequest method.
2622//    req, resp := client.ListTagsForResourceRequest(params)
2623//
2624//    err := req.Send()
2625//    if err == nil { // resp is now filled
2626//        fmt.Println(resp)
2627//    }
2628//
2629// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ListTagsForResource
2630func (c *ElasticBeanstalk) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
2631	op := &request.Operation{
2632		Name:       opListTagsForResource,
2633		HTTPMethod: "POST",
2634		HTTPPath:   "/",
2635	}
2636
2637	if input == nil {
2638		input = &ListTagsForResourceInput{}
2639	}
2640
2641	output = &ListTagsForResourceOutput{}
2642	req = c.newRequest(op, input, output)
2643	return
2644}
2645
2646// ListTagsForResource API operation for AWS Elastic Beanstalk.
2647//
2648// Returns the tags applied to an AWS Elastic Beanstalk resource. The response
2649// contains a list of tag key-value pairs.
2650//
2651// Currently, Elastic Beanstalk only supports tagging of Elastic Beanstalk environments.
2652// For details about environment tagging, see Tagging Resources in Your Elastic
2653// Beanstalk Environment (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.tagging.html).
2654//
2655// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2656// with awserr.Error's Code and Message methods to get detailed information about
2657// the error.
2658//
2659// See the AWS API reference guide for AWS Elastic Beanstalk's
2660// API operation ListTagsForResource for usage and error information.
2661//
2662// Returned Error Codes:
2663//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
2664//   The specified account does not have sufficient privileges for one or more
2665//   AWS services.
2666//
2667//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2668//   A resource doesn't exist for the specified Amazon Resource Name (ARN).
2669//
2670//   * ErrCodeResourceTypeNotSupportedException "ResourceTypeNotSupportedException"
2671//   The type of the specified Amazon Resource Name (ARN) isn't supported for
2672//   this operation.
2673//
2674// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ListTagsForResource
2675func (c *ElasticBeanstalk) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2676	req, out := c.ListTagsForResourceRequest(input)
2677	return out, req.Send()
2678}
2679
2680// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2681// the ability to pass a context and additional request options.
2682//
2683// See ListTagsForResource for details on how to use this API operation.
2684//
2685// The context must be non-nil and will be used for request cancellation. If
2686// the context is nil a panic will occur. In the future the SDK may create
2687// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2688// for more information on using Contexts.
2689func (c *ElasticBeanstalk) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2690	req, out := c.ListTagsForResourceRequest(input)
2691	req.SetContext(ctx)
2692	req.ApplyOptions(opts...)
2693	return out, req.Send()
2694}
2695
2696const opRebuildEnvironment = "RebuildEnvironment"
2697
2698// RebuildEnvironmentRequest generates a "aws/request.Request" representing the
2699// client's request for the RebuildEnvironment operation. The "output" return
2700// value will be populated with the request's response once the request completes
2701// successfully.
2702//
2703// Use "Send" method on the returned Request to send the API call to the service.
2704// the "output" return value is not valid until after Send returns without error.
2705//
2706// See RebuildEnvironment for more information on using the RebuildEnvironment
2707// API call, and error handling.
2708//
2709// This method is useful when you want to inject custom logic or configuration
2710// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2711//
2712//
2713//    // Example sending a request using the RebuildEnvironmentRequest method.
2714//    req, resp := client.RebuildEnvironmentRequest(params)
2715//
2716//    err := req.Send()
2717//    if err == nil { // resp is now filled
2718//        fmt.Println(resp)
2719//    }
2720//
2721// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/RebuildEnvironment
2722func (c *ElasticBeanstalk) RebuildEnvironmentRequest(input *RebuildEnvironmentInput) (req *request.Request, output *RebuildEnvironmentOutput) {
2723	op := &request.Operation{
2724		Name:       opRebuildEnvironment,
2725		HTTPMethod: "POST",
2726		HTTPPath:   "/",
2727	}
2728
2729	if input == nil {
2730		input = &RebuildEnvironmentInput{}
2731	}
2732
2733	output = &RebuildEnvironmentOutput{}
2734	req = c.newRequest(op, input, output)
2735	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2736	return
2737}
2738
2739// RebuildEnvironment API operation for AWS Elastic Beanstalk.
2740//
2741// Deletes and recreates all of the AWS resources (for example: the Auto Scaling
2742// group, load balancer, etc.) for a specified environment and forces a restart.
2743//
2744// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2745// with awserr.Error's Code and Message methods to get detailed information about
2746// the error.
2747//
2748// See the AWS API reference guide for AWS Elastic Beanstalk's
2749// API operation RebuildEnvironment for usage and error information.
2750//
2751// Returned Error Codes:
2752//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
2753//   The specified account does not have sufficient privileges for one or more
2754//   AWS services.
2755//
2756// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/RebuildEnvironment
2757func (c *ElasticBeanstalk) RebuildEnvironment(input *RebuildEnvironmentInput) (*RebuildEnvironmentOutput, error) {
2758	req, out := c.RebuildEnvironmentRequest(input)
2759	return out, req.Send()
2760}
2761
2762// RebuildEnvironmentWithContext is the same as RebuildEnvironment with the addition of
2763// the ability to pass a context and additional request options.
2764//
2765// See RebuildEnvironment for details on how to use this API operation.
2766//
2767// The context must be non-nil and will be used for request cancellation. If
2768// the context is nil a panic will occur. In the future the SDK may create
2769// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2770// for more information on using Contexts.
2771func (c *ElasticBeanstalk) RebuildEnvironmentWithContext(ctx aws.Context, input *RebuildEnvironmentInput, opts ...request.Option) (*RebuildEnvironmentOutput, error) {
2772	req, out := c.RebuildEnvironmentRequest(input)
2773	req.SetContext(ctx)
2774	req.ApplyOptions(opts...)
2775	return out, req.Send()
2776}
2777
2778const opRequestEnvironmentInfo = "RequestEnvironmentInfo"
2779
2780// RequestEnvironmentInfoRequest generates a "aws/request.Request" representing the
2781// client's request for the RequestEnvironmentInfo operation. The "output" return
2782// value will be populated with the request's response once the request completes
2783// successfully.
2784//
2785// Use "Send" method on the returned Request to send the API call to the service.
2786// the "output" return value is not valid until after Send returns without error.
2787//
2788// See RequestEnvironmentInfo for more information on using the RequestEnvironmentInfo
2789// API call, and error handling.
2790//
2791// This method is useful when you want to inject custom logic or configuration
2792// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2793//
2794//
2795//    // Example sending a request using the RequestEnvironmentInfoRequest method.
2796//    req, resp := client.RequestEnvironmentInfoRequest(params)
2797//
2798//    err := req.Send()
2799//    if err == nil { // resp is now filled
2800//        fmt.Println(resp)
2801//    }
2802//
2803// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/RequestEnvironmentInfo
2804func (c *ElasticBeanstalk) RequestEnvironmentInfoRequest(input *RequestEnvironmentInfoInput) (req *request.Request, output *RequestEnvironmentInfoOutput) {
2805	op := &request.Operation{
2806		Name:       opRequestEnvironmentInfo,
2807		HTTPMethod: "POST",
2808		HTTPPath:   "/",
2809	}
2810
2811	if input == nil {
2812		input = &RequestEnvironmentInfoInput{}
2813	}
2814
2815	output = &RequestEnvironmentInfoOutput{}
2816	req = c.newRequest(op, input, output)
2817	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2818	return
2819}
2820
2821// RequestEnvironmentInfo API operation for AWS Elastic Beanstalk.
2822//
2823// Initiates a request to compile the specified type of information of the deployed
2824// environment.
2825//
2826// Setting the InfoType to tail compiles the last lines from the application
2827// server log files of every Amazon EC2 instance in your environment.
2828//
2829// Setting the InfoType to bundle compresses the application server log files
2830// for every Amazon EC2 instance into a .zip file. Legacy and .NET containers
2831// do not support bundle logs.
2832//
2833// Use RetrieveEnvironmentInfo to obtain the set of logs.
2834//
2835// Related Topics
2836//
2837//    * RetrieveEnvironmentInfo
2838//
2839// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2840// with awserr.Error's Code and Message methods to get detailed information about
2841// the error.
2842//
2843// See the AWS API reference guide for AWS Elastic Beanstalk's
2844// API operation RequestEnvironmentInfo for usage and error information.
2845// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/RequestEnvironmentInfo
2846func (c *ElasticBeanstalk) RequestEnvironmentInfo(input *RequestEnvironmentInfoInput) (*RequestEnvironmentInfoOutput, error) {
2847	req, out := c.RequestEnvironmentInfoRequest(input)
2848	return out, req.Send()
2849}
2850
2851// RequestEnvironmentInfoWithContext is the same as RequestEnvironmentInfo with the addition of
2852// the ability to pass a context and additional request options.
2853//
2854// See RequestEnvironmentInfo for details on how to use this API operation.
2855//
2856// The context must be non-nil and will be used for request cancellation. If
2857// the context is nil a panic will occur. In the future the SDK may create
2858// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2859// for more information on using Contexts.
2860func (c *ElasticBeanstalk) RequestEnvironmentInfoWithContext(ctx aws.Context, input *RequestEnvironmentInfoInput, opts ...request.Option) (*RequestEnvironmentInfoOutput, error) {
2861	req, out := c.RequestEnvironmentInfoRequest(input)
2862	req.SetContext(ctx)
2863	req.ApplyOptions(opts...)
2864	return out, req.Send()
2865}
2866
2867const opRestartAppServer = "RestartAppServer"
2868
2869// RestartAppServerRequest generates a "aws/request.Request" representing the
2870// client's request for the RestartAppServer operation. The "output" return
2871// value will be populated with the request's response once the request completes
2872// successfully.
2873//
2874// Use "Send" method on the returned Request to send the API call to the service.
2875// the "output" return value is not valid until after Send returns without error.
2876//
2877// See RestartAppServer for more information on using the RestartAppServer
2878// API call, and error handling.
2879//
2880// This method is useful when you want to inject custom logic or configuration
2881// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2882//
2883//
2884//    // Example sending a request using the RestartAppServerRequest method.
2885//    req, resp := client.RestartAppServerRequest(params)
2886//
2887//    err := req.Send()
2888//    if err == nil { // resp is now filled
2889//        fmt.Println(resp)
2890//    }
2891//
2892// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/RestartAppServer
2893func (c *ElasticBeanstalk) RestartAppServerRequest(input *RestartAppServerInput) (req *request.Request, output *RestartAppServerOutput) {
2894	op := &request.Operation{
2895		Name:       opRestartAppServer,
2896		HTTPMethod: "POST",
2897		HTTPPath:   "/",
2898	}
2899
2900	if input == nil {
2901		input = &RestartAppServerInput{}
2902	}
2903
2904	output = &RestartAppServerOutput{}
2905	req = c.newRequest(op, input, output)
2906	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2907	return
2908}
2909
2910// RestartAppServer API operation for AWS Elastic Beanstalk.
2911//
2912// Causes the environment to restart the application container server running
2913// on each Amazon EC2 instance.
2914//
2915// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2916// with awserr.Error's Code and Message methods to get detailed information about
2917// the error.
2918//
2919// See the AWS API reference guide for AWS Elastic Beanstalk's
2920// API operation RestartAppServer for usage and error information.
2921// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/RestartAppServer
2922func (c *ElasticBeanstalk) RestartAppServer(input *RestartAppServerInput) (*RestartAppServerOutput, error) {
2923	req, out := c.RestartAppServerRequest(input)
2924	return out, req.Send()
2925}
2926
2927// RestartAppServerWithContext is the same as RestartAppServer with the addition of
2928// the ability to pass a context and additional request options.
2929//
2930// See RestartAppServer for details on how to use this API operation.
2931//
2932// The context must be non-nil and will be used for request cancellation. If
2933// the context is nil a panic will occur. In the future the SDK may create
2934// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2935// for more information on using Contexts.
2936func (c *ElasticBeanstalk) RestartAppServerWithContext(ctx aws.Context, input *RestartAppServerInput, opts ...request.Option) (*RestartAppServerOutput, error) {
2937	req, out := c.RestartAppServerRequest(input)
2938	req.SetContext(ctx)
2939	req.ApplyOptions(opts...)
2940	return out, req.Send()
2941}
2942
2943const opRetrieveEnvironmentInfo = "RetrieveEnvironmentInfo"
2944
2945// RetrieveEnvironmentInfoRequest generates a "aws/request.Request" representing the
2946// client's request for the RetrieveEnvironmentInfo operation. The "output" return
2947// value will be populated with the request's response once the request completes
2948// successfully.
2949//
2950// Use "Send" method on the returned Request to send the API call to the service.
2951// the "output" return value is not valid until after Send returns without error.
2952//
2953// See RetrieveEnvironmentInfo for more information on using the RetrieveEnvironmentInfo
2954// API call, and error handling.
2955//
2956// This method is useful when you want to inject custom logic or configuration
2957// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2958//
2959//
2960//    // Example sending a request using the RetrieveEnvironmentInfoRequest method.
2961//    req, resp := client.RetrieveEnvironmentInfoRequest(params)
2962//
2963//    err := req.Send()
2964//    if err == nil { // resp is now filled
2965//        fmt.Println(resp)
2966//    }
2967//
2968// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/RetrieveEnvironmentInfo
2969func (c *ElasticBeanstalk) RetrieveEnvironmentInfoRequest(input *RetrieveEnvironmentInfoInput) (req *request.Request, output *RetrieveEnvironmentInfoOutput) {
2970	op := &request.Operation{
2971		Name:       opRetrieveEnvironmentInfo,
2972		HTTPMethod: "POST",
2973		HTTPPath:   "/",
2974	}
2975
2976	if input == nil {
2977		input = &RetrieveEnvironmentInfoInput{}
2978	}
2979
2980	output = &RetrieveEnvironmentInfoOutput{}
2981	req = c.newRequest(op, input, output)
2982	return
2983}
2984
2985// RetrieveEnvironmentInfo API operation for AWS Elastic Beanstalk.
2986//
2987// Retrieves the compiled information from a RequestEnvironmentInfo request.
2988//
2989// Related Topics
2990//
2991//    * RequestEnvironmentInfo
2992//
2993// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2994// with awserr.Error's Code and Message methods to get detailed information about
2995// the error.
2996//
2997// See the AWS API reference guide for AWS Elastic Beanstalk's
2998// API operation RetrieveEnvironmentInfo for usage and error information.
2999// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/RetrieveEnvironmentInfo
3000func (c *ElasticBeanstalk) RetrieveEnvironmentInfo(input *RetrieveEnvironmentInfoInput) (*RetrieveEnvironmentInfoOutput, error) {
3001	req, out := c.RetrieveEnvironmentInfoRequest(input)
3002	return out, req.Send()
3003}
3004
3005// RetrieveEnvironmentInfoWithContext is the same as RetrieveEnvironmentInfo with the addition of
3006// the ability to pass a context and additional request options.
3007//
3008// See RetrieveEnvironmentInfo for details on how to use this API operation.
3009//
3010// The context must be non-nil and will be used for request cancellation. If
3011// the context is nil a panic will occur. In the future the SDK may create
3012// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3013// for more information on using Contexts.
3014func (c *ElasticBeanstalk) RetrieveEnvironmentInfoWithContext(ctx aws.Context, input *RetrieveEnvironmentInfoInput, opts ...request.Option) (*RetrieveEnvironmentInfoOutput, error) {
3015	req, out := c.RetrieveEnvironmentInfoRequest(input)
3016	req.SetContext(ctx)
3017	req.ApplyOptions(opts...)
3018	return out, req.Send()
3019}
3020
3021const opSwapEnvironmentCNAMEs = "SwapEnvironmentCNAMEs"
3022
3023// SwapEnvironmentCNAMEsRequest generates a "aws/request.Request" representing the
3024// client's request for the SwapEnvironmentCNAMEs operation. The "output" return
3025// value will be populated with the request's response once the request completes
3026// successfully.
3027//
3028// Use "Send" method on the returned Request to send the API call to the service.
3029// the "output" return value is not valid until after Send returns without error.
3030//
3031// See SwapEnvironmentCNAMEs for more information on using the SwapEnvironmentCNAMEs
3032// API call, and error handling.
3033//
3034// This method is useful when you want to inject custom logic or configuration
3035// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3036//
3037//
3038//    // Example sending a request using the SwapEnvironmentCNAMEsRequest method.
3039//    req, resp := client.SwapEnvironmentCNAMEsRequest(params)
3040//
3041//    err := req.Send()
3042//    if err == nil { // resp is now filled
3043//        fmt.Println(resp)
3044//    }
3045//
3046// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/SwapEnvironmentCNAMEs
3047func (c *ElasticBeanstalk) SwapEnvironmentCNAMEsRequest(input *SwapEnvironmentCNAMEsInput) (req *request.Request, output *SwapEnvironmentCNAMEsOutput) {
3048	op := &request.Operation{
3049		Name:       opSwapEnvironmentCNAMEs,
3050		HTTPMethod: "POST",
3051		HTTPPath:   "/",
3052	}
3053
3054	if input == nil {
3055		input = &SwapEnvironmentCNAMEsInput{}
3056	}
3057
3058	output = &SwapEnvironmentCNAMEsOutput{}
3059	req = c.newRequest(op, input, output)
3060	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3061	return
3062}
3063
3064// SwapEnvironmentCNAMEs API operation for AWS Elastic Beanstalk.
3065//
3066// Swaps the CNAMEs of two environments.
3067//
3068// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3069// with awserr.Error's Code and Message methods to get detailed information about
3070// the error.
3071//
3072// See the AWS API reference guide for AWS Elastic Beanstalk's
3073// API operation SwapEnvironmentCNAMEs for usage and error information.
3074// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/SwapEnvironmentCNAMEs
3075func (c *ElasticBeanstalk) SwapEnvironmentCNAMEs(input *SwapEnvironmentCNAMEsInput) (*SwapEnvironmentCNAMEsOutput, error) {
3076	req, out := c.SwapEnvironmentCNAMEsRequest(input)
3077	return out, req.Send()
3078}
3079
3080// SwapEnvironmentCNAMEsWithContext is the same as SwapEnvironmentCNAMEs with the addition of
3081// the ability to pass a context and additional request options.
3082//
3083// See SwapEnvironmentCNAMEs for details on how to use this API operation.
3084//
3085// The context must be non-nil and will be used for request cancellation. If
3086// the context is nil a panic will occur. In the future the SDK may create
3087// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3088// for more information on using Contexts.
3089func (c *ElasticBeanstalk) SwapEnvironmentCNAMEsWithContext(ctx aws.Context, input *SwapEnvironmentCNAMEsInput, opts ...request.Option) (*SwapEnvironmentCNAMEsOutput, error) {
3090	req, out := c.SwapEnvironmentCNAMEsRequest(input)
3091	req.SetContext(ctx)
3092	req.ApplyOptions(opts...)
3093	return out, req.Send()
3094}
3095
3096const opTerminateEnvironment = "TerminateEnvironment"
3097
3098// TerminateEnvironmentRequest generates a "aws/request.Request" representing the
3099// client's request for the TerminateEnvironment operation. The "output" return
3100// value will be populated with the request's response once the request completes
3101// successfully.
3102//
3103// Use "Send" method on the returned Request to send the API call to the service.
3104// the "output" return value is not valid until after Send returns without error.
3105//
3106// See TerminateEnvironment for more information on using the TerminateEnvironment
3107// API call, and error handling.
3108//
3109// This method is useful when you want to inject custom logic or configuration
3110// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3111//
3112//
3113//    // Example sending a request using the TerminateEnvironmentRequest method.
3114//    req, resp := client.TerminateEnvironmentRequest(params)
3115//
3116//    err := req.Send()
3117//    if err == nil { // resp is now filled
3118//        fmt.Println(resp)
3119//    }
3120//
3121// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/TerminateEnvironment
3122func (c *ElasticBeanstalk) TerminateEnvironmentRequest(input *TerminateEnvironmentInput) (req *request.Request, output *EnvironmentDescription) {
3123	op := &request.Operation{
3124		Name:       opTerminateEnvironment,
3125		HTTPMethod: "POST",
3126		HTTPPath:   "/",
3127	}
3128
3129	if input == nil {
3130		input = &TerminateEnvironmentInput{}
3131	}
3132
3133	output = &EnvironmentDescription{}
3134	req = c.newRequest(op, input, output)
3135	return
3136}
3137
3138// TerminateEnvironment API operation for AWS Elastic Beanstalk.
3139//
3140// Terminates the specified environment.
3141//
3142// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3143// with awserr.Error's Code and Message methods to get detailed information about
3144// the error.
3145//
3146// See the AWS API reference guide for AWS Elastic Beanstalk's
3147// API operation TerminateEnvironment for usage and error information.
3148//
3149// Returned Error Codes:
3150//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
3151//   The specified account does not have sufficient privileges for one or more
3152//   AWS services.
3153//
3154// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/TerminateEnvironment
3155func (c *ElasticBeanstalk) TerminateEnvironment(input *TerminateEnvironmentInput) (*EnvironmentDescription, error) {
3156	req, out := c.TerminateEnvironmentRequest(input)
3157	return out, req.Send()
3158}
3159
3160// TerminateEnvironmentWithContext is the same as TerminateEnvironment with the addition of
3161// the ability to pass a context and additional request options.
3162//
3163// See TerminateEnvironment for details on how to use this API operation.
3164//
3165// The context must be non-nil and will be used for request cancellation. If
3166// the context is nil a panic will occur. In the future the SDK may create
3167// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3168// for more information on using Contexts.
3169func (c *ElasticBeanstalk) TerminateEnvironmentWithContext(ctx aws.Context, input *TerminateEnvironmentInput, opts ...request.Option) (*EnvironmentDescription, error) {
3170	req, out := c.TerminateEnvironmentRequest(input)
3171	req.SetContext(ctx)
3172	req.ApplyOptions(opts...)
3173	return out, req.Send()
3174}
3175
3176const opUpdateApplication = "UpdateApplication"
3177
3178// UpdateApplicationRequest generates a "aws/request.Request" representing the
3179// client's request for the UpdateApplication operation. The "output" return
3180// value will be populated with the request's response once the request completes
3181// successfully.
3182//
3183// Use "Send" method on the returned Request to send the API call to the service.
3184// the "output" return value is not valid until after Send returns without error.
3185//
3186// See UpdateApplication for more information on using the UpdateApplication
3187// API call, and error handling.
3188//
3189// This method is useful when you want to inject custom logic or configuration
3190// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3191//
3192//
3193//    // Example sending a request using the UpdateApplicationRequest method.
3194//    req, resp := client.UpdateApplicationRequest(params)
3195//
3196//    err := req.Send()
3197//    if err == nil { // resp is now filled
3198//        fmt.Println(resp)
3199//    }
3200//
3201// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateApplication
3202func (c *ElasticBeanstalk) UpdateApplicationRequest(input *UpdateApplicationInput) (req *request.Request, output *ApplicationDescriptionMessage) {
3203	op := &request.Operation{
3204		Name:       opUpdateApplication,
3205		HTTPMethod: "POST",
3206		HTTPPath:   "/",
3207	}
3208
3209	if input == nil {
3210		input = &UpdateApplicationInput{}
3211	}
3212
3213	output = &ApplicationDescriptionMessage{}
3214	req = c.newRequest(op, input, output)
3215	return
3216}
3217
3218// UpdateApplication API operation for AWS Elastic Beanstalk.
3219//
3220// Updates the specified application to have the specified properties.
3221//
3222// If a property (for example, description) is not provided, the value remains
3223// unchanged. To clear these properties, specify an empty string.
3224//
3225// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3226// with awserr.Error's Code and Message methods to get detailed information about
3227// the error.
3228//
3229// See the AWS API reference guide for AWS Elastic Beanstalk's
3230// API operation UpdateApplication for usage and error information.
3231// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateApplication
3232func (c *ElasticBeanstalk) UpdateApplication(input *UpdateApplicationInput) (*ApplicationDescriptionMessage, error) {
3233	req, out := c.UpdateApplicationRequest(input)
3234	return out, req.Send()
3235}
3236
3237// UpdateApplicationWithContext is the same as UpdateApplication with the addition of
3238// the ability to pass a context and additional request options.
3239//
3240// See UpdateApplication for details on how to use this API operation.
3241//
3242// The context must be non-nil and will be used for request cancellation. If
3243// the context is nil a panic will occur. In the future the SDK may create
3244// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3245// for more information on using Contexts.
3246func (c *ElasticBeanstalk) UpdateApplicationWithContext(ctx aws.Context, input *UpdateApplicationInput, opts ...request.Option) (*ApplicationDescriptionMessage, error) {
3247	req, out := c.UpdateApplicationRequest(input)
3248	req.SetContext(ctx)
3249	req.ApplyOptions(opts...)
3250	return out, req.Send()
3251}
3252
3253const opUpdateApplicationResourceLifecycle = "UpdateApplicationResourceLifecycle"
3254
3255// UpdateApplicationResourceLifecycleRequest generates a "aws/request.Request" representing the
3256// client's request for the UpdateApplicationResourceLifecycle operation. The "output" return
3257// value will be populated with the request's response once the request completes
3258// successfully.
3259//
3260// Use "Send" method on the returned Request to send the API call to the service.
3261// the "output" return value is not valid until after Send returns without error.
3262//
3263// See UpdateApplicationResourceLifecycle for more information on using the UpdateApplicationResourceLifecycle
3264// API call, and error handling.
3265//
3266// This method is useful when you want to inject custom logic or configuration
3267// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3268//
3269//
3270//    // Example sending a request using the UpdateApplicationResourceLifecycleRequest method.
3271//    req, resp := client.UpdateApplicationResourceLifecycleRequest(params)
3272//
3273//    err := req.Send()
3274//    if err == nil { // resp is now filled
3275//        fmt.Println(resp)
3276//    }
3277//
3278// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateApplicationResourceLifecycle
3279func (c *ElasticBeanstalk) UpdateApplicationResourceLifecycleRequest(input *UpdateApplicationResourceLifecycleInput) (req *request.Request, output *UpdateApplicationResourceLifecycleOutput) {
3280	op := &request.Operation{
3281		Name:       opUpdateApplicationResourceLifecycle,
3282		HTTPMethod: "POST",
3283		HTTPPath:   "/",
3284	}
3285
3286	if input == nil {
3287		input = &UpdateApplicationResourceLifecycleInput{}
3288	}
3289
3290	output = &UpdateApplicationResourceLifecycleOutput{}
3291	req = c.newRequest(op, input, output)
3292	return
3293}
3294
3295// UpdateApplicationResourceLifecycle API operation for AWS Elastic Beanstalk.
3296//
3297// Modifies lifecycle settings for an application.
3298//
3299// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3300// with awserr.Error's Code and Message methods to get detailed information about
3301// the error.
3302//
3303// See the AWS API reference guide for AWS Elastic Beanstalk's
3304// API operation UpdateApplicationResourceLifecycle for usage and error information.
3305//
3306// Returned Error Codes:
3307//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
3308//   The specified account does not have sufficient privileges for one or more
3309//   AWS services.
3310//
3311// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateApplicationResourceLifecycle
3312func (c *ElasticBeanstalk) UpdateApplicationResourceLifecycle(input *UpdateApplicationResourceLifecycleInput) (*UpdateApplicationResourceLifecycleOutput, error) {
3313	req, out := c.UpdateApplicationResourceLifecycleRequest(input)
3314	return out, req.Send()
3315}
3316
3317// UpdateApplicationResourceLifecycleWithContext is the same as UpdateApplicationResourceLifecycle with the addition of
3318// the ability to pass a context and additional request options.
3319//
3320// See UpdateApplicationResourceLifecycle for details on how to use this API operation.
3321//
3322// The context must be non-nil and will be used for request cancellation. If
3323// the context is nil a panic will occur. In the future the SDK may create
3324// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3325// for more information on using Contexts.
3326func (c *ElasticBeanstalk) UpdateApplicationResourceLifecycleWithContext(ctx aws.Context, input *UpdateApplicationResourceLifecycleInput, opts ...request.Option) (*UpdateApplicationResourceLifecycleOutput, error) {
3327	req, out := c.UpdateApplicationResourceLifecycleRequest(input)
3328	req.SetContext(ctx)
3329	req.ApplyOptions(opts...)
3330	return out, req.Send()
3331}
3332
3333const opUpdateApplicationVersion = "UpdateApplicationVersion"
3334
3335// UpdateApplicationVersionRequest generates a "aws/request.Request" representing the
3336// client's request for the UpdateApplicationVersion operation. The "output" return
3337// value will be populated with the request's response once the request completes
3338// successfully.
3339//
3340// Use "Send" method on the returned Request to send the API call to the service.
3341// the "output" return value is not valid until after Send returns without error.
3342//
3343// See UpdateApplicationVersion for more information on using the UpdateApplicationVersion
3344// API call, and error handling.
3345//
3346// This method is useful when you want to inject custom logic or configuration
3347// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3348//
3349//
3350//    // Example sending a request using the UpdateApplicationVersionRequest method.
3351//    req, resp := client.UpdateApplicationVersionRequest(params)
3352//
3353//    err := req.Send()
3354//    if err == nil { // resp is now filled
3355//        fmt.Println(resp)
3356//    }
3357//
3358// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateApplicationVersion
3359func (c *ElasticBeanstalk) UpdateApplicationVersionRequest(input *UpdateApplicationVersionInput) (req *request.Request, output *ApplicationVersionDescriptionMessage) {
3360	op := &request.Operation{
3361		Name:       opUpdateApplicationVersion,
3362		HTTPMethod: "POST",
3363		HTTPPath:   "/",
3364	}
3365
3366	if input == nil {
3367		input = &UpdateApplicationVersionInput{}
3368	}
3369
3370	output = &ApplicationVersionDescriptionMessage{}
3371	req = c.newRequest(op, input, output)
3372	return
3373}
3374
3375// UpdateApplicationVersion API operation for AWS Elastic Beanstalk.
3376//
3377// Updates the specified application version to have the specified properties.
3378//
3379// If a property (for example, description) is not provided, the value remains
3380// unchanged. To clear properties, specify an empty string.
3381//
3382// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3383// with awserr.Error's Code and Message methods to get detailed information about
3384// the error.
3385//
3386// See the AWS API reference guide for AWS Elastic Beanstalk's
3387// API operation UpdateApplicationVersion for usage and error information.
3388// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateApplicationVersion
3389func (c *ElasticBeanstalk) UpdateApplicationVersion(input *UpdateApplicationVersionInput) (*ApplicationVersionDescriptionMessage, error) {
3390	req, out := c.UpdateApplicationVersionRequest(input)
3391	return out, req.Send()
3392}
3393
3394// UpdateApplicationVersionWithContext is the same as UpdateApplicationVersion with the addition of
3395// the ability to pass a context and additional request options.
3396//
3397// See UpdateApplicationVersion for details on how to use this API operation.
3398//
3399// The context must be non-nil and will be used for request cancellation. If
3400// the context is nil a panic will occur. In the future the SDK may create
3401// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3402// for more information on using Contexts.
3403func (c *ElasticBeanstalk) UpdateApplicationVersionWithContext(ctx aws.Context, input *UpdateApplicationVersionInput, opts ...request.Option) (*ApplicationVersionDescriptionMessage, error) {
3404	req, out := c.UpdateApplicationVersionRequest(input)
3405	req.SetContext(ctx)
3406	req.ApplyOptions(opts...)
3407	return out, req.Send()
3408}
3409
3410const opUpdateConfigurationTemplate = "UpdateConfigurationTemplate"
3411
3412// UpdateConfigurationTemplateRequest generates a "aws/request.Request" representing the
3413// client's request for the UpdateConfigurationTemplate operation. The "output" return
3414// value will be populated with the request's response once the request completes
3415// successfully.
3416//
3417// Use "Send" method on the returned Request to send the API call to the service.
3418// the "output" return value is not valid until after Send returns without error.
3419//
3420// See UpdateConfigurationTemplate for more information on using the UpdateConfigurationTemplate
3421// API call, and error handling.
3422//
3423// This method is useful when you want to inject custom logic or configuration
3424// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3425//
3426//
3427//    // Example sending a request using the UpdateConfigurationTemplateRequest method.
3428//    req, resp := client.UpdateConfigurationTemplateRequest(params)
3429//
3430//    err := req.Send()
3431//    if err == nil { // resp is now filled
3432//        fmt.Println(resp)
3433//    }
3434//
3435// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateConfigurationTemplate
3436func (c *ElasticBeanstalk) UpdateConfigurationTemplateRequest(input *UpdateConfigurationTemplateInput) (req *request.Request, output *ConfigurationSettingsDescription) {
3437	op := &request.Operation{
3438		Name:       opUpdateConfigurationTemplate,
3439		HTTPMethod: "POST",
3440		HTTPPath:   "/",
3441	}
3442
3443	if input == nil {
3444		input = &UpdateConfigurationTemplateInput{}
3445	}
3446
3447	output = &ConfigurationSettingsDescription{}
3448	req = c.newRequest(op, input, output)
3449	return
3450}
3451
3452// UpdateConfigurationTemplate API operation for AWS Elastic Beanstalk.
3453//
3454// Updates the specified configuration template to have the specified properties
3455// or configuration option values.
3456//
3457// If a property (for example, ApplicationName) is not provided, its value remains
3458// unchanged. To clear such properties, specify an empty string.
3459//
3460// Related Topics
3461//
3462//    * DescribeConfigurationOptions
3463//
3464// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3465// with awserr.Error's Code and Message methods to get detailed information about
3466// the error.
3467//
3468// See the AWS API reference guide for AWS Elastic Beanstalk's
3469// API operation UpdateConfigurationTemplate for usage and error information.
3470//
3471// Returned Error Codes:
3472//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
3473//   The specified account does not have sufficient privileges for one or more
3474//   AWS services.
3475//
3476//   * ErrCodeTooManyBucketsException "TooManyBucketsException"
3477//   The specified account has reached its limit of Amazon S3 buckets.
3478//
3479// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateConfigurationTemplate
3480func (c *ElasticBeanstalk) UpdateConfigurationTemplate(input *UpdateConfigurationTemplateInput) (*ConfigurationSettingsDescription, error) {
3481	req, out := c.UpdateConfigurationTemplateRequest(input)
3482	return out, req.Send()
3483}
3484
3485// UpdateConfigurationTemplateWithContext is the same as UpdateConfigurationTemplate with the addition of
3486// the ability to pass a context and additional request options.
3487//
3488// See UpdateConfigurationTemplate for details on how to use this API operation.
3489//
3490// The context must be non-nil and will be used for request cancellation. If
3491// the context is nil a panic will occur. In the future the SDK may create
3492// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3493// for more information on using Contexts.
3494func (c *ElasticBeanstalk) UpdateConfigurationTemplateWithContext(ctx aws.Context, input *UpdateConfigurationTemplateInput, opts ...request.Option) (*ConfigurationSettingsDescription, error) {
3495	req, out := c.UpdateConfigurationTemplateRequest(input)
3496	req.SetContext(ctx)
3497	req.ApplyOptions(opts...)
3498	return out, req.Send()
3499}
3500
3501const opUpdateEnvironment = "UpdateEnvironment"
3502
3503// UpdateEnvironmentRequest generates a "aws/request.Request" representing the
3504// client's request for the UpdateEnvironment operation. The "output" return
3505// value will be populated with the request's response once the request completes
3506// successfully.
3507//
3508// Use "Send" method on the returned Request to send the API call to the service.
3509// the "output" return value is not valid until after Send returns without error.
3510//
3511// See UpdateEnvironment for more information on using the UpdateEnvironment
3512// API call, and error handling.
3513//
3514// This method is useful when you want to inject custom logic or configuration
3515// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3516//
3517//
3518//    // Example sending a request using the UpdateEnvironmentRequest method.
3519//    req, resp := client.UpdateEnvironmentRequest(params)
3520//
3521//    err := req.Send()
3522//    if err == nil { // resp is now filled
3523//        fmt.Println(resp)
3524//    }
3525//
3526// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateEnvironment
3527func (c *ElasticBeanstalk) UpdateEnvironmentRequest(input *UpdateEnvironmentInput) (req *request.Request, output *EnvironmentDescription) {
3528	op := &request.Operation{
3529		Name:       opUpdateEnvironment,
3530		HTTPMethod: "POST",
3531		HTTPPath:   "/",
3532	}
3533
3534	if input == nil {
3535		input = &UpdateEnvironmentInput{}
3536	}
3537
3538	output = &EnvironmentDescription{}
3539	req = c.newRequest(op, input, output)
3540	return
3541}
3542
3543// UpdateEnvironment API operation for AWS Elastic Beanstalk.
3544//
3545// Updates the environment description, deploys a new application version, updates
3546// the configuration settings to an entirely new configuration template, or
3547// updates select configuration option values in the running environment.
3548//
3549// Attempting to update both the release and configuration is not allowed and
3550// AWS Elastic Beanstalk returns an InvalidParameterCombination error.
3551//
3552// When updating the configuration settings to a new template or individual
3553// settings, a draft configuration is created and DescribeConfigurationSettings
3554// for this environment returns two setting descriptions with different DeploymentStatus
3555// values.
3556//
3557// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3558// with awserr.Error's Code and Message methods to get detailed information about
3559// the error.
3560//
3561// See the AWS API reference guide for AWS Elastic Beanstalk's
3562// API operation UpdateEnvironment for usage and error information.
3563//
3564// Returned Error Codes:
3565//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
3566//   The specified account does not have sufficient privileges for one or more
3567//   AWS services.
3568//
3569//   * ErrCodeTooManyBucketsException "TooManyBucketsException"
3570//   The specified account has reached its limit of Amazon S3 buckets.
3571//
3572// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateEnvironment
3573func (c *ElasticBeanstalk) UpdateEnvironment(input *UpdateEnvironmentInput) (*EnvironmentDescription, error) {
3574	req, out := c.UpdateEnvironmentRequest(input)
3575	return out, req.Send()
3576}
3577
3578// UpdateEnvironmentWithContext is the same as UpdateEnvironment with the addition of
3579// the ability to pass a context and additional request options.
3580//
3581// See UpdateEnvironment for details on how to use this API operation.
3582//
3583// The context must be non-nil and will be used for request cancellation. If
3584// the context is nil a panic will occur. In the future the SDK may create
3585// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3586// for more information on using Contexts.
3587func (c *ElasticBeanstalk) UpdateEnvironmentWithContext(ctx aws.Context, input *UpdateEnvironmentInput, opts ...request.Option) (*EnvironmentDescription, error) {
3588	req, out := c.UpdateEnvironmentRequest(input)
3589	req.SetContext(ctx)
3590	req.ApplyOptions(opts...)
3591	return out, req.Send()
3592}
3593
3594const opUpdateTagsForResource = "UpdateTagsForResource"
3595
3596// UpdateTagsForResourceRequest generates a "aws/request.Request" representing the
3597// client's request for the UpdateTagsForResource operation. The "output" return
3598// value will be populated with the request's response once the request completes
3599// successfully.
3600//
3601// Use "Send" method on the returned Request to send the API call to the service.
3602// the "output" return value is not valid until after Send returns without error.
3603//
3604// See UpdateTagsForResource for more information on using the UpdateTagsForResource
3605// API call, and error handling.
3606//
3607// This method is useful when you want to inject custom logic or configuration
3608// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3609//
3610//
3611//    // Example sending a request using the UpdateTagsForResourceRequest method.
3612//    req, resp := client.UpdateTagsForResourceRequest(params)
3613//
3614//    err := req.Send()
3615//    if err == nil { // resp is now filled
3616//        fmt.Println(resp)
3617//    }
3618//
3619// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateTagsForResource
3620func (c *ElasticBeanstalk) UpdateTagsForResourceRequest(input *UpdateTagsForResourceInput) (req *request.Request, output *UpdateTagsForResourceOutput) {
3621	op := &request.Operation{
3622		Name:       opUpdateTagsForResource,
3623		HTTPMethod: "POST",
3624		HTTPPath:   "/",
3625	}
3626
3627	if input == nil {
3628		input = &UpdateTagsForResourceInput{}
3629	}
3630
3631	output = &UpdateTagsForResourceOutput{}
3632	req = c.newRequest(op, input, output)
3633	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3634	return
3635}
3636
3637// UpdateTagsForResource API operation for AWS Elastic Beanstalk.
3638//
3639// Update the list of tags applied to an AWS Elastic Beanstalk resource. Two
3640// lists can be passed: TagsToAdd for tags to add or update, and TagsToRemove.
3641//
3642// Currently, Elastic Beanstalk only supports tagging of Elastic Beanstalk environments.
3643// For details about environment tagging, see Tagging Resources in Your Elastic
3644// Beanstalk Environment (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.tagging.html).
3645//
3646// If you create a custom IAM user policy to control permission to this operation,
3647// specify one of the following two virtual actions (or both) instead of the
3648// API operation name:
3649//
3650// elasticbeanstalk:AddTags
3651//
3652// Controls permission to call UpdateTagsForResource and pass a list of tags
3653// to add in the TagsToAdd parameter.
3654//
3655// elasticbeanstalk:RemoveTags
3656//
3657// Controls permission to call UpdateTagsForResource and pass a list of tag
3658// keys to remove in the TagsToRemove parameter.
3659//
3660// For details about creating a custom user policy, see Creating a Custom User
3661// Policy (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.iam.managed-policies.html#AWSHowTo.iam.policies).
3662//
3663// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3664// with awserr.Error's Code and Message methods to get detailed information about
3665// the error.
3666//
3667// See the AWS API reference guide for AWS Elastic Beanstalk's
3668// API operation UpdateTagsForResource for usage and error information.
3669//
3670// Returned Error Codes:
3671//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
3672//   The specified account does not have sufficient privileges for one or more
3673//   AWS services.
3674//
3675//   * ErrCodeOperationInProgressException "OperationInProgressFailure"
3676//   Unable to perform the specified operation because another operation that
3677//   effects an element in this activity is already in progress.
3678//
3679//   * ErrCodeTooManyTagsException "TooManyTagsException"
3680//   The number of tags in the resource would exceed the number of tags that each
3681//   resource can have.
3682//
3683//   To calculate this, the operation considers both the number of tags the resource
3684//   already has and the tags this operation would add if it succeeded.
3685//
3686//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3687//   A resource doesn't exist for the specified Amazon Resource Name (ARN).
3688//
3689//   * ErrCodeResourceTypeNotSupportedException "ResourceTypeNotSupportedException"
3690//   The type of the specified Amazon Resource Name (ARN) isn't supported for
3691//   this operation.
3692//
3693// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateTagsForResource
3694func (c *ElasticBeanstalk) UpdateTagsForResource(input *UpdateTagsForResourceInput) (*UpdateTagsForResourceOutput, error) {
3695	req, out := c.UpdateTagsForResourceRequest(input)
3696	return out, req.Send()
3697}
3698
3699// UpdateTagsForResourceWithContext is the same as UpdateTagsForResource with the addition of
3700// the ability to pass a context and additional request options.
3701//
3702// See UpdateTagsForResource for details on how to use this API operation.
3703//
3704// The context must be non-nil and will be used for request cancellation. If
3705// the context is nil a panic will occur. In the future the SDK may create
3706// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3707// for more information on using Contexts.
3708func (c *ElasticBeanstalk) UpdateTagsForResourceWithContext(ctx aws.Context, input *UpdateTagsForResourceInput, opts ...request.Option) (*UpdateTagsForResourceOutput, error) {
3709	req, out := c.UpdateTagsForResourceRequest(input)
3710	req.SetContext(ctx)
3711	req.ApplyOptions(opts...)
3712	return out, req.Send()
3713}
3714
3715const opValidateConfigurationSettings = "ValidateConfigurationSettings"
3716
3717// ValidateConfigurationSettingsRequest generates a "aws/request.Request" representing the
3718// client's request for the ValidateConfigurationSettings operation. The "output" return
3719// value will be populated with the request's response once the request completes
3720// successfully.
3721//
3722// Use "Send" method on the returned Request to send the API call to the service.
3723// the "output" return value is not valid until after Send returns without error.
3724//
3725// See ValidateConfigurationSettings for more information on using the ValidateConfigurationSettings
3726// API call, and error handling.
3727//
3728// This method is useful when you want to inject custom logic or configuration
3729// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3730//
3731//
3732//    // Example sending a request using the ValidateConfigurationSettingsRequest method.
3733//    req, resp := client.ValidateConfigurationSettingsRequest(params)
3734//
3735//    err := req.Send()
3736//    if err == nil { // resp is now filled
3737//        fmt.Println(resp)
3738//    }
3739//
3740// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ValidateConfigurationSettings
3741func (c *ElasticBeanstalk) ValidateConfigurationSettingsRequest(input *ValidateConfigurationSettingsInput) (req *request.Request, output *ValidateConfigurationSettingsOutput) {
3742	op := &request.Operation{
3743		Name:       opValidateConfigurationSettings,
3744		HTTPMethod: "POST",
3745		HTTPPath:   "/",
3746	}
3747
3748	if input == nil {
3749		input = &ValidateConfigurationSettingsInput{}
3750	}
3751
3752	output = &ValidateConfigurationSettingsOutput{}
3753	req = c.newRequest(op, input, output)
3754	return
3755}
3756
3757// ValidateConfigurationSettings API operation for AWS Elastic Beanstalk.
3758//
3759// Takes a set of configuration settings and either a configuration template
3760// or environment, and determines whether those values are valid.
3761//
3762// This action returns a list of messages indicating any errors or warnings
3763// associated with the selection of option values.
3764//
3765// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3766// with awserr.Error's Code and Message methods to get detailed information about
3767// the error.
3768//
3769// See the AWS API reference guide for AWS Elastic Beanstalk's
3770// API operation ValidateConfigurationSettings for usage and error information.
3771//
3772// Returned Error Codes:
3773//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
3774//   The specified account does not have sufficient privileges for one or more
3775//   AWS services.
3776//
3777//   * ErrCodeTooManyBucketsException "TooManyBucketsException"
3778//   The specified account has reached its limit of Amazon S3 buckets.
3779//
3780// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ValidateConfigurationSettings
3781func (c *ElasticBeanstalk) ValidateConfigurationSettings(input *ValidateConfigurationSettingsInput) (*ValidateConfigurationSettingsOutput, error) {
3782	req, out := c.ValidateConfigurationSettingsRequest(input)
3783	return out, req.Send()
3784}
3785
3786// ValidateConfigurationSettingsWithContext is the same as ValidateConfigurationSettings with the addition of
3787// the ability to pass a context and additional request options.
3788//
3789// See ValidateConfigurationSettings for details on how to use this API operation.
3790//
3791// The context must be non-nil and will be used for request cancellation. If
3792// the context is nil a panic will occur. In the future the SDK may create
3793// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3794// for more information on using Contexts.
3795func (c *ElasticBeanstalk) ValidateConfigurationSettingsWithContext(ctx aws.Context, input *ValidateConfigurationSettingsInput, opts ...request.Option) (*ValidateConfigurationSettingsOutput, error) {
3796	req, out := c.ValidateConfigurationSettingsRequest(input)
3797	req.SetContext(ctx)
3798	req.ApplyOptions(opts...)
3799	return out, req.Send()
3800}
3801
3802type AbortEnvironmentUpdateInput struct {
3803	_ struct{} `type:"structure"`
3804
3805	// This specifies the ID of the environment with the in-progress update that
3806	// you want to cancel.
3807	EnvironmentId *string `type:"string"`
3808
3809	// This specifies the name of the environment with the in-progress update that
3810	// you want to cancel.
3811	EnvironmentName *string `min:"4" type:"string"`
3812}
3813
3814// String returns the string representation
3815func (s AbortEnvironmentUpdateInput) String() string {
3816	return awsutil.Prettify(s)
3817}
3818
3819// GoString returns the string representation
3820func (s AbortEnvironmentUpdateInput) GoString() string {
3821	return s.String()
3822}
3823
3824// Validate inspects the fields of the type to determine if they are valid.
3825func (s *AbortEnvironmentUpdateInput) Validate() error {
3826	invalidParams := request.ErrInvalidParams{Context: "AbortEnvironmentUpdateInput"}
3827	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
3828		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
3829	}
3830
3831	if invalidParams.Len() > 0 {
3832		return invalidParams
3833	}
3834	return nil
3835}
3836
3837// SetEnvironmentId sets the EnvironmentId field's value.
3838func (s *AbortEnvironmentUpdateInput) SetEnvironmentId(v string) *AbortEnvironmentUpdateInput {
3839	s.EnvironmentId = &v
3840	return s
3841}
3842
3843// SetEnvironmentName sets the EnvironmentName field's value.
3844func (s *AbortEnvironmentUpdateInput) SetEnvironmentName(v string) *AbortEnvironmentUpdateInput {
3845	s.EnvironmentName = &v
3846	return s
3847}
3848
3849type AbortEnvironmentUpdateOutput struct {
3850	_ struct{} `type:"structure"`
3851}
3852
3853// String returns the string representation
3854func (s AbortEnvironmentUpdateOutput) String() string {
3855	return awsutil.Prettify(s)
3856}
3857
3858// GoString returns the string representation
3859func (s AbortEnvironmentUpdateOutput) GoString() string {
3860	return s.String()
3861}
3862
3863// Describes the properties of an application.
3864type ApplicationDescription struct {
3865	_ struct{} `type:"structure"`
3866
3867	// The Amazon Resource Name (ARN) of the application.
3868	ApplicationArn *string `type:"string"`
3869
3870	// The name of the application.
3871	ApplicationName *string `min:"1" type:"string"`
3872
3873	// The names of the configuration templates associated with this application.
3874	ConfigurationTemplates []*string `type:"list"`
3875
3876	// The date when the application was created.
3877	DateCreated *time.Time `type:"timestamp"`
3878
3879	// The date when the application was last modified.
3880	DateUpdated *time.Time `type:"timestamp"`
3881
3882	// User-defined description of the application.
3883	Description *string `type:"string"`
3884
3885	// The lifecycle settings for the application.
3886	ResourceLifecycleConfig *ApplicationResourceLifecycleConfig `type:"structure"`
3887
3888	// The names of the versions for this application.
3889	Versions []*string `type:"list"`
3890}
3891
3892// String returns the string representation
3893func (s ApplicationDescription) String() string {
3894	return awsutil.Prettify(s)
3895}
3896
3897// GoString returns the string representation
3898func (s ApplicationDescription) GoString() string {
3899	return s.String()
3900}
3901
3902// SetApplicationArn sets the ApplicationArn field's value.
3903func (s *ApplicationDescription) SetApplicationArn(v string) *ApplicationDescription {
3904	s.ApplicationArn = &v
3905	return s
3906}
3907
3908// SetApplicationName sets the ApplicationName field's value.
3909func (s *ApplicationDescription) SetApplicationName(v string) *ApplicationDescription {
3910	s.ApplicationName = &v
3911	return s
3912}
3913
3914// SetConfigurationTemplates sets the ConfigurationTemplates field's value.
3915func (s *ApplicationDescription) SetConfigurationTemplates(v []*string) *ApplicationDescription {
3916	s.ConfigurationTemplates = v
3917	return s
3918}
3919
3920// SetDateCreated sets the DateCreated field's value.
3921func (s *ApplicationDescription) SetDateCreated(v time.Time) *ApplicationDescription {
3922	s.DateCreated = &v
3923	return s
3924}
3925
3926// SetDateUpdated sets the DateUpdated field's value.
3927func (s *ApplicationDescription) SetDateUpdated(v time.Time) *ApplicationDescription {
3928	s.DateUpdated = &v
3929	return s
3930}
3931
3932// SetDescription sets the Description field's value.
3933func (s *ApplicationDescription) SetDescription(v string) *ApplicationDescription {
3934	s.Description = &v
3935	return s
3936}
3937
3938// SetResourceLifecycleConfig sets the ResourceLifecycleConfig field's value.
3939func (s *ApplicationDescription) SetResourceLifecycleConfig(v *ApplicationResourceLifecycleConfig) *ApplicationDescription {
3940	s.ResourceLifecycleConfig = v
3941	return s
3942}
3943
3944// SetVersions sets the Versions field's value.
3945func (s *ApplicationDescription) SetVersions(v []*string) *ApplicationDescription {
3946	s.Versions = v
3947	return s
3948}
3949
3950// Result message containing a single description of an application.
3951type ApplicationDescriptionMessage struct {
3952	_ struct{} `type:"structure"`
3953
3954	// The ApplicationDescription of the application.
3955	Application *ApplicationDescription `type:"structure"`
3956}
3957
3958// String returns the string representation
3959func (s ApplicationDescriptionMessage) String() string {
3960	return awsutil.Prettify(s)
3961}
3962
3963// GoString returns the string representation
3964func (s ApplicationDescriptionMessage) GoString() string {
3965	return s.String()
3966}
3967
3968// SetApplication sets the Application field's value.
3969func (s *ApplicationDescriptionMessage) SetApplication(v *ApplicationDescription) *ApplicationDescriptionMessage {
3970	s.Application = v
3971	return s
3972}
3973
3974// Application request metrics for an AWS Elastic Beanstalk environment.
3975type ApplicationMetrics struct {
3976	_ struct{} `type:"structure"`
3977
3978	// The amount of time that the metrics cover (usually 10 seconds). For example,
3979	// you might have 5 requests (request_count) within the most recent time slice
3980	// of 10 seconds (duration).
3981	Duration *int64 `type:"integer"`
3982
3983	// Represents the average latency for the slowest X percent of requests over
3984	// the last 10 seconds. Latencies are in seconds with one millisecond resolution.
3985	Latency *Latency `type:"structure"`
3986
3987	// Average number of requests handled by the web server per second over the
3988	// last 10 seconds.
3989	RequestCount *int64 `type:"integer"`
3990
3991	// Represents the percentage of requests over the last 10 seconds that resulted
3992	// in each type of status code response.
3993	StatusCodes *StatusCodes `type:"structure"`
3994}
3995
3996// String returns the string representation
3997func (s ApplicationMetrics) String() string {
3998	return awsutil.Prettify(s)
3999}
4000
4001// GoString returns the string representation
4002func (s ApplicationMetrics) GoString() string {
4003	return s.String()
4004}
4005
4006// SetDuration sets the Duration field's value.
4007func (s *ApplicationMetrics) SetDuration(v int64) *ApplicationMetrics {
4008	s.Duration = &v
4009	return s
4010}
4011
4012// SetLatency sets the Latency field's value.
4013func (s *ApplicationMetrics) SetLatency(v *Latency) *ApplicationMetrics {
4014	s.Latency = v
4015	return s
4016}
4017
4018// SetRequestCount sets the RequestCount field's value.
4019func (s *ApplicationMetrics) SetRequestCount(v int64) *ApplicationMetrics {
4020	s.RequestCount = &v
4021	return s
4022}
4023
4024// SetStatusCodes sets the StatusCodes field's value.
4025func (s *ApplicationMetrics) SetStatusCodes(v *StatusCodes) *ApplicationMetrics {
4026	s.StatusCodes = v
4027	return s
4028}
4029
4030// The resource lifecycle configuration for an application. Defines lifecycle
4031// settings for resources that belong to the application, and the service role
4032// that Elastic Beanstalk assumes in order to apply lifecycle settings. The
4033// version lifecycle configuration defines lifecycle settings for application
4034// versions.
4035type ApplicationResourceLifecycleConfig struct {
4036	_ struct{} `type:"structure"`
4037
4038	// The ARN of an IAM service role that Elastic Beanstalk has permission to assume.
4039	//
4040	// The ServiceRole property is required the first time that you provide a VersionLifecycleConfig
4041	// for the application in one of the supporting calls (CreateApplication or
4042	// UpdateApplicationResourceLifecycle). After you provide it once, in either
4043	// one of the calls, Elastic Beanstalk persists the Service Role with the application,
4044	// and you don't need to specify it again in subsequent UpdateApplicationResourceLifecycle
4045	// calls. You can, however, specify it in subsequent calls to change the Service
4046	// Role to another value.
4047	ServiceRole *string `type:"string"`
4048
4049	// The application version lifecycle configuration.
4050	VersionLifecycleConfig *ApplicationVersionLifecycleConfig `type:"structure"`
4051}
4052
4053// String returns the string representation
4054func (s ApplicationResourceLifecycleConfig) String() string {
4055	return awsutil.Prettify(s)
4056}
4057
4058// GoString returns the string representation
4059func (s ApplicationResourceLifecycleConfig) GoString() string {
4060	return s.String()
4061}
4062
4063// Validate inspects the fields of the type to determine if they are valid.
4064func (s *ApplicationResourceLifecycleConfig) Validate() error {
4065	invalidParams := request.ErrInvalidParams{Context: "ApplicationResourceLifecycleConfig"}
4066	if s.VersionLifecycleConfig != nil {
4067		if err := s.VersionLifecycleConfig.Validate(); err != nil {
4068			invalidParams.AddNested("VersionLifecycleConfig", err.(request.ErrInvalidParams))
4069		}
4070	}
4071
4072	if invalidParams.Len() > 0 {
4073		return invalidParams
4074	}
4075	return nil
4076}
4077
4078// SetServiceRole sets the ServiceRole field's value.
4079func (s *ApplicationResourceLifecycleConfig) SetServiceRole(v string) *ApplicationResourceLifecycleConfig {
4080	s.ServiceRole = &v
4081	return s
4082}
4083
4084// SetVersionLifecycleConfig sets the VersionLifecycleConfig field's value.
4085func (s *ApplicationResourceLifecycleConfig) SetVersionLifecycleConfig(v *ApplicationVersionLifecycleConfig) *ApplicationResourceLifecycleConfig {
4086	s.VersionLifecycleConfig = v
4087	return s
4088}
4089
4090// Describes the properties of an application version.
4091type ApplicationVersionDescription struct {
4092	_ struct{} `type:"structure"`
4093
4094	// The name of the application to which the application version belongs.
4095	ApplicationName *string `min:"1" type:"string"`
4096
4097	// The Amazon Resource Name (ARN) of the application version.
4098	ApplicationVersionArn *string `type:"string"`
4099
4100	// Reference to the artifact from the AWS CodeBuild build.
4101	BuildArn *string `type:"string"`
4102
4103	// The creation date of the application version.
4104	DateCreated *time.Time `type:"timestamp"`
4105
4106	// The last modified date of the application version.
4107	DateUpdated *time.Time `type:"timestamp"`
4108
4109	// The description of the application version.
4110	Description *string `type:"string"`
4111
4112	// If the version's source code was retrieved from AWS CodeCommit, the location
4113	// of the source code for the application version.
4114	SourceBuildInformation *SourceBuildInformation `type:"structure"`
4115
4116	// The storage location of the application version's source bundle in Amazon
4117	// S3.
4118	SourceBundle *S3Location `type:"structure"`
4119
4120	// The processing status of the application version. Reflects the state of the
4121	// application version during its creation. Many of the values are only applicable
4122	// if you specified True for the Process parameter of the CreateApplicationVersion
4123	// action. The following list describes the possible values.
4124	//
4125	//    * Unprocessed – Application version wasn't pre-processed or validated.
4126	//    Elastic Beanstalk will validate configuration files during deployment
4127	//    of the application version to an environment.
4128	//
4129	//    * Processing – Elastic Beanstalk is currently processing the application
4130	//    version.
4131	//
4132	//    * Building – Application version is currently undergoing an AWS CodeBuild
4133	//    build.
4134	//
4135	//    * Processed – Elastic Beanstalk was successfully pre-processed and validated.
4136	//
4137	//    * Failed – Either the AWS CodeBuild build failed or configuration files
4138	//    didn't pass validation. This application version isn't usable.
4139	Status *string `type:"string" enum:"ApplicationVersionStatus"`
4140
4141	// A unique identifier for the application version.
4142	VersionLabel *string `min:"1" type:"string"`
4143}
4144
4145// String returns the string representation
4146func (s ApplicationVersionDescription) String() string {
4147	return awsutil.Prettify(s)
4148}
4149
4150// GoString returns the string representation
4151func (s ApplicationVersionDescription) GoString() string {
4152	return s.String()
4153}
4154
4155// SetApplicationName sets the ApplicationName field's value.
4156func (s *ApplicationVersionDescription) SetApplicationName(v string) *ApplicationVersionDescription {
4157	s.ApplicationName = &v
4158	return s
4159}
4160
4161// SetApplicationVersionArn sets the ApplicationVersionArn field's value.
4162func (s *ApplicationVersionDescription) SetApplicationVersionArn(v string) *ApplicationVersionDescription {
4163	s.ApplicationVersionArn = &v
4164	return s
4165}
4166
4167// SetBuildArn sets the BuildArn field's value.
4168func (s *ApplicationVersionDescription) SetBuildArn(v string) *ApplicationVersionDescription {
4169	s.BuildArn = &v
4170	return s
4171}
4172
4173// SetDateCreated sets the DateCreated field's value.
4174func (s *ApplicationVersionDescription) SetDateCreated(v time.Time) *ApplicationVersionDescription {
4175	s.DateCreated = &v
4176	return s
4177}
4178
4179// SetDateUpdated sets the DateUpdated field's value.
4180func (s *ApplicationVersionDescription) SetDateUpdated(v time.Time) *ApplicationVersionDescription {
4181	s.DateUpdated = &v
4182	return s
4183}
4184
4185// SetDescription sets the Description field's value.
4186func (s *ApplicationVersionDescription) SetDescription(v string) *ApplicationVersionDescription {
4187	s.Description = &v
4188	return s
4189}
4190
4191// SetSourceBuildInformation sets the SourceBuildInformation field's value.
4192func (s *ApplicationVersionDescription) SetSourceBuildInformation(v *SourceBuildInformation) *ApplicationVersionDescription {
4193	s.SourceBuildInformation = v
4194	return s
4195}
4196
4197// SetSourceBundle sets the SourceBundle field's value.
4198func (s *ApplicationVersionDescription) SetSourceBundle(v *S3Location) *ApplicationVersionDescription {
4199	s.SourceBundle = v
4200	return s
4201}
4202
4203// SetStatus sets the Status field's value.
4204func (s *ApplicationVersionDescription) SetStatus(v string) *ApplicationVersionDescription {
4205	s.Status = &v
4206	return s
4207}
4208
4209// SetVersionLabel sets the VersionLabel field's value.
4210func (s *ApplicationVersionDescription) SetVersionLabel(v string) *ApplicationVersionDescription {
4211	s.VersionLabel = &v
4212	return s
4213}
4214
4215// Result message wrapping a single description of an application version.
4216type ApplicationVersionDescriptionMessage struct {
4217	_ struct{} `type:"structure"`
4218
4219	// The ApplicationVersionDescription of the application version.
4220	ApplicationVersion *ApplicationVersionDescription `type:"structure"`
4221}
4222
4223// String returns the string representation
4224func (s ApplicationVersionDescriptionMessage) String() string {
4225	return awsutil.Prettify(s)
4226}
4227
4228// GoString returns the string representation
4229func (s ApplicationVersionDescriptionMessage) GoString() string {
4230	return s.String()
4231}
4232
4233// SetApplicationVersion sets the ApplicationVersion field's value.
4234func (s *ApplicationVersionDescriptionMessage) SetApplicationVersion(v *ApplicationVersionDescription) *ApplicationVersionDescriptionMessage {
4235	s.ApplicationVersion = v
4236	return s
4237}
4238
4239// The application version lifecycle settings for an application. Defines the
4240// rules that Elastic Beanstalk applies to an application's versions in order
4241// to avoid hitting the per-region limit for application versions.
4242//
4243// When Elastic Beanstalk deletes an application version from its database,
4244// you can no longer deploy that version to an environment. The source bundle
4245// remains in S3 unless you configure the rule to delete it.
4246type ApplicationVersionLifecycleConfig struct {
4247	_ struct{} `type:"structure"`
4248
4249	// Specify a max age rule to restrict the length of time that application versions
4250	// are retained for an application.
4251	MaxAgeRule *MaxAgeRule `type:"structure"`
4252
4253	// Specify a max count rule to restrict the number of application versions that
4254	// are retained for an application.
4255	MaxCountRule *MaxCountRule `type:"structure"`
4256}
4257
4258// String returns the string representation
4259func (s ApplicationVersionLifecycleConfig) String() string {
4260	return awsutil.Prettify(s)
4261}
4262
4263// GoString returns the string representation
4264func (s ApplicationVersionLifecycleConfig) GoString() string {
4265	return s.String()
4266}
4267
4268// Validate inspects the fields of the type to determine if they are valid.
4269func (s *ApplicationVersionLifecycleConfig) Validate() error {
4270	invalidParams := request.ErrInvalidParams{Context: "ApplicationVersionLifecycleConfig"}
4271	if s.MaxAgeRule != nil {
4272		if err := s.MaxAgeRule.Validate(); err != nil {
4273			invalidParams.AddNested("MaxAgeRule", err.(request.ErrInvalidParams))
4274		}
4275	}
4276	if s.MaxCountRule != nil {
4277		if err := s.MaxCountRule.Validate(); err != nil {
4278			invalidParams.AddNested("MaxCountRule", err.(request.ErrInvalidParams))
4279		}
4280	}
4281
4282	if invalidParams.Len() > 0 {
4283		return invalidParams
4284	}
4285	return nil
4286}
4287
4288// SetMaxAgeRule sets the MaxAgeRule field's value.
4289func (s *ApplicationVersionLifecycleConfig) SetMaxAgeRule(v *MaxAgeRule) *ApplicationVersionLifecycleConfig {
4290	s.MaxAgeRule = v
4291	return s
4292}
4293
4294// SetMaxCountRule sets the MaxCountRule field's value.
4295func (s *ApplicationVersionLifecycleConfig) SetMaxCountRule(v *MaxCountRule) *ApplicationVersionLifecycleConfig {
4296	s.MaxCountRule = v
4297	return s
4298}
4299
4300// Request to execute a scheduled managed action immediately.
4301type ApplyEnvironmentManagedActionInput struct {
4302	_ struct{} `type:"structure"`
4303
4304	// The action ID of the scheduled managed action to execute.
4305	//
4306	// ActionId is a required field
4307	ActionId *string `type:"string" required:"true"`
4308
4309	// The environment ID of the target environment.
4310	EnvironmentId *string `type:"string"`
4311
4312	// The name of the target environment.
4313	EnvironmentName *string `type:"string"`
4314}
4315
4316// String returns the string representation
4317func (s ApplyEnvironmentManagedActionInput) String() string {
4318	return awsutil.Prettify(s)
4319}
4320
4321// GoString returns the string representation
4322func (s ApplyEnvironmentManagedActionInput) GoString() string {
4323	return s.String()
4324}
4325
4326// Validate inspects the fields of the type to determine if they are valid.
4327func (s *ApplyEnvironmentManagedActionInput) Validate() error {
4328	invalidParams := request.ErrInvalidParams{Context: "ApplyEnvironmentManagedActionInput"}
4329	if s.ActionId == nil {
4330		invalidParams.Add(request.NewErrParamRequired("ActionId"))
4331	}
4332
4333	if invalidParams.Len() > 0 {
4334		return invalidParams
4335	}
4336	return nil
4337}
4338
4339// SetActionId sets the ActionId field's value.
4340func (s *ApplyEnvironmentManagedActionInput) SetActionId(v string) *ApplyEnvironmentManagedActionInput {
4341	s.ActionId = &v
4342	return s
4343}
4344
4345// SetEnvironmentId sets the EnvironmentId field's value.
4346func (s *ApplyEnvironmentManagedActionInput) SetEnvironmentId(v string) *ApplyEnvironmentManagedActionInput {
4347	s.EnvironmentId = &v
4348	return s
4349}
4350
4351// SetEnvironmentName sets the EnvironmentName field's value.
4352func (s *ApplyEnvironmentManagedActionInput) SetEnvironmentName(v string) *ApplyEnvironmentManagedActionInput {
4353	s.EnvironmentName = &v
4354	return s
4355}
4356
4357// The result message containing information about the managed action.
4358type ApplyEnvironmentManagedActionOutput struct {
4359	_ struct{} `type:"structure"`
4360
4361	// A description of the managed action.
4362	ActionDescription *string `type:"string"`
4363
4364	// The action ID of the managed action.
4365	ActionId *string `type:"string"`
4366
4367	// The type of managed action.
4368	ActionType *string `type:"string" enum:"ActionType"`
4369
4370	// The status of the managed action.
4371	Status *string `type:"string"`
4372}
4373
4374// String returns the string representation
4375func (s ApplyEnvironmentManagedActionOutput) String() string {
4376	return awsutil.Prettify(s)
4377}
4378
4379// GoString returns the string representation
4380func (s ApplyEnvironmentManagedActionOutput) GoString() string {
4381	return s.String()
4382}
4383
4384// SetActionDescription sets the ActionDescription field's value.
4385func (s *ApplyEnvironmentManagedActionOutput) SetActionDescription(v string) *ApplyEnvironmentManagedActionOutput {
4386	s.ActionDescription = &v
4387	return s
4388}
4389
4390// SetActionId sets the ActionId field's value.
4391func (s *ApplyEnvironmentManagedActionOutput) SetActionId(v string) *ApplyEnvironmentManagedActionOutput {
4392	s.ActionId = &v
4393	return s
4394}
4395
4396// SetActionType sets the ActionType field's value.
4397func (s *ApplyEnvironmentManagedActionOutput) SetActionType(v string) *ApplyEnvironmentManagedActionOutput {
4398	s.ActionType = &v
4399	return s
4400}
4401
4402// SetStatus sets the Status field's value.
4403func (s *ApplyEnvironmentManagedActionOutput) SetStatus(v string) *ApplyEnvironmentManagedActionOutput {
4404	s.Status = &v
4405	return s
4406}
4407
4408// Describes an Auto Scaling launch configuration.
4409type AutoScalingGroup struct {
4410	_ struct{} `type:"structure"`
4411
4412	// The name of the AutoScalingGroup .
4413	Name *string `type:"string"`
4414}
4415
4416// String returns the string representation
4417func (s AutoScalingGroup) String() string {
4418	return awsutil.Prettify(s)
4419}
4420
4421// GoString returns the string representation
4422func (s AutoScalingGroup) GoString() string {
4423	return s.String()
4424}
4425
4426// SetName sets the Name field's value.
4427func (s *AutoScalingGroup) SetName(v string) *AutoScalingGroup {
4428	s.Name = &v
4429	return s
4430}
4431
4432// Settings for an AWS CodeBuild build.
4433type BuildConfiguration struct {
4434	_ struct{} `type:"structure"`
4435
4436	// The name of the artifact of the CodeBuild build. If provided, Elastic Beanstalk
4437	// stores the build artifact in the S3 location S3-bucket/resources/application-name/codebuild/codebuild-version-label-artifact-name.zip.
4438	// If not provided, Elastic Beanstalk stores the build artifact in the S3 location
4439	// S3-bucket/resources/application-name/codebuild/codebuild-version-label.zip.
4440	ArtifactName *string `type:"string"`
4441
4442	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
4443	// (IAM) role that enables AWS CodeBuild to interact with dependent AWS services
4444	// on behalf of the AWS account.
4445	//
4446	// CodeBuildServiceRole is a required field
4447	CodeBuildServiceRole *string `type:"string" required:"true"`
4448
4449	// Information about the compute resources the build project will use.
4450	//
4451	//    * BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for builds
4452	//
4453	//    * BUILD_GENERAL1_MEDIUM: Use up to 7 GB memory and 4 vCPUs for builds
4454	//
4455	//    * BUILD_GENERAL1_LARGE: Use up to 15 GB memory and 8 vCPUs for builds
4456	ComputeType *string `type:"string" enum:"ComputeType"`
4457
4458	// The ID of the Docker image to use for this build project.
4459	//
4460	// Image is a required field
4461	Image *string `type:"string" required:"true"`
4462
4463	// How long in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until
4464	// timing out any related build that does not get marked as completed. The default
4465	// is 60 minutes.
4466	TimeoutInMinutes *int64 `type:"integer"`
4467}
4468
4469// String returns the string representation
4470func (s BuildConfiguration) String() string {
4471	return awsutil.Prettify(s)
4472}
4473
4474// GoString returns the string representation
4475func (s BuildConfiguration) GoString() string {
4476	return s.String()
4477}
4478
4479// Validate inspects the fields of the type to determine if they are valid.
4480func (s *BuildConfiguration) Validate() error {
4481	invalidParams := request.ErrInvalidParams{Context: "BuildConfiguration"}
4482	if s.CodeBuildServiceRole == nil {
4483		invalidParams.Add(request.NewErrParamRequired("CodeBuildServiceRole"))
4484	}
4485	if s.Image == nil {
4486		invalidParams.Add(request.NewErrParamRequired("Image"))
4487	}
4488
4489	if invalidParams.Len() > 0 {
4490		return invalidParams
4491	}
4492	return nil
4493}
4494
4495// SetArtifactName sets the ArtifactName field's value.
4496func (s *BuildConfiguration) SetArtifactName(v string) *BuildConfiguration {
4497	s.ArtifactName = &v
4498	return s
4499}
4500
4501// SetCodeBuildServiceRole sets the CodeBuildServiceRole field's value.
4502func (s *BuildConfiguration) SetCodeBuildServiceRole(v string) *BuildConfiguration {
4503	s.CodeBuildServiceRole = &v
4504	return s
4505}
4506
4507// SetComputeType sets the ComputeType field's value.
4508func (s *BuildConfiguration) SetComputeType(v string) *BuildConfiguration {
4509	s.ComputeType = &v
4510	return s
4511}
4512
4513// SetImage sets the Image field's value.
4514func (s *BuildConfiguration) SetImage(v string) *BuildConfiguration {
4515	s.Image = &v
4516	return s
4517}
4518
4519// SetTimeoutInMinutes sets the TimeoutInMinutes field's value.
4520func (s *BuildConfiguration) SetTimeoutInMinutes(v int64) *BuildConfiguration {
4521	s.TimeoutInMinutes = &v
4522	return s
4523}
4524
4525// The builder used to build the custom platform.
4526type Builder struct {
4527	_ struct{} `type:"structure"`
4528
4529	// The ARN of the builder.
4530	ARN *string `type:"string"`
4531}
4532
4533// String returns the string representation
4534func (s Builder) String() string {
4535	return awsutil.Prettify(s)
4536}
4537
4538// GoString returns the string representation
4539func (s Builder) GoString() string {
4540	return s.String()
4541}
4542
4543// SetARN sets the ARN field's value.
4544func (s *Builder) SetARN(v string) *Builder {
4545	s.ARN = &v
4546	return s
4547}
4548
4549// CPU utilization metrics for an instance.
4550type CPUUtilization struct {
4551	_ struct{} `type:"structure"`
4552
4553	// Available on Linux environments only.
4554	//
4555	// Percentage of time that the CPU has spent in the I/O Wait state over the
4556	// last 10 seconds.
4557	IOWait *float64 `type:"double"`
4558
4559	// Available on Linux environments only.
4560	//
4561	// Percentage of time that the CPU has spent in the IRQ state over the last
4562	// 10 seconds.
4563	IRQ *float64 `type:"double"`
4564
4565	// Percentage of time that the CPU has spent in the Idle state over the last
4566	// 10 seconds.
4567	Idle *float64 `type:"double"`
4568
4569	// Available on Linux environments only.
4570	//
4571	// Percentage of time that the CPU has spent in the Nice state over the last
4572	// 10 seconds.
4573	Nice *float64 `type:"double"`
4574
4575	// Available on Windows environments only.
4576	//
4577	// Percentage of time that the CPU has spent in the Privileged state over the
4578	// last 10 seconds.
4579	Privileged *float64 `type:"double"`
4580
4581	// Available on Linux environments only.
4582	//
4583	// Percentage of time that the CPU has spent in the SoftIRQ state over the last
4584	// 10 seconds.
4585	SoftIRQ *float64 `type:"double"`
4586
4587	// Available on Linux environments only.
4588	//
4589	// Percentage of time that the CPU has spent in the System state over the last
4590	// 10 seconds.
4591	System *float64 `type:"double"`
4592
4593	// Percentage of time that the CPU has spent in the User state over the last
4594	// 10 seconds.
4595	User *float64 `type:"double"`
4596}
4597
4598// String returns the string representation
4599func (s CPUUtilization) String() string {
4600	return awsutil.Prettify(s)
4601}
4602
4603// GoString returns the string representation
4604func (s CPUUtilization) GoString() string {
4605	return s.String()
4606}
4607
4608// SetIOWait sets the IOWait field's value.
4609func (s *CPUUtilization) SetIOWait(v float64) *CPUUtilization {
4610	s.IOWait = &v
4611	return s
4612}
4613
4614// SetIRQ sets the IRQ field's value.
4615func (s *CPUUtilization) SetIRQ(v float64) *CPUUtilization {
4616	s.IRQ = &v
4617	return s
4618}
4619
4620// SetIdle sets the Idle field's value.
4621func (s *CPUUtilization) SetIdle(v float64) *CPUUtilization {
4622	s.Idle = &v
4623	return s
4624}
4625
4626// SetNice sets the Nice field's value.
4627func (s *CPUUtilization) SetNice(v float64) *CPUUtilization {
4628	s.Nice = &v
4629	return s
4630}
4631
4632// SetPrivileged sets the Privileged field's value.
4633func (s *CPUUtilization) SetPrivileged(v float64) *CPUUtilization {
4634	s.Privileged = &v
4635	return s
4636}
4637
4638// SetSoftIRQ sets the SoftIRQ field's value.
4639func (s *CPUUtilization) SetSoftIRQ(v float64) *CPUUtilization {
4640	s.SoftIRQ = &v
4641	return s
4642}
4643
4644// SetSystem sets the System field's value.
4645func (s *CPUUtilization) SetSystem(v float64) *CPUUtilization {
4646	s.System = &v
4647	return s
4648}
4649
4650// SetUser sets the User field's value.
4651func (s *CPUUtilization) SetUser(v float64) *CPUUtilization {
4652	s.User = &v
4653	return s
4654}
4655
4656// Results message indicating whether a CNAME is available.
4657type CheckDNSAvailabilityInput struct {
4658	_ struct{} `type:"structure"`
4659
4660	// The prefix used when this CNAME is reserved.
4661	//
4662	// CNAMEPrefix is a required field
4663	CNAMEPrefix *string `min:"4" type:"string" required:"true"`
4664}
4665
4666// String returns the string representation
4667func (s CheckDNSAvailabilityInput) String() string {
4668	return awsutil.Prettify(s)
4669}
4670
4671// GoString returns the string representation
4672func (s CheckDNSAvailabilityInput) GoString() string {
4673	return s.String()
4674}
4675
4676// Validate inspects the fields of the type to determine if they are valid.
4677func (s *CheckDNSAvailabilityInput) Validate() error {
4678	invalidParams := request.ErrInvalidParams{Context: "CheckDNSAvailabilityInput"}
4679	if s.CNAMEPrefix == nil {
4680		invalidParams.Add(request.NewErrParamRequired("CNAMEPrefix"))
4681	}
4682	if s.CNAMEPrefix != nil && len(*s.CNAMEPrefix) < 4 {
4683		invalidParams.Add(request.NewErrParamMinLen("CNAMEPrefix", 4))
4684	}
4685
4686	if invalidParams.Len() > 0 {
4687		return invalidParams
4688	}
4689	return nil
4690}
4691
4692// SetCNAMEPrefix sets the CNAMEPrefix field's value.
4693func (s *CheckDNSAvailabilityInput) SetCNAMEPrefix(v string) *CheckDNSAvailabilityInput {
4694	s.CNAMEPrefix = &v
4695	return s
4696}
4697
4698// Indicates if the specified CNAME is available.
4699type CheckDNSAvailabilityOutput struct {
4700	_ struct{} `type:"structure"`
4701
4702	// Indicates if the specified CNAME is available:
4703	//
4704	//    * true : The CNAME is available.
4705	//
4706	//    * false : The CNAME is not available.
4707	Available *bool `type:"boolean"`
4708
4709	// The fully qualified CNAME to reserve when CreateEnvironment is called with
4710	// the provided prefix.
4711	FullyQualifiedCNAME *string `min:"1" type:"string"`
4712}
4713
4714// String returns the string representation
4715func (s CheckDNSAvailabilityOutput) String() string {
4716	return awsutil.Prettify(s)
4717}
4718
4719// GoString returns the string representation
4720func (s CheckDNSAvailabilityOutput) GoString() string {
4721	return s.String()
4722}
4723
4724// SetAvailable sets the Available field's value.
4725func (s *CheckDNSAvailabilityOutput) SetAvailable(v bool) *CheckDNSAvailabilityOutput {
4726	s.Available = &v
4727	return s
4728}
4729
4730// SetFullyQualifiedCNAME sets the FullyQualifiedCNAME field's value.
4731func (s *CheckDNSAvailabilityOutput) SetFullyQualifiedCNAME(v string) *CheckDNSAvailabilityOutput {
4732	s.FullyQualifiedCNAME = &v
4733	return s
4734}
4735
4736// Request to create or update a group of environments.
4737type ComposeEnvironmentsInput struct {
4738	_ struct{} `type:"structure"`
4739
4740	// The name of the application to which the specified source bundles belong.
4741	ApplicationName *string `min:"1" type:"string"`
4742
4743	// The name of the group to which the target environments belong. Specify a
4744	// group name only if the environment name defined in each target environment's
4745	// manifest ends with a + (plus) character. See Environment Manifest (env.yaml)
4746	// (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-cfg-manifest.html)
4747	// for details.
4748	GroupName *string `min:"1" type:"string"`
4749
4750	// A list of version labels, specifying one or more application source bundles
4751	// that belong to the target application. Each source bundle must include an
4752	// environment manifest that specifies the name of the environment and the name
4753	// of the solution stack to use, and optionally can specify environment links
4754	// to create.
4755	VersionLabels []*string `type:"list"`
4756}
4757
4758// String returns the string representation
4759func (s ComposeEnvironmentsInput) String() string {
4760	return awsutil.Prettify(s)
4761}
4762
4763// GoString returns the string representation
4764func (s ComposeEnvironmentsInput) GoString() string {
4765	return s.String()
4766}
4767
4768// Validate inspects the fields of the type to determine if they are valid.
4769func (s *ComposeEnvironmentsInput) Validate() error {
4770	invalidParams := request.ErrInvalidParams{Context: "ComposeEnvironmentsInput"}
4771	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
4772		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
4773	}
4774	if s.GroupName != nil && len(*s.GroupName) < 1 {
4775		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
4776	}
4777
4778	if invalidParams.Len() > 0 {
4779		return invalidParams
4780	}
4781	return nil
4782}
4783
4784// SetApplicationName sets the ApplicationName field's value.
4785func (s *ComposeEnvironmentsInput) SetApplicationName(v string) *ComposeEnvironmentsInput {
4786	s.ApplicationName = &v
4787	return s
4788}
4789
4790// SetGroupName sets the GroupName field's value.
4791func (s *ComposeEnvironmentsInput) SetGroupName(v string) *ComposeEnvironmentsInput {
4792	s.GroupName = &v
4793	return s
4794}
4795
4796// SetVersionLabels sets the VersionLabels field's value.
4797func (s *ComposeEnvironmentsInput) SetVersionLabels(v []*string) *ComposeEnvironmentsInput {
4798	s.VersionLabels = v
4799	return s
4800}
4801
4802// Describes the possible values for a configuration option.
4803type ConfigurationOptionDescription struct {
4804	_ struct{} `type:"structure"`
4805
4806	// An indication of which action is required if the value for this configuration
4807	// option changes:
4808	//
4809	//    * NoInterruption : There is no interruption to the environment or application
4810	//    availability.
4811	//
4812	//    * RestartEnvironment : The environment is entirely restarted, all AWS
4813	//    resources are deleted and recreated, and the environment is unavailable
4814	//    during the process.
4815	//
4816	//    * RestartApplicationServer : The environment is available the entire time.
4817	//    However, a short application outage occurs when the application servers
4818	//    on the running Amazon EC2 instances are restarted.
4819	ChangeSeverity *string `type:"string"`
4820
4821	// The default value for this configuration option.
4822	DefaultValue *string `type:"string"`
4823
4824	// If specified, the configuration option must be a string value no longer than
4825	// this value.
4826	MaxLength *int64 `type:"integer"`
4827
4828	// If specified, the configuration option must be a numeric value less than
4829	// this value.
4830	MaxValue *int64 `type:"integer"`
4831
4832	// If specified, the configuration option must be a numeric value greater than
4833	// this value.
4834	MinValue *int64 `type:"integer"`
4835
4836	// The name of the configuration option.
4837	Name *string `type:"string"`
4838
4839	// A unique namespace identifying the option's associated AWS resource.
4840	Namespace *string `type:"string"`
4841
4842	// If specified, the configuration option must be a string value that satisfies
4843	// this regular expression.
4844	Regex *OptionRestrictionRegex `type:"structure"`
4845
4846	// An indication of whether the user defined this configuration option:
4847	//
4848	//    * true : This configuration option was defined by the user. It is a valid
4849	//    choice for specifying if this as an Option to Remove when updating configuration
4850	//    settings.
4851	//
4852	//    * false : This configuration was not defined by the user.
4853	//
4854	// Constraint: You can remove only UserDefined options from a configuration.
4855	//
4856	// Valid Values: true | false
4857	UserDefined *bool `type:"boolean"`
4858
4859	// If specified, values for the configuration option are selected from this
4860	// list.
4861	ValueOptions []*string `type:"list"`
4862
4863	// An indication of which type of values this option has and whether it is allowable
4864	// to select one or more than one of the possible values:
4865	//
4866	//    * Scalar : Values for this option are a single selection from the possible
4867	//    values, or an unformatted string, or numeric value governed by the MIN/MAX/Regex
4868	//    constraints.
4869	//
4870	//    * List : Values for this option are multiple selections from the possible
4871	//    values.
4872	//
4873	//    * Boolean : Values for this option are either true or false .
4874	//
4875	//    * Json : Values for this option are a JSON representation of a ConfigDocument.
4876	ValueType *string `type:"string" enum:"ConfigurationOptionValueType"`
4877}
4878
4879// String returns the string representation
4880func (s ConfigurationOptionDescription) String() string {
4881	return awsutil.Prettify(s)
4882}
4883
4884// GoString returns the string representation
4885func (s ConfigurationOptionDescription) GoString() string {
4886	return s.String()
4887}
4888
4889// SetChangeSeverity sets the ChangeSeverity field's value.
4890func (s *ConfigurationOptionDescription) SetChangeSeverity(v string) *ConfigurationOptionDescription {
4891	s.ChangeSeverity = &v
4892	return s
4893}
4894
4895// SetDefaultValue sets the DefaultValue field's value.
4896func (s *ConfigurationOptionDescription) SetDefaultValue(v string) *ConfigurationOptionDescription {
4897	s.DefaultValue = &v
4898	return s
4899}
4900
4901// SetMaxLength sets the MaxLength field's value.
4902func (s *ConfigurationOptionDescription) SetMaxLength(v int64) *ConfigurationOptionDescription {
4903	s.MaxLength = &v
4904	return s
4905}
4906
4907// SetMaxValue sets the MaxValue field's value.
4908func (s *ConfigurationOptionDescription) SetMaxValue(v int64) *ConfigurationOptionDescription {
4909	s.MaxValue = &v
4910	return s
4911}
4912
4913// SetMinValue sets the MinValue field's value.
4914func (s *ConfigurationOptionDescription) SetMinValue(v int64) *ConfigurationOptionDescription {
4915	s.MinValue = &v
4916	return s
4917}
4918
4919// SetName sets the Name field's value.
4920func (s *ConfigurationOptionDescription) SetName(v string) *ConfigurationOptionDescription {
4921	s.Name = &v
4922	return s
4923}
4924
4925// SetNamespace sets the Namespace field's value.
4926func (s *ConfigurationOptionDescription) SetNamespace(v string) *ConfigurationOptionDescription {
4927	s.Namespace = &v
4928	return s
4929}
4930
4931// SetRegex sets the Regex field's value.
4932func (s *ConfigurationOptionDescription) SetRegex(v *OptionRestrictionRegex) *ConfigurationOptionDescription {
4933	s.Regex = v
4934	return s
4935}
4936
4937// SetUserDefined sets the UserDefined field's value.
4938func (s *ConfigurationOptionDescription) SetUserDefined(v bool) *ConfigurationOptionDescription {
4939	s.UserDefined = &v
4940	return s
4941}
4942
4943// SetValueOptions sets the ValueOptions field's value.
4944func (s *ConfigurationOptionDescription) SetValueOptions(v []*string) *ConfigurationOptionDescription {
4945	s.ValueOptions = v
4946	return s
4947}
4948
4949// SetValueType sets the ValueType field's value.
4950func (s *ConfigurationOptionDescription) SetValueType(v string) *ConfigurationOptionDescription {
4951	s.ValueType = &v
4952	return s
4953}
4954
4955// A specification identifying an individual configuration option along with
4956// its current value. For a list of possible option values, go to Option Values
4957// (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options.html)
4958// in the AWS Elastic Beanstalk Developer Guide.
4959type ConfigurationOptionSetting struct {
4960	_ struct{} `type:"structure"`
4961
4962	// A unique namespace identifying the option's associated AWS resource.
4963	Namespace *string `type:"string"`
4964
4965	// The name of the configuration option.
4966	OptionName *string `type:"string"`
4967
4968	// A unique resource name for a time-based scaling configuration option.
4969	ResourceName *string `min:"1" type:"string"`
4970
4971	// The current value for the configuration option.
4972	Value *string `type:"string"`
4973}
4974
4975// String returns the string representation
4976func (s ConfigurationOptionSetting) String() string {
4977	return awsutil.Prettify(s)
4978}
4979
4980// GoString returns the string representation
4981func (s ConfigurationOptionSetting) GoString() string {
4982	return s.String()
4983}
4984
4985// Validate inspects the fields of the type to determine if they are valid.
4986func (s *ConfigurationOptionSetting) Validate() error {
4987	invalidParams := request.ErrInvalidParams{Context: "ConfigurationOptionSetting"}
4988	if s.ResourceName != nil && len(*s.ResourceName) < 1 {
4989		invalidParams.Add(request.NewErrParamMinLen("ResourceName", 1))
4990	}
4991
4992	if invalidParams.Len() > 0 {
4993		return invalidParams
4994	}
4995	return nil
4996}
4997
4998// SetNamespace sets the Namespace field's value.
4999func (s *ConfigurationOptionSetting) SetNamespace(v string) *ConfigurationOptionSetting {
5000	s.Namespace = &v
5001	return s
5002}
5003
5004// SetOptionName sets the OptionName field's value.
5005func (s *ConfigurationOptionSetting) SetOptionName(v string) *ConfigurationOptionSetting {
5006	s.OptionName = &v
5007	return s
5008}
5009
5010// SetResourceName sets the ResourceName field's value.
5011func (s *ConfigurationOptionSetting) SetResourceName(v string) *ConfigurationOptionSetting {
5012	s.ResourceName = &v
5013	return s
5014}
5015
5016// SetValue sets the Value field's value.
5017func (s *ConfigurationOptionSetting) SetValue(v string) *ConfigurationOptionSetting {
5018	s.Value = &v
5019	return s
5020}
5021
5022// Describes the settings for a configuration set.
5023type ConfigurationSettingsDescription struct {
5024	_ struct{} `type:"structure"`
5025
5026	// The name of the application associated with this configuration set.
5027	ApplicationName *string `min:"1" type:"string"`
5028
5029	// The date (in UTC time) when this configuration set was created.
5030	DateCreated *time.Time `type:"timestamp"`
5031
5032	// The date (in UTC time) when this configuration set was last modified.
5033	DateUpdated *time.Time `type:"timestamp"`
5034
5035	// If this configuration set is associated with an environment, the DeploymentStatus
5036	// parameter indicates the deployment status of this configuration set:
5037	//
5038	//    * null: This configuration is not associated with a running environment.
5039	//
5040	//    * pending: This is a draft configuration that is not deployed to the associated
5041	//    environment but is in the process of deploying.
5042	//
5043	//    * deployed: This is the configuration that is currently deployed to the
5044	//    associated running environment.
5045	//
5046	//    * failed: This is a draft configuration that failed to successfully deploy.
5047	DeploymentStatus *string `type:"string" enum:"ConfigurationDeploymentStatus"`
5048
5049	// Describes this configuration set.
5050	Description *string `type:"string"`
5051
5052	// If not null, the name of the environment for this configuration set.
5053	EnvironmentName *string `min:"4" type:"string"`
5054
5055	// A list of the configuration options and their values in this configuration
5056	// set.
5057	OptionSettings []*ConfigurationOptionSetting `type:"list"`
5058
5059	// The ARN of the platform.
5060	PlatformArn *string `type:"string"`
5061
5062	// The name of the solution stack this configuration set uses.
5063	SolutionStackName *string `type:"string"`
5064
5065	// If not null, the name of the configuration template for this configuration
5066	// set.
5067	TemplateName *string `min:"1" type:"string"`
5068}
5069
5070// String returns the string representation
5071func (s ConfigurationSettingsDescription) String() string {
5072	return awsutil.Prettify(s)
5073}
5074
5075// GoString returns the string representation
5076func (s ConfigurationSettingsDescription) GoString() string {
5077	return s.String()
5078}
5079
5080// SetApplicationName sets the ApplicationName field's value.
5081func (s *ConfigurationSettingsDescription) SetApplicationName(v string) *ConfigurationSettingsDescription {
5082	s.ApplicationName = &v
5083	return s
5084}
5085
5086// SetDateCreated sets the DateCreated field's value.
5087func (s *ConfigurationSettingsDescription) SetDateCreated(v time.Time) *ConfigurationSettingsDescription {
5088	s.DateCreated = &v
5089	return s
5090}
5091
5092// SetDateUpdated sets the DateUpdated field's value.
5093func (s *ConfigurationSettingsDescription) SetDateUpdated(v time.Time) *ConfigurationSettingsDescription {
5094	s.DateUpdated = &v
5095	return s
5096}
5097
5098// SetDeploymentStatus sets the DeploymentStatus field's value.
5099func (s *ConfigurationSettingsDescription) SetDeploymentStatus(v string) *ConfigurationSettingsDescription {
5100	s.DeploymentStatus = &v
5101	return s
5102}
5103
5104// SetDescription sets the Description field's value.
5105func (s *ConfigurationSettingsDescription) SetDescription(v string) *ConfigurationSettingsDescription {
5106	s.Description = &v
5107	return s
5108}
5109
5110// SetEnvironmentName sets the EnvironmentName field's value.
5111func (s *ConfigurationSettingsDescription) SetEnvironmentName(v string) *ConfigurationSettingsDescription {
5112	s.EnvironmentName = &v
5113	return s
5114}
5115
5116// SetOptionSettings sets the OptionSettings field's value.
5117func (s *ConfigurationSettingsDescription) SetOptionSettings(v []*ConfigurationOptionSetting) *ConfigurationSettingsDescription {
5118	s.OptionSettings = v
5119	return s
5120}
5121
5122// SetPlatformArn sets the PlatformArn field's value.
5123func (s *ConfigurationSettingsDescription) SetPlatformArn(v string) *ConfigurationSettingsDescription {
5124	s.PlatformArn = &v
5125	return s
5126}
5127
5128// SetSolutionStackName sets the SolutionStackName field's value.
5129func (s *ConfigurationSettingsDescription) SetSolutionStackName(v string) *ConfigurationSettingsDescription {
5130	s.SolutionStackName = &v
5131	return s
5132}
5133
5134// SetTemplateName sets the TemplateName field's value.
5135func (s *ConfigurationSettingsDescription) SetTemplateName(v string) *ConfigurationSettingsDescription {
5136	s.TemplateName = &v
5137	return s
5138}
5139
5140// Request to create an application.
5141type CreateApplicationInput struct {
5142	_ struct{} `type:"structure"`
5143
5144	// The name of the application.
5145	//
5146	// Constraint: This name must be unique within your account. If the specified
5147	// name already exists, the action returns an InvalidParameterValue error.
5148	//
5149	// ApplicationName is a required field
5150	ApplicationName *string `min:"1" type:"string" required:"true"`
5151
5152	// Describes the application.
5153	Description *string `type:"string"`
5154
5155	// Specify an application resource lifecycle configuration to prevent your application
5156	// from accumulating too many versions.
5157	ResourceLifecycleConfig *ApplicationResourceLifecycleConfig `type:"structure"`
5158
5159	// Specifies the tags applied to the application.
5160	//
5161	// Elastic Beanstalk applies these tags only to the application. Environments
5162	// that you create in the application don't inherit the tags.
5163	Tags []*Tag `type:"list"`
5164}
5165
5166// String returns the string representation
5167func (s CreateApplicationInput) String() string {
5168	return awsutil.Prettify(s)
5169}
5170
5171// GoString returns the string representation
5172func (s CreateApplicationInput) GoString() string {
5173	return s.String()
5174}
5175
5176// Validate inspects the fields of the type to determine if they are valid.
5177func (s *CreateApplicationInput) Validate() error {
5178	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationInput"}
5179	if s.ApplicationName == nil {
5180		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
5181	}
5182	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5183		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5184	}
5185	if s.ResourceLifecycleConfig != nil {
5186		if err := s.ResourceLifecycleConfig.Validate(); err != nil {
5187			invalidParams.AddNested("ResourceLifecycleConfig", err.(request.ErrInvalidParams))
5188		}
5189	}
5190	if s.Tags != nil {
5191		for i, v := range s.Tags {
5192			if v == nil {
5193				continue
5194			}
5195			if err := v.Validate(); err != nil {
5196				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5197			}
5198		}
5199	}
5200
5201	if invalidParams.Len() > 0 {
5202		return invalidParams
5203	}
5204	return nil
5205}
5206
5207// SetApplicationName sets the ApplicationName field's value.
5208func (s *CreateApplicationInput) SetApplicationName(v string) *CreateApplicationInput {
5209	s.ApplicationName = &v
5210	return s
5211}
5212
5213// SetDescription sets the Description field's value.
5214func (s *CreateApplicationInput) SetDescription(v string) *CreateApplicationInput {
5215	s.Description = &v
5216	return s
5217}
5218
5219// SetResourceLifecycleConfig sets the ResourceLifecycleConfig field's value.
5220func (s *CreateApplicationInput) SetResourceLifecycleConfig(v *ApplicationResourceLifecycleConfig) *CreateApplicationInput {
5221	s.ResourceLifecycleConfig = v
5222	return s
5223}
5224
5225// SetTags sets the Tags field's value.
5226func (s *CreateApplicationInput) SetTags(v []*Tag) *CreateApplicationInput {
5227	s.Tags = v
5228	return s
5229}
5230
5231type CreateApplicationVersionInput struct {
5232	_ struct{} `type:"structure"`
5233
5234	// The name of the application. If no application is found with this name, and
5235	// AutoCreateApplication is false, returns an InvalidParameterValue error.
5236	//
5237	// ApplicationName is a required field
5238	ApplicationName *string `min:"1" type:"string" required:"true"`
5239
5240	// Set to true to create an application with the specified name if it doesn't
5241	// already exist.
5242	AutoCreateApplication *bool `type:"boolean"`
5243
5244	// Settings for an AWS CodeBuild build.
5245	BuildConfiguration *BuildConfiguration `type:"structure"`
5246
5247	// Describes this version.
5248	Description *string `type:"string"`
5249
5250	// Pre-processes and validates the environment manifest (env.yaml) and configuration
5251	// files (*.config files in the .ebextensions folder) in the source bundle.
5252	// Validating configuration files can identify issues prior to deploying the
5253	// application version to an environment.
5254	//
5255	// You must turn processing on for application versions that you create using
5256	// AWS CodeBuild or AWS CodeCommit. For application versions built from a source
5257	// bundle in Amazon S3, processing is optional.
5258	//
5259	// The Process option validates Elastic Beanstalk configuration files. It doesn't
5260	// validate your application's configuration files, like proxy server or Docker
5261	// configuration.
5262	Process *bool `type:"boolean"`
5263
5264	// Specify a commit in an AWS CodeCommit Git repository to use as the source
5265	// code for the application version.
5266	SourceBuildInformation *SourceBuildInformation `type:"structure"`
5267
5268	// The Amazon S3 bucket and key that identify the location of the source bundle
5269	// for this version.
5270	//
5271	// The Amazon S3 bucket must be in the same region as the environment.
5272	//
5273	// Specify a source bundle in S3 or a commit in an AWS CodeCommit repository
5274	// (with SourceBuildInformation), but not both. If neither SourceBundle nor
5275	// SourceBuildInformation are provided, Elastic Beanstalk uses a sample application.
5276	SourceBundle *S3Location `type:"structure"`
5277
5278	// Specifies the tags applied to the application version.
5279	//
5280	// Elastic Beanstalk applies these tags only to the application version. Environments
5281	// that use the application version don't inherit the tags.
5282	Tags []*Tag `type:"list"`
5283
5284	// A label identifying this version.
5285	//
5286	// Constraint: Must be unique per application. If an application version already
5287	// exists with this label for the specified application, AWS Elastic Beanstalk
5288	// returns an InvalidParameterValue error.
5289	//
5290	// VersionLabel is a required field
5291	VersionLabel *string `min:"1" type:"string" required:"true"`
5292}
5293
5294// String returns the string representation
5295func (s CreateApplicationVersionInput) String() string {
5296	return awsutil.Prettify(s)
5297}
5298
5299// GoString returns the string representation
5300func (s CreateApplicationVersionInput) GoString() string {
5301	return s.String()
5302}
5303
5304// Validate inspects the fields of the type to determine if they are valid.
5305func (s *CreateApplicationVersionInput) Validate() error {
5306	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationVersionInput"}
5307	if s.ApplicationName == nil {
5308		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
5309	}
5310	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5311		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5312	}
5313	if s.VersionLabel == nil {
5314		invalidParams.Add(request.NewErrParamRequired("VersionLabel"))
5315	}
5316	if s.VersionLabel != nil && len(*s.VersionLabel) < 1 {
5317		invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1))
5318	}
5319	if s.BuildConfiguration != nil {
5320		if err := s.BuildConfiguration.Validate(); err != nil {
5321			invalidParams.AddNested("BuildConfiguration", err.(request.ErrInvalidParams))
5322		}
5323	}
5324	if s.SourceBuildInformation != nil {
5325		if err := s.SourceBuildInformation.Validate(); err != nil {
5326			invalidParams.AddNested("SourceBuildInformation", err.(request.ErrInvalidParams))
5327		}
5328	}
5329	if s.Tags != nil {
5330		for i, v := range s.Tags {
5331			if v == nil {
5332				continue
5333			}
5334			if err := v.Validate(); err != nil {
5335				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5336			}
5337		}
5338	}
5339
5340	if invalidParams.Len() > 0 {
5341		return invalidParams
5342	}
5343	return nil
5344}
5345
5346// SetApplicationName sets the ApplicationName field's value.
5347func (s *CreateApplicationVersionInput) SetApplicationName(v string) *CreateApplicationVersionInput {
5348	s.ApplicationName = &v
5349	return s
5350}
5351
5352// SetAutoCreateApplication sets the AutoCreateApplication field's value.
5353func (s *CreateApplicationVersionInput) SetAutoCreateApplication(v bool) *CreateApplicationVersionInput {
5354	s.AutoCreateApplication = &v
5355	return s
5356}
5357
5358// SetBuildConfiguration sets the BuildConfiguration field's value.
5359func (s *CreateApplicationVersionInput) SetBuildConfiguration(v *BuildConfiguration) *CreateApplicationVersionInput {
5360	s.BuildConfiguration = v
5361	return s
5362}
5363
5364// SetDescription sets the Description field's value.
5365func (s *CreateApplicationVersionInput) SetDescription(v string) *CreateApplicationVersionInput {
5366	s.Description = &v
5367	return s
5368}
5369
5370// SetProcess sets the Process field's value.
5371func (s *CreateApplicationVersionInput) SetProcess(v bool) *CreateApplicationVersionInput {
5372	s.Process = &v
5373	return s
5374}
5375
5376// SetSourceBuildInformation sets the SourceBuildInformation field's value.
5377func (s *CreateApplicationVersionInput) SetSourceBuildInformation(v *SourceBuildInformation) *CreateApplicationVersionInput {
5378	s.SourceBuildInformation = v
5379	return s
5380}
5381
5382// SetSourceBundle sets the SourceBundle field's value.
5383func (s *CreateApplicationVersionInput) SetSourceBundle(v *S3Location) *CreateApplicationVersionInput {
5384	s.SourceBundle = v
5385	return s
5386}
5387
5388// SetTags sets the Tags field's value.
5389func (s *CreateApplicationVersionInput) SetTags(v []*Tag) *CreateApplicationVersionInput {
5390	s.Tags = v
5391	return s
5392}
5393
5394// SetVersionLabel sets the VersionLabel field's value.
5395func (s *CreateApplicationVersionInput) SetVersionLabel(v string) *CreateApplicationVersionInput {
5396	s.VersionLabel = &v
5397	return s
5398}
5399
5400// Request to create a configuration template.
5401type CreateConfigurationTemplateInput struct {
5402	_ struct{} `type:"structure"`
5403
5404	// The name of the application to associate with this configuration template.
5405	// If no application is found with this name, AWS Elastic Beanstalk returns
5406	// an InvalidParameterValue error.
5407	//
5408	// ApplicationName is a required field
5409	ApplicationName *string `min:"1" type:"string" required:"true"`
5410
5411	// Describes this configuration.
5412	Description *string `type:"string"`
5413
5414	// The ID of the environment used with this configuration template.
5415	EnvironmentId *string `type:"string"`
5416
5417	// If specified, AWS Elastic Beanstalk sets the specified configuration option
5418	// to the requested value. The new value overrides the value obtained from the
5419	// solution stack or the source configuration template.
5420	OptionSettings []*ConfigurationOptionSetting `type:"list"`
5421
5422	// The ARN of the custom platform.
5423	PlatformArn *string `type:"string"`
5424
5425	// The name of the solution stack used by this configuration. The solution stack
5426	// specifies the operating system, architecture, and application server for
5427	// a configuration template. It determines the set of configuration options
5428	// as well as the possible and default values.
5429	//
5430	// Use ListAvailableSolutionStacks to obtain a list of available solution stacks.
5431	//
5432	// A solution stack name or a source configuration parameter must be specified,
5433	// otherwise AWS Elastic Beanstalk returns an InvalidParameterValue error.
5434	//
5435	// If a solution stack name is not specified and the source configuration parameter
5436	// is specified, AWS Elastic Beanstalk uses the same solution stack as the source
5437	// configuration template.
5438	SolutionStackName *string `type:"string"`
5439
5440	// If specified, AWS Elastic Beanstalk uses the configuration values from the
5441	// specified configuration template to create a new configuration.
5442	//
5443	// Values specified in the OptionSettings parameter of this call overrides any
5444	// values obtained from the SourceConfiguration.
5445	//
5446	// If no configuration template is found, returns an InvalidParameterValue error.
5447	//
5448	// Constraint: If both the solution stack name parameter and the source configuration
5449	// parameters are specified, the solution stack of the source configuration
5450	// template must match the specified solution stack name or else AWS Elastic
5451	// Beanstalk returns an InvalidParameterCombination error.
5452	SourceConfiguration *SourceConfiguration `type:"structure"`
5453
5454	// Specifies the tags applied to the configuration template.
5455	Tags []*Tag `type:"list"`
5456
5457	// The name of the configuration template.
5458	//
5459	// Constraint: This name must be unique per application.
5460	//
5461	// Default: If a configuration template already exists with this name, AWS Elastic
5462	// Beanstalk returns an InvalidParameterValue error.
5463	//
5464	// TemplateName is a required field
5465	TemplateName *string `min:"1" type:"string" required:"true"`
5466}
5467
5468// String returns the string representation
5469func (s CreateConfigurationTemplateInput) String() string {
5470	return awsutil.Prettify(s)
5471}
5472
5473// GoString returns the string representation
5474func (s CreateConfigurationTemplateInput) GoString() string {
5475	return s.String()
5476}
5477
5478// Validate inspects the fields of the type to determine if they are valid.
5479func (s *CreateConfigurationTemplateInput) Validate() error {
5480	invalidParams := request.ErrInvalidParams{Context: "CreateConfigurationTemplateInput"}
5481	if s.ApplicationName == nil {
5482		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
5483	}
5484	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5485		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5486	}
5487	if s.TemplateName == nil {
5488		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
5489	}
5490	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
5491		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
5492	}
5493	if s.OptionSettings != nil {
5494		for i, v := range s.OptionSettings {
5495			if v == nil {
5496				continue
5497			}
5498			if err := v.Validate(); err != nil {
5499				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionSettings", i), err.(request.ErrInvalidParams))
5500			}
5501		}
5502	}
5503	if s.SourceConfiguration != nil {
5504		if err := s.SourceConfiguration.Validate(); err != nil {
5505			invalidParams.AddNested("SourceConfiguration", err.(request.ErrInvalidParams))
5506		}
5507	}
5508	if s.Tags != nil {
5509		for i, v := range s.Tags {
5510			if v == nil {
5511				continue
5512			}
5513			if err := v.Validate(); err != nil {
5514				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5515			}
5516		}
5517	}
5518
5519	if invalidParams.Len() > 0 {
5520		return invalidParams
5521	}
5522	return nil
5523}
5524
5525// SetApplicationName sets the ApplicationName field's value.
5526func (s *CreateConfigurationTemplateInput) SetApplicationName(v string) *CreateConfigurationTemplateInput {
5527	s.ApplicationName = &v
5528	return s
5529}
5530
5531// SetDescription sets the Description field's value.
5532func (s *CreateConfigurationTemplateInput) SetDescription(v string) *CreateConfigurationTemplateInput {
5533	s.Description = &v
5534	return s
5535}
5536
5537// SetEnvironmentId sets the EnvironmentId field's value.
5538func (s *CreateConfigurationTemplateInput) SetEnvironmentId(v string) *CreateConfigurationTemplateInput {
5539	s.EnvironmentId = &v
5540	return s
5541}
5542
5543// SetOptionSettings sets the OptionSettings field's value.
5544func (s *CreateConfigurationTemplateInput) SetOptionSettings(v []*ConfigurationOptionSetting) *CreateConfigurationTemplateInput {
5545	s.OptionSettings = v
5546	return s
5547}
5548
5549// SetPlatformArn sets the PlatformArn field's value.
5550func (s *CreateConfigurationTemplateInput) SetPlatformArn(v string) *CreateConfigurationTemplateInput {
5551	s.PlatformArn = &v
5552	return s
5553}
5554
5555// SetSolutionStackName sets the SolutionStackName field's value.
5556func (s *CreateConfigurationTemplateInput) SetSolutionStackName(v string) *CreateConfigurationTemplateInput {
5557	s.SolutionStackName = &v
5558	return s
5559}
5560
5561// SetSourceConfiguration sets the SourceConfiguration field's value.
5562func (s *CreateConfigurationTemplateInput) SetSourceConfiguration(v *SourceConfiguration) *CreateConfigurationTemplateInput {
5563	s.SourceConfiguration = v
5564	return s
5565}
5566
5567// SetTags sets the Tags field's value.
5568func (s *CreateConfigurationTemplateInput) SetTags(v []*Tag) *CreateConfigurationTemplateInput {
5569	s.Tags = v
5570	return s
5571}
5572
5573// SetTemplateName sets the TemplateName field's value.
5574func (s *CreateConfigurationTemplateInput) SetTemplateName(v string) *CreateConfigurationTemplateInput {
5575	s.TemplateName = &v
5576	return s
5577}
5578
5579type CreateEnvironmentInput struct {
5580	_ struct{} `type:"structure"`
5581
5582	// The name of the application that contains the version to be deployed.
5583	//
5584	// If no application is found with this name, CreateEnvironment returns an InvalidParameterValue
5585	// error.
5586	//
5587	// ApplicationName is a required field
5588	ApplicationName *string `min:"1" type:"string" required:"true"`
5589
5590	// If specified, the environment attempts to use this value as the prefix for
5591	// the CNAME. If not specified, the CNAME is generated automatically by appending
5592	// a random alphanumeric string to the environment name.
5593	CNAMEPrefix *string `min:"4" type:"string"`
5594
5595	// Describes this environment.
5596	Description *string `type:"string"`
5597
5598	// A unique name for the deployment environment. Used in the application URL.
5599	//
5600	// Constraint: Must be from 4 to 40 characters in length. The name can contain
5601	// only letters, numbers, and hyphens. It cannot start or end with a hyphen.
5602	// This name must be unique within a region in your account. If the specified
5603	// name already exists in the region, AWS Elastic Beanstalk returns an InvalidParameterValue
5604	// error.
5605	//
5606	// Default: If the CNAME parameter is not specified, the environment name becomes
5607	// part of the CNAME, and therefore part of the visible URL for your application.
5608	EnvironmentName *string `min:"4" type:"string"`
5609
5610	// The name of the group to which the target environment belongs. Specify a
5611	// group name only if the environment's name is specified in an environment
5612	// manifest and not with the environment name parameter. See Environment Manifest
5613	// (env.yaml) (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-cfg-manifest.html)
5614	// for details.
5615	GroupName *string `min:"1" type:"string"`
5616
5617	// If specified, AWS Elastic Beanstalk sets the specified configuration options
5618	// to the requested value in the configuration set for the new environment.
5619	// These override the values obtained from the solution stack or the configuration
5620	// template.
5621	OptionSettings []*ConfigurationOptionSetting `type:"list"`
5622
5623	// A list of custom user-defined configuration options to remove from the configuration
5624	// set for this new environment.
5625	OptionsToRemove []*OptionSpecification `type:"list"`
5626
5627	// The ARN of the platform.
5628	PlatformArn *string `type:"string"`
5629
5630	// This is an alternative to specifying a template name. If specified, AWS Elastic
5631	// Beanstalk sets the configuration values to the default values associated
5632	// with the specified solution stack.
5633	//
5634	// For a list of current solution stacks, see Elastic Beanstalk Supported Platforms
5635	// (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.platforms.html).
5636	SolutionStackName *string `type:"string"`
5637
5638	// Specifies the tags applied to resources in the environment.
5639	Tags []*Tag `type:"list"`
5640
5641	// The name of the configuration template to use in deployment. If no configuration
5642	// template is found with this name, AWS Elastic Beanstalk returns an InvalidParameterValue
5643	// error.
5644	TemplateName *string `min:"1" type:"string"`
5645
5646	// This specifies the tier to use for creating this environment.
5647	Tier *EnvironmentTier `type:"structure"`
5648
5649	// The name of the application version to deploy.
5650	//
5651	// If the specified application has no associated application versions, AWS
5652	// Elastic Beanstalk UpdateEnvironment returns an InvalidParameterValue error.
5653	//
5654	// Default: If not specified, AWS Elastic Beanstalk attempts to launch the sample
5655	// application in the container.
5656	VersionLabel *string `min:"1" type:"string"`
5657}
5658
5659// String returns the string representation
5660func (s CreateEnvironmentInput) String() string {
5661	return awsutil.Prettify(s)
5662}
5663
5664// GoString returns the string representation
5665func (s CreateEnvironmentInput) GoString() string {
5666	return s.String()
5667}
5668
5669// Validate inspects the fields of the type to determine if they are valid.
5670func (s *CreateEnvironmentInput) Validate() error {
5671	invalidParams := request.ErrInvalidParams{Context: "CreateEnvironmentInput"}
5672	if s.ApplicationName == nil {
5673		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
5674	}
5675	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5676		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5677	}
5678	if s.CNAMEPrefix != nil && len(*s.CNAMEPrefix) < 4 {
5679		invalidParams.Add(request.NewErrParamMinLen("CNAMEPrefix", 4))
5680	}
5681	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
5682		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
5683	}
5684	if s.GroupName != nil && len(*s.GroupName) < 1 {
5685		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
5686	}
5687	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
5688		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
5689	}
5690	if s.VersionLabel != nil && len(*s.VersionLabel) < 1 {
5691		invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1))
5692	}
5693	if s.OptionSettings != nil {
5694		for i, v := range s.OptionSettings {
5695			if v == nil {
5696				continue
5697			}
5698			if err := v.Validate(); err != nil {
5699				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionSettings", i), err.(request.ErrInvalidParams))
5700			}
5701		}
5702	}
5703	if s.OptionsToRemove != nil {
5704		for i, v := range s.OptionsToRemove {
5705			if v == nil {
5706				continue
5707			}
5708			if err := v.Validate(); err != nil {
5709				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionsToRemove", i), err.(request.ErrInvalidParams))
5710			}
5711		}
5712	}
5713	if s.Tags != nil {
5714		for i, v := range s.Tags {
5715			if v == nil {
5716				continue
5717			}
5718			if err := v.Validate(); err != nil {
5719				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5720			}
5721		}
5722	}
5723
5724	if invalidParams.Len() > 0 {
5725		return invalidParams
5726	}
5727	return nil
5728}
5729
5730// SetApplicationName sets the ApplicationName field's value.
5731func (s *CreateEnvironmentInput) SetApplicationName(v string) *CreateEnvironmentInput {
5732	s.ApplicationName = &v
5733	return s
5734}
5735
5736// SetCNAMEPrefix sets the CNAMEPrefix field's value.
5737func (s *CreateEnvironmentInput) SetCNAMEPrefix(v string) *CreateEnvironmentInput {
5738	s.CNAMEPrefix = &v
5739	return s
5740}
5741
5742// SetDescription sets the Description field's value.
5743func (s *CreateEnvironmentInput) SetDescription(v string) *CreateEnvironmentInput {
5744	s.Description = &v
5745	return s
5746}
5747
5748// SetEnvironmentName sets the EnvironmentName field's value.
5749func (s *CreateEnvironmentInput) SetEnvironmentName(v string) *CreateEnvironmentInput {
5750	s.EnvironmentName = &v
5751	return s
5752}
5753
5754// SetGroupName sets the GroupName field's value.
5755func (s *CreateEnvironmentInput) SetGroupName(v string) *CreateEnvironmentInput {
5756	s.GroupName = &v
5757	return s
5758}
5759
5760// SetOptionSettings sets the OptionSettings field's value.
5761func (s *CreateEnvironmentInput) SetOptionSettings(v []*ConfigurationOptionSetting) *CreateEnvironmentInput {
5762	s.OptionSettings = v
5763	return s
5764}
5765
5766// SetOptionsToRemove sets the OptionsToRemove field's value.
5767func (s *CreateEnvironmentInput) SetOptionsToRemove(v []*OptionSpecification) *CreateEnvironmentInput {
5768	s.OptionsToRemove = v
5769	return s
5770}
5771
5772// SetPlatformArn sets the PlatformArn field's value.
5773func (s *CreateEnvironmentInput) SetPlatformArn(v string) *CreateEnvironmentInput {
5774	s.PlatformArn = &v
5775	return s
5776}
5777
5778// SetSolutionStackName sets the SolutionStackName field's value.
5779func (s *CreateEnvironmentInput) SetSolutionStackName(v string) *CreateEnvironmentInput {
5780	s.SolutionStackName = &v
5781	return s
5782}
5783
5784// SetTags sets the Tags field's value.
5785func (s *CreateEnvironmentInput) SetTags(v []*Tag) *CreateEnvironmentInput {
5786	s.Tags = v
5787	return s
5788}
5789
5790// SetTemplateName sets the TemplateName field's value.
5791func (s *CreateEnvironmentInput) SetTemplateName(v string) *CreateEnvironmentInput {
5792	s.TemplateName = &v
5793	return s
5794}
5795
5796// SetTier sets the Tier field's value.
5797func (s *CreateEnvironmentInput) SetTier(v *EnvironmentTier) *CreateEnvironmentInput {
5798	s.Tier = v
5799	return s
5800}
5801
5802// SetVersionLabel sets the VersionLabel field's value.
5803func (s *CreateEnvironmentInput) SetVersionLabel(v string) *CreateEnvironmentInput {
5804	s.VersionLabel = &v
5805	return s
5806}
5807
5808// Request to create a new platform version.
5809type CreatePlatformVersionInput struct {
5810	_ struct{} `type:"structure"`
5811
5812	// The name of the builder environment.
5813	EnvironmentName *string `min:"4" type:"string"`
5814
5815	// The configuration option settings to apply to the builder environment.
5816	OptionSettings []*ConfigurationOptionSetting `type:"list"`
5817
5818	// The location of the platform definition archive in Amazon S3.
5819	//
5820	// PlatformDefinitionBundle is a required field
5821	PlatformDefinitionBundle *S3Location `type:"structure" required:"true"`
5822
5823	// The name of your custom platform.
5824	//
5825	// PlatformName is a required field
5826	PlatformName *string `type:"string" required:"true"`
5827
5828	// The number, such as 1.0.2, for the new platform version.
5829	//
5830	// PlatformVersion is a required field
5831	PlatformVersion *string `type:"string" required:"true"`
5832
5833	// Specifies the tags applied to the new platform version.
5834	//
5835	// Elastic Beanstalk applies these tags only to the platform version. Environments
5836	// that you create using the platform version don't inherit the tags.
5837	Tags []*Tag `type:"list"`
5838}
5839
5840// String returns the string representation
5841func (s CreatePlatformVersionInput) String() string {
5842	return awsutil.Prettify(s)
5843}
5844
5845// GoString returns the string representation
5846func (s CreatePlatformVersionInput) GoString() string {
5847	return s.String()
5848}
5849
5850// Validate inspects the fields of the type to determine if they are valid.
5851func (s *CreatePlatformVersionInput) Validate() error {
5852	invalidParams := request.ErrInvalidParams{Context: "CreatePlatformVersionInput"}
5853	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
5854		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
5855	}
5856	if s.PlatformDefinitionBundle == nil {
5857		invalidParams.Add(request.NewErrParamRequired("PlatformDefinitionBundle"))
5858	}
5859	if s.PlatformName == nil {
5860		invalidParams.Add(request.NewErrParamRequired("PlatformName"))
5861	}
5862	if s.PlatformVersion == nil {
5863		invalidParams.Add(request.NewErrParamRequired("PlatformVersion"))
5864	}
5865	if s.OptionSettings != nil {
5866		for i, v := range s.OptionSettings {
5867			if v == nil {
5868				continue
5869			}
5870			if err := v.Validate(); err != nil {
5871				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionSettings", i), err.(request.ErrInvalidParams))
5872			}
5873		}
5874	}
5875	if s.Tags != nil {
5876		for i, v := range s.Tags {
5877			if v == nil {
5878				continue
5879			}
5880			if err := v.Validate(); err != nil {
5881				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5882			}
5883		}
5884	}
5885
5886	if invalidParams.Len() > 0 {
5887		return invalidParams
5888	}
5889	return nil
5890}
5891
5892// SetEnvironmentName sets the EnvironmentName field's value.
5893func (s *CreatePlatformVersionInput) SetEnvironmentName(v string) *CreatePlatformVersionInput {
5894	s.EnvironmentName = &v
5895	return s
5896}
5897
5898// SetOptionSettings sets the OptionSettings field's value.
5899func (s *CreatePlatformVersionInput) SetOptionSettings(v []*ConfigurationOptionSetting) *CreatePlatformVersionInput {
5900	s.OptionSettings = v
5901	return s
5902}
5903
5904// SetPlatformDefinitionBundle sets the PlatformDefinitionBundle field's value.
5905func (s *CreatePlatformVersionInput) SetPlatformDefinitionBundle(v *S3Location) *CreatePlatformVersionInput {
5906	s.PlatformDefinitionBundle = v
5907	return s
5908}
5909
5910// SetPlatformName sets the PlatformName field's value.
5911func (s *CreatePlatformVersionInput) SetPlatformName(v string) *CreatePlatformVersionInput {
5912	s.PlatformName = &v
5913	return s
5914}
5915
5916// SetPlatformVersion sets the PlatformVersion field's value.
5917func (s *CreatePlatformVersionInput) SetPlatformVersion(v string) *CreatePlatformVersionInput {
5918	s.PlatformVersion = &v
5919	return s
5920}
5921
5922// SetTags sets the Tags field's value.
5923func (s *CreatePlatformVersionInput) SetTags(v []*Tag) *CreatePlatformVersionInput {
5924	s.Tags = v
5925	return s
5926}
5927
5928type CreatePlatformVersionOutput struct {
5929	_ struct{} `type:"structure"`
5930
5931	// The builder used to create the custom platform.
5932	Builder *Builder `type:"structure"`
5933
5934	// Detailed information about the new version of the custom platform.
5935	PlatformSummary *PlatformSummary `type:"structure"`
5936}
5937
5938// String returns the string representation
5939func (s CreatePlatformVersionOutput) String() string {
5940	return awsutil.Prettify(s)
5941}
5942
5943// GoString returns the string representation
5944func (s CreatePlatformVersionOutput) GoString() string {
5945	return s.String()
5946}
5947
5948// SetBuilder sets the Builder field's value.
5949func (s *CreatePlatformVersionOutput) SetBuilder(v *Builder) *CreatePlatformVersionOutput {
5950	s.Builder = v
5951	return s
5952}
5953
5954// SetPlatformSummary sets the PlatformSummary field's value.
5955func (s *CreatePlatformVersionOutput) SetPlatformSummary(v *PlatformSummary) *CreatePlatformVersionOutput {
5956	s.PlatformSummary = v
5957	return s
5958}
5959
5960type CreateStorageLocationInput struct {
5961	_ struct{} `type:"structure"`
5962}
5963
5964// String returns the string representation
5965func (s CreateStorageLocationInput) String() string {
5966	return awsutil.Prettify(s)
5967}
5968
5969// GoString returns the string representation
5970func (s CreateStorageLocationInput) GoString() string {
5971	return s.String()
5972}
5973
5974// Results of a CreateStorageLocationResult call.
5975type CreateStorageLocationOutput struct {
5976	_ struct{} `type:"structure"`
5977
5978	// The name of the Amazon S3 bucket created.
5979	S3Bucket *string `type:"string"`
5980}
5981
5982// String returns the string representation
5983func (s CreateStorageLocationOutput) String() string {
5984	return awsutil.Prettify(s)
5985}
5986
5987// GoString returns the string representation
5988func (s CreateStorageLocationOutput) GoString() string {
5989	return s.String()
5990}
5991
5992// SetS3Bucket sets the S3Bucket field's value.
5993func (s *CreateStorageLocationOutput) SetS3Bucket(v string) *CreateStorageLocationOutput {
5994	s.S3Bucket = &v
5995	return s
5996}
5997
5998// A custom AMI available to platforms.
5999type CustomAmi struct {
6000	_ struct{} `type:"structure"`
6001
6002	// THe ID of the image used to create the custom AMI.
6003	ImageId *string `type:"string"`
6004
6005	// The type of virtualization used to create the custom AMI.
6006	VirtualizationType *string `type:"string"`
6007}
6008
6009// String returns the string representation
6010func (s CustomAmi) String() string {
6011	return awsutil.Prettify(s)
6012}
6013
6014// GoString returns the string representation
6015func (s CustomAmi) GoString() string {
6016	return s.String()
6017}
6018
6019// SetImageId sets the ImageId field's value.
6020func (s *CustomAmi) SetImageId(v string) *CustomAmi {
6021	s.ImageId = &v
6022	return s
6023}
6024
6025// SetVirtualizationType sets the VirtualizationType field's value.
6026func (s *CustomAmi) SetVirtualizationType(v string) *CustomAmi {
6027	s.VirtualizationType = &v
6028	return s
6029}
6030
6031// Request to delete an application.
6032type DeleteApplicationInput struct {
6033	_ struct{} `type:"structure"`
6034
6035	// The name of the application to delete.
6036	//
6037	// ApplicationName is a required field
6038	ApplicationName *string `min:"1" type:"string" required:"true"`
6039
6040	// When set to true, running environments will be terminated before deleting
6041	// the application.
6042	TerminateEnvByForce *bool `type:"boolean"`
6043}
6044
6045// String returns the string representation
6046func (s DeleteApplicationInput) String() string {
6047	return awsutil.Prettify(s)
6048}
6049
6050// GoString returns the string representation
6051func (s DeleteApplicationInput) GoString() string {
6052	return s.String()
6053}
6054
6055// Validate inspects the fields of the type to determine if they are valid.
6056func (s *DeleteApplicationInput) Validate() error {
6057	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationInput"}
6058	if s.ApplicationName == nil {
6059		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
6060	}
6061	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
6062		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
6063	}
6064
6065	if invalidParams.Len() > 0 {
6066		return invalidParams
6067	}
6068	return nil
6069}
6070
6071// SetApplicationName sets the ApplicationName field's value.
6072func (s *DeleteApplicationInput) SetApplicationName(v string) *DeleteApplicationInput {
6073	s.ApplicationName = &v
6074	return s
6075}
6076
6077// SetTerminateEnvByForce sets the TerminateEnvByForce field's value.
6078func (s *DeleteApplicationInput) SetTerminateEnvByForce(v bool) *DeleteApplicationInput {
6079	s.TerminateEnvByForce = &v
6080	return s
6081}
6082
6083type DeleteApplicationOutput struct {
6084	_ struct{} `type:"structure"`
6085}
6086
6087// String returns the string representation
6088func (s DeleteApplicationOutput) String() string {
6089	return awsutil.Prettify(s)
6090}
6091
6092// GoString returns the string representation
6093func (s DeleteApplicationOutput) GoString() string {
6094	return s.String()
6095}
6096
6097// Request to delete an application version.
6098type DeleteApplicationVersionInput struct {
6099	_ struct{} `type:"structure"`
6100
6101	// The name of the application to which the version belongs.
6102	//
6103	// ApplicationName is a required field
6104	ApplicationName *string `min:"1" type:"string" required:"true"`
6105
6106	// Set to true to delete the source bundle from your storage bucket. Otherwise,
6107	// the application version is deleted only from Elastic Beanstalk and the source
6108	// bundle remains in Amazon S3.
6109	DeleteSourceBundle *bool `type:"boolean"`
6110
6111	// The label of the version to delete.
6112	//
6113	// VersionLabel is a required field
6114	VersionLabel *string `min:"1" type:"string" required:"true"`
6115}
6116
6117// String returns the string representation
6118func (s DeleteApplicationVersionInput) String() string {
6119	return awsutil.Prettify(s)
6120}
6121
6122// GoString returns the string representation
6123func (s DeleteApplicationVersionInput) GoString() string {
6124	return s.String()
6125}
6126
6127// Validate inspects the fields of the type to determine if they are valid.
6128func (s *DeleteApplicationVersionInput) Validate() error {
6129	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationVersionInput"}
6130	if s.ApplicationName == nil {
6131		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
6132	}
6133	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
6134		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
6135	}
6136	if s.VersionLabel == nil {
6137		invalidParams.Add(request.NewErrParamRequired("VersionLabel"))
6138	}
6139	if s.VersionLabel != nil && len(*s.VersionLabel) < 1 {
6140		invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1))
6141	}
6142
6143	if invalidParams.Len() > 0 {
6144		return invalidParams
6145	}
6146	return nil
6147}
6148
6149// SetApplicationName sets the ApplicationName field's value.
6150func (s *DeleteApplicationVersionInput) SetApplicationName(v string) *DeleteApplicationVersionInput {
6151	s.ApplicationName = &v
6152	return s
6153}
6154
6155// SetDeleteSourceBundle sets the DeleteSourceBundle field's value.
6156func (s *DeleteApplicationVersionInput) SetDeleteSourceBundle(v bool) *DeleteApplicationVersionInput {
6157	s.DeleteSourceBundle = &v
6158	return s
6159}
6160
6161// SetVersionLabel sets the VersionLabel field's value.
6162func (s *DeleteApplicationVersionInput) SetVersionLabel(v string) *DeleteApplicationVersionInput {
6163	s.VersionLabel = &v
6164	return s
6165}
6166
6167type DeleteApplicationVersionOutput struct {
6168	_ struct{} `type:"structure"`
6169}
6170
6171// String returns the string representation
6172func (s DeleteApplicationVersionOutput) String() string {
6173	return awsutil.Prettify(s)
6174}
6175
6176// GoString returns the string representation
6177func (s DeleteApplicationVersionOutput) GoString() string {
6178	return s.String()
6179}
6180
6181// Request to delete a configuration template.
6182type DeleteConfigurationTemplateInput struct {
6183	_ struct{} `type:"structure"`
6184
6185	// The name of the application to delete the configuration template from.
6186	//
6187	// ApplicationName is a required field
6188	ApplicationName *string `min:"1" type:"string" required:"true"`
6189
6190	// The name of the configuration template to delete.
6191	//
6192	// TemplateName is a required field
6193	TemplateName *string `min:"1" type:"string" required:"true"`
6194}
6195
6196// String returns the string representation
6197func (s DeleteConfigurationTemplateInput) String() string {
6198	return awsutil.Prettify(s)
6199}
6200
6201// GoString returns the string representation
6202func (s DeleteConfigurationTemplateInput) GoString() string {
6203	return s.String()
6204}
6205
6206// Validate inspects the fields of the type to determine if they are valid.
6207func (s *DeleteConfigurationTemplateInput) Validate() error {
6208	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationTemplateInput"}
6209	if s.ApplicationName == nil {
6210		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
6211	}
6212	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
6213		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
6214	}
6215	if s.TemplateName == nil {
6216		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
6217	}
6218	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
6219		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
6220	}
6221
6222	if invalidParams.Len() > 0 {
6223		return invalidParams
6224	}
6225	return nil
6226}
6227
6228// SetApplicationName sets the ApplicationName field's value.
6229func (s *DeleteConfigurationTemplateInput) SetApplicationName(v string) *DeleteConfigurationTemplateInput {
6230	s.ApplicationName = &v
6231	return s
6232}
6233
6234// SetTemplateName sets the TemplateName field's value.
6235func (s *DeleteConfigurationTemplateInput) SetTemplateName(v string) *DeleteConfigurationTemplateInput {
6236	s.TemplateName = &v
6237	return s
6238}
6239
6240type DeleteConfigurationTemplateOutput struct {
6241	_ struct{} `type:"structure"`
6242}
6243
6244// String returns the string representation
6245func (s DeleteConfigurationTemplateOutput) String() string {
6246	return awsutil.Prettify(s)
6247}
6248
6249// GoString returns the string representation
6250func (s DeleteConfigurationTemplateOutput) GoString() string {
6251	return s.String()
6252}
6253
6254// Request to delete a draft environment configuration.
6255type DeleteEnvironmentConfigurationInput struct {
6256	_ struct{} `type:"structure"`
6257
6258	// The name of the application the environment is associated with.
6259	//
6260	// ApplicationName is a required field
6261	ApplicationName *string `min:"1" type:"string" required:"true"`
6262
6263	// The name of the environment to delete the draft configuration from.
6264	//
6265	// EnvironmentName is a required field
6266	EnvironmentName *string `min:"4" type:"string" required:"true"`
6267}
6268
6269// String returns the string representation
6270func (s DeleteEnvironmentConfigurationInput) String() string {
6271	return awsutil.Prettify(s)
6272}
6273
6274// GoString returns the string representation
6275func (s DeleteEnvironmentConfigurationInput) GoString() string {
6276	return s.String()
6277}
6278
6279// Validate inspects the fields of the type to determine if they are valid.
6280func (s *DeleteEnvironmentConfigurationInput) Validate() error {
6281	invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentConfigurationInput"}
6282	if s.ApplicationName == nil {
6283		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
6284	}
6285	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
6286		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
6287	}
6288	if s.EnvironmentName == nil {
6289		invalidParams.Add(request.NewErrParamRequired("EnvironmentName"))
6290	}
6291	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
6292		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
6293	}
6294
6295	if invalidParams.Len() > 0 {
6296		return invalidParams
6297	}
6298	return nil
6299}
6300
6301// SetApplicationName sets the ApplicationName field's value.
6302func (s *DeleteEnvironmentConfigurationInput) SetApplicationName(v string) *DeleteEnvironmentConfigurationInput {
6303	s.ApplicationName = &v
6304	return s
6305}
6306
6307// SetEnvironmentName sets the EnvironmentName field's value.
6308func (s *DeleteEnvironmentConfigurationInput) SetEnvironmentName(v string) *DeleteEnvironmentConfigurationInput {
6309	s.EnvironmentName = &v
6310	return s
6311}
6312
6313type DeleteEnvironmentConfigurationOutput struct {
6314	_ struct{} `type:"structure"`
6315}
6316
6317// String returns the string representation
6318func (s DeleteEnvironmentConfigurationOutput) String() string {
6319	return awsutil.Prettify(s)
6320}
6321
6322// GoString returns the string representation
6323func (s DeleteEnvironmentConfigurationOutput) GoString() string {
6324	return s.String()
6325}
6326
6327type DeletePlatformVersionInput struct {
6328	_ struct{} `type:"structure"`
6329
6330	// The ARN of the version of the custom platform.
6331	PlatformArn *string `type:"string"`
6332}
6333
6334// String returns the string representation
6335func (s DeletePlatformVersionInput) String() string {
6336	return awsutil.Prettify(s)
6337}
6338
6339// GoString returns the string representation
6340func (s DeletePlatformVersionInput) GoString() string {
6341	return s.String()
6342}
6343
6344// SetPlatformArn sets the PlatformArn field's value.
6345func (s *DeletePlatformVersionInput) SetPlatformArn(v string) *DeletePlatformVersionInput {
6346	s.PlatformArn = &v
6347	return s
6348}
6349
6350type DeletePlatformVersionOutput struct {
6351	_ struct{} `type:"structure"`
6352
6353	// Detailed information about the version of the custom platform.
6354	PlatformSummary *PlatformSummary `type:"structure"`
6355}
6356
6357// String returns the string representation
6358func (s DeletePlatformVersionOutput) String() string {
6359	return awsutil.Prettify(s)
6360}
6361
6362// GoString returns the string representation
6363func (s DeletePlatformVersionOutput) GoString() string {
6364	return s.String()
6365}
6366
6367// SetPlatformSummary sets the PlatformSummary field's value.
6368func (s *DeletePlatformVersionOutput) SetPlatformSummary(v *PlatformSummary) *DeletePlatformVersionOutput {
6369	s.PlatformSummary = v
6370	return s
6371}
6372
6373// Information about an application version deployment.
6374type Deployment struct {
6375	_ struct{} `type:"structure"`
6376
6377	// The ID of the deployment. This number increases by one each time that you
6378	// deploy source code or change instance configuration settings.
6379	DeploymentId *int64 `type:"long"`
6380
6381	// For in-progress deployments, the time that the deployment started.
6382	//
6383	// For completed deployments, the time that the deployment ended.
6384	DeploymentTime *time.Time `type:"timestamp"`
6385
6386	// The status of the deployment:
6387	//
6388	//    * In Progress : The deployment is in progress.
6389	//
6390	//    * Deployed : The deployment succeeded.
6391	//
6392	//    * Failed : The deployment failed.
6393	Status *string `type:"string"`
6394
6395	// The version label of the application version in the deployment.
6396	VersionLabel *string `type:"string"`
6397}
6398
6399// String returns the string representation
6400func (s Deployment) String() string {
6401	return awsutil.Prettify(s)
6402}
6403
6404// GoString returns the string representation
6405func (s Deployment) GoString() string {
6406	return s.String()
6407}
6408
6409// SetDeploymentId sets the DeploymentId field's value.
6410func (s *Deployment) SetDeploymentId(v int64) *Deployment {
6411	s.DeploymentId = &v
6412	return s
6413}
6414
6415// SetDeploymentTime sets the DeploymentTime field's value.
6416func (s *Deployment) SetDeploymentTime(v time.Time) *Deployment {
6417	s.DeploymentTime = &v
6418	return s
6419}
6420
6421// SetStatus sets the Status field's value.
6422func (s *Deployment) SetStatus(v string) *Deployment {
6423	s.Status = &v
6424	return s
6425}
6426
6427// SetVersionLabel sets the VersionLabel field's value.
6428func (s *Deployment) SetVersionLabel(v string) *Deployment {
6429	s.VersionLabel = &v
6430	return s
6431}
6432
6433type DescribeAccountAttributesInput struct {
6434	_ struct{} `type:"structure"`
6435}
6436
6437// String returns the string representation
6438func (s DescribeAccountAttributesInput) String() string {
6439	return awsutil.Prettify(s)
6440}
6441
6442// GoString returns the string representation
6443func (s DescribeAccountAttributesInput) GoString() string {
6444	return s.String()
6445}
6446
6447type DescribeAccountAttributesOutput struct {
6448	_ struct{} `type:"structure"`
6449
6450	// The Elastic Beanstalk resource quotas associated with the calling AWS account.
6451	ResourceQuotas *ResourceQuotas `type:"structure"`
6452}
6453
6454// String returns the string representation
6455func (s DescribeAccountAttributesOutput) String() string {
6456	return awsutil.Prettify(s)
6457}
6458
6459// GoString returns the string representation
6460func (s DescribeAccountAttributesOutput) GoString() string {
6461	return s.String()
6462}
6463
6464// SetResourceQuotas sets the ResourceQuotas field's value.
6465func (s *DescribeAccountAttributesOutput) SetResourceQuotas(v *ResourceQuotas) *DescribeAccountAttributesOutput {
6466	s.ResourceQuotas = v
6467	return s
6468}
6469
6470// Request to describe application versions.
6471type DescribeApplicationVersionsInput struct {
6472	_ struct{} `type:"structure"`
6473
6474	// Specify an application name to show only application versions for that application.
6475	ApplicationName *string `min:"1" type:"string"`
6476
6477	// For a paginated request. Specify a maximum number of application versions
6478	// to include in each response.
6479	//
6480	// If no MaxRecords is specified, all available application versions are retrieved
6481	// in a single response.
6482	MaxRecords *int64 `min:"1" type:"integer"`
6483
6484	// For a paginated request. Specify a token from a previous response page to
6485	// retrieve the next response page. All other parameter values must be identical
6486	// to the ones specified in the initial request.
6487	//
6488	// If no NextToken is specified, the first page is retrieved.
6489	NextToken *string `type:"string"`
6490
6491	// Specify a version label to show a specific application version.
6492	VersionLabels []*string `type:"list"`
6493}
6494
6495// String returns the string representation
6496func (s DescribeApplicationVersionsInput) String() string {
6497	return awsutil.Prettify(s)
6498}
6499
6500// GoString returns the string representation
6501func (s DescribeApplicationVersionsInput) GoString() string {
6502	return s.String()
6503}
6504
6505// Validate inspects the fields of the type to determine if they are valid.
6506func (s *DescribeApplicationVersionsInput) Validate() error {
6507	invalidParams := request.ErrInvalidParams{Context: "DescribeApplicationVersionsInput"}
6508	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
6509		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
6510	}
6511	if s.MaxRecords != nil && *s.MaxRecords < 1 {
6512		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 1))
6513	}
6514
6515	if invalidParams.Len() > 0 {
6516		return invalidParams
6517	}
6518	return nil
6519}
6520
6521// SetApplicationName sets the ApplicationName field's value.
6522func (s *DescribeApplicationVersionsInput) SetApplicationName(v string) *DescribeApplicationVersionsInput {
6523	s.ApplicationName = &v
6524	return s
6525}
6526
6527// SetMaxRecords sets the MaxRecords field's value.
6528func (s *DescribeApplicationVersionsInput) SetMaxRecords(v int64) *DescribeApplicationVersionsInput {
6529	s.MaxRecords = &v
6530	return s
6531}
6532
6533// SetNextToken sets the NextToken field's value.
6534func (s *DescribeApplicationVersionsInput) SetNextToken(v string) *DescribeApplicationVersionsInput {
6535	s.NextToken = &v
6536	return s
6537}
6538
6539// SetVersionLabels sets the VersionLabels field's value.
6540func (s *DescribeApplicationVersionsInput) SetVersionLabels(v []*string) *DescribeApplicationVersionsInput {
6541	s.VersionLabels = v
6542	return s
6543}
6544
6545// Result message wrapping a list of application version descriptions.
6546type DescribeApplicationVersionsOutput struct {
6547	_ struct{} `type:"structure"`
6548
6549	// List of ApplicationVersionDescription objects sorted in order of creation.
6550	ApplicationVersions []*ApplicationVersionDescription `type:"list"`
6551
6552	// In a paginated request, the token that you can pass in a subsequent request
6553	// to get the next response page.
6554	NextToken *string `type:"string"`
6555}
6556
6557// String returns the string representation
6558func (s DescribeApplicationVersionsOutput) String() string {
6559	return awsutil.Prettify(s)
6560}
6561
6562// GoString returns the string representation
6563func (s DescribeApplicationVersionsOutput) GoString() string {
6564	return s.String()
6565}
6566
6567// SetApplicationVersions sets the ApplicationVersions field's value.
6568func (s *DescribeApplicationVersionsOutput) SetApplicationVersions(v []*ApplicationVersionDescription) *DescribeApplicationVersionsOutput {
6569	s.ApplicationVersions = v
6570	return s
6571}
6572
6573// SetNextToken sets the NextToken field's value.
6574func (s *DescribeApplicationVersionsOutput) SetNextToken(v string) *DescribeApplicationVersionsOutput {
6575	s.NextToken = &v
6576	return s
6577}
6578
6579// Request to describe one or more applications.
6580type DescribeApplicationsInput struct {
6581	_ struct{} `type:"structure"`
6582
6583	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
6584	// only include those with the specified names.
6585	ApplicationNames []*string `type:"list"`
6586}
6587
6588// String returns the string representation
6589func (s DescribeApplicationsInput) String() string {
6590	return awsutil.Prettify(s)
6591}
6592
6593// GoString returns the string representation
6594func (s DescribeApplicationsInput) GoString() string {
6595	return s.String()
6596}
6597
6598// SetApplicationNames sets the ApplicationNames field's value.
6599func (s *DescribeApplicationsInput) SetApplicationNames(v []*string) *DescribeApplicationsInput {
6600	s.ApplicationNames = v
6601	return s
6602}
6603
6604// Result message containing a list of application descriptions.
6605type DescribeApplicationsOutput struct {
6606	_ struct{} `type:"structure"`
6607
6608	// This parameter contains a list of ApplicationDescription.
6609	Applications []*ApplicationDescription `type:"list"`
6610}
6611
6612// String returns the string representation
6613func (s DescribeApplicationsOutput) String() string {
6614	return awsutil.Prettify(s)
6615}
6616
6617// GoString returns the string representation
6618func (s DescribeApplicationsOutput) GoString() string {
6619	return s.String()
6620}
6621
6622// SetApplications sets the Applications field's value.
6623func (s *DescribeApplicationsOutput) SetApplications(v []*ApplicationDescription) *DescribeApplicationsOutput {
6624	s.Applications = v
6625	return s
6626}
6627
6628// Result message containing a list of application version descriptions.
6629type DescribeConfigurationOptionsInput struct {
6630	_ struct{} `type:"structure"`
6631
6632	// The name of the application associated with the configuration template or
6633	// environment. Only needed if you want to describe the configuration options
6634	// associated with either the configuration template or environment.
6635	ApplicationName *string `min:"1" type:"string"`
6636
6637	// The name of the environment whose configuration options you want to describe.
6638	EnvironmentName *string `min:"4" type:"string"`
6639
6640	// If specified, restricts the descriptions to only the specified options.
6641	Options []*OptionSpecification `type:"list"`
6642
6643	// The ARN of the custom platform.
6644	PlatformArn *string `type:"string"`
6645
6646	// The name of the solution stack whose configuration options you want to describe.
6647	SolutionStackName *string `type:"string"`
6648
6649	// The name of the configuration template whose configuration options you want
6650	// to describe.
6651	TemplateName *string `min:"1" type:"string"`
6652}
6653
6654// String returns the string representation
6655func (s DescribeConfigurationOptionsInput) String() string {
6656	return awsutil.Prettify(s)
6657}
6658
6659// GoString returns the string representation
6660func (s DescribeConfigurationOptionsInput) GoString() string {
6661	return s.String()
6662}
6663
6664// Validate inspects the fields of the type to determine if they are valid.
6665func (s *DescribeConfigurationOptionsInput) Validate() error {
6666	invalidParams := request.ErrInvalidParams{Context: "DescribeConfigurationOptionsInput"}
6667	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
6668		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
6669	}
6670	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
6671		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
6672	}
6673	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
6674		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
6675	}
6676	if s.Options != nil {
6677		for i, v := range s.Options {
6678			if v == nil {
6679				continue
6680			}
6681			if err := v.Validate(); err != nil {
6682				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Options", i), err.(request.ErrInvalidParams))
6683			}
6684		}
6685	}
6686
6687	if invalidParams.Len() > 0 {
6688		return invalidParams
6689	}
6690	return nil
6691}
6692
6693// SetApplicationName sets the ApplicationName field's value.
6694func (s *DescribeConfigurationOptionsInput) SetApplicationName(v string) *DescribeConfigurationOptionsInput {
6695	s.ApplicationName = &v
6696	return s
6697}
6698
6699// SetEnvironmentName sets the EnvironmentName field's value.
6700func (s *DescribeConfigurationOptionsInput) SetEnvironmentName(v string) *DescribeConfigurationOptionsInput {
6701	s.EnvironmentName = &v
6702	return s
6703}
6704
6705// SetOptions sets the Options field's value.
6706func (s *DescribeConfigurationOptionsInput) SetOptions(v []*OptionSpecification) *DescribeConfigurationOptionsInput {
6707	s.Options = v
6708	return s
6709}
6710
6711// SetPlatformArn sets the PlatformArn field's value.
6712func (s *DescribeConfigurationOptionsInput) SetPlatformArn(v string) *DescribeConfigurationOptionsInput {
6713	s.PlatformArn = &v
6714	return s
6715}
6716
6717// SetSolutionStackName sets the SolutionStackName field's value.
6718func (s *DescribeConfigurationOptionsInput) SetSolutionStackName(v string) *DescribeConfigurationOptionsInput {
6719	s.SolutionStackName = &v
6720	return s
6721}
6722
6723// SetTemplateName sets the TemplateName field's value.
6724func (s *DescribeConfigurationOptionsInput) SetTemplateName(v string) *DescribeConfigurationOptionsInput {
6725	s.TemplateName = &v
6726	return s
6727}
6728
6729// Describes the settings for a specified configuration set.
6730type DescribeConfigurationOptionsOutput struct {
6731	_ struct{} `type:"structure"`
6732
6733	// A list of ConfigurationOptionDescription.
6734	Options []*ConfigurationOptionDescription `type:"list"`
6735
6736	// The ARN of the platform.
6737	PlatformArn *string `type:"string"`
6738
6739	// The name of the solution stack these configuration options belong to.
6740	SolutionStackName *string `type:"string"`
6741}
6742
6743// String returns the string representation
6744func (s DescribeConfigurationOptionsOutput) String() string {
6745	return awsutil.Prettify(s)
6746}
6747
6748// GoString returns the string representation
6749func (s DescribeConfigurationOptionsOutput) GoString() string {
6750	return s.String()
6751}
6752
6753// SetOptions sets the Options field's value.
6754func (s *DescribeConfigurationOptionsOutput) SetOptions(v []*ConfigurationOptionDescription) *DescribeConfigurationOptionsOutput {
6755	s.Options = v
6756	return s
6757}
6758
6759// SetPlatformArn sets the PlatformArn field's value.
6760func (s *DescribeConfigurationOptionsOutput) SetPlatformArn(v string) *DescribeConfigurationOptionsOutput {
6761	s.PlatformArn = &v
6762	return s
6763}
6764
6765// SetSolutionStackName sets the SolutionStackName field's value.
6766func (s *DescribeConfigurationOptionsOutput) SetSolutionStackName(v string) *DescribeConfigurationOptionsOutput {
6767	s.SolutionStackName = &v
6768	return s
6769}
6770
6771// Result message containing all of the configuration settings for a specified
6772// solution stack or configuration template.
6773type DescribeConfigurationSettingsInput struct {
6774	_ struct{} `type:"structure"`
6775
6776	// The application for the environment or configuration template.
6777	//
6778	// ApplicationName is a required field
6779	ApplicationName *string `min:"1" type:"string" required:"true"`
6780
6781	// The name of the environment to describe.
6782	//
6783	// Condition: You must specify either this or a TemplateName, but not both.
6784	// If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination
6785	// error. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
6786	// error.
6787	EnvironmentName *string `min:"4" type:"string"`
6788
6789	// The name of the configuration template to describe.
6790	//
6791	// Conditional: You must specify either this parameter or an EnvironmentName,
6792	// but not both. If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination
6793	// error. If you do not specify either, AWS Elastic Beanstalk returns a MissingRequiredParameter
6794	// error.
6795	TemplateName *string `min:"1" type:"string"`
6796}
6797
6798// String returns the string representation
6799func (s DescribeConfigurationSettingsInput) String() string {
6800	return awsutil.Prettify(s)
6801}
6802
6803// GoString returns the string representation
6804func (s DescribeConfigurationSettingsInput) GoString() string {
6805	return s.String()
6806}
6807
6808// Validate inspects the fields of the type to determine if they are valid.
6809func (s *DescribeConfigurationSettingsInput) Validate() error {
6810	invalidParams := request.ErrInvalidParams{Context: "DescribeConfigurationSettingsInput"}
6811	if s.ApplicationName == nil {
6812		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
6813	}
6814	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
6815		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
6816	}
6817	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
6818		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
6819	}
6820	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
6821		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
6822	}
6823
6824	if invalidParams.Len() > 0 {
6825		return invalidParams
6826	}
6827	return nil
6828}
6829
6830// SetApplicationName sets the ApplicationName field's value.
6831func (s *DescribeConfigurationSettingsInput) SetApplicationName(v string) *DescribeConfigurationSettingsInput {
6832	s.ApplicationName = &v
6833	return s
6834}
6835
6836// SetEnvironmentName sets the EnvironmentName field's value.
6837func (s *DescribeConfigurationSettingsInput) SetEnvironmentName(v string) *DescribeConfigurationSettingsInput {
6838	s.EnvironmentName = &v
6839	return s
6840}
6841
6842// SetTemplateName sets the TemplateName field's value.
6843func (s *DescribeConfigurationSettingsInput) SetTemplateName(v string) *DescribeConfigurationSettingsInput {
6844	s.TemplateName = &v
6845	return s
6846}
6847
6848// The results from a request to change the configuration settings of an environment.
6849type DescribeConfigurationSettingsOutput struct {
6850	_ struct{} `type:"structure"`
6851
6852	// A list of ConfigurationSettingsDescription.
6853	ConfigurationSettings []*ConfigurationSettingsDescription `type:"list"`
6854}
6855
6856// String returns the string representation
6857func (s DescribeConfigurationSettingsOutput) String() string {
6858	return awsutil.Prettify(s)
6859}
6860
6861// GoString returns the string representation
6862func (s DescribeConfigurationSettingsOutput) GoString() string {
6863	return s.String()
6864}
6865
6866// SetConfigurationSettings sets the ConfigurationSettings field's value.
6867func (s *DescribeConfigurationSettingsOutput) SetConfigurationSettings(v []*ConfigurationSettingsDescription) *DescribeConfigurationSettingsOutput {
6868	s.ConfigurationSettings = v
6869	return s
6870}
6871
6872// See the example below to learn how to create a request body.
6873type DescribeEnvironmentHealthInput struct {
6874	_ struct{} `type:"structure"`
6875
6876	// Specify the response elements to return. To retrieve all attributes, set
6877	// to All. If no attribute names are specified, returns the name of the environment.
6878	AttributeNames []*string `type:"list"`
6879
6880	// Specify the environment by ID.
6881	//
6882	// You must specify either this or an EnvironmentName, or both.
6883	EnvironmentId *string `type:"string"`
6884
6885	// Specify the environment by name.
6886	//
6887	// You must specify either this or an EnvironmentName, or both.
6888	EnvironmentName *string `min:"4" type:"string"`
6889}
6890
6891// String returns the string representation
6892func (s DescribeEnvironmentHealthInput) String() string {
6893	return awsutil.Prettify(s)
6894}
6895
6896// GoString returns the string representation
6897func (s DescribeEnvironmentHealthInput) GoString() string {
6898	return s.String()
6899}
6900
6901// Validate inspects the fields of the type to determine if they are valid.
6902func (s *DescribeEnvironmentHealthInput) Validate() error {
6903	invalidParams := request.ErrInvalidParams{Context: "DescribeEnvironmentHealthInput"}
6904	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
6905		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
6906	}
6907
6908	if invalidParams.Len() > 0 {
6909		return invalidParams
6910	}
6911	return nil
6912}
6913
6914// SetAttributeNames sets the AttributeNames field's value.
6915func (s *DescribeEnvironmentHealthInput) SetAttributeNames(v []*string) *DescribeEnvironmentHealthInput {
6916	s.AttributeNames = v
6917	return s
6918}
6919
6920// SetEnvironmentId sets the EnvironmentId field's value.
6921func (s *DescribeEnvironmentHealthInput) SetEnvironmentId(v string) *DescribeEnvironmentHealthInput {
6922	s.EnvironmentId = &v
6923	return s
6924}
6925
6926// SetEnvironmentName sets the EnvironmentName field's value.
6927func (s *DescribeEnvironmentHealthInput) SetEnvironmentName(v string) *DescribeEnvironmentHealthInput {
6928	s.EnvironmentName = &v
6929	return s
6930}
6931
6932// Health details for an AWS Elastic Beanstalk environment.
6933type DescribeEnvironmentHealthOutput struct {
6934	_ struct{} `type:"structure"`
6935
6936	// Application request metrics for the environment.
6937	ApplicationMetrics *ApplicationMetrics `type:"structure"`
6938
6939	// Descriptions of the data that contributed to the environment's current health
6940	// status.
6941	Causes []*string `type:"list"`
6942
6943	// The health color (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html)
6944	// of the environment.
6945	Color *string `type:"string"`
6946
6947	// The environment's name.
6948	EnvironmentName *string `min:"4" type:"string"`
6949
6950	// The health status (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html)
6951	// of the environment. For example, Ok.
6952	HealthStatus *string `type:"string"`
6953
6954	// Summary health information for the instances in the environment.
6955	InstancesHealth *InstanceHealthSummary `type:"structure"`
6956
6957	// The date and time that the health information was retrieved.
6958	RefreshedAt *time.Time `type:"timestamp"`
6959
6960	// The environment's operational status. Ready, Launching, Updating, Terminating,
6961	// or Terminated.
6962	Status *string `type:"string" enum:"EnvironmentHealth"`
6963}
6964
6965// String returns the string representation
6966func (s DescribeEnvironmentHealthOutput) String() string {
6967	return awsutil.Prettify(s)
6968}
6969
6970// GoString returns the string representation
6971func (s DescribeEnvironmentHealthOutput) GoString() string {
6972	return s.String()
6973}
6974
6975// SetApplicationMetrics sets the ApplicationMetrics field's value.
6976func (s *DescribeEnvironmentHealthOutput) SetApplicationMetrics(v *ApplicationMetrics) *DescribeEnvironmentHealthOutput {
6977	s.ApplicationMetrics = v
6978	return s
6979}
6980
6981// SetCauses sets the Causes field's value.
6982func (s *DescribeEnvironmentHealthOutput) SetCauses(v []*string) *DescribeEnvironmentHealthOutput {
6983	s.Causes = v
6984	return s
6985}
6986
6987// SetColor sets the Color field's value.
6988func (s *DescribeEnvironmentHealthOutput) SetColor(v string) *DescribeEnvironmentHealthOutput {
6989	s.Color = &v
6990	return s
6991}
6992
6993// SetEnvironmentName sets the EnvironmentName field's value.
6994func (s *DescribeEnvironmentHealthOutput) SetEnvironmentName(v string) *DescribeEnvironmentHealthOutput {
6995	s.EnvironmentName = &v
6996	return s
6997}
6998
6999// SetHealthStatus sets the HealthStatus field's value.
7000func (s *DescribeEnvironmentHealthOutput) SetHealthStatus(v string) *DescribeEnvironmentHealthOutput {
7001	s.HealthStatus = &v
7002	return s
7003}
7004
7005// SetInstancesHealth sets the InstancesHealth field's value.
7006func (s *DescribeEnvironmentHealthOutput) SetInstancesHealth(v *InstanceHealthSummary) *DescribeEnvironmentHealthOutput {
7007	s.InstancesHealth = v
7008	return s
7009}
7010
7011// SetRefreshedAt sets the RefreshedAt field's value.
7012func (s *DescribeEnvironmentHealthOutput) SetRefreshedAt(v time.Time) *DescribeEnvironmentHealthOutput {
7013	s.RefreshedAt = &v
7014	return s
7015}
7016
7017// SetStatus sets the Status field's value.
7018func (s *DescribeEnvironmentHealthOutput) SetStatus(v string) *DescribeEnvironmentHealthOutput {
7019	s.Status = &v
7020	return s
7021}
7022
7023// Request to list completed and failed managed actions.
7024type DescribeEnvironmentManagedActionHistoryInput struct {
7025	_ struct{} `type:"structure"`
7026
7027	// The environment ID of the target environment.
7028	EnvironmentId *string `type:"string"`
7029
7030	// The name of the target environment.
7031	EnvironmentName *string `min:"4" type:"string"`
7032
7033	// The maximum number of items to return for a single request.
7034	MaxItems *int64 `type:"integer"`
7035
7036	// The pagination token returned by a previous request.
7037	NextToken *string `type:"string"`
7038}
7039
7040// String returns the string representation
7041func (s DescribeEnvironmentManagedActionHistoryInput) String() string {
7042	return awsutil.Prettify(s)
7043}
7044
7045// GoString returns the string representation
7046func (s DescribeEnvironmentManagedActionHistoryInput) GoString() string {
7047	return s.String()
7048}
7049
7050// Validate inspects the fields of the type to determine if they are valid.
7051func (s *DescribeEnvironmentManagedActionHistoryInput) Validate() error {
7052	invalidParams := request.ErrInvalidParams{Context: "DescribeEnvironmentManagedActionHistoryInput"}
7053	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
7054		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
7055	}
7056
7057	if invalidParams.Len() > 0 {
7058		return invalidParams
7059	}
7060	return nil
7061}
7062
7063// SetEnvironmentId sets the EnvironmentId field's value.
7064func (s *DescribeEnvironmentManagedActionHistoryInput) SetEnvironmentId(v string) *DescribeEnvironmentManagedActionHistoryInput {
7065	s.EnvironmentId = &v
7066	return s
7067}
7068
7069// SetEnvironmentName sets the EnvironmentName field's value.
7070func (s *DescribeEnvironmentManagedActionHistoryInput) SetEnvironmentName(v string) *DescribeEnvironmentManagedActionHistoryInput {
7071	s.EnvironmentName = &v
7072	return s
7073}
7074
7075// SetMaxItems sets the MaxItems field's value.
7076func (s *DescribeEnvironmentManagedActionHistoryInput) SetMaxItems(v int64) *DescribeEnvironmentManagedActionHistoryInput {
7077	s.MaxItems = &v
7078	return s
7079}
7080
7081// SetNextToken sets the NextToken field's value.
7082func (s *DescribeEnvironmentManagedActionHistoryInput) SetNextToken(v string) *DescribeEnvironmentManagedActionHistoryInput {
7083	s.NextToken = &v
7084	return s
7085}
7086
7087// A result message containing a list of completed and failed managed actions.
7088type DescribeEnvironmentManagedActionHistoryOutput struct {
7089	_ struct{} `type:"structure"`
7090
7091	// A list of completed and failed managed actions.
7092	ManagedActionHistoryItems []*ManagedActionHistoryItem `min:"1" type:"list"`
7093
7094	// A pagination token that you pass to DescribeEnvironmentManagedActionHistory
7095	// to get the next page of results.
7096	NextToken *string `type:"string"`
7097}
7098
7099// String returns the string representation
7100func (s DescribeEnvironmentManagedActionHistoryOutput) String() string {
7101	return awsutil.Prettify(s)
7102}
7103
7104// GoString returns the string representation
7105func (s DescribeEnvironmentManagedActionHistoryOutput) GoString() string {
7106	return s.String()
7107}
7108
7109// SetManagedActionHistoryItems sets the ManagedActionHistoryItems field's value.
7110func (s *DescribeEnvironmentManagedActionHistoryOutput) SetManagedActionHistoryItems(v []*ManagedActionHistoryItem) *DescribeEnvironmentManagedActionHistoryOutput {
7111	s.ManagedActionHistoryItems = v
7112	return s
7113}
7114
7115// SetNextToken sets the NextToken field's value.
7116func (s *DescribeEnvironmentManagedActionHistoryOutput) SetNextToken(v string) *DescribeEnvironmentManagedActionHistoryOutput {
7117	s.NextToken = &v
7118	return s
7119}
7120
7121// Request to list an environment's upcoming and in-progress managed actions.
7122type DescribeEnvironmentManagedActionsInput struct {
7123	_ struct{} `type:"structure"`
7124
7125	// The environment ID of the target environment.
7126	EnvironmentId *string `type:"string"`
7127
7128	// The name of the target environment.
7129	EnvironmentName *string `type:"string"`
7130
7131	// To show only actions with a particular status, specify a status.
7132	Status *string `type:"string" enum:"ActionStatus"`
7133}
7134
7135// String returns the string representation
7136func (s DescribeEnvironmentManagedActionsInput) String() string {
7137	return awsutil.Prettify(s)
7138}
7139
7140// GoString returns the string representation
7141func (s DescribeEnvironmentManagedActionsInput) GoString() string {
7142	return s.String()
7143}
7144
7145// SetEnvironmentId sets the EnvironmentId field's value.
7146func (s *DescribeEnvironmentManagedActionsInput) SetEnvironmentId(v string) *DescribeEnvironmentManagedActionsInput {
7147	s.EnvironmentId = &v
7148	return s
7149}
7150
7151// SetEnvironmentName sets the EnvironmentName field's value.
7152func (s *DescribeEnvironmentManagedActionsInput) SetEnvironmentName(v string) *DescribeEnvironmentManagedActionsInput {
7153	s.EnvironmentName = &v
7154	return s
7155}
7156
7157// SetStatus sets the Status field's value.
7158func (s *DescribeEnvironmentManagedActionsInput) SetStatus(v string) *DescribeEnvironmentManagedActionsInput {
7159	s.Status = &v
7160	return s
7161}
7162
7163// The result message containing a list of managed actions.
7164type DescribeEnvironmentManagedActionsOutput struct {
7165	_ struct{} `type:"structure"`
7166
7167	// A list of upcoming and in-progress managed actions.
7168	ManagedActions []*ManagedAction `min:"1" type:"list"`
7169}
7170
7171// String returns the string representation
7172func (s DescribeEnvironmentManagedActionsOutput) String() string {
7173	return awsutil.Prettify(s)
7174}
7175
7176// GoString returns the string representation
7177func (s DescribeEnvironmentManagedActionsOutput) GoString() string {
7178	return s.String()
7179}
7180
7181// SetManagedActions sets the ManagedActions field's value.
7182func (s *DescribeEnvironmentManagedActionsOutput) SetManagedActions(v []*ManagedAction) *DescribeEnvironmentManagedActionsOutput {
7183	s.ManagedActions = v
7184	return s
7185}
7186
7187// Request to describe the resources in an environment.
7188type DescribeEnvironmentResourcesInput struct {
7189	_ struct{} `type:"structure"`
7190
7191	// The ID of the environment to retrieve AWS resource usage data.
7192	//
7193	// Condition: You must specify either this or an EnvironmentName, or both. If
7194	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
7195	// error.
7196	EnvironmentId *string `type:"string"`
7197
7198	// The name of the environment to retrieve AWS resource usage data.
7199	//
7200	// Condition: You must specify either this or an EnvironmentId, or both. If
7201	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
7202	// error.
7203	EnvironmentName *string `min:"4" type:"string"`
7204}
7205
7206// String returns the string representation
7207func (s DescribeEnvironmentResourcesInput) String() string {
7208	return awsutil.Prettify(s)
7209}
7210
7211// GoString returns the string representation
7212func (s DescribeEnvironmentResourcesInput) GoString() string {
7213	return s.String()
7214}
7215
7216// Validate inspects the fields of the type to determine if they are valid.
7217func (s *DescribeEnvironmentResourcesInput) Validate() error {
7218	invalidParams := request.ErrInvalidParams{Context: "DescribeEnvironmentResourcesInput"}
7219	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
7220		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
7221	}
7222
7223	if invalidParams.Len() > 0 {
7224		return invalidParams
7225	}
7226	return nil
7227}
7228
7229// SetEnvironmentId sets the EnvironmentId field's value.
7230func (s *DescribeEnvironmentResourcesInput) SetEnvironmentId(v string) *DescribeEnvironmentResourcesInput {
7231	s.EnvironmentId = &v
7232	return s
7233}
7234
7235// SetEnvironmentName sets the EnvironmentName field's value.
7236func (s *DescribeEnvironmentResourcesInput) SetEnvironmentName(v string) *DescribeEnvironmentResourcesInput {
7237	s.EnvironmentName = &v
7238	return s
7239}
7240
7241// Result message containing a list of environment resource descriptions.
7242type DescribeEnvironmentResourcesOutput struct {
7243	_ struct{} `type:"structure"`
7244
7245	// A list of EnvironmentResourceDescription.
7246	EnvironmentResources *EnvironmentResourceDescription `type:"structure"`
7247}
7248
7249// String returns the string representation
7250func (s DescribeEnvironmentResourcesOutput) String() string {
7251	return awsutil.Prettify(s)
7252}
7253
7254// GoString returns the string representation
7255func (s DescribeEnvironmentResourcesOutput) GoString() string {
7256	return s.String()
7257}
7258
7259// SetEnvironmentResources sets the EnvironmentResources field's value.
7260func (s *DescribeEnvironmentResourcesOutput) SetEnvironmentResources(v *EnvironmentResourceDescription) *DescribeEnvironmentResourcesOutput {
7261	s.EnvironmentResources = v
7262	return s
7263}
7264
7265// Request to describe one or more environments.
7266type DescribeEnvironmentsInput struct {
7267	_ struct{} `type:"structure"`
7268
7269	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7270	// include only those that are associated with this application.
7271	ApplicationName *string `min:"1" type:"string"`
7272
7273	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7274	// include only those that have the specified IDs.
7275	EnvironmentIds []*string `type:"list"`
7276
7277	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7278	// include only those that have the specified names.
7279	EnvironmentNames []*string `type:"list"`
7280
7281	// Indicates whether to include deleted environments:
7282	//
7283	// true: Environments that have been deleted after IncludedDeletedBackTo are
7284	// displayed.
7285	//
7286	// false: Do not include deleted environments.
7287	IncludeDeleted *bool `type:"boolean"`
7288
7289	// If specified when IncludeDeleted is set to true, then environments deleted
7290	// after this date are displayed.
7291	IncludedDeletedBackTo *time.Time `type:"timestamp"`
7292
7293	// For a paginated request. Specify a maximum number of environments to include
7294	// in each response.
7295	//
7296	// If no MaxRecords is specified, all available environments are retrieved in
7297	// a single response.
7298	MaxRecords *int64 `min:"1" type:"integer"`
7299
7300	// For a paginated request. Specify a token from a previous response page to
7301	// retrieve the next response page. All other parameter values must be identical
7302	// to the ones specified in the initial request.
7303	//
7304	// If no NextToken is specified, the first page is retrieved.
7305	NextToken *string `type:"string"`
7306
7307	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7308	// include only those that are associated with this application version.
7309	VersionLabel *string `min:"1" type:"string"`
7310}
7311
7312// String returns the string representation
7313func (s DescribeEnvironmentsInput) String() string {
7314	return awsutil.Prettify(s)
7315}
7316
7317// GoString returns the string representation
7318func (s DescribeEnvironmentsInput) GoString() string {
7319	return s.String()
7320}
7321
7322// Validate inspects the fields of the type to determine if they are valid.
7323func (s *DescribeEnvironmentsInput) Validate() error {
7324	invalidParams := request.ErrInvalidParams{Context: "DescribeEnvironmentsInput"}
7325	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
7326		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
7327	}
7328	if s.MaxRecords != nil && *s.MaxRecords < 1 {
7329		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 1))
7330	}
7331	if s.VersionLabel != nil && len(*s.VersionLabel) < 1 {
7332		invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1))
7333	}
7334
7335	if invalidParams.Len() > 0 {
7336		return invalidParams
7337	}
7338	return nil
7339}
7340
7341// SetApplicationName sets the ApplicationName field's value.
7342func (s *DescribeEnvironmentsInput) SetApplicationName(v string) *DescribeEnvironmentsInput {
7343	s.ApplicationName = &v
7344	return s
7345}
7346
7347// SetEnvironmentIds sets the EnvironmentIds field's value.
7348func (s *DescribeEnvironmentsInput) SetEnvironmentIds(v []*string) *DescribeEnvironmentsInput {
7349	s.EnvironmentIds = v
7350	return s
7351}
7352
7353// SetEnvironmentNames sets the EnvironmentNames field's value.
7354func (s *DescribeEnvironmentsInput) SetEnvironmentNames(v []*string) *DescribeEnvironmentsInput {
7355	s.EnvironmentNames = v
7356	return s
7357}
7358
7359// SetIncludeDeleted sets the IncludeDeleted field's value.
7360func (s *DescribeEnvironmentsInput) SetIncludeDeleted(v bool) *DescribeEnvironmentsInput {
7361	s.IncludeDeleted = &v
7362	return s
7363}
7364
7365// SetIncludedDeletedBackTo sets the IncludedDeletedBackTo field's value.
7366func (s *DescribeEnvironmentsInput) SetIncludedDeletedBackTo(v time.Time) *DescribeEnvironmentsInput {
7367	s.IncludedDeletedBackTo = &v
7368	return s
7369}
7370
7371// SetMaxRecords sets the MaxRecords field's value.
7372func (s *DescribeEnvironmentsInput) SetMaxRecords(v int64) *DescribeEnvironmentsInput {
7373	s.MaxRecords = &v
7374	return s
7375}
7376
7377// SetNextToken sets the NextToken field's value.
7378func (s *DescribeEnvironmentsInput) SetNextToken(v string) *DescribeEnvironmentsInput {
7379	s.NextToken = &v
7380	return s
7381}
7382
7383// SetVersionLabel sets the VersionLabel field's value.
7384func (s *DescribeEnvironmentsInput) SetVersionLabel(v string) *DescribeEnvironmentsInput {
7385	s.VersionLabel = &v
7386	return s
7387}
7388
7389// Request to retrieve a list of events for an environment.
7390type DescribeEventsInput struct {
7391	_ struct{} `type:"structure"`
7392
7393	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7394	// include only those associated with this application.
7395	ApplicationName *string `min:"1" type:"string"`
7396
7397	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7398	// those that occur up to, but not including, the EndTime.
7399	EndTime *time.Time `type:"timestamp"`
7400
7401	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7402	// those associated with this environment.
7403	EnvironmentId *string `type:"string"`
7404
7405	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7406	// those associated with this environment.
7407	EnvironmentName *string `min:"4" type:"string"`
7408
7409	// Specifies the maximum number of events that can be returned, beginning with
7410	// the most recent event.
7411	MaxRecords *int64 `min:"1" type:"integer"`
7412
7413	// Pagination token. If specified, the events return the next batch of results.
7414	NextToken *string `type:"string"`
7415
7416	// The ARN of the version of the custom platform.
7417	PlatformArn *string `type:"string"`
7418
7419	// If specified, AWS Elastic Beanstalk restricts the described events to include
7420	// only those associated with this request ID.
7421	RequestId *string `type:"string"`
7422
7423	// If specified, limits the events returned from this call to include only those
7424	// with the specified severity or higher.
7425	Severity *string `type:"string" enum:"EventSeverity"`
7426
7427	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7428	// those that occur on or after this time.
7429	StartTime *time.Time `type:"timestamp"`
7430
7431	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7432	// those that are associated with this environment configuration.
7433	TemplateName *string `min:"1" type:"string"`
7434
7435	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7436	// those associated with this application version.
7437	VersionLabel *string `min:"1" type:"string"`
7438}
7439
7440// String returns the string representation
7441func (s DescribeEventsInput) String() string {
7442	return awsutil.Prettify(s)
7443}
7444
7445// GoString returns the string representation
7446func (s DescribeEventsInput) GoString() string {
7447	return s.String()
7448}
7449
7450// Validate inspects the fields of the type to determine if they are valid.
7451func (s *DescribeEventsInput) Validate() error {
7452	invalidParams := request.ErrInvalidParams{Context: "DescribeEventsInput"}
7453	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
7454		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
7455	}
7456	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
7457		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
7458	}
7459	if s.MaxRecords != nil && *s.MaxRecords < 1 {
7460		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 1))
7461	}
7462	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
7463		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
7464	}
7465	if s.VersionLabel != nil && len(*s.VersionLabel) < 1 {
7466		invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1))
7467	}
7468
7469	if invalidParams.Len() > 0 {
7470		return invalidParams
7471	}
7472	return nil
7473}
7474
7475// SetApplicationName sets the ApplicationName field's value.
7476func (s *DescribeEventsInput) SetApplicationName(v string) *DescribeEventsInput {
7477	s.ApplicationName = &v
7478	return s
7479}
7480
7481// SetEndTime sets the EndTime field's value.
7482func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
7483	s.EndTime = &v
7484	return s
7485}
7486
7487// SetEnvironmentId sets the EnvironmentId field's value.
7488func (s *DescribeEventsInput) SetEnvironmentId(v string) *DescribeEventsInput {
7489	s.EnvironmentId = &v
7490	return s
7491}
7492
7493// SetEnvironmentName sets the EnvironmentName field's value.
7494func (s *DescribeEventsInput) SetEnvironmentName(v string) *DescribeEventsInput {
7495	s.EnvironmentName = &v
7496	return s
7497}
7498
7499// SetMaxRecords sets the MaxRecords field's value.
7500func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput {
7501	s.MaxRecords = &v
7502	return s
7503}
7504
7505// SetNextToken sets the NextToken field's value.
7506func (s *DescribeEventsInput) SetNextToken(v string) *DescribeEventsInput {
7507	s.NextToken = &v
7508	return s
7509}
7510
7511// SetPlatformArn sets the PlatformArn field's value.
7512func (s *DescribeEventsInput) SetPlatformArn(v string) *DescribeEventsInput {
7513	s.PlatformArn = &v
7514	return s
7515}
7516
7517// SetRequestId sets the RequestId field's value.
7518func (s *DescribeEventsInput) SetRequestId(v string) *DescribeEventsInput {
7519	s.RequestId = &v
7520	return s
7521}
7522
7523// SetSeverity sets the Severity field's value.
7524func (s *DescribeEventsInput) SetSeverity(v string) *DescribeEventsInput {
7525	s.Severity = &v
7526	return s
7527}
7528
7529// SetStartTime sets the StartTime field's value.
7530func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
7531	s.StartTime = &v
7532	return s
7533}
7534
7535// SetTemplateName sets the TemplateName field's value.
7536func (s *DescribeEventsInput) SetTemplateName(v string) *DescribeEventsInput {
7537	s.TemplateName = &v
7538	return s
7539}
7540
7541// SetVersionLabel sets the VersionLabel field's value.
7542func (s *DescribeEventsInput) SetVersionLabel(v string) *DescribeEventsInput {
7543	s.VersionLabel = &v
7544	return s
7545}
7546
7547// Result message wrapping a list of event descriptions.
7548type DescribeEventsOutput struct {
7549	_ struct{} `type:"structure"`
7550
7551	// A list of EventDescription.
7552	Events []*EventDescription `type:"list"`
7553
7554	// If returned, this indicates that there are more results to obtain. Use this
7555	// token in the next DescribeEvents call to get the next batch of events.
7556	NextToken *string `type:"string"`
7557}
7558
7559// String returns the string representation
7560func (s DescribeEventsOutput) String() string {
7561	return awsutil.Prettify(s)
7562}
7563
7564// GoString returns the string representation
7565func (s DescribeEventsOutput) GoString() string {
7566	return s.String()
7567}
7568
7569// SetEvents sets the Events field's value.
7570func (s *DescribeEventsOutput) SetEvents(v []*EventDescription) *DescribeEventsOutput {
7571	s.Events = v
7572	return s
7573}
7574
7575// SetNextToken sets the NextToken field's value.
7576func (s *DescribeEventsOutput) SetNextToken(v string) *DescribeEventsOutput {
7577	s.NextToken = &v
7578	return s
7579}
7580
7581// Parameters for a call to DescribeInstancesHealth.
7582type DescribeInstancesHealthInput struct {
7583	_ struct{} `type:"structure"`
7584
7585	// Specifies the response elements you wish to receive. To retrieve all attributes,
7586	// set to All. If no attribute names are specified, returns a list of instances.
7587	AttributeNames []*string `type:"list"`
7588
7589	// Specify the AWS Elastic Beanstalk environment by ID.
7590	EnvironmentId *string `type:"string"`
7591
7592	// Specify the AWS Elastic Beanstalk environment by name.
7593	EnvironmentName *string `min:"4" type:"string"`
7594
7595	// Specify the pagination token returned by a previous call.
7596	NextToken *string `min:"1" type:"string"`
7597}
7598
7599// String returns the string representation
7600func (s DescribeInstancesHealthInput) String() string {
7601	return awsutil.Prettify(s)
7602}
7603
7604// GoString returns the string representation
7605func (s DescribeInstancesHealthInput) GoString() string {
7606	return s.String()
7607}
7608
7609// Validate inspects the fields of the type to determine if they are valid.
7610func (s *DescribeInstancesHealthInput) Validate() error {
7611	invalidParams := request.ErrInvalidParams{Context: "DescribeInstancesHealthInput"}
7612	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
7613		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
7614	}
7615	if s.NextToken != nil && len(*s.NextToken) < 1 {
7616		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7617	}
7618
7619	if invalidParams.Len() > 0 {
7620		return invalidParams
7621	}
7622	return nil
7623}
7624
7625// SetAttributeNames sets the AttributeNames field's value.
7626func (s *DescribeInstancesHealthInput) SetAttributeNames(v []*string) *DescribeInstancesHealthInput {
7627	s.AttributeNames = v
7628	return s
7629}
7630
7631// SetEnvironmentId sets the EnvironmentId field's value.
7632func (s *DescribeInstancesHealthInput) SetEnvironmentId(v string) *DescribeInstancesHealthInput {
7633	s.EnvironmentId = &v
7634	return s
7635}
7636
7637// SetEnvironmentName sets the EnvironmentName field's value.
7638func (s *DescribeInstancesHealthInput) SetEnvironmentName(v string) *DescribeInstancesHealthInput {
7639	s.EnvironmentName = &v
7640	return s
7641}
7642
7643// SetNextToken sets the NextToken field's value.
7644func (s *DescribeInstancesHealthInput) SetNextToken(v string) *DescribeInstancesHealthInput {
7645	s.NextToken = &v
7646	return s
7647}
7648
7649// Detailed health information about the Amazon EC2 instances in an AWS Elastic
7650// Beanstalk environment.
7651type DescribeInstancesHealthOutput struct {
7652	_ struct{} `type:"structure"`
7653
7654	// Detailed health information about each instance.
7655	//
7656	// The output differs slightly between Linux and Windows environments. There
7657	// is a difference in the members that are supported under the <CPUUtilization>
7658	// type.
7659	InstanceHealthList []*SingleInstanceHealth `type:"list"`
7660
7661	// Pagination token for the next page of results, if available.
7662	NextToken *string `min:"1" type:"string"`
7663
7664	// The date and time that the health information was retrieved.
7665	RefreshedAt *time.Time `type:"timestamp"`
7666}
7667
7668// String returns the string representation
7669func (s DescribeInstancesHealthOutput) String() string {
7670	return awsutil.Prettify(s)
7671}
7672
7673// GoString returns the string representation
7674func (s DescribeInstancesHealthOutput) GoString() string {
7675	return s.String()
7676}
7677
7678// SetInstanceHealthList sets the InstanceHealthList field's value.
7679func (s *DescribeInstancesHealthOutput) SetInstanceHealthList(v []*SingleInstanceHealth) *DescribeInstancesHealthOutput {
7680	s.InstanceHealthList = v
7681	return s
7682}
7683
7684// SetNextToken sets the NextToken field's value.
7685func (s *DescribeInstancesHealthOutput) SetNextToken(v string) *DescribeInstancesHealthOutput {
7686	s.NextToken = &v
7687	return s
7688}
7689
7690// SetRefreshedAt sets the RefreshedAt field's value.
7691func (s *DescribeInstancesHealthOutput) SetRefreshedAt(v time.Time) *DescribeInstancesHealthOutput {
7692	s.RefreshedAt = &v
7693	return s
7694}
7695
7696type DescribePlatformVersionInput struct {
7697	_ struct{} `type:"structure"`
7698
7699	// The ARN of the version of the platform.
7700	PlatformArn *string `type:"string"`
7701}
7702
7703// String returns the string representation
7704func (s DescribePlatformVersionInput) String() string {
7705	return awsutil.Prettify(s)
7706}
7707
7708// GoString returns the string representation
7709func (s DescribePlatformVersionInput) GoString() string {
7710	return s.String()
7711}
7712
7713// SetPlatformArn sets the PlatformArn field's value.
7714func (s *DescribePlatformVersionInput) SetPlatformArn(v string) *DescribePlatformVersionInput {
7715	s.PlatformArn = &v
7716	return s
7717}
7718
7719type DescribePlatformVersionOutput struct {
7720	_ struct{} `type:"structure"`
7721
7722	// Detailed information about the version of the platform.
7723	PlatformDescription *PlatformDescription `type:"structure"`
7724}
7725
7726// String returns the string representation
7727func (s DescribePlatformVersionOutput) String() string {
7728	return awsutil.Prettify(s)
7729}
7730
7731// GoString returns the string representation
7732func (s DescribePlatformVersionOutput) GoString() string {
7733	return s.String()
7734}
7735
7736// SetPlatformDescription sets the PlatformDescription field's value.
7737func (s *DescribePlatformVersionOutput) SetPlatformDescription(v *PlatformDescription) *DescribePlatformVersionOutput {
7738	s.PlatformDescription = v
7739	return s
7740}
7741
7742// Describes the properties of an environment.
7743type EnvironmentDescription struct {
7744	_ struct{} `type:"structure"`
7745
7746	// Indicates if there is an in-progress environment configuration update or
7747	// application version deployment that you can cancel.
7748	//
7749	// true: There is an update in progress.
7750	//
7751	// false: There are no updates currently in progress.
7752	AbortableOperationInProgress *bool `type:"boolean"`
7753
7754	// The name of the application associated with this environment.
7755	ApplicationName *string `min:"1" type:"string"`
7756
7757	// The URL to the CNAME for this environment.
7758	CNAME *string `min:"1" type:"string"`
7759
7760	// The creation date for this environment.
7761	DateCreated *time.Time `type:"timestamp"`
7762
7763	// The last modified date for this environment.
7764	DateUpdated *time.Time `type:"timestamp"`
7765
7766	// Describes this environment.
7767	Description *string `type:"string"`
7768
7769	// For load-balanced, autoscaling environments, the URL to the LoadBalancer.
7770	// For single-instance environments, the IP address of the instance.
7771	EndpointURL *string `type:"string"`
7772
7773	// The environment's Amazon Resource Name (ARN), which can be used in other
7774	// API requests that require an ARN.
7775	EnvironmentArn *string `type:"string"`
7776
7777	// The ID of this environment.
7778	EnvironmentId *string `type:"string"`
7779
7780	// A list of links to other environments in the same group.
7781	EnvironmentLinks []*EnvironmentLink `type:"list"`
7782
7783	// The name of this environment.
7784	EnvironmentName *string `min:"4" type:"string"`
7785
7786	// Describes the health status of the environment. AWS Elastic Beanstalk indicates
7787	// the failure levels for a running environment:
7788	//
7789	//    * Red: Indicates the environment is not responsive. Occurs when three
7790	//    or more consecutive failures occur for an environment.
7791	//
7792	//    * Yellow: Indicates that something is wrong. Occurs when two consecutive
7793	//    failures occur for an environment.
7794	//
7795	//    * Green: Indicates the environment is healthy and fully functional.
7796	//
7797	//    * Grey: Default health for a new environment. The environment is not fully
7798	//    launched and health checks have not started or health checks are suspended
7799	//    during an UpdateEnvironment or RestartEnvironment request.
7800	//
7801	// Default: Grey
7802	Health *string `type:"string" enum:"EnvironmentHealth"`
7803
7804	// Returns the health status of the application running in your environment.
7805	// For more information, see Health Colors and Statuses (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html).
7806	HealthStatus *string `type:"string" enum:"EnvironmentHealthStatus"`
7807
7808	// The ARN of the platform.
7809	PlatformArn *string `type:"string"`
7810
7811	// The description of the AWS resources used by this environment.
7812	Resources *EnvironmentResourcesDescription `type:"structure"`
7813
7814	// The name of the SolutionStack deployed with this environment.
7815	SolutionStackName *string `type:"string"`
7816
7817	// The current operational status of the environment:
7818	//
7819	//    * Launching: Environment is in the process of initial deployment.
7820	//
7821	//    * Updating: Environment is in the process of updating its configuration
7822	//    settings or application version.
7823	//
7824	//    * Ready: Environment is available to have an action performed on it, such
7825	//    as update or terminate.
7826	//
7827	//    * Terminating: Environment is in the shut-down process.
7828	//
7829	//    * Terminated: Environment is not running.
7830	Status *string `type:"string" enum:"EnvironmentStatus"`
7831
7832	// The name of the configuration template used to originally launch this environment.
7833	TemplateName *string `min:"1" type:"string"`
7834
7835	// Describes the current tier of this environment.
7836	Tier *EnvironmentTier `type:"structure"`
7837
7838	// The application version deployed in this environment.
7839	VersionLabel *string `min:"1" type:"string"`
7840}
7841
7842// String returns the string representation
7843func (s EnvironmentDescription) String() string {
7844	return awsutil.Prettify(s)
7845}
7846
7847// GoString returns the string representation
7848func (s EnvironmentDescription) GoString() string {
7849	return s.String()
7850}
7851
7852// SetAbortableOperationInProgress sets the AbortableOperationInProgress field's value.
7853func (s *EnvironmentDescription) SetAbortableOperationInProgress(v bool) *EnvironmentDescription {
7854	s.AbortableOperationInProgress = &v
7855	return s
7856}
7857
7858// SetApplicationName sets the ApplicationName field's value.
7859func (s *EnvironmentDescription) SetApplicationName(v string) *EnvironmentDescription {
7860	s.ApplicationName = &v
7861	return s
7862}
7863
7864// SetCNAME sets the CNAME field's value.
7865func (s *EnvironmentDescription) SetCNAME(v string) *EnvironmentDescription {
7866	s.CNAME = &v
7867	return s
7868}
7869
7870// SetDateCreated sets the DateCreated field's value.
7871func (s *EnvironmentDescription) SetDateCreated(v time.Time) *EnvironmentDescription {
7872	s.DateCreated = &v
7873	return s
7874}
7875
7876// SetDateUpdated sets the DateUpdated field's value.
7877func (s *EnvironmentDescription) SetDateUpdated(v time.Time) *EnvironmentDescription {
7878	s.DateUpdated = &v
7879	return s
7880}
7881
7882// SetDescription sets the Description field's value.
7883func (s *EnvironmentDescription) SetDescription(v string) *EnvironmentDescription {
7884	s.Description = &v
7885	return s
7886}
7887
7888// SetEndpointURL sets the EndpointURL field's value.
7889func (s *EnvironmentDescription) SetEndpointURL(v string) *EnvironmentDescription {
7890	s.EndpointURL = &v
7891	return s
7892}
7893
7894// SetEnvironmentArn sets the EnvironmentArn field's value.
7895func (s *EnvironmentDescription) SetEnvironmentArn(v string) *EnvironmentDescription {
7896	s.EnvironmentArn = &v
7897	return s
7898}
7899
7900// SetEnvironmentId sets the EnvironmentId field's value.
7901func (s *EnvironmentDescription) SetEnvironmentId(v string) *EnvironmentDescription {
7902	s.EnvironmentId = &v
7903	return s
7904}
7905
7906// SetEnvironmentLinks sets the EnvironmentLinks field's value.
7907func (s *EnvironmentDescription) SetEnvironmentLinks(v []*EnvironmentLink) *EnvironmentDescription {
7908	s.EnvironmentLinks = v
7909	return s
7910}
7911
7912// SetEnvironmentName sets the EnvironmentName field's value.
7913func (s *EnvironmentDescription) SetEnvironmentName(v string) *EnvironmentDescription {
7914	s.EnvironmentName = &v
7915	return s
7916}
7917
7918// SetHealth sets the Health field's value.
7919func (s *EnvironmentDescription) SetHealth(v string) *EnvironmentDescription {
7920	s.Health = &v
7921	return s
7922}
7923
7924// SetHealthStatus sets the HealthStatus field's value.
7925func (s *EnvironmentDescription) SetHealthStatus(v string) *EnvironmentDescription {
7926	s.HealthStatus = &v
7927	return s
7928}
7929
7930// SetPlatformArn sets the PlatformArn field's value.
7931func (s *EnvironmentDescription) SetPlatformArn(v string) *EnvironmentDescription {
7932	s.PlatformArn = &v
7933	return s
7934}
7935
7936// SetResources sets the Resources field's value.
7937func (s *EnvironmentDescription) SetResources(v *EnvironmentResourcesDescription) *EnvironmentDescription {
7938	s.Resources = v
7939	return s
7940}
7941
7942// SetSolutionStackName sets the SolutionStackName field's value.
7943func (s *EnvironmentDescription) SetSolutionStackName(v string) *EnvironmentDescription {
7944	s.SolutionStackName = &v
7945	return s
7946}
7947
7948// SetStatus sets the Status field's value.
7949func (s *EnvironmentDescription) SetStatus(v string) *EnvironmentDescription {
7950	s.Status = &v
7951	return s
7952}
7953
7954// SetTemplateName sets the TemplateName field's value.
7955func (s *EnvironmentDescription) SetTemplateName(v string) *EnvironmentDescription {
7956	s.TemplateName = &v
7957	return s
7958}
7959
7960// SetTier sets the Tier field's value.
7961func (s *EnvironmentDescription) SetTier(v *EnvironmentTier) *EnvironmentDescription {
7962	s.Tier = v
7963	return s
7964}
7965
7966// SetVersionLabel sets the VersionLabel field's value.
7967func (s *EnvironmentDescription) SetVersionLabel(v string) *EnvironmentDescription {
7968	s.VersionLabel = &v
7969	return s
7970}
7971
7972// Result message containing a list of environment descriptions.
7973type EnvironmentDescriptionsMessage struct {
7974	_ struct{} `type:"structure"`
7975
7976	// Returns an EnvironmentDescription list.
7977	Environments []*EnvironmentDescription `type:"list"`
7978
7979	// In a paginated request, the token that you can pass in a subsequent request
7980	// to get the next response page.
7981	NextToken *string `type:"string"`
7982}
7983
7984// String returns the string representation
7985func (s EnvironmentDescriptionsMessage) String() string {
7986	return awsutil.Prettify(s)
7987}
7988
7989// GoString returns the string representation
7990func (s EnvironmentDescriptionsMessage) GoString() string {
7991	return s.String()
7992}
7993
7994// SetEnvironments sets the Environments field's value.
7995func (s *EnvironmentDescriptionsMessage) SetEnvironments(v []*EnvironmentDescription) *EnvironmentDescriptionsMessage {
7996	s.Environments = v
7997	return s
7998}
7999
8000// SetNextToken sets the NextToken field's value.
8001func (s *EnvironmentDescriptionsMessage) SetNextToken(v string) *EnvironmentDescriptionsMessage {
8002	s.NextToken = &v
8003	return s
8004}
8005
8006// The information retrieved from the Amazon EC2 instances.
8007type EnvironmentInfoDescription struct {
8008	_ struct{} `type:"structure"`
8009
8010	// The Amazon EC2 Instance ID for this information.
8011	Ec2InstanceId *string `type:"string"`
8012
8013	// The type of information retrieved.
8014	InfoType *string `type:"string" enum:"EnvironmentInfoType"`
8015
8016	// The retrieved information. Currently contains a presigned Amazon S3 URL.
8017	// The files are deleted after 15 minutes.
8018	//
8019	// Anyone in possession of this URL can access the files before they are deleted.
8020	// Make the URL available only to trusted parties.
8021	Message *string `type:"string"`
8022
8023	// The time stamp when this information was retrieved.
8024	SampleTimestamp *time.Time `type:"timestamp"`
8025}
8026
8027// String returns the string representation
8028func (s EnvironmentInfoDescription) String() string {
8029	return awsutil.Prettify(s)
8030}
8031
8032// GoString returns the string representation
8033func (s EnvironmentInfoDescription) GoString() string {
8034	return s.String()
8035}
8036
8037// SetEc2InstanceId sets the Ec2InstanceId field's value.
8038func (s *EnvironmentInfoDescription) SetEc2InstanceId(v string) *EnvironmentInfoDescription {
8039	s.Ec2InstanceId = &v
8040	return s
8041}
8042
8043// SetInfoType sets the InfoType field's value.
8044func (s *EnvironmentInfoDescription) SetInfoType(v string) *EnvironmentInfoDescription {
8045	s.InfoType = &v
8046	return s
8047}
8048
8049// SetMessage sets the Message field's value.
8050func (s *EnvironmentInfoDescription) SetMessage(v string) *EnvironmentInfoDescription {
8051	s.Message = &v
8052	return s
8053}
8054
8055// SetSampleTimestamp sets the SampleTimestamp field's value.
8056func (s *EnvironmentInfoDescription) SetSampleTimestamp(v time.Time) *EnvironmentInfoDescription {
8057	s.SampleTimestamp = &v
8058	return s
8059}
8060
8061// A link to another environment, defined in the environment's manifest. Links
8062// provide connection information in system properties that can be used to connect
8063// to another environment in the same group. See Environment Manifest (env.yaml)
8064// (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-cfg-manifest.html)
8065// for details.
8066type EnvironmentLink struct {
8067	_ struct{} `type:"structure"`
8068
8069	// The name of the linked environment (the dependency).
8070	EnvironmentName *string `type:"string"`
8071
8072	// The name of the link.
8073	LinkName *string `type:"string"`
8074}
8075
8076// String returns the string representation
8077func (s EnvironmentLink) String() string {
8078	return awsutil.Prettify(s)
8079}
8080
8081// GoString returns the string representation
8082func (s EnvironmentLink) GoString() string {
8083	return s.String()
8084}
8085
8086// SetEnvironmentName sets the EnvironmentName field's value.
8087func (s *EnvironmentLink) SetEnvironmentName(v string) *EnvironmentLink {
8088	s.EnvironmentName = &v
8089	return s
8090}
8091
8092// SetLinkName sets the LinkName field's value.
8093func (s *EnvironmentLink) SetLinkName(v string) *EnvironmentLink {
8094	s.LinkName = &v
8095	return s
8096}
8097
8098// Describes the AWS resources in use by this environment. This data is live.
8099type EnvironmentResourceDescription struct {
8100	_ struct{} `type:"structure"`
8101
8102	// The AutoScalingGroups used by this environment.
8103	AutoScalingGroups []*AutoScalingGroup `type:"list"`
8104
8105	// The name of the environment.
8106	EnvironmentName *string `min:"4" type:"string"`
8107
8108	// The Amazon EC2 instances used by this environment.
8109	Instances []*Instance `type:"list"`
8110
8111	// The Auto Scaling launch configurations in use by this environment.
8112	LaunchConfigurations []*LaunchConfiguration `type:"list"`
8113
8114	// The Amazon EC2 launch templates in use by this environment.
8115	LaunchTemplates []*LaunchTemplate `type:"list"`
8116
8117	// The LoadBalancers in use by this environment.
8118	LoadBalancers []*LoadBalancer `type:"list"`
8119
8120	// The queues used by this environment.
8121	Queues []*Queue `type:"list"`
8122
8123	// The AutoScaling triggers in use by this environment.
8124	Triggers []*Trigger `type:"list"`
8125}
8126
8127// String returns the string representation
8128func (s EnvironmentResourceDescription) String() string {
8129	return awsutil.Prettify(s)
8130}
8131
8132// GoString returns the string representation
8133func (s EnvironmentResourceDescription) GoString() string {
8134	return s.String()
8135}
8136
8137// SetAutoScalingGroups sets the AutoScalingGroups field's value.
8138func (s *EnvironmentResourceDescription) SetAutoScalingGroups(v []*AutoScalingGroup) *EnvironmentResourceDescription {
8139	s.AutoScalingGroups = v
8140	return s
8141}
8142
8143// SetEnvironmentName sets the EnvironmentName field's value.
8144func (s *EnvironmentResourceDescription) SetEnvironmentName(v string) *EnvironmentResourceDescription {
8145	s.EnvironmentName = &v
8146	return s
8147}
8148
8149// SetInstances sets the Instances field's value.
8150func (s *EnvironmentResourceDescription) SetInstances(v []*Instance) *EnvironmentResourceDescription {
8151	s.Instances = v
8152	return s
8153}
8154
8155// SetLaunchConfigurations sets the LaunchConfigurations field's value.
8156func (s *EnvironmentResourceDescription) SetLaunchConfigurations(v []*LaunchConfiguration) *EnvironmentResourceDescription {
8157	s.LaunchConfigurations = v
8158	return s
8159}
8160
8161// SetLaunchTemplates sets the LaunchTemplates field's value.
8162func (s *EnvironmentResourceDescription) SetLaunchTemplates(v []*LaunchTemplate) *EnvironmentResourceDescription {
8163	s.LaunchTemplates = v
8164	return s
8165}
8166
8167// SetLoadBalancers sets the LoadBalancers field's value.
8168func (s *EnvironmentResourceDescription) SetLoadBalancers(v []*LoadBalancer) *EnvironmentResourceDescription {
8169	s.LoadBalancers = v
8170	return s
8171}
8172
8173// SetQueues sets the Queues field's value.
8174func (s *EnvironmentResourceDescription) SetQueues(v []*Queue) *EnvironmentResourceDescription {
8175	s.Queues = v
8176	return s
8177}
8178
8179// SetTriggers sets the Triggers field's value.
8180func (s *EnvironmentResourceDescription) SetTriggers(v []*Trigger) *EnvironmentResourceDescription {
8181	s.Triggers = v
8182	return s
8183}
8184
8185// Describes the AWS resources in use by this environment. This data is not
8186// live data.
8187type EnvironmentResourcesDescription struct {
8188	_ struct{} `type:"structure"`
8189
8190	// Describes the LoadBalancer.
8191	LoadBalancer *LoadBalancerDescription `type:"structure"`
8192}
8193
8194// String returns the string representation
8195func (s EnvironmentResourcesDescription) String() string {
8196	return awsutil.Prettify(s)
8197}
8198
8199// GoString returns the string representation
8200func (s EnvironmentResourcesDescription) GoString() string {
8201	return s.String()
8202}
8203
8204// SetLoadBalancer sets the LoadBalancer field's value.
8205func (s *EnvironmentResourcesDescription) SetLoadBalancer(v *LoadBalancerDescription) *EnvironmentResourcesDescription {
8206	s.LoadBalancer = v
8207	return s
8208}
8209
8210// Describes the properties of an environment tier
8211type EnvironmentTier struct {
8212	_ struct{} `type:"structure"`
8213
8214	// The name of this environment tier.
8215	//
8216	// Valid values:
8217	//
8218	//    * For Web server tier – WebServer
8219	//
8220	//    * For Worker tier – Worker
8221	Name *string `type:"string"`
8222
8223	// The type of this environment tier.
8224	//
8225	// Valid values:
8226	//
8227	//    * For Web server tier – Standard
8228	//
8229	//    * For Worker tier – SQS/HTTP
8230	Type *string `type:"string"`
8231
8232	// The version of this environment tier. When you don't set a value to it, Elastic
8233	// Beanstalk uses the latest compatible worker tier version.
8234	//
8235	// This member is deprecated. Any specific version that you set may become out
8236	// of date. We recommend leaving it unspecified.
8237	Version *string `type:"string"`
8238}
8239
8240// String returns the string representation
8241func (s EnvironmentTier) String() string {
8242	return awsutil.Prettify(s)
8243}
8244
8245// GoString returns the string representation
8246func (s EnvironmentTier) GoString() string {
8247	return s.String()
8248}
8249
8250// SetName sets the Name field's value.
8251func (s *EnvironmentTier) SetName(v string) *EnvironmentTier {
8252	s.Name = &v
8253	return s
8254}
8255
8256// SetType sets the Type field's value.
8257func (s *EnvironmentTier) SetType(v string) *EnvironmentTier {
8258	s.Type = &v
8259	return s
8260}
8261
8262// SetVersion sets the Version field's value.
8263func (s *EnvironmentTier) SetVersion(v string) *EnvironmentTier {
8264	s.Version = &v
8265	return s
8266}
8267
8268// Describes an event.
8269type EventDescription struct {
8270	_ struct{} `type:"structure"`
8271
8272	// The application associated with the event.
8273	ApplicationName *string `min:"1" type:"string"`
8274
8275	// The name of the environment associated with this event.
8276	EnvironmentName *string `min:"4" type:"string"`
8277
8278	// The date when the event occurred.
8279	EventDate *time.Time `type:"timestamp"`
8280
8281	// The event message.
8282	Message *string `type:"string"`
8283
8284	// The ARN of the platform.
8285	PlatformArn *string `type:"string"`
8286
8287	// The web service request ID for the activity of this event.
8288	RequestId *string `type:"string"`
8289
8290	// The severity level of this event.
8291	Severity *string `type:"string" enum:"EventSeverity"`
8292
8293	// The name of the configuration associated with this event.
8294	TemplateName *string `min:"1" type:"string"`
8295
8296	// The release label for the application version associated with this event.
8297	VersionLabel *string `min:"1" type:"string"`
8298}
8299
8300// String returns the string representation
8301func (s EventDescription) String() string {
8302	return awsutil.Prettify(s)
8303}
8304
8305// GoString returns the string representation
8306func (s EventDescription) GoString() string {
8307	return s.String()
8308}
8309
8310// SetApplicationName sets the ApplicationName field's value.
8311func (s *EventDescription) SetApplicationName(v string) *EventDescription {
8312	s.ApplicationName = &v
8313	return s
8314}
8315
8316// SetEnvironmentName sets the EnvironmentName field's value.
8317func (s *EventDescription) SetEnvironmentName(v string) *EventDescription {
8318	s.EnvironmentName = &v
8319	return s
8320}
8321
8322// SetEventDate sets the EventDate field's value.
8323func (s *EventDescription) SetEventDate(v time.Time) *EventDescription {
8324	s.EventDate = &v
8325	return s
8326}
8327
8328// SetMessage sets the Message field's value.
8329func (s *EventDescription) SetMessage(v string) *EventDescription {
8330	s.Message = &v
8331	return s
8332}
8333
8334// SetPlatformArn sets the PlatformArn field's value.
8335func (s *EventDescription) SetPlatformArn(v string) *EventDescription {
8336	s.PlatformArn = &v
8337	return s
8338}
8339
8340// SetRequestId sets the RequestId field's value.
8341func (s *EventDescription) SetRequestId(v string) *EventDescription {
8342	s.RequestId = &v
8343	return s
8344}
8345
8346// SetSeverity sets the Severity field's value.
8347func (s *EventDescription) SetSeverity(v string) *EventDescription {
8348	s.Severity = &v
8349	return s
8350}
8351
8352// SetTemplateName sets the TemplateName field's value.
8353func (s *EventDescription) SetTemplateName(v string) *EventDescription {
8354	s.TemplateName = &v
8355	return s
8356}
8357
8358// SetVersionLabel sets the VersionLabel field's value.
8359func (s *EventDescription) SetVersionLabel(v string) *EventDescription {
8360	s.VersionLabel = &v
8361	return s
8362}
8363
8364// The description of an Amazon EC2 instance.
8365type Instance struct {
8366	_ struct{} `type:"structure"`
8367
8368	// The ID of the Amazon EC2 instance.
8369	Id *string `type:"string"`
8370}
8371
8372// String returns the string representation
8373func (s Instance) String() string {
8374	return awsutil.Prettify(s)
8375}
8376
8377// GoString returns the string representation
8378func (s Instance) GoString() string {
8379	return s.String()
8380}
8381
8382// SetId sets the Id field's value.
8383func (s *Instance) SetId(v string) *Instance {
8384	s.Id = &v
8385	return s
8386}
8387
8388// Represents summary information about the health of an instance. For more
8389// information, see Health Colors and Statuses (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html).
8390type InstanceHealthSummary struct {
8391	_ struct{} `type:"structure"`
8392
8393	// Red. The health agent is reporting a high number of request failures or other
8394	// issues for an instance or environment.
8395	Degraded *int64 `type:"integer"`
8396
8397	// Green. An operation is in progress on an instance.
8398	Info *int64 `type:"integer"`
8399
8400	// Grey. AWS Elastic Beanstalk and the health agent are reporting no data on
8401	// an instance.
8402	NoData *int64 `type:"integer"`
8403
8404	// Green. An instance is passing health checks and the health agent is not reporting
8405	// any problems.
8406	Ok *int64 `type:"integer"`
8407
8408	// Grey. An operation is in progress on an instance within the command timeout.
8409	Pending *int64 `type:"integer"`
8410
8411	// Red. The health agent is reporting a very high number of request failures
8412	// or other issues for an instance or environment.
8413	Severe *int64 `type:"integer"`
8414
8415	// Grey. AWS Elastic Beanstalk and the health agent are reporting an insufficient
8416	// amount of data on an instance.
8417	Unknown *int64 `type:"integer"`
8418
8419	// Yellow. The health agent is reporting a moderate number of request failures
8420	// or other issues for an instance or environment.
8421	Warning *int64 `type:"integer"`
8422}
8423
8424// String returns the string representation
8425func (s InstanceHealthSummary) String() string {
8426	return awsutil.Prettify(s)
8427}
8428
8429// GoString returns the string representation
8430func (s InstanceHealthSummary) GoString() string {
8431	return s.String()
8432}
8433
8434// SetDegraded sets the Degraded field's value.
8435func (s *InstanceHealthSummary) SetDegraded(v int64) *InstanceHealthSummary {
8436	s.Degraded = &v
8437	return s
8438}
8439
8440// SetInfo sets the Info field's value.
8441func (s *InstanceHealthSummary) SetInfo(v int64) *InstanceHealthSummary {
8442	s.Info = &v
8443	return s
8444}
8445
8446// SetNoData sets the NoData field's value.
8447func (s *InstanceHealthSummary) SetNoData(v int64) *InstanceHealthSummary {
8448	s.NoData = &v
8449	return s
8450}
8451
8452// SetOk sets the Ok field's value.
8453func (s *InstanceHealthSummary) SetOk(v int64) *InstanceHealthSummary {
8454	s.Ok = &v
8455	return s
8456}
8457
8458// SetPending sets the Pending field's value.
8459func (s *InstanceHealthSummary) SetPending(v int64) *InstanceHealthSummary {
8460	s.Pending = &v
8461	return s
8462}
8463
8464// SetSevere sets the Severe field's value.
8465func (s *InstanceHealthSummary) SetSevere(v int64) *InstanceHealthSummary {
8466	s.Severe = &v
8467	return s
8468}
8469
8470// SetUnknown sets the Unknown field's value.
8471func (s *InstanceHealthSummary) SetUnknown(v int64) *InstanceHealthSummary {
8472	s.Unknown = &v
8473	return s
8474}
8475
8476// SetWarning sets the Warning field's value.
8477func (s *InstanceHealthSummary) SetWarning(v int64) *InstanceHealthSummary {
8478	s.Warning = &v
8479	return s
8480}
8481
8482// Represents the average latency for the slowest X percent of requests over
8483// the last 10 seconds.
8484type Latency struct {
8485	_ struct{} `type:"structure"`
8486
8487	// The average latency for the slowest 90 percent of requests over the last
8488	// 10 seconds.
8489	P10 *float64 `type:"double"`
8490
8491	// The average latency for the slowest 50 percent of requests over the last
8492	// 10 seconds.
8493	P50 *float64 `type:"double"`
8494
8495	// The average latency for the slowest 25 percent of requests over the last
8496	// 10 seconds.
8497	P75 *float64 `type:"double"`
8498
8499	// The average latency for the slowest 15 percent of requests over the last
8500	// 10 seconds.
8501	P85 *float64 `type:"double"`
8502
8503	// The average latency for the slowest 10 percent of requests over the last
8504	// 10 seconds.
8505	P90 *float64 `type:"double"`
8506
8507	// The average latency for the slowest 5 percent of requests over the last 10
8508	// seconds.
8509	P95 *float64 `type:"double"`
8510
8511	// The average latency for the slowest 1 percent of requests over the last 10
8512	// seconds.
8513	P99 *float64 `type:"double"`
8514
8515	// The average latency for the slowest 0.1 percent of requests over the last
8516	// 10 seconds.
8517	P999 *float64 `type:"double"`
8518}
8519
8520// String returns the string representation
8521func (s Latency) String() string {
8522	return awsutil.Prettify(s)
8523}
8524
8525// GoString returns the string representation
8526func (s Latency) GoString() string {
8527	return s.String()
8528}
8529
8530// SetP10 sets the P10 field's value.
8531func (s *Latency) SetP10(v float64) *Latency {
8532	s.P10 = &v
8533	return s
8534}
8535
8536// SetP50 sets the P50 field's value.
8537func (s *Latency) SetP50(v float64) *Latency {
8538	s.P50 = &v
8539	return s
8540}
8541
8542// SetP75 sets the P75 field's value.
8543func (s *Latency) SetP75(v float64) *Latency {
8544	s.P75 = &v
8545	return s
8546}
8547
8548// SetP85 sets the P85 field's value.
8549func (s *Latency) SetP85(v float64) *Latency {
8550	s.P85 = &v
8551	return s
8552}
8553
8554// SetP90 sets the P90 field's value.
8555func (s *Latency) SetP90(v float64) *Latency {
8556	s.P90 = &v
8557	return s
8558}
8559
8560// SetP95 sets the P95 field's value.
8561func (s *Latency) SetP95(v float64) *Latency {
8562	s.P95 = &v
8563	return s
8564}
8565
8566// SetP99 sets the P99 field's value.
8567func (s *Latency) SetP99(v float64) *Latency {
8568	s.P99 = &v
8569	return s
8570}
8571
8572// SetP999 sets the P999 field's value.
8573func (s *Latency) SetP999(v float64) *Latency {
8574	s.P999 = &v
8575	return s
8576}
8577
8578// Describes an Auto Scaling launch configuration.
8579type LaunchConfiguration struct {
8580	_ struct{} `type:"structure"`
8581
8582	// The name of the launch configuration.
8583	Name *string `type:"string"`
8584}
8585
8586// String returns the string representation
8587func (s LaunchConfiguration) String() string {
8588	return awsutil.Prettify(s)
8589}
8590
8591// GoString returns the string representation
8592func (s LaunchConfiguration) GoString() string {
8593	return s.String()
8594}
8595
8596// SetName sets the Name field's value.
8597func (s *LaunchConfiguration) SetName(v string) *LaunchConfiguration {
8598	s.Name = &v
8599	return s
8600}
8601
8602// Describes an Amazon EC2 launch template.
8603type LaunchTemplate struct {
8604	_ struct{} `type:"structure"`
8605
8606	// The ID of the launch template.
8607	Id *string `type:"string"`
8608}
8609
8610// String returns the string representation
8611func (s LaunchTemplate) String() string {
8612	return awsutil.Prettify(s)
8613}
8614
8615// GoString returns the string representation
8616func (s LaunchTemplate) GoString() string {
8617	return s.String()
8618}
8619
8620// SetId sets the Id field's value.
8621func (s *LaunchTemplate) SetId(v string) *LaunchTemplate {
8622	s.Id = &v
8623	return s
8624}
8625
8626type ListAvailableSolutionStacksInput struct {
8627	_ struct{} `type:"structure"`
8628}
8629
8630// String returns the string representation
8631func (s ListAvailableSolutionStacksInput) String() string {
8632	return awsutil.Prettify(s)
8633}
8634
8635// GoString returns the string representation
8636func (s ListAvailableSolutionStacksInput) GoString() string {
8637	return s.String()
8638}
8639
8640// A list of available AWS Elastic Beanstalk solution stacks.
8641type ListAvailableSolutionStacksOutput struct {
8642	_ struct{} `type:"structure"`
8643
8644	// A list of available solution stacks and their SolutionStackDescription.
8645	SolutionStackDetails []*SolutionStackDescription `type:"list"`
8646
8647	// A list of available solution stacks.
8648	SolutionStacks []*string `type:"list"`
8649}
8650
8651// String returns the string representation
8652func (s ListAvailableSolutionStacksOutput) String() string {
8653	return awsutil.Prettify(s)
8654}
8655
8656// GoString returns the string representation
8657func (s ListAvailableSolutionStacksOutput) GoString() string {
8658	return s.String()
8659}
8660
8661// SetSolutionStackDetails sets the SolutionStackDetails field's value.
8662func (s *ListAvailableSolutionStacksOutput) SetSolutionStackDetails(v []*SolutionStackDescription) *ListAvailableSolutionStacksOutput {
8663	s.SolutionStackDetails = v
8664	return s
8665}
8666
8667// SetSolutionStacks sets the SolutionStacks field's value.
8668func (s *ListAvailableSolutionStacksOutput) SetSolutionStacks(v []*string) *ListAvailableSolutionStacksOutput {
8669	s.SolutionStacks = v
8670	return s
8671}
8672
8673type ListPlatformVersionsInput struct {
8674	_ struct{} `type:"structure"`
8675
8676	// List only the platforms where the platform member value relates to one of
8677	// the supplied values.
8678	Filters []*PlatformFilter `type:"list"`
8679
8680	// The maximum number of platform values returned in one call.
8681	MaxRecords *int64 `min:"1" type:"integer"`
8682
8683	// The starting index into the remaining list of platforms. Use the NextToken
8684	// value from a previous ListPlatformVersion call.
8685	NextToken *string `type:"string"`
8686}
8687
8688// String returns the string representation
8689func (s ListPlatformVersionsInput) String() string {
8690	return awsutil.Prettify(s)
8691}
8692
8693// GoString returns the string representation
8694func (s ListPlatformVersionsInput) GoString() string {
8695	return s.String()
8696}
8697
8698// Validate inspects the fields of the type to determine if they are valid.
8699func (s *ListPlatformVersionsInput) Validate() error {
8700	invalidParams := request.ErrInvalidParams{Context: "ListPlatformVersionsInput"}
8701	if s.MaxRecords != nil && *s.MaxRecords < 1 {
8702		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 1))
8703	}
8704
8705	if invalidParams.Len() > 0 {
8706		return invalidParams
8707	}
8708	return nil
8709}
8710
8711// SetFilters sets the Filters field's value.
8712func (s *ListPlatformVersionsInput) SetFilters(v []*PlatformFilter) *ListPlatformVersionsInput {
8713	s.Filters = v
8714	return s
8715}
8716
8717// SetMaxRecords sets the MaxRecords field's value.
8718func (s *ListPlatformVersionsInput) SetMaxRecords(v int64) *ListPlatformVersionsInput {
8719	s.MaxRecords = &v
8720	return s
8721}
8722
8723// SetNextToken sets the NextToken field's value.
8724func (s *ListPlatformVersionsInput) SetNextToken(v string) *ListPlatformVersionsInput {
8725	s.NextToken = &v
8726	return s
8727}
8728
8729type ListPlatformVersionsOutput struct {
8730	_ struct{} `type:"structure"`
8731
8732	// The starting index into the remaining list of platforms. if this value is
8733	// not null, you can use it in a subsequent ListPlatformVersion call.
8734	NextToken *string `type:"string"`
8735
8736	// Detailed information about the platforms.
8737	PlatformSummaryList []*PlatformSummary `type:"list"`
8738}
8739
8740// String returns the string representation
8741func (s ListPlatformVersionsOutput) String() string {
8742	return awsutil.Prettify(s)
8743}
8744
8745// GoString returns the string representation
8746func (s ListPlatformVersionsOutput) GoString() string {
8747	return s.String()
8748}
8749
8750// SetNextToken sets the NextToken field's value.
8751func (s *ListPlatformVersionsOutput) SetNextToken(v string) *ListPlatformVersionsOutput {
8752	s.NextToken = &v
8753	return s
8754}
8755
8756// SetPlatformSummaryList sets the PlatformSummaryList field's value.
8757func (s *ListPlatformVersionsOutput) SetPlatformSummaryList(v []*PlatformSummary) *ListPlatformVersionsOutput {
8758	s.PlatformSummaryList = v
8759	return s
8760}
8761
8762type ListTagsForResourceInput struct {
8763	_ struct{} `type:"structure"`
8764
8765	// The Amazon Resource Name (ARN) of the resouce for which a tag list is requested.
8766	//
8767	// Must be the ARN of an Elastic Beanstalk environment.
8768	//
8769	// ResourceArn is a required field
8770	ResourceArn *string `type:"string" required:"true"`
8771}
8772
8773// String returns the string representation
8774func (s ListTagsForResourceInput) String() string {
8775	return awsutil.Prettify(s)
8776}
8777
8778// GoString returns the string representation
8779func (s ListTagsForResourceInput) GoString() string {
8780	return s.String()
8781}
8782
8783// Validate inspects the fields of the type to determine if they are valid.
8784func (s *ListTagsForResourceInput) Validate() error {
8785	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
8786	if s.ResourceArn == nil {
8787		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8788	}
8789
8790	if invalidParams.Len() > 0 {
8791		return invalidParams
8792	}
8793	return nil
8794}
8795
8796// SetResourceArn sets the ResourceArn field's value.
8797func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
8798	s.ResourceArn = &v
8799	return s
8800}
8801
8802type ListTagsForResourceOutput struct {
8803	_ struct{} `type:"structure"`
8804
8805	// The Amazon Resource Name (ARN) of the resouce for which a tag list was requested.
8806	ResourceArn *string `type:"string"`
8807
8808	// A list of tag key-value pairs.
8809	ResourceTags []*Tag `type:"list"`
8810}
8811
8812// String returns the string representation
8813func (s ListTagsForResourceOutput) String() string {
8814	return awsutil.Prettify(s)
8815}
8816
8817// GoString returns the string representation
8818func (s ListTagsForResourceOutput) GoString() string {
8819	return s.String()
8820}
8821
8822// SetResourceArn sets the ResourceArn field's value.
8823func (s *ListTagsForResourceOutput) SetResourceArn(v string) *ListTagsForResourceOutput {
8824	s.ResourceArn = &v
8825	return s
8826}
8827
8828// SetResourceTags sets the ResourceTags field's value.
8829func (s *ListTagsForResourceOutput) SetResourceTags(v []*Tag) *ListTagsForResourceOutput {
8830	s.ResourceTags = v
8831	return s
8832}
8833
8834// Describes the properties of a Listener for the LoadBalancer.
8835type Listener struct {
8836	_ struct{} `type:"structure"`
8837
8838	// The port that is used by the Listener.
8839	Port *int64 `type:"integer"`
8840
8841	// The protocol that is used by the Listener.
8842	Protocol *string `type:"string"`
8843}
8844
8845// String returns the string representation
8846func (s Listener) String() string {
8847	return awsutil.Prettify(s)
8848}
8849
8850// GoString returns the string representation
8851func (s Listener) GoString() string {
8852	return s.String()
8853}
8854
8855// SetPort sets the Port field's value.
8856func (s *Listener) SetPort(v int64) *Listener {
8857	s.Port = &v
8858	return s
8859}
8860
8861// SetProtocol sets the Protocol field's value.
8862func (s *Listener) SetProtocol(v string) *Listener {
8863	s.Protocol = &v
8864	return s
8865}
8866
8867// Describes a LoadBalancer.
8868type LoadBalancer struct {
8869	_ struct{} `type:"structure"`
8870
8871	// The name of the LoadBalancer.
8872	Name *string `type:"string"`
8873}
8874
8875// String returns the string representation
8876func (s LoadBalancer) String() string {
8877	return awsutil.Prettify(s)
8878}
8879
8880// GoString returns the string representation
8881func (s LoadBalancer) GoString() string {
8882	return s.String()
8883}
8884
8885// SetName sets the Name field's value.
8886func (s *LoadBalancer) SetName(v string) *LoadBalancer {
8887	s.Name = &v
8888	return s
8889}
8890
8891// Describes the details of a LoadBalancer.
8892type LoadBalancerDescription struct {
8893	_ struct{} `type:"structure"`
8894
8895	// The domain name of the LoadBalancer.
8896	Domain *string `type:"string"`
8897
8898	// A list of Listeners used by the LoadBalancer.
8899	Listeners []*Listener `type:"list"`
8900
8901	// The name of the LoadBalancer.
8902	LoadBalancerName *string `type:"string"`
8903}
8904
8905// String returns the string representation
8906func (s LoadBalancerDescription) String() string {
8907	return awsutil.Prettify(s)
8908}
8909
8910// GoString returns the string representation
8911func (s LoadBalancerDescription) GoString() string {
8912	return s.String()
8913}
8914
8915// SetDomain sets the Domain field's value.
8916func (s *LoadBalancerDescription) SetDomain(v string) *LoadBalancerDescription {
8917	s.Domain = &v
8918	return s
8919}
8920
8921// SetListeners sets the Listeners field's value.
8922func (s *LoadBalancerDescription) SetListeners(v []*Listener) *LoadBalancerDescription {
8923	s.Listeners = v
8924	return s
8925}
8926
8927// SetLoadBalancerName sets the LoadBalancerName field's value.
8928func (s *LoadBalancerDescription) SetLoadBalancerName(v string) *LoadBalancerDescription {
8929	s.LoadBalancerName = &v
8930	return s
8931}
8932
8933// The record of an upcoming or in-progress managed action.
8934type ManagedAction struct {
8935	_ struct{} `type:"structure"`
8936
8937	// A description of the managed action.
8938	ActionDescription *string `type:"string"`
8939
8940	// A unique identifier for the managed action.
8941	ActionId *string `type:"string"`
8942
8943	// The type of managed action.
8944	ActionType *string `type:"string" enum:"ActionType"`
8945
8946	// The status of the managed action. If the action is Scheduled, you can apply
8947	// it immediately with ApplyEnvironmentManagedAction.
8948	Status *string `type:"string" enum:"ActionStatus"`
8949
8950	// The start time of the maintenance window in which the managed action will
8951	// execute.
8952	WindowStartTime *time.Time `type:"timestamp"`
8953}
8954
8955// String returns the string representation
8956func (s ManagedAction) String() string {
8957	return awsutil.Prettify(s)
8958}
8959
8960// GoString returns the string representation
8961func (s ManagedAction) GoString() string {
8962	return s.String()
8963}
8964
8965// SetActionDescription sets the ActionDescription field's value.
8966func (s *ManagedAction) SetActionDescription(v string) *ManagedAction {
8967	s.ActionDescription = &v
8968	return s
8969}
8970
8971// SetActionId sets the ActionId field's value.
8972func (s *ManagedAction) SetActionId(v string) *ManagedAction {
8973	s.ActionId = &v
8974	return s
8975}
8976
8977// SetActionType sets the ActionType field's value.
8978func (s *ManagedAction) SetActionType(v string) *ManagedAction {
8979	s.ActionType = &v
8980	return s
8981}
8982
8983// SetStatus sets the Status field's value.
8984func (s *ManagedAction) SetStatus(v string) *ManagedAction {
8985	s.Status = &v
8986	return s
8987}
8988
8989// SetWindowStartTime sets the WindowStartTime field's value.
8990func (s *ManagedAction) SetWindowStartTime(v time.Time) *ManagedAction {
8991	s.WindowStartTime = &v
8992	return s
8993}
8994
8995// The record of a completed or failed managed action.
8996type ManagedActionHistoryItem struct {
8997	_ struct{} `type:"structure"`
8998
8999	// A description of the managed action.
9000	ActionDescription *string `type:"string"`
9001
9002	// A unique identifier for the managed action.
9003	ActionId *string `type:"string"`
9004
9005	// The type of the managed action.
9006	ActionType *string `type:"string" enum:"ActionType"`
9007
9008	// The date and time that the action started executing.
9009	ExecutedTime *time.Time `type:"timestamp"`
9010
9011	// If the action failed, a description of the failure.
9012	FailureDescription *string `type:"string"`
9013
9014	// If the action failed, the type of failure.
9015	FailureType *string `type:"string" enum:"FailureType"`
9016
9017	// The date and time that the action finished executing.
9018	FinishedTime *time.Time `type:"timestamp"`
9019
9020	// The status of the action.
9021	Status *string `type:"string" enum:"ActionHistoryStatus"`
9022}
9023
9024// String returns the string representation
9025func (s ManagedActionHistoryItem) String() string {
9026	return awsutil.Prettify(s)
9027}
9028
9029// GoString returns the string representation
9030func (s ManagedActionHistoryItem) GoString() string {
9031	return s.String()
9032}
9033
9034// SetActionDescription sets the ActionDescription field's value.
9035func (s *ManagedActionHistoryItem) SetActionDescription(v string) *ManagedActionHistoryItem {
9036	s.ActionDescription = &v
9037	return s
9038}
9039
9040// SetActionId sets the ActionId field's value.
9041func (s *ManagedActionHistoryItem) SetActionId(v string) *ManagedActionHistoryItem {
9042	s.ActionId = &v
9043	return s
9044}
9045
9046// SetActionType sets the ActionType field's value.
9047func (s *ManagedActionHistoryItem) SetActionType(v string) *ManagedActionHistoryItem {
9048	s.ActionType = &v
9049	return s
9050}
9051
9052// SetExecutedTime sets the ExecutedTime field's value.
9053func (s *ManagedActionHistoryItem) SetExecutedTime(v time.Time) *ManagedActionHistoryItem {
9054	s.ExecutedTime = &v
9055	return s
9056}
9057
9058// SetFailureDescription sets the FailureDescription field's value.
9059func (s *ManagedActionHistoryItem) SetFailureDescription(v string) *ManagedActionHistoryItem {
9060	s.FailureDescription = &v
9061	return s
9062}
9063
9064// SetFailureType sets the FailureType field's value.
9065func (s *ManagedActionHistoryItem) SetFailureType(v string) *ManagedActionHistoryItem {
9066	s.FailureType = &v
9067	return s
9068}
9069
9070// SetFinishedTime sets the FinishedTime field's value.
9071func (s *ManagedActionHistoryItem) SetFinishedTime(v time.Time) *ManagedActionHistoryItem {
9072	s.FinishedTime = &v
9073	return s
9074}
9075
9076// SetStatus sets the Status field's value.
9077func (s *ManagedActionHistoryItem) SetStatus(v string) *ManagedActionHistoryItem {
9078	s.Status = &v
9079	return s
9080}
9081
9082// A lifecycle rule that deletes application versions after the specified number
9083// of days.
9084type MaxAgeRule struct {
9085	_ struct{} `type:"structure"`
9086
9087	// Set to true to delete a version's source bundle from Amazon S3 when Elastic
9088	// Beanstalk deletes the application version.
9089	DeleteSourceFromS3 *bool `type:"boolean"`
9090
9091	// Specify true to apply the rule, or false to disable it.
9092	//
9093	// Enabled is a required field
9094	Enabled *bool `type:"boolean" required:"true"`
9095
9096	// Specify the number of days to retain an application versions.
9097	MaxAgeInDays *int64 `type:"integer"`
9098}
9099
9100// String returns the string representation
9101func (s MaxAgeRule) String() string {
9102	return awsutil.Prettify(s)
9103}
9104
9105// GoString returns the string representation
9106func (s MaxAgeRule) GoString() string {
9107	return s.String()
9108}
9109
9110// Validate inspects the fields of the type to determine if they are valid.
9111func (s *MaxAgeRule) Validate() error {
9112	invalidParams := request.ErrInvalidParams{Context: "MaxAgeRule"}
9113	if s.Enabled == nil {
9114		invalidParams.Add(request.NewErrParamRequired("Enabled"))
9115	}
9116
9117	if invalidParams.Len() > 0 {
9118		return invalidParams
9119	}
9120	return nil
9121}
9122
9123// SetDeleteSourceFromS3 sets the DeleteSourceFromS3 field's value.
9124func (s *MaxAgeRule) SetDeleteSourceFromS3(v bool) *MaxAgeRule {
9125	s.DeleteSourceFromS3 = &v
9126	return s
9127}
9128
9129// SetEnabled sets the Enabled field's value.
9130func (s *MaxAgeRule) SetEnabled(v bool) *MaxAgeRule {
9131	s.Enabled = &v
9132	return s
9133}
9134
9135// SetMaxAgeInDays sets the MaxAgeInDays field's value.
9136func (s *MaxAgeRule) SetMaxAgeInDays(v int64) *MaxAgeRule {
9137	s.MaxAgeInDays = &v
9138	return s
9139}
9140
9141// A lifecycle rule that deletes the oldest application version when the maximum
9142// count is exceeded.
9143type MaxCountRule struct {
9144	_ struct{} `type:"structure"`
9145
9146	// Set to true to delete a version's source bundle from Amazon S3 when Elastic
9147	// Beanstalk deletes the application version.
9148	DeleteSourceFromS3 *bool `type:"boolean"`
9149
9150	// Specify true to apply the rule, or false to disable it.
9151	//
9152	// Enabled is a required field
9153	Enabled *bool `type:"boolean" required:"true"`
9154
9155	// Specify the maximum number of application versions to retain.
9156	MaxCount *int64 `type:"integer"`
9157}
9158
9159// String returns the string representation
9160func (s MaxCountRule) String() string {
9161	return awsutil.Prettify(s)
9162}
9163
9164// GoString returns the string representation
9165func (s MaxCountRule) GoString() string {
9166	return s.String()
9167}
9168
9169// Validate inspects the fields of the type to determine if they are valid.
9170func (s *MaxCountRule) Validate() error {
9171	invalidParams := request.ErrInvalidParams{Context: "MaxCountRule"}
9172	if s.Enabled == nil {
9173		invalidParams.Add(request.NewErrParamRequired("Enabled"))
9174	}
9175
9176	if invalidParams.Len() > 0 {
9177		return invalidParams
9178	}
9179	return nil
9180}
9181
9182// SetDeleteSourceFromS3 sets the DeleteSourceFromS3 field's value.
9183func (s *MaxCountRule) SetDeleteSourceFromS3(v bool) *MaxCountRule {
9184	s.DeleteSourceFromS3 = &v
9185	return s
9186}
9187
9188// SetEnabled sets the Enabled field's value.
9189func (s *MaxCountRule) SetEnabled(v bool) *MaxCountRule {
9190	s.Enabled = &v
9191	return s
9192}
9193
9194// SetMaxCount sets the MaxCount field's value.
9195func (s *MaxCountRule) SetMaxCount(v int64) *MaxCountRule {
9196	s.MaxCount = &v
9197	return s
9198}
9199
9200// A regular expression representing a restriction on a string configuration
9201// option value.
9202type OptionRestrictionRegex struct {
9203	_ struct{} `type:"structure"`
9204
9205	// A unique name representing this regular expression.
9206	Label *string `type:"string"`
9207
9208	// The regular expression pattern that a string configuration option value with
9209	// this restriction must match.
9210	Pattern *string `type:"string"`
9211}
9212
9213// String returns the string representation
9214func (s OptionRestrictionRegex) String() string {
9215	return awsutil.Prettify(s)
9216}
9217
9218// GoString returns the string representation
9219func (s OptionRestrictionRegex) GoString() string {
9220	return s.String()
9221}
9222
9223// SetLabel sets the Label field's value.
9224func (s *OptionRestrictionRegex) SetLabel(v string) *OptionRestrictionRegex {
9225	s.Label = &v
9226	return s
9227}
9228
9229// SetPattern sets the Pattern field's value.
9230func (s *OptionRestrictionRegex) SetPattern(v string) *OptionRestrictionRegex {
9231	s.Pattern = &v
9232	return s
9233}
9234
9235// A specification identifying an individual configuration option.
9236type OptionSpecification struct {
9237	_ struct{} `type:"structure"`
9238
9239	// A unique namespace identifying the option's associated AWS resource.
9240	Namespace *string `type:"string"`
9241
9242	// The name of the configuration option.
9243	OptionName *string `type:"string"`
9244
9245	// A unique resource name for a time-based scaling configuration option.
9246	ResourceName *string `min:"1" type:"string"`
9247}
9248
9249// String returns the string representation
9250func (s OptionSpecification) String() string {
9251	return awsutil.Prettify(s)
9252}
9253
9254// GoString returns the string representation
9255func (s OptionSpecification) GoString() string {
9256	return s.String()
9257}
9258
9259// Validate inspects the fields of the type to determine if they are valid.
9260func (s *OptionSpecification) Validate() error {
9261	invalidParams := request.ErrInvalidParams{Context: "OptionSpecification"}
9262	if s.ResourceName != nil && len(*s.ResourceName) < 1 {
9263		invalidParams.Add(request.NewErrParamMinLen("ResourceName", 1))
9264	}
9265
9266	if invalidParams.Len() > 0 {
9267		return invalidParams
9268	}
9269	return nil
9270}
9271
9272// SetNamespace sets the Namespace field's value.
9273func (s *OptionSpecification) SetNamespace(v string) *OptionSpecification {
9274	s.Namespace = &v
9275	return s
9276}
9277
9278// SetOptionName sets the OptionName field's value.
9279func (s *OptionSpecification) SetOptionName(v string) *OptionSpecification {
9280	s.OptionName = &v
9281	return s
9282}
9283
9284// SetResourceName sets the ResourceName field's value.
9285func (s *OptionSpecification) SetResourceName(v string) *OptionSpecification {
9286	s.ResourceName = &v
9287	return s
9288}
9289
9290// Detailed information about a platform.
9291type PlatformDescription struct {
9292	_ struct{} `type:"structure"`
9293
9294	// The custom AMIs supported by the platform.
9295	CustomAmiList []*CustomAmi `type:"list"`
9296
9297	// The date when the platform was created.
9298	DateCreated *time.Time `type:"timestamp"`
9299
9300	// The date when the platform was last updated.
9301	DateUpdated *time.Time `type:"timestamp"`
9302
9303	// The description of the platform.
9304	Description *string `type:"string"`
9305
9306	// The frameworks supported by the platform.
9307	Frameworks []*PlatformFramework `type:"list"`
9308
9309	// Information about the maintainer of the platform.
9310	Maintainer *string `type:"string"`
9311
9312	// The operating system used by the platform.
9313	OperatingSystemName *string `type:"string"`
9314
9315	// The version of the operating system used by the platform.
9316	OperatingSystemVersion *string `type:"string"`
9317
9318	// The ARN of the platform.
9319	PlatformArn *string `type:"string"`
9320
9321	// The category of the platform.
9322	PlatformCategory *string `type:"string"`
9323
9324	// The name of the platform.
9325	PlatformName *string `type:"string"`
9326
9327	// The AWS account ID of the person who created the platform.
9328	PlatformOwner *string `type:"string"`
9329
9330	// The status of the platform.
9331	PlatformStatus *string `type:"string" enum:"PlatformStatus"`
9332
9333	// The version of the platform.
9334	PlatformVersion *string `type:"string"`
9335
9336	// The programming languages supported by the platform.
9337	ProgrammingLanguages []*PlatformProgrammingLanguage `type:"list"`
9338
9339	// The name of the solution stack used by the platform.
9340	SolutionStackName *string `type:"string"`
9341
9342	// The additions supported by the platform.
9343	SupportedAddonList []*string `type:"list"`
9344
9345	// The tiers supported by the platform.
9346	SupportedTierList []*string `type:"list"`
9347}
9348
9349// String returns the string representation
9350func (s PlatformDescription) String() string {
9351	return awsutil.Prettify(s)
9352}
9353
9354// GoString returns the string representation
9355func (s PlatformDescription) GoString() string {
9356	return s.String()
9357}
9358
9359// SetCustomAmiList sets the CustomAmiList field's value.
9360func (s *PlatformDescription) SetCustomAmiList(v []*CustomAmi) *PlatformDescription {
9361	s.CustomAmiList = v
9362	return s
9363}
9364
9365// SetDateCreated sets the DateCreated field's value.
9366func (s *PlatformDescription) SetDateCreated(v time.Time) *PlatformDescription {
9367	s.DateCreated = &v
9368	return s
9369}
9370
9371// SetDateUpdated sets the DateUpdated field's value.
9372func (s *PlatformDescription) SetDateUpdated(v time.Time) *PlatformDescription {
9373	s.DateUpdated = &v
9374	return s
9375}
9376
9377// SetDescription sets the Description field's value.
9378func (s *PlatformDescription) SetDescription(v string) *PlatformDescription {
9379	s.Description = &v
9380	return s
9381}
9382
9383// SetFrameworks sets the Frameworks field's value.
9384func (s *PlatformDescription) SetFrameworks(v []*PlatformFramework) *PlatformDescription {
9385	s.Frameworks = v
9386	return s
9387}
9388
9389// SetMaintainer sets the Maintainer field's value.
9390func (s *PlatformDescription) SetMaintainer(v string) *PlatformDescription {
9391	s.Maintainer = &v
9392	return s
9393}
9394
9395// SetOperatingSystemName sets the OperatingSystemName field's value.
9396func (s *PlatformDescription) SetOperatingSystemName(v string) *PlatformDescription {
9397	s.OperatingSystemName = &v
9398	return s
9399}
9400
9401// SetOperatingSystemVersion sets the OperatingSystemVersion field's value.
9402func (s *PlatformDescription) SetOperatingSystemVersion(v string) *PlatformDescription {
9403	s.OperatingSystemVersion = &v
9404	return s
9405}
9406
9407// SetPlatformArn sets the PlatformArn field's value.
9408func (s *PlatformDescription) SetPlatformArn(v string) *PlatformDescription {
9409	s.PlatformArn = &v
9410	return s
9411}
9412
9413// SetPlatformCategory sets the PlatformCategory field's value.
9414func (s *PlatformDescription) SetPlatformCategory(v string) *PlatformDescription {
9415	s.PlatformCategory = &v
9416	return s
9417}
9418
9419// SetPlatformName sets the PlatformName field's value.
9420func (s *PlatformDescription) SetPlatformName(v string) *PlatformDescription {
9421	s.PlatformName = &v
9422	return s
9423}
9424
9425// SetPlatformOwner sets the PlatformOwner field's value.
9426func (s *PlatformDescription) SetPlatformOwner(v string) *PlatformDescription {
9427	s.PlatformOwner = &v
9428	return s
9429}
9430
9431// SetPlatformStatus sets the PlatformStatus field's value.
9432func (s *PlatformDescription) SetPlatformStatus(v string) *PlatformDescription {
9433	s.PlatformStatus = &v
9434	return s
9435}
9436
9437// SetPlatformVersion sets the PlatformVersion field's value.
9438func (s *PlatformDescription) SetPlatformVersion(v string) *PlatformDescription {
9439	s.PlatformVersion = &v
9440	return s
9441}
9442
9443// SetProgrammingLanguages sets the ProgrammingLanguages field's value.
9444func (s *PlatformDescription) SetProgrammingLanguages(v []*PlatformProgrammingLanguage) *PlatformDescription {
9445	s.ProgrammingLanguages = v
9446	return s
9447}
9448
9449// SetSolutionStackName sets the SolutionStackName field's value.
9450func (s *PlatformDescription) SetSolutionStackName(v string) *PlatformDescription {
9451	s.SolutionStackName = &v
9452	return s
9453}
9454
9455// SetSupportedAddonList sets the SupportedAddonList field's value.
9456func (s *PlatformDescription) SetSupportedAddonList(v []*string) *PlatformDescription {
9457	s.SupportedAddonList = v
9458	return s
9459}
9460
9461// SetSupportedTierList sets the SupportedTierList field's value.
9462func (s *PlatformDescription) SetSupportedTierList(v []*string) *PlatformDescription {
9463	s.SupportedTierList = v
9464	return s
9465}
9466
9467// Specify criteria to restrict the results when listing custom platforms.
9468//
9469// The filter is evaluated as the expression:
9470//
9471// Type Operator Values[i]
9472type PlatformFilter struct {
9473	_ struct{} `type:"structure"`
9474
9475	// The operator to apply to the Type with each of the Values.
9476	//
9477	// Valid Values: = (equal to) | != (not equal to) | < (less than) | <= (less
9478	// than or equal to) | > (greater than) | >= (greater than or equal to) | contains
9479	// | begins_with | ends_with
9480	Operator *string `type:"string"`
9481
9482	// The custom platform attribute to which the filter values are applied.
9483	//
9484	// Valid Values: PlatformName | PlatformVersion | PlatformStatus | PlatformOwner
9485	Type *string `type:"string"`
9486
9487	// The list of values applied to the custom platform attribute.
9488	Values []*string `type:"list"`
9489}
9490
9491// String returns the string representation
9492func (s PlatformFilter) String() string {
9493	return awsutil.Prettify(s)
9494}
9495
9496// GoString returns the string representation
9497func (s PlatformFilter) GoString() string {
9498	return s.String()
9499}
9500
9501// SetOperator sets the Operator field's value.
9502func (s *PlatformFilter) SetOperator(v string) *PlatformFilter {
9503	s.Operator = &v
9504	return s
9505}
9506
9507// SetType sets the Type field's value.
9508func (s *PlatformFilter) SetType(v string) *PlatformFilter {
9509	s.Type = &v
9510	return s
9511}
9512
9513// SetValues sets the Values field's value.
9514func (s *PlatformFilter) SetValues(v []*string) *PlatformFilter {
9515	s.Values = v
9516	return s
9517}
9518
9519// A framework supported by the custom platform.
9520type PlatformFramework struct {
9521	_ struct{} `type:"structure"`
9522
9523	// The name of the framework.
9524	Name *string `type:"string"`
9525
9526	// The version of the framework.
9527	Version *string `type:"string"`
9528}
9529
9530// String returns the string representation
9531func (s PlatformFramework) String() string {
9532	return awsutil.Prettify(s)
9533}
9534
9535// GoString returns the string representation
9536func (s PlatformFramework) GoString() string {
9537	return s.String()
9538}
9539
9540// SetName sets the Name field's value.
9541func (s *PlatformFramework) SetName(v string) *PlatformFramework {
9542	s.Name = &v
9543	return s
9544}
9545
9546// SetVersion sets the Version field's value.
9547func (s *PlatformFramework) SetVersion(v string) *PlatformFramework {
9548	s.Version = &v
9549	return s
9550}
9551
9552// A programming language supported by the platform.
9553type PlatformProgrammingLanguage struct {
9554	_ struct{} `type:"structure"`
9555
9556	// The name of the programming language.
9557	Name *string `type:"string"`
9558
9559	// The version of the programming language.
9560	Version *string `type:"string"`
9561}
9562
9563// String returns the string representation
9564func (s PlatformProgrammingLanguage) String() string {
9565	return awsutil.Prettify(s)
9566}
9567
9568// GoString returns the string representation
9569func (s PlatformProgrammingLanguage) GoString() string {
9570	return s.String()
9571}
9572
9573// SetName sets the Name field's value.
9574func (s *PlatformProgrammingLanguage) SetName(v string) *PlatformProgrammingLanguage {
9575	s.Name = &v
9576	return s
9577}
9578
9579// SetVersion sets the Version field's value.
9580func (s *PlatformProgrammingLanguage) SetVersion(v string) *PlatformProgrammingLanguage {
9581	s.Version = &v
9582	return s
9583}
9584
9585// Detailed information about a platform.
9586type PlatformSummary struct {
9587	_ struct{} `type:"structure"`
9588
9589	// The operating system used by the platform.
9590	OperatingSystemName *string `type:"string"`
9591
9592	// The version of the operating system used by the platform.
9593	OperatingSystemVersion *string `type:"string"`
9594
9595	// The ARN of the platform.
9596	PlatformArn *string `type:"string"`
9597
9598	// The category of platform.
9599	PlatformCategory *string `type:"string"`
9600
9601	// The AWS account ID of the person who created the platform.
9602	PlatformOwner *string `type:"string"`
9603
9604	// The status of the platform. You can create an environment from the platform
9605	// once it is ready.
9606	PlatformStatus *string `type:"string" enum:"PlatformStatus"`
9607
9608	// The additions associated with the platform.
9609	SupportedAddonList []*string `type:"list"`
9610
9611	// The tiers in which the platform runs.
9612	SupportedTierList []*string `type:"list"`
9613}
9614
9615// String returns the string representation
9616func (s PlatformSummary) String() string {
9617	return awsutil.Prettify(s)
9618}
9619
9620// GoString returns the string representation
9621func (s PlatformSummary) GoString() string {
9622	return s.String()
9623}
9624
9625// SetOperatingSystemName sets the OperatingSystemName field's value.
9626func (s *PlatformSummary) SetOperatingSystemName(v string) *PlatformSummary {
9627	s.OperatingSystemName = &v
9628	return s
9629}
9630
9631// SetOperatingSystemVersion sets the OperatingSystemVersion field's value.
9632func (s *PlatformSummary) SetOperatingSystemVersion(v string) *PlatformSummary {
9633	s.OperatingSystemVersion = &v
9634	return s
9635}
9636
9637// SetPlatformArn sets the PlatformArn field's value.
9638func (s *PlatformSummary) SetPlatformArn(v string) *PlatformSummary {
9639	s.PlatformArn = &v
9640	return s
9641}
9642
9643// SetPlatformCategory sets the PlatformCategory field's value.
9644func (s *PlatformSummary) SetPlatformCategory(v string) *PlatformSummary {
9645	s.PlatformCategory = &v
9646	return s
9647}
9648
9649// SetPlatformOwner sets the PlatformOwner field's value.
9650func (s *PlatformSummary) SetPlatformOwner(v string) *PlatformSummary {
9651	s.PlatformOwner = &v
9652	return s
9653}
9654
9655// SetPlatformStatus sets the PlatformStatus field's value.
9656func (s *PlatformSummary) SetPlatformStatus(v string) *PlatformSummary {
9657	s.PlatformStatus = &v
9658	return s
9659}
9660
9661// SetSupportedAddonList sets the SupportedAddonList field's value.
9662func (s *PlatformSummary) SetSupportedAddonList(v []*string) *PlatformSummary {
9663	s.SupportedAddonList = v
9664	return s
9665}
9666
9667// SetSupportedTierList sets the SupportedTierList field's value.
9668func (s *PlatformSummary) SetSupportedTierList(v []*string) *PlatformSummary {
9669	s.SupportedTierList = v
9670	return s
9671}
9672
9673// Describes a queue.
9674type Queue struct {
9675	_ struct{} `type:"structure"`
9676
9677	// The name of the queue.
9678	Name *string `type:"string"`
9679
9680	// The URL of the queue.
9681	URL *string `type:"string"`
9682}
9683
9684// String returns the string representation
9685func (s Queue) String() string {
9686	return awsutil.Prettify(s)
9687}
9688
9689// GoString returns the string representation
9690func (s Queue) GoString() string {
9691	return s.String()
9692}
9693
9694// SetName sets the Name field's value.
9695func (s *Queue) SetName(v string) *Queue {
9696	s.Name = &v
9697	return s
9698}
9699
9700// SetURL sets the URL field's value.
9701func (s *Queue) SetURL(v string) *Queue {
9702	s.URL = &v
9703	return s
9704}
9705
9706type RebuildEnvironmentInput struct {
9707	_ struct{} `type:"structure"`
9708
9709	// The ID of the environment to rebuild.
9710	//
9711	// Condition: You must specify either this or an EnvironmentName, or both. If
9712	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
9713	// error.
9714	EnvironmentId *string `type:"string"`
9715
9716	// The name of the environment to rebuild.
9717	//
9718	// Condition: You must specify either this or an EnvironmentId, or both. If
9719	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
9720	// error.
9721	EnvironmentName *string `min:"4" type:"string"`
9722}
9723
9724// String returns the string representation
9725func (s RebuildEnvironmentInput) String() string {
9726	return awsutil.Prettify(s)
9727}
9728
9729// GoString returns the string representation
9730func (s RebuildEnvironmentInput) GoString() string {
9731	return s.String()
9732}
9733
9734// Validate inspects the fields of the type to determine if they are valid.
9735func (s *RebuildEnvironmentInput) Validate() error {
9736	invalidParams := request.ErrInvalidParams{Context: "RebuildEnvironmentInput"}
9737	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
9738		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
9739	}
9740
9741	if invalidParams.Len() > 0 {
9742		return invalidParams
9743	}
9744	return nil
9745}
9746
9747// SetEnvironmentId sets the EnvironmentId field's value.
9748func (s *RebuildEnvironmentInput) SetEnvironmentId(v string) *RebuildEnvironmentInput {
9749	s.EnvironmentId = &v
9750	return s
9751}
9752
9753// SetEnvironmentName sets the EnvironmentName field's value.
9754func (s *RebuildEnvironmentInput) SetEnvironmentName(v string) *RebuildEnvironmentInput {
9755	s.EnvironmentName = &v
9756	return s
9757}
9758
9759type RebuildEnvironmentOutput struct {
9760	_ struct{} `type:"structure"`
9761}
9762
9763// String returns the string representation
9764func (s RebuildEnvironmentOutput) String() string {
9765	return awsutil.Prettify(s)
9766}
9767
9768// GoString returns the string representation
9769func (s RebuildEnvironmentOutput) GoString() string {
9770	return s.String()
9771}
9772
9773// Request to retrieve logs from an environment and store them in your Elastic
9774// Beanstalk storage bucket.
9775type RequestEnvironmentInfoInput struct {
9776	_ struct{} `type:"structure"`
9777
9778	// The ID of the environment of the requested data.
9779	//
9780	// If no such environment is found, RequestEnvironmentInfo returns an InvalidParameterValue
9781	// error.
9782	//
9783	// Condition: You must specify either this or an EnvironmentName, or both. If
9784	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
9785	// error.
9786	EnvironmentId *string `type:"string"`
9787
9788	// The name of the environment of the requested data.
9789	//
9790	// If no such environment is found, RequestEnvironmentInfo returns an InvalidParameterValue
9791	// error.
9792	//
9793	// Condition: You must specify either this or an EnvironmentId, or both. If
9794	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
9795	// error.
9796	EnvironmentName *string `min:"4" type:"string"`
9797
9798	// The type of information to request.
9799	//
9800	// InfoType is a required field
9801	InfoType *string `type:"string" required:"true" enum:"EnvironmentInfoType"`
9802}
9803
9804// String returns the string representation
9805func (s RequestEnvironmentInfoInput) String() string {
9806	return awsutil.Prettify(s)
9807}
9808
9809// GoString returns the string representation
9810func (s RequestEnvironmentInfoInput) GoString() string {
9811	return s.String()
9812}
9813
9814// Validate inspects the fields of the type to determine if they are valid.
9815func (s *RequestEnvironmentInfoInput) Validate() error {
9816	invalidParams := request.ErrInvalidParams{Context: "RequestEnvironmentInfoInput"}
9817	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
9818		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
9819	}
9820	if s.InfoType == nil {
9821		invalidParams.Add(request.NewErrParamRequired("InfoType"))
9822	}
9823
9824	if invalidParams.Len() > 0 {
9825		return invalidParams
9826	}
9827	return nil
9828}
9829
9830// SetEnvironmentId sets the EnvironmentId field's value.
9831func (s *RequestEnvironmentInfoInput) SetEnvironmentId(v string) *RequestEnvironmentInfoInput {
9832	s.EnvironmentId = &v
9833	return s
9834}
9835
9836// SetEnvironmentName sets the EnvironmentName field's value.
9837func (s *RequestEnvironmentInfoInput) SetEnvironmentName(v string) *RequestEnvironmentInfoInput {
9838	s.EnvironmentName = &v
9839	return s
9840}
9841
9842// SetInfoType sets the InfoType field's value.
9843func (s *RequestEnvironmentInfoInput) SetInfoType(v string) *RequestEnvironmentInfoInput {
9844	s.InfoType = &v
9845	return s
9846}
9847
9848type RequestEnvironmentInfoOutput struct {
9849	_ struct{} `type:"structure"`
9850}
9851
9852// String returns the string representation
9853func (s RequestEnvironmentInfoOutput) String() string {
9854	return awsutil.Prettify(s)
9855}
9856
9857// GoString returns the string representation
9858func (s RequestEnvironmentInfoOutput) GoString() string {
9859	return s.String()
9860}
9861
9862// The AWS Elastic Beanstalk quota information for a single resource type in
9863// an AWS account. It reflects the resource's limits for this account.
9864type ResourceQuota struct {
9865	_ struct{} `type:"structure"`
9866
9867	// The maximum number of instances of this Elastic Beanstalk resource type that
9868	// an AWS account can use.
9869	Maximum *int64 `type:"integer"`
9870}
9871
9872// String returns the string representation
9873func (s ResourceQuota) String() string {
9874	return awsutil.Prettify(s)
9875}
9876
9877// GoString returns the string representation
9878func (s ResourceQuota) GoString() string {
9879	return s.String()
9880}
9881
9882// SetMaximum sets the Maximum field's value.
9883func (s *ResourceQuota) SetMaximum(v int64) *ResourceQuota {
9884	s.Maximum = &v
9885	return s
9886}
9887
9888// A set of per-resource AWS Elastic Beanstalk quotas associated with an AWS
9889// account. They reflect Elastic Beanstalk resource limits for this account.
9890type ResourceQuotas struct {
9891	_ struct{} `type:"structure"`
9892
9893	// The quota for applications in the AWS account.
9894	ApplicationQuota *ResourceQuota `type:"structure"`
9895
9896	// The quota for application versions in the AWS account.
9897	ApplicationVersionQuota *ResourceQuota `type:"structure"`
9898
9899	// The quota for configuration templates in the AWS account.
9900	ConfigurationTemplateQuota *ResourceQuota `type:"structure"`
9901
9902	// The quota for custom platforms in the AWS account.
9903	CustomPlatformQuota *ResourceQuota `type:"structure"`
9904
9905	// The quota for environments in the AWS account.
9906	EnvironmentQuota *ResourceQuota `type:"structure"`
9907}
9908
9909// String returns the string representation
9910func (s ResourceQuotas) String() string {
9911	return awsutil.Prettify(s)
9912}
9913
9914// GoString returns the string representation
9915func (s ResourceQuotas) GoString() string {
9916	return s.String()
9917}
9918
9919// SetApplicationQuota sets the ApplicationQuota field's value.
9920func (s *ResourceQuotas) SetApplicationQuota(v *ResourceQuota) *ResourceQuotas {
9921	s.ApplicationQuota = v
9922	return s
9923}
9924
9925// SetApplicationVersionQuota sets the ApplicationVersionQuota field's value.
9926func (s *ResourceQuotas) SetApplicationVersionQuota(v *ResourceQuota) *ResourceQuotas {
9927	s.ApplicationVersionQuota = v
9928	return s
9929}
9930
9931// SetConfigurationTemplateQuota sets the ConfigurationTemplateQuota field's value.
9932func (s *ResourceQuotas) SetConfigurationTemplateQuota(v *ResourceQuota) *ResourceQuotas {
9933	s.ConfigurationTemplateQuota = v
9934	return s
9935}
9936
9937// SetCustomPlatformQuota sets the CustomPlatformQuota field's value.
9938func (s *ResourceQuotas) SetCustomPlatformQuota(v *ResourceQuota) *ResourceQuotas {
9939	s.CustomPlatformQuota = v
9940	return s
9941}
9942
9943// SetEnvironmentQuota sets the EnvironmentQuota field's value.
9944func (s *ResourceQuotas) SetEnvironmentQuota(v *ResourceQuota) *ResourceQuotas {
9945	s.EnvironmentQuota = v
9946	return s
9947}
9948
9949type RestartAppServerInput struct {
9950	_ struct{} `type:"structure"`
9951
9952	// The ID of the environment to restart the server for.
9953	//
9954	// Condition: You must specify either this or an EnvironmentName, or both. If
9955	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
9956	// error.
9957	EnvironmentId *string `type:"string"`
9958
9959	// The name of the environment to restart the server for.
9960	//
9961	// Condition: You must specify either this or an EnvironmentId, or both. If
9962	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
9963	// error.
9964	EnvironmentName *string `min:"4" type:"string"`
9965}
9966
9967// String returns the string representation
9968func (s RestartAppServerInput) String() string {
9969	return awsutil.Prettify(s)
9970}
9971
9972// GoString returns the string representation
9973func (s RestartAppServerInput) GoString() string {
9974	return s.String()
9975}
9976
9977// Validate inspects the fields of the type to determine if they are valid.
9978func (s *RestartAppServerInput) Validate() error {
9979	invalidParams := request.ErrInvalidParams{Context: "RestartAppServerInput"}
9980	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
9981		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
9982	}
9983
9984	if invalidParams.Len() > 0 {
9985		return invalidParams
9986	}
9987	return nil
9988}
9989
9990// SetEnvironmentId sets the EnvironmentId field's value.
9991func (s *RestartAppServerInput) SetEnvironmentId(v string) *RestartAppServerInput {
9992	s.EnvironmentId = &v
9993	return s
9994}
9995
9996// SetEnvironmentName sets the EnvironmentName field's value.
9997func (s *RestartAppServerInput) SetEnvironmentName(v string) *RestartAppServerInput {
9998	s.EnvironmentName = &v
9999	return s
10000}
10001
10002type RestartAppServerOutput struct {
10003	_ struct{} `type:"structure"`
10004}
10005
10006// String returns the string representation
10007func (s RestartAppServerOutput) String() string {
10008	return awsutil.Prettify(s)
10009}
10010
10011// GoString returns the string representation
10012func (s RestartAppServerOutput) GoString() string {
10013	return s.String()
10014}
10015
10016// Request to download logs retrieved with RequestEnvironmentInfo.
10017type RetrieveEnvironmentInfoInput struct {
10018	_ struct{} `type:"structure"`
10019
10020	// The ID of the data's environment.
10021	//
10022	// If no such environment is found, returns an InvalidParameterValue error.
10023	//
10024	// Condition: You must specify either this or an EnvironmentName, or both. If
10025	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
10026	// error.
10027	EnvironmentId *string `type:"string"`
10028
10029	// The name of the data's environment.
10030	//
10031	// If no such environment is found, returns an InvalidParameterValue error.
10032	//
10033	// Condition: You must specify either this or an EnvironmentId, or both. If
10034	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
10035	// error.
10036	EnvironmentName *string `min:"4" type:"string"`
10037
10038	// The type of information to retrieve.
10039	//
10040	// InfoType is a required field
10041	InfoType *string `type:"string" required:"true" enum:"EnvironmentInfoType"`
10042}
10043
10044// String returns the string representation
10045func (s RetrieveEnvironmentInfoInput) String() string {
10046	return awsutil.Prettify(s)
10047}
10048
10049// GoString returns the string representation
10050func (s RetrieveEnvironmentInfoInput) GoString() string {
10051	return s.String()
10052}
10053
10054// Validate inspects the fields of the type to determine if they are valid.
10055func (s *RetrieveEnvironmentInfoInput) Validate() error {
10056	invalidParams := request.ErrInvalidParams{Context: "RetrieveEnvironmentInfoInput"}
10057	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
10058		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
10059	}
10060	if s.InfoType == nil {
10061		invalidParams.Add(request.NewErrParamRequired("InfoType"))
10062	}
10063
10064	if invalidParams.Len() > 0 {
10065		return invalidParams
10066	}
10067	return nil
10068}
10069
10070// SetEnvironmentId sets the EnvironmentId field's value.
10071func (s *RetrieveEnvironmentInfoInput) SetEnvironmentId(v string) *RetrieveEnvironmentInfoInput {
10072	s.EnvironmentId = &v
10073	return s
10074}
10075
10076// SetEnvironmentName sets the EnvironmentName field's value.
10077func (s *RetrieveEnvironmentInfoInput) SetEnvironmentName(v string) *RetrieveEnvironmentInfoInput {
10078	s.EnvironmentName = &v
10079	return s
10080}
10081
10082// SetInfoType sets the InfoType field's value.
10083func (s *RetrieveEnvironmentInfoInput) SetInfoType(v string) *RetrieveEnvironmentInfoInput {
10084	s.InfoType = &v
10085	return s
10086}
10087
10088// Result message containing a description of the requested environment info.
10089type RetrieveEnvironmentInfoOutput struct {
10090	_ struct{} `type:"structure"`
10091
10092	// The EnvironmentInfoDescription of the environment.
10093	EnvironmentInfo []*EnvironmentInfoDescription `type:"list"`
10094}
10095
10096// String returns the string representation
10097func (s RetrieveEnvironmentInfoOutput) String() string {
10098	return awsutil.Prettify(s)
10099}
10100
10101// GoString returns the string representation
10102func (s RetrieveEnvironmentInfoOutput) GoString() string {
10103	return s.String()
10104}
10105
10106// SetEnvironmentInfo sets the EnvironmentInfo field's value.
10107func (s *RetrieveEnvironmentInfoOutput) SetEnvironmentInfo(v []*EnvironmentInfoDescription) *RetrieveEnvironmentInfoOutput {
10108	s.EnvironmentInfo = v
10109	return s
10110}
10111
10112// The bucket and key of an item stored in Amazon S3.
10113type S3Location struct {
10114	_ struct{} `type:"structure"`
10115
10116	// The Amazon S3 bucket where the data is located.
10117	S3Bucket *string `type:"string"`
10118
10119	// The Amazon S3 key where the data is located.
10120	S3Key *string `type:"string"`
10121}
10122
10123// String returns the string representation
10124func (s S3Location) String() string {
10125	return awsutil.Prettify(s)
10126}
10127
10128// GoString returns the string representation
10129func (s S3Location) GoString() string {
10130	return s.String()
10131}
10132
10133// SetS3Bucket sets the S3Bucket field's value.
10134func (s *S3Location) SetS3Bucket(v string) *S3Location {
10135	s.S3Bucket = &v
10136	return s
10137}
10138
10139// SetS3Key sets the S3Key field's value.
10140func (s *S3Location) SetS3Key(v string) *S3Location {
10141	s.S3Key = &v
10142	return s
10143}
10144
10145// Detailed health information about an Amazon EC2 instance in your Elastic
10146// Beanstalk environment.
10147type SingleInstanceHealth struct {
10148	_ struct{} `type:"structure"`
10149
10150	// Request metrics from your application.
10151	ApplicationMetrics *ApplicationMetrics `type:"structure"`
10152
10153	// The availability zone in which the instance runs.
10154	AvailabilityZone *string `type:"string"`
10155
10156	// Represents the causes, which provide more information about the current health
10157	// status.
10158	Causes []*string `type:"list"`
10159
10160	// Represents the color indicator that gives you information about the health
10161	// of the EC2 instance. For more information, see Health Colors and Statuses
10162	// (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html).
10163	Color *string `type:"string"`
10164
10165	// Information about the most recent deployment to an instance.
10166	Deployment *Deployment `type:"structure"`
10167
10168	// Returns the health status of the specified instance. For more information,
10169	// see Health Colors and Statuses (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html).
10170	HealthStatus *string `type:"string"`
10171
10172	// The ID of the Amazon EC2 instance.
10173	InstanceId *string `min:"1" type:"string"`
10174
10175	// The instance's type.
10176	InstanceType *string `type:"string"`
10177
10178	// The time at which the EC2 instance was launched.
10179	LaunchedAt *time.Time `type:"timestamp"`
10180
10181	// Operating system metrics from the instance.
10182	System *SystemStatus `type:"structure"`
10183}
10184
10185// String returns the string representation
10186func (s SingleInstanceHealth) String() string {
10187	return awsutil.Prettify(s)
10188}
10189
10190// GoString returns the string representation
10191func (s SingleInstanceHealth) GoString() string {
10192	return s.String()
10193}
10194
10195// SetApplicationMetrics sets the ApplicationMetrics field's value.
10196func (s *SingleInstanceHealth) SetApplicationMetrics(v *ApplicationMetrics) *SingleInstanceHealth {
10197	s.ApplicationMetrics = v
10198	return s
10199}
10200
10201// SetAvailabilityZone sets the AvailabilityZone field's value.
10202func (s *SingleInstanceHealth) SetAvailabilityZone(v string) *SingleInstanceHealth {
10203	s.AvailabilityZone = &v
10204	return s
10205}
10206
10207// SetCauses sets the Causes field's value.
10208func (s *SingleInstanceHealth) SetCauses(v []*string) *SingleInstanceHealth {
10209	s.Causes = v
10210	return s
10211}
10212
10213// SetColor sets the Color field's value.
10214func (s *SingleInstanceHealth) SetColor(v string) *SingleInstanceHealth {
10215	s.Color = &v
10216	return s
10217}
10218
10219// SetDeployment sets the Deployment field's value.
10220func (s *SingleInstanceHealth) SetDeployment(v *Deployment) *SingleInstanceHealth {
10221	s.Deployment = v
10222	return s
10223}
10224
10225// SetHealthStatus sets the HealthStatus field's value.
10226func (s *SingleInstanceHealth) SetHealthStatus(v string) *SingleInstanceHealth {
10227	s.HealthStatus = &v
10228	return s
10229}
10230
10231// SetInstanceId sets the InstanceId field's value.
10232func (s *SingleInstanceHealth) SetInstanceId(v string) *SingleInstanceHealth {
10233	s.InstanceId = &v
10234	return s
10235}
10236
10237// SetInstanceType sets the InstanceType field's value.
10238func (s *SingleInstanceHealth) SetInstanceType(v string) *SingleInstanceHealth {
10239	s.InstanceType = &v
10240	return s
10241}
10242
10243// SetLaunchedAt sets the LaunchedAt field's value.
10244func (s *SingleInstanceHealth) SetLaunchedAt(v time.Time) *SingleInstanceHealth {
10245	s.LaunchedAt = &v
10246	return s
10247}
10248
10249// SetSystem sets the System field's value.
10250func (s *SingleInstanceHealth) SetSystem(v *SystemStatus) *SingleInstanceHealth {
10251	s.System = v
10252	return s
10253}
10254
10255// Describes the solution stack.
10256type SolutionStackDescription struct {
10257	_ struct{} `type:"structure"`
10258
10259	// The permitted file types allowed for a solution stack.
10260	PermittedFileTypes []*string `type:"list"`
10261
10262	// The name of the solution stack.
10263	SolutionStackName *string `type:"string"`
10264}
10265
10266// String returns the string representation
10267func (s SolutionStackDescription) String() string {
10268	return awsutil.Prettify(s)
10269}
10270
10271// GoString returns the string representation
10272func (s SolutionStackDescription) GoString() string {
10273	return s.String()
10274}
10275
10276// SetPermittedFileTypes sets the PermittedFileTypes field's value.
10277func (s *SolutionStackDescription) SetPermittedFileTypes(v []*string) *SolutionStackDescription {
10278	s.PermittedFileTypes = v
10279	return s
10280}
10281
10282// SetSolutionStackName sets the SolutionStackName field's value.
10283func (s *SolutionStackDescription) SetSolutionStackName(v string) *SolutionStackDescription {
10284	s.SolutionStackName = &v
10285	return s
10286}
10287
10288// Location of the source code for an application version.
10289type SourceBuildInformation struct {
10290	_ struct{} `type:"structure"`
10291
10292	// The location of the source code, as a formatted string, depending on the
10293	// value of SourceRepository
10294	//
10295	//    * For CodeCommit, the format is the repository name and commit ID, separated
10296	//    by a forward slash. For example, my-git-repo/265cfa0cf6af46153527f55d6503ec030551f57a.
10297	//
10298	//    * For S3, the format is the S3 bucket name and object key, separated by
10299	//    a forward slash. For example, my-s3-bucket/Folders/my-source-file.
10300	//
10301	// SourceLocation is a required field
10302	SourceLocation *string `min:"3" type:"string" required:"true"`
10303
10304	// Location where the repository is stored.
10305	//
10306	//    * CodeCommit
10307	//
10308	//    * S3
10309	//
10310	// SourceRepository is a required field
10311	SourceRepository *string `type:"string" required:"true" enum:"SourceRepository"`
10312
10313	// The type of repository.
10314	//
10315	//    * Git
10316	//
10317	//    * Zip
10318	//
10319	// SourceType is a required field
10320	SourceType *string `type:"string" required:"true" enum:"SourceType"`
10321}
10322
10323// String returns the string representation
10324func (s SourceBuildInformation) String() string {
10325	return awsutil.Prettify(s)
10326}
10327
10328// GoString returns the string representation
10329func (s SourceBuildInformation) GoString() string {
10330	return s.String()
10331}
10332
10333// Validate inspects the fields of the type to determine if they are valid.
10334func (s *SourceBuildInformation) Validate() error {
10335	invalidParams := request.ErrInvalidParams{Context: "SourceBuildInformation"}
10336	if s.SourceLocation == nil {
10337		invalidParams.Add(request.NewErrParamRequired("SourceLocation"))
10338	}
10339	if s.SourceLocation != nil && len(*s.SourceLocation) < 3 {
10340		invalidParams.Add(request.NewErrParamMinLen("SourceLocation", 3))
10341	}
10342	if s.SourceRepository == nil {
10343		invalidParams.Add(request.NewErrParamRequired("SourceRepository"))
10344	}
10345	if s.SourceType == nil {
10346		invalidParams.Add(request.NewErrParamRequired("SourceType"))
10347	}
10348
10349	if invalidParams.Len() > 0 {
10350		return invalidParams
10351	}
10352	return nil
10353}
10354
10355// SetSourceLocation sets the SourceLocation field's value.
10356func (s *SourceBuildInformation) SetSourceLocation(v string) *SourceBuildInformation {
10357	s.SourceLocation = &v
10358	return s
10359}
10360
10361// SetSourceRepository sets the SourceRepository field's value.
10362func (s *SourceBuildInformation) SetSourceRepository(v string) *SourceBuildInformation {
10363	s.SourceRepository = &v
10364	return s
10365}
10366
10367// SetSourceType sets the SourceType field's value.
10368func (s *SourceBuildInformation) SetSourceType(v string) *SourceBuildInformation {
10369	s.SourceType = &v
10370	return s
10371}
10372
10373// A specification for an environment configuration
10374type SourceConfiguration struct {
10375	_ struct{} `type:"structure"`
10376
10377	// The name of the application associated with the configuration.
10378	ApplicationName *string `min:"1" type:"string"`
10379
10380	// The name of the configuration template.
10381	TemplateName *string `min:"1" type:"string"`
10382}
10383
10384// String returns the string representation
10385func (s SourceConfiguration) String() string {
10386	return awsutil.Prettify(s)
10387}
10388
10389// GoString returns the string representation
10390func (s SourceConfiguration) GoString() string {
10391	return s.String()
10392}
10393
10394// Validate inspects the fields of the type to determine if they are valid.
10395func (s *SourceConfiguration) Validate() error {
10396	invalidParams := request.ErrInvalidParams{Context: "SourceConfiguration"}
10397	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
10398		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
10399	}
10400	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
10401		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
10402	}
10403
10404	if invalidParams.Len() > 0 {
10405		return invalidParams
10406	}
10407	return nil
10408}
10409
10410// SetApplicationName sets the ApplicationName field's value.
10411func (s *SourceConfiguration) SetApplicationName(v string) *SourceConfiguration {
10412	s.ApplicationName = &v
10413	return s
10414}
10415
10416// SetTemplateName sets the TemplateName field's value.
10417func (s *SourceConfiguration) SetTemplateName(v string) *SourceConfiguration {
10418	s.TemplateName = &v
10419	return s
10420}
10421
10422// Represents the percentage of requests over the last 10 seconds that resulted
10423// in each type of status code response. For more information, see Status Code
10424// Definitions (http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).
10425type StatusCodes struct {
10426	_ struct{} `type:"structure"`
10427
10428	// The percentage of requests over the last 10 seconds that resulted in a 2xx
10429	// (200, 201, etc.) status code.
10430	Status2xx *int64 `type:"integer"`
10431
10432	// The percentage of requests over the last 10 seconds that resulted in a 3xx
10433	// (300, 301, etc.) status code.
10434	Status3xx *int64 `type:"integer"`
10435
10436	// The percentage of requests over the last 10 seconds that resulted in a 4xx
10437	// (400, 401, etc.) status code.
10438	Status4xx *int64 `type:"integer"`
10439
10440	// The percentage of requests over the last 10 seconds that resulted in a 5xx
10441	// (500, 501, etc.) status code.
10442	Status5xx *int64 `type:"integer"`
10443}
10444
10445// String returns the string representation
10446func (s StatusCodes) String() string {
10447	return awsutil.Prettify(s)
10448}
10449
10450// GoString returns the string representation
10451func (s StatusCodes) GoString() string {
10452	return s.String()
10453}
10454
10455// SetStatus2xx sets the Status2xx field's value.
10456func (s *StatusCodes) SetStatus2xx(v int64) *StatusCodes {
10457	s.Status2xx = &v
10458	return s
10459}
10460
10461// SetStatus3xx sets the Status3xx field's value.
10462func (s *StatusCodes) SetStatus3xx(v int64) *StatusCodes {
10463	s.Status3xx = &v
10464	return s
10465}
10466
10467// SetStatus4xx sets the Status4xx field's value.
10468func (s *StatusCodes) SetStatus4xx(v int64) *StatusCodes {
10469	s.Status4xx = &v
10470	return s
10471}
10472
10473// SetStatus5xx sets the Status5xx field's value.
10474func (s *StatusCodes) SetStatus5xx(v int64) *StatusCodes {
10475	s.Status5xx = &v
10476	return s
10477}
10478
10479// Swaps the CNAMEs of two environments.
10480type SwapEnvironmentCNAMEsInput struct {
10481	_ struct{} `type:"structure"`
10482
10483	// The ID of the destination environment.
10484	//
10485	// Condition: You must specify at least the DestinationEnvironmentID or the
10486	// DestinationEnvironmentName. You may also specify both. You must specify the
10487	// SourceEnvironmentId with the DestinationEnvironmentId.
10488	DestinationEnvironmentId *string `type:"string"`
10489
10490	// The name of the destination environment.
10491	//
10492	// Condition: You must specify at least the DestinationEnvironmentID or the
10493	// DestinationEnvironmentName. You may also specify both. You must specify the
10494	// SourceEnvironmentName with the DestinationEnvironmentName.
10495	DestinationEnvironmentName *string `min:"4" type:"string"`
10496
10497	// The ID of the source environment.
10498	//
10499	// Condition: You must specify at least the SourceEnvironmentID or the SourceEnvironmentName.
10500	// You may also specify both. If you specify the SourceEnvironmentId, you must
10501	// specify the DestinationEnvironmentId.
10502	SourceEnvironmentId *string `type:"string"`
10503
10504	// The name of the source environment.
10505	//
10506	// Condition: You must specify at least the SourceEnvironmentID or the SourceEnvironmentName.
10507	// You may also specify both. If you specify the SourceEnvironmentName, you
10508	// must specify the DestinationEnvironmentName.
10509	SourceEnvironmentName *string `min:"4" type:"string"`
10510}
10511
10512// String returns the string representation
10513func (s SwapEnvironmentCNAMEsInput) String() string {
10514	return awsutil.Prettify(s)
10515}
10516
10517// GoString returns the string representation
10518func (s SwapEnvironmentCNAMEsInput) GoString() string {
10519	return s.String()
10520}
10521
10522// Validate inspects the fields of the type to determine if they are valid.
10523func (s *SwapEnvironmentCNAMEsInput) Validate() error {
10524	invalidParams := request.ErrInvalidParams{Context: "SwapEnvironmentCNAMEsInput"}
10525	if s.DestinationEnvironmentName != nil && len(*s.DestinationEnvironmentName) < 4 {
10526		invalidParams.Add(request.NewErrParamMinLen("DestinationEnvironmentName", 4))
10527	}
10528	if s.SourceEnvironmentName != nil && len(*s.SourceEnvironmentName) < 4 {
10529		invalidParams.Add(request.NewErrParamMinLen("SourceEnvironmentName", 4))
10530	}
10531
10532	if invalidParams.Len() > 0 {
10533		return invalidParams
10534	}
10535	return nil
10536}
10537
10538// SetDestinationEnvironmentId sets the DestinationEnvironmentId field's value.
10539func (s *SwapEnvironmentCNAMEsInput) SetDestinationEnvironmentId(v string) *SwapEnvironmentCNAMEsInput {
10540	s.DestinationEnvironmentId = &v
10541	return s
10542}
10543
10544// SetDestinationEnvironmentName sets the DestinationEnvironmentName field's value.
10545func (s *SwapEnvironmentCNAMEsInput) SetDestinationEnvironmentName(v string) *SwapEnvironmentCNAMEsInput {
10546	s.DestinationEnvironmentName = &v
10547	return s
10548}
10549
10550// SetSourceEnvironmentId sets the SourceEnvironmentId field's value.
10551func (s *SwapEnvironmentCNAMEsInput) SetSourceEnvironmentId(v string) *SwapEnvironmentCNAMEsInput {
10552	s.SourceEnvironmentId = &v
10553	return s
10554}
10555
10556// SetSourceEnvironmentName sets the SourceEnvironmentName field's value.
10557func (s *SwapEnvironmentCNAMEsInput) SetSourceEnvironmentName(v string) *SwapEnvironmentCNAMEsInput {
10558	s.SourceEnvironmentName = &v
10559	return s
10560}
10561
10562type SwapEnvironmentCNAMEsOutput struct {
10563	_ struct{} `type:"structure"`
10564}
10565
10566// String returns the string representation
10567func (s SwapEnvironmentCNAMEsOutput) String() string {
10568	return awsutil.Prettify(s)
10569}
10570
10571// GoString returns the string representation
10572func (s SwapEnvironmentCNAMEsOutput) GoString() string {
10573	return s.String()
10574}
10575
10576// CPU utilization and load average metrics for an Amazon EC2 instance.
10577type SystemStatus struct {
10578	_ struct{} `type:"structure"`
10579
10580	// CPU utilization metrics for the instance.
10581	CPUUtilization *CPUUtilization `type:"structure"`
10582
10583	// Load average in the last 1-minute, 5-minute, and 15-minute periods. For more
10584	// information, see Operating System Metrics (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-metrics.html#health-enhanced-metrics-os).
10585	LoadAverage []*float64 `type:"list"`
10586}
10587
10588// String returns the string representation
10589func (s SystemStatus) String() string {
10590	return awsutil.Prettify(s)
10591}
10592
10593// GoString returns the string representation
10594func (s SystemStatus) GoString() string {
10595	return s.String()
10596}
10597
10598// SetCPUUtilization sets the CPUUtilization field's value.
10599func (s *SystemStatus) SetCPUUtilization(v *CPUUtilization) *SystemStatus {
10600	s.CPUUtilization = v
10601	return s
10602}
10603
10604// SetLoadAverage sets the LoadAverage field's value.
10605func (s *SystemStatus) SetLoadAverage(v []*float64) *SystemStatus {
10606	s.LoadAverage = v
10607	return s
10608}
10609
10610// Describes a tag applied to a resource in an environment.
10611type Tag struct {
10612	_ struct{} `type:"structure"`
10613
10614	// The key of the tag.
10615	Key *string `min:"1" type:"string"`
10616
10617	// The value of the tag.
10618	Value *string `min:"1" type:"string"`
10619}
10620
10621// String returns the string representation
10622func (s Tag) String() string {
10623	return awsutil.Prettify(s)
10624}
10625
10626// GoString returns the string representation
10627func (s Tag) GoString() string {
10628	return s.String()
10629}
10630
10631// Validate inspects the fields of the type to determine if they are valid.
10632func (s *Tag) Validate() error {
10633	invalidParams := request.ErrInvalidParams{Context: "Tag"}
10634	if s.Key != nil && len(*s.Key) < 1 {
10635		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
10636	}
10637	if s.Value != nil && len(*s.Value) < 1 {
10638		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
10639	}
10640
10641	if invalidParams.Len() > 0 {
10642		return invalidParams
10643	}
10644	return nil
10645}
10646
10647// SetKey sets the Key field's value.
10648func (s *Tag) SetKey(v string) *Tag {
10649	s.Key = &v
10650	return s
10651}
10652
10653// SetValue sets the Value field's value.
10654func (s *Tag) SetValue(v string) *Tag {
10655	s.Value = &v
10656	return s
10657}
10658
10659// Request to terminate an environment.
10660type TerminateEnvironmentInput struct {
10661	_ struct{} `type:"structure"`
10662
10663	// The ID of the environment to terminate.
10664	//
10665	// Condition: You must specify either this or an EnvironmentName, or both. If
10666	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
10667	// error.
10668	EnvironmentId *string `type:"string"`
10669
10670	// The name of the environment to terminate.
10671	//
10672	// Condition: You must specify either this or an EnvironmentId, or both. If
10673	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
10674	// error.
10675	EnvironmentName *string `min:"4" type:"string"`
10676
10677	// Terminates the target environment even if another environment in the same
10678	// group is dependent on it.
10679	ForceTerminate *bool `type:"boolean"`
10680
10681	// Indicates whether the associated AWS resources should shut down when the
10682	// environment is terminated:
10683	//
10684	//    * true: The specified environment as well as the associated AWS resources,
10685	//    such as Auto Scaling group and LoadBalancer, are terminated.
10686	//
10687	//    * false: AWS Elastic Beanstalk resource management is removed from the
10688	//    environment, but the AWS resources continue to operate.
10689	//
10690	// For more information, see the AWS Elastic Beanstalk User Guide. (https://docs.aws.amazon.com/elasticbeanstalk/latest/ug/)
10691	//
10692	// Default: true
10693	//
10694	// Valid Values: true | false
10695	TerminateResources *bool `type:"boolean"`
10696}
10697
10698// String returns the string representation
10699func (s TerminateEnvironmentInput) String() string {
10700	return awsutil.Prettify(s)
10701}
10702
10703// GoString returns the string representation
10704func (s TerminateEnvironmentInput) GoString() string {
10705	return s.String()
10706}
10707
10708// Validate inspects the fields of the type to determine if they are valid.
10709func (s *TerminateEnvironmentInput) Validate() error {
10710	invalidParams := request.ErrInvalidParams{Context: "TerminateEnvironmentInput"}
10711	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
10712		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
10713	}
10714
10715	if invalidParams.Len() > 0 {
10716		return invalidParams
10717	}
10718	return nil
10719}
10720
10721// SetEnvironmentId sets the EnvironmentId field's value.
10722func (s *TerminateEnvironmentInput) SetEnvironmentId(v string) *TerminateEnvironmentInput {
10723	s.EnvironmentId = &v
10724	return s
10725}
10726
10727// SetEnvironmentName sets the EnvironmentName field's value.
10728func (s *TerminateEnvironmentInput) SetEnvironmentName(v string) *TerminateEnvironmentInput {
10729	s.EnvironmentName = &v
10730	return s
10731}
10732
10733// SetForceTerminate sets the ForceTerminate field's value.
10734func (s *TerminateEnvironmentInput) SetForceTerminate(v bool) *TerminateEnvironmentInput {
10735	s.ForceTerminate = &v
10736	return s
10737}
10738
10739// SetTerminateResources sets the TerminateResources field's value.
10740func (s *TerminateEnvironmentInput) SetTerminateResources(v bool) *TerminateEnvironmentInput {
10741	s.TerminateResources = &v
10742	return s
10743}
10744
10745// Describes a trigger.
10746type Trigger struct {
10747	_ struct{} `type:"structure"`
10748
10749	// The name of the trigger.
10750	Name *string `type:"string"`
10751}
10752
10753// String returns the string representation
10754func (s Trigger) String() string {
10755	return awsutil.Prettify(s)
10756}
10757
10758// GoString returns the string representation
10759func (s Trigger) GoString() string {
10760	return s.String()
10761}
10762
10763// SetName sets the Name field's value.
10764func (s *Trigger) SetName(v string) *Trigger {
10765	s.Name = &v
10766	return s
10767}
10768
10769// Request to update an application.
10770type UpdateApplicationInput struct {
10771	_ struct{} `type:"structure"`
10772
10773	// The name of the application to update. If no such application is found, UpdateApplication
10774	// returns an InvalidParameterValue error.
10775	//
10776	// ApplicationName is a required field
10777	ApplicationName *string `min:"1" type:"string" required:"true"`
10778
10779	// A new description for the application.
10780	//
10781	// Default: If not specified, AWS Elastic Beanstalk does not update the description.
10782	Description *string `type:"string"`
10783}
10784
10785// String returns the string representation
10786func (s UpdateApplicationInput) String() string {
10787	return awsutil.Prettify(s)
10788}
10789
10790// GoString returns the string representation
10791func (s UpdateApplicationInput) GoString() string {
10792	return s.String()
10793}
10794
10795// Validate inspects the fields of the type to determine if they are valid.
10796func (s *UpdateApplicationInput) Validate() error {
10797	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationInput"}
10798	if s.ApplicationName == nil {
10799		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
10800	}
10801	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
10802		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
10803	}
10804
10805	if invalidParams.Len() > 0 {
10806		return invalidParams
10807	}
10808	return nil
10809}
10810
10811// SetApplicationName sets the ApplicationName field's value.
10812func (s *UpdateApplicationInput) SetApplicationName(v string) *UpdateApplicationInput {
10813	s.ApplicationName = &v
10814	return s
10815}
10816
10817// SetDescription sets the Description field's value.
10818func (s *UpdateApplicationInput) SetDescription(v string) *UpdateApplicationInput {
10819	s.Description = &v
10820	return s
10821}
10822
10823type UpdateApplicationResourceLifecycleInput struct {
10824	_ struct{} `type:"structure"`
10825
10826	// The name of the application.
10827	//
10828	// ApplicationName is a required field
10829	ApplicationName *string `min:"1" type:"string" required:"true"`
10830
10831	// The lifecycle configuration.
10832	//
10833	// ResourceLifecycleConfig is a required field
10834	ResourceLifecycleConfig *ApplicationResourceLifecycleConfig `type:"structure" required:"true"`
10835}
10836
10837// String returns the string representation
10838func (s UpdateApplicationResourceLifecycleInput) String() string {
10839	return awsutil.Prettify(s)
10840}
10841
10842// GoString returns the string representation
10843func (s UpdateApplicationResourceLifecycleInput) GoString() string {
10844	return s.String()
10845}
10846
10847// Validate inspects the fields of the type to determine if they are valid.
10848func (s *UpdateApplicationResourceLifecycleInput) Validate() error {
10849	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationResourceLifecycleInput"}
10850	if s.ApplicationName == nil {
10851		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
10852	}
10853	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
10854		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
10855	}
10856	if s.ResourceLifecycleConfig == nil {
10857		invalidParams.Add(request.NewErrParamRequired("ResourceLifecycleConfig"))
10858	}
10859	if s.ResourceLifecycleConfig != nil {
10860		if err := s.ResourceLifecycleConfig.Validate(); err != nil {
10861			invalidParams.AddNested("ResourceLifecycleConfig", err.(request.ErrInvalidParams))
10862		}
10863	}
10864
10865	if invalidParams.Len() > 0 {
10866		return invalidParams
10867	}
10868	return nil
10869}
10870
10871// SetApplicationName sets the ApplicationName field's value.
10872func (s *UpdateApplicationResourceLifecycleInput) SetApplicationName(v string) *UpdateApplicationResourceLifecycleInput {
10873	s.ApplicationName = &v
10874	return s
10875}
10876
10877// SetResourceLifecycleConfig sets the ResourceLifecycleConfig field's value.
10878func (s *UpdateApplicationResourceLifecycleInput) SetResourceLifecycleConfig(v *ApplicationResourceLifecycleConfig) *UpdateApplicationResourceLifecycleInput {
10879	s.ResourceLifecycleConfig = v
10880	return s
10881}
10882
10883type UpdateApplicationResourceLifecycleOutput struct {
10884	_ struct{} `type:"structure"`
10885
10886	// The name of the application.
10887	ApplicationName *string `min:"1" type:"string"`
10888
10889	// The lifecycle configuration.
10890	ResourceLifecycleConfig *ApplicationResourceLifecycleConfig `type:"structure"`
10891}
10892
10893// String returns the string representation
10894func (s UpdateApplicationResourceLifecycleOutput) String() string {
10895	return awsutil.Prettify(s)
10896}
10897
10898// GoString returns the string representation
10899func (s UpdateApplicationResourceLifecycleOutput) GoString() string {
10900	return s.String()
10901}
10902
10903// SetApplicationName sets the ApplicationName field's value.
10904func (s *UpdateApplicationResourceLifecycleOutput) SetApplicationName(v string) *UpdateApplicationResourceLifecycleOutput {
10905	s.ApplicationName = &v
10906	return s
10907}
10908
10909// SetResourceLifecycleConfig sets the ResourceLifecycleConfig field's value.
10910func (s *UpdateApplicationResourceLifecycleOutput) SetResourceLifecycleConfig(v *ApplicationResourceLifecycleConfig) *UpdateApplicationResourceLifecycleOutput {
10911	s.ResourceLifecycleConfig = v
10912	return s
10913}
10914
10915type UpdateApplicationVersionInput struct {
10916	_ struct{} `type:"structure"`
10917
10918	// The name of the application associated with this version.
10919	//
10920	// If no application is found with this name, UpdateApplication returns an InvalidParameterValue
10921	// error.
10922	//
10923	// ApplicationName is a required field
10924	ApplicationName *string `min:"1" type:"string" required:"true"`
10925
10926	// A new description for this version.
10927	Description *string `type:"string"`
10928
10929	// The name of the version to update.
10930	//
10931	// If no application version is found with this label, UpdateApplication returns
10932	// an InvalidParameterValue error.
10933	//
10934	// VersionLabel is a required field
10935	VersionLabel *string `min:"1" type:"string" required:"true"`
10936}
10937
10938// String returns the string representation
10939func (s UpdateApplicationVersionInput) String() string {
10940	return awsutil.Prettify(s)
10941}
10942
10943// GoString returns the string representation
10944func (s UpdateApplicationVersionInput) GoString() string {
10945	return s.String()
10946}
10947
10948// Validate inspects the fields of the type to determine if they are valid.
10949func (s *UpdateApplicationVersionInput) Validate() error {
10950	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationVersionInput"}
10951	if s.ApplicationName == nil {
10952		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
10953	}
10954	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
10955		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
10956	}
10957	if s.VersionLabel == nil {
10958		invalidParams.Add(request.NewErrParamRequired("VersionLabel"))
10959	}
10960	if s.VersionLabel != nil && len(*s.VersionLabel) < 1 {
10961		invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1))
10962	}
10963
10964	if invalidParams.Len() > 0 {
10965		return invalidParams
10966	}
10967	return nil
10968}
10969
10970// SetApplicationName sets the ApplicationName field's value.
10971func (s *UpdateApplicationVersionInput) SetApplicationName(v string) *UpdateApplicationVersionInput {
10972	s.ApplicationName = &v
10973	return s
10974}
10975
10976// SetDescription sets the Description field's value.
10977func (s *UpdateApplicationVersionInput) SetDescription(v string) *UpdateApplicationVersionInput {
10978	s.Description = &v
10979	return s
10980}
10981
10982// SetVersionLabel sets the VersionLabel field's value.
10983func (s *UpdateApplicationVersionInput) SetVersionLabel(v string) *UpdateApplicationVersionInput {
10984	s.VersionLabel = &v
10985	return s
10986}
10987
10988// The result message containing the options for the specified solution stack.
10989type UpdateConfigurationTemplateInput struct {
10990	_ struct{} `type:"structure"`
10991
10992	// The name of the application associated with the configuration template to
10993	// update.
10994	//
10995	// If no application is found with this name, UpdateConfigurationTemplate returns
10996	// an InvalidParameterValue error.
10997	//
10998	// ApplicationName is a required field
10999	ApplicationName *string `min:"1" type:"string" required:"true"`
11000
11001	// A new description for the configuration.
11002	Description *string `type:"string"`
11003
11004	// A list of configuration option settings to update with the new specified
11005	// option value.
11006	OptionSettings []*ConfigurationOptionSetting `type:"list"`
11007
11008	// A list of configuration options to remove from the configuration set.
11009	//
11010	// Constraint: You can remove only UserDefined configuration options.
11011	OptionsToRemove []*OptionSpecification `type:"list"`
11012
11013	// The name of the configuration template to update.
11014	//
11015	// If no configuration template is found with this name, UpdateConfigurationTemplate
11016	// returns an InvalidParameterValue error.
11017	//
11018	// TemplateName is a required field
11019	TemplateName *string `min:"1" type:"string" required:"true"`
11020}
11021
11022// String returns the string representation
11023func (s UpdateConfigurationTemplateInput) String() string {
11024	return awsutil.Prettify(s)
11025}
11026
11027// GoString returns the string representation
11028func (s UpdateConfigurationTemplateInput) GoString() string {
11029	return s.String()
11030}
11031
11032// Validate inspects the fields of the type to determine if they are valid.
11033func (s *UpdateConfigurationTemplateInput) Validate() error {
11034	invalidParams := request.ErrInvalidParams{Context: "UpdateConfigurationTemplateInput"}
11035	if s.ApplicationName == nil {
11036		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
11037	}
11038	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
11039		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
11040	}
11041	if s.TemplateName == nil {
11042		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
11043	}
11044	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
11045		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
11046	}
11047	if s.OptionSettings != nil {
11048		for i, v := range s.OptionSettings {
11049			if v == nil {
11050				continue
11051			}
11052			if err := v.Validate(); err != nil {
11053				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionSettings", i), err.(request.ErrInvalidParams))
11054			}
11055		}
11056	}
11057	if s.OptionsToRemove != nil {
11058		for i, v := range s.OptionsToRemove {
11059			if v == nil {
11060				continue
11061			}
11062			if err := v.Validate(); err != nil {
11063				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionsToRemove", i), err.(request.ErrInvalidParams))
11064			}
11065		}
11066	}
11067
11068	if invalidParams.Len() > 0 {
11069		return invalidParams
11070	}
11071	return nil
11072}
11073
11074// SetApplicationName sets the ApplicationName field's value.
11075func (s *UpdateConfigurationTemplateInput) SetApplicationName(v string) *UpdateConfigurationTemplateInput {
11076	s.ApplicationName = &v
11077	return s
11078}
11079
11080// SetDescription sets the Description field's value.
11081func (s *UpdateConfigurationTemplateInput) SetDescription(v string) *UpdateConfigurationTemplateInput {
11082	s.Description = &v
11083	return s
11084}
11085
11086// SetOptionSettings sets the OptionSettings field's value.
11087func (s *UpdateConfigurationTemplateInput) SetOptionSettings(v []*ConfigurationOptionSetting) *UpdateConfigurationTemplateInput {
11088	s.OptionSettings = v
11089	return s
11090}
11091
11092// SetOptionsToRemove sets the OptionsToRemove field's value.
11093func (s *UpdateConfigurationTemplateInput) SetOptionsToRemove(v []*OptionSpecification) *UpdateConfigurationTemplateInput {
11094	s.OptionsToRemove = v
11095	return s
11096}
11097
11098// SetTemplateName sets the TemplateName field's value.
11099func (s *UpdateConfigurationTemplateInput) SetTemplateName(v string) *UpdateConfigurationTemplateInput {
11100	s.TemplateName = &v
11101	return s
11102}
11103
11104// Request to update an environment.
11105type UpdateEnvironmentInput struct {
11106	_ struct{} `type:"structure"`
11107
11108	// The name of the application with which the environment is associated.
11109	ApplicationName *string `min:"1" type:"string"`
11110
11111	// If this parameter is specified, AWS Elastic Beanstalk updates the description
11112	// of this environment.
11113	Description *string `type:"string"`
11114
11115	// The ID of the environment to update.
11116	//
11117	// If no environment with this ID exists, AWS Elastic Beanstalk returns an InvalidParameterValue
11118	// error.
11119	//
11120	// Condition: You must specify either this or an EnvironmentName, or both. If
11121	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
11122	// error.
11123	EnvironmentId *string `type:"string"`
11124
11125	// The name of the environment to update. If no environment with this name exists,
11126	// AWS Elastic Beanstalk returns an InvalidParameterValue error.
11127	//
11128	// Condition: You must specify either this or an EnvironmentId, or both. If
11129	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
11130	// error.
11131	EnvironmentName *string `min:"4" type:"string"`
11132
11133	// The name of the group to which the target environment belongs. Specify a
11134	// group name only if the environment's name is specified in an environment
11135	// manifest and not with the environment name or environment ID parameters.
11136	// See Environment Manifest (env.yaml) (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-cfg-manifest.html)
11137	// for details.
11138	GroupName *string `min:"1" type:"string"`
11139
11140	// If specified, AWS Elastic Beanstalk updates the configuration set associated
11141	// with the running environment and sets the specified configuration options
11142	// to the requested value.
11143	OptionSettings []*ConfigurationOptionSetting `type:"list"`
11144
11145	// A list of custom user-defined configuration options to remove from the configuration
11146	// set for this environment.
11147	OptionsToRemove []*OptionSpecification `type:"list"`
11148
11149	// The ARN of the platform, if used.
11150	PlatformArn *string `type:"string"`
11151
11152	// This specifies the platform version that the environment will run after the
11153	// environment is updated.
11154	SolutionStackName *string `type:"string"`
11155
11156	// If this parameter is specified, AWS Elastic Beanstalk deploys this configuration
11157	// template to the environment. If no such configuration template is found,
11158	// AWS Elastic Beanstalk returns an InvalidParameterValue error.
11159	TemplateName *string `min:"1" type:"string"`
11160
11161	// This specifies the tier to use to update the environment.
11162	//
11163	// Condition: At this time, if you change the tier version, name, or type, AWS
11164	// Elastic Beanstalk returns InvalidParameterValue error.
11165	Tier *EnvironmentTier `type:"structure"`
11166
11167	// If this parameter is specified, AWS Elastic Beanstalk deploys the named application
11168	// version to the environment. If no such application version is found, returns
11169	// an InvalidParameterValue error.
11170	VersionLabel *string `min:"1" type:"string"`
11171}
11172
11173// String returns the string representation
11174func (s UpdateEnvironmentInput) String() string {
11175	return awsutil.Prettify(s)
11176}
11177
11178// GoString returns the string representation
11179func (s UpdateEnvironmentInput) GoString() string {
11180	return s.String()
11181}
11182
11183// Validate inspects the fields of the type to determine if they are valid.
11184func (s *UpdateEnvironmentInput) Validate() error {
11185	invalidParams := request.ErrInvalidParams{Context: "UpdateEnvironmentInput"}
11186	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
11187		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
11188	}
11189	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
11190		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
11191	}
11192	if s.GroupName != nil && len(*s.GroupName) < 1 {
11193		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
11194	}
11195	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
11196		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
11197	}
11198	if s.VersionLabel != nil && len(*s.VersionLabel) < 1 {
11199		invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1))
11200	}
11201	if s.OptionSettings != nil {
11202		for i, v := range s.OptionSettings {
11203			if v == nil {
11204				continue
11205			}
11206			if err := v.Validate(); err != nil {
11207				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionSettings", i), err.(request.ErrInvalidParams))
11208			}
11209		}
11210	}
11211	if s.OptionsToRemove != nil {
11212		for i, v := range s.OptionsToRemove {
11213			if v == nil {
11214				continue
11215			}
11216			if err := v.Validate(); err != nil {
11217				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionsToRemove", i), err.(request.ErrInvalidParams))
11218			}
11219		}
11220	}
11221
11222	if invalidParams.Len() > 0 {
11223		return invalidParams
11224	}
11225	return nil
11226}
11227
11228// SetApplicationName sets the ApplicationName field's value.
11229func (s *UpdateEnvironmentInput) SetApplicationName(v string) *UpdateEnvironmentInput {
11230	s.ApplicationName = &v
11231	return s
11232}
11233
11234// SetDescription sets the Description field's value.
11235func (s *UpdateEnvironmentInput) SetDescription(v string) *UpdateEnvironmentInput {
11236	s.Description = &v
11237	return s
11238}
11239
11240// SetEnvironmentId sets the EnvironmentId field's value.
11241func (s *UpdateEnvironmentInput) SetEnvironmentId(v string) *UpdateEnvironmentInput {
11242	s.EnvironmentId = &v
11243	return s
11244}
11245
11246// SetEnvironmentName sets the EnvironmentName field's value.
11247func (s *UpdateEnvironmentInput) SetEnvironmentName(v string) *UpdateEnvironmentInput {
11248	s.EnvironmentName = &v
11249	return s
11250}
11251
11252// SetGroupName sets the GroupName field's value.
11253func (s *UpdateEnvironmentInput) SetGroupName(v string) *UpdateEnvironmentInput {
11254	s.GroupName = &v
11255	return s
11256}
11257
11258// SetOptionSettings sets the OptionSettings field's value.
11259func (s *UpdateEnvironmentInput) SetOptionSettings(v []*ConfigurationOptionSetting) *UpdateEnvironmentInput {
11260	s.OptionSettings = v
11261	return s
11262}
11263
11264// SetOptionsToRemove sets the OptionsToRemove field's value.
11265func (s *UpdateEnvironmentInput) SetOptionsToRemove(v []*OptionSpecification) *UpdateEnvironmentInput {
11266	s.OptionsToRemove = v
11267	return s
11268}
11269
11270// SetPlatformArn sets the PlatformArn field's value.
11271func (s *UpdateEnvironmentInput) SetPlatformArn(v string) *UpdateEnvironmentInput {
11272	s.PlatformArn = &v
11273	return s
11274}
11275
11276// SetSolutionStackName sets the SolutionStackName field's value.
11277func (s *UpdateEnvironmentInput) SetSolutionStackName(v string) *UpdateEnvironmentInput {
11278	s.SolutionStackName = &v
11279	return s
11280}
11281
11282// SetTemplateName sets the TemplateName field's value.
11283func (s *UpdateEnvironmentInput) SetTemplateName(v string) *UpdateEnvironmentInput {
11284	s.TemplateName = &v
11285	return s
11286}
11287
11288// SetTier sets the Tier field's value.
11289func (s *UpdateEnvironmentInput) SetTier(v *EnvironmentTier) *UpdateEnvironmentInput {
11290	s.Tier = v
11291	return s
11292}
11293
11294// SetVersionLabel sets the VersionLabel field's value.
11295func (s *UpdateEnvironmentInput) SetVersionLabel(v string) *UpdateEnvironmentInput {
11296	s.VersionLabel = &v
11297	return s
11298}
11299
11300type UpdateTagsForResourceInput struct {
11301	_ struct{} `type:"structure"`
11302
11303	// The Amazon Resource Name (ARN) of the resouce to be updated.
11304	//
11305	// Must be the ARN of an Elastic Beanstalk environment.
11306	//
11307	// ResourceArn is a required field
11308	ResourceArn *string `type:"string" required:"true"`
11309
11310	// A list of tags to add or update.
11311	//
11312	// If a key of an existing tag is added, the tag's value is updated.
11313	TagsToAdd []*Tag `type:"list"`
11314
11315	// A list of tag keys to remove.
11316	//
11317	// If a tag key doesn't exist, it is silently ignored.
11318	TagsToRemove []*string `type:"list"`
11319}
11320
11321// String returns the string representation
11322func (s UpdateTagsForResourceInput) String() string {
11323	return awsutil.Prettify(s)
11324}
11325
11326// GoString returns the string representation
11327func (s UpdateTagsForResourceInput) GoString() string {
11328	return s.String()
11329}
11330
11331// Validate inspects the fields of the type to determine if they are valid.
11332func (s *UpdateTagsForResourceInput) Validate() error {
11333	invalidParams := request.ErrInvalidParams{Context: "UpdateTagsForResourceInput"}
11334	if s.ResourceArn == nil {
11335		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
11336	}
11337	if s.TagsToAdd != nil {
11338		for i, v := range s.TagsToAdd {
11339			if v == nil {
11340				continue
11341			}
11342			if err := v.Validate(); err != nil {
11343				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagsToAdd", i), err.(request.ErrInvalidParams))
11344			}
11345		}
11346	}
11347
11348	if invalidParams.Len() > 0 {
11349		return invalidParams
11350	}
11351	return nil
11352}
11353
11354// SetResourceArn sets the ResourceArn field's value.
11355func (s *UpdateTagsForResourceInput) SetResourceArn(v string) *UpdateTagsForResourceInput {
11356	s.ResourceArn = &v
11357	return s
11358}
11359
11360// SetTagsToAdd sets the TagsToAdd field's value.
11361func (s *UpdateTagsForResourceInput) SetTagsToAdd(v []*Tag) *UpdateTagsForResourceInput {
11362	s.TagsToAdd = v
11363	return s
11364}
11365
11366// SetTagsToRemove sets the TagsToRemove field's value.
11367func (s *UpdateTagsForResourceInput) SetTagsToRemove(v []*string) *UpdateTagsForResourceInput {
11368	s.TagsToRemove = v
11369	return s
11370}
11371
11372type UpdateTagsForResourceOutput struct {
11373	_ struct{} `type:"structure"`
11374}
11375
11376// String returns the string representation
11377func (s UpdateTagsForResourceOutput) String() string {
11378	return awsutil.Prettify(s)
11379}
11380
11381// GoString returns the string representation
11382func (s UpdateTagsForResourceOutput) GoString() string {
11383	return s.String()
11384}
11385
11386// A list of validation messages for a specified configuration template.
11387type ValidateConfigurationSettingsInput struct {
11388	_ struct{} `type:"structure"`
11389
11390	// The name of the application that the configuration template or environment
11391	// belongs to.
11392	//
11393	// ApplicationName is a required field
11394	ApplicationName *string `min:"1" type:"string" required:"true"`
11395
11396	// The name of the environment to validate the settings against.
11397	//
11398	// Condition: You cannot specify both this and a configuration template name.
11399	EnvironmentName *string `min:"4" type:"string"`
11400
11401	// A list of the options and desired values to evaluate.
11402	//
11403	// OptionSettings is a required field
11404	OptionSettings []*ConfigurationOptionSetting `type:"list" required:"true"`
11405
11406	// The name of the configuration template to validate the settings against.
11407	//
11408	// Condition: You cannot specify both this and an environment name.
11409	TemplateName *string `min:"1" type:"string"`
11410}
11411
11412// String returns the string representation
11413func (s ValidateConfigurationSettingsInput) String() string {
11414	return awsutil.Prettify(s)
11415}
11416
11417// GoString returns the string representation
11418func (s ValidateConfigurationSettingsInput) GoString() string {
11419	return s.String()
11420}
11421
11422// Validate inspects the fields of the type to determine if they are valid.
11423func (s *ValidateConfigurationSettingsInput) Validate() error {
11424	invalidParams := request.ErrInvalidParams{Context: "ValidateConfigurationSettingsInput"}
11425	if s.ApplicationName == nil {
11426		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
11427	}
11428	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
11429		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
11430	}
11431	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
11432		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
11433	}
11434	if s.OptionSettings == nil {
11435		invalidParams.Add(request.NewErrParamRequired("OptionSettings"))
11436	}
11437	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
11438		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
11439	}
11440	if s.OptionSettings != nil {
11441		for i, v := range s.OptionSettings {
11442			if v == nil {
11443				continue
11444			}
11445			if err := v.Validate(); err != nil {
11446				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionSettings", i), err.(request.ErrInvalidParams))
11447			}
11448		}
11449	}
11450
11451	if invalidParams.Len() > 0 {
11452		return invalidParams
11453	}
11454	return nil
11455}
11456
11457// SetApplicationName sets the ApplicationName field's value.
11458func (s *ValidateConfigurationSettingsInput) SetApplicationName(v string) *ValidateConfigurationSettingsInput {
11459	s.ApplicationName = &v
11460	return s
11461}
11462
11463// SetEnvironmentName sets the EnvironmentName field's value.
11464func (s *ValidateConfigurationSettingsInput) SetEnvironmentName(v string) *ValidateConfigurationSettingsInput {
11465	s.EnvironmentName = &v
11466	return s
11467}
11468
11469// SetOptionSettings sets the OptionSettings field's value.
11470func (s *ValidateConfigurationSettingsInput) SetOptionSettings(v []*ConfigurationOptionSetting) *ValidateConfigurationSettingsInput {
11471	s.OptionSettings = v
11472	return s
11473}
11474
11475// SetTemplateName sets the TemplateName field's value.
11476func (s *ValidateConfigurationSettingsInput) SetTemplateName(v string) *ValidateConfigurationSettingsInput {
11477	s.TemplateName = &v
11478	return s
11479}
11480
11481// Provides a list of validation messages.
11482type ValidateConfigurationSettingsOutput struct {
11483	_ struct{} `type:"structure"`
11484
11485	// A list of ValidationMessage.
11486	Messages []*ValidationMessage `type:"list"`
11487}
11488
11489// String returns the string representation
11490func (s ValidateConfigurationSettingsOutput) String() string {
11491	return awsutil.Prettify(s)
11492}
11493
11494// GoString returns the string representation
11495func (s ValidateConfigurationSettingsOutput) GoString() string {
11496	return s.String()
11497}
11498
11499// SetMessages sets the Messages field's value.
11500func (s *ValidateConfigurationSettingsOutput) SetMessages(v []*ValidationMessage) *ValidateConfigurationSettingsOutput {
11501	s.Messages = v
11502	return s
11503}
11504
11505// An error or warning for a desired configuration option value.
11506type ValidationMessage struct {
11507	_ struct{} `type:"structure"`
11508
11509	// A message describing the error or warning.
11510	Message *string `type:"string"`
11511
11512	// The namespace to which the option belongs.
11513	Namespace *string `type:"string"`
11514
11515	// The name of the option.
11516	OptionName *string `type:"string"`
11517
11518	// An indication of the severity of this message:
11519	//
11520	//    * error: This message indicates that this is not a valid setting for an
11521	//    option.
11522	//
11523	//    * warning: This message is providing information you should take into
11524	//    account.
11525	Severity *string `type:"string" enum:"ValidationSeverity"`
11526}
11527
11528// String returns the string representation
11529func (s ValidationMessage) String() string {
11530	return awsutil.Prettify(s)
11531}
11532
11533// GoString returns the string representation
11534func (s ValidationMessage) GoString() string {
11535	return s.String()
11536}
11537
11538// SetMessage sets the Message field's value.
11539func (s *ValidationMessage) SetMessage(v string) *ValidationMessage {
11540	s.Message = &v
11541	return s
11542}
11543
11544// SetNamespace sets the Namespace field's value.
11545func (s *ValidationMessage) SetNamespace(v string) *ValidationMessage {
11546	s.Namespace = &v
11547	return s
11548}
11549
11550// SetOptionName sets the OptionName field's value.
11551func (s *ValidationMessage) SetOptionName(v string) *ValidationMessage {
11552	s.OptionName = &v
11553	return s
11554}
11555
11556// SetSeverity sets the Severity field's value.
11557func (s *ValidationMessage) SetSeverity(v string) *ValidationMessage {
11558	s.Severity = &v
11559	return s
11560}
11561
11562const (
11563	// ActionHistoryStatusCompleted is a ActionHistoryStatus enum value
11564	ActionHistoryStatusCompleted = "Completed"
11565
11566	// ActionHistoryStatusFailed is a ActionHistoryStatus enum value
11567	ActionHistoryStatusFailed = "Failed"
11568
11569	// ActionHistoryStatusUnknown is a ActionHistoryStatus enum value
11570	ActionHistoryStatusUnknown = "Unknown"
11571)
11572
11573const (
11574	// ActionStatusScheduled is a ActionStatus enum value
11575	ActionStatusScheduled = "Scheduled"
11576
11577	// ActionStatusPending is a ActionStatus enum value
11578	ActionStatusPending = "Pending"
11579
11580	// ActionStatusRunning is a ActionStatus enum value
11581	ActionStatusRunning = "Running"
11582
11583	// ActionStatusUnknown is a ActionStatus enum value
11584	ActionStatusUnknown = "Unknown"
11585)
11586
11587const (
11588	// ActionTypeInstanceRefresh is a ActionType enum value
11589	ActionTypeInstanceRefresh = "InstanceRefresh"
11590
11591	// ActionTypePlatformUpdate is a ActionType enum value
11592	ActionTypePlatformUpdate = "PlatformUpdate"
11593
11594	// ActionTypeUnknown is a ActionType enum value
11595	ActionTypeUnknown = "Unknown"
11596)
11597
11598const (
11599	// ApplicationVersionStatusProcessed is a ApplicationVersionStatus enum value
11600	ApplicationVersionStatusProcessed = "Processed"
11601
11602	// ApplicationVersionStatusUnprocessed is a ApplicationVersionStatus enum value
11603	ApplicationVersionStatusUnprocessed = "Unprocessed"
11604
11605	// ApplicationVersionStatusFailed is a ApplicationVersionStatus enum value
11606	ApplicationVersionStatusFailed = "Failed"
11607
11608	// ApplicationVersionStatusProcessing is a ApplicationVersionStatus enum value
11609	ApplicationVersionStatusProcessing = "Processing"
11610
11611	// ApplicationVersionStatusBuilding is a ApplicationVersionStatus enum value
11612	ApplicationVersionStatusBuilding = "Building"
11613)
11614
11615const (
11616	// ComputeTypeBuildGeneral1Small is a ComputeType enum value
11617	ComputeTypeBuildGeneral1Small = "BUILD_GENERAL1_SMALL"
11618
11619	// ComputeTypeBuildGeneral1Medium is a ComputeType enum value
11620	ComputeTypeBuildGeneral1Medium = "BUILD_GENERAL1_MEDIUM"
11621
11622	// ComputeTypeBuildGeneral1Large is a ComputeType enum value
11623	ComputeTypeBuildGeneral1Large = "BUILD_GENERAL1_LARGE"
11624)
11625
11626const (
11627	// ConfigurationDeploymentStatusDeployed is a ConfigurationDeploymentStatus enum value
11628	ConfigurationDeploymentStatusDeployed = "deployed"
11629
11630	// ConfigurationDeploymentStatusPending is a ConfigurationDeploymentStatus enum value
11631	ConfigurationDeploymentStatusPending = "pending"
11632
11633	// ConfigurationDeploymentStatusFailed is a ConfigurationDeploymentStatus enum value
11634	ConfigurationDeploymentStatusFailed = "failed"
11635)
11636
11637const (
11638	// ConfigurationOptionValueTypeScalar is a ConfigurationOptionValueType enum value
11639	ConfigurationOptionValueTypeScalar = "Scalar"
11640
11641	// ConfigurationOptionValueTypeList is a ConfigurationOptionValueType enum value
11642	ConfigurationOptionValueTypeList = "List"
11643)
11644
11645const (
11646	// EnvironmentHealthGreen is a EnvironmentHealth enum value
11647	EnvironmentHealthGreen = "Green"
11648
11649	// EnvironmentHealthYellow is a EnvironmentHealth enum value
11650	EnvironmentHealthYellow = "Yellow"
11651
11652	// EnvironmentHealthRed is a EnvironmentHealth enum value
11653	EnvironmentHealthRed = "Red"
11654
11655	// EnvironmentHealthGrey is a EnvironmentHealth enum value
11656	EnvironmentHealthGrey = "Grey"
11657)
11658
11659const (
11660	// EnvironmentHealthAttributeStatus is a EnvironmentHealthAttribute enum value
11661	EnvironmentHealthAttributeStatus = "Status"
11662
11663	// EnvironmentHealthAttributeColor is a EnvironmentHealthAttribute enum value
11664	EnvironmentHealthAttributeColor = "Color"
11665
11666	// EnvironmentHealthAttributeCauses is a EnvironmentHealthAttribute enum value
11667	EnvironmentHealthAttributeCauses = "Causes"
11668
11669	// EnvironmentHealthAttributeApplicationMetrics is a EnvironmentHealthAttribute enum value
11670	EnvironmentHealthAttributeApplicationMetrics = "ApplicationMetrics"
11671
11672	// EnvironmentHealthAttributeInstancesHealth is a EnvironmentHealthAttribute enum value
11673	EnvironmentHealthAttributeInstancesHealth = "InstancesHealth"
11674
11675	// EnvironmentHealthAttributeAll is a EnvironmentHealthAttribute enum value
11676	EnvironmentHealthAttributeAll = "All"
11677
11678	// EnvironmentHealthAttributeHealthStatus is a EnvironmentHealthAttribute enum value
11679	EnvironmentHealthAttributeHealthStatus = "HealthStatus"
11680
11681	// EnvironmentHealthAttributeRefreshedAt is a EnvironmentHealthAttribute enum value
11682	EnvironmentHealthAttributeRefreshedAt = "RefreshedAt"
11683)
11684
11685const (
11686	// EnvironmentHealthStatusNoData is a EnvironmentHealthStatus enum value
11687	EnvironmentHealthStatusNoData = "NoData"
11688
11689	// EnvironmentHealthStatusUnknown is a EnvironmentHealthStatus enum value
11690	EnvironmentHealthStatusUnknown = "Unknown"
11691
11692	// EnvironmentHealthStatusPending is a EnvironmentHealthStatus enum value
11693	EnvironmentHealthStatusPending = "Pending"
11694
11695	// EnvironmentHealthStatusOk is a EnvironmentHealthStatus enum value
11696	EnvironmentHealthStatusOk = "Ok"
11697
11698	// EnvironmentHealthStatusInfo is a EnvironmentHealthStatus enum value
11699	EnvironmentHealthStatusInfo = "Info"
11700
11701	// EnvironmentHealthStatusWarning is a EnvironmentHealthStatus enum value
11702	EnvironmentHealthStatusWarning = "Warning"
11703
11704	// EnvironmentHealthStatusDegraded is a EnvironmentHealthStatus enum value
11705	EnvironmentHealthStatusDegraded = "Degraded"
11706
11707	// EnvironmentHealthStatusSevere is a EnvironmentHealthStatus enum value
11708	EnvironmentHealthStatusSevere = "Severe"
11709
11710	// EnvironmentHealthStatusSuspended is a EnvironmentHealthStatus enum value
11711	EnvironmentHealthStatusSuspended = "Suspended"
11712)
11713
11714const (
11715	// EnvironmentInfoTypeTail is a EnvironmentInfoType enum value
11716	EnvironmentInfoTypeTail = "tail"
11717
11718	// EnvironmentInfoTypeBundle is a EnvironmentInfoType enum value
11719	EnvironmentInfoTypeBundle = "bundle"
11720)
11721
11722const (
11723	// EnvironmentStatusLaunching is a EnvironmentStatus enum value
11724	EnvironmentStatusLaunching = "Launching"
11725
11726	// EnvironmentStatusUpdating is a EnvironmentStatus enum value
11727	EnvironmentStatusUpdating = "Updating"
11728
11729	// EnvironmentStatusReady is a EnvironmentStatus enum value
11730	EnvironmentStatusReady = "Ready"
11731
11732	// EnvironmentStatusTerminating is a EnvironmentStatus enum value
11733	EnvironmentStatusTerminating = "Terminating"
11734
11735	// EnvironmentStatusTerminated is a EnvironmentStatus enum value
11736	EnvironmentStatusTerminated = "Terminated"
11737)
11738
11739const (
11740	// EventSeverityTrace is a EventSeverity enum value
11741	EventSeverityTrace = "TRACE"
11742
11743	// EventSeverityDebug is a EventSeverity enum value
11744	EventSeverityDebug = "DEBUG"
11745
11746	// EventSeverityInfo is a EventSeverity enum value
11747	EventSeverityInfo = "INFO"
11748
11749	// EventSeverityWarn is a EventSeverity enum value
11750	EventSeverityWarn = "WARN"
11751
11752	// EventSeverityError is a EventSeverity enum value
11753	EventSeverityError = "ERROR"
11754
11755	// EventSeverityFatal is a EventSeverity enum value
11756	EventSeverityFatal = "FATAL"
11757)
11758
11759const (
11760	// FailureTypeUpdateCancelled is a FailureType enum value
11761	FailureTypeUpdateCancelled = "UpdateCancelled"
11762
11763	// FailureTypeCancellationFailed is a FailureType enum value
11764	FailureTypeCancellationFailed = "CancellationFailed"
11765
11766	// FailureTypeRollbackFailed is a FailureType enum value
11767	FailureTypeRollbackFailed = "RollbackFailed"
11768
11769	// FailureTypeRollbackSuccessful is a FailureType enum value
11770	FailureTypeRollbackSuccessful = "RollbackSuccessful"
11771
11772	// FailureTypeInternalFailure is a FailureType enum value
11773	FailureTypeInternalFailure = "InternalFailure"
11774
11775	// FailureTypeInvalidEnvironmentState is a FailureType enum value
11776	FailureTypeInvalidEnvironmentState = "InvalidEnvironmentState"
11777
11778	// FailureTypePermissionsError is a FailureType enum value
11779	FailureTypePermissionsError = "PermissionsError"
11780)
11781
11782const (
11783	// InstancesHealthAttributeHealthStatus is a InstancesHealthAttribute enum value
11784	InstancesHealthAttributeHealthStatus = "HealthStatus"
11785
11786	// InstancesHealthAttributeColor is a InstancesHealthAttribute enum value
11787	InstancesHealthAttributeColor = "Color"
11788
11789	// InstancesHealthAttributeCauses is a InstancesHealthAttribute enum value
11790	InstancesHealthAttributeCauses = "Causes"
11791
11792	// InstancesHealthAttributeApplicationMetrics is a InstancesHealthAttribute enum value
11793	InstancesHealthAttributeApplicationMetrics = "ApplicationMetrics"
11794
11795	// InstancesHealthAttributeRefreshedAt is a InstancesHealthAttribute enum value
11796	InstancesHealthAttributeRefreshedAt = "RefreshedAt"
11797
11798	// InstancesHealthAttributeLaunchedAt is a InstancesHealthAttribute enum value
11799	InstancesHealthAttributeLaunchedAt = "LaunchedAt"
11800
11801	// InstancesHealthAttributeSystem is a InstancesHealthAttribute enum value
11802	InstancesHealthAttributeSystem = "System"
11803
11804	// InstancesHealthAttributeDeployment is a InstancesHealthAttribute enum value
11805	InstancesHealthAttributeDeployment = "Deployment"
11806
11807	// InstancesHealthAttributeAvailabilityZone is a InstancesHealthAttribute enum value
11808	InstancesHealthAttributeAvailabilityZone = "AvailabilityZone"
11809
11810	// InstancesHealthAttributeInstanceType is a InstancesHealthAttribute enum value
11811	InstancesHealthAttributeInstanceType = "InstanceType"
11812
11813	// InstancesHealthAttributeAll is a InstancesHealthAttribute enum value
11814	InstancesHealthAttributeAll = "All"
11815)
11816
11817const (
11818	// PlatformStatusCreating is a PlatformStatus enum value
11819	PlatformStatusCreating = "Creating"
11820
11821	// PlatformStatusFailed is a PlatformStatus enum value
11822	PlatformStatusFailed = "Failed"
11823
11824	// PlatformStatusReady is a PlatformStatus enum value
11825	PlatformStatusReady = "Ready"
11826
11827	// PlatformStatusDeleting is a PlatformStatus enum value
11828	PlatformStatusDeleting = "Deleting"
11829
11830	// PlatformStatusDeleted is a PlatformStatus enum value
11831	PlatformStatusDeleted = "Deleted"
11832)
11833
11834const (
11835	// SourceRepositoryCodeCommit is a SourceRepository enum value
11836	SourceRepositoryCodeCommit = "CodeCommit"
11837
11838	// SourceRepositoryS3 is a SourceRepository enum value
11839	SourceRepositoryS3 = "S3"
11840)
11841
11842const (
11843	// SourceTypeGit is a SourceType enum value
11844	SourceTypeGit = "Git"
11845
11846	// SourceTypeZip is a SourceType enum value
11847	SourceTypeZip = "Zip"
11848)
11849
11850const (
11851	// ValidationSeverityError is a ValidationSeverity enum value
11852	ValidationSeverityError = "error"
11853
11854	// ValidationSeverityWarning is a ValidationSeverity enum value
11855	ValidationSeverityWarning = "warning"
11856)
11857