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 opAssociateEnvironmentOperationsRole = "AssociateEnvironmentOperationsRole"
183
184// AssociateEnvironmentOperationsRoleRequest generates a "aws/request.Request" representing the
185// client's request for the AssociateEnvironmentOperationsRole 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 AssociateEnvironmentOperationsRole for more information on using the AssociateEnvironmentOperationsRole
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 AssociateEnvironmentOperationsRoleRequest method.
200//    req, resp := client.AssociateEnvironmentOperationsRoleRequest(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/AssociateEnvironmentOperationsRole
208func (c *ElasticBeanstalk) AssociateEnvironmentOperationsRoleRequest(input *AssociateEnvironmentOperationsRoleInput) (req *request.Request, output *AssociateEnvironmentOperationsRoleOutput) {
209	op := &request.Operation{
210		Name:       opAssociateEnvironmentOperationsRole,
211		HTTPMethod: "POST",
212		HTTPPath:   "/",
213	}
214
215	if input == nil {
216		input = &AssociateEnvironmentOperationsRoleInput{}
217	}
218
219	output = &AssociateEnvironmentOperationsRoleOutput{}
220	req = c.newRequest(op, input, output)
221	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
222	return
223}
224
225// AssociateEnvironmentOperationsRole API operation for AWS Elastic Beanstalk.
226//
227// Add or change the operations role used by an environment. After this call
228// is made, Elastic Beanstalk uses the associated operations role for permissions
229// to downstream services during subsequent calls acting on this environment.
230// For more information, see Operations roles (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/iam-operationsrole.html)
231// in the AWS Elastic Beanstalk Developer Guide.
232//
233// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
234// with awserr.Error's Code and Message methods to get detailed information about
235// the error.
236//
237// See the AWS API reference guide for AWS Elastic Beanstalk's
238// API operation AssociateEnvironmentOperationsRole for usage and error information.
239//
240// Returned Error Codes:
241//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
242//   The specified account does not have sufficient privileges for one or more
243//   AWS services.
244//
245// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/AssociateEnvironmentOperationsRole
246func (c *ElasticBeanstalk) AssociateEnvironmentOperationsRole(input *AssociateEnvironmentOperationsRoleInput) (*AssociateEnvironmentOperationsRoleOutput, error) {
247	req, out := c.AssociateEnvironmentOperationsRoleRequest(input)
248	return out, req.Send()
249}
250
251// AssociateEnvironmentOperationsRoleWithContext is the same as AssociateEnvironmentOperationsRole with the addition of
252// the ability to pass a context and additional request options.
253//
254// See AssociateEnvironmentOperationsRole for details on how to use this API operation.
255//
256// The context must be non-nil and will be used for request cancellation. If
257// the context is nil a panic will occur. In the future the SDK may create
258// sub-contexts for http.Requests. See https://golang.org/pkg/context/
259// for more information on using Contexts.
260func (c *ElasticBeanstalk) AssociateEnvironmentOperationsRoleWithContext(ctx aws.Context, input *AssociateEnvironmentOperationsRoleInput, opts ...request.Option) (*AssociateEnvironmentOperationsRoleOutput, error) {
261	req, out := c.AssociateEnvironmentOperationsRoleRequest(input)
262	req.SetContext(ctx)
263	req.ApplyOptions(opts...)
264	return out, req.Send()
265}
266
267const opCheckDNSAvailability = "CheckDNSAvailability"
268
269// CheckDNSAvailabilityRequest generates a "aws/request.Request" representing the
270// client's request for the CheckDNSAvailability operation. The "output" return
271// value will be populated with the request's response once the request completes
272// successfully.
273//
274// Use "Send" method on the returned Request to send the API call to the service.
275// the "output" return value is not valid until after Send returns without error.
276//
277// See CheckDNSAvailability for more information on using the CheckDNSAvailability
278// API call, and error handling.
279//
280// This method is useful when you want to inject custom logic or configuration
281// into the SDK's request lifecycle. Such as custom headers, or retry logic.
282//
283//
284//    // Example sending a request using the CheckDNSAvailabilityRequest method.
285//    req, resp := client.CheckDNSAvailabilityRequest(params)
286//
287//    err := req.Send()
288//    if err == nil { // resp is now filled
289//        fmt.Println(resp)
290//    }
291//
292// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CheckDNSAvailability
293func (c *ElasticBeanstalk) CheckDNSAvailabilityRequest(input *CheckDNSAvailabilityInput) (req *request.Request, output *CheckDNSAvailabilityOutput) {
294	op := &request.Operation{
295		Name:       opCheckDNSAvailability,
296		HTTPMethod: "POST",
297		HTTPPath:   "/",
298	}
299
300	if input == nil {
301		input = &CheckDNSAvailabilityInput{}
302	}
303
304	output = &CheckDNSAvailabilityOutput{}
305	req = c.newRequest(op, input, output)
306	return
307}
308
309// CheckDNSAvailability API operation for AWS Elastic Beanstalk.
310//
311// Checks if the specified CNAME is available.
312//
313// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
314// with awserr.Error's Code and Message methods to get detailed information about
315// the error.
316//
317// See the AWS API reference guide for AWS Elastic Beanstalk's
318// API operation CheckDNSAvailability for usage and error information.
319// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CheckDNSAvailability
320func (c *ElasticBeanstalk) CheckDNSAvailability(input *CheckDNSAvailabilityInput) (*CheckDNSAvailabilityOutput, error) {
321	req, out := c.CheckDNSAvailabilityRequest(input)
322	return out, req.Send()
323}
324
325// CheckDNSAvailabilityWithContext is the same as CheckDNSAvailability with the addition of
326// the ability to pass a context and additional request options.
327//
328// See CheckDNSAvailability for details on how to use this API operation.
329//
330// The context must be non-nil and will be used for request cancellation. If
331// the context is nil a panic will occur. In the future the SDK may create
332// sub-contexts for http.Requests. See https://golang.org/pkg/context/
333// for more information on using Contexts.
334func (c *ElasticBeanstalk) CheckDNSAvailabilityWithContext(ctx aws.Context, input *CheckDNSAvailabilityInput, opts ...request.Option) (*CheckDNSAvailabilityOutput, error) {
335	req, out := c.CheckDNSAvailabilityRequest(input)
336	req.SetContext(ctx)
337	req.ApplyOptions(opts...)
338	return out, req.Send()
339}
340
341const opComposeEnvironments = "ComposeEnvironments"
342
343// ComposeEnvironmentsRequest generates a "aws/request.Request" representing the
344// client's request for the ComposeEnvironments operation. The "output" return
345// value will be populated with the request's response once the request completes
346// successfully.
347//
348// Use "Send" method on the returned Request to send the API call to the service.
349// the "output" return value is not valid until after Send returns without error.
350//
351// See ComposeEnvironments for more information on using the ComposeEnvironments
352// API call, and error handling.
353//
354// This method is useful when you want to inject custom logic or configuration
355// into the SDK's request lifecycle. Such as custom headers, or retry logic.
356//
357//
358//    // Example sending a request using the ComposeEnvironmentsRequest method.
359//    req, resp := client.ComposeEnvironmentsRequest(params)
360//
361//    err := req.Send()
362//    if err == nil { // resp is now filled
363//        fmt.Println(resp)
364//    }
365//
366// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ComposeEnvironments
367func (c *ElasticBeanstalk) ComposeEnvironmentsRequest(input *ComposeEnvironmentsInput) (req *request.Request, output *EnvironmentDescriptionsMessage) {
368	op := &request.Operation{
369		Name:       opComposeEnvironments,
370		HTTPMethod: "POST",
371		HTTPPath:   "/",
372	}
373
374	if input == nil {
375		input = &ComposeEnvironmentsInput{}
376	}
377
378	output = &EnvironmentDescriptionsMessage{}
379	req = c.newRequest(op, input, output)
380	return
381}
382
383// ComposeEnvironments API operation for AWS Elastic Beanstalk.
384//
385// Create or update a group of environments that each run a separate component
386// of a single application. Takes a list of version labels that specify application
387// source bundles for each of the environments to create or update. The name
388// of each environment and other required information must be included in the
389// source bundles in an environment manifest named env.yaml. See Compose Environments
390// (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-mgmt-compose.html)
391// for details.
392//
393// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
394// with awserr.Error's Code and Message methods to get detailed information about
395// the error.
396//
397// See the AWS API reference guide for AWS Elastic Beanstalk's
398// API operation ComposeEnvironments for usage and error information.
399//
400// Returned Error Codes:
401//   * ErrCodeTooManyEnvironmentsException "TooManyEnvironmentsException"
402//   The specified account has reached its limit of environments.
403//
404//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
405//   The specified account does not have sufficient privileges for one or more
406//   AWS services.
407//
408// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ComposeEnvironments
409func (c *ElasticBeanstalk) ComposeEnvironments(input *ComposeEnvironmentsInput) (*EnvironmentDescriptionsMessage, error) {
410	req, out := c.ComposeEnvironmentsRequest(input)
411	return out, req.Send()
412}
413
414// ComposeEnvironmentsWithContext is the same as ComposeEnvironments with the addition of
415// the ability to pass a context and additional request options.
416//
417// See ComposeEnvironments for details on how to use this API operation.
418//
419// The context must be non-nil and will be used for request cancellation. If
420// the context is nil a panic will occur. In the future the SDK may create
421// sub-contexts for http.Requests. See https://golang.org/pkg/context/
422// for more information on using Contexts.
423func (c *ElasticBeanstalk) ComposeEnvironmentsWithContext(ctx aws.Context, input *ComposeEnvironmentsInput, opts ...request.Option) (*EnvironmentDescriptionsMessage, error) {
424	req, out := c.ComposeEnvironmentsRequest(input)
425	req.SetContext(ctx)
426	req.ApplyOptions(opts...)
427	return out, req.Send()
428}
429
430const opCreateApplication = "CreateApplication"
431
432// CreateApplicationRequest generates a "aws/request.Request" representing the
433// client's request for the CreateApplication operation. The "output" return
434// value will be populated with the request's response once the request completes
435// successfully.
436//
437// Use "Send" method on the returned Request to send the API call to the service.
438// the "output" return value is not valid until after Send returns without error.
439//
440// See CreateApplication for more information on using the CreateApplication
441// API call, and error handling.
442//
443// This method is useful when you want to inject custom logic or configuration
444// into the SDK's request lifecycle. Such as custom headers, or retry logic.
445//
446//
447//    // Example sending a request using the CreateApplicationRequest method.
448//    req, resp := client.CreateApplicationRequest(params)
449//
450//    err := req.Send()
451//    if err == nil { // resp is now filled
452//        fmt.Println(resp)
453//    }
454//
455// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateApplication
456func (c *ElasticBeanstalk) CreateApplicationRequest(input *CreateApplicationInput) (req *request.Request, output *ApplicationDescriptionMessage) {
457	op := &request.Operation{
458		Name:       opCreateApplication,
459		HTTPMethod: "POST",
460		HTTPPath:   "/",
461	}
462
463	if input == nil {
464		input = &CreateApplicationInput{}
465	}
466
467	output = &ApplicationDescriptionMessage{}
468	req = c.newRequest(op, input, output)
469	return
470}
471
472// CreateApplication API operation for AWS Elastic Beanstalk.
473//
474// Creates an application that has one configuration template named default
475// and no application versions.
476//
477// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
478// with awserr.Error's Code and Message methods to get detailed information about
479// the error.
480//
481// See the AWS API reference guide for AWS Elastic Beanstalk's
482// API operation CreateApplication for usage and error information.
483//
484// Returned Error Codes:
485//   * ErrCodeTooManyApplicationsException "TooManyApplicationsException"
486//   The specified account has reached its limit of applications.
487//
488// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateApplication
489func (c *ElasticBeanstalk) CreateApplication(input *CreateApplicationInput) (*ApplicationDescriptionMessage, error) {
490	req, out := c.CreateApplicationRequest(input)
491	return out, req.Send()
492}
493
494// CreateApplicationWithContext is the same as CreateApplication with the addition of
495// the ability to pass a context and additional request options.
496//
497// See CreateApplication for details on how to use this API operation.
498//
499// The context must be non-nil and will be used for request cancellation. If
500// the context is nil a panic will occur. In the future the SDK may create
501// sub-contexts for http.Requests. See https://golang.org/pkg/context/
502// for more information on using Contexts.
503func (c *ElasticBeanstalk) CreateApplicationWithContext(ctx aws.Context, input *CreateApplicationInput, opts ...request.Option) (*ApplicationDescriptionMessage, error) {
504	req, out := c.CreateApplicationRequest(input)
505	req.SetContext(ctx)
506	req.ApplyOptions(opts...)
507	return out, req.Send()
508}
509
510const opCreateApplicationVersion = "CreateApplicationVersion"
511
512// CreateApplicationVersionRequest generates a "aws/request.Request" representing the
513// client's request for the CreateApplicationVersion operation. The "output" return
514// value will be populated with the request's response once the request completes
515// successfully.
516//
517// Use "Send" method on the returned Request to send the API call to the service.
518// the "output" return value is not valid until after Send returns without error.
519//
520// See CreateApplicationVersion for more information on using the CreateApplicationVersion
521// API call, and error handling.
522//
523// This method is useful when you want to inject custom logic or configuration
524// into the SDK's request lifecycle. Such as custom headers, or retry logic.
525//
526//
527//    // Example sending a request using the CreateApplicationVersionRequest method.
528//    req, resp := client.CreateApplicationVersionRequest(params)
529//
530//    err := req.Send()
531//    if err == nil { // resp is now filled
532//        fmt.Println(resp)
533//    }
534//
535// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateApplicationVersion
536func (c *ElasticBeanstalk) CreateApplicationVersionRequest(input *CreateApplicationVersionInput) (req *request.Request, output *ApplicationVersionDescriptionMessage) {
537	op := &request.Operation{
538		Name:       opCreateApplicationVersion,
539		HTTPMethod: "POST",
540		HTTPPath:   "/",
541	}
542
543	if input == nil {
544		input = &CreateApplicationVersionInput{}
545	}
546
547	output = &ApplicationVersionDescriptionMessage{}
548	req = c.newRequest(op, input, output)
549	return
550}
551
552// CreateApplicationVersion API operation for AWS Elastic Beanstalk.
553//
554// Creates an application version for the specified application. You can create
555// an application version from a source bundle in Amazon S3, a commit in AWS
556// CodeCommit, or the output of an AWS CodeBuild build as follows:
557//
558// Specify a commit in an AWS CodeCommit repository with SourceBuildInformation.
559//
560// Specify a build in an AWS CodeBuild with SourceBuildInformation and BuildConfiguration.
561//
562// Specify a source bundle in S3 with SourceBundle
563//
564// Omit both SourceBuildInformation and SourceBundle to use the default sample
565// application.
566//
567// After you create an application version with a specified Amazon S3 bucket
568// and key location, you can't change that Amazon S3 location. If you change
569// the Amazon S3 location, you receive an exception when you attempt to launch
570// an environment from the application version.
571//
572// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
573// with awserr.Error's Code and Message methods to get detailed information about
574// the error.
575//
576// See the AWS API reference guide for AWS Elastic Beanstalk's
577// API operation CreateApplicationVersion for usage and error information.
578//
579// Returned Error Codes:
580//   * ErrCodeTooManyApplicationsException "TooManyApplicationsException"
581//   The specified account has reached its limit of applications.
582//
583//   * ErrCodeTooManyApplicationVersionsException "TooManyApplicationVersionsException"
584//   The specified account has reached its limit of application versions.
585//
586//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
587//   The specified account does not have sufficient privileges for one or more
588//   AWS services.
589//
590//   * ErrCodeS3LocationNotInServiceRegionException "S3LocationNotInServiceRegionException"
591//   The specified S3 bucket does not belong to the S3 region in which the service
592//   is running. The following regions are supported:
593//
594//      * IAD/us-east-1
595//
596//      * PDX/us-west-2
597//
598//      * DUB/eu-west-1
599//
600//   * ErrCodeCodeBuildNotInServiceRegionException "CodeBuildNotInServiceRegionException"
601//   AWS CodeBuild is not available in the specified region.
602//
603// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateApplicationVersion
604func (c *ElasticBeanstalk) CreateApplicationVersion(input *CreateApplicationVersionInput) (*ApplicationVersionDescriptionMessage, error) {
605	req, out := c.CreateApplicationVersionRequest(input)
606	return out, req.Send()
607}
608
609// CreateApplicationVersionWithContext is the same as CreateApplicationVersion with the addition of
610// the ability to pass a context and additional request options.
611//
612// See CreateApplicationVersion for details on how to use this API operation.
613//
614// The context must be non-nil and will be used for request cancellation. If
615// the context is nil a panic will occur. In the future the SDK may create
616// sub-contexts for http.Requests. See https://golang.org/pkg/context/
617// for more information on using Contexts.
618func (c *ElasticBeanstalk) CreateApplicationVersionWithContext(ctx aws.Context, input *CreateApplicationVersionInput, opts ...request.Option) (*ApplicationVersionDescriptionMessage, error) {
619	req, out := c.CreateApplicationVersionRequest(input)
620	req.SetContext(ctx)
621	req.ApplyOptions(opts...)
622	return out, req.Send()
623}
624
625const opCreateConfigurationTemplate = "CreateConfigurationTemplate"
626
627// CreateConfigurationTemplateRequest generates a "aws/request.Request" representing the
628// client's request for the CreateConfigurationTemplate operation. The "output" return
629// value will be populated with the request's response once the request completes
630// successfully.
631//
632// Use "Send" method on the returned Request to send the API call to the service.
633// the "output" return value is not valid until after Send returns without error.
634//
635// See CreateConfigurationTemplate for more information on using the CreateConfigurationTemplate
636// API call, and error handling.
637//
638// This method is useful when you want to inject custom logic or configuration
639// into the SDK's request lifecycle. Such as custom headers, or retry logic.
640//
641//
642//    // Example sending a request using the CreateConfigurationTemplateRequest method.
643//    req, resp := client.CreateConfigurationTemplateRequest(params)
644//
645//    err := req.Send()
646//    if err == nil { // resp is now filled
647//        fmt.Println(resp)
648//    }
649//
650// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateConfigurationTemplate
651func (c *ElasticBeanstalk) CreateConfigurationTemplateRequest(input *CreateConfigurationTemplateInput) (req *request.Request, output *ConfigurationSettingsDescription) {
652	op := &request.Operation{
653		Name:       opCreateConfigurationTemplate,
654		HTTPMethod: "POST",
655		HTTPPath:   "/",
656	}
657
658	if input == nil {
659		input = &CreateConfigurationTemplateInput{}
660	}
661
662	output = &ConfigurationSettingsDescription{}
663	req = c.newRequest(op, input, output)
664	return
665}
666
667// CreateConfigurationTemplate API operation for AWS Elastic Beanstalk.
668//
669// Creates an AWS Elastic Beanstalk configuration template, associated with
670// a specific Elastic Beanstalk application. You define application configuration
671// settings in a configuration template. You can then use the configuration
672// template to deploy different versions of the application with the same configuration
673// settings.
674//
675// Templates aren't associated with any environment. The EnvironmentName response
676// element is always null.
677//
678// Related Topics
679//
680//    * DescribeConfigurationOptions
681//
682//    * DescribeConfigurationSettings
683//
684//    * ListAvailableSolutionStacks
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 CreateConfigurationTemplate for usage and error information.
692//
693// Returned Error Codes:
694//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
695//   The specified account does not have sufficient privileges for one or more
696//   AWS services.
697//
698//   * ErrCodeTooManyBucketsException "TooManyBucketsException"
699//   The specified account has reached its limit of Amazon S3 buckets.
700//
701//   * ErrCodeTooManyConfigurationTemplatesException "TooManyConfigurationTemplatesException"
702//   The specified account has reached its limit of configuration templates.
703//
704// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateConfigurationTemplate
705func (c *ElasticBeanstalk) CreateConfigurationTemplate(input *CreateConfigurationTemplateInput) (*ConfigurationSettingsDescription, error) {
706	req, out := c.CreateConfigurationTemplateRequest(input)
707	return out, req.Send()
708}
709
710// CreateConfigurationTemplateWithContext is the same as CreateConfigurationTemplate with the addition of
711// the ability to pass a context and additional request options.
712//
713// See CreateConfigurationTemplate for details on how to use this API operation.
714//
715// The context must be non-nil and will be used for request cancellation. If
716// the context is nil a panic will occur. In the future the SDK may create
717// sub-contexts for http.Requests. See https://golang.org/pkg/context/
718// for more information on using Contexts.
719func (c *ElasticBeanstalk) CreateConfigurationTemplateWithContext(ctx aws.Context, input *CreateConfigurationTemplateInput, opts ...request.Option) (*ConfigurationSettingsDescription, error) {
720	req, out := c.CreateConfigurationTemplateRequest(input)
721	req.SetContext(ctx)
722	req.ApplyOptions(opts...)
723	return out, req.Send()
724}
725
726const opCreateEnvironment = "CreateEnvironment"
727
728// CreateEnvironmentRequest generates a "aws/request.Request" representing the
729// client's request for the CreateEnvironment operation. The "output" return
730// value will be populated with the request's response once the request completes
731// successfully.
732//
733// Use "Send" method on the returned Request to send the API call to the service.
734// the "output" return value is not valid until after Send returns without error.
735//
736// See CreateEnvironment for more information on using the CreateEnvironment
737// API call, and error handling.
738//
739// This method is useful when you want to inject custom logic or configuration
740// into the SDK's request lifecycle. Such as custom headers, or retry logic.
741//
742//
743//    // Example sending a request using the CreateEnvironmentRequest method.
744//    req, resp := client.CreateEnvironmentRequest(params)
745//
746//    err := req.Send()
747//    if err == nil { // resp is now filled
748//        fmt.Println(resp)
749//    }
750//
751// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateEnvironment
752func (c *ElasticBeanstalk) CreateEnvironmentRequest(input *CreateEnvironmentInput) (req *request.Request, output *EnvironmentDescription) {
753	op := &request.Operation{
754		Name:       opCreateEnvironment,
755		HTTPMethod: "POST",
756		HTTPPath:   "/",
757	}
758
759	if input == nil {
760		input = &CreateEnvironmentInput{}
761	}
762
763	output = &EnvironmentDescription{}
764	req = c.newRequest(op, input, output)
765	return
766}
767
768// CreateEnvironment API operation for AWS Elastic Beanstalk.
769//
770// Launches an AWS Elastic Beanstalk environment for the specified application
771// using the specified configuration.
772//
773// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
774// with awserr.Error's Code and Message methods to get detailed information about
775// the error.
776//
777// See the AWS API reference guide for AWS Elastic Beanstalk's
778// API operation CreateEnvironment for usage and error information.
779//
780// Returned Error Codes:
781//   * ErrCodeTooManyEnvironmentsException "TooManyEnvironmentsException"
782//   The specified account has reached its limit of environments.
783//
784//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
785//   The specified account does not have sufficient privileges for one or more
786//   AWS services.
787//
788// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateEnvironment
789func (c *ElasticBeanstalk) CreateEnvironment(input *CreateEnvironmentInput) (*EnvironmentDescription, error) {
790	req, out := c.CreateEnvironmentRequest(input)
791	return out, req.Send()
792}
793
794// CreateEnvironmentWithContext is the same as CreateEnvironment with the addition of
795// the ability to pass a context and additional request options.
796//
797// See CreateEnvironment 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) CreateEnvironmentWithContext(ctx aws.Context, input *CreateEnvironmentInput, opts ...request.Option) (*EnvironmentDescription, error) {
804	req, out := c.CreateEnvironmentRequest(input)
805	req.SetContext(ctx)
806	req.ApplyOptions(opts...)
807	return out, req.Send()
808}
809
810const opCreatePlatformVersion = "CreatePlatformVersion"
811
812// CreatePlatformVersionRequest generates a "aws/request.Request" representing the
813// client's request for the CreatePlatformVersion 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 CreatePlatformVersion for more information on using the CreatePlatformVersion
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 CreatePlatformVersionRequest method.
828//    req, resp := client.CreatePlatformVersionRequest(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/CreatePlatformVersion
836func (c *ElasticBeanstalk) CreatePlatformVersionRequest(input *CreatePlatformVersionInput) (req *request.Request, output *CreatePlatformVersionOutput) {
837	op := &request.Operation{
838		Name:       opCreatePlatformVersion,
839		HTTPMethod: "POST",
840		HTTPPath:   "/",
841	}
842
843	if input == nil {
844		input = &CreatePlatformVersionInput{}
845	}
846
847	output = &CreatePlatformVersionOutput{}
848	req = c.newRequest(op, input, output)
849	return
850}
851
852// CreatePlatformVersion API operation for AWS Elastic Beanstalk.
853//
854// Create a new version of your custom platform.
855//
856// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
857// with awserr.Error's Code and Message methods to get detailed information about
858// the error.
859//
860// See the AWS API reference guide for AWS Elastic Beanstalk's
861// API operation CreatePlatformVersion for usage and error information.
862//
863// Returned Error Codes:
864//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
865//   The specified account does not have sufficient privileges for one or more
866//   AWS services.
867//
868//   * ErrCodeServiceException "ElasticBeanstalkServiceException"
869//   A generic service exception has occurred.
870//
871//   * ErrCodeTooManyPlatformsException "TooManyPlatformsException"
872//   You have exceeded the maximum number of allowed platforms associated with
873//   the account.
874//
875// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreatePlatformVersion
876func (c *ElasticBeanstalk) CreatePlatformVersion(input *CreatePlatformVersionInput) (*CreatePlatformVersionOutput, error) {
877	req, out := c.CreatePlatformVersionRequest(input)
878	return out, req.Send()
879}
880
881// CreatePlatformVersionWithContext is the same as CreatePlatformVersion with the addition of
882// the ability to pass a context and additional request options.
883//
884// See CreatePlatformVersion for details on how to use this API operation.
885//
886// The context must be non-nil and will be used for request cancellation. If
887// the context is nil a panic will occur. In the future the SDK may create
888// sub-contexts for http.Requests. See https://golang.org/pkg/context/
889// for more information on using Contexts.
890func (c *ElasticBeanstalk) CreatePlatformVersionWithContext(ctx aws.Context, input *CreatePlatformVersionInput, opts ...request.Option) (*CreatePlatformVersionOutput, error) {
891	req, out := c.CreatePlatformVersionRequest(input)
892	req.SetContext(ctx)
893	req.ApplyOptions(opts...)
894	return out, req.Send()
895}
896
897const opCreateStorageLocation = "CreateStorageLocation"
898
899// CreateStorageLocationRequest generates a "aws/request.Request" representing the
900// client's request for the CreateStorageLocation operation. The "output" return
901// value will be populated with the request's response once the request completes
902// successfully.
903//
904// Use "Send" method on the returned Request to send the API call to the service.
905// the "output" return value is not valid until after Send returns without error.
906//
907// See CreateStorageLocation for more information on using the CreateStorageLocation
908// API call, and error handling.
909//
910// This method is useful when you want to inject custom logic or configuration
911// into the SDK's request lifecycle. Such as custom headers, or retry logic.
912//
913//
914//    // Example sending a request using the CreateStorageLocationRequest method.
915//    req, resp := client.CreateStorageLocationRequest(params)
916//
917//    err := req.Send()
918//    if err == nil { // resp is now filled
919//        fmt.Println(resp)
920//    }
921//
922// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateStorageLocation
923func (c *ElasticBeanstalk) CreateStorageLocationRequest(input *CreateStorageLocationInput) (req *request.Request, output *CreateStorageLocationOutput) {
924	op := &request.Operation{
925		Name:       opCreateStorageLocation,
926		HTTPMethod: "POST",
927		HTTPPath:   "/",
928	}
929
930	if input == nil {
931		input = &CreateStorageLocationInput{}
932	}
933
934	output = &CreateStorageLocationOutput{}
935	req = c.newRequest(op, input, output)
936	return
937}
938
939// CreateStorageLocation API operation for AWS Elastic Beanstalk.
940//
941// Creates a bucket in Amazon S3 to store application versions, logs, and other
942// files used by Elastic Beanstalk environments. The Elastic Beanstalk console
943// and EB CLI call this API the first time you create an environment in a region.
944// If the storage location already exists, CreateStorageLocation still returns
945// the bucket name but does not create a new bucket.
946//
947// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
948// with awserr.Error's Code and Message methods to get detailed information about
949// the error.
950//
951// See the AWS API reference guide for AWS Elastic Beanstalk's
952// API operation CreateStorageLocation for usage and error information.
953//
954// Returned Error Codes:
955//   * ErrCodeTooManyBucketsException "TooManyBucketsException"
956//   The specified account has reached its limit of Amazon S3 buckets.
957//
958//   * ErrCodeS3SubscriptionRequiredException "S3SubscriptionRequiredException"
959//   The specified account does not have a subscription to Amazon S3.
960//
961//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
962//   The specified account does not have sufficient privileges for one or more
963//   AWS services.
964//
965// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/CreateStorageLocation
966func (c *ElasticBeanstalk) CreateStorageLocation(input *CreateStorageLocationInput) (*CreateStorageLocationOutput, error) {
967	req, out := c.CreateStorageLocationRequest(input)
968	return out, req.Send()
969}
970
971// CreateStorageLocationWithContext is the same as CreateStorageLocation with the addition of
972// the ability to pass a context and additional request options.
973//
974// See CreateStorageLocation for details on how to use this API operation.
975//
976// The context must be non-nil and will be used for request cancellation. If
977// the context is nil a panic will occur. In the future the SDK may create
978// sub-contexts for http.Requests. See https://golang.org/pkg/context/
979// for more information on using Contexts.
980func (c *ElasticBeanstalk) CreateStorageLocationWithContext(ctx aws.Context, input *CreateStorageLocationInput, opts ...request.Option) (*CreateStorageLocationOutput, error) {
981	req, out := c.CreateStorageLocationRequest(input)
982	req.SetContext(ctx)
983	req.ApplyOptions(opts...)
984	return out, req.Send()
985}
986
987const opDeleteApplication = "DeleteApplication"
988
989// DeleteApplicationRequest generates a "aws/request.Request" representing the
990// client's request for the DeleteApplication operation. The "output" return
991// value will be populated with the request's response once the request completes
992// successfully.
993//
994// Use "Send" method on the returned Request to send the API call to the service.
995// the "output" return value is not valid until after Send returns without error.
996//
997// See DeleteApplication for more information on using the DeleteApplication
998// API call, and error handling.
999//
1000// This method is useful when you want to inject custom logic or configuration
1001// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1002//
1003//
1004//    // Example sending a request using the DeleteApplicationRequest method.
1005//    req, resp := client.DeleteApplicationRequest(params)
1006//
1007//    err := req.Send()
1008//    if err == nil { // resp is now filled
1009//        fmt.Println(resp)
1010//    }
1011//
1012// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeleteApplication
1013func (c *ElasticBeanstalk) DeleteApplicationRequest(input *DeleteApplicationInput) (req *request.Request, output *DeleteApplicationOutput) {
1014	op := &request.Operation{
1015		Name:       opDeleteApplication,
1016		HTTPMethod: "POST",
1017		HTTPPath:   "/",
1018	}
1019
1020	if input == nil {
1021		input = &DeleteApplicationInput{}
1022	}
1023
1024	output = &DeleteApplicationOutput{}
1025	req = c.newRequest(op, input, output)
1026	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1027	return
1028}
1029
1030// DeleteApplication API operation for AWS Elastic Beanstalk.
1031//
1032// Deletes the specified application along with all associated versions and
1033// configurations. The application versions will not be deleted from your Amazon
1034// S3 bucket.
1035//
1036// You cannot delete an application that has a running environment.
1037//
1038// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1039// with awserr.Error's Code and Message methods to get detailed information about
1040// the error.
1041//
1042// See the AWS API reference guide for AWS Elastic Beanstalk's
1043// API operation DeleteApplication for usage and error information.
1044//
1045// Returned Error Codes:
1046//   * ErrCodeOperationInProgressException "OperationInProgressFailure"
1047//   Unable to perform the specified operation because another operation that
1048//   effects an element in this activity is already in progress.
1049//
1050// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeleteApplication
1051func (c *ElasticBeanstalk) DeleteApplication(input *DeleteApplicationInput) (*DeleteApplicationOutput, error) {
1052	req, out := c.DeleteApplicationRequest(input)
1053	return out, req.Send()
1054}
1055
1056// DeleteApplicationWithContext is the same as DeleteApplication with the addition of
1057// the ability to pass a context and additional request options.
1058//
1059// See DeleteApplication for details on how to use this API operation.
1060//
1061// The context must be non-nil and will be used for request cancellation. If
1062// the context is nil a panic will occur. In the future the SDK may create
1063// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1064// for more information on using Contexts.
1065func (c *ElasticBeanstalk) DeleteApplicationWithContext(ctx aws.Context, input *DeleteApplicationInput, opts ...request.Option) (*DeleteApplicationOutput, error) {
1066	req, out := c.DeleteApplicationRequest(input)
1067	req.SetContext(ctx)
1068	req.ApplyOptions(opts...)
1069	return out, req.Send()
1070}
1071
1072const opDeleteApplicationVersion = "DeleteApplicationVersion"
1073
1074// DeleteApplicationVersionRequest generates a "aws/request.Request" representing the
1075// client's request for the DeleteApplicationVersion operation. The "output" return
1076// value will be populated with the request's response once the request completes
1077// successfully.
1078//
1079// Use "Send" method on the returned Request to send the API call to the service.
1080// the "output" return value is not valid until after Send returns without error.
1081//
1082// See DeleteApplicationVersion for more information on using the DeleteApplicationVersion
1083// API call, and error handling.
1084//
1085// This method is useful when you want to inject custom logic or configuration
1086// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1087//
1088//
1089//    // Example sending a request using the DeleteApplicationVersionRequest method.
1090//    req, resp := client.DeleteApplicationVersionRequest(params)
1091//
1092//    err := req.Send()
1093//    if err == nil { // resp is now filled
1094//        fmt.Println(resp)
1095//    }
1096//
1097// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeleteApplicationVersion
1098func (c *ElasticBeanstalk) DeleteApplicationVersionRequest(input *DeleteApplicationVersionInput) (req *request.Request, output *DeleteApplicationVersionOutput) {
1099	op := &request.Operation{
1100		Name:       opDeleteApplicationVersion,
1101		HTTPMethod: "POST",
1102		HTTPPath:   "/",
1103	}
1104
1105	if input == nil {
1106		input = &DeleteApplicationVersionInput{}
1107	}
1108
1109	output = &DeleteApplicationVersionOutput{}
1110	req = c.newRequest(op, input, output)
1111	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1112	return
1113}
1114
1115// DeleteApplicationVersion API operation for AWS Elastic Beanstalk.
1116//
1117// Deletes the specified version from the specified application.
1118//
1119// You cannot delete an application version that is associated with a running
1120// environment.
1121//
1122// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1123// with awserr.Error's Code and Message methods to get detailed information about
1124// the error.
1125//
1126// See the AWS API reference guide for AWS Elastic Beanstalk's
1127// API operation DeleteApplicationVersion for usage and error information.
1128//
1129// Returned Error Codes:
1130//   * ErrCodeSourceBundleDeletionException "SourceBundleDeletionFailure"
1131//   Unable to delete the Amazon S3 source bundle associated with the application
1132//   version. The application version was deleted successfully.
1133//
1134//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
1135//   The specified account does not have sufficient privileges for one or more
1136//   AWS services.
1137//
1138//   * ErrCodeOperationInProgressException "OperationInProgressFailure"
1139//   Unable to perform the specified operation because another operation that
1140//   effects an element in this activity is already in progress.
1141//
1142//   * ErrCodeS3LocationNotInServiceRegionException "S3LocationNotInServiceRegionException"
1143//   The specified S3 bucket does not belong to the S3 region in which the service
1144//   is running. The following regions are supported:
1145//
1146//      * IAD/us-east-1
1147//
1148//      * PDX/us-west-2
1149//
1150//      * DUB/eu-west-1
1151//
1152// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeleteApplicationVersion
1153func (c *ElasticBeanstalk) DeleteApplicationVersion(input *DeleteApplicationVersionInput) (*DeleteApplicationVersionOutput, error) {
1154	req, out := c.DeleteApplicationVersionRequest(input)
1155	return out, req.Send()
1156}
1157
1158// DeleteApplicationVersionWithContext is the same as DeleteApplicationVersion with the addition of
1159// the ability to pass a context and additional request options.
1160//
1161// See DeleteApplicationVersion for details on how to use this API operation.
1162//
1163// The context must be non-nil and will be used for request cancellation. If
1164// the context is nil a panic will occur. In the future the SDK may create
1165// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1166// for more information on using Contexts.
1167func (c *ElasticBeanstalk) DeleteApplicationVersionWithContext(ctx aws.Context, input *DeleteApplicationVersionInput, opts ...request.Option) (*DeleteApplicationVersionOutput, error) {
1168	req, out := c.DeleteApplicationVersionRequest(input)
1169	req.SetContext(ctx)
1170	req.ApplyOptions(opts...)
1171	return out, req.Send()
1172}
1173
1174const opDeleteConfigurationTemplate = "DeleteConfigurationTemplate"
1175
1176// DeleteConfigurationTemplateRequest generates a "aws/request.Request" representing the
1177// client's request for the DeleteConfigurationTemplate operation. The "output" return
1178// value will be populated with the request's response once the request completes
1179// successfully.
1180//
1181// Use "Send" method on the returned Request to send the API call to the service.
1182// the "output" return value is not valid until after Send returns without error.
1183//
1184// See DeleteConfigurationTemplate for more information on using the DeleteConfigurationTemplate
1185// API call, and error handling.
1186//
1187// This method is useful when you want to inject custom logic or configuration
1188// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1189//
1190//
1191//    // Example sending a request using the DeleteConfigurationTemplateRequest method.
1192//    req, resp := client.DeleteConfigurationTemplateRequest(params)
1193//
1194//    err := req.Send()
1195//    if err == nil { // resp is now filled
1196//        fmt.Println(resp)
1197//    }
1198//
1199// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeleteConfigurationTemplate
1200func (c *ElasticBeanstalk) DeleteConfigurationTemplateRequest(input *DeleteConfigurationTemplateInput) (req *request.Request, output *DeleteConfigurationTemplateOutput) {
1201	op := &request.Operation{
1202		Name:       opDeleteConfigurationTemplate,
1203		HTTPMethod: "POST",
1204		HTTPPath:   "/",
1205	}
1206
1207	if input == nil {
1208		input = &DeleteConfigurationTemplateInput{}
1209	}
1210
1211	output = &DeleteConfigurationTemplateOutput{}
1212	req = c.newRequest(op, input, output)
1213	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1214	return
1215}
1216
1217// DeleteConfigurationTemplate API operation for AWS Elastic Beanstalk.
1218//
1219// Deletes the specified configuration template.
1220//
1221// When you launch an environment using a configuration template, the environment
1222// gets a copy of the template. You can delete or modify the environment's copy
1223// of the template without affecting the running environment.
1224//
1225// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1226// with awserr.Error's Code and Message methods to get detailed information about
1227// the error.
1228//
1229// See the AWS API reference guide for AWS Elastic Beanstalk's
1230// API operation DeleteConfigurationTemplate for usage and error information.
1231//
1232// Returned Error Codes:
1233//   * ErrCodeOperationInProgressException "OperationInProgressFailure"
1234//   Unable to perform the specified operation because another operation that
1235//   effects an element in this activity is already in progress.
1236//
1237// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeleteConfigurationTemplate
1238func (c *ElasticBeanstalk) DeleteConfigurationTemplate(input *DeleteConfigurationTemplateInput) (*DeleteConfigurationTemplateOutput, error) {
1239	req, out := c.DeleteConfigurationTemplateRequest(input)
1240	return out, req.Send()
1241}
1242
1243// DeleteConfigurationTemplateWithContext is the same as DeleteConfigurationTemplate with the addition of
1244// the ability to pass a context and additional request options.
1245//
1246// See DeleteConfigurationTemplate for details on how to use this API operation.
1247//
1248// The context must be non-nil and will be used for request cancellation. If
1249// the context is nil a panic will occur. In the future the SDK may create
1250// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1251// for more information on using Contexts.
1252func (c *ElasticBeanstalk) DeleteConfigurationTemplateWithContext(ctx aws.Context, input *DeleteConfigurationTemplateInput, opts ...request.Option) (*DeleteConfigurationTemplateOutput, error) {
1253	req, out := c.DeleteConfigurationTemplateRequest(input)
1254	req.SetContext(ctx)
1255	req.ApplyOptions(opts...)
1256	return out, req.Send()
1257}
1258
1259const opDeleteEnvironmentConfiguration = "DeleteEnvironmentConfiguration"
1260
1261// DeleteEnvironmentConfigurationRequest generates a "aws/request.Request" representing the
1262// client's request for the DeleteEnvironmentConfiguration operation. The "output" return
1263// value will be populated with the request's response once the request completes
1264// successfully.
1265//
1266// Use "Send" method on the returned Request to send the API call to the service.
1267// the "output" return value is not valid until after Send returns without error.
1268//
1269// See DeleteEnvironmentConfiguration for more information on using the DeleteEnvironmentConfiguration
1270// API call, and error handling.
1271//
1272// This method is useful when you want to inject custom logic or configuration
1273// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1274//
1275//
1276//    // Example sending a request using the DeleteEnvironmentConfigurationRequest method.
1277//    req, resp := client.DeleteEnvironmentConfigurationRequest(params)
1278//
1279//    err := req.Send()
1280//    if err == nil { // resp is now filled
1281//        fmt.Println(resp)
1282//    }
1283//
1284// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeleteEnvironmentConfiguration
1285func (c *ElasticBeanstalk) DeleteEnvironmentConfigurationRequest(input *DeleteEnvironmentConfigurationInput) (req *request.Request, output *DeleteEnvironmentConfigurationOutput) {
1286	op := &request.Operation{
1287		Name:       opDeleteEnvironmentConfiguration,
1288		HTTPMethod: "POST",
1289		HTTPPath:   "/",
1290	}
1291
1292	if input == nil {
1293		input = &DeleteEnvironmentConfigurationInput{}
1294	}
1295
1296	output = &DeleteEnvironmentConfigurationOutput{}
1297	req = c.newRequest(op, input, output)
1298	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1299	return
1300}
1301
1302// DeleteEnvironmentConfiguration API operation for AWS Elastic Beanstalk.
1303//
1304// Deletes the draft configuration associated with the running environment.
1305//
1306// Updating a running environment with any configuration changes creates a draft
1307// configuration set. You can get the draft configuration using DescribeConfigurationSettings
1308// while the update is in progress or if the update fails. The DeploymentStatus
1309// for the draft configuration indicates whether the deployment is in process
1310// or has failed. The draft configuration remains in existence until it is deleted
1311// with this action.
1312//
1313// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1314// with awserr.Error's Code and Message methods to get detailed information about
1315// the error.
1316//
1317// See the AWS API reference guide for AWS Elastic Beanstalk's
1318// API operation DeleteEnvironmentConfiguration for usage and error information.
1319// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeleteEnvironmentConfiguration
1320func (c *ElasticBeanstalk) DeleteEnvironmentConfiguration(input *DeleteEnvironmentConfigurationInput) (*DeleteEnvironmentConfigurationOutput, error) {
1321	req, out := c.DeleteEnvironmentConfigurationRequest(input)
1322	return out, req.Send()
1323}
1324
1325// DeleteEnvironmentConfigurationWithContext is the same as DeleteEnvironmentConfiguration with the addition of
1326// the ability to pass a context and additional request options.
1327//
1328// See DeleteEnvironmentConfiguration for details on how to use this API operation.
1329//
1330// The context must be non-nil and will be used for request cancellation. If
1331// the context is nil a panic will occur. In the future the SDK may create
1332// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1333// for more information on using Contexts.
1334func (c *ElasticBeanstalk) DeleteEnvironmentConfigurationWithContext(ctx aws.Context, input *DeleteEnvironmentConfigurationInput, opts ...request.Option) (*DeleteEnvironmentConfigurationOutput, error) {
1335	req, out := c.DeleteEnvironmentConfigurationRequest(input)
1336	req.SetContext(ctx)
1337	req.ApplyOptions(opts...)
1338	return out, req.Send()
1339}
1340
1341const opDeletePlatformVersion = "DeletePlatformVersion"
1342
1343// DeletePlatformVersionRequest generates a "aws/request.Request" representing the
1344// client's request for the DeletePlatformVersion operation. The "output" return
1345// value will be populated with the request's response once the request completes
1346// successfully.
1347//
1348// Use "Send" method on the returned Request to send the API call to the service.
1349// the "output" return value is not valid until after Send returns without error.
1350//
1351// See DeletePlatformVersion for more information on using the DeletePlatformVersion
1352// API call, and error handling.
1353//
1354// This method is useful when you want to inject custom logic or configuration
1355// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1356//
1357//
1358//    // Example sending a request using the DeletePlatformVersionRequest method.
1359//    req, resp := client.DeletePlatformVersionRequest(params)
1360//
1361//    err := req.Send()
1362//    if err == nil { // resp is now filled
1363//        fmt.Println(resp)
1364//    }
1365//
1366// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeletePlatformVersion
1367func (c *ElasticBeanstalk) DeletePlatformVersionRequest(input *DeletePlatformVersionInput) (req *request.Request, output *DeletePlatformVersionOutput) {
1368	op := &request.Operation{
1369		Name:       opDeletePlatformVersion,
1370		HTTPMethod: "POST",
1371		HTTPPath:   "/",
1372	}
1373
1374	if input == nil {
1375		input = &DeletePlatformVersionInput{}
1376	}
1377
1378	output = &DeletePlatformVersionOutput{}
1379	req = c.newRequest(op, input, output)
1380	return
1381}
1382
1383// DeletePlatformVersion API operation for AWS Elastic Beanstalk.
1384//
1385// Deletes the specified version of a custom platform.
1386//
1387// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1388// with awserr.Error's Code and Message methods to get detailed information about
1389// the error.
1390//
1391// See the AWS API reference guide for AWS Elastic Beanstalk's
1392// API operation DeletePlatformVersion for usage and error information.
1393//
1394// Returned Error Codes:
1395//   * ErrCodeOperationInProgressException "OperationInProgressFailure"
1396//   Unable to perform the specified operation because another operation that
1397//   effects an element in this activity is already in progress.
1398//
1399//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
1400//   The specified account does not have sufficient privileges for one or more
1401//   AWS services.
1402//
1403//   * ErrCodeServiceException "ElasticBeanstalkServiceException"
1404//   A generic service exception has occurred.
1405//
1406//   * ErrCodePlatformVersionStillReferencedException "PlatformVersionStillReferencedException"
1407//   You cannot delete the platform version because there are still environments
1408//   running on it.
1409//
1410// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DeletePlatformVersion
1411func (c *ElasticBeanstalk) DeletePlatformVersion(input *DeletePlatformVersionInput) (*DeletePlatformVersionOutput, error) {
1412	req, out := c.DeletePlatformVersionRequest(input)
1413	return out, req.Send()
1414}
1415
1416// DeletePlatformVersionWithContext is the same as DeletePlatformVersion with the addition of
1417// the ability to pass a context and additional request options.
1418//
1419// See DeletePlatformVersion for details on how to use this API operation.
1420//
1421// The context must be non-nil and will be used for request cancellation. If
1422// the context is nil a panic will occur. In the future the SDK may create
1423// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1424// for more information on using Contexts.
1425func (c *ElasticBeanstalk) DeletePlatformVersionWithContext(ctx aws.Context, input *DeletePlatformVersionInput, opts ...request.Option) (*DeletePlatformVersionOutput, error) {
1426	req, out := c.DeletePlatformVersionRequest(input)
1427	req.SetContext(ctx)
1428	req.ApplyOptions(opts...)
1429	return out, req.Send()
1430}
1431
1432const opDescribeAccountAttributes = "DescribeAccountAttributes"
1433
1434// DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
1435// client's request for the DescribeAccountAttributes operation. The "output" return
1436// value will be populated with the request's response once the request completes
1437// successfully.
1438//
1439// Use "Send" method on the returned Request to send the API call to the service.
1440// the "output" return value is not valid until after Send returns without error.
1441//
1442// See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
1443// API call, and error handling.
1444//
1445// This method is useful when you want to inject custom logic or configuration
1446// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1447//
1448//
1449//    // Example sending a request using the DescribeAccountAttributesRequest method.
1450//    req, resp := client.DescribeAccountAttributesRequest(params)
1451//
1452//    err := req.Send()
1453//    if err == nil { // resp is now filled
1454//        fmt.Println(resp)
1455//    }
1456//
1457// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeAccountAttributes
1458func (c *ElasticBeanstalk) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
1459	op := &request.Operation{
1460		Name:       opDescribeAccountAttributes,
1461		HTTPMethod: "POST",
1462		HTTPPath:   "/",
1463	}
1464
1465	if input == nil {
1466		input = &DescribeAccountAttributesInput{}
1467	}
1468
1469	output = &DescribeAccountAttributesOutput{}
1470	req = c.newRequest(op, input, output)
1471	return
1472}
1473
1474// DescribeAccountAttributes API operation for AWS Elastic Beanstalk.
1475//
1476// Returns attributes related to AWS Elastic Beanstalk that are associated with
1477// the calling AWS account.
1478//
1479// The result currently has one set of attributes—resource quotas.
1480//
1481// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1482// with awserr.Error's Code and Message methods to get detailed information about
1483// the error.
1484//
1485// See the AWS API reference guide for AWS Elastic Beanstalk's
1486// API operation DescribeAccountAttributes for usage and error information.
1487//
1488// Returned Error Codes:
1489//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
1490//   The specified account does not have sufficient privileges for one or more
1491//   AWS services.
1492//
1493// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeAccountAttributes
1494func (c *ElasticBeanstalk) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
1495	req, out := c.DescribeAccountAttributesRequest(input)
1496	return out, req.Send()
1497}
1498
1499// DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
1500// the ability to pass a context and additional request options.
1501//
1502// See DescribeAccountAttributes for details on how to use this API operation.
1503//
1504// The context must be non-nil and will be used for request cancellation. If
1505// the context is nil a panic will occur. In the future the SDK may create
1506// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1507// for more information on using Contexts.
1508func (c *ElasticBeanstalk) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
1509	req, out := c.DescribeAccountAttributesRequest(input)
1510	req.SetContext(ctx)
1511	req.ApplyOptions(opts...)
1512	return out, req.Send()
1513}
1514
1515const opDescribeApplicationVersions = "DescribeApplicationVersions"
1516
1517// DescribeApplicationVersionsRequest generates a "aws/request.Request" representing the
1518// client's request for the DescribeApplicationVersions operation. The "output" return
1519// value will be populated with the request's response once the request completes
1520// successfully.
1521//
1522// Use "Send" method on the returned Request to send the API call to the service.
1523// the "output" return value is not valid until after Send returns without error.
1524//
1525// See DescribeApplicationVersions for more information on using the DescribeApplicationVersions
1526// API call, and error handling.
1527//
1528// This method is useful when you want to inject custom logic or configuration
1529// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1530//
1531//
1532//    // Example sending a request using the DescribeApplicationVersionsRequest method.
1533//    req, resp := client.DescribeApplicationVersionsRequest(params)
1534//
1535//    err := req.Send()
1536//    if err == nil { // resp is now filled
1537//        fmt.Println(resp)
1538//    }
1539//
1540// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeApplicationVersions
1541func (c *ElasticBeanstalk) DescribeApplicationVersionsRequest(input *DescribeApplicationVersionsInput) (req *request.Request, output *DescribeApplicationVersionsOutput) {
1542	op := &request.Operation{
1543		Name:       opDescribeApplicationVersions,
1544		HTTPMethod: "POST",
1545		HTTPPath:   "/",
1546	}
1547
1548	if input == nil {
1549		input = &DescribeApplicationVersionsInput{}
1550	}
1551
1552	output = &DescribeApplicationVersionsOutput{}
1553	req = c.newRequest(op, input, output)
1554	return
1555}
1556
1557// DescribeApplicationVersions API operation for AWS Elastic Beanstalk.
1558//
1559// Retrieve a list of application versions.
1560//
1561// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1562// with awserr.Error's Code and Message methods to get detailed information about
1563// the error.
1564//
1565// See the AWS API reference guide for AWS Elastic Beanstalk's
1566// API operation DescribeApplicationVersions for usage and error information.
1567// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeApplicationVersions
1568func (c *ElasticBeanstalk) DescribeApplicationVersions(input *DescribeApplicationVersionsInput) (*DescribeApplicationVersionsOutput, error) {
1569	req, out := c.DescribeApplicationVersionsRequest(input)
1570	return out, req.Send()
1571}
1572
1573// DescribeApplicationVersionsWithContext is the same as DescribeApplicationVersions with the addition of
1574// the ability to pass a context and additional request options.
1575//
1576// See DescribeApplicationVersions for details on how to use this API operation.
1577//
1578// The context must be non-nil and will be used for request cancellation. If
1579// the context is nil a panic will occur. In the future the SDK may create
1580// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1581// for more information on using Contexts.
1582func (c *ElasticBeanstalk) DescribeApplicationVersionsWithContext(ctx aws.Context, input *DescribeApplicationVersionsInput, opts ...request.Option) (*DescribeApplicationVersionsOutput, error) {
1583	req, out := c.DescribeApplicationVersionsRequest(input)
1584	req.SetContext(ctx)
1585	req.ApplyOptions(opts...)
1586	return out, req.Send()
1587}
1588
1589const opDescribeApplications = "DescribeApplications"
1590
1591// DescribeApplicationsRequest generates a "aws/request.Request" representing the
1592// client's request for the DescribeApplications operation. The "output" return
1593// value will be populated with the request's response once the request completes
1594// successfully.
1595//
1596// Use "Send" method on the returned Request to send the API call to the service.
1597// the "output" return value is not valid until after Send returns without error.
1598//
1599// See DescribeApplications for more information on using the DescribeApplications
1600// API call, and error handling.
1601//
1602// This method is useful when you want to inject custom logic or configuration
1603// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1604//
1605//
1606//    // Example sending a request using the DescribeApplicationsRequest method.
1607//    req, resp := client.DescribeApplicationsRequest(params)
1608//
1609//    err := req.Send()
1610//    if err == nil { // resp is now filled
1611//        fmt.Println(resp)
1612//    }
1613//
1614// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeApplications
1615func (c *ElasticBeanstalk) DescribeApplicationsRequest(input *DescribeApplicationsInput) (req *request.Request, output *DescribeApplicationsOutput) {
1616	op := &request.Operation{
1617		Name:       opDescribeApplications,
1618		HTTPMethod: "POST",
1619		HTTPPath:   "/",
1620	}
1621
1622	if input == nil {
1623		input = &DescribeApplicationsInput{}
1624	}
1625
1626	output = &DescribeApplicationsOutput{}
1627	req = c.newRequest(op, input, output)
1628	return
1629}
1630
1631// DescribeApplications API operation for AWS Elastic Beanstalk.
1632//
1633// Returns the descriptions of existing applications.
1634//
1635// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1636// with awserr.Error's Code and Message methods to get detailed information about
1637// the error.
1638//
1639// See the AWS API reference guide for AWS Elastic Beanstalk's
1640// API operation DescribeApplications for usage and error information.
1641// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeApplications
1642func (c *ElasticBeanstalk) DescribeApplications(input *DescribeApplicationsInput) (*DescribeApplicationsOutput, error) {
1643	req, out := c.DescribeApplicationsRequest(input)
1644	return out, req.Send()
1645}
1646
1647// DescribeApplicationsWithContext is the same as DescribeApplications with the addition of
1648// the ability to pass a context and additional request options.
1649//
1650// See DescribeApplications for details on how to use this API operation.
1651//
1652// The context must be non-nil and will be used for request cancellation. If
1653// the context is nil a panic will occur. In the future the SDK may create
1654// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1655// for more information on using Contexts.
1656func (c *ElasticBeanstalk) DescribeApplicationsWithContext(ctx aws.Context, input *DescribeApplicationsInput, opts ...request.Option) (*DescribeApplicationsOutput, error) {
1657	req, out := c.DescribeApplicationsRequest(input)
1658	req.SetContext(ctx)
1659	req.ApplyOptions(opts...)
1660	return out, req.Send()
1661}
1662
1663const opDescribeConfigurationOptions = "DescribeConfigurationOptions"
1664
1665// DescribeConfigurationOptionsRequest generates a "aws/request.Request" representing the
1666// client's request for the DescribeConfigurationOptions operation. The "output" return
1667// value will be populated with the request's response once the request completes
1668// successfully.
1669//
1670// Use "Send" method on the returned Request to send the API call to the service.
1671// the "output" return value is not valid until after Send returns without error.
1672//
1673// See DescribeConfigurationOptions for more information on using the DescribeConfigurationOptions
1674// API call, and error handling.
1675//
1676// This method is useful when you want to inject custom logic or configuration
1677// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1678//
1679//
1680//    // Example sending a request using the DescribeConfigurationOptionsRequest method.
1681//    req, resp := client.DescribeConfigurationOptionsRequest(params)
1682//
1683//    err := req.Send()
1684//    if err == nil { // resp is now filled
1685//        fmt.Println(resp)
1686//    }
1687//
1688// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeConfigurationOptions
1689func (c *ElasticBeanstalk) DescribeConfigurationOptionsRequest(input *DescribeConfigurationOptionsInput) (req *request.Request, output *DescribeConfigurationOptionsOutput) {
1690	op := &request.Operation{
1691		Name:       opDescribeConfigurationOptions,
1692		HTTPMethod: "POST",
1693		HTTPPath:   "/",
1694	}
1695
1696	if input == nil {
1697		input = &DescribeConfigurationOptionsInput{}
1698	}
1699
1700	output = &DescribeConfigurationOptionsOutput{}
1701	req = c.newRequest(op, input, output)
1702	return
1703}
1704
1705// DescribeConfigurationOptions API operation for AWS Elastic Beanstalk.
1706//
1707// Describes the configuration options that are used in a particular configuration
1708// template or environment, or that a specified solution stack defines. The
1709// description includes the values the options, their default values, and an
1710// indication of the required action on a running environment if an option value
1711// is changed.
1712//
1713// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1714// with awserr.Error's Code and Message methods to get detailed information about
1715// the error.
1716//
1717// See the AWS API reference guide for AWS Elastic Beanstalk's
1718// API operation DescribeConfigurationOptions for usage and error information.
1719//
1720// Returned Error Codes:
1721//   * ErrCodeTooManyBucketsException "TooManyBucketsException"
1722//   The specified account has reached its limit of Amazon S3 buckets.
1723//
1724// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeConfigurationOptions
1725func (c *ElasticBeanstalk) DescribeConfigurationOptions(input *DescribeConfigurationOptionsInput) (*DescribeConfigurationOptionsOutput, error) {
1726	req, out := c.DescribeConfigurationOptionsRequest(input)
1727	return out, req.Send()
1728}
1729
1730// DescribeConfigurationOptionsWithContext is the same as DescribeConfigurationOptions with the addition of
1731// the ability to pass a context and additional request options.
1732//
1733// See DescribeConfigurationOptions for details on how to use this API operation.
1734//
1735// The context must be non-nil and will be used for request cancellation. If
1736// the context is nil a panic will occur. In the future the SDK may create
1737// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1738// for more information on using Contexts.
1739func (c *ElasticBeanstalk) DescribeConfigurationOptionsWithContext(ctx aws.Context, input *DescribeConfigurationOptionsInput, opts ...request.Option) (*DescribeConfigurationOptionsOutput, error) {
1740	req, out := c.DescribeConfigurationOptionsRequest(input)
1741	req.SetContext(ctx)
1742	req.ApplyOptions(opts...)
1743	return out, req.Send()
1744}
1745
1746const opDescribeConfigurationSettings = "DescribeConfigurationSettings"
1747
1748// DescribeConfigurationSettingsRequest generates a "aws/request.Request" representing the
1749// client's request for the DescribeConfigurationSettings operation. The "output" return
1750// value will be populated with the request's response once the request completes
1751// successfully.
1752//
1753// Use "Send" method on the returned Request to send the API call to the service.
1754// the "output" return value is not valid until after Send returns without error.
1755//
1756// See DescribeConfigurationSettings for more information on using the DescribeConfigurationSettings
1757// API call, and error handling.
1758//
1759// This method is useful when you want to inject custom logic or configuration
1760// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1761//
1762//
1763//    // Example sending a request using the DescribeConfigurationSettingsRequest method.
1764//    req, resp := client.DescribeConfigurationSettingsRequest(params)
1765//
1766//    err := req.Send()
1767//    if err == nil { // resp is now filled
1768//        fmt.Println(resp)
1769//    }
1770//
1771// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeConfigurationSettings
1772func (c *ElasticBeanstalk) DescribeConfigurationSettingsRequest(input *DescribeConfigurationSettingsInput) (req *request.Request, output *DescribeConfigurationSettingsOutput) {
1773	op := &request.Operation{
1774		Name:       opDescribeConfigurationSettings,
1775		HTTPMethod: "POST",
1776		HTTPPath:   "/",
1777	}
1778
1779	if input == nil {
1780		input = &DescribeConfigurationSettingsInput{}
1781	}
1782
1783	output = &DescribeConfigurationSettingsOutput{}
1784	req = c.newRequest(op, input, output)
1785	return
1786}
1787
1788// DescribeConfigurationSettings API operation for AWS Elastic Beanstalk.
1789//
1790// Returns a description of the settings for the specified configuration set,
1791// that is, either a configuration template or the configuration set associated
1792// with a running environment.
1793//
1794// When describing the settings for the configuration set associated with a
1795// running environment, it is possible to receive two sets of setting descriptions.
1796// One is the deployed configuration set, and the other is a draft configuration
1797// of an environment that is either in the process of deployment or that failed
1798// to deploy.
1799//
1800// Related Topics
1801//
1802//    * DeleteEnvironmentConfiguration
1803//
1804// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1805// with awserr.Error's Code and Message methods to get detailed information about
1806// the error.
1807//
1808// See the AWS API reference guide for AWS Elastic Beanstalk's
1809// API operation DescribeConfigurationSettings for usage and error information.
1810//
1811// Returned Error Codes:
1812//   * ErrCodeTooManyBucketsException "TooManyBucketsException"
1813//   The specified account has reached its limit of Amazon S3 buckets.
1814//
1815// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeConfigurationSettings
1816func (c *ElasticBeanstalk) DescribeConfigurationSettings(input *DescribeConfigurationSettingsInput) (*DescribeConfigurationSettingsOutput, error) {
1817	req, out := c.DescribeConfigurationSettingsRequest(input)
1818	return out, req.Send()
1819}
1820
1821// DescribeConfigurationSettingsWithContext is the same as DescribeConfigurationSettings with the addition of
1822// the ability to pass a context and additional request options.
1823//
1824// See DescribeConfigurationSettings for details on how to use this API operation.
1825//
1826// The context must be non-nil and will be used for request cancellation. If
1827// the context is nil a panic will occur. In the future the SDK may create
1828// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1829// for more information on using Contexts.
1830func (c *ElasticBeanstalk) DescribeConfigurationSettingsWithContext(ctx aws.Context, input *DescribeConfigurationSettingsInput, opts ...request.Option) (*DescribeConfigurationSettingsOutput, error) {
1831	req, out := c.DescribeConfigurationSettingsRequest(input)
1832	req.SetContext(ctx)
1833	req.ApplyOptions(opts...)
1834	return out, req.Send()
1835}
1836
1837const opDescribeEnvironmentHealth = "DescribeEnvironmentHealth"
1838
1839// DescribeEnvironmentHealthRequest generates a "aws/request.Request" representing the
1840// client's request for the DescribeEnvironmentHealth operation. The "output" return
1841// value will be populated with the request's response once the request completes
1842// successfully.
1843//
1844// Use "Send" method on the returned Request to send the API call to the service.
1845// the "output" return value is not valid until after Send returns without error.
1846//
1847// See DescribeEnvironmentHealth for more information on using the DescribeEnvironmentHealth
1848// API call, and error handling.
1849//
1850// This method is useful when you want to inject custom logic or configuration
1851// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1852//
1853//
1854//    // Example sending a request using the DescribeEnvironmentHealthRequest method.
1855//    req, resp := client.DescribeEnvironmentHealthRequest(params)
1856//
1857//    err := req.Send()
1858//    if err == nil { // resp is now filled
1859//        fmt.Println(resp)
1860//    }
1861//
1862// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironmentHealth
1863func (c *ElasticBeanstalk) DescribeEnvironmentHealthRequest(input *DescribeEnvironmentHealthInput) (req *request.Request, output *DescribeEnvironmentHealthOutput) {
1864	op := &request.Operation{
1865		Name:       opDescribeEnvironmentHealth,
1866		HTTPMethod: "POST",
1867		HTTPPath:   "/",
1868	}
1869
1870	if input == nil {
1871		input = &DescribeEnvironmentHealthInput{}
1872	}
1873
1874	output = &DescribeEnvironmentHealthOutput{}
1875	req = c.newRequest(op, input, output)
1876	return
1877}
1878
1879// DescribeEnvironmentHealth API operation for AWS Elastic Beanstalk.
1880//
1881// Returns information about the overall health of the specified environment.
1882// The DescribeEnvironmentHealth operation is only available with AWS Elastic
1883// Beanstalk Enhanced Health.
1884//
1885// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1886// with awserr.Error's Code and Message methods to get detailed information about
1887// the error.
1888//
1889// See the AWS API reference guide for AWS Elastic Beanstalk's
1890// API operation DescribeEnvironmentHealth for usage and error information.
1891//
1892// Returned Error Codes:
1893//   * ErrCodeInvalidRequestException "InvalidRequestException"
1894//   One or more input parameters is not valid. Please correct the input parameters
1895//   and try the operation again.
1896//
1897//   * ErrCodeServiceException "ElasticBeanstalkServiceException"
1898//   A generic service exception has occurred.
1899//
1900// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironmentHealth
1901func (c *ElasticBeanstalk) DescribeEnvironmentHealth(input *DescribeEnvironmentHealthInput) (*DescribeEnvironmentHealthOutput, error) {
1902	req, out := c.DescribeEnvironmentHealthRequest(input)
1903	return out, req.Send()
1904}
1905
1906// DescribeEnvironmentHealthWithContext is the same as DescribeEnvironmentHealth with the addition of
1907// the ability to pass a context and additional request options.
1908//
1909// See DescribeEnvironmentHealth for details on how to use this API operation.
1910//
1911// The context must be non-nil and will be used for request cancellation. If
1912// the context is nil a panic will occur. In the future the SDK may create
1913// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1914// for more information on using Contexts.
1915func (c *ElasticBeanstalk) DescribeEnvironmentHealthWithContext(ctx aws.Context, input *DescribeEnvironmentHealthInput, opts ...request.Option) (*DescribeEnvironmentHealthOutput, error) {
1916	req, out := c.DescribeEnvironmentHealthRequest(input)
1917	req.SetContext(ctx)
1918	req.ApplyOptions(opts...)
1919	return out, req.Send()
1920}
1921
1922const opDescribeEnvironmentManagedActionHistory = "DescribeEnvironmentManagedActionHistory"
1923
1924// DescribeEnvironmentManagedActionHistoryRequest generates a "aws/request.Request" representing the
1925// client's request for the DescribeEnvironmentManagedActionHistory operation. The "output" return
1926// value will be populated with the request's response once the request completes
1927// successfully.
1928//
1929// Use "Send" method on the returned Request to send the API call to the service.
1930// the "output" return value is not valid until after Send returns without error.
1931//
1932// See DescribeEnvironmentManagedActionHistory for more information on using the DescribeEnvironmentManagedActionHistory
1933// API call, and error handling.
1934//
1935// This method is useful when you want to inject custom logic or configuration
1936// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1937//
1938//
1939//    // Example sending a request using the DescribeEnvironmentManagedActionHistoryRequest method.
1940//    req, resp := client.DescribeEnvironmentManagedActionHistoryRequest(params)
1941//
1942//    err := req.Send()
1943//    if err == nil { // resp is now filled
1944//        fmt.Println(resp)
1945//    }
1946//
1947// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironmentManagedActionHistory
1948func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionHistoryRequest(input *DescribeEnvironmentManagedActionHistoryInput) (req *request.Request, output *DescribeEnvironmentManagedActionHistoryOutput) {
1949	op := &request.Operation{
1950		Name:       opDescribeEnvironmentManagedActionHistory,
1951		HTTPMethod: "POST",
1952		HTTPPath:   "/",
1953		Paginator: &request.Paginator{
1954			InputTokens:     []string{"NextToken"},
1955			OutputTokens:    []string{"NextToken"},
1956			LimitToken:      "MaxItems",
1957			TruncationToken: "",
1958		},
1959	}
1960
1961	if input == nil {
1962		input = &DescribeEnvironmentManagedActionHistoryInput{}
1963	}
1964
1965	output = &DescribeEnvironmentManagedActionHistoryOutput{}
1966	req = c.newRequest(op, input, output)
1967	return
1968}
1969
1970// DescribeEnvironmentManagedActionHistory API operation for AWS Elastic Beanstalk.
1971//
1972// Lists an environment's completed and failed managed actions.
1973//
1974// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1975// with awserr.Error's Code and Message methods to get detailed information about
1976// the error.
1977//
1978// See the AWS API reference guide for AWS Elastic Beanstalk's
1979// API operation DescribeEnvironmentManagedActionHistory for usage and error information.
1980//
1981// Returned Error Codes:
1982//   * ErrCodeServiceException "ElasticBeanstalkServiceException"
1983//   A generic service exception has occurred.
1984//
1985// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironmentManagedActionHistory
1986func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionHistory(input *DescribeEnvironmentManagedActionHistoryInput) (*DescribeEnvironmentManagedActionHistoryOutput, error) {
1987	req, out := c.DescribeEnvironmentManagedActionHistoryRequest(input)
1988	return out, req.Send()
1989}
1990
1991// DescribeEnvironmentManagedActionHistoryWithContext is the same as DescribeEnvironmentManagedActionHistory with the addition of
1992// the ability to pass a context and additional request options.
1993//
1994// See DescribeEnvironmentManagedActionHistory for details on how to use this API operation.
1995//
1996// The context must be non-nil and will be used for request cancellation. If
1997// the context is nil a panic will occur. In the future the SDK may create
1998// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1999// for more information on using Contexts.
2000func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionHistoryWithContext(ctx aws.Context, input *DescribeEnvironmentManagedActionHistoryInput, opts ...request.Option) (*DescribeEnvironmentManagedActionHistoryOutput, error) {
2001	req, out := c.DescribeEnvironmentManagedActionHistoryRequest(input)
2002	req.SetContext(ctx)
2003	req.ApplyOptions(opts...)
2004	return out, req.Send()
2005}
2006
2007// DescribeEnvironmentManagedActionHistoryPages iterates over the pages of a DescribeEnvironmentManagedActionHistory operation,
2008// calling the "fn" function with the response data for each page. To stop
2009// iterating, return false from the fn function.
2010//
2011// See DescribeEnvironmentManagedActionHistory method for more information on how to use this operation.
2012//
2013// Note: This operation can generate multiple requests to a service.
2014//
2015//    // Example iterating over at most 3 pages of a DescribeEnvironmentManagedActionHistory operation.
2016//    pageNum := 0
2017//    err := client.DescribeEnvironmentManagedActionHistoryPages(params,
2018//        func(page *elasticbeanstalk.DescribeEnvironmentManagedActionHistoryOutput, lastPage bool) bool {
2019//            pageNum++
2020//            fmt.Println(page)
2021//            return pageNum <= 3
2022//        })
2023//
2024func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionHistoryPages(input *DescribeEnvironmentManagedActionHistoryInput, fn func(*DescribeEnvironmentManagedActionHistoryOutput, bool) bool) error {
2025	return c.DescribeEnvironmentManagedActionHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
2026}
2027
2028// DescribeEnvironmentManagedActionHistoryPagesWithContext same as DescribeEnvironmentManagedActionHistoryPages except
2029// it takes a Context and allows setting request options on the pages.
2030//
2031// The context must be non-nil and will be used for request cancellation. If
2032// the context is nil a panic will occur. In the future the SDK may create
2033// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2034// for more information on using Contexts.
2035func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionHistoryPagesWithContext(ctx aws.Context, input *DescribeEnvironmentManagedActionHistoryInput, fn func(*DescribeEnvironmentManagedActionHistoryOutput, bool) bool, opts ...request.Option) error {
2036	p := request.Pagination{
2037		NewRequest: func() (*request.Request, error) {
2038			var inCpy *DescribeEnvironmentManagedActionHistoryInput
2039			if input != nil {
2040				tmp := *input
2041				inCpy = &tmp
2042			}
2043			req, _ := c.DescribeEnvironmentManagedActionHistoryRequest(inCpy)
2044			req.SetContext(ctx)
2045			req.ApplyOptions(opts...)
2046			return req, nil
2047		},
2048	}
2049
2050	for p.Next() {
2051		if !fn(p.Page().(*DescribeEnvironmentManagedActionHistoryOutput), !p.HasNextPage()) {
2052			break
2053		}
2054	}
2055
2056	return p.Err()
2057}
2058
2059const opDescribeEnvironmentManagedActions = "DescribeEnvironmentManagedActions"
2060
2061// DescribeEnvironmentManagedActionsRequest generates a "aws/request.Request" representing the
2062// client's request for the DescribeEnvironmentManagedActions operation. The "output" return
2063// value will be populated with the request's response once the request completes
2064// successfully.
2065//
2066// Use "Send" method on the returned Request to send the API call to the service.
2067// the "output" return value is not valid until after Send returns without error.
2068//
2069// See DescribeEnvironmentManagedActions for more information on using the DescribeEnvironmentManagedActions
2070// API call, and error handling.
2071//
2072// This method is useful when you want to inject custom logic or configuration
2073// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2074//
2075//
2076//    // Example sending a request using the DescribeEnvironmentManagedActionsRequest method.
2077//    req, resp := client.DescribeEnvironmentManagedActionsRequest(params)
2078//
2079//    err := req.Send()
2080//    if err == nil { // resp is now filled
2081//        fmt.Println(resp)
2082//    }
2083//
2084// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironmentManagedActions
2085func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionsRequest(input *DescribeEnvironmentManagedActionsInput) (req *request.Request, output *DescribeEnvironmentManagedActionsOutput) {
2086	op := &request.Operation{
2087		Name:       opDescribeEnvironmentManagedActions,
2088		HTTPMethod: "POST",
2089		HTTPPath:   "/",
2090	}
2091
2092	if input == nil {
2093		input = &DescribeEnvironmentManagedActionsInput{}
2094	}
2095
2096	output = &DescribeEnvironmentManagedActionsOutput{}
2097	req = c.newRequest(op, input, output)
2098	return
2099}
2100
2101// DescribeEnvironmentManagedActions API operation for AWS Elastic Beanstalk.
2102//
2103// Lists an environment's upcoming and in-progress managed actions.
2104//
2105// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2106// with awserr.Error's Code and Message methods to get detailed information about
2107// the error.
2108//
2109// See the AWS API reference guide for AWS Elastic Beanstalk's
2110// API operation DescribeEnvironmentManagedActions for usage and error information.
2111//
2112// Returned Error Codes:
2113//   * ErrCodeServiceException "ElasticBeanstalkServiceException"
2114//   A generic service exception has occurred.
2115//
2116// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironmentManagedActions
2117func (c *ElasticBeanstalk) DescribeEnvironmentManagedActions(input *DescribeEnvironmentManagedActionsInput) (*DescribeEnvironmentManagedActionsOutput, error) {
2118	req, out := c.DescribeEnvironmentManagedActionsRequest(input)
2119	return out, req.Send()
2120}
2121
2122// DescribeEnvironmentManagedActionsWithContext is the same as DescribeEnvironmentManagedActions with the addition of
2123// the ability to pass a context and additional request options.
2124//
2125// See DescribeEnvironmentManagedActions for details on how to use this API operation.
2126//
2127// The context must be non-nil and will be used for request cancellation. If
2128// the context is nil a panic will occur. In the future the SDK may create
2129// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2130// for more information on using Contexts.
2131func (c *ElasticBeanstalk) DescribeEnvironmentManagedActionsWithContext(ctx aws.Context, input *DescribeEnvironmentManagedActionsInput, opts ...request.Option) (*DescribeEnvironmentManagedActionsOutput, error) {
2132	req, out := c.DescribeEnvironmentManagedActionsRequest(input)
2133	req.SetContext(ctx)
2134	req.ApplyOptions(opts...)
2135	return out, req.Send()
2136}
2137
2138const opDescribeEnvironmentResources = "DescribeEnvironmentResources"
2139
2140// DescribeEnvironmentResourcesRequest generates a "aws/request.Request" representing the
2141// client's request for the DescribeEnvironmentResources operation. The "output" return
2142// value will be populated with the request's response once the request completes
2143// successfully.
2144//
2145// Use "Send" method on the returned Request to send the API call to the service.
2146// the "output" return value is not valid until after Send returns without error.
2147//
2148// See DescribeEnvironmentResources for more information on using the DescribeEnvironmentResources
2149// API call, and error handling.
2150//
2151// This method is useful when you want to inject custom logic or configuration
2152// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2153//
2154//
2155//    // Example sending a request using the DescribeEnvironmentResourcesRequest method.
2156//    req, resp := client.DescribeEnvironmentResourcesRequest(params)
2157//
2158//    err := req.Send()
2159//    if err == nil { // resp is now filled
2160//        fmt.Println(resp)
2161//    }
2162//
2163// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironmentResources
2164func (c *ElasticBeanstalk) DescribeEnvironmentResourcesRequest(input *DescribeEnvironmentResourcesInput) (req *request.Request, output *DescribeEnvironmentResourcesOutput) {
2165	op := &request.Operation{
2166		Name:       opDescribeEnvironmentResources,
2167		HTTPMethod: "POST",
2168		HTTPPath:   "/",
2169	}
2170
2171	if input == nil {
2172		input = &DescribeEnvironmentResourcesInput{}
2173	}
2174
2175	output = &DescribeEnvironmentResourcesOutput{}
2176	req = c.newRequest(op, input, output)
2177	return
2178}
2179
2180// DescribeEnvironmentResources API operation for AWS Elastic Beanstalk.
2181//
2182// Returns AWS resources for this environment.
2183//
2184// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2185// with awserr.Error's Code and Message methods to get detailed information about
2186// the error.
2187//
2188// See the AWS API reference guide for AWS Elastic Beanstalk's
2189// API operation DescribeEnvironmentResources for usage and error information.
2190//
2191// Returned Error Codes:
2192//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
2193//   The specified account does not have sufficient privileges for one or more
2194//   AWS services.
2195//
2196// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironmentResources
2197func (c *ElasticBeanstalk) DescribeEnvironmentResources(input *DescribeEnvironmentResourcesInput) (*DescribeEnvironmentResourcesOutput, error) {
2198	req, out := c.DescribeEnvironmentResourcesRequest(input)
2199	return out, req.Send()
2200}
2201
2202// DescribeEnvironmentResourcesWithContext is the same as DescribeEnvironmentResources with the addition of
2203// the ability to pass a context and additional request options.
2204//
2205// See DescribeEnvironmentResources for details on how to use this API operation.
2206//
2207// The context must be non-nil and will be used for request cancellation. If
2208// the context is nil a panic will occur. In the future the SDK may create
2209// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2210// for more information on using Contexts.
2211func (c *ElasticBeanstalk) DescribeEnvironmentResourcesWithContext(ctx aws.Context, input *DescribeEnvironmentResourcesInput, opts ...request.Option) (*DescribeEnvironmentResourcesOutput, error) {
2212	req, out := c.DescribeEnvironmentResourcesRequest(input)
2213	req.SetContext(ctx)
2214	req.ApplyOptions(opts...)
2215	return out, req.Send()
2216}
2217
2218const opDescribeEnvironments = "DescribeEnvironments"
2219
2220// DescribeEnvironmentsRequest generates a "aws/request.Request" representing the
2221// client's request for the DescribeEnvironments operation. The "output" return
2222// value will be populated with the request's response once the request completes
2223// successfully.
2224//
2225// Use "Send" method on the returned Request to send the API call to the service.
2226// the "output" return value is not valid until after Send returns without error.
2227//
2228// See DescribeEnvironments for more information on using the DescribeEnvironments
2229// API call, and error handling.
2230//
2231// This method is useful when you want to inject custom logic or configuration
2232// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2233//
2234//
2235//    // Example sending a request using the DescribeEnvironmentsRequest method.
2236//    req, resp := client.DescribeEnvironmentsRequest(params)
2237//
2238//    err := req.Send()
2239//    if err == nil { // resp is now filled
2240//        fmt.Println(resp)
2241//    }
2242//
2243// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironments
2244func (c *ElasticBeanstalk) DescribeEnvironmentsRequest(input *DescribeEnvironmentsInput) (req *request.Request, output *EnvironmentDescriptionsMessage) {
2245	op := &request.Operation{
2246		Name:       opDescribeEnvironments,
2247		HTTPMethod: "POST",
2248		HTTPPath:   "/",
2249	}
2250
2251	if input == nil {
2252		input = &DescribeEnvironmentsInput{}
2253	}
2254
2255	output = &EnvironmentDescriptionsMessage{}
2256	req = c.newRequest(op, input, output)
2257	return
2258}
2259
2260// DescribeEnvironments API operation for AWS Elastic Beanstalk.
2261//
2262// Returns descriptions for existing environments.
2263//
2264// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2265// with awserr.Error's Code and Message methods to get detailed information about
2266// the error.
2267//
2268// See the AWS API reference guide for AWS Elastic Beanstalk's
2269// API operation DescribeEnvironments for usage and error information.
2270// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironments
2271func (c *ElasticBeanstalk) DescribeEnvironments(input *DescribeEnvironmentsInput) (*EnvironmentDescriptionsMessage, error) {
2272	req, out := c.DescribeEnvironmentsRequest(input)
2273	return out, req.Send()
2274}
2275
2276// DescribeEnvironmentsWithContext is the same as DescribeEnvironments with the addition of
2277// the ability to pass a context and additional request options.
2278//
2279// See DescribeEnvironments for details on how to use this API operation.
2280//
2281// The context must be non-nil and will be used for request cancellation. If
2282// the context is nil a panic will occur. In the future the SDK may create
2283// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2284// for more information on using Contexts.
2285func (c *ElasticBeanstalk) DescribeEnvironmentsWithContext(ctx aws.Context, input *DescribeEnvironmentsInput, opts ...request.Option) (*EnvironmentDescriptionsMessage, error) {
2286	req, out := c.DescribeEnvironmentsRequest(input)
2287	req.SetContext(ctx)
2288	req.ApplyOptions(opts...)
2289	return out, req.Send()
2290}
2291
2292const opDescribeEvents = "DescribeEvents"
2293
2294// DescribeEventsRequest generates a "aws/request.Request" representing the
2295// client's request for the DescribeEvents operation. The "output" return
2296// value will be populated with the request's response once the request completes
2297// successfully.
2298//
2299// Use "Send" method on the returned Request to send the API call to the service.
2300// the "output" return value is not valid until after Send returns without error.
2301//
2302// See DescribeEvents for more information on using the DescribeEvents
2303// API call, and error handling.
2304//
2305// This method is useful when you want to inject custom logic or configuration
2306// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2307//
2308//
2309//    // Example sending a request using the DescribeEventsRequest method.
2310//    req, resp := client.DescribeEventsRequest(params)
2311//
2312//    err := req.Send()
2313//    if err == nil { // resp is now filled
2314//        fmt.Println(resp)
2315//    }
2316//
2317// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEvents
2318func (c *ElasticBeanstalk) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
2319	op := &request.Operation{
2320		Name:       opDescribeEvents,
2321		HTTPMethod: "POST",
2322		HTTPPath:   "/",
2323		Paginator: &request.Paginator{
2324			InputTokens:     []string{"NextToken"},
2325			OutputTokens:    []string{"NextToken"},
2326			LimitToken:      "MaxRecords",
2327			TruncationToken: "",
2328		},
2329	}
2330
2331	if input == nil {
2332		input = &DescribeEventsInput{}
2333	}
2334
2335	output = &DescribeEventsOutput{}
2336	req = c.newRequest(op, input, output)
2337	return
2338}
2339
2340// DescribeEvents API operation for AWS Elastic Beanstalk.
2341//
2342// Returns list of event descriptions matching criteria up to the last 6 weeks.
2343//
2344// This action returns the most recent 1,000 events from the specified NextToken.
2345//
2346// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2347// with awserr.Error's Code and Message methods to get detailed information about
2348// the error.
2349//
2350// See the AWS API reference guide for AWS Elastic Beanstalk's
2351// API operation DescribeEvents for usage and error information.
2352// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEvents
2353func (c *ElasticBeanstalk) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
2354	req, out := c.DescribeEventsRequest(input)
2355	return out, req.Send()
2356}
2357
2358// DescribeEventsWithContext is the same as DescribeEvents with the addition of
2359// the ability to pass a context and additional request options.
2360//
2361// See DescribeEvents for details on how to use this API operation.
2362//
2363// The context must be non-nil and will be used for request cancellation. If
2364// the context is nil a panic will occur. In the future the SDK may create
2365// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2366// for more information on using Contexts.
2367func (c *ElasticBeanstalk) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) {
2368	req, out := c.DescribeEventsRequest(input)
2369	req.SetContext(ctx)
2370	req.ApplyOptions(opts...)
2371	return out, req.Send()
2372}
2373
2374// DescribeEventsPages iterates over the pages of a DescribeEvents operation,
2375// calling the "fn" function with the response data for each page. To stop
2376// iterating, return false from the fn function.
2377//
2378// See DescribeEvents method for more information on how to use this operation.
2379//
2380// Note: This operation can generate multiple requests to a service.
2381//
2382//    // Example iterating over at most 3 pages of a DescribeEvents operation.
2383//    pageNum := 0
2384//    err := client.DescribeEventsPages(params,
2385//        func(page *elasticbeanstalk.DescribeEventsOutput, lastPage bool) bool {
2386//            pageNum++
2387//            fmt.Println(page)
2388//            return pageNum <= 3
2389//        })
2390//
2391func (c *ElasticBeanstalk) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error {
2392	return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn)
2393}
2394
2395// DescribeEventsPagesWithContext same as DescribeEventsPages except
2396// it takes a Context and allows setting request options on the pages.
2397//
2398// The context must be non-nil and will be used for request cancellation. If
2399// the context is nil a panic will occur. In the future the SDK may create
2400// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2401// for more information on using Contexts.
2402func (c *ElasticBeanstalk) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error {
2403	p := request.Pagination{
2404		NewRequest: func() (*request.Request, error) {
2405			var inCpy *DescribeEventsInput
2406			if input != nil {
2407				tmp := *input
2408				inCpy = &tmp
2409			}
2410			req, _ := c.DescribeEventsRequest(inCpy)
2411			req.SetContext(ctx)
2412			req.ApplyOptions(opts...)
2413			return req, nil
2414		},
2415	}
2416
2417	for p.Next() {
2418		if !fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) {
2419			break
2420		}
2421	}
2422
2423	return p.Err()
2424}
2425
2426const opDescribeInstancesHealth = "DescribeInstancesHealth"
2427
2428// DescribeInstancesHealthRequest generates a "aws/request.Request" representing the
2429// client's request for the DescribeInstancesHealth operation. The "output" return
2430// value will be populated with the request's response once the request completes
2431// successfully.
2432//
2433// Use "Send" method on the returned Request to send the API call to the service.
2434// the "output" return value is not valid until after Send returns without error.
2435//
2436// See DescribeInstancesHealth for more information on using the DescribeInstancesHealth
2437// API call, and error handling.
2438//
2439// This method is useful when you want to inject custom logic or configuration
2440// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2441//
2442//
2443//    // Example sending a request using the DescribeInstancesHealthRequest method.
2444//    req, resp := client.DescribeInstancesHealthRequest(params)
2445//
2446//    err := req.Send()
2447//    if err == nil { // resp is now filled
2448//        fmt.Println(resp)
2449//    }
2450//
2451// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeInstancesHealth
2452func (c *ElasticBeanstalk) DescribeInstancesHealthRequest(input *DescribeInstancesHealthInput) (req *request.Request, output *DescribeInstancesHealthOutput) {
2453	op := &request.Operation{
2454		Name:       opDescribeInstancesHealth,
2455		HTTPMethod: "POST",
2456		HTTPPath:   "/",
2457	}
2458
2459	if input == nil {
2460		input = &DescribeInstancesHealthInput{}
2461	}
2462
2463	output = &DescribeInstancesHealthOutput{}
2464	req = c.newRequest(op, input, output)
2465	return
2466}
2467
2468// DescribeInstancesHealth API operation for AWS Elastic Beanstalk.
2469//
2470// Retrieves detailed information about the health of instances in your AWS
2471// Elastic Beanstalk. This operation requires enhanced health reporting (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced.html).
2472//
2473// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2474// with awserr.Error's Code and Message methods to get detailed information about
2475// the error.
2476//
2477// See the AWS API reference guide for AWS Elastic Beanstalk's
2478// API operation DescribeInstancesHealth for usage and error information.
2479//
2480// Returned Error Codes:
2481//   * ErrCodeInvalidRequestException "InvalidRequestException"
2482//   One or more input parameters is not valid. Please correct the input parameters
2483//   and try the operation again.
2484//
2485//   * ErrCodeServiceException "ElasticBeanstalkServiceException"
2486//   A generic service exception has occurred.
2487//
2488// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeInstancesHealth
2489func (c *ElasticBeanstalk) DescribeInstancesHealth(input *DescribeInstancesHealthInput) (*DescribeInstancesHealthOutput, error) {
2490	req, out := c.DescribeInstancesHealthRequest(input)
2491	return out, req.Send()
2492}
2493
2494// DescribeInstancesHealthWithContext is the same as DescribeInstancesHealth with the addition of
2495// the ability to pass a context and additional request options.
2496//
2497// See DescribeInstancesHealth for details on how to use this API operation.
2498//
2499// The context must be non-nil and will be used for request cancellation. If
2500// the context is nil a panic will occur. In the future the SDK may create
2501// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2502// for more information on using Contexts.
2503func (c *ElasticBeanstalk) DescribeInstancesHealthWithContext(ctx aws.Context, input *DescribeInstancesHealthInput, opts ...request.Option) (*DescribeInstancesHealthOutput, error) {
2504	req, out := c.DescribeInstancesHealthRequest(input)
2505	req.SetContext(ctx)
2506	req.ApplyOptions(opts...)
2507	return out, req.Send()
2508}
2509
2510const opDescribePlatformVersion = "DescribePlatformVersion"
2511
2512// DescribePlatformVersionRequest generates a "aws/request.Request" representing the
2513// client's request for the DescribePlatformVersion operation. The "output" return
2514// value will be populated with the request's response once the request completes
2515// successfully.
2516//
2517// Use "Send" method on the returned Request to send the API call to the service.
2518// the "output" return value is not valid until after Send returns without error.
2519//
2520// See DescribePlatformVersion for more information on using the DescribePlatformVersion
2521// API call, and error handling.
2522//
2523// This method is useful when you want to inject custom logic or configuration
2524// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2525//
2526//
2527//    // Example sending a request using the DescribePlatformVersionRequest method.
2528//    req, resp := client.DescribePlatformVersionRequest(params)
2529//
2530//    err := req.Send()
2531//    if err == nil { // resp is now filled
2532//        fmt.Println(resp)
2533//    }
2534//
2535// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribePlatformVersion
2536func (c *ElasticBeanstalk) DescribePlatformVersionRequest(input *DescribePlatformVersionInput) (req *request.Request, output *DescribePlatformVersionOutput) {
2537	op := &request.Operation{
2538		Name:       opDescribePlatformVersion,
2539		HTTPMethod: "POST",
2540		HTTPPath:   "/",
2541	}
2542
2543	if input == nil {
2544		input = &DescribePlatformVersionInput{}
2545	}
2546
2547	output = &DescribePlatformVersionOutput{}
2548	req = c.newRequest(op, input, output)
2549	return
2550}
2551
2552// DescribePlatformVersion API operation for AWS Elastic Beanstalk.
2553//
2554// Describes a platform version. Provides full details. Compare to ListPlatformVersions,
2555// which provides summary information about a list of platform versions.
2556//
2557// For definitions of platform version and other platform-related terms, see
2558// AWS Elastic Beanstalk Platforms Glossary (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/platforms-glossary.html).
2559//
2560// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2561// with awserr.Error's Code and Message methods to get detailed information about
2562// the error.
2563//
2564// See the AWS API reference guide for AWS Elastic Beanstalk's
2565// API operation DescribePlatformVersion for usage and error information.
2566//
2567// Returned Error Codes:
2568//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
2569//   The specified account does not have sufficient privileges for one or more
2570//   AWS services.
2571//
2572//   * ErrCodeServiceException "ElasticBeanstalkServiceException"
2573//   A generic service exception has occurred.
2574//
2575// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribePlatformVersion
2576func (c *ElasticBeanstalk) DescribePlatformVersion(input *DescribePlatformVersionInput) (*DescribePlatformVersionOutput, error) {
2577	req, out := c.DescribePlatformVersionRequest(input)
2578	return out, req.Send()
2579}
2580
2581// DescribePlatformVersionWithContext is the same as DescribePlatformVersion with the addition of
2582// the ability to pass a context and additional request options.
2583//
2584// See DescribePlatformVersion for details on how to use this API operation.
2585//
2586// The context must be non-nil and will be used for request cancellation. If
2587// the context is nil a panic will occur. In the future the SDK may create
2588// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2589// for more information on using Contexts.
2590func (c *ElasticBeanstalk) DescribePlatformVersionWithContext(ctx aws.Context, input *DescribePlatformVersionInput, opts ...request.Option) (*DescribePlatformVersionOutput, error) {
2591	req, out := c.DescribePlatformVersionRequest(input)
2592	req.SetContext(ctx)
2593	req.ApplyOptions(opts...)
2594	return out, req.Send()
2595}
2596
2597const opDisassociateEnvironmentOperationsRole = "DisassociateEnvironmentOperationsRole"
2598
2599// DisassociateEnvironmentOperationsRoleRequest generates a "aws/request.Request" representing the
2600// client's request for the DisassociateEnvironmentOperationsRole operation. The "output" return
2601// value will be populated with the request's response once the request completes
2602// successfully.
2603//
2604// Use "Send" method on the returned Request to send the API call to the service.
2605// the "output" return value is not valid until after Send returns without error.
2606//
2607// See DisassociateEnvironmentOperationsRole for more information on using the DisassociateEnvironmentOperationsRole
2608// API call, and error handling.
2609//
2610// This method is useful when you want to inject custom logic or configuration
2611// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2612//
2613//
2614//    // Example sending a request using the DisassociateEnvironmentOperationsRoleRequest method.
2615//    req, resp := client.DisassociateEnvironmentOperationsRoleRequest(params)
2616//
2617//    err := req.Send()
2618//    if err == nil { // resp is now filled
2619//        fmt.Println(resp)
2620//    }
2621//
2622// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DisassociateEnvironmentOperationsRole
2623func (c *ElasticBeanstalk) DisassociateEnvironmentOperationsRoleRequest(input *DisassociateEnvironmentOperationsRoleInput) (req *request.Request, output *DisassociateEnvironmentOperationsRoleOutput) {
2624	op := &request.Operation{
2625		Name:       opDisassociateEnvironmentOperationsRole,
2626		HTTPMethod: "POST",
2627		HTTPPath:   "/",
2628	}
2629
2630	if input == nil {
2631		input = &DisassociateEnvironmentOperationsRoleInput{}
2632	}
2633
2634	output = &DisassociateEnvironmentOperationsRoleOutput{}
2635	req = c.newRequest(op, input, output)
2636	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2637	return
2638}
2639
2640// DisassociateEnvironmentOperationsRole API operation for AWS Elastic Beanstalk.
2641//
2642// Disassociate the operations role from an environment. After this call is
2643// made, Elastic Beanstalk uses the caller's permissions for permissions to
2644// downstream services during subsequent calls acting on this environment. For
2645// more information, see Operations roles (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/iam-operationsrole.html)
2646// in the AWS Elastic Beanstalk Developer Guide.
2647//
2648// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2649// with awserr.Error's Code and Message methods to get detailed information about
2650// the error.
2651//
2652// See the AWS API reference guide for AWS Elastic Beanstalk's
2653// API operation DisassociateEnvironmentOperationsRole for usage and error information.
2654//
2655// Returned Error Codes:
2656//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
2657//   The specified account does not have sufficient privileges for one or more
2658//   AWS services.
2659//
2660// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DisassociateEnvironmentOperationsRole
2661func (c *ElasticBeanstalk) DisassociateEnvironmentOperationsRole(input *DisassociateEnvironmentOperationsRoleInput) (*DisassociateEnvironmentOperationsRoleOutput, error) {
2662	req, out := c.DisassociateEnvironmentOperationsRoleRequest(input)
2663	return out, req.Send()
2664}
2665
2666// DisassociateEnvironmentOperationsRoleWithContext is the same as DisassociateEnvironmentOperationsRole with the addition of
2667// the ability to pass a context and additional request options.
2668//
2669// See DisassociateEnvironmentOperationsRole for details on how to use this API operation.
2670//
2671// The context must be non-nil and will be used for request cancellation. If
2672// the context is nil a panic will occur. In the future the SDK may create
2673// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2674// for more information on using Contexts.
2675func (c *ElasticBeanstalk) DisassociateEnvironmentOperationsRoleWithContext(ctx aws.Context, input *DisassociateEnvironmentOperationsRoleInput, opts ...request.Option) (*DisassociateEnvironmentOperationsRoleOutput, error) {
2676	req, out := c.DisassociateEnvironmentOperationsRoleRequest(input)
2677	req.SetContext(ctx)
2678	req.ApplyOptions(opts...)
2679	return out, req.Send()
2680}
2681
2682const opListAvailableSolutionStacks = "ListAvailableSolutionStacks"
2683
2684// ListAvailableSolutionStacksRequest generates a "aws/request.Request" representing the
2685// client's request for the ListAvailableSolutionStacks operation. The "output" return
2686// value will be populated with the request's response once the request completes
2687// successfully.
2688//
2689// Use "Send" method on the returned Request to send the API call to the service.
2690// the "output" return value is not valid until after Send returns without error.
2691//
2692// See ListAvailableSolutionStacks for more information on using the ListAvailableSolutionStacks
2693// API call, and error handling.
2694//
2695// This method is useful when you want to inject custom logic or configuration
2696// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2697//
2698//
2699//    // Example sending a request using the ListAvailableSolutionStacksRequest method.
2700//    req, resp := client.ListAvailableSolutionStacksRequest(params)
2701//
2702//    err := req.Send()
2703//    if err == nil { // resp is now filled
2704//        fmt.Println(resp)
2705//    }
2706//
2707// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ListAvailableSolutionStacks
2708func (c *ElasticBeanstalk) ListAvailableSolutionStacksRequest(input *ListAvailableSolutionStacksInput) (req *request.Request, output *ListAvailableSolutionStacksOutput) {
2709	op := &request.Operation{
2710		Name:       opListAvailableSolutionStacks,
2711		HTTPMethod: "POST",
2712		HTTPPath:   "/",
2713	}
2714
2715	if input == nil {
2716		input = &ListAvailableSolutionStacksInput{}
2717	}
2718
2719	output = &ListAvailableSolutionStacksOutput{}
2720	req = c.newRequest(op, input, output)
2721	return
2722}
2723
2724// ListAvailableSolutionStacks API operation for AWS Elastic Beanstalk.
2725//
2726// Returns a list of the available solution stack names, with the public version
2727// first and then in reverse chronological order.
2728//
2729// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2730// with awserr.Error's Code and Message methods to get detailed information about
2731// the error.
2732//
2733// See the AWS API reference guide for AWS Elastic Beanstalk's
2734// API operation ListAvailableSolutionStacks for usage and error information.
2735// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ListAvailableSolutionStacks
2736func (c *ElasticBeanstalk) ListAvailableSolutionStacks(input *ListAvailableSolutionStacksInput) (*ListAvailableSolutionStacksOutput, error) {
2737	req, out := c.ListAvailableSolutionStacksRequest(input)
2738	return out, req.Send()
2739}
2740
2741// ListAvailableSolutionStacksWithContext is the same as ListAvailableSolutionStacks with the addition of
2742// the ability to pass a context and additional request options.
2743//
2744// See ListAvailableSolutionStacks for details on how to use this API operation.
2745//
2746// The context must be non-nil and will be used for request cancellation. If
2747// the context is nil a panic will occur. In the future the SDK may create
2748// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2749// for more information on using Contexts.
2750func (c *ElasticBeanstalk) ListAvailableSolutionStacksWithContext(ctx aws.Context, input *ListAvailableSolutionStacksInput, opts ...request.Option) (*ListAvailableSolutionStacksOutput, error) {
2751	req, out := c.ListAvailableSolutionStacksRequest(input)
2752	req.SetContext(ctx)
2753	req.ApplyOptions(opts...)
2754	return out, req.Send()
2755}
2756
2757const opListPlatformBranches = "ListPlatformBranches"
2758
2759// ListPlatformBranchesRequest generates a "aws/request.Request" representing the
2760// client's request for the ListPlatformBranches operation. The "output" return
2761// value will be populated with the request's response once the request completes
2762// successfully.
2763//
2764// Use "Send" method on the returned Request to send the API call to the service.
2765// the "output" return value is not valid until after Send returns without error.
2766//
2767// See ListPlatformBranches for more information on using the ListPlatformBranches
2768// API call, and error handling.
2769//
2770// This method is useful when you want to inject custom logic or configuration
2771// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2772//
2773//
2774//    // Example sending a request using the ListPlatformBranchesRequest method.
2775//    req, resp := client.ListPlatformBranchesRequest(params)
2776//
2777//    err := req.Send()
2778//    if err == nil { // resp is now filled
2779//        fmt.Println(resp)
2780//    }
2781//
2782// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ListPlatformBranches
2783func (c *ElasticBeanstalk) ListPlatformBranchesRequest(input *ListPlatformBranchesInput) (req *request.Request, output *ListPlatformBranchesOutput) {
2784	op := &request.Operation{
2785		Name:       opListPlatformBranches,
2786		HTTPMethod: "POST",
2787		HTTPPath:   "/",
2788		Paginator: &request.Paginator{
2789			InputTokens:     []string{"NextToken"},
2790			OutputTokens:    []string{"NextToken"},
2791			LimitToken:      "MaxRecords",
2792			TruncationToken: "",
2793		},
2794	}
2795
2796	if input == nil {
2797		input = &ListPlatformBranchesInput{}
2798	}
2799
2800	output = &ListPlatformBranchesOutput{}
2801	req = c.newRequest(op, input, output)
2802	return
2803}
2804
2805// ListPlatformBranches API operation for AWS Elastic Beanstalk.
2806//
2807// Lists the platform branches available for your account in an AWS Region.
2808// Provides summary information about each platform branch.
2809//
2810// For definitions of platform branch and other platform-related terms, see
2811// AWS Elastic Beanstalk Platforms Glossary (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/platforms-glossary.html).
2812//
2813// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2814// with awserr.Error's Code and Message methods to get detailed information about
2815// the error.
2816//
2817// See the AWS API reference guide for AWS Elastic Beanstalk's
2818// API operation ListPlatformBranches for usage and error information.
2819// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ListPlatformBranches
2820func (c *ElasticBeanstalk) ListPlatformBranches(input *ListPlatformBranchesInput) (*ListPlatformBranchesOutput, error) {
2821	req, out := c.ListPlatformBranchesRequest(input)
2822	return out, req.Send()
2823}
2824
2825// ListPlatformBranchesWithContext is the same as ListPlatformBranches with the addition of
2826// the ability to pass a context and additional request options.
2827//
2828// See ListPlatformBranches for details on how to use this API operation.
2829//
2830// The context must be non-nil and will be used for request cancellation. If
2831// the context is nil a panic will occur. In the future the SDK may create
2832// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2833// for more information on using Contexts.
2834func (c *ElasticBeanstalk) ListPlatformBranchesWithContext(ctx aws.Context, input *ListPlatformBranchesInput, opts ...request.Option) (*ListPlatformBranchesOutput, error) {
2835	req, out := c.ListPlatformBranchesRequest(input)
2836	req.SetContext(ctx)
2837	req.ApplyOptions(opts...)
2838	return out, req.Send()
2839}
2840
2841// ListPlatformBranchesPages iterates over the pages of a ListPlatformBranches operation,
2842// calling the "fn" function with the response data for each page. To stop
2843// iterating, return false from the fn function.
2844//
2845// See ListPlatformBranches method for more information on how to use this operation.
2846//
2847// Note: This operation can generate multiple requests to a service.
2848//
2849//    // Example iterating over at most 3 pages of a ListPlatformBranches operation.
2850//    pageNum := 0
2851//    err := client.ListPlatformBranchesPages(params,
2852//        func(page *elasticbeanstalk.ListPlatformBranchesOutput, lastPage bool) bool {
2853//            pageNum++
2854//            fmt.Println(page)
2855//            return pageNum <= 3
2856//        })
2857//
2858func (c *ElasticBeanstalk) ListPlatformBranchesPages(input *ListPlatformBranchesInput, fn func(*ListPlatformBranchesOutput, bool) bool) error {
2859	return c.ListPlatformBranchesPagesWithContext(aws.BackgroundContext(), input, fn)
2860}
2861
2862// ListPlatformBranchesPagesWithContext same as ListPlatformBranchesPages except
2863// it takes a Context and allows setting request options on the pages.
2864//
2865// The context must be non-nil and will be used for request cancellation. If
2866// the context is nil a panic will occur. In the future the SDK may create
2867// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2868// for more information on using Contexts.
2869func (c *ElasticBeanstalk) ListPlatformBranchesPagesWithContext(ctx aws.Context, input *ListPlatformBranchesInput, fn func(*ListPlatformBranchesOutput, bool) bool, opts ...request.Option) error {
2870	p := request.Pagination{
2871		NewRequest: func() (*request.Request, error) {
2872			var inCpy *ListPlatformBranchesInput
2873			if input != nil {
2874				tmp := *input
2875				inCpy = &tmp
2876			}
2877			req, _ := c.ListPlatformBranchesRequest(inCpy)
2878			req.SetContext(ctx)
2879			req.ApplyOptions(opts...)
2880			return req, nil
2881		},
2882	}
2883
2884	for p.Next() {
2885		if !fn(p.Page().(*ListPlatformBranchesOutput), !p.HasNextPage()) {
2886			break
2887		}
2888	}
2889
2890	return p.Err()
2891}
2892
2893const opListPlatformVersions = "ListPlatformVersions"
2894
2895// ListPlatformVersionsRequest generates a "aws/request.Request" representing the
2896// client's request for the ListPlatformVersions operation. The "output" return
2897// value will be populated with the request's response once the request completes
2898// successfully.
2899//
2900// Use "Send" method on the returned Request to send the API call to the service.
2901// the "output" return value is not valid until after Send returns without error.
2902//
2903// See ListPlatformVersions for more information on using the ListPlatformVersions
2904// API call, and error handling.
2905//
2906// This method is useful when you want to inject custom logic or configuration
2907// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2908//
2909//
2910//    // Example sending a request using the ListPlatformVersionsRequest method.
2911//    req, resp := client.ListPlatformVersionsRequest(params)
2912//
2913//    err := req.Send()
2914//    if err == nil { // resp is now filled
2915//        fmt.Println(resp)
2916//    }
2917//
2918// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ListPlatformVersions
2919func (c *ElasticBeanstalk) ListPlatformVersionsRequest(input *ListPlatformVersionsInput) (req *request.Request, output *ListPlatformVersionsOutput) {
2920	op := &request.Operation{
2921		Name:       opListPlatformVersions,
2922		HTTPMethod: "POST",
2923		HTTPPath:   "/",
2924		Paginator: &request.Paginator{
2925			InputTokens:     []string{"NextToken"},
2926			OutputTokens:    []string{"NextToken"},
2927			LimitToken:      "MaxRecords",
2928			TruncationToken: "",
2929		},
2930	}
2931
2932	if input == nil {
2933		input = &ListPlatformVersionsInput{}
2934	}
2935
2936	output = &ListPlatformVersionsOutput{}
2937	req = c.newRequest(op, input, output)
2938	return
2939}
2940
2941// ListPlatformVersions API operation for AWS Elastic Beanstalk.
2942//
2943// Lists the platform versions available for your account in an AWS Region.
2944// Provides summary information about each platform version. Compare to DescribePlatformVersion,
2945// which provides full details about a single platform version.
2946//
2947// For definitions of platform version and other platform-related terms, see
2948// AWS Elastic Beanstalk Platforms Glossary (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/platforms-glossary.html).
2949//
2950// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2951// with awserr.Error's Code and Message methods to get detailed information about
2952// the error.
2953//
2954// See the AWS API reference guide for AWS Elastic Beanstalk's
2955// API operation ListPlatformVersions for usage and error information.
2956//
2957// Returned Error Codes:
2958//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
2959//   The specified account does not have sufficient privileges for one or more
2960//   AWS services.
2961//
2962//   * ErrCodeServiceException "ElasticBeanstalkServiceException"
2963//   A generic service exception has occurred.
2964//
2965// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ListPlatformVersions
2966func (c *ElasticBeanstalk) ListPlatformVersions(input *ListPlatformVersionsInput) (*ListPlatformVersionsOutput, error) {
2967	req, out := c.ListPlatformVersionsRequest(input)
2968	return out, req.Send()
2969}
2970
2971// ListPlatformVersionsWithContext is the same as ListPlatformVersions with the addition of
2972// the ability to pass a context and additional request options.
2973//
2974// See ListPlatformVersions for details on how to use this API operation.
2975//
2976// The context must be non-nil and will be used for request cancellation. If
2977// the context is nil a panic will occur. In the future the SDK may create
2978// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2979// for more information on using Contexts.
2980func (c *ElasticBeanstalk) ListPlatformVersionsWithContext(ctx aws.Context, input *ListPlatformVersionsInput, opts ...request.Option) (*ListPlatformVersionsOutput, error) {
2981	req, out := c.ListPlatformVersionsRequest(input)
2982	req.SetContext(ctx)
2983	req.ApplyOptions(opts...)
2984	return out, req.Send()
2985}
2986
2987// ListPlatformVersionsPages iterates over the pages of a ListPlatformVersions operation,
2988// calling the "fn" function with the response data for each page. To stop
2989// iterating, return false from the fn function.
2990//
2991// See ListPlatformVersions method for more information on how to use this operation.
2992//
2993// Note: This operation can generate multiple requests to a service.
2994//
2995//    // Example iterating over at most 3 pages of a ListPlatformVersions operation.
2996//    pageNum := 0
2997//    err := client.ListPlatformVersionsPages(params,
2998//        func(page *elasticbeanstalk.ListPlatformVersionsOutput, lastPage bool) bool {
2999//            pageNum++
3000//            fmt.Println(page)
3001//            return pageNum <= 3
3002//        })
3003//
3004func (c *ElasticBeanstalk) ListPlatformVersionsPages(input *ListPlatformVersionsInput, fn func(*ListPlatformVersionsOutput, bool) bool) error {
3005	return c.ListPlatformVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
3006}
3007
3008// ListPlatformVersionsPagesWithContext same as ListPlatformVersionsPages except
3009// it takes a Context and allows setting request options on the pages.
3010//
3011// The context must be non-nil and will be used for request cancellation. If
3012// the context is nil a panic will occur. In the future the SDK may create
3013// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3014// for more information on using Contexts.
3015func (c *ElasticBeanstalk) ListPlatformVersionsPagesWithContext(ctx aws.Context, input *ListPlatformVersionsInput, fn func(*ListPlatformVersionsOutput, bool) bool, opts ...request.Option) error {
3016	p := request.Pagination{
3017		NewRequest: func() (*request.Request, error) {
3018			var inCpy *ListPlatformVersionsInput
3019			if input != nil {
3020				tmp := *input
3021				inCpy = &tmp
3022			}
3023			req, _ := c.ListPlatformVersionsRequest(inCpy)
3024			req.SetContext(ctx)
3025			req.ApplyOptions(opts...)
3026			return req, nil
3027		},
3028	}
3029
3030	for p.Next() {
3031		if !fn(p.Page().(*ListPlatformVersionsOutput), !p.HasNextPage()) {
3032			break
3033		}
3034	}
3035
3036	return p.Err()
3037}
3038
3039const opListTagsForResource = "ListTagsForResource"
3040
3041// ListTagsForResourceRequest generates a "aws/request.Request" representing the
3042// client's request for the ListTagsForResource operation. The "output" return
3043// value will be populated with the request's response once the request completes
3044// successfully.
3045//
3046// Use "Send" method on the returned Request to send the API call to the service.
3047// the "output" return value is not valid until after Send returns without error.
3048//
3049// See ListTagsForResource for more information on using the ListTagsForResource
3050// API call, and error handling.
3051//
3052// This method is useful when you want to inject custom logic or configuration
3053// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3054//
3055//
3056//    // Example sending a request using the ListTagsForResourceRequest method.
3057//    req, resp := client.ListTagsForResourceRequest(params)
3058//
3059//    err := req.Send()
3060//    if err == nil { // resp is now filled
3061//        fmt.Println(resp)
3062//    }
3063//
3064// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ListTagsForResource
3065func (c *ElasticBeanstalk) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
3066	op := &request.Operation{
3067		Name:       opListTagsForResource,
3068		HTTPMethod: "POST",
3069		HTTPPath:   "/",
3070	}
3071
3072	if input == nil {
3073		input = &ListTagsForResourceInput{}
3074	}
3075
3076	output = &ListTagsForResourceOutput{}
3077	req = c.newRequest(op, input, output)
3078	return
3079}
3080
3081// ListTagsForResource API operation for AWS Elastic Beanstalk.
3082//
3083// Return the tags applied to an AWS Elastic Beanstalk resource. The response
3084// contains a list of tag key-value pairs.
3085//
3086// Elastic Beanstalk supports tagging of all of its resources. For details about
3087// resource tagging, see Tagging Application Resources (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/applications-tagging-resources.html).
3088//
3089// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3090// with awserr.Error's Code and Message methods to get detailed information about
3091// the error.
3092//
3093// See the AWS API reference guide for AWS Elastic Beanstalk's
3094// API operation ListTagsForResource for usage and error information.
3095//
3096// Returned Error Codes:
3097//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
3098//   The specified account does not have sufficient privileges for one or more
3099//   AWS services.
3100//
3101//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3102//   A resource doesn't exist for the specified Amazon Resource Name (ARN).
3103//
3104//   * ErrCodeResourceTypeNotSupportedException "ResourceTypeNotSupportedException"
3105//   The type of the specified Amazon Resource Name (ARN) isn't supported for
3106//   this operation.
3107//
3108// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ListTagsForResource
3109func (c *ElasticBeanstalk) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
3110	req, out := c.ListTagsForResourceRequest(input)
3111	return out, req.Send()
3112}
3113
3114// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
3115// the ability to pass a context and additional request options.
3116//
3117// See ListTagsForResource for details on how to use this API operation.
3118//
3119// The context must be non-nil and will be used for request cancellation. If
3120// the context is nil a panic will occur. In the future the SDK may create
3121// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3122// for more information on using Contexts.
3123func (c *ElasticBeanstalk) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
3124	req, out := c.ListTagsForResourceRequest(input)
3125	req.SetContext(ctx)
3126	req.ApplyOptions(opts...)
3127	return out, req.Send()
3128}
3129
3130const opRebuildEnvironment = "RebuildEnvironment"
3131
3132// RebuildEnvironmentRequest generates a "aws/request.Request" representing the
3133// client's request for the RebuildEnvironment operation. The "output" return
3134// value will be populated with the request's response once the request completes
3135// successfully.
3136//
3137// Use "Send" method on the returned Request to send the API call to the service.
3138// the "output" return value is not valid until after Send returns without error.
3139//
3140// See RebuildEnvironment for more information on using the RebuildEnvironment
3141// API call, and error handling.
3142//
3143// This method is useful when you want to inject custom logic or configuration
3144// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3145//
3146//
3147//    // Example sending a request using the RebuildEnvironmentRequest method.
3148//    req, resp := client.RebuildEnvironmentRequest(params)
3149//
3150//    err := req.Send()
3151//    if err == nil { // resp is now filled
3152//        fmt.Println(resp)
3153//    }
3154//
3155// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/RebuildEnvironment
3156func (c *ElasticBeanstalk) RebuildEnvironmentRequest(input *RebuildEnvironmentInput) (req *request.Request, output *RebuildEnvironmentOutput) {
3157	op := &request.Operation{
3158		Name:       opRebuildEnvironment,
3159		HTTPMethod: "POST",
3160		HTTPPath:   "/",
3161	}
3162
3163	if input == nil {
3164		input = &RebuildEnvironmentInput{}
3165	}
3166
3167	output = &RebuildEnvironmentOutput{}
3168	req = c.newRequest(op, input, output)
3169	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3170	return
3171}
3172
3173// RebuildEnvironment API operation for AWS Elastic Beanstalk.
3174//
3175// Deletes and recreates all of the AWS resources (for example: the Auto Scaling
3176// group, load balancer, etc.) for a specified environment and forces a restart.
3177//
3178// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3179// with awserr.Error's Code and Message methods to get detailed information about
3180// the error.
3181//
3182// See the AWS API reference guide for AWS Elastic Beanstalk's
3183// API operation RebuildEnvironment for usage and error information.
3184//
3185// Returned Error Codes:
3186//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
3187//   The specified account does not have sufficient privileges for one or more
3188//   AWS services.
3189//
3190// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/RebuildEnvironment
3191func (c *ElasticBeanstalk) RebuildEnvironment(input *RebuildEnvironmentInput) (*RebuildEnvironmentOutput, error) {
3192	req, out := c.RebuildEnvironmentRequest(input)
3193	return out, req.Send()
3194}
3195
3196// RebuildEnvironmentWithContext is the same as RebuildEnvironment with the addition of
3197// the ability to pass a context and additional request options.
3198//
3199// See RebuildEnvironment for details on how to use this API operation.
3200//
3201// The context must be non-nil and will be used for request cancellation. If
3202// the context is nil a panic will occur. In the future the SDK may create
3203// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3204// for more information on using Contexts.
3205func (c *ElasticBeanstalk) RebuildEnvironmentWithContext(ctx aws.Context, input *RebuildEnvironmentInput, opts ...request.Option) (*RebuildEnvironmentOutput, error) {
3206	req, out := c.RebuildEnvironmentRequest(input)
3207	req.SetContext(ctx)
3208	req.ApplyOptions(opts...)
3209	return out, req.Send()
3210}
3211
3212const opRequestEnvironmentInfo = "RequestEnvironmentInfo"
3213
3214// RequestEnvironmentInfoRequest generates a "aws/request.Request" representing the
3215// client's request for the RequestEnvironmentInfo operation. The "output" return
3216// value will be populated with the request's response once the request completes
3217// successfully.
3218//
3219// Use "Send" method on the returned Request to send the API call to the service.
3220// the "output" return value is not valid until after Send returns without error.
3221//
3222// See RequestEnvironmentInfo for more information on using the RequestEnvironmentInfo
3223// API call, and error handling.
3224//
3225// This method is useful when you want to inject custom logic or configuration
3226// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3227//
3228//
3229//    // Example sending a request using the RequestEnvironmentInfoRequest method.
3230//    req, resp := client.RequestEnvironmentInfoRequest(params)
3231//
3232//    err := req.Send()
3233//    if err == nil { // resp is now filled
3234//        fmt.Println(resp)
3235//    }
3236//
3237// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/RequestEnvironmentInfo
3238func (c *ElasticBeanstalk) RequestEnvironmentInfoRequest(input *RequestEnvironmentInfoInput) (req *request.Request, output *RequestEnvironmentInfoOutput) {
3239	op := &request.Operation{
3240		Name:       opRequestEnvironmentInfo,
3241		HTTPMethod: "POST",
3242		HTTPPath:   "/",
3243	}
3244
3245	if input == nil {
3246		input = &RequestEnvironmentInfoInput{}
3247	}
3248
3249	output = &RequestEnvironmentInfoOutput{}
3250	req = c.newRequest(op, input, output)
3251	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3252	return
3253}
3254
3255// RequestEnvironmentInfo API operation for AWS Elastic Beanstalk.
3256//
3257// Initiates a request to compile the specified type of information of the deployed
3258// environment.
3259//
3260// Setting the InfoType to tail compiles the last lines from the application
3261// server log files of every Amazon EC2 instance in your environment.
3262//
3263// Setting the InfoType to bundle compresses the application server log files
3264// for every Amazon EC2 instance into a .zip file. Legacy and .NET containers
3265// do not support bundle logs.
3266//
3267// Use RetrieveEnvironmentInfo to obtain the set of logs.
3268//
3269// Related Topics
3270//
3271//    * RetrieveEnvironmentInfo
3272//
3273// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3274// with awserr.Error's Code and Message methods to get detailed information about
3275// the error.
3276//
3277// See the AWS API reference guide for AWS Elastic Beanstalk's
3278// API operation RequestEnvironmentInfo for usage and error information.
3279// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/RequestEnvironmentInfo
3280func (c *ElasticBeanstalk) RequestEnvironmentInfo(input *RequestEnvironmentInfoInput) (*RequestEnvironmentInfoOutput, error) {
3281	req, out := c.RequestEnvironmentInfoRequest(input)
3282	return out, req.Send()
3283}
3284
3285// RequestEnvironmentInfoWithContext is the same as RequestEnvironmentInfo with the addition of
3286// the ability to pass a context and additional request options.
3287//
3288// See RequestEnvironmentInfo for details on how to use this API operation.
3289//
3290// The context must be non-nil and will be used for request cancellation. If
3291// the context is nil a panic will occur. In the future the SDK may create
3292// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3293// for more information on using Contexts.
3294func (c *ElasticBeanstalk) RequestEnvironmentInfoWithContext(ctx aws.Context, input *RequestEnvironmentInfoInput, opts ...request.Option) (*RequestEnvironmentInfoOutput, error) {
3295	req, out := c.RequestEnvironmentInfoRequest(input)
3296	req.SetContext(ctx)
3297	req.ApplyOptions(opts...)
3298	return out, req.Send()
3299}
3300
3301const opRestartAppServer = "RestartAppServer"
3302
3303// RestartAppServerRequest generates a "aws/request.Request" representing the
3304// client's request for the RestartAppServer operation. The "output" return
3305// value will be populated with the request's response once the request completes
3306// successfully.
3307//
3308// Use "Send" method on the returned Request to send the API call to the service.
3309// the "output" return value is not valid until after Send returns without error.
3310//
3311// See RestartAppServer for more information on using the RestartAppServer
3312// API call, and error handling.
3313//
3314// This method is useful when you want to inject custom logic or configuration
3315// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3316//
3317//
3318//    // Example sending a request using the RestartAppServerRequest method.
3319//    req, resp := client.RestartAppServerRequest(params)
3320//
3321//    err := req.Send()
3322//    if err == nil { // resp is now filled
3323//        fmt.Println(resp)
3324//    }
3325//
3326// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/RestartAppServer
3327func (c *ElasticBeanstalk) RestartAppServerRequest(input *RestartAppServerInput) (req *request.Request, output *RestartAppServerOutput) {
3328	op := &request.Operation{
3329		Name:       opRestartAppServer,
3330		HTTPMethod: "POST",
3331		HTTPPath:   "/",
3332	}
3333
3334	if input == nil {
3335		input = &RestartAppServerInput{}
3336	}
3337
3338	output = &RestartAppServerOutput{}
3339	req = c.newRequest(op, input, output)
3340	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3341	return
3342}
3343
3344// RestartAppServer API operation for AWS Elastic Beanstalk.
3345//
3346// Causes the environment to restart the application container server running
3347// on each Amazon EC2 instance.
3348//
3349// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3350// with awserr.Error's Code and Message methods to get detailed information about
3351// the error.
3352//
3353// See the AWS API reference guide for AWS Elastic Beanstalk's
3354// API operation RestartAppServer for usage and error information.
3355// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/RestartAppServer
3356func (c *ElasticBeanstalk) RestartAppServer(input *RestartAppServerInput) (*RestartAppServerOutput, error) {
3357	req, out := c.RestartAppServerRequest(input)
3358	return out, req.Send()
3359}
3360
3361// RestartAppServerWithContext is the same as RestartAppServer with the addition of
3362// the ability to pass a context and additional request options.
3363//
3364// See RestartAppServer for details on how to use this API operation.
3365//
3366// The context must be non-nil and will be used for request cancellation. If
3367// the context is nil a panic will occur. In the future the SDK may create
3368// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3369// for more information on using Contexts.
3370func (c *ElasticBeanstalk) RestartAppServerWithContext(ctx aws.Context, input *RestartAppServerInput, opts ...request.Option) (*RestartAppServerOutput, error) {
3371	req, out := c.RestartAppServerRequest(input)
3372	req.SetContext(ctx)
3373	req.ApplyOptions(opts...)
3374	return out, req.Send()
3375}
3376
3377const opRetrieveEnvironmentInfo = "RetrieveEnvironmentInfo"
3378
3379// RetrieveEnvironmentInfoRequest generates a "aws/request.Request" representing the
3380// client's request for the RetrieveEnvironmentInfo operation. The "output" return
3381// value will be populated with the request's response once the request completes
3382// successfully.
3383//
3384// Use "Send" method on the returned Request to send the API call to the service.
3385// the "output" return value is not valid until after Send returns without error.
3386//
3387// See RetrieveEnvironmentInfo for more information on using the RetrieveEnvironmentInfo
3388// API call, and error handling.
3389//
3390// This method is useful when you want to inject custom logic or configuration
3391// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3392//
3393//
3394//    // Example sending a request using the RetrieveEnvironmentInfoRequest method.
3395//    req, resp := client.RetrieveEnvironmentInfoRequest(params)
3396//
3397//    err := req.Send()
3398//    if err == nil { // resp is now filled
3399//        fmt.Println(resp)
3400//    }
3401//
3402// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/RetrieveEnvironmentInfo
3403func (c *ElasticBeanstalk) RetrieveEnvironmentInfoRequest(input *RetrieveEnvironmentInfoInput) (req *request.Request, output *RetrieveEnvironmentInfoOutput) {
3404	op := &request.Operation{
3405		Name:       opRetrieveEnvironmentInfo,
3406		HTTPMethod: "POST",
3407		HTTPPath:   "/",
3408	}
3409
3410	if input == nil {
3411		input = &RetrieveEnvironmentInfoInput{}
3412	}
3413
3414	output = &RetrieveEnvironmentInfoOutput{}
3415	req = c.newRequest(op, input, output)
3416	return
3417}
3418
3419// RetrieveEnvironmentInfo API operation for AWS Elastic Beanstalk.
3420//
3421// Retrieves the compiled information from a RequestEnvironmentInfo request.
3422//
3423// Related Topics
3424//
3425//    * RequestEnvironmentInfo
3426//
3427// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3428// with awserr.Error's Code and Message methods to get detailed information about
3429// the error.
3430//
3431// See the AWS API reference guide for AWS Elastic Beanstalk's
3432// API operation RetrieveEnvironmentInfo for usage and error information.
3433// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/RetrieveEnvironmentInfo
3434func (c *ElasticBeanstalk) RetrieveEnvironmentInfo(input *RetrieveEnvironmentInfoInput) (*RetrieveEnvironmentInfoOutput, error) {
3435	req, out := c.RetrieveEnvironmentInfoRequest(input)
3436	return out, req.Send()
3437}
3438
3439// RetrieveEnvironmentInfoWithContext is the same as RetrieveEnvironmentInfo with the addition of
3440// the ability to pass a context and additional request options.
3441//
3442// See RetrieveEnvironmentInfo for details on how to use this API operation.
3443//
3444// The context must be non-nil and will be used for request cancellation. If
3445// the context is nil a panic will occur. In the future the SDK may create
3446// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3447// for more information on using Contexts.
3448func (c *ElasticBeanstalk) RetrieveEnvironmentInfoWithContext(ctx aws.Context, input *RetrieveEnvironmentInfoInput, opts ...request.Option) (*RetrieveEnvironmentInfoOutput, error) {
3449	req, out := c.RetrieveEnvironmentInfoRequest(input)
3450	req.SetContext(ctx)
3451	req.ApplyOptions(opts...)
3452	return out, req.Send()
3453}
3454
3455const opSwapEnvironmentCNAMEs = "SwapEnvironmentCNAMEs"
3456
3457// SwapEnvironmentCNAMEsRequest generates a "aws/request.Request" representing the
3458// client's request for the SwapEnvironmentCNAMEs operation. The "output" return
3459// value will be populated with the request's response once the request completes
3460// successfully.
3461//
3462// Use "Send" method on the returned Request to send the API call to the service.
3463// the "output" return value is not valid until after Send returns without error.
3464//
3465// See SwapEnvironmentCNAMEs for more information on using the SwapEnvironmentCNAMEs
3466// API call, and error handling.
3467//
3468// This method is useful when you want to inject custom logic or configuration
3469// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3470//
3471//
3472//    // Example sending a request using the SwapEnvironmentCNAMEsRequest method.
3473//    req, resp := client.SwapEnvironmentCNAMEsRequest(params)
3474//
3475//    err := req.Send()
3476//    if err == nil { // resp is now filled
3477//        fmt.Println(resp)
3478//    }
3479//
3480// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/SwapEnvironmentCNAMEs
3481func (c *ElasticBeanstalk) SwapEnvironmentCNAMEsRequest(input *SwapEnvironmentCNAMEsInput) (req *request.Request, output *SwapEnvironmentCNAMEsOutput) {
3482	op := &request.Operation{
3483		Name:       opSwapEnvironmentCNAMEs,
3484		HTTPMethod: "POST",
3485		HTTPPath:   "/",
3486	}
3487
3488	if input == nil {
3489		input = &SwapEnvironmentCNAMEsInput{}
3490	}
3491
3492	output = &SwapEnvironmentCNAMEsOutput{}
3493	req = c.newRequest(op, input, output)
3494	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3495	return
3496}
3497
3498// SwapEnvironmentCNAMEs API operation for AWS Elastic Beanstalk.
3499//
3500// Swaps the CNAMEs of two environments.
3501//
3502// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3503// with awserr.Error's Code and Message methods to get detailed information about
3504// the error.
3505//
3506// See the AWS API reference guide for AWS Elastic Beanstalk's
3507// API operation SwapEnvironmentCNAMEs for usage and error information.
3508// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/SwapEnvironmentCNAMEs
3509func (c *ElasticBeanstalk) SwapEnvironmentCNAMEs(input *SwapEnvironmentCNAMEsInput) (*SwapEnvironmentCNAMEsOutput, error) {
3510	req, out := c.SwapEnvironmentCNAMEsRequest(input)
3511	return out, req.Send()
3512}
3513
3514// SwapEnvironmentCNAMEsWithContext is the same as SwapEnvironmentCNAMEs with the addition of
3515// the ability to pass a context and additional request options.
3516//
3517// See SwapEnvironmentCNAMEs for details on how to use this API operation.
3518//
3519// The context must be non-nil and will be used for request cancellation. If
3520// the context is nil a panic will occur. In the future the SDK may create
3521// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3522// for more information on using Contexts.
3523func (c *ElasticBeanstalk) SwapEnvironmentCNAMEsWithContext(ctx aws.Context, input *SwapEnvironmentCNAMEsInput, opts ...request.Option) (*SwapEnvironmentCNAMEsOutput, error) {
3524	req, out := c.SwapEnvironmentCNAMEsRequest(input)
3525	req.SetContext(ctx)
3526	req.ApplyOptions(opts...)
3527	return out, req.Send()
3528}
3529
3530const opTerminateEnvironment = "TerminateEnvironment"
3531
3532// TerminateEnvironmentRequest generates a "aws/request.Request" representing the
3533// client's request for the TerminateEnvironment operation. The "output" return
3534// value will be populated with the request's response once the request completes
3535// successfully.
3536//
3537// Use "Send" method on the returned Request to send the API call to the service.
3538// the "output" return value is not valid until after Send returns without error.
3539//
3540// See TerminateEnvironment for more information on using the TerminateEnvironment
3541// API call, and error handling.
3542//
3543// This method is useful when you want to inject custom logic or configuration
3544// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3545//
3546//
3547//    // Example sending a request using the TerminateEnvironmentRequest method.
3548//    req, resp := client.TerminateEnvironmentRequest(params)
3549//
3550//    err := req.Send()
3551//    if err == nil { // resp is now filled
3552//        fmt.Println(resp)
3553//    }
3554//
3555// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/TerminateEnvironment
3556func (c *ElasticBeanstalk) TerminateEnvironmentRequest(input *TerminateEnvironmentInput) (req *request.Request, output *EnvironmentDescription) {
3557	op := &request.Operation{
3558		Name:       opTerminateEnvironment,
3559		HTTPMethod: "POST",
3560		HTTPPath:   "/",
3561	}
3562
3563	if input == nil {
3564		input = &TerminateEnvironmentInput{}
3565	}
3566
3567	output = &EnvironmentDescription{}
3568	req = c.newRequest(op, input, output)
3569	return
3570}
3571
3572// TerminateEnvironment API operation for AWS Elastic Beanstalk.
3573//
3574// Terminates the specified environment.
3575//
3576// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3577// with awserr.Error's Code and Message methods to get detailed information about
3578// the error.
3579//
3580// See the AWS API reference guide for AWS Elastic Beanstalk's
3581// API operation TerminateEnvironment for usage and error information.
3582//
3583// Returned Error Codes:
3584//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
3585//   The specified account does not have sufficient privileges for one or more
3586//   AWS services.
3587//
3588// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/TerminateEnvironment
3589func (c *ElasticBeanstalk) TerminateEnvironment(input *TerminateEnvironmentInput) (*EnvironmentDescription, error) {
3590	req, out := c.TerminateEnvironmentRequest(input)
3591	return out, req.Send()
3592}
3593
3594// TerminateEnvironmentWithContext is the same as TerminateEnvironment with the addition of
3595// the ability to pass a context and additional request options.
3596//
3597// See TerminateEnvironment for details on how to use this API operation.
3598//
3599// The context must be non-nil and will be used for request cancellation. If
3600// the context is nil a panic will occur. In the future the SDK may create
3601// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3602// for more information on using Contexts.
3603func (c *ElasticBeanstalk) TerminateEnvironmentWithContext(ctx aws.Context, input *TerminateEnvironmentInput, opts ...request.Option) (*EnvironmentDescription, error) {
3604	req, out := c.TerminateEnvironmentRequest(input)
3605	req.SetContext(ctx)
3606	req.ApplyOptions(opts...)
3607	return out, req.Send()
3608}
3609
3610const opUpdateApplication = "UpdateApplication"
3611
3612// UpdateApplicationRequest generates a "aws/request.Request" representing the
3613// client's request for the UpdateApplication operation. The "output" return
3614// value will be populated with the request's response once the request completes
3615// successfully.
3616//
3617// Use "Send" method on the returned Request to send the API call to the service.
3618// the "output" return value is not valid until after Send returns without error.
3619//
3620// See UpdateApplication for more information on using the UpdateApplication
3621// API call, and error handling.
3622//
3623// This method is useful when you want to inject custom logic or configuration
3624// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3625//
3626//
3627//    // Example sending a request using the UpdateApplicationRequest method.
3628//    req, resp := client.UpdateApplicationRequest(params)
3629//
3630//    err := req.Send()
3631//    if err == nil { // resp is now filled
3632//        fmt.Println(resp)
3633//    }
3634//
3635// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateApplication
3636func (c *ElasticBeanstalk) UpdateApplicationRequest(input *UpdateApplicationInput) (req *request.Request, output *ApplicationDescriptionMessage) {
3637	op := &request.Operation{
3638		Name:       opUpdateApplication,
3639		HTTPMethod: "POST",
3640		HTTPPath:   "/",
3641	}
3642
3643	if input == nil {
3644		input = &UpdateApplicationInput{}
3645	}
3646
3647	output = &ApplicationDescriptionMessage{}
3648	req = c.newRequest(op, input, output)
3649	return
3650}
3651
3652// UpdateApplication API operation for AWS Elastic Beanstalk.
3653//
3654// Updates the specified application to have the specified properties.
3655//
3656// If a property (for example, description) is not provided, the value remains
3657// unchanged. To clear these properties, specify an empty string.
3658//
3659// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3660// with awserr.Error's Code and Message methods to get detailed information about
3661// the error.
3662//
3663// See the AWS API reference guide for AWS Elastic Beanstalk's
3664// API operation UpdateApplication for usage and error information.
3665// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateApplication
3666func (c *ElasticBeanstalk) UpdateApplication(input *UpdateApplicationInput) (*ApplicationDescriptionMessage, error) {
3667	req, out := c.UpdateApplicationRequest(input)
3668	return out, req.Send()
3669}
3670
3671// UpdateApplicationWithContext is the same as UpdateApplication with the addition of
3672// the ability to pass a context and additional request options.
3673//
3674// See UpdateApplication for details on how to use this API operation.
3675//
3676// The context must be non-nil and will be used for request cancellation. If
3677// the context is nil a panic will occur. In the future the SDK may create
3678// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3679// for more information on using Contexts.
3680func (c *ElasticBeanstalk) UpdateApplicationWithContext(ctx aws.Context, input *UpdateApplicationInput, opts ...request.Option) (*ApplicationDescriptionMessage, error) {
3681	req, out := c.UpdateApplicationRequest(input)
3682	req.SetContext(ctx)
3683	req.ApplyOptions(opts...)
3684	return out, req.Send()
3685}
3686
3687const opUpdateApplicationResourceLifecycle = "UpdateApplicationResourceLifecycle"
3688
3689// UpdateApplicationResourceLifecycleRequest generates a "aws/request.Request" representing the
3690// client's request for the UpdateApplicationResourceLifecycle operation. The "output" return
3691// value will be populated with the request's response once the request completes
3692// successfully.
3693//
3694// Use "Send" method on the returned Request to send the API call to the service.
3695// the "output" return value is not valid until after Send returns without error.
3696//
3697// See UpdateApplicationResourceLifecycle for more information on using the UpdateApplicationResourceLifecycle
3698// API call, and error handling.
3699//
3700// This method is useful when you want to inject custom logic or configuration
3701// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3702//
3703//
3704//    // Example sending a request using the UpdateApplicationResourceLifecycleRequest method.
3705//    req, resp := client.UpdateApplicationResourceLifecycleRequest(params)
3706//
3707//    err := req.Send()
3708//    if err == nil { // resp is now filled
3709//        fmt.Println(resp)
3710//    }
3711//
3712// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateApplicationResourceLifecycle
3713func (c *ElasticBeanstalk) UpdateApplicationResourceLifecycleRequest(input *UpdateApplicationResourceLifecycleInput) (req *request.Request, output *UpdateApplicationResourceLifecycleOutput) {
3714	op := &request.Operation{
3715		Name:       opUpdateApplicationResourceLifecycle,
3716		HTTPMethod: "POST",
3717		HTTPPath:   "/",
3718	}
3719
3720	if input == nil {
3721		input = &UpdateApplicationResourceLifecycleInput{}
3722	}
3723
3724	output = &UpdateApplicationResourceLifecycleOutput{}
3725	req = c.newRequest(op, input, output)
3726	return
3727}
3728
3729// UpdateApplicationResourceLifecycle API operation for AWS Elastic Beanstalk.
3730//
3731// Modifies lifecycle settings for an application.
3732//
3733// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3734// with awserr.Error's Code and Message methods to get detailed information about
3735// the error.
3736//
3737// See the AWS API reference guide for AWS Elastic Beanstalk's
3738// API operation UpdateApplicationResourceLifecycle for usage and error information.
3739//
3740// Returned Error Codes:
3741//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
3742//   The specified account does not have sufficient privileges for one or more
3743//   AWS services.
3744//
3745// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateApplicationResourceLifecycle
3746func (c *ElasticBeanstalk) UpdateApplicationResourceLifecycle(input *UpdateApplicationResourceLifecycleInput) (*UpdateApplicationResourceLifecycleOutput, error) {
3747	req, out := c.UpdateApplicationResourceLifecycleRequest(input)
3748	return out, req.Send()
3749}
3750
3751// UpdateApplicationResourceLifecycleWithContext is the same as UpdateApplicationResourceLifecycle with the addition of
3752// the ability to pass a context and additional request options.
3753//
3754// See UpdateApplicationResourceLifecycle for details on how to use this API operation.
3755//
3756// The context must be non-nil and will be used for request cancellation. If
3757// the context is nil a panic will occur. In the future the SDK may create
3758// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3759// for more information on using Contexts.
3760func (c *ElasticBeanstalk) UpdateApplicationResourceLifecycleWithContext(ctx aws.Context, input *UpdateApplicationResourceLifecycleInput, opts ...request.Option) (*UpdateApplicationResourceLifecycleOutput, error) {
3761	req, out := c.UpdateApplicationResourceLifecycleRequest(input)
3762	req.SetContext(ctx)
3763	req.ApplyOptions(opts...)
3764	return out, req.Send()
3765}
3766
3767const opUpdateApplicationVersion = "UpdateApplicationVersion"
3768
3769// UpdateApplicationVersionRequest generates a "aws/request.Request" representing the
3770// client's request for the UpdateApplicationVersion operation. The "output" return
3771// value will be populated with the request's response once the request completes
3772// successfully.
3773//
3774// Use "Send" method on the returned Request to send the API call to the service.
3775// the "output" return value is not valid until after Send returns without error.
3776//
3777// See UpdateApplicationVersion for more information on using the UpdateApplicationVersion
3778// API call, and error handling.
3779//
3780// This method is useful when you want to inject custom logic or configuration
3781// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3782//
3783//
3784//    // Example sending a request using the UpdateApplicationVersionRequest method.
3785//    req, resp := client.UpdateApplicationVersionRequest(params)
3786//
3787//    err := req.Send()
3788//    if err == nil { // resp is now filled
3789//        fmt.Println(resp)
3790//    }
3791//
3792// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateApplicationVersion
3793func (c *ElasticBeanstalk) UpdateApplicationVersionRequest(input *UpdateApplicationVersionInput) (req *request.Request, output *ApplicationVersionDescriptionMessage) {
3794	op := &request.Operation{
3795		Name:       opUpdateApplicationVersion,
3796		HTTPMethod: "POST",
3797		HTTPPath:   "/",
3798	}
3799
3800	if input == nil {
3801		input = &UpdateApplicationVersionInput{}
3802	}
3803
3804	output = &ApplicationVersionDescriptionMessage{}
3805	req = c.newRequest(op, input, output)
3806	return
3807}
3808
3809// UpdateApplicationVersion API operation for AWS Elastic Beanstalk.
3810//
3811// Updates the specified application version to have the specified properties.
3812//
3813// If a property (for example, description) is not provided, the value remains
3814// unchanged. To clear properties, specify an empty string.
3815//
3816// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3817// with awserr.Error's Code and Message methods to get detailed information about
3818// the error.
3819//
3820// See the AWS API reference guide for AWS Elastic Beanstalk's
3821// API operation UpdateApplicationVersion for usage and error information.
3822// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateApplicationVersion
3823func (c *ElasticBeanstalk) UpdateApplicationVersion(input *UpdateApplicationVersionInput) (*ApplicationVersionDescriptionMessage, error) {
3824	req, out := c.UpdateApplicationVersionRequest(input)
3825	return out, req.Send()
3826}
3827
3828// UpdateApplicationVersionWithContext is the same as UpdateApplicationVersion with the addition of
3829// the ability to pass a context and additional request options.
3830//
3831// See UpdateApplicationVersion for details on how to use this API operation.
3832//
3833// The context must be non-nil and will be used for request cancellation. If
3834// the context is nil a panic will occur. In the future the SDK may create
3835// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3836// for more information on using Contexts.
3837func (c *ElasticBeanstalk) UpdateApplicationVersionWithContext(ctx aws.Context, input *UpdateApplicationVersionInput, opts ...request.Option) (*ApplicationVersionDescriptionMessage, error) {
3838	req, out := c.UpdateApplicationVersionRequest(input)
3839	req.SetContext(ctx)
3840	req.ApplyOptions(opts...)
3841	return out, req.Send()
3842}
3843
3844const opUpdateConfigurationTemplate = "UpdateConfigurationTemplate"
3845
3846// UpdateConfigurationTemplateRequest generates a "aws/request.Request" representing the
3847// client's request for the UpdateConfigurationTemplate operation. The "output" return
3848// value will be populated with the request's response once the request completes
3849// successfully.
3850//
3851// Use "Send" method on the returned Request to send the API call to the service.
3852// the "output" return value is not valid until after Send returns without error.
3853//
3854// See UpdateConfigurationTemplate for more information on using the UpdateConfigurationTemplate
3855// API call, and error handling.
3856//
3857// This method is useful when you want to inject custom logic or configuration
3858// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3859//
3860//
3861//    // Example sending a request using the UpdateConfigurationTemplateRequest method.
3862//    req, resp := client.UpdateConfigurationTemplateRequest(params)
3863//
3864//    err := req.Send()
3865//    if err == nil { // resp is now filled
3866//        fmt.Println(resp)
3867//    }
3868//
3869// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateConfigurationTemplate
3870func (c *ElasticBeanstalk) UpdateConfigurationTemplateRequest(input *UpdateConfigurationTemplateInput) (req *request.Request, output *ConfigurationSettingsDescription) {
3871	op := &request.Operation{
3872		Name:       opUpdateConfigurationTemplate,
3873		HTTPMethod: "POST",
3874		HTTPPath:   "/",
3875	}
3876
3877	if input == nil {
3878		input = &UpdateConfigurationTemplateInput{}
3879	}
3880
3881	output = &ConfigurationSettingsDescription{}
3882	req = c.newRequest(op, input, output)
3883	return
3884}
3885
3886// UpdateConfigurationTemplate API operation for AWS Elastic Beanstalk.
3887//
3888// Updates the specified configuration template to have the specified properties
3889// or configuration option values.
3890//
3891// If a property (for example, ApplicationName) is not provided, its value remains
3892// unchanged. To clear such properties, specify an empty string.
3893//
3894// Related Topics
3895//
3896//    * DescribeConfigurationOptions
3897//
3898// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3899// with awserr.Error's Code and Message methods to get detailed information about
3900// the error.
3901//
3902// See the AWS API reference guide for AWS Elastic Beanstalk's
3903// API operation UpdateConfigurationTemplate for usage and error information.
3904//
3905// Returned Error Codes:
3906//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
3907//   The specified account does not have sufficient privileges for one or more
3908//   AWS services.
3909//
3910//   * ErrCodeTooManyBucketsException "TooManyBucketsException"
3911//   The specified account has reached its limit of Amazon S3 buckets.
3912//
3913// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateConfigurationTemplate
3914func (c *ElasticBeanstalk) UpdateConfigurationTemplate(input *UpdateConfigurationTemplateInput) (*ConfigurationSettingsDescription, error) {
3915	req, out := c.UpdateConfigurationTemplateRequest(input)
3916	return out, req.Send()
3917}
3918
3919// UpdateConfigurationTemplateWithContext is the same as UpdateConfigurationTemplate with the addition of
3920// the ability to pass a context and additional request options.
3921//
3922// See UpdateConfigurationTemplate for details on how to use this API operation.
3923//
3924// The context must be non-nil and will be used for request cancellation. If
3925// the context is nil a panic will occur. In the future the SDK may create
3926// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3927// for more information on using Contexts.
3928func (c *ElasticBeanstalk) UpdateConfigurationTemplateWithContext(ctx aws.Context, input *UpdateConfigurationTemplateInput, opts ...request.Option) (*ConfigurationSettingsDescription, error) {
3929	req, out := c.UpdateConfigurationTemplateRequest(input)
3930	req.SetContext(ctx)
3931	req.ApplyOptions(opts...)
3932	return out, req.Send()
3933}
3934
3935const opUpdateEnvironment = "UpdateEnvironment"
3936
3937// UpdateEnvironmentRequest generates a "aws/request.Request" representing the
3938// client's request for the UpdateEnvironment operation. The "output" return
3939// value will be populated with the request's response once the request completes
3940// successfully.
3941//
3942// Use "Send" method on the returned Request to send the API call to the service.
3943// the "output" return value is not valid until after Send returns without error.
3944//
3945// See UpdateEnvironment for more information on using the UpdateEnvironment
3946// API call, and error handling.
3947//
3948// This method is useful when you want to inject custom logic or configuration
3949// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3950//
3951//
3952//    // Example sending a request using the UpdateEnvironmentRequest method.
3953//    req, resp := client.UpdateEnvironmentRequest(params)
3954//
3955//    err := req.Send()
3956//    if err == nil { // resp is now filled
3957//        fmt.Println(resp)
3958//    }
3959//
3960// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateEnvironment
3961func (c *ElasticBeanstalk) UpdateEnvironmentRequest(input *UpdateEnvironmentInput) (req *request.Request, output *EnvironmentDescription) {
3962	op := &request.Operation{
3963		Name:       opUpdateEnvironment,
3964		HTTPMethod: "POST",
3965		HTTPPath:   "/",
3966	}
3967
3968	if input == nil {
3969		input = &UpdateEnvironmentInput{}
3970	}
3971
3972	output = &EnvironmentDescription{}
3973	req = c.newRequest(op, input, output)
3974	return
3975}
3976
3977// UpdateEnvironment API operation for AWS Elastic Beanstalk.
3978//
3979// Updates the environment description, deploys a new application version, updates
3980// the configuration settings to an entirely new configuration template, or
3981// updates select configuration option values in the running environment.
3982//
3983// Attempting to update both the release and configuration is not allowed and
3984// AWS Elastic Beanstalk returns an InvalidParameterCombination error.
3985//
3986// When updating the configuration settings to a new template or individual
3987// settings, a draft configuration is created and DescribeConfigurationSettings
3988// for this environment returns two setting descriptions with different DeploymentStatus
3989// values.
3990//
3991// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3992// with awserr.Error's Code and Message methods to get detailed information about
3993// the error.
3994//
3995// See the AWS API reference guide for AWS Elastic Beanstalk's
3996// API operation UpdateEnvironment for usage and error information.
3997//
3998// Returned Error Codes:
3999//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
4000//   The specified account does not have sufficient privileges for one or more
4001//   AWS services.
4002//
4003//   * ErrCodeTooManyBucketsException "TooManyBucketsException"
4004//   The specified account has reached its limit of Amazon S3 buckets.
4005//
4006// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateEnvironment
4007func (c *ElasticBeanstalk) UpdateEnvironment(input *UpdateEnvironmentInput) (*EnvironmentDescription, error) {
4008	req, out := c.UpdateEnvironmentRequest(input)
4009	return out, req.Send()
4010}
4011
4012// UpdateEnvironmentWithContext is the same as UpdateEnvironment with the addition of
4013// the ability to pass a context and additional request options.
4014//
4015// See UpdateEnvironment for details on how to use this API operation.
4016//
4017// The context must be non-nil and will be used for request cancellation. If
4018// the context is nil a panic will occur. In the future the SDK may create
4019// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4020// for more information on using Contexts.
4021func (c *ElasticBeanstalk) UpdateEnvironmentWithContext(ctx aws.Context, input *UpdateEnvironmentInput, opts ...request.Option) (*EnvironmentDescription, error) {
4022	req, out := c.UpdateEnvironmentRequest(input)
4023	req.SetContext(ctx)
4024	req.ApplyOptions(opts...)
4025	return out, req.Send()
4026}
4027
4028const opUpdateTagsForResource = "UpdateTagsForResource"
4029
4030// UpdateTagsForResourceRequest generates a "aws/request.Request" representing the
4031// client's request for the UpdateTagsForResource operation. The "output" return
4032// value will be populated with the request's response once the request completes
4033// successfully.
4034//
4035// Use "Send" method on the returned Request to send the API call to the service.
4036// the "output" return value is not valid until after Send returns without error.
4037//
4038// See UpdateTagsForResource for more information on using the UpdateTagsForResource
4039// API call, and error handling.
4040//
4041// This method is useful when you want to inject custom logic or configuration
4042// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4043//
4044//
4045//    // Example sending a request using the UpdateTagsForResourceRequest method.
4046//    req, resp := client.UpdateTagsForResourceRequest(params)
4047//
4048//    err := req.Send()
4049//    if err == nil { // resp is now filled
4050//        fmt.Println(resp)
4051//    }
4052//
4053// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateTagsForResource
4054func (c *ElasticBeanstalk) UpdateTagsForResourceRequest(input *UpdateTagsForResourceInput) (req *request.Request, output *UpdateTagsForResourceOutput) {
4055	op := &request.Operation{
4056		Name:       opUpdateTagsForResource,
4057		HTTPMethod: "POST",
4058		HTTPPath:   "/",
4059	}
4060
4061	if input == nil {
4062		input = &UpdateTagsForResourceInput{}
4063	}
4064
4065	output = &UpdateTagsForResourceOutput{}
4066	req = c.newRequest(op, input, output)
4067	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4068	return
4069}
4070
4071// UpdateTagsForResource API operation for AWS Elastic Beanstalk.
4072//
4073// Update the list of tags applied to an AWS Elastic Beanstalk resource. Two
4074// lists can be passed: TagsToAdd for tags to add or update, and TagsToRemove.
4075//
4076// Elastic Beanstalk supports tagging of all of its resources. For details about
4077// resource tagging, see Tagging Application Resources (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/applications-tagging-resources.html).
4078//
4079// If you create a custom IAM user policy to control permission to this operation,
4080// specify one of the following two virtual actions (or both) instead of the
4081// API operation name:
4082//
4083// elasticbeanstalk:AddTags
4084//
4085// Controls permission to call UpdateTagsForResource and pass a list of tags
4086// to add in the TagsToAdd parameter.
4087//
4088// elasticbeanstalk:RemoveTags
4089//
4090// Controls permission to call UpdateTagsForResource and pass a list of tag
4091// keys to remove in the TagsToRemove parameter.
4092//
4093// For details about creating a custom user policy, see Creating a Custom User
4094// Policy (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.iam.managed-policies.html#AWSHowTo.iam.policies).
4095//
4096// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4097// with awserr.Error's Code and Message methods to get detailed information about
4098// the error.
4099//
4100// See the AWS API reference guide for AWS Elastic Beanstalk's
4101// API operation UpdateTagsForResource for usage and error information.
4102//
4103// Returned Error Codes:
4104//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
4105//   The specified account does not have sufficient privileges for one or more
4106//   AWS services.
4107//
4108//   * ErrCodeOperationInProgressException "OperationInProgressFailure"
4109//   Unable to perform the specified operation because another operation that
4110//   effects an element in this activity is already in progress.
4111//
4112//   * ErrCodeTooManyTagsException "TooManyTagsException"
4113//   The number of tags in the resource would exceed the number of tags that each
4114//   resource can have.
4115//
4116//   To calculate this, the operation considers both the number of tags the resource
4117//   already has and the tags this operation would add if it succeeded.
4118//
4119//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
4120//   A resource doesn't exist for the specified Amazon Resource Name (ARN).
4121//
4122//   * ErrCodeResourceTypeNotSupportedException "ResourceTypeNotSupportedException"
4123//   The type of the specified Amazon Resource Name (ARN) isn't supported for
4124//   this operation.
4125//
4126// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateTagsForResource
4127func (c *ElasticBeanstalk) UpdateTagsForResource(input *UpdateTagsForResourceInput) (*UpdateTagsForResourceOutput, error) {
4128	req, out := c.UpdateTagsForResourceRequest(input)
4129	return out, req.Send()
4130}
4131
4132// UpdateTagsForResourceWithContext is the same as UpdateTagsForResource with the addition of
4133// the ability to pass a context and additional request options.
4134//
4135// See UpdateTagsForResource for details on how to use this API operation.
4136//
4137// The context must be non-nil and will be used for request cancellation. If
4138// the context is nil a panic will occur. In the future the SDK may create
4139// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4140// for more information on using Contexts.
4141func (c *ElasticBeanstalk) UpdateTagsForResourceWithContext(ctx aws.Context, input *UpdateTagsForResourceInput, opts ...request.Option) (*UpdateTagsForResourceOutput, error) {
4142	req, out := c.UpdateTagsForResourceRequest(input)
4143	req.SetContext(ctx)
4144	req.ApplyOptions(opts...)
4145	return out, req.Send()
4146}
4147
4148const opValidateConfigurationSettings = "ValidateConfigurationSettings"
4149
4150// ValidateConfigurationSettingsRequest generates a "aws/request.Request" representing the
4151// client's request for the ValidateConfigurationSettings operation. The "output" return
4152// value will be populated with the request's response once the request completes
4153// successfully.
4154//
4155// Use "Send" method on the returned Request to send the API call to the service.
4156// the "output" return value is not valid until after Send returns without error.
4157//
4158// See ValidateConfigurationSettings for more information on using the ValidateConfigurationSettings
4159// API call, and error handling.
4160//
4161// This method is useful when you want to inject custom logic or configuration
4162// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4163//
4164//
4165//    // Example sending a request using the ValidateConfigurationSettingsRequest method.
4166//    req, resp := client.ValidateConfigurationSettingsRequest(params)
4167//
4168//    err := req.Send()
4169//    if err == nil { // resp is now filled
4170//        fmt.Println(resp)
4171//    }
4172//
4173// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ValidateConfigurationSettings
4174func (c *ElasticBeanstalk) ValidateConfigurationSettingsRequest(input *ValidateConfigurationSettingsInput) (req *request.Request, output *ValidateConfigurationSettingsOutput) {
4175	op := &request.Operation{
4176		Name:       opValidateConfigurationSettings,
4177		HTTPMethod: "POST",
4178		HTTPPath:   "/",
4179	}
4180
4181	if input == nil {
4182		input = &ValidateConfigurationSettingsInput{}
4183	}
4184
4185	output = &ValidateConfigurationSettingsOutput{}
4186	req = c.newRequest(op, input, output)
4187	return
4188}
4189
4190// ValidateConfigurationSettings API operation for AWS Elastic Beanstalk.
4191//
4192// Takes a set of configuration settings and either a configuration template
4193// or environment, and determines whether those values are valid.
4194//
4195// This action returns a list of messages indicating any errors or warnings
4196// associated with the selection of option values.
4197//
4198// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4199// with awserr.Error's Code and Message methods to get detailed information about
4200// the error.
4201//
4202// See the AWS API reference guide for AWS Elastic Beanstalk's
4203// API operation ValidateConfigurationSettings for usage and error information.
4204//
4205// Returned Error Codes:
4206//   * ErrCodeInsufficientPrivilegesException "InsufficientPrivilegesException"
4207//   The specified account does not have sufficient privileges for one or more
4208//   AWS services.
4209//
4210//   * ErrCodeTooManyBucketsException "TooManyBucketsException"
4211//   The specified account has reached its limit of Amazon S3 buckets.
4212//
4213// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/ValidateConfigurationSettings
4214func (c *ElasticBeanstalk) ValidateConfigurationSettings(input *ValidateConfigurationSettingsInput) (*ValidateConfigurationSettingsOutput, error) {
4215	req, out := c.ValidateConfigurationSettingsRequest(input)
4216	return out, req.Send()
4217}
4218
4219// ValidateConfigurationSettingsWithContext is the same as ValidateConfigurationSettings with the addition of
4220// the ability to pass a context and additional request options.
4221//
4222// See ValidateConfigurationSettings for details on how to use this API operation.
4223//
4224// The context must be non-nil and will be used for request cancellation. If
4225// the context is nil a panic will occur. In the future the SDK may create
4226// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4227// for more information on using Contexts.
4228func (c *ElasticBeanstalk) ValidateConfigurationSettingsWithContext(ctx aws.Context, input *ValidateConfigurationSettingsInput, opts ...request.Option) (*ValidateConfigurationSettingsOutput, error) {
4229	req, out := c.ValidateConfigurationSettingsRequest(input)
4230	req.SetContext(ctx)
4231	req.ApplyOptions(opts...)
4232	return out, req.Send()
4233}
4234
4235type AbortEnvironmentUpdateInput struct {
4236	_ struct{} `type:"structure"`
4237
4238	// This specifies the ID of the environment with the in-progress update that
4239	// you want to cancel.
4240	EnvironmentId *string `type:"string"`
4241
4242	// This specifies the name of the environment with the in-progress update that
4243	// you want to cancel.
4244	EnvironmentName *string `min:"4" type:"string"`
4245}
4246
4247// String returns the string representation
4248func (s AbortEnvironmentUpdateInput) String() string {
4249	return awsutil.Prettify(s)
4250}
4251
4252// GoString returns the string representation
4253func (s AbortEnvironmentUpdateInput) GoString() string {
4254	return s.String()
4255}
4256
4257// Validate inspects the fields of the type to determine if they are valid.
4258func (s *AbortEnvironmentUpdateInput) Validate() error {
4259	invalidParams := request.ErrInvalidParams{Context: "AbortEnvironmentUpdateInput"}
4260	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
4261		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
4262	}
4263
4264	if invalidParams.Len() > 0 {
4265		return invalidParams
4266	}
4267	return nil
4268}
4269
4270// SetEnvironmentId sets the EnvironmentId field's value.
4271func (s *AbortEnvironmentUpdateInput) SetEnvironmentId(v string) *AbortEnvironmentUpdateInput {
4272	s.EnvironmentId = &v
4273	return s
4274}
4275
4276// SetEnvironmentName sets the EnvironmentName field's value.
4277func (s *AbortEnvironmentUpdateInput) SetEnvironmentName(v string) *AbortEnvironmentUpdateInput {
4278	s.EnvironmentName = &v
4279	return s
4280}
4281
4282type AbortEnvironmentUpdateOutput struct {
4283	_ struct{} `type:"structure"`
4284}
4285
4286// String returns the string representation
4287func (s AbortEnvironmentUpdateOutput) String() string {
4288	return awsutil.Prettify(s)
4289}
4290
4291// GoString returns the string representation
4292func (s AbortEnvironmentUpdateOutput) GoString() string {
4293	return s.String()
4294}
4295
4296// Describes the properties of an application.
4297type ApplicationDescription struct {
4298	_ struct{} `type:"structure"`
4299
4300	// The Amazon Resource Name (ARN) of the application.
4301	ApplicationArn *string `type:"string"`
4302
4303	// The name of the application.
4304	ApplicationName *string `min:"1" type:"string"`
4305
4306	// The names of the configuration templates associated with this application.
4307	ConfigurationTemplates []*string `type:"list"`
4308
4309	// The date when the application was created.
4310	DateCreated *time.Time `type:"timestamp"`
4311
4312	// The date when the application was last modified.
4313	DateUpdated *time.Time `type:"timestamp"`
4314
4315	// User-defined description of the application.
4316	Description *string `type:"string"`
4317
4318	// The lifecycle settings for the application.
4319	ResourceLifecycleConfig *ApplicationResourceLifecycleConfig `type:"structure"`
4320
4321	// The names of the versions for this application.
4322	Versions []*string `type:"list"`
4323}
4324
4325// String returns the string representation
4326func (s ApplicationDescription) String() string {
4327	return awsutil.Prettify(s)
4328}
4329
4330// GoString returns the string representation
4331func (s ApplicationDescription) GoString() string {
4332	return s.String()
4333}
4334
4335// SetApplicationArn sets the ApplicationArn field's value.
4336func (s *ApplicationDescription) SetApplicationArn(v string) *ApplicationDescription {
4337	s.ApplicationArn = &v
4338	return s
4339}
4340
4341// SetApplicationName sets the ApplicationName field's value.
4342func (s *ApplicationDescription) SetApplicationName(v string) *ApplicationDescription {
4343	s.ApplicationName = &v
4344	return s
4345}
4346
4347// SetConfigurationTemplates sets the ConfigurationTemplates field's value.
4348func (s *ApplicationDescription) SetConfigurationTemplates(v []*string) *ApplicationDescription {
4349	s.ConfigurationTemplates = v
4350	return s
4351}
4352
4353// SetDateCreated sets the DateCreated field's value.
4354func (s *ApplicationDescription) SetDateCreated(v time.Time) *ApplicationDescription {
4355	s.DateCreated = &v
4356	return s
4357}
4358
4359// SetDateUpdated sets the DateUpdated field's value.
4360func (s *ApplicationDescription) SetDateUpdated(v time.Time) *ApplicationDescription {
4361	s.DateUpdated = &v
4362	return s
4363}
4364
4365// SetDescription sets the Description field's value.
4366func (s *ApplicationDescription) SetDescription(v string) *ApplicationDescription {
4367	s.Description = &v
4368	return s
4369}
4370
4371// SetResourceLifecycleConfig sets the ResourceLifecycleConfig field's value.
4372func (s *ApplicationDescription) SetResourceLifecycleConfig(v *ApplicationResourceLifecycleConfig) *ApplicationDescription {
4373	s.ResourceLifecycleConfig = v
4374	return s
4375}
4376
4377// SetVersions sets the Versions field's value.
4378func (s *ApplicationDescription) SetVersions(v []*string) *ApplicationDescription {
4379	s.Versions = v
4380	return s
4381}
4382
4383// Result message containing a single description of an application.
4384type ApplicationDescriptionMessage struct {
4385	_ struct{} `type:"structure"`
4386
4387	// The ApplicationDescription of the application.
4388	Application *ApplicationDescription `type:"structure"`
4389}
4390
4391// String returns the string representation
4392func (s ApplicationDescriptionMessage) String() string {
4393	return awsutil.Prettify(s)
4394}
4395
4396// GoString returns the string representation
4397func (s ApplicationDescriptionMessage) GoString() string {
4398	return s.String()
4399}
4400
4401// SetApplication sets the Application field's value.
4402func (s *ApplicationDescriptionMessage) SetApplication(v *ApplicationDescription) *ApplicationDescriptionMessage {
4403	s.Application = v
4404	return s
4405}
4406
4407// Application request metrics for an AWS Elastic Beanstalk environment.
4408type ApplicationMetrics struct {
4409	_ struct{} `type:"structure"`
4410
4411	// The amount of time that the metrics cover (usually 10 seconds). For example,
4412	// you might have 5 requests (request_count) within the most recent time slice
4413	// of 10 seconds (duration).
4414	Duration *int64 `type:"integer"`
4415
4416	// Represents the average latency for the slowest X percent of requests over
4417	// the last 10 seconds. Latencies are in seconds with one millisecond resolution.
4418	Latency *Latency `type:"structure"`
4419
4420	// Average number of requests handled by the web server per second over the
4421	// last 10 seconds.
4422	RequestCount *int64 `type:"integer"`
4423
4424	// Represents the percentage of requests over the last 10 seconds that resulted
4425	// in each type of status code response.
4426	StatusCodes *StatusCodes `type:"structure"`
4427}
4428
4429// String returns the string representation
4430func (s ApplicationMetrics) String() string {
4431	return awsutil.Prettify(s)
4432}
4433
4434// GoString returns the string representation
4435func (s ApplicationMetrics) GoString() string {
4436	return s.String()
4437}
4438
4439// SetDuration sets the Duration field's value.
4440func (s *ApplicationMetrics) SetDuration(v int64) *ApplicationMetrics {
4441	s.Duration = &v
4442	return s
4443}
4444
4445// SetLatency sets the Latency field's value.
4446func (s *ApplicationMetrics) SetLatency(v *Latency) *ApplicationMetrics {
4447	s.Latency = v
4448	return s
4449}
4450
4451// SetRequestCount sets the RequestCount field's value.
4452func (s *ApplicationMetrics) SetRequestCount(v int64) *ApplicationMetrics {
4453	s.RequestCount = &v
4454	return s
4455}
4456
4457// SetStatusCodes sets the StatusCodes field's value.
4458func (s *ApplicationMetrics) SetStatusCodes(v *StatusCodes) *ApplicationMetrics {
4459	s.StatusCodes = v
4460	return s
4461}
4462
4463// The resource lifecycle configuration for an application. Defines lifecycle
4464// settings for resources that belong to the application, and the service role
4465// that AWS Elastic Beanstalk assumes in order to apply lifecycle settings.
4466// The version lifecycle configuration defines lifecycle settings for application
4467// versions.
4468type ApplicationResourceLifecycleConfig struct {
4469	_ struct{} `type:"structure"`
4470
4471	// The ARN of an IAM service role that Elastic Beanstalk has permission to assume.
4472	//
4473	// The ServiceRole property is required the first time that you provide a VersionLifecycleConfig
4474	// for the application in one of the supporting calls (CreateApplication or
4475	// UpdateApplicationResourceLifecycle). After you provide it once, in either
4476	// one of the calls, Elastic Beanstalk persists the Service Role with the application,
4477	// and you don't need to specify it again in subsequent UpdateApplicationResourceLifecycle
4478	// calls. You can, however, specify it in subsequent calls to change the Service
4479	// Role to another value.
4480	ServiceRole *string `type:"string"`
4481
4482	// Defines lifecycle settings for application versions.
4483	VersionLifecycleConfig *ApplicationVersionLifecycleConfig `type:"structure"`
4484}
4485
4486// String returns the string representation
4487func (s ApplicationResourceLifecycleConfig) String() string {
4488	return awsutil.Prettify(s)
4489}
4490
4491// GoString returns the string representation
4492func (s ApplicationResourceLifecycleConfig) GoString() string {
4493	return s.String()
4494}
4495
4496// Validate inspects the fields of the type to determine if they are valid.
4497func (s *ApplicationResourceLifecycleConfig) Validate() error {
4498	invalidParams := request.ErrInvalidParams{Context: "ApplicationResourceLifecycleConfig"}
4499	if s.VersionLifecycleConfig != nil {
4500		if err := s.VersionLifecycleConfig.Validate(); err != nil {
4501			invalidParams.AddNested("VersionLifecycleConfig", err.(request.ErrInvalidParams))
4502		}
4503	}
4504
4505	if invalidParams.Len() > 0 {
4506		return invalidParams
4507	}
4508	return nil
4509}
4510
4511// SetServiceRole sets the ServiceRole field's value.
4512func (s *ApplicationResourceLifecycleConfig) SetServiceRole(v string) *ApplicationResourceLifecycleConfig {
4513	s.ServiceRole = &v
4514	return s
4515}
4516
4517// SetVersionLifecycleConfig sets the VersionLifecycleConfig field's value.
4518func (s *ApplicationResourceLifecycleConfig) SetVersionLifecycleConfig(v *ApplicationVersionLifecycleConfig) *ApplicationResourceLifecycleConfig {
4519	s.VersionLifecycleConfig = v
4520	return s
4521}
4522
4523// Describes the properties of an application version.
4524type ApplicationVersionDescription struct {
4525	_ struct{} `type:"structure"`
4526
4527	// The name of the application to which the application version belongs.
4528	ApplicationName *string `min:"1" type:"string"`
4529
4530	// The Amazon Resource Name (ARN) of the application version.
4531	ApplicationVersionArn *string `type:"string"`
4532
4533	// Reference to the artifact from the AWS CodeBuild build.
4534	BuildArn *string `type:"string"`
4535
4536	// The creation date of the application version.
4537	DateCreated *time.Time `type:"timestamp"`
4538
4539	// The last modified date of the application version.
4540	DateUpdated *time.Time `type:"timestamp"`
4541
4542	// The description of the application version.
4543	Description *string `type:"string"`
4544
4545	// If the version's source code was retrieved from AWS CodeCommit, the location
4546	// of the source code for the application version.
4547	SourceBuildInformation *SourceBuildInformation `type:"structure"`
4548
4549	// The storage location of the application version's source bundle in Amazon
4550	// S3.
4551	SourceBundle *S3Location `type:"structure"`
4552
4553	// The processing status of the application version. Reflects the state of the
4554	// application version during its creation. Many of the values are only applicable
4555	// if you specified True for the Process parameter of the CreateApplicationVersion
4556	// action. The following list describes the possible values.
4557	//
4558	//    * Unprocessed – Application version wasn't pre-processed or validated.
4559	//    Elastic Beanstalk will validate configuration files during deployment
4560	//    of the application version to an environment.
4561	//
4562	//    * Processing – Elastic Beanstalk is currently processing the application
4563	//    version.
4564	//
4565	//    * Building – Application version is currently undergoing an AWS CodeBuild
4566	//    build.
4567	//
4568	//    * Processed – Elastic Beanstalk was successfully pre-processed and validated.
4569	//
4570	//    * Failed – Either the AWS CodeBuild build failed or configuration files
4571	//    didn't pass validation. This application version isn't usable.
4572	Status *string `type:"string" enum:"ApplicationVersionStatus"`
4573
4574	// A unique identifier for the application version.
4575	VersionLabel *string `min:"1" type:"string"`
4576}
4577
4578// String returns the string representation
4579func (s ApplicationVersionDescription) String() string {
4580	return awsutil.Prettify(s)
4581}
4582
4583// GoString returns the string representation
4584func (s ApplicationVersionDescription) GoString() string {
4585	return s.String()
4586}
4587
4588// SetApplicationName sets the ApplicationName field's value.
4589func (s *ApplicationVersionDescription) SetApplicationName(v string) *ApplicationVersionDescription {
4590	s.ApplicationName = &v
4591	return s
4592}
4593
4594// SetApplicationVersionArn sets the ApplicationVersionArn field's value.
4595func (s *ApplicationVersionDescription) SetApplicationVersionArn(v string) *ApplicationVersionDescription {
4596	s.ApplicationVersionArn = &v
4597	return s
4598}
4599
4600// SetBuildArn sets the BuildArn field's value.
4601func (s *ApplicationVersionDescription) SetBuildArn(v string) *ApplicationVersionDescription {
4602	s.BuildArn = &v
4603	return s
4604}
4605
4606// SetDateCreated sets the DateCreated field's value.
4607func (s *ApplicationVersionDescription) SetDateCreated(v time.Time) *ApplicationVersionDescription {
4608	s.DateCreated = &v
4609	return s
4610}
4611
4612// SetDateUpdated sets the DateUpdated field's value.
4613func (s *ApplicationVersionDescription) SetDateUpdated(v time.Time) *ApplicationVersionDescription {
4614	s.DateUpdated = &v
4615	return s
4616}
4617
4618// SetDescription sets the Description field's value.
4619func (s *ApplicationVersionDescription) SetDescription(v string) *ApplicationVersionDescription {
4620	s.Description = &v
4621	return s
4622}
4623
4624// SetSourceBuildInformation sets the SourceBuildInformation field's value.
4625func (s *ApplicationVersionDescription) SetSourceBuildInformation(v *SourceBuildInformation) *ApplicationVersionDescription {
4626	s.SourceBuildInformation = v
4627	return s
4628}
4629
4630// SetSourceBundle sets the SourceBundle field's value.
4631func (s *ApplicationVersionDescription) SetSourceBundle(v *S3Location) *ApplicationVersionDescription {
4632	s.SourceBundle = v
4633	return s
4634}
4635
4636// SetStatus sets the Status field's value.
4637func (s *ApplicationVersionDescription) SetStatus(v string) *ApplicationVersionDescription {
4638	s.Status = &v
4639	return s
4640}
4641
4642// SetVersionLabel sets the VersionLabel field's value.
4643func (s *ApplicationVersionDescription) SetVersionLabel(v string) *ApplicationVersionDescription {
4644	s.VersionLabel = &v
4645	return s
4646}
4647
4648// Result message wrapping a single description of an application version.
4649type ApplicationVersionDescriptionMessage struct {
4650	_ struct{} `type:"structure"`
4651
4652	// The ApplicationVersionDescription of the application version.
4653	ApplicationVersion *ApplicationVersionDescription `type:"structure"`
4654}
4655
4656// String returns the string representation
4657func (s ApplicationVersionDescriptionMessage) String() string {
4658	return awsutil.Prettify(s)
4659}
4660
4661// GoString returns the string representation
4662func (s ApplicationVersionDescriptionMessage) GoString() string {
4663	return s.String()
4664}
4665
4666// SetApplicationVersion sets the ApplicationVersion field's value.
4667func (s *ApplicationVersionDescriptionMessage) SetApplicationVersion(v *ApplicationVersionDescription) *ApplicationVersionDescriptionMessage {
4668	s.ApplicationVersion = v
4669	return s
4670}
4671
4672// The application version lifecycle settings for an application. Defines the
4673// rules that Elastic Beanstalk applies to an application's versions in order
4674// to avoid hitting the per-region limit for application versions.
4675//
4676// When Elastic Beanstalk deletes an application version from its database,
4677// you can no longer deploy that version to an environment. The source bundle
4678// remains in S3 unless you configure the rule to delete it.
4679type ApplicationVersionLifecycleConfig struct {
4680	_ struct{} `type:"structure"`
4681
4682	// Specify a max age rule to restrict the length of time that application versions
4683	// are retained for an application.
4684	MaxAgeRule *MaxAgeRule `type:"structure"`
4685
4686	// Specify a max count rule to restrict the number of application versions that
4687	// are retained for an application.
4688	MaxCountRule *MaxCountRule `type:"structure"`
4689}
4690
4691// String returns the string representation
4692func (s ApplicationVersionLifecycleConfig) String() string {
4693	return awsutil.Prettify(s)
4694}
4695
4696// GoString returns the string representation
4697func (s ApplicationVersionLifecycleConfig) GoString() string {
4698	return s.String()
4699}
4700
4701// Validate inspects the fields of the type to determine if they are valid.
4702func (s *ApplicationVersionLifecycleConfig) Validate() error {
4703	invalidParams := request.ErrInvalidParams{Context: "ApplicationVersionLifecycleConfig"}
4704	if s.MaxAgeRule != nil {
4705		if err := s.MaxAgeRule.Validate(); err != nil {
4706			invalidParams.AddNested("MaxAgeRule", err.(request.ErrInvalidParams))
4707		}
4708	}
4709	if s.MaxCountRule != nil {
4710		if err := s.MaxCountRule.Validate(); err != nil {
4711			invalidParams.AddNested("MaxCountRule", err.(request.ErrInvalidParams))
4712		}
4713	}
4714
4715	if invalidParams.Len() > 0 {
4716		return invalidParams
4717	}
4718	return nil
4719}
4720
4721// SetMaxAgeRule sets the MaxAgeRule field's value.
4722func (s *ApplicationVersionLifecycleConfig) SetMaxAgeRule(v *MaxAgeRule) *ApplicationVersionLifecycleConfig {
4723	s.MaxAgeRule = v
4724	return s
4725}
4726
4727// SetMaxCountRule sets the MaxCountRule field's value.
4728func (s *ApplicationVersionLifecycleConfig) SetMaxCountRule(v *MaxCountRule) *ApplicationVersionLifecycleConfig {
4729	s.MaxCountRule = v
4730	return s
4731}
4732
4733// Request to execute a scheduled managed action immediately.
4734type ApplyEnvironmentManagedActionInput struct {
4735	_ struct{} `type:"structure"`
4736
4737	// The action ID of the scheduled managed action to execute.
4738	//
4739	// ActionId is a required field
4740	ActionId *string `type:"string" required:"true"`
4741
4742	// The environment ID of the target environment.
4743	EnvironmentId *string `type:"string"`
4744
4745	// The name of the target environment.
4746	EnvironmentName *string `type:"string"`
4747}
4748
4749// String returns the string representation
4750func (s ApplyEnvironmentManagedActionInput) String() string {
4751	return awsutil.Prettify(s)
4752}
4753
4754// GoString returns the string representation
4755func (s ApplyEnvironmentManagedActionInput) GoString() string {
4756	return s.String()
4757}
4758
4759// Validate inspects the fields of the type to determine if they are valid.
4760func (s *ApplyEnvironmentManagedActionInput) Validate() error {
4761	invalidParams := request.ErrInvalidParams{Context: "ApplyEnvironmentManagedActionInput"}
4762	if s.ActionId == nil {
4763		invalidParams.Add(request.NewErrParamRequired("ActionId"))
4764	}
4765
4766	if invalidParams.Len() > 0 {
4767		return invalidParams
4768	}
4769	return nil
4770}
4771
4772// SetActionId sets the ActionId field's value.
4773func (s *ApplyEnvironmentManagedActionInput) SetActionId(v string) *ApplyEnvironmentManagedActionInput {
4774	s.ActionId = &v
4775	return s
4776}
4777
4778// SetEnvironmentId sets the EnvironmentId field's value.
4779func (s *ApplyEnvironmentManagedActionInput) SetEnvironmentId(v string) *ApplyEnvironmentManagedActionInput {
4780	s.EnvironmentId = &v
4781	return s
4782}
4783
4784// SetEnvironmentName sets the EnvironmentName field's value.
4785func (s *ApplyEnvironmentManagedActionInput) SetEnvironmentName(v string) *ApplyEnvironmentManagedActionInput {
4786	s.EnvironmentName = &v
4787	return s
4788}
4789
4790// The result message containing information about the managed action.
4791type ApplyEnvironmentManagedActionOutput struct {
4792	_ struct{} `type:"structure"`
4793
4794	// A description of the managed action.
4795	ActionDescription *string `type:"string"`
4796
4797	// The action ID of the managed action.
4798	ActionId *string `type:"string"`
4799
4800	// The type of managed action.
4801	ActionType *string `type:"string" enum:"ActionType"`
4802
4803	// The status of the managed action.
4804	Status *string `type:"string"`
4805}
4806
4807// String returns the string representation
4808func (s ApplyEnvironmentManagedActionOutput) String() string {
4809	return awsutil.Prettify(s)
4810}
4811
4812// GoString returns the string representation
4813func (s ApplyEnvironmentManagedActionOutput) GoString() string {
4814	return s.String()
4815}
4816
4817// SetActionDescription sets the ActionDescription field's value.
4818func (s *ApplyEnvironmentManagedActionOutput) SetActionDescription(v string) *ApplyEnvironmentManagedActionOutput {
4819	s.ActionDescription = &v
4820	return s
4821}
4822
4823// SetActionId sets the ActionId field's value.
4824func (s *ApplyEnvironmentManagedActionOutput) SetActionId(v string) *ApplyEnvironmentManagedActionOutput {
4825	s.ActionId = &v
4826	return s
4827}
4828
4829// SetActionType sets the ActionType field's value.
4830func (s *ApplyEnvironmentManagedActionOutput) SetActionType(v string) *ApplyEnvironmentManagedActionOutput {
4831	s.ActionType = &v
4832	return s
4833}
4834
4835// SetStatus sets the Status field's value.
4836func (s *ApplyEnvironmentManagedActionOutput) SetStatus(v string) *ApplyEnvironmentManagedActionOutput {
4837	s.Status = &v
4838	return s
4839}
4840
4841// Request to add or change the operations role used by an environment.
4842type AssociateEnvironmentOperationsRoleInput struct {
4843	_ struct{} `type:"structure"`
4844
4845	// The name of the environment to which to set the operations role.
4846	//
4847	// EnvironmentName is a required field
4848	EnvironmentName *string `min:"4" type:"string" required:"true"`
4849
4850	// The Amazon Resource Name (ARN) of an existing IAM role to be used as the
4851	// environment's operations role.
4852	//
4853	// OperationsRole is a required field
4854	OperationsRole *string `min:"1" type:"string" required:"true"`
4855}
4856
4857// String returns the string representation
4858func (s AssociateEnvironmentOperationsRoleInput) String() string {
4859	return awsutil.Prettify(s)
4860}
4861
4862// GoString returns the string representation
4863func (s AssociateEnvironmentOperationsRoleInput) GoString() string {
4864	return s.String()
4865}
4866
4867// Validate inspects the fields of the type to determine if they are valid.
4868func (s *AssociateEnvironmentOperationsRoleInput) Validate() error {
4869	invalidParams := request.ErrInvalidParams{Context: "AssociateEnvironmentOperationsRoleInput"}
4870	if s.EnvironmentName == nil {
4871		invalidParams.Add(request.NewErrParamRequired("EnvironmentName"))
4872	}
4873	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
4874		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
4875	}
4876	if s.OperationsRole == nil {
4877		invalidParams.Add(request.NewErrParamRequired("OperationsRole"))
4878	}
4879	if s.OperationsRole != nil && len(*s.OperationsRole) < 1 {
4880		invalidParams.Add(request.NewErrParamMinLen("OperationsRole", 1))
4881	}
4882
4883	if invalidParams.Len() > 0 {
4884		return invalidParams
4885	}
4886	return nil
4887}
4888
4889// SetEnvironmentName sets the EnvironmentName field's value.
4890func (s *AssociateEnvironmentOperationsRoleInput) SetEnvironmentName(v string) *AssociateEnvironmentOperationsRoleInput {
4891	s.EnvironmentName = &v
4892	return s
4893}
4894
4895// SetOperationsRole sets the OperationsRole field's value.
4896func (s *AssociateEnvironmentOperationsRoleInput) SetOperationsRole(v string) *AssociateEnvironmentOperationsRoleInput {
4897	s.OperationsRole = &v
4898	return s
4899}
4900
4901type AssociateEnvironmentOperationsRoleOutput struct {
4902	_ struct{} `type:"structure"`
4903}
4904
4905// String returns the string representation
4906func (s AssociateEnvironmentOperationsRoleOutput) String() string {
4907	return awsutil.Prettify(s)
4908}
4909
4910// GoString returns the string representation
4911func (s AssociateEnvironmentOperationsRoleOutput) GoString() string {
4912	return s.String()
4913}
4914
4915// Describes an Auto Scaling launch configuration.
4916type AutoScalingGroup struct {
4917	_ struct{} `type:"structure"`
4918
4919	// The name of the AutoScalingGroup .
4920	Name *string `type:"string"`
4921}
4922
4923// String returns the string representation
4924func (s AutoScalingGroup) String() string {
4925	return awsutil.Prettify(s)
4926}
4927
4928// GoString returns the string representation
4929func (s AutoScalingGroup) GoString() string {
4930	return s.String()
4931}
4932
4933// SetName sets the Name field's value.
4934func (s *AutoScalingGroup) SetName(v string) *AutoScalingGroup {
4935	s.Name = &v
4936	return s
4937}
4938
4939// Settings for an AWS CodeBuild build.
4940type BuildConfiguration struct {
4941	_ struct{} `type:"structure"`
4942
4943	// The name of the artifact of the CodeBuild build. If provided, Elastic Beanstalk
4944	// stores the build artifact in the S3 location S3-bucket/resources/application-name/codebuild/codebuild-version-label-artifact-name.zip.
4945	// If not provided, Elastic Beanstalk stores the build artifact in the S3 location
4946	// S3-bucket/resources/application-name/codebuild/codebuild-version-label.zip.
4947	ArtifactName *string `type:"string"`
4948
4949	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
4950	// (IAM) role that enables AWS CodeBuild to interact with dependent AWS services
4951	// on behalf of the AWS account.
4952	//
4953	// CodeBuildServiceRole is a required field
4954	CodeBuildServiceRole *string `type:"string" required:"true"`
4955
4956	// Information about the compute resources the build project will use.
4957	//
4958	//    * BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for builds
4959	//
4960	//    * BUILD_GENERAL1_MEDIUM: Use up to 7 GB memory and 4 vCPUs for builds
4961	//
4962	//    * BUILD_GENERAL1_LARGE: Use up to 15 GB memory and 8 vCPUs for builds
4963	ComputeType *string `type:"string" enum:"ComputeType"`
4964
4965	// The ID of the Docker image to use for this build project.
4966	//
4967	// Image is a required field
4968	Image *string `type:"string" required:"true"`
4969
4970	// How long in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until
4971	// timing out any related build that does not get marked as completed. The default
4972	// is 60 minutes.
4973	TimeoutInMinutes *int64 `type:"integer"`
4974}
4975
4976// String returns the string representation
4977func (s BuildConfiguration) String() string {
4978	return awsutil.Prettify(s)
4979}
4980
4981// GoString returns the string representation
4982func (s BuildConfiguration) GoString() string {
4983	return s.String()
4984}
4985
4986// Validate inspects the fields of the type to determine if they are valid.
4987func (s *BuildConfiguration) Validate() error {
4988	invalidParams := request.ErrInvalidParams{Context: "BuildConfiguration"}
4989	if s.CodeBuildServiceRole == nil {
4990		invalidParams.Add(request.NewErrParamRequired("CodeBuildServiceRole"))
4991	}
4992	if s.Image == nil {
4993		invalidParams.Add(request.NewErrParamRequired("Image"))
4994	}
4995
4996	if invalidParams.Len() > 0 {
4997		return invalidParams
4998	}
4999	return nil
5000}
5001
5002// SetArtifactName sets the ArtifactName field's value.
5003func (s *BuildConfiguration) SetArtifactName(v string) *BuildConfiguration {
5004	s.ArtifactName = &v
5005	return s
5006}
5007
5008// SetCodeBuildServiceRole sets the CodeBuildServiceRole field's value.
5009func (s *BuildConfiguration) SetCodeBuildServiceRole(v string) *BuildConfiguration {
5010	s.CodeBuildServiceRole = &v
5011	return s
5012}
5013
5014// SetComputeType sets the ComputeType field's value.
5015func (s *BuildConfiguration) SetComputeType(v string) *BuildConfiguration {
5016	s.ComputeType = &v
5017	return s
5018}
5019
5020// SetImage sets the Image field's value.
5021func (s *BuildConfiguration) SetImage(v string) *BuildConfiguration {
5022	s.Image = &v
5023	return s
5024}
5025
5026// SetTimeoutInMinutes sets the TimeoutInMinutes field's value.
5027func (s *BuildConfiguration) SetTimeoutInMinutes(v int64) *BuildConfiguration {
5028	s.TimeoutInMinutes = &v
5029	return s
5030}
5031
5032// The builder used to build the custom platform.
5033type Builder struct {
5034	_ struct{} `type:"structure"`
5035
5036	// The ARN of the builder.
5037	ARN *string `type:"string"`
5038}
5039
5040// String returns the string representation
5041func (s Builder) String() string {
5042	return awsutil.Prettify(s)
5043}
5044
5045// GoString returns the string representation
5046func (s Builder) GoString() string {
5047	return s.String()
5048}
5049
5050// SetARN sets the ARN field's value.
5051func (s *Builder) SetARN(v string) *Builder {
5052	s.ARN = &v
5053	return s
5054}
5055
5056// CPU utilization metrics for an instance.
5057type CPUUtilization struct {
5058	_ struct{} `type:"structure"`
5059
5060	// Available on Linux environments only.
5061	//
5062	// Percentage of time that the CPU has spent in the I/O Wait state over the
5063	// last 10 seconds.
5064	IOWait *float64 `type:"double"`
5065
5066	// Available on Linux environments only.
5067	//
5068	// Percentage of time that the CPU has spent in the IRQ state over the last
5069	// 10 seconds.
5070	IRQ *float64 `type:"double"`
5071
5072	// Percentage of time that the CPU has spent in the Idle state over the last
5073	// 10 seconds.
5074	Idle *float64 `type:"double"`
5075
5076	// Available on Linux environments only.
5077	//
5078	// Percentage of time that the CPU has spent in the Nice state over the last
5079	// 10 seconds.
5080	Nice *float64 `type:"double"`
5081
5082	// Available on Windows environments only.
5083	//
5084	// Percentage of time that the CPU has spent in the Privileged state over the
5085	// last 10 seconds.
5086	Privileged *float64 `type:"double"`
5087
5088	// Available on Linux environments only.
5089	//
5090	// Percentage of time that the CPU has spent in the SoftIRQ state over the last
5091	// 10 seconds.
5092	SoftIRQ *float64 `type:"double"`
5093
5094	// Available on Linux environments only.
5095	//
5096	// Percentage of time that the CPU has spent in the System state over the last
5097	// 10 seconds.
5098	System *float64 `type:"double"`
5099
5100	// Percentage of time that the CPU has spent in the User state over the last
5101	// 10 seconds.
5102	User *float64 `type:"double"`
5103}
5104
5105// String returns the string representation
5106func (s CPUUtilization) String() string {
5107	return awsutil.Prettify(s)
5108}
5109
5110// GoString returns the string representation
5111func (s CPUUtilization) GoString() string {
5112	return s.String()
5113}
5114
5115// SetIOWait sets the IOWait field's value.
5116func (s *CPUUtilization) SetIOWait(v float64) *CPUUtilization {
5117	s.IOWait = &v
5118	return s
5119}
5120
5121// SetIRQ sets the IRQ field's value.
5122func (s *CPUUtilization) SetIRQ(v float64) *CPUUtilization {
5123	s.IRQ = &v
5124	return s
5125}
5126
5127// SetIdle sets the Idle field's value.
5128func (s *CPUUtilization) SetIdle(v float64) *CPUUtilization {
5129	s.Idle = &v
5130	return s
5131}
5132
5133// SetNice sets the Nice field's value.
5134func (s *CPUUtilization) SetNice(v float64) *CPUUtilization {
5135	s.Nice = &v
5136	return s
5137}
5138
5139// SetPrivileged sets the Privileged field's value.
5140func (s *CPUUtilization) SetPrivileged(v float64) *CPUUtilization {
5141	s.Privileged = &v
5142	return s
5143}
5144
5145// SetSoftIRQ sets the SoftIRQ field's value.
5146func (s *CPUUtilization) SetSoftIRQ(v float64) *CPUUtilization {
5147	s.SoftIRQ = &v
5148	return s
5149}
5150
5151// SetSystem sets the System field's value.
5152func (s *CPUUtilization) SetSystem(v float64) *CPUUtilization {
5153	s.System = &v
5154	return s
5155}
5156
5157// SetUser sets the User field's value.
5158func (s *CPUUtilization) SetUser(v float64) *CPUUtilization {
5159	s.User = &v
5160	return s
5161}
5162
5163// Results message indicating whether a CNAME is available.
5164type CheckDNSAvailabilityInput struct {
5165	_ struct{} `type:"structure"`
5166
5167	// The prefix used when this CNAME is reserved.
5168	//
5169	// CNAMEPrefix is a required field
5170	CNAMEPrefix *string `min:"4" type:"string" required:"true"`
5171}
5172
5173// String returns the string representation
5174func (s CheckDNSAvailabilityInput) String() string {
5175	return awsutil.Prettify(s)
5176}
5177
5178// GoString returns the string representation
5179func (s CheckDNSAvailabilityInput) GoString() string {
5180	return s.String()
5181}
5182
5183// Validate inspects the fields of the type to determine if they are valid.
5184func (s *CheckDNSAvailabilityInput) Validate() error {
5185	invalidParams := request.ErrInvalidParams{Context: "CheckDNSAvailabilityInput"}
5186	if s.CNAMEPrefix == nil {
5187		invalidParams.Add(request.NewErrParamRequired("CNAMEPrefix"))
5188	}
5189	if s.CNAMEPrefix != nil && len(*s.CNAMEPrefix) < 4 {
5190		invalidParams.Add(request.NewErrParamMinLen("CNAMEPrefix", 4))
5191	}
5192
5193	if invalidParams.Len() > 0 {
5194		return invalidParams
5195	}
5196	return nil
5197}
5198
5199// SetCNAMEPrefix sets the CNAMEPrefix field's value.
5200func (s *CheckDNSAvailabilityInput) SetCNAMEPrefix(v string) *CheckDNSAvailabilityInput {
5201	s.CNAMEPrefix = &v
5202	return s
5203}
5204
5205// Indicates if the specified CNAME is available.
5206type CheckDNSAvailabilityOutput struct {
5207	_ struct{} `type:"structure"`
5208
5209	// Indicates if the specified CNAME is available:
5210	//
5211	//    * true : The CNAME is available.
5212	//
5213	//    * false : The CNAME is not available.
5214	Available *bool `type:"boolean"`
5215
5216	// The fully qualified CNAME to reserve when CreateEnvironment is called with
5217	// the provided prefix.
5218	FullyQualifiedCNAME *string `min:"1" type:"string"`
5219}
5220
5221// String returns the string representation
5222func (s CheckDNSAvailabilityOutput) String() string {
5223	return awsutil.Prettify(s)
5224}
5225
5226// GoString returns the string representation
5227func (s CheckDNSAvailabilityOutput) GoString() string {
5228	return s.String()
5229}
5230
5231// SetAvailable sets the Available field's value.
5232func (s *CheckDNSAvailabilityOutput) SetAvailable(v bool) *CheckDNSAvailabilityOutput {
5233	s.Available = &v
5234	return s
5235}
5236
5237// SetFullyQualifiedCNAME sets the FullyQualifiedCNAME field's value.
5238func (s *CheckDNSAvailabilityOutput) SetFullyQualifiedCNAME(v string) *CheckDNSAvailabilityOutput {
5239	s.FullyQualifiedCNAME = &v
5240	return s
5241}
5242
5243// Request to create or update a group of environments.
5244type ComposeEnvironmentsInput struct {
5245	_ struct{} `type:"structure"`
5246
5247	// The name of the application to which the specified source bundles belong.
5248	ApplicationName *string `min:"1" type:"string"`
5249
5250	// The name of the group to which the target environments belong. Specify a
5251	// group name only if the environment name defined in each target environment's
5252	// manifest ends with a + (plus) character. See Environment Manifest (env.yaml)
5253	// (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-cfg-manifest.html)
5254	// for details.
5255	GroupName *string `min:"1" type:"string"`
5256
5257	// A list of version labels, specifying one or more application source bundles
5258	// that belong to the target application. Each source bundle must include an
5259	// environment manifest that specifies the name of the environment and the name
5260	// of the solution stack to use, and optionally can specify environment links
5261	// to create.
5262	VersionLabels []*string `type:"list"`
5263}
5264
5265// String returns the string representation
5266func (s ComposeEnvironmentsInput) String() string {
5267	return awsutil.Prettify(s)
5268}
5269
5270// GoString returns the string representation
5271func (s ComposeEnvironmentsInput) GoString() string {
5272	return s.String()
5273}
5274
5275// Validate inspects the fields of the type to determine if they are valid.
5276func (s *ComposeEnvironmentsInput) Validate() error {
5277	invalidParams := request.ErrInvalidParams{Context: "ComposeEnvironmentsInput"}
5278	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5279		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5280	}
5281	if s.GroupName != nil && len(*s.GroupName) < 1 {
5282		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
5283	}
5284
5285	if invalidParams.Len() > 0 {
5286		return invalidParams
5287	}
5288	return nil
5289}
5290
5291// SetApplicationName sets the ApplicationName field's value.
5292func (s *ComposeEnvironmentsInput) SetApplicationName(v string) *ComposeEnvironmentsInput {
5293	s.ApplicationName = &v
5294	return s
5295}
5296
5297// SetGroupName sets the GroupName field's value.
5298func (s *ComposeEnvironmentsInput) SetGroupName(v string) *ComposeEnvironmentsInput {
5299	s.GroupName = &v
5300	return s
5301}
5302
5303// SetVersionLabels sets the VersionLabels field's value.
5304func (s *ComposeEnvironmentsInput) SetVersionLabels(v []*string) *ComposeEnvironmentsInput {
5305	s.VersionLabels = v
5306	return s
5307}
5308
5309// Describes the possible values for a configuration option.
5310type ConfigurationOptionDescription struct {
5311	_ struct{} `type:"structure"`
5312
5313	// An indication of which action is required if the value for this configuration
5314	// option changes:
5315	//
5316	//    * NoInterruption : There is no interruption to the environment or application
5317	//    availability.
5318	//
5319	//    * RestartEnvironment : The environment is entirely restarted, all AWS
5320	//    resources are deleted and recreated, and the environment is unavailable
5321	//    during the process.
5322	//
5323	//    * RestartApplicationServer : The environment is available the entire time.
5324	//    However, a short application outage occurs when the application servers
5325	//    on the running Amazon EC2 instances are restarted.
5326	ChangeSeverity *string `type:"string"`
5327
5328	// The default value for this configuration option.
5329	DefaultValue *string `type:"string"`
5330
5331	// If specified, the configuration option must be a string value no longer than
5332	// this value.
5333	MaxLength *int64 `type:"integer"`
5334
5335	// If specified, the configuration option must be a numeric value less than
5336	// this value.
5337	MaxValue *int64 `type:"integer"`
5338
5339	// If specified, the configuration option must be a numeric value greater than
5340	// this value.
5341	MinValue *int64 `type:"integer"`
5342
5343	// The name of the configuration option.
5344	Name *string `type:"string"`
5345
5346	// A unique namespace identifying the option's associated AWS resource.
5347	Namespace *string `type:"string"`
5348
5349	// If specified, the configuration option must be a string value that satisfies
5350	// this regular expression.
5351	Regex *OptionRestrictionRegex `type:"structure"`
5352
5353	// An indication of whether the user defined this configuration option:
5354	//
5355	//    * true : This configuration option was defined by the user. It is a valid
5356	//    choice for specifying if this as an Option to Remove when updating configuration
5357	//    settings.
5358	//
5359	//    * false : This configuration was not defined by the user.
5360	//
5361	// Constraint: You can remove only UserDefined options from a configuration.
5362	//
5363	// Valid Values: true | false
5364	UserDefined *bool `type:"boolean"`
5365
5366	// If specified, values for the configuration option are selected from this
5367	// list.
5368	ValueOptions []*string `type:"list"`
5369
5370	// An indication of which type of values this option has and whether it is allowable
5371	// to select one or more than one of the possible values:
5372	//
5373	//    * Scalar : Values for this option are a single selection from the possible
5374	//    values, or an unformatted string, or numeric value governed by the MIN/MAX/Regex
5375	//    constraints.
5376	//
5377	//    * List : Values for this option are multiple selections from the possible
5378	//    values.
5379	//
5380	//    * Boolean : Values for this option are either true or false .
5381	//
5382	//    * Json : Values for this option are a JSON representation of a ConfigDocument.
5383	ValueType *string `type:"string" enum:"ConfigurationOptionValueType"`
5384}
5385
5386// String returns the string representation
5387func (s ConfigurationOptionDescription) String() string {
5388	return awsutil.Prettify(s)
5389}
5390
5391// GoString returns the string representation
5392func (s ConfigurationOptionDescription) GoString() string {
5393	return s.String()
5394}
5395
5396// SetChangeSeverity sets the ChangeSeverity field's value.
5397func (s *ConfigurationOptionDescription) SetChangeSeverity(v string) *ConfigurationOptionDescription {
5398	s.ChangeSeverity = &v
5399	return s
5400}
5401
5402// SetDefaultValue sets the DefaultValue field's value.
5403func (s *ConfigurationOptionDescription) SetDefaultValue(v string) *ConfigurationOptionDescription {
5404	s.DefaultValue = &v
5405	return s
5406}
5407
5408// SetMaxLength sets the MaxLength field's value.
5409func (s *ConfigurationOptionDescription) SetMaxLength(v int64) *ConfigurationOptionDescription {
5410	s.MaxLength = &v
5411	return s
5412}
5413
5414// SetMaxValue sets the MaxValue field's value.
5415func (s *ConfigurationOptionDescription) SetMaxValue(v int64) *ConfigurationOptionDescription {
5416	s.MaxValue = &v
5417	return s
5418}
5419
5420// SetMinValue sets the MinValue field's value.
5421func (s *ConfigurationOptionDescription) SetMinValue(v int64) *ConfigurationOptionDescription {
5422	s.MinValue = &v
5423	return s
5424}
5425
5426// SetName sets the Name field's value.
5427func (s *ConfigurationOptionDescription) SetName(v string) *ConfigurationOptionDescription {
5428	s.Name = &v
5429	return s
5430}
5431
5432// SetNamespace sets the Namespace field's value.
5433func (s *ConfigurationOptionDescription) SetNamespace(v string) *ConfigurationOptionDescription {
5434	s.Namespace = &v
5435	return s
5436}
5437
5438// SetRegex sets the Regex field's value.
5439func (s *ConfigurationOptionDescription) SetRegex(v *OptionRestrictionRegex) *ConfigurationOptionDescription {
5440	s.Regex = v
5441	return s
5442}
5443
5444// SetUserDefined sets the UserDefined field's value.
5445func (s *ConfigurationOptionDescription) SetUserDefined(v bool) *ConfigurationOptionDescription {
5446	s.UserDefined = &v
5447	return s
5448}
5449
5450// SetValueOptions sets the ValueOptions field's value.
5451func (s *ConfigurationOptionDescription) SetValueOptions(v []*string) *ConfigurationOptionDescription {
5452	s.ValueOptions = v
5453	return s
5454}
5455
5456// SetValueType sets the ValueType field's value.
5457func (s *ConfigurationOptionDescription) SetValueType(v string) *ConfigurationOptionDescription {
5458	s.ValueType = &v
5459	return s
5460}
5461
5462// A specification identifying an individual configuration option along with
5463// its current value. For a list of possible namespaces and option values, see
5464// Option Values (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options.html)
5465// in the AWS Elastic Beanstalk Developer Guide.
5466type ConfigurationOptionSetting struct {
5467	_ struct{} `type:"structure"`
5468
5469	// A unique namespace that identifies the option's associated AWS resource.
5470	Namespace *string `type:"string"`
5471
5472	// The name of the configuration option.
5473	OptionName *string `type:"string"`
5474
5475	// A unique resource name for the option setting. Use it for a time–based
5476	// scaling configuration option.
5477	ResourceName *string `min:"1" type:"string"`
5478
5479	// The current value for the configuration option.
5480	Value *string `type:"string"`
5481}
5482
5483// String returns the string representation
5484func (s ConfigurationOptionSetting) String() string {
5485	return awsutil.Prettify(s)
5486}
5487
5488// GoString returns the string representation
5489func (s ConfigurationOptionSetting) GoString() string {
5490	return s.String()
5491}
5492
5493// Validate inspects the fields of the type to determine if they are valid.
5494func (s *ConfigurationOptionSetting) Validate() error {
5495	invalidParams := request.ErrInvalidParams{Context: "ConfigurationOptionSetting"}
5496	if s.ResourceName != nil && len(*s.ResourceName) < 1 {
5497		invalidParams.Add(request.NewErrParamMinLen("ResourceName", 1))
5498	}
5499
5500	if invalidParams.Len() > 0 {
5501		return invalidParams
5502	}
5503	return nil
5504}
5505
5506// SetNamespace sets the Namespace field's value.
5507func (s *ConfigurationOptionSetting) SetNamespace(v string) *ConfigurationOptionSetting {
5508	s.Namespace = &v
5509	return s
5510}
5511
5512// SetOptionName sets the OptionName field's value.
5513func (s *ConfigurationOptionSetting) SetOptionName(v string) *ConfigurationOptionSetting {
5514	s.OptionName = &v
5515	return s
5516}
5517
5518// SetResourceName sets the ResourceName field's value.
5519func (s *ConfigurationOptionSetting) SetResourceName(v string) *ConfigurationOptionSetting {
5520	s.ResourceName = &v
5521	return s
5522}
5523
5524// SetValue sets the Value field's value.
5525func (s *ConfigurationOptionSetting) SetValue(v string) *ConfigurationOptionSetting {
5526	s.Value = &v
5527	return s
5528}
5529
5530// Describes the settings for a configuration set.
5531type ConfigurationSettingsDescription struct {
5532	_ struct{} `type:"structure"`
5533
5534	// The name of the application associated with this configuration set.
5535	ApplicationName *string `min:"1" type:"string"`
5536
5537	// The date (in UTC time) when this configuration set was created.
5538	DateCreated *time.Time `type:"timestamp"`
5539
5540	// The date (in UTC time) when this configuration set was last modified.
5541	DateUpdated *time.Time `type:"timestamp"`
5542
5543	// If this configuration set is associated with an environment, the DeploymentStatus
5544	// parameter indicates the deployment status of this configuration set:
5545	//
5546	//    * null: This configuration is not associated with a running environment.
5547	//
5548	//    * pending: This is a draft configuration that is not deployed to the associated
5549	//    environment but is in the process of deploying.
5550	//
5551	//    * deployed: This is the configuration that is currently deployed to the
5552	//    associated running environment.
5553	//
5554	//    * failed: This is a draft configuration that failed to successfully deploy.
5555	DeploymentStatus *string `type:"string" enum:"ConfigurationDeploymentStatus"`
5556
5557	// Describes this configuration set.
5558	Description *string `type:"string"`
5559
5560	// If not null, the name of the environment for this configuration set.
5561	EnvironmentName *string `min:"4" type:"string"`
5562
5563	// A list of the configuration options and their values in this configuration
5564	// set.
5565	OptionSettings []*ConfigurationOptionSetting `type:"list"`
5566
5567	// The ARN of the platform version.
5568	PlatformArn *string `type:"string"`
5569
5570	// The name of the solution stack this configuration set uses.
5571	SolutionStackName *string `type:"string"`
5572
5573	// If not null, the name of the configuration template for this configuration
5574	// set.
5575	TemplateName *string `min:"1" type:"string"`
5576}
5577
5578// String returns the string representation
5579func (s ConfigurationSettingsDescription) String() string {
5580	return awsutil.Prettify(s)
5581}
5582
5583// GoString returns the string representation
5584func (s ConfigurationSettingsDescription) GoString() string {
5585	return s.String()
5586}
5587
5588// SetApplicationName sets the ApplicationName field's value.
5589func (s *ConfigurationSettingsDescription) SetApplicationName(v string) *ConfigurationSettingsDescription {
5590	s.ApplicationName = &v
5591	return s
5592}
5593
5594// SetDateCreated sets the DateCreated field's value.
5595func (s *ConfigurationSettingsDescription) SetDateCreated(v time.Time) *ConfigurationSettingsDescription {
5596	s.DateCreated = &v
5597	return s
5598}
5599
5600// SetDateUpdated sets the DateUpdated field's value.
5601func (s *ConfigurationSettingsDescription) SetDateUpdated(v time.Time) *ConfigurationSettingsDescription {
5602	s.DateUpdated = &v
5603	return s
5604}
5605
5606// SetDeploymentStatus sets the DeploymentStatus field's value.
5607func (s *ConfigurationSettingsDescription) SetDeploymentStatus(v string) *ConfigurationSettingsDescription {
5608	s.DeploymentStatus = &v
5609	return s
5610}
5611
5612// SetDescription sets the Description field's value.
5613func (s *ConfigurationSettingsDescription) SetDescription(v string) *ConfigurationSettingsDescription {
5614	s.Description = &v
5615	return s
5616}
5617
5618// SetEnvironmentName sets the EnvironmentName field's value.
5619func (s *ConfigurationSettingsDescription) SetEnvironmentName(v string) *ConfigurationSettingsDescription {
5620	s.EnvironmentName = &v
5621	return s
5622}
5623
5624// SetOptionSettings sets the OptionSettings field's value.
5625func (s *ConfigurationSettingsDescription) SetOptionSettings(v []*ConfigurationOptionSetting) *ConfigurationSettingsDescription {
5626	s.OptionSettings = v
5627	return s
5628}
5629
5630// SetPlatformArn sets the PlatformArn field's value.
5631func (s *ConfigurationSettingsDescription) SetPlatformArn(v string) *ConfigurationSettingsDescription {
5632	s.PlatformArn = &v
5633	return s
5634}
5635
5636// SetSolutionStackName sets the SolutionStackName field's value.
5637func (s *ConfigurationSettingsDescription) SetSolutionStackName(v string) *ConfigurationSettingsDescription {
5638	s.SolutionStackName = &v
5639	return s
5640}
5641
5642// SetTemplateName sets the TemplateName field's value.
5643func (s *ConfigurationSettingsDescription) SetTemplateName(v string) *ConfigurationSettingsDescription {
5644	s.TemplateName = &v
5645	return s
5646}
5647
5648// Request to create an application.
5649type CreateApplicationInput struct {
5650	_ struct{} `type:"structure"`
5651
5652	// The name of the application. Must be unique within your account.
5653	//
5654	// ApplicationName is a required field
5655	ApplicationName *string `min:"1" type:"string" required:"true"`
5656
5657	// Your description of the application.
5658	Description *string `type:"string"`
5659
5660	// Specifies an application resource lifecycle configuration to prevent your
5661	// application from accumulating too many versions.
5662	ResourceLifecycleConfig *ApplicationResourceLifecycleConfig `type:"structure"`
5663
5664	// Specifies the tags applied to the application.
5665	//
5666	// Elastic Beanstalk applies these tags only to the application. Environments
5667	// that you create in the application don't inherit the tags.
5668	Tags []*Tag `type:"list"`
5669}
5670
5671// String returns the string representation
5672func (s CreateApplicationInput) String() string {
5673	return awsutil.Prettify(s)
5674}
5675
5676// GoString returns the string representation
5677func (s CreateApplicationInput) GoString() string {
5678	return s.String()
5679}
5680
5681// Validate inspects the fields of the type to determine if they are valid.
5682func (s *CreateApplicationInput) Validate() error {
5683	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationInput"}
5684	if s.ApplicationName == nil {
5685		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
5686	}
5687	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5688		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5689	}
5690	if s.ResourceLifecycleConfig != nil {
5691		if err := s.ResourceLifecycleConfig.Validate(); err != nil {
5692			invalidParams.AddNested("ResourceLifecycleConfig", err.(request.ErrInvalidParams))
5693		}
5694	}
5695	if s.Tags != nil {
5696		for i, v := range s.Tags {
5697			if v == nil {
5698				continue
5699			}
5700			if err := v.Validate(); err != nil {
5701				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5702			}
5703		}
5704	}
5705
5706	if invalidParams.Len() > 0 {
5707		return invalidParams
5708	}
5709	return nil
5710}
5711
5712// SetApplicationName sets the ApplicationName field's value.
5713func (s *CreateApplicationInput) SetApplicationName(v string) *CreateApplicationInput {
5714	s.ApplicationName = &v
5715	return s
5716}
5717
5718// SetDescription sets the Description field's value.
5719func (s *CreateApplicationInput) SetDescription(v string) *CreateApplicationInput {
5720	s.Description = &v
5721	return s
5722}
5723
5724// SetResourceLifecycleConfig sets the ResourceLifecycleConfig field's value.
5725func (s *CreateApplicationInput) SetResourceLifecycleConfig(v *ApplicationResourceLifecycleConfig) *CreateApplicationInput {
5726	s.ResourceLifecycleConfig = v
5727	return s
5728}
5729
5730// SetTags sets the Tags field's value.
5731func (s *CreateApplicationInput) SetTags(v []*Tag) *CreateApplicationInput {
5732	s.Tags = v
5733	return s
5734}
5735
5736type CreateApplicationVersionInput struct {
5737	_ struct{} `type:"structure"`
5738
5739	// The name of the application. If no application is found with this name, and
5740	// AutoCreateApplication is false, returns an InvalidParameterValue error.
5741	//
5742	// ApplicationName is a required field
5743	ApplicationName *string `min:"1" type:"string" required:"true"`
5744
5745	// Set to true to create an application with the specified name if it doesn't
5746	// already exist.
5747	AutoCreateApplication *bool `type:"boolean"`
5748
5749	// Settings for an AWS CodeBuild build.
5750	BuildConfiguration *BuildConfiguration `type:"structure"`
5751
5752	// A description of this application version.
5753	Description *string `type:"string"`
5754
5755	// Pre-processes and validates the environment manifest (env.yaml) and configuration
5756	// files (*.config files in the .ebextensions folder) in the source bundle.
5757	// Validating configuration files can identify issues prior to deploying the
5758	// application version to an environment.
5759	//
5760	// You must turn processing on for application versions that you create using
5761	// AWS CodeBuild or AWS CodeCommit. For application versions built from a source
5762	// bundle in Amazon S3, processing is optional.
5763	//
5764	// The Process option validates Elastic Beanstalk configuration files. It doesn't
5765	// validate your application's configuration files, like proxy server or Docker
5766	// configuration.
5767	Process *bool `type:"boolean"`
5768
5769	// Specify a commit in an AWS CodeCommit Git repository to use as the source
5770	// code for the application version.
5771	SourceBuildInformation *SourceBuildInformation `type:"structure"`
5772
5773	// The Amazon S3 bucket and key that identify the location of the source bundle
5774	// for this version.
5775	//
5776	// The Amazon S3 bucket must be in the same region as the environment.
5777	//
5778	// Specify a source bundle in S3 or a commit in an AWS CodeCommit repository
5779	// (with SourceBuildInformation), but not both. If neither SourceBundle nor
5780	// SourceBuildInformation are provided, Elastic Beanstalk uses a sample application.
5781	SourceBundle *S3Location `type:"structure"`
5782
5783	// Specifies the tags applied to the application version.
5784	//
5785	// Elastic Beanstalk applies these tags only to the application version. Environments
5786	// that use the application version don't inherit the tags.
5787	Tags []*Tag `type:"list"`
5788
5789	// A label identifying this version.
5790	//
5791	// Constraint: Must be unique per application. If an application version already
5792	// exists with this label for the specified application, AWS Elastic Beanstalk
5793	// returns an InvalidParameterValue error.
5794	//
5795	// VersionLabel is a required field
5796	VersionLabel *string `min:"1" type:"string" required:"true"`
5797}
5798
5799// String returns the string representation
5800func (s CreateApplicationVersionInput) String() string {
5801	return awsutil.Prettify(s)
5802}
5803
5804// GoString returns the string representation
5805func (s CreateApplicationVersionInput) GoString() string {
5806	return s.String()
5807}
5808
5809// Validate inspects the fields of the type to determine if they are valid.
5810func (s *CreateApplicationVersionInput) Validate() error {
5811	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationVersionInput"}
5812	if s.ApplicationName == nil {
5813		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
5814	}
5815	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5816		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5817	}
5818	if s.VersionLabel == nil {
5819		invalidParams.Add(request.NewErrParamRequired("VersionLabel"))
5820	}
5821	if s.VersionLabel != nil && len(*s.VersionLabel) < 1 {
5822		invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1))
5823	}
5824	if s.BuildConfiguration != nil {
5825		if err := s.BuildConfiguration.Validate(); err != nil {
5826			invalidParams.AddNested("BuildConfiguration", err.(request.ErrInvalidParams))
5827		}
5828	}
5829	if s.SourceBuildInformation != nil {
5830		if err := s.SourceBuildInformation.Validate(); err != nil {
5831			invalidParams.AddNested("SourceBuildInformation", err.(request.ErrInvalidParams))
5832		}
5833	}
5834	if s.Tags != nil {
5835		for i, v := range s.Tags {
5836			if v == nil {
5837				continue
5838			}
5839			if err := v.Validate(); err != nil {
5840				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5841			}
5842		}
5843	}
5844
5845	if invalidParams.Len() > 0 {
5846		return invalidParams
5847	}
5848	return nil
5849}
5850
5851// SetApplicationName sets the ApplicationName field's value.
5852func (s *CreateApplicationVersionInput) SetApplicationName(v string) *CreateApplicationVersionInput {
5853	s.ApplicationName = &v
5854	return s
5855}
5856
5857// SetAutoCreateApplication sets the AutoCreateApplication field's value.
5858func (s *CreateApplicationVersionInput) SetAutoCreateApplication(v bool) *CreateApplicationVersionInput {
5859	s.AutoCreateApplication = &v
5860	return s
5861}
5862
5863// SetBuildConfiguration sets the BuildConfiguration field's value.
5864func (s *CreateApplicationVersionInput) SetBuildConfiguration(v *BuildConfiguration) *CreateApplicationVersionInput {
5865	s.BuildConfiguration = v
5866	return s
5867}
5868
5869// SetDescription sets the Description field's value.
5870func (s *CreateApplicationVersionInput) SetDescription(v string) *CreateApplicationVersionInput {
5871	s.Description = &v
5872	return s
5873}
5874
5875// SetProcess sets the Process field's value.
5876func (s *CreateApplicationVersionInput) SetProcess(v bool) *CreateApplicationVersionInput {
5877	s.Process = &v
5878	return s
5879}
5880
5881// SetSourceBuildInformation sets the SourceBuildInformation field's value.
5882func (s *CreateApplicationVersionInput) SetSourceBuildInformation(v *SourceBuildInformation) *CreateApplicationVersionInput {
5883	s.SourceBuildInformation = v
5884	return s
5885}
5886
5887// SetSourceBundle sets the SourceBundle field's value.
5888func (s *CreateApplicationVersionInput) SetSourceBundle(v *S3Location) *CreateApplicationVersionInput {
5889	s.SourceBundle = v
5890	return s
5891}
5892
5893// SetTags sets the Tags field's value.
5894func (s *CreateApplicationVersionInput) SetTags(v []*Tag) *CreateApplicationVersionInput {
5895	s.Tags = v
5896	return s
5897}
5898
5899// SetVersionLabel sets the VersionLabel field's value.
5900func (s *CreateApplicationVersionInput) SetVersionLabel(v string) *CreateApplicationVersionInput {
5901	s.VersionLabel = &v
5902	return s
5903}
5904
5905// Request to create a configuration template.
5906type CreateConfigurationTemplateInput struct {
5907	_ struct{} `type:"structure"`
5908
5909	// The name of the Elastic Beanstalk application to associate with this configuration
5910	// template.
5911	//
5912	// ApplicationName is a required field
5913	ApplicationName *string `min:"1" type:"string" required:"true"`
5914
5915	// An optional description for this configuration.
5916	Description *string `type:"string"`
5917
5918	// The ID of an environment whose settings you want to use to create the configuration
5919	// template. You must specify EnvironmentId if you don't specify PlatformArn,
5920	// SolutionStackName, or SourceConfiguration.
5921	EnvironmentId *string `type:"string"`
5922
5923	// Option values for the Elastic Beanstalk configuration, such as the instance
5924	// type. If specified, these values override the values obtained from the solution
5925	// stack or the source configuration template. For a complete list of Elastic
5926	// Beanstalk configuration options, see Option Values (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options.html)
5927	// in the AWS Elastic Beanstalk Developer Guide.
5928	OptionSettings []*ConfigurationOptionSetting `type:"list"`
5929
5930	// The Amazon Resource Name (ARN) of the custom platform. For more information,
5931	// see Custom Platforms (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/custom-platforms.html)
5932	// in the AWS Elastic Beanstalk Developer Guide.
5933	//
5934	// If you specify PlatformArn, then don't specify SolutionStackName.
5935	PlatformArn *string `type:"string"`
5936
5937	// The name of an Elastic Beanstalk solution stack (platform version) that this
5938	// configuration uses. For example, 64bit Amazon Linux 2013.09 running Tomcat
5939	// 7 Java 7. A solution stack specifies the operating system, runtime, and application
5940	// server for a configuration template. It also determines the set of configuration
5941	// options as well as the possible and default values. For more information,
5942	// see Supported Platforms (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.platforms.html)
5943	// in the AWS Elastic Beanstalk Developer Guide.
5944	//
5945	// You must specify SolutionStackName if you don't specify PlatformArn, EnvironmentId,
5946	// or SourceConfiguration.
5947	//
5948	// Use the ListAvailableSolutionStacks (https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_ListAvailableSolutionStacks.html)
5949	// API to obtain a list of available solution stacks.
5950	SolutionStackName *string `type:"string"`
5951
5952	// An Elastic Beanstalk configuration template to base this one on. If specified,
5953	// Elastic Beanstalk uses the configuration values from the specified configuration
5954	// template to create a new configuration.
5955	//
5956	// Values specified in OptionSettings override any values obtained from the
5957	// SourceConfiguration.
5958	//
5959	// You must specify SourceConfiguration if you don't specify PlatformArn, EnvironmentId,
5960	// or SolutionStackName.
5961	//
5962	// Constraint: If both solution stack name and source configuration are specified,
5963	// the solution stack of the source configuration template must match the specified
5964	// solution stack name.
5965	SourceConfiguration *SourceConfiguration `type:"structure"`
5966
5967	// Specifies the tags applied to the configuration template.
5968	Tags []*Tag `type:"list"`
5969
5970	// The name of the configuration template.
5971	//
5972	// Constraint: This name must be unique per application.
5973	//
5974	// TemplateName is a required field
5975	TemplateName *string `min:"1" type:"string" required:"true"`
5976}
5977
5978// String returns the string representation
5979func (s CreateConfigurationTemplateInput) String() string {
5980	return awsutil.Prettify(s)
5981}
5982
5983// GoString returns the string representation
5984func (s CreateConfigurationTemplateInput) GoString() string {
5985	return s.String()
5986}
5987
5988// Validate inspects the fields of the type to determine if they are valid.
5989func (s *CreateConfigurationTemplateInput) Validate() error {
5990	invalidParams := request.ErrInvalidParams{Context: "CreateConfigurationTemplateInput"}
5991	if s.ApplicationName == nil {
5992		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
5993	}
5994	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5995		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5996	}
5997	if s.TemplateName == nil {
5998		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
5999	}
6000	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
6001		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
6002	}
6003	if s.OptionSettings != nil {
6004		for i, v := range s.OptionSettings {
6005			if v == nil {
6006				continue
6007			}
6008			if err := v.Validate(); err != nil {
6009				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionSettings", i), err.(request.ErrInvalidParams))
6010			}
6011		}
6012	}
6013	if s.SourceConfiguration != nil {
6014		if err := s.SourceConfiguration.Validate(); err != nil {
6015			invalidParams.AddNested("SourceConfiguration", err.(request.ErrInvalidParams))
6016		}
6017	}
6018	if s.Tags != nil {
6019		for i, v := range s.Tags {
6020			if v == nil {
6021				continue
6022			}
6023			if err := v.Validate(); err != nil {
6024				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6025			}
6026		}
6027	}
6028
6029	if invalidParams.Len() > 0 {
6030		return invalidParams
6031	}
6032	return nil
6033}
6034
6035// SetApplicationName sets the ApplicationName field's value.
6036func (s *CreateConfigurationTemplateInput) SetApplicationName(v string) *CreateConfigurationTemplateInput {
6037	s.ApplicationName = &v
6038	return s
6039}
6040
6041// SetDescription sets the Description field's value.
6042func (s *CreateConfigurationTemplateInput) SetDescription(v string) *CreateConfigurationTemplateInput {
6043	s.Description = &v
6044	return s
6045}
6046
6047// SetEnvironmentId sets the EnvironmentId field's value.
6048func (s *CreateConfigurationTemplateInput) SetEnvironmentId(v string) *CreateConfigurationTemplateInput {
6049	s.EnvironmentId = &v
6050	return s
6051}
6052
6053// SetOptionSettings sets the OptionSettings field's value.
6054func (s *CreateConfigurationTemplateInput) SetOptionSettings(v []*ConfigurationOptionSetting) *CreateConfigurationTemplateInput {
6055	s.OptionSettings = v
6056	return s
6057}
6058
6059// SetPlatformArn sets the PlatformArn field's value.
6060func (s *CreateConfigurationTemplateInput) SetPlatformArn(v string) *CreateConfigurationTemplateInput {
6061	s.PlatformArn = &v
6062	return s
6063}
6064
6065// SetSolutionStackName sets the SolutionStackName field's value.
6066func (s *CreateConfigurationTemplateInput) SetSolutionStackName(v string) *CreateConfigurationTemplateInput {
6067	s.SolutionStackName = &v
6068	return s
6069}
6070
6071// SetSourceConfiguration sets the SourceConfiguration field's value.
6072func (s *CreateConfigurationTemplateInput) SetSourceConfiguration(v *SourceConfiguration) *CreateConfigurationTemplateInput {
6073	s.SourceConfiguration = v
6074	return s
6075}
6076
6077// SetTags sets the Tags field's value.
6078func (s *CreateConfigurationTemplateInput) SetTags(v []*Tag) *CreateConfigurationTemplateInput {
6079	s.Tags = v
6080	return s
6081}
6082
6083// SetTemplateName sets the TemplateName field's value.
6084func (s *CreateConfigurationTemplateInput) SetTemplateName(v string) *CreateConfigurationTemplateInput {
6085	s.TemplateName = &v
6086	return s
6087}
6088
6089type CreateEnvironmentInput struct {
6090	_ struct{} `type:"structure"`
6091
6092	// The name of the application that is associated with this environment.
6093	//
6094	// ApplicationName is a required field
6095	ApplicationName *string `min:"1" type:"string" required:"true"`
6096
6097	// If specified, the environment attempts to use this value as the prefix for
6098	// the CNAME in your Elastic Beanstalk environment URL. If not specified, the
6099	// CNAME is generated automatically by appending a random alphanumeric string
6100	// to the environment name.
6101	CNAMEPrefix *string `min:"4" type:"string"`
6102
6103	// Your description for this environment.
6104	Description *string `type:"string"`
6105
6106	// A unique name for the environment.
6107	//
6108	// Constraint: Must be from 4 to 40 characters in length. The name can contain
6109	// only letters, numbers, and hyphens. It can't start or end with a hyphen.
6110	// This name must be unique within a region in your account. If the specified
6111	// name already exists in the region, Elastic Beanstalk returns an InvalidParameterValue
6112	// error.
6113	//
6114	// If you don't specify the CNAMEPrefix parameter, the environment name becomes
6115	// part of the CNAME, and therefore part of the visible URL for your application.
6116	EnvironmentName *string `min:"4" type:"string"`
6117
6118	// The name of the group to which the target environment belongs. Specify a
6119	// group name only if the environment's name is specified in an environment
6120	// manifest and not with the environment name parameter. See Environment Manifest
6121	// (env.yaml) (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-cfg-manifest.html)
6122	// for details.
6123	GroupName *string `min:"1" type:"string"`
6124
6125	// The Amazon Resource Name (ARN) of an existing IAM role to be used as the
6126	// environment's operations role. If specified, Elastic Beanstalk uses the operations
6127	// role for permissions to downstream services during this call and during subsequent
6128	// calls acting on this environment. To specify an operations role, you must
6129	// have the iam:PassRole permission for the role. For more information, see
6130	// Operations roles (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/iam-operationsrole.html)
6131	// in the AWS Elastic Beanstalk Developer Guide.
6132	OperationsRole *string `min:"1" type:"string"`
6133
6134	// If specified, AWS Elastic Beanstalk sets the specified configuration options
6135	// to the requested value in the configuration set for the new environment.
6136	// These override the values obtained from the solution stack or the configuration
6137	// template.
6138	OptionSettings []*ConfigurationOptionSetting `type:"list"`
6139
6140	// A list of custom user-defined configuration options to remove from the configuration
6141	// set for this new environment.
6142	OptionsToRemove []*OptionSpecification `type:"list"`
6143
6144	// The Amazon Resource Name (ARN) of the custom platform to use with the environment.
6145	// For more information, see Custom Platforms (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/custom-platforms.html)
6146	// in the AWS Elastic Beanstalk Developer Guide.
6147	//
6148	// If you specify PlatformArn, don't specify SolutionStackName.
6149	PlatformArn *string `type:"string"`
6150
6151	// The name of an Elastic Beanstalk solution stack (platform version) to use
6152	// with the environment. If specified, Elastic Beanstalk sets the configuration
6153	// values to the default values associated with the specified solution stack.
6154	// For a list of current solution stacks, see Elastic Beanstalk Supported Platforms
6155	// (https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html)
6156	// in the AWS Elastic Beanstalk Platforms guide.
6157	//
6158	// If you specify SolutionStackName, don't specify PlatformArn or TemplateName.
6159	SolutionStackName *string `type:"string"`
6160
6161	// Specifies the tags applied to resources in the environment.
6162	Tags []*Tag `type:"list"`
6163
6164	// The name of the Elastic Beanstalk configuration template to use with the
6165	// environment.
6166	//
6167	// If you specify TemplateName, then don't specify SolutionStackName.
6168	TemplateName *string `min:"1" type:"string"`
6169
6170	// Specifies the tier to use in creating this environment. The environment tier
6171	// that you choose determines whether Elastic Beanstalk provisions resources
6172	// to support a web application that handles HTTP(S) requests or a web application
6173	// that handles background-processing tasks.
6174	Tier *EnvironmentTier `type:"structure"`
6175
6176	// The name of the application version to deploy.
6177	//
6178	// Default: If not specified, Elastic Beanstalk attempts to deploy the sample
6179	// application.
6180	VersionLabel *string `min:"1" type:"string"`
6181}
6182
6183// String returns the string representation
6184func (s CreateEnvironmentInput) String() string {
6185	return awsutil.Prettify(s)
6186}
6187
6188// GoString returns the string representation
6189func (s CreateEnvironmentInput) GoString() string {
6190	return s.String()
6191}
6192
6193// Validate inspects the fields of the type to determine if they are valid.
6194func (s *CreateEnvironmentInput) Validate() error {
6195	invalidParams := request.ErrInvalidParams{Context: "CreateEnvironmentInput"}
6196	if s.ApplicationName == nil {
6197		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
6198	}
6199	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
6200		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
6201	}
6202	if s.CNAMEPrefix != nil && len(*s.CNAMEPrefix) < 4 {
6203		invalidParams.Add(request.NewErrParamMinLen("CNAMEPrefix", 4))
6204	}
6205	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
6206		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
6207	}
6208	if s.GroupName != nil && len(*s.GroupName) < 1 {
6209		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
6210	}
6211	if s.OperationsRole != nil && len(*s.OperationsRole) < 1 {
6212		invalidParams.Add(request.NewErrParamMinLen("OperationsRole", 1))
6213	}
6214	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
6215		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
6216	}
6217	if s.VersionLabel != nil && len(*s.VersionLabel) < 1 {
6218		invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1))
6219	}
6220	if s.OptionSettings != nil {
6221		for i, v := range s.OptionSettings {
6222			if v == nil {
6223				continue
6224			}
6225			if err := v.Validate(); err != nil {
6226				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionSettings", i), err.(request.ErrInvalidParams))
6227			}
6228		}
6229	}
6230	if s.OptionsToRemove != nil {
6231		for i, v := range s.OptionsToRemove {
6232			if v == nil {
6233				continue
6234			}
6235			if err := v.Validate(); err != nil {
6236				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionsToRemove", i), err.(request.ErrInvalidParams))
6237			}
6238		}
6239	}
6240	if s.Tags != nil {
6241		for i, v := range s.Tags {
6242			if v == nil {
6243				continue
6244			}
6245			if err := v.Validate(); err != nil {
6246				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6247			}
6248		}
6249	}
6250
6251	if invalidParams.Len() > 0 {
6252		return invalidParams
6253	}
6254	return nil
6255}
6256
6257// SetApplicationName sets the ApplicationName field's value.
6258func (s *CreateEnvironmentInput) SetApplicationName(v string) *CreateEnvironmentInput {
6259	s.ApplicationName = &v
6260	return s
6261}
6262
6263// SetCNAMEPrefix sets the CNAMEPrefix field's value.
6264func (s *CreateEnvironmentInput) SetCNAMEPrefix(v string) *CreateEnvironmentInput {
6265	s.CNAMEPrefix = &v
6266	return s
6267}
6268
6269// SetDescription sets the Description field's value.
6270func (s *CreateEnvironmentInput) SetDescription(v string) *CreateEnvironmentInput {
6271	s.Description = &v
6272	return s
6273}
6274
6275// SetEnvironmentName sets the EnvironmentName field's value.
6276func (s *CreateEnvironmentInput) SetEnvironmentName(v string) *CreateEnvironmentInput {
6277	s.EnvironmentName = &v
6278	return s
6279}
6280
6281// SetGroupName sets the GroupName field's value.
6282func (s *CreateEnvironmentInput) SetGroupName(v string) *CreateEnvironmentInput {
6283	s.GroupName = &v
6284	return s
6285}
6286
6287// SetOperationsRole sets the OperationsRole field's value.
6288func (s *CreateEnvironmentInput) SetOperationsRole(v string) *CreateEnvironmentInput {
6289	s.OperationsRole = &v
6290	return s
6291}
6292
6293// SetOptionSettings sets the OptionSettings field's value.
6294func (s *CreateEnvironmentInput) SetOptionSettings(v []*ConfigurationOptionSetting) *CreateEnvironmentInput {
6295	s.OptionSettings = v
6296	return s
6297}
6298
6299// SetOptionsToRemove sets the OptionsToRemove field's value.
6300func (s *CreateEnvironmentInput) SetOptionsToRemove(v []*OptionSpecification) *CreateEnvironmentInput {
6301	s.OptionsToRemove = v
6302	return s
6303}
6304
6305// SetPlatformArn sets the PlatformArn field's value.
6306func (s *CreateEnvironmentInput) SetPlatformArn(v string) *CreateEnvironmentInput {
6307	s.PlatformArn = &v
6308	return s
6309}
6310
6311// SetSolutionStackName sets the SolutionStackName field's value.
6312func (s *CreateEnvironmentInput) SetSolutionStackName(v string) *CreateEnvironmentInput {
6313	s.SolutionStackName = &v
6314	return s
6315}
6316
6317// SetTags sets the Tags field's value.
6318func (s *CreateEnvironmentInput) SetTags(v []*Tag) *CreateEnvironmentInput {
6319	s.Tags = v
6320	return s
6321}
6322
6323// SetTemplateName sets the TemplateName field's value.
6324func (s *CreateEnvironmentInput) SetTemplateName(v string) *CreateEnvironmentInput {
6325	s.TemplateName = &v
6326	return s
6327}
6328
6329// SetTier sets the Tier field's value.
6330func (s *CreateEnvironmentInput) SetTier(v *EnvironmentTier) *CreateEnvironmentInput {
6331	s.Tier = v
6332	return s
6333}
6334
6335// SetVersionLabel sets the VersionLabel field's value.
6336func (s *CreateEnvironmentInput) SetVersionLabel(v string) *CreateEnvironmentInput {
6337	s.VersionLabel = &v
6338	return s
6339}
6340
6341// Request to create a new platform version.
6342type CreatePlatformVersionInput struct {
6343	_ struct{} `type:"structure"`
6344
6345	// The name of the builder environment.
6346	EnvironmentName *string `min:"4" type:"string"`
6347
6348	// The configuration option settings to apply to the builder environment.
6349	OptionSettings []*ConfigurationOptionSetting `type:"list"`
6350
6351	// The location of the platform definition archive in Amazon S3.
6352	//
6353	// PlatformDefinitionBundle is a required field
6354	PlatformDefinitionBundle *S3Location `type:"structure" required:"true"`
6355
6356	// The name of your custom platform.
6357	//
6358	// PlatformName is a required field
6359	PlatformName *string `type:"string" required:"true"`
6360
6361	// The number, such as 1.0.2, for the new platform version.
6362	//
6363	// PlatformVersion is a required field
6364	PlatformVersion *string `type:"string" required:"true"`
6365
6366	// Specifies the tags applied to the new platform version.
6367	//
6368	// Elastic Beanstalk applies these tags only to the platform version. Environments
6369	// that you create using the platform version don't inherit the tags.
6370	Tags []*Tag `type:"list"`
6371}
6372
6373// String returns the string representation
6374func (s CreatePlatformVersionInput) String() string {
6375	return awsutil.Prettify(s)
6376}
6377
6378// GoString returns the string representation
6379func (s CreatePlatformVersionInput) GoString() string {
6380	return s.String()
6381}
6382
6383// Validate inspects the fields of the type to determine if they are valid.
6384func (s *CreatePlatformVersionInput) Validate() error {
6385	invalidParams := request.ErrInvalidParams{Context: "CreatePlatformVersionInput"}
6386	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
6387		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
6388	}
6389	if s.PlatformDefinitionBundle == nil {
6390		invalidParams.Add(request.NewErrParamRequired("PlatformDefinitionBundle"))
6391	}
6392	if s.PlatformName == nil {
6393		invalidParams.Add(request.NewErrParamRequired("PlatformName"))
6394	}
6395	if s.PlatformVersion == nil {
6396		invalidParams.Add(request.NewErrParamRequired("PlatformVersion"))
6397	}
6398	if s.OptionSettings != nil {
6399		for i, v := range s.OptionSettings {
6400			if v == nil {
6401				continue
6402			}
6403			if err := v.Validate(); err != nil {
6404				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionSettings", i), err.(request.ErrInvalidParams))
6405			}
6406		}
6407	}
6408	if s.Tags != nil {
6409		for i, v := range s.Tags {
6410			if v == nil {
6411				continue
6412			}
6413			if err := v.Validate(); err != nil {
6414				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6415			}
6416		}
6417	}
6418
6419	if invalidParams.Len() > 0 {
6420		return invalidParams
6421	}
6422	return nil
6423}
6424
6425// SetEnvironmentName sets the EnvironmentName field's value.
6426func (s *CreatePlatformVersionInput) SetEnvironmentName(v string) *CreatePlatformVersionInput {
6427	s.EnvironmentName = &v
6428	return s
6429}
6430
6431// SetOptionSettings sets the OptionSettings field's value.
6432func (s *CreatePlatformVersionInput) SetOptionSettings(v []*ConfigurationOptionSetting) *CreatePlatformVersionInput {
6433	s.OptionSettings = v
6434	return s
6435}
6436
6437// SetPlatformDefinitionBundle sets the PlatformDefinitionBundle field's value.
6438func (s *CreatePlatformVersionInput) SetPlatformDefinitionBundle(v *S3Location) *CreatePlatformVersionInput {
6439	s.PlatformDefinitionBundle = v
6440	return s
6441}
6442
6443// SetPlatformName sets the PlatformName field's value.
6444func (s *CreatePlatformVersionInput) SetPlatformName(v string) *CreatePlatformVersionInput {
6445	s.PlatformName = &v
6446	return s
6447}
6448
6449// SetPlatformVersion sets the PlatformVersion field's value.
6450func (s *CreatePlatformVersionInput) SetPlatformVersion(v string) *CreatePlatformVersionInput {
6451	s.PlatformVersion = &v
6452	return s
6453}
6454
6455// SetTags sets the Tags field's value.
6456func (s *CreatePlatformVersionInput) SetTags(v []*Tag) *CreatePlatformVersionInput {
6457	s.Tags = v
6458	return s
6459}
6460
6461type CreatePlatformVersionOutput struct {
6462	_ struct{} `type:"structure"`
6463
6464	// The builder used to create the custom platform.
6465	Builder *Builder `type:"structure"`
6466
6467	// Detailed information about the new version of the custom platform.
6468	PlatformSummary *PlatformSummary `type:"structure"`
6469}
6470
6471// String returns the string representation
6472func (s CreatePlatformVersionOutput) String() string {
6473	return awsutil.Prettify(s)
6474}
6475
6476// GoString returns the string representation
6477func (s CreatePlatformVersionOutput) GoString() string {
6478	return s.String()
6479}
6480
6481// SetBuilder sets the Builder field's value.
6482func (s *CreatePlatformVersionOutput) SetBuilder(v *Builder) *CreatePlatformVersionOutput {
6483	s.Builder = v
6484	return s
6485}
6486
6487// SetPlatformSummary sets the PlatformSummary field's value.
6488func (s *CreatePlatformVersionOutput) SetPlatformSummary(v *PlatformSummary) *CreatePlatformVersionOutput {
6489	s.PlatformSummary = v
6490	return s
6491}
6492
6493type CreateStorageLocationInput struct {
6494	_ struct{} `type:"structure"`
6495}
6496
6497// String returns the string representation
6498func (s CreateStorageLocationInput) String() string {
6499	return awsutil.Prettify(s)
6500}
6501
6502// GoString returns the string representation
6503func (s CreateStorageLocationInput) GoString() string {
6504	return s.String()
6505}
6506
6507// Results of a CreateStorageLocationResult call.
6508type CreateStorageLocationOutput struct {
6509	_ struct{} `type:"structure"`
6510
6511	// The name of the Amazon S3 bucket created.
6512	S3Bucket *string `type:"string"`
6513}
6514
6515// String returns the string representation
6516func (s CreateStorageLocationOutput) String() string {
6517	return awsutil.Prettify(s)
6518}
6519
6520// GoString returns the string representation
6521func (s CreateStorageLocationOutput) GoString() string {
6522	return s.String()
6523}
6524
6525// SetS3Bucket sets the S3Bucket field's value.
6526func (s *CreateStorageLocationOutput) SetS3Bucket(v string) *CreateStorageLocationOutput {
6527	s.S3Bucket = &v
6528	return s
6529}
6530
6531// A custom AMI available to platforms.
6532type CustomAmi struct {
6533	_ struct{} `type:"structure"`
6534
6535	// THe ID of the image used to create the custom AMI.
6536	ImageId *string `type:"string"`
6537
6538	// The type of virtualization used to create the custom AMI.
6539	VirtualizationType *string `type:"string"`
6540}
6541
6542// String returns the string representation
6543func (s CustomAmi) String() string {
6544	return awsutil.Prettify(s)
6545}
6546
6547// GoString returns the string representation
6548func (s CustomAmi) GoString() string {
6549	return s.String()
6550}
6551
6552// SetImageId sets the ImageId field's value.
6553func (s *CustomAmi) SetImageId(v string) *CustomAmi {
6554	s.ImageId = &v
6555	return s
6556}
6557
6558// SetVirtualizationType sets the VirtualizationType field's value.
6559func (s *CustomAmi) SetVirtualizationType(v string) *CustomAmi {
6560	s.VirtualizationType = &v
6561	return s
6562}
6563
6564// Request to delete an application.
6565type DeleteApplicationInput struct {
6566	_ struct{} `type:"structure"`
6567
6568	// The name of the application to delete.
6569	//
6570	// ApplicationName is a required field
6571	ApplicationName *string `min:"1" type:"string" required:"true"`
6572
6573	// When set to true, running environments will be terminated before deleting
6574	// the application.
6575	TerminateEnvByForce *bool `type:"boolean"`
6576}
6577
6578// String returns the string representation
6579func (s DeleteApplicationInput) String() string {
6580	return awsutil.Prettify(s)
6581}
6582
6583// GoString returns the string representation
6584func (s DeleteApplicationInput) GoString() string {
6585	return s.String()
6586}
6587
6588// Validate inspects the fields of the type to determine if they are valid.
6589func (s *DeleteApplicationInput) Validate() error {
6590	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationInput"}
6591	if s.ApplicationName == nil {
6592		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
6593	}
6594	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
6595		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
6596	}
6597
6598	if invalidParams.Len() > 0 {
6599		return invalidParams
6600	}
6601	return nil
6602}
6603
6604// SetApplicationName sets the ApplicationName field's value.
6605func (s *DeleteApplicationInput) SetApplicationName(v string) *DeleteApplicationInput {
6606	s.ApplicationName = &v
6607	return s
6608}
6609
6610// SetTerminateEnvByForce sets the TerminateEnvByForce field's value.
6611func (s *DeleteApplicationInput) SetTerminateEnvByForce(v bool) *DeleteApplicationInput {
6612	s.TerminateEnvByForce = &v
6613	return s
6614}
6615
6616type DeleteApplicationOutput struct {
6617	_ struct{} `type:"structure"`
6618}
6619
6620// String returns the string representation
6621func (s DeleteApplicationOutput) String() string {
6622	return awsutil.Prettify(s)
6623}
6624
6625// GoString returns the string representation
6626func (s DeleteApplicationOutput) GoString() string {
6627	return s.String()
6628}
6629
6630// Request to delete an application version.
6631type DeleteApplicationVersionInput struct {
6632	_ struct{} `type:"structure"`
6633
6634	// The name of the application to which the version belongs.
6635	//
6636	// ApplicationName is a required field
6637	ApplicationName *string `min:"1" type:"string" required:"true"`
6638
6639	// Set to true to delete the source bundle from your storage bucket. Otherwise,
6640	// the application version is deleted only from Elastic Beanstalk and the source
6641	// bundle remains in Amazon S3.
6642	DeleteSourceBundle *bool `type:"boolean"`
6643
6644	// The label of the version to delete.
6645	//
6646	// VersionLabel is a required field
6647	VersionLabel *string `min:"1" type:"string" required:"true"`
6648}
6649
6650// String returns the string representation
6651func (s DeleteApplicationVersionInput) String() string {
6652	return awsutil.Prettify(s)
6653}
6654
6655// GoString returns the string representation
6656func (s DeleteApplicationVersionInput) GoString() string {
6657	return s.String()
6658}
6659
6660// Validate inspects the fields of the type to determine if they are valid.
6661func (s *DeleteApplicationVersionInput) Validate() error {
6662	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationVersionInput"}
6663	if s.ApplicationName == nil {
6664		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
6665	}
6666	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
6667		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
6668	}
6669	if s.VersionLabel == nil {
6670		invalidParams.Add(request.NewErrParamRequired("VersionLabel"))
6671	}
6672	if s.VersionLabel != nil && len(*s.VersionLabel) < 1 {
6673		invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1))
6674	}
6675
6676	if invalidParams.Len() > 0 {
6677		return invalidParams
6678	}
6679	return nil
6680}
6681
6682// SetApplicationName sets the ApplicationName field's value.
6683func (s *DeleteApplicationVersionInput) SetApplicationName(v string) *DeleteApplicationVersionInput {
6684	s.ApplicationName = &v
6685	return s
6686}
6687
6688// SetDeleteSourceBundle sets the DeleteSourceBundle field's value.
6689func (s *DeleteApplicationVersionInput) SetDeleteSourceBundle(v bool) *DeleteApplicationVersionInput {
6690	s.DeleteSourceBundle = &v
6691	return s
6692}
6693
6694// SetVersionLabel sets the VersionLabel field's value.
6695func (s *DeleteApplicationVersionInput) SetVersionLabel(v string) *DeleteApplicationVersionInput {
6696	s.VersionLabel = &v
6697	return s
6698}
6699
6700type DeleteApplicationVersionOutput struct {
6701	_ struct{} `type:"structure"`
6702}
6703
6704// String returns the string representation
6705func (s DeleteApplicationVersionOutput) String() string {
6706	return awsutil.Prettify(s)
6707}
6708
6709// GoString returns the string representation
6710func (s DeleteApplicationVersionOutput) GoString() string {
6711	return s.String()
6712}
6713
6714// Request to delete a configuration template.
6715type DeleteConfigurationTemplateInput struct {
6716	_ struct{} `type:"structure"`
6717
6718	// The name of the application to delete the configuration template from.
6719	//
6720	// ApplicationName is a required field
6721	ApplicationName *string `min:"1" type:"string" required:"true"`
6722
6723	// The name of the configuration template to delete.
6724	//
6725	// TemplateName is a required field
6726	TemplateName *string `min:"1" type:"string" required:"true"`
6727}
6728
6729// String returns the string representation
6730func (s DeleteConfigurationTemplateInput) String() string {
6731	return awsutil.Prettify(s)
6732}
6733
6734// GoString returns the string representation
6735func (s DeleteConfigurationTemplateInput) GoString() string {
6736	return s.String()
6737}
6738
6739// Validate inspects the fields of the type to determine if they are valid.
6740func (s *DeleteConfigurationTemplateInput) Validate() error {
6741	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationTemplateInput"}
6742	if s.ApplicationName == nil {
6743		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
6744	}
6745	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
6746		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
6747	}
6748	if s.TemplateName == nil {
6749		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
6750	}
6751	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
6752		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
6753	}
6754
6755	if invalidParams.Len() > 0 {
6756		return invalidParams
6757	}
6758	return nil
6759}
6760
6761// SetApplicationName sets the ApplicationName field's value.
6762func (s *DeleteConfigurationTemplateInput) SetApplicationName(v string) *DeleteConfigurationTemplateInput {
6763	s.ApplicationName = &v
6764	return s
6765}
6766
6767// SetTemplateName sets the TemplateName field's value.
6768func (s *DeleteConfigurationTemplateInput) SetTemplateName(v string) *DeleteConfigurationTemplateInput {
6769	s.TemplateName = &v
6770	return s
6771}
6772
6773type DeleteConfigurationTemplateOutput struct {
6774	_ struct{} `type:"structure"`
6775}
6776
6777// String returns the string representation
6778func (s DeleteConfigurationTemplateOutput) String() string {
6779	return awsutil.Prettify(s)
6780}
6781
6782// GoString returns the string representation
6783func (s DeleteConfigurationTemplateOutput) GoString() string {
6784	return s.String()
6785}
6786
6787// Request to delete a draft environment configuration.
6788type DeleteEnvironmentConfigurationInput struct {
6789	_ struct{} `type:"structure"`
6790
6791	// The name of the application the environment is associated with.
6792	//
6793	// ApplicationName is a required field
6794	ApplicationName *string `min:"1" type:"string" required:"true"`
6795
6796	// The name of the environment to delete the draft configuration from.
6797	//
6798	// EnvironmentName is a required field
6799	EnvironmentName *string `min:"4" type:"string" required:"true"`
6800}
6801
6802// String returns the string representation
6803func (s DeleteEnvironmentConfigurationInput) String() string {
6804	return awsutil.Prettify(s)
6805}
6806
6807// GoString returns the string representation
6808func (s DeleteEnvironmentConfigurationInput) GoString() string {
6809	return s.String()
6810}
6811
6812// Validate inspects the fields of the type to determine if they are valid.
6813func (s *DeleteEnvironmentConfigurationInput) Validate() error {
6814	invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentConfigurationInput"}
6815	if s.ApplicationName == nil {
6816		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
6817	}
6818	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
6819		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
6820	}
6821	if s.EnvironmentName == nil {
6822		invalidParams.Add(request.NewErrParamRequired("EnvironmentName"))
6823	}
6824	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
6825		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
6826	}
6827
6828	if invalidParams.Len() > 0 {
6829		return invalidParams
6830	}
6831	return nil
6832}
6833
6834// SetApplicationName sets the ApplicationName field's value.
6835func (s *DeleteEnvironmentConfigurationInput) SetApplicationName(v string) *DeleteEnvironmentConfigurationInput {
6836	s.ApplicationName = &v
6837	return s
6838}
6839
6840// SetEnvironmentName sets the EnvironmentName field's value.
6841func (s *DeleteEnvironmentConfigurationInput) SetEnvironmentName(v string) *DeleteEnvironmentConfigurationInput {
6842	s.EnvironmentName = &v
6843	return s
6844}
6845
6846type DeleteEnvironmentConfigurationOutput struct {
6847	_ struct{} `type:"structure"`
6848}
6849
6850// String returns the string representation
6851func (s DeleteEnvironmentConfigurationOutput) String() string {
6852	return awsutil.Prettify(s)
6853}
6854
6855// GoString returns the string representation
6856func (s DeleteEnvironmentConfigurationOutput) GoString() string {
6857	return s.String()
6858}
6859
6860type DeletePlatformVersionInput struct {
6861	_ struct{} `type:"structure"`
6862
6863	// The ARN of the version of the custom platform.
6864	PlatformArn *string `type:"string"`
6865}
6866
6867// String returns the string representation
6868func (s DeletePlatformVersionInput) String() string {
6869	return awsutil.Prettify(s)
6870}
6871
6872// GoString returns the string representation
6873func (s DeletePlatformVersionInput) GoString() string {
6874	return s.String()
6875}
6876
6877// SetPlatformArn sets the PlatformArn field's value.
6878func (s *DeletePlatformVersionInput) SetPlatformArn(v string) *DeletePlatformVersionInput {
6879	s.PlatformArn = &v
6880	return s
6881}
6882
6883type DeletePlatformVersionOutput struct {
6884	_ struct{} `type:"structure"`
6885
6886	// Detailed information about the version of the custom platform.
6887	PlatformSummary *PlatformSummary `type:"structure"`
6888}
6889
6890// String returns the string representation
6891func (s DeletePlatformVersionOutput) String() string {
6892	return awsutil.Prettify(s)
6893}
6894
6895// GoString returns the string representation
6896func (s DeletePlatformVersionOutput) GoString() string {
6897	return s.String()
6898}
6899
6900// SetPlatformSummary sets the PlatformSummary field's value.
6901func (s *DeletePlatformVersionOutput) SetPlatformSummary(v *PlatformSummary) *DeletePlatformVersionOutput {
6902	s.PlatformSummary = v
6903	return s
6904}
6905
6906// Information about an application version deployment.
6907type Deployment struct {
6908	_ struct{} `type:"structure"`
6909
6910	// The ID of the deployment. This number increases by one each time that you
6911	// deploy source code or change instance configuration settings.
6912	DeploymentId *int64 `type:"long"`
6913
6914	// For in-progress deployments, the time that the deployment started.
6915	//
6916	// For completed deployments, the time that the deployment ended.
6917	DeploymentTime *time.Time `type:"timestamp"`
6918
6919	// The status of the deployment:
6920	//
6921	//    * In Progress : The deployment is in progress.
6922	//
6923	//    * Deployed : The deployment succeeded.
6924	//
6925	//    * Failed : The deployment failed.
6926	Status *string `type:"string"`
6927
6928	// The version label of the application version in the deployment.
6929	VersionLabel *string `type:"string"`
6930}
6931
6932// String returns the string representation
6933func (s Deployment) String() string {
6934	return awsutil.Prettify(s)
6935}
6936
6937// GoString returns the string representation
6938func (s Deployment) GoString() string {
6939	return s.String()
6940}
6941
6942// SetDeploymentId sets the DeploymentId field's value.
6943func (s *Deployment) SetDeploymentId(v int64) *Deployment {
6944	s.DeploymentId = &v
6945	return s
6946}
6947
6948// SetDeploymentTime sets the DeploymentTime field's value.
6949func (s *Deployment) SetDeploymentTime(v time.Time) *Deployment {
6950	s.DeploymentTime = &v
6951	return s
6952}
6953
6954// SetStatus sets the Status field's value.
6955func (s *Deployment) SetStatus(v string) *Deployment {
6956	s.Status = &v
6957	return s
6958}
6959
6960// SetVersionLabel sets the VersionLabel field's value.
6961func (s *Deployment) SetVersionLabel(v string) *Deployment {
6962	s.VersionLabel = &v
6963	return s
6964}
6965
6966type DescribeAccountAttributesInput struct {
6967	_ struct{} `type:"structure"`
6968}
6969
6970// String returns the string representation
6971func (s DescribeAccountAttributesInput) String() string {
6972	return awsutil.Prettify(s)
6973}
6974
6975// GoString returns the string representation
6976func (s DescribeAccountAttributesInput) GoString() string {
6977	return s.String()
6978}
6979
6980type DescribeAccountAttributesOutput struct {
6981	_ struct{} `type:"structure"`
6982
6983	// The Elastic Beanstalk resource quotas associated with the calling AWS account.
6984	ResourceQuotas *ResourceQuotas `type:"structure"`
6985}
6986
6987// String returns the string representation
6988func (s DescribeAccountAttributesOutput) String() string {
6989	return awsutil.Prettify(s)
6990}
6991
6992// GoString returns the string representation
6993func (s DescribeAccountAttributesOutput) GoString() string {
6994	return s.String()
6995}
6996
6997// SetResourceQuotas sets the ResourceQuotas field's value.
6998func (s *DescribeAccountAttributesOutput) SetResourceQuotas(v *ResourceQuotas) *DescribeAccountAttributesOutput {
6999	s.ResourceQuotas = v
7000	return s
7001}
7002
7003// Request to describe application versions.
7004type DescribeApplicationVersionsInput struct {
7005	_ struct{} `type:"structure"`
7006
7007	// Specify an application name to show only application versions for that application.
7008	ApplicationName *string `min:"1" type:"string"`
7009
7010	// For a paginated request. Specify a maximum number of application versions
7011	// to include in each response.
7012	//
7013	// If no MaxRecords is specified, all available application versions are retrieved
7014	// in a single response.
7015	MaxRecords *int64 `min:"1" type:"integer"`
7016
7017	// For a paginated request. Specify a token from a previous response page to
7018	// retrieve the next response page. All other parameter values must be identical
7019	// to the ones specified in the initial request.
7020	//
7021	// If no NextToken is specified, the first page is retrieved.
7022	NextToken *string `type:"string"`
7023
7024	// Specify a version label to show a specific application version.
7025	VersionLabels []*string `type:"list"`
7026}
7027
7028// String returns the string representation
7029func (s DescribeApplicationVersionsInput) String() string {
7030	return awsutil.Prettify(s)
7031}
7032
7033// GoString returns the string representation
7034func (s DescribeApplicationVersionsInput) GoString() string {
7035	return s.String()
7036}
7037
7038// Validate inspects the fields of the type to determine if they are valid.
7039func (s *DescribeApplicationVersionsInput) Validate() error {
7040	invalidParams := request.ErrInvalidParams{Context: "DescribeApplicationVersionsInput"}
7041	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
7042		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
7043	}
7044	if s.MaxRecords != nil && *s.MaxRecords < 1 {
7045		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 1))
7046	}
7047
7048	if invalidParams.Len() > 0 {
7049		return invalidParams
7050	}
7051	return nil
7052}
7053
7054// SetApplicationName sets the ApplicationName field's value.
7055func (s *DescribeApplicationVersionsInput) SetApplicationName(v string) *DescribeApplicationVersionsInput {
7056	s.ApplicationName = &v
7057	return s
7058}
7059
7060// SetMaxRecords sets the MaxRecords field's value.
7061func (s *DescribeApplicationVersionsInput) SetMaxRecords(v int64) *DescribeApplicationVersionsInput {
7062	s.MaxRecords = &v
7063	return s
7064}
7065
7066// SetNextToken sets the NextToken field's value.
7067func (s *DescribeApplicationVersionsInput) SetNextToken(v string) *DescribeApplicationVersionsInput {
7068	s.NextToken = &v
7069	return s
7070}
7071
7072// SetVersionLabels sets the VersionLabels field's value.
7073func (s *DescribeApplicationVersionsInput) SetVersionLabels(v []*string) *DescribeApplicationVersionsInput {
7074	s.VersionLabels = v
7075	return s
7076}
7077
7078// Result message wrapping a list of application version descriptions.
7079type DescribeApplicationVersionsOutput struct {
7080	_ struct{} `type:"structure"`
7081
7082	// List of ApplicationVersionDescription objects sorted in order of creation.
7083	ApplicationVersions []*ApplicationVersionDescription `type:"list"`
7084
7085	// In a paginated request, the token that you can pass in a subsequent request
7086	// to get the next response page.
7087	NextToken *string `type:"string"`
7088}
7089
7090// String returns the string representation
7091func (s DescribeApplicationVersionsOutput) String() string {
7092	return awsutil.Prettify(s)
7093}
7094
7095// GoString returns the string representation
7096func (s DescribeApplicationVersionsOutput) GoString() string {
7097	return s.String()
7098}
7099
7100// SetApplicationVersions sets the ApplicationVersions field's value.
7101func (s *DescribeApplicationVersionsOutput) SetApplicationVersions(v []*ApplicationVersionDescription) *DescribeApplicationVersionsOutput {
7102	s.ApplicationVersions = v
7103	return s
7104}
7105
7106// SetNextToken sets the NextToken field's value.
7107func (s *DescribeApplicationVersionsOutput) SetNextToken(v string) *DescribeApplicationVersionsOutput {
7108	s.NextToken = &v
7109	return s
7110}
7111
7112// Request to describe one or more applications.
7113type DescribeApplicationsInput struct {
7114	_ struct{} `type:"structure"`
7115
7116	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7117	// only include those with the specified names.
7118	ApplicationNames []*string `type:"list"`
7119}
7120
7121// String returns the string representation
7122func (s DescribeApplicationsInput) String() string {
7123	return awsutil.Prettify(s)
7124}
7125
7126// GoString returns the string representation
7127func (s DescribeApplicationsInput) GoString() string {
7128	return s.String()
7129}
7130
7131// SetApplicationNames sets the ApplicationNames field's value.
7132func (s *DescribeApplicationsInput) SetApplicationNames(v []*string) *DescribeApplicationsInput {
7133	s.ApplicationNames = v
7134	return s
7135}
7136
7137// Result message containing a list of application descriptions.
7138type DescribeApplicationsOutput struct {
7139	_ struct{} `type:"structure"`
7140
7141	// This parameter contains a list of ApplicationDescription.
7142	Applications []*ApplicationDescription `type:"list"`
7143}
7144
7145// String returns the string representation
7146func (s DescribeApplicationsOutput) String() string {
7147	return awsutil.Prettify(s)
7148}
7149
7150// GoString returns the string representation
7151func (s DescribeApplicationsOutput) GoString() string {
7152	return s.String()
7153}
7154
7155// SetApplications sets the Applications field's value.
7156func (s *DescribeApplicationsOutput) SetApplications(v []*ApplicationDescription) *DescribeApplicationsOutput {
7157	s.Applications = v
7158	return s
7159}
7160
7161// Result message containing a list of application version descriptions.
7162type DescribeConfigurationOptionsInput struct {
7163	_ struct{} `type:"structure"`
7164
7165	// The name of the application associated with the configuration template or
7166	// environment. Only needed if you want to describe the configuration options
7167	// associated with either the configuration template or environment.
7168	ApplicationName *string `min:"1" type:"string"`
7169
7170	// The name of the environment whose configuration options you want to describe.
7171	EnvironmentName *string `min:"4" type:"string"`
7172
7173	// If specified, restricts the descriptions to only the specified options.
7174	Options []*OptionSpecification `type:"list"`
7175
7176	// The ARN of the custom platform.
7177	PlatformArn *string `type:"string"`
7178
7179	// The name of the solution stack whose configuration options you want to describe.
7180	SolutionStackName *string `type:"string"`
7181
7182	// The name of the configuration template whose configuration options you want
7183	// to describe.
7184	TemplateName *string `min:"1" type:"string"`
7185}
7186
7187// String returns the string representation
7188func (s DescribeConfigurationOptionsInput) String() string {
7189	return awsutil.Prettify(s)
7190}
7191
7192// GoString returns the string representation
7193func (s DescribeConfigurationOptionsInput) GoString() string {
7194	return s.String()
7195}
7196
7197// Validate inspects the fields of the type to determine if they are valid.
7198func (s *DescribeConfigurationOptionsInput) Validate() error {
7199	invalidParams := request.ErrInvalidParams{Context: "DescribeConfigurationOptionsInput"}
7200	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
7201		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
7202	}
7203	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
7204		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
7205	}
7206	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
7207		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
7208	}
7209	if s.Options != nil {
7210		for i, v := range s.Options {
7211			if v == nil {
7212				continue
7213			}
7214			if err := v.Validate(); err != nil {
7215				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Options", i), err.(request.ErrInvalidParams))
7216			}
7217		}
7218	}
7219
7220	if invalidParams.Len() > 0 {
7221		return invalidParams
7222	}
7223	return nil
7224}
7225
7226// SetApplicationName sets the ApplicationName field's value.
7227func (s *DescribeConfigurationOptionsInput) SetApplicationName(v string) *DescribeConfigurationOptionsInput {
7228	s.ApplicationName = &v
7229	return s
7230}
7231
7232// SetEnvironmentName sets the EnvironmentName field's value.
7233func (s *DescribeConfigurationOptionsInput) SetEnvironmentName(v string) *DescribeConfigurationOptionsInput {
7234	s.EnvironmentName = &v
7235	return s
7236}
7237
7238// SetOptions sets the Options field's value.
7239func (s *DescribeConfigurationOptionsInput) SetOptions(v []*OptionSpecification) *DescribeConfigurationOptionsInput {
7240	s.Options = v
7241	return s
7242}
7243
7244// SetPlatformArn sets the PlatformArn field's value.
7245func (s *DescribeConfigurationOptionsInput) SetPlatformArn(v string) *DescribeConfigurationOptionsInput {
7246	s.PlatformArn = &v
7247	return s
7248}
7249
7250// SetSolutionStackName sets the SolutionStackName field's value.
7251func (s *DescribeConfigurationOptionsInput) SetSolutionStackName(v string) *DescribeConfigurationOptionsInput {
7252	s.SolutionStackName = &v
7253	return s
7254}
7255
7256// SetTemplateName sets the TemplateName field's value.
7257func (s *DescribeConfigurationOptionsInput) SetTemplateName(v string) *DescribeConfigurationOptionsInput {
7258	s.TemplateName = &v
7259	return s
7260}
7261
7262// Describes the settings for a specified configuration set.
7263type DescribeConfigurationOptionsOutput struct {
7264	_ struct{} `type:"structure"`
7265
7266	// A list of ConfigurationOptionDescription.
7267	Options []*ConfigurationOptionDescription `type:"list"`
7268
7269	// The ARN of the platform version.
7270	PlatformArn *string `type:"string"`
7271
7272	// The name of the solution stack these configuration options belong to.
7273	SolutionStackName *string `type:"string"`
7274}
7275
7276// String returns the string representation
7277func (s DescribeConfigurationOptionsOutput) String() string {
7278	return awsutil.Prettify(s)
7279}
7280
7281// GoString returns the string representation
7282func (s DescribeConfigurationOptionsOutput) GoString() string {
7283	return s.String()
7284}
7285
7286// SetOptions sets the Options field's value.
7287func (s *DescribeConfigurationOptionsOutput) SetOptions(v []*ConfigurationOptionDescription) *DescribeConfigurationOptionsOutput {
7288	s.Options = v
7289	return s
7290}
7291
7292// SetPlatformArn sets the PlatformArn field's value.
7293func (s *DescribeConfigurationOptionsOutput) SetPlatformArn(v string) *DescribeConfigurationOptionsOutput {
7294	s.PlatformArn = &v
7295	return s
7296}
7297
7298// SetSolutionStackName sets the SolutionStackName field's value.
7299func (s *DescribeConfigurationOptionsOutput) SetSolutionStackName(v string) *DescribeConfigurationOptionsOutput {
7300	s.SolutionStackName = &v
7301	return s
7302}
7303
7304// Result message containing all of the configuration settings for a specified
7305// solution stack or configuration template.
7306type DescribeConfigurationSettingsInput struct {
7307	_ struct{} `type:"structure"`
7308
7309	// The application for the environment or configuration template.
7310	//
7311	// ApplicationName is a required field
7312	ApplicationName *string `min:"1" type:"string" required:"true"`
7313
7314	// The name of the environment to describe.
7315	//
7316	// Condition: You must specify either this or a TemplateName, but not both.
7317	// If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination
7318	// error. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
7319	// error.
7320	EnvironmentName *string `min:"4" type:"string"`
7321
7322	// The name of the configuration template to describe.
7323	//
7324	// Conditional: You must specify either this parameter or an EnvironmentName,
7325	// but not both. If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination
7326	// error. If you do not specify either, AWS Elastic Beanstalk returns a MissingRequiredParameter
7327	// error.
7328	TemplateName *string `min:"1" type:"string"`
7329}
7330
7331// String returns the string representation
7332func (s DescribeConfigurationSettingsInput) String() string {
7333	return awsutil.Prettify(s)
7334}
7335
7336// GoString returns the string representation
7337func (s DescribeConfigurationSettingsInput) GoString() string {
7338	return s.String()
7339}
7340
7341// Validate inspects the fields of the type to determine if they are valid.
7342func (s *DescribeConfigurationSettingsInput) Validate() error {
7343	invalidParams := request.ErrInvalidParams{Context: "DescribeConfigurationSettingsInput"}
7344	if s.ApplicationName == nil {
7345		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
7346	}
7347	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
7348		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
7349	}
7350	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
7351		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
7352	}
7353	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
7354		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
7355	}
7356
7357	if invalidParams.Len() > 0 {
7358		return invalidParams
7359	}
7360	return nil
7361}
7362
7363// SetApplicationName sets the ApplicationName field's value.
7364func (s *DescribeConfigurationSettingsInput) SetApplicationName(v string) *DescribeConfigurationSettingsInput {
7365	s.ApplicationName = &v
7366	return s
7367}
7368
7369// SetEnvironmentName sets the EnvironmentName field's value.
7370func (s *DescribeConfigurationSettingsInput) SetEnvironmentName(v string) *DescribeConfigurationSettingsInput {
7371	s.EnvironmentName = &v
7372	return s
7373}
7374
7375// SetTemplateName sets the TemplateName field's value.
7376func (s *DescribeConfigurationSettingsInput) SetTemplateName(v string) *DescribeConfigurationSettingsInput {
7377	s.TemplateName = &v
7378	return s
7379}
7380
7381// The results from a request to change the configuration settings of an environment.
7382type DescribeConfigurationSettingsOutput struct {
7383	_ struct{} `type:"structure"`
7384
7385	// A list of ConfigurationSettingsDescription.
7386	ConfigurationSettings []*ConfigurationSettingsDescription `type:"list"`
7387}
7388
7389// String returns the string representation
7390func (s DescribeConfigurationSettingsOutput) String() string {
7391	return awsutil.Prettify(s)
7392}
7393
7394// GoString returns the string representation
7395func (s DescribeConfigurationSettingsOutput) GoString() string {
7396	return s.String()
7397}
7398
7399// SetConfigurationSettings sets the ConfigurationSettings field's value.
7400func (s *DescribeConfigurationSettingsOutput) SetConfigurationSettings(v []*ConfigurationSettingsDescription) *DescribeConfigurationSettingsOutput {
7401	s.ConfigurationSettings = v
7402	return s
7403}
7404
7405// See the example below to learn how to create a request body.
7406type DescribeEnvironmentHealthInput struct {
7407	_ struct{} `type:"structure"`
7408
7409	// Specify the response elements to return. To retrieve all attributes, set
7410	// to All. If no attribute names are specified, returns the name of the environment.
7411	AttributeNames []*string `type:"list"`
7412
7413	// Specify the environment by ID.
7414	//
7415	// You must specify either this or an EnvironmentName, or both.
7416	EnvironmentId *string `type:"string"`
7417
7418	// Specify the environment by name.
7419	//
7420	// You must specify either this or an EnvironmentName, or both.
7421	EnvironmentName *string `min:"4" type:"string"`
7422}
7423
7424// String returns the string representation
7425func (s DescribeEnvironmentHealthInput) String() string {
7426	return awsutil.Prettify(s)
7427}
7428
7429// GoString returns the string representation
7430func (s DescribeEnvironmentHealthInput) GoString() string {
7431	return s.String()
7432}
7433
7434// Validate inspects the fields of the type to determine if they are valid.
7435func (s *DescribeEnvironmentHealthInput) Validate() error {
7436	invalidParams := request.ErrInvalidParams{Context: "DescribeEnvironmentHealthInput"}
7437	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
7438		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
7439	}
7440
7441	if invalidParams.Len() > 0 {
7442		return invalidParams
7443	}
7444	return nil
7445}
7446
7447// SetAttributeNames sets the AttributeNames field's value.
7448func (s *DescribeEnvironmentHealthInput) SetAttributeNames(v []*string) *DescribeEnvironmentHealthInput {
7449	s.AttributeNames = v
7450	return s
7451}
7452
7453// SetEnvironmentId sets the EnvironmentId field's value.
7454func (s *DescribeEnvironmentHealthInput) SetEnvironmentId(v string) *DescribeEnvironmentHealthInput {
7455	s.EnvironmentId = &v
7456	return s
7457}
7458
7459// SetEnvironmentName sets the EnvironmentName field's value.
7460func (s *DescribeEnvironmentHealthInput) SetEnvironmentName(v string) *DescribeEnvironmentHealthInput {
7461	s.EnvironmentName = &v
7462	return s
7463}
7464
7465// Health details for an AWS Elastic Beanstalk environment.
7466type DescribeEnvironmentHealthOutput struct {
7467	_ struct{} `type:"structure"`
7468
7469	// Application request metrics for the environment.
7470	ApplicationMetrics *ApplicationMetrics `type:"structure"`
7471
7472	// Descriptions of the data that contributed to the environment's current health
7473	// status.
7474	Causes []*string `type:"list"`
7475
7476	// The health color (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html)
7477	// of the environment.
7478	Color *string `type:"string"`
7479
7480	// The environment's name.
7481	EnvironmentName *string `min:"4" type:"string"`
7482
7483	// The health status (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html)
7484	// of the environment. For example, Ok.
7485	HealthStatus *string `type:"string"`
7486
7487	// Summary health information for the instances in the environment.
7488	InstancesHealth *InstanceHealthSummary `type:"structure"`
7489
7490	// The date and time that the health information was retrieved.
7491	RefreshedAt *time.Time `type:"timestamp"`
7492
7493	// The environment's operational status. Ready, Launching, Updating, Terminating,
7494	// or Terminated.
7495	Status *string `type:"string" enum:"EnvironmentHealth"`
7496}
7497
7498// String returns the string representation
7499func (s DescribeEnvironmentHealthOutput) String() string {
7500	return awsutil.Prettify(s)
7501}
7502
7503// GoString returns the string representation
7504func (s DescribeEnvironmentHealthOutput) GoString() string {
7505	return s.String()
7506}
7507
7508// SetApplicationMetrics sets the ApplicationMetrics field's value.
7509func (s *DescribeEnvironmentHealthOutput) SetApplicationMetrics(v *ApplicationMetrics) *DescribeEnvironmentHealthOutput {
7510	s.ApplicationMetrics = v
7511	return s
7512}
7513
7514// SetCauses sets the Causes field's value.
7515func (s *DescribeEnvironmentHealthOutput) SetCauses(v []*string) *DescribeEnvironmentHealthOutput {
7516	s.Causes = v
7517	return s
7518}
7519
7520// SetColor sets the Color field's value.
7521func (s *DescribeEnvironmentHealthOutput) SetColor(v string) *DescribeEnvironmentHealthOutput {
7522	s.Color = &v
7523	return s
7524}
7525
7526// SetEnvironmentName sets the EnvironmentName field's value.
7527func (s *DescribeEnvironmentHealthOutput) SetEnvironmentName(v string) *DescribeEnvironmentHealthOutput {
7528	s.EnvironmentName = &v
7529	return s
7530}
7531
7532// SetHealthStatus sets the HealthStatus field's value.
7533func (s *DescribeEnvironmentHealthOutput) SetHealthStatus(v string) *DescribeEnvironmentHealthOutput {
7534	s.HealthStatus = &v
7535	return s
7536}
7537
7538// SetInstancesHealth sets the InstancesHealth field's value.
7539func (s *DescribeEnvironmentHealthOutput) SetInstancesHealth(v *InstanceHealthSummary) *DescribeEnvironmentHealthOutput {
7540	s.InstancesHealth = v
7541	return s
7542}
7543
7544// SetRefreshedAt sets the RefreshedAt field's value.
7545func (s *DescribeEnvironmentHealthOutput) SetRefreshedAt(v time.Time) *DescribeEnvironmentHealthOutput {
7546	s.RefreshedAt = &v
7547	return s
7548}
7549
7550// SetStatus sets the Status field's value.
7551func (s *DescribeEnvironmentHealthOutput) SetStatus(v string) *DescribeEnvironmentHealthOutput {
7552	s.Status = &v
7553	return s
7554}
7555
7556// Request to list completed and failed managed actions.
7557type DescribeEnvironmentManagedActionHistoryInput struct {
7558	_ struct{} `type:"structure"`
7559
7560	// The environment ID of the target environment.
7561	EnvironmentId *string `type:"string"`
7562
7563	// The name of the target environment.
7564	EnvironmentName *string `min:"4" type:"string"`
7565
7566	// The maximum number of items to return for a single request.
7567	MaxItems *int64 `min:"1" type:"integer"`
7568
7569	// The pagination token returned by a previous request.
7570	NextToken *string `type:"string"`
7571}
7572
7573// String returns the string representation
7574func (s DescribeEnvironmentManagedActionHistoryInput) String() string {
7575	return awsutil.Prettify(s)
7576}
7577
7578// GoString returns the string representation
7579func (s DescribeEnvironmentManagedActionHistoryInput) GoString() string {
7580	return s.String()
7581}
7582
7583// Validate inspects the fields of the type to determine if they are valid.
7584func (s *DescribeEnvironmentManagedActionHistoryInput) Validate() error {
7585	invalidParams := request.ErrInvalidParams{Context: "DescribeEnvironmentManagedActionHistoryInput"}
7586	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
7587		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
7588	}
7589	if s.MaxItems != nil && *s.MaxItems < 1 {
7590		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
7591	}
7592
7593	if invalidParams.Len() > 0 {
7594		return invalidParams
7595	}
7596	return nil
7597}
7598
7599// SetEnvironmentId sets the EnvironmentId field's value.
7600func (s *DescribeEnvironmentManagedActionHistoryInput) SetEnvironmentId(v string) *DescribeEnvironmentManagedActionHistoryInput {
7601	s.EnvironmentId = &v
7602	return s
7603}
7604
7605// SetEnvironmentName sets the EnvironmentName field's value.
7606func (s *DescribeEnvironmentManagedActionHistoryInput) SetEnvironmentName(v string) *DescribeEnvironmentManagedActionHistoryInput {
7607	s.EnvironmentName = &v
7608	return s
7609}
7610
7611// SetMaxItems sets the MaxItems field's value.
7612func (s *DescribeEnvironmentManagedActionHistoryInput) SetMaxItems(v int64) *DescribeEnvironmentManagedActionHistoryInput {
7613	s.MaxItems = &v
7614	return s
7615}
7616
7617// SetNextToken sets the NextToken field's value.
7618func (s *DescribeEnvironmentManagedActionHistoryInput) SetNextToken(v string) *DescribeEnvironmentManagedActionHistoryInput {
7619	s.NextToken = &v
7620	return s
7621}
7622
7623// A result message containing a list of completed and failed managed actions.
7624type DescribeEnvironmentManagedActionHistoryOutput struct {
7625	_ struct{} `type:"structure"`
7626
7627	// A list of completed and failed managed actions.
7628	ManagedActionHistoryItems []*ManagedActionHistoryItem `min:"1" type:"list"`
7629
7630	// A pagination token that you pass to DescribeEnvironmentManagedActionHistory
7631	// to get the next page of results.
7632	NextToken *string `type:"string"`
7633}
7634
7635// String returns the string representation
7636func (s DescribeEnvironmentManagedActionHistoryOutput) String() string {
7637	return awsutil.Prettify(s)
7638}
7639
7640// GoString returns the string representation
7641func (s DescribeEnvironmentManagedActionHistoryOutput) GoString() string {
7642	return s.String()
7643}
7644
7645// SetManagedActionHistoryItems sets the ManagedActionHistoryItems field's value.
7646func (s *DescribeEnvironmentManagedActionHistoryOutput) SetManagedActionHistoryItems(v []*ManagedActionHistoryItem) *DescribeEnvironmentManagedActionHistoryOutput {
7647	s.ManagedActionHistoryItems = v
7648	return s
7649}
7650
7651// SetNextToken sets the NextToken field's value.
7652func (s *DescribeEnvironmentManagedActionHistoryOutput) SetNextToken(v string) *DescribeEnvironmentManagedActionHistoryOutput {
7653	s.NextToken = &v
7654	return s
7655}
7656
7657// Request to list an environment's upcoming and in-progress managed actions.
7658type DescribeEnvironmentManagedActionsInput struct {
7659	_ struct{} `type:"structure"`
7660
7661	// The environment ID of the target environment.
7662	EnvironmentId *string `type:"string"`
7663
7664	// The name of the target environment.
7665	EnvironmentName *string `type:"string"`
7666
7667	// To show only actions with a particular status, specify a status.
7668	Status *string `type:"string" enum:"ActionStatus"`
7669}
7670
7671// String returns the string representation
7672func (s DescribeEnvironmentManagedActionsInput) String() string {
7673	return awsutil.Prettify(s)
7674}
7675
7676// GoString returns the string representation
7677func (s DescribeEnvironmentManagedActionsInput) GoString() string {
7678	return s.String()
7679}
7680
7681// SetEnvironmentId sets the EnvironmentId field's value.
7682func (s *DescribeEnvironmentManagedActionsInput) SetEnvironmentId(v string) *DescribeEnvironmentManagedActionsInput {
7683	s.EnvironmentId = &v
7684	return s
7685}
7686
7687// SetEnvironmentName sets the EnvironmentName field's value.
7688func (s *DescribeEnvironmentManagedActionsInput) SetEnvironmentName(v string) *DescribeEnvironmentManagedActionsInput {
7689	s.EnvironmentName = &v
7690	return s
7691}
7692
7693// SetStatus sets the Status field's value.
7694func (s *DescribeEnvironmentManagedActionsInput) SetStatus(v string) *DescribeEnvironmentManagedActionsInput {
7695	s.Status = &v
7696	return s
7697}
7698
7699// The result message containing a list of managed actions.
7700type DescribeEnvironmentManagedActionsOutput struct {
7701	_ struct{} `type:"structure"`
7702
7703	// A list of upcoming and in-progress managed actions.
7704	ManagedActions []*ManagedAction `min:"1" type:"list"`
7705}
7706
7707// String returns the string representation
7708func (s DescribeEnvironmentManagedActionsOutput) String() string {
7709	return awsutil.Prettify(s)
7710}
7711
7712// GoString returns the string representation
7713func (s DescribeEnvironmentManagedActionsOutput) GoString() string {
7714	return s.String()
7715}
7716
7717// SetManagedActions sets the ManagedActions field's value.
7718func (s *DescribeEnvironmentManagedActionsOutput) SetManagedActions(v []*ManagedAction) *DescribeEnvironmentManagedActionsOutput {
7719	s.ManagedActions = v
7720	return s
7721}
7722
7723// Request to describe the resources in an environment.
7724type DescribeEnvironmentResourcesInput struct {
7725	_ struct{} `type:"structure"`
7726
7727	// The ID of the environment to retrieve AWS resource usage data.
7728	//
7729	// Condition: You must specify either this or an EnvironmentName, or both. If
7730	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
7731	// error.
7732	EnvironmentId *string `type:"string"`
7733
7734	// The name of the environment to retrieve AWS resource usage data.
7735	//
7736	// Condition: You must specify either this or an EnvironmentId, or both. If
7737	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
7738	// error.
7739	EnvironmentName *string `min:"4" type:"string"`
7740}
7741
7742// String returns the string representation
7743func (s DescribeEnvironmentResourcesInput) String() string {
7744	return awsutil.Prettify(s)
7745}
7746
7747// GoString returns the string representation
7748func (s DescribeEnvironmentResourcesInput) GoString() string {
7749	return s.String()
7750}
7751
7752// Validate inspects the fields of the type to determine if they are valid.
7753func (s *DescribeEnvironmentResourcesInput) Validate() error {
7754	invalidParams := request.ErrInvalidParams{Context: "DescribeEnvironmentResourcesInput"}
7755	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
7756		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
7757	}
7758
7759	if invalidParams.Len() > 0 {
7760		return invalidParams
7761	}
7762	return nil
7763}
7764
7765// SetEnvironmentId sets the EnvironmentId field's value.
7766func (s *DescribeEnvironmentResourcesInput) SetEnvironmentId(v string) *DescribeEnvironmentResourcesInput {
7767	s.EnvironmentId = &v
7768	return s
7769}
7770
7771// SetEnvironmentName sets the EnvironmentName field's value.
7772func (s *DescribeEnvironmentResourcesInput) SetEnvironmentName(v string) *DescribeEnvironmentResourcesInput {
7773	s.EnvironmentName = &v
7774	return s
7775}
7776
7777// Result message containing a list of environment resource descriptions.
7778type DescribeEnvironmentResourcesOutput struct {
7779	_ struct{} `type:"structure"`
7780
7781	// A list of EnvironmentResourceDescription.
7782	EnvironmentResources *EnvironmentResourceDescription `type:"structure"`
7783}
7784
7785// String returns the string representation
7786func (s DescribeEnvironmentResourcesOutput) String() string {
7787	return awsutil.Prettify(s)
7788}
7789
7790// GoString returns the string representation
7791func (s DescribeEnvironmentResourcesOutput) GoString() string {
7792	return s.String()
7793}
7794
7795// SetEnvironmentResources sets the EnvironmentResources field's value.
7796func (s *DescribeEnvironmentResourcesOutput) SetEnvironmentResources(v *EnvironmentResourceDescription) *DescribeEnvironmentResourcesOutput {
7797	s.EnvironmentResources = v
7798	return s
7799}
7800
7801// Request to describe one or more environments.
7802type DescribeEnvironmentsInput struct {
7803	_ struct{} `type:"structure"`
7804
7805	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7806	// include only those that are associated with this application.
7807	ApplicationName *string `min:"1" type:"string"`
7808
7809	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7810	// include only those that have the specified IDs.
7811	EnvironmentIds []*string `type:"list"`
7812
7813	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7814	// include only those that have the specified names.
7815	EnvironmentNames []*string `type:"list"`
7816
7817	// Indicates whether to include deleted environments:
7818	//
7819	// true: Environments that have been deleted after IncludedDeletedBackTo are
7820	// displayed.
7821	//
7822	// false: Do not include deleted environments.
7823	IncludeDeleted *bool `type:"boolean"`
7824
7825	// If specified when IncludeDeleted is set to true, then environments deleted
7826	// after this date are displayed.
7827	IncludedDeletedBackTo *time.Time `type:"timestamp"`
7828
7829	// For a paginated request. Specify a maximum number of environments to include
7830	// in each response.
7831	//
7832	// If no MaxRecords is specified, all available environments are retrieved in
7833	// a single response.
7834	MaxRecords *int64 `min:"1" type:"integer"`
7835
7836	// For a paginated request. Specify a token from a previous response page to
7837	// retrieve the next response page. All other parameter values must be identical
7838	// to the ones specified in the initial request.
7839	//
7840	// If no NextToken is specified, the first page is retrieved.
7841	NextToken *string `type:"string"`
7842
7843	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7844	// include only those that are associated with this application version.
7845	VersionLabel *string `min:"1" type:"string"`
7846}
7847
7848// String returns the string representation
7849func (s DescribeEnvironmentsInput) String() string {
7850	return awsutil.Prettify(s)
7851}
7852
7853// GoString returns the string representation
7854func (s DescribeEnvironmentsInput) GoString() string {
7855	return s.String()
7856}
7857
7858// Validate inspects the fields of the type to determine if they are valid.
7859func (s *DescribeEnvironmentsInput) Validate() error {
7860	invalidParams := request.ErrInvalidParams{Context: "DescribeEnvironmentsInput"}
7861	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
7862		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
7863	}
7864	if s.MaxRecords != nil && *s.MaxRecords < 1 {
7865		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 1))
7866	}
7867	if s.VersionLabel != nil && len(*s.VersionLabel) < 1 {
7868		invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1))
7869	}
7870
7871	if invalidParams.Len() > 0 {
7872		return invalidParams
7873	}
7874	return nil
7875}
7876
7877// SetApplicationName sets the ApplicationName field's value.
7878func (s *DescribeEnvironmentsInput) SetApplicationName(v string) *DescribeEnvironmentsInput {
7879	s.ApplicationName = &v
7880	return s
7881}
7882
7883// SetEnvironmentIds sets the EnvironmentIds field's value.
7884func (s *DescribeEnvironmentsInput) SetEnvironmentIds(v []*string) *DescribeEnvironmentsInput {
7885	s.EnvironmentIds = v
7886	return s
7887}
7888
7889// SetEnvironmentNames sets the EnvironmentNames field's value.
7890func (s *DescribeEnvironmentsInput) SetEnvironmentNames(v []*string) *DescribeEnvironmentsInput {
7891	s.EnvironmentNames = v
7892	return s
7893}
7894
7895// SetIncludeDeleted sets the IncludeDeleted field's value.
7896func (s *DescribeEnvironmentsInput) SetIncludeDeleted(v bool) *DescribeEnvironmentsInput {
7897	s.IncludeDeleted = &v
7898	return s
7899}
7900
7901// SetIncludedDeletedBackTo sets the IncludedDeletedBackTo field's value.
7902func (s *DescribeEnvironmentsInput) SetIncludedDeletedBackTo(v time.Time) *DescribeEnvironmentsInput {
7903	s.IncludedDeletedBackTo = &v
7904	return s
7905}
7906
7907// SetMaxRecords sets the MaxRecords field's value.
7908func (s *DescribeEnvironmentsInput) SetMaxRecords(v int64) *DescribeEnvironmentsInput {
7909	s.MaxRecords = &v
7910	return s
7911}
7912
7913// SetNextToken sets the NextToken field's value.
7914func (s *DescribeEnvironmentsInput) SetNextToken(v string) *DescribeEnvironmentsInput {
7915	s.NextToken = &v
7916	return s
7917}
7918
7919// SetVersionLabel sets the VersionLabel field's value.
7920func (s *DescribeEnvironmentsInput) SetVersionLabel(v string) *DescribeEnvironmentsInput {
7921	s.VersionLabel = &v
7922	return s
7923}
7924
7925// Request to retrieve a list of events for an environment.
7926type DescribeEventsInput struct {
7927	_ struct{} `type:"structure"`
7928
7929	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7930	// include only those associated with this application.
7931	ApplicationName *string `min:"1" type:"string"`
7932
7933	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7934	// those that occur up to, but not including, the EndTime.
7935	EndTime *time.Time `type:"timestamp"`
7936
7937	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7938	// those associated with this environment.
7939	EnvironmentId *string `type:"string"`
7940
7941	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7942	// those associated with this environment.
7943	EnvironmentName *string `min:"4" type:"string"`
7944
7945	// Specifies the maximum number of events that can be returned, beginning with
7946	// the most recent event.
7947	MaxRecords *int64 `min:"1" type:"integer"`
7948
7949	// Pagination token. If specified, the events return the next batch of results.
7950	NextToken *string `type:"string"`
7951
7952	// The ARN of a custom platform version. If specified, AWS Elastic Beanstalk
7953	// restricts the returned descriptions to those associated with this custom
7954	// platform version.
7955	PlatformArn *string `type:"string"`
7956
7957	// If specified, AWS Elastic Beanstalk restricts the described events to include
7958	// only those associated with this request ID.
7959	RequestId *string `type:"string"`
7960
7961	// If specified, limits the events returned from this call to include only those
7962	// with the specified severity or higher.
7963	Severity *string `type:"string" enum:"EventSeverity"`
7964
7965	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7966	// those that occur on or after this time.
7967	StartTime *time.Time `type:"timestamp"`
7968
7969	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7970	// those that are associated with this environment configuration.
7971	TemplateName *string `min:"1" type:"string"`
7972
7973	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7974	// those associated with this application version.
7975	VersionLabel *string `min:"1" type:"string"`
7976}
7977
7978// String returns the string representation
7979func (s DescribeEventsInput) String() string {
7980	return awsutil.Prettify(s)
7981}
7982
7983// GoString returns the string representation
7984func (s DescribeEventsInput) GoString() string {
7985	return s.String()
7986}
7987
7988// Validate inspects the fields of the type to determine if they are valid.
7989func (s *DescribeEventsInput) Validate() error {
7990	invalidParams := request.ErrInvalidParams{Context: "DescribeEventsInput"}
7991	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
7992		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
7993	}
7994	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
7995		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
7996	}
7997	if s.MaxRecords != nil && *s.MaxRecords < 1 {
7998		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 1))
7999	}
8000	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
8001		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
8002	}
8003	if s.VersionLabel != nil && len(*s.VersionLabel) < 1 {
8004		invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1))
8005	}
8006
8007	if invalidParams.Len() > 0 {
8008		return invalidParams
8009	}
8010	return nil
8011}
8012
8013// SetApplicationName sets the ApplicationName field's value.
8014func (s *DescribeEventsInput) SetApplicationName(v string) *DescribeEventsInput {
8015	s.ApplicationName = &v
8016	return s
8017}
8018
8019// SetEndTime sets the EndTime field's value.
8020func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
8021	s.EndTime = &v
8022	return s
8023}
8024
8025// SetEnvironmentId sets the EnvironmentId field's value.
8026func (s *DescribeEventsInput) SetEnvironmentId(v string) *DescribeEventsInput {
8027	s.EnvironmentId = &v
8028	return s
8029}
8030
8031// SetEnvironmentName sets the EnvironmentName field's value.
8032func (s *DescribeEventsInput) SetEnvironmentName(v string) *DescribeEventsInput {
8033	s.EnvironmentName = &v
8034	return s
8035}
8036
8037// SetMaxRecords sets the MaxRecords field's value.
8038func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput {
8039	s.MaxRecords = &v
8040	return s
8041}
8042
8043// SetNextToken sets the NextToken field's value.
8044func (s *DescribeEventsInput) SetNextToken(v string) *DescribeEventsInput {
8045	s.NextToken = &v
8046	return s
8047}
8048
8049// SetPlatformArn sets the PlatformArn field's value.
8050func (s *DescribeEventsInput) SetPlatformArn(v string) *DescribeEventsInput {
8051	s.PlatformArn = &v
8052	return s
8053}
8054
8055// SetRequestId sets the RequestId field's value.
8056func (s *DescribeEventsInput) SetRequestId(v string) *DescribeEventsInput {
8057	s.RequestId = &v
8058	return s
8059}
8060
8061// SetSeverity sets the Severity field's value.
8062func (s *DescribeEventsInput) SetSeverity(v string) *DescribeEventsInput {
8063	s.Severity = &v
8064	return s
8065}
8066
8067// SetStartTime sets the StartTime field's value.
8068func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
8069	s.StartTime = &v
8070	return s
8071}
8072
8073// SetTemplateName sets the TemplateName field's value.
8074func (s *DescribeEventsInput) SetTemplateName(v string) *DescribeEventsInput {
8075	s.TemplateName = &v
8076	return s
8077}
8078
8079// SetVersionLabel sets the VersionLabel field's value.
8080func (s *DescribeEventsInput) SetVersionLabel(v string) *DescribeEventsInput {
8081	s.VersionLabel = &v
8082	return s
8083}
8084
8085// Result message wrapping a list of event descriptions.
8086type DescribeEventsOutput struct {
8087	_ struct{} `type:"structure"`
8088
8089	// A list of EventDescription.
8090	Events []*EventDescription `type:"list"`
8091
8092	// If returned, this indicates that there are more results to obtain. Use this
8093	// token in the next DescribeEvents call to get the next batch of events.
8094	NextToken *string `type:"string"`
8095}
8096
8097// String returns the string representation
8098func (s DescribeEventsOutput) String() string {
8099	return awsutil.Prettify(s)
8100}
8101
8102// GoString returns the string representation
8103func (s DescribeEventsOutput) GoString() string {
8104	return s.String()
8105}
8106
8107// SetEvents sets the Events field's value.
8108func (s *DescribeEventsOutput) SetEvents(v []*EventDescription) *DescribeEventsOutput {
8109	s.Events = v
8110	return s
8111}
8112
8113// SetNextToken sets the NextToken field's value.
8114func (s *DescribeEventsOutput) SetNextToken(v string) *DescribeEventsOutput {
8115	s.NextToken = &v
8116	return s
8117}
8118
8119// Parameters for a call to DescribeInstancesHealth.
8120type DescribeInstancesHealthInput struct {
8121	_ struct{} `type:"structure"`
8122
8123	// Specifies the response elements you wish to receive. To retrieve all attributes,
8124	// set to All. If no attribute names are specified, returns a list of instances.
8125	AttributeNames []*string `type:"list"`
8126
8127	// Specify the AWS Elastic Beanstalk environment by ID.
8128	EnvironmentId *string `type:"string"`
8129
8130	// Specify the AWS Elastic Beanstalk environment by name.
8131	EnvironmentName *string `min:"4" type:"string"`
8132
8133	// Specify the pagination token returned by a previous call.
8134	NextToken *string `min:"1" type:"string"`
8135}
8136
8137// String returns the string representation
8138func (s DescribeInstancesHealthInput) String() string {
8139	return awsutil.Prettify(s)
8140}
8141
8142// GoString returns the string representation
8143func (s DescribeInstancesHealthInput) GoString() string {
8144	return s.String()
8145}
8146
8147// Validate inspects the fields of the type to determine if they are valid.
8148func (s *DescribeInstancesHealthInput) Validate() error {
8149	invalidParams := request.ErrInvalidParams{Context: "DescribeInstancesHealthInput"}
8150	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
8151		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
8152	}
8153	if s.NextToken != nil && len(*s.NextToken) < 1 {
8154		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8155	}
8156
8157	if invalidParams.Len() > 0 {
8158		return invalidParams
8159	}
8160	return nil
8161}
8162
8163// SetAttributeNames sets the AttributeNames field's value.
8164func (s *DescribeInstancesHealthInput) SetAttributeNames(v []*string) *DescribeInstancesHealthInput {
8165	s.AttributeNames = v
8166	return s
8167}
8168
8169// SetEnvironmentId sets the EnvironmentId field's value.
8170func (s *DescribeInstancesHealthInput) SetEnvironmentId(v string) *DescribeInstancesHealthInput {
8171	s.EnvironmentId = &v
8172	return s
8173}
8174
8175// SetEnvironmentName sets the EnvironmentName field's value.
8176func (s *DescribeInstancesHealthInput) SetEnvironmentName(v string) *DescribeInstancesHealthInput {
8177	s.EnvironmentName = &v
8178	return s
8179}
8180
8181// SetNextToken sets the NextToken field's value.
8182func (s *DescribeInstancesHealthInput) SetNextToken(v string) *DescribeInstancesHealthInput {
8183	s.NextToken = &v
8184	return s
8185}
8186
8187// Detailed health information about the Amazon EC2 instances in an AWS Elastic
8188// Beanstalk environment.
8189type DescribeInstancesHealthOutput struct {
8190	_ struct{} `type:"structure"`
8191
8192	// Detailed health information about each instance.
8193	//
8194	// The output differs slightly between Linux and Windows environments. There
8195	// is a difference in the members that are supported under the <CPUUtilization>
8196	// type.
8197	InstanceHealthList []*SingleInstanceHealth `type:"list"`
8198
8199	// Pagination token for the next page of results, if available.
8200	NextToken *string `min:"1" type:"string"`
8201
8202	// The date and time that the health information was retrieved.
8203	RefreshedAt *time.Time `type:"timestamp"`
8204}
8205
8206// String returns the string representation
8207func (s DescribeInstancesHealthOutput) String() string {
8208	return awsutil.Prettify(s)
8209}
8210
8211// GoString returns the string representation
8212func (s DescribeInstancesHealthOutput) GoString() string {
8213	return s.String()
8214}
8215
8216// SetInstanceHealthList sets the InstanceHealthList field's value.
8217func (s *DescribeInstancesHealthOutput) SetInstanceHealthList(v []*SingleInstanceHealth) *DescribeInstancesHealthOutput {
8218	s.InstanceHealthList = v
8219	return s
8220}
8221
8222// SetNextToken sets the NextToken field's value.
8223func (s *DescribeInstancesHealthOutput) SetNextToken(v string) *DescribeInstancesHealthOutput {
8224	s.NextToken = &v
8225	return s
8226}
8227
8228// SetRefreshedAt sets the RefreshedAt field's value.
8229func (s *DescribeInstancesHealthOutput) SetRefreshedAt(v time.Time) *DescribeInstancesHealthOutput {
8230	s.RefreshedAt = &v
8231	return s
8232}
8233
8234type DescribePlatformVersionInput struct {
8235	_ struct{} `type:"structure"`
8236
8237	// The ARN of the platform version.
8238	PlatformArn *string `type:"string"`
8239}
8240
8241// String returns the string representation
8242func (s DescribePlatformVersionInput) String() string {
8243	return awsutil.Prettify(s)
8244}
8245
8246// GoString returns the string representation
8247func (s DescribePlatformVersionInput) GoString() string {
8248	return s.String()
8249}
8250
8251// SetPlatformArn sets the PlatformArn field's value.
8252func (s *DescribePlatformVersionInput) SetPlatformArn(v string) *DescribePlatformVersionInput {
8253	s.PlatformArn = &v
8254	return s
8255}
8256
8257type DescribePlatformVersionOutput struct {
8258	_ struct{} `type:"structure"`
8259
8260	// Detailed information about the platform version.
8261	PlatformDescription *PlatformDescription `type:"structure"`
8262}
8263
8264// String returns the string representation
8265func (s DescribePlatformVersionOutput) String() string {
8266	return awsutil.Prettify(s)
8267}
8268
8269// GoString returns the string representation
8270func (s DescribePlatformVersionOutput) GoString() string {
8271	return s.String()
8272}
8273
8274// SetPlatformDescription sets the PlatformDescription field's value.
8275func (s *DescribePlatformVersionOutput) SetPlatformDescription(v *PlatformDescription) *DescribePlatformVersionOutput {
8276	s.PlatformDescription = v
8277	return s
8278}
8279
8280// Request to disassociate the operations role from an environment.
8281type DisassociateEnvironmentOperationsRoleInput struct {
8282	_ struct{} `type:"structure"`
8283
8284	// The name of the environment from which to disassociate the operations role.
8285	//
8286	// EnvironmentName is a required field
8287	EnvironmentName *string `min:"4" type:"string" required:"true"`
8288}
8289
8290// String returns the string representation
8291func (s DisassociateEnvironmentOperationsRoleInput) String() string {
8292	return awsutil.Prettify(s)
8293}
8294
8295// GoString returns the string representation
8296func (s DisassociateEnvironmentOperationsRoleInput) GoString() string {
8297	return s.String()
8298}
8299
8300// Validate inspects the fields of the type to determine if they are valid.
8301func (s *DisassociateEnvironmentOperationsRoleInput) Validate() error {
8302	invalidParams := request.ErrInvalidParams{Context: "DisassociateEnvironmentOperationsRoleInput"}
8303	if s.EnvironmentName == nil {
8304		invalidParams.Add(request.NewErrParamRequired("EnvironmentName"))
8305	}
8306	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
8307		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
8308	}
8309
8310	if invalidParams.Len() > 0 {
8311		return invalidParams
8312	}
8313	return nil
8314}
8315
8316// SetEnvironmentName sets the EnvironmentName field's value.
8317func (s *DisassociateEnvironmentOperationsRoleInput) SetEnvironmentName(v string) *DisassociateEnvironmentOperationsRoleInput {
8318	s.EnvironmentName = &v
8319	return s
8320}
8321
8322type DisassociateEnvironmentOperationsRoleOutput struct {
8323	_ struct{} `type:"structure"`
8324}
8325
8326// String returns the string representation
8327func (s DisassociateEnvironmentOperationsRoleOutput) String() string {
8328	return awsutil.Prettify(s)
8329}
8330
8331// GoString returns the string representation
8332func (s DisassociateEnvironmentOperationsRoleOutput) GoString() string {
8333	return s.String()
8334}
8335
8336// Describes the properties of an environment.
8337type EnvironmentDescription struct {
8338	_ struct{} `type:"structure"`
8339
8340	// Indicates if there is an in-progress environment configuration update or
8341	// application version deployment that you can cancel.
8342	//
8343	// true: There is an update in progress.
8344	//
8345	// false: There are no updates currently in progress.
8346	AbortableOperationInProgress *bool `type:"boolean"`
8347
8348	// The name of the application associated with this environment.
8349	ApplicationName *string `min:"1" type:"string"`
8350
8351	// The URL to the CNAME for this environment.
8352	CNAME *string `min:"1" type:"string"`
8353
8354	// The creation date for this environment.
8355	DateCreated *time.Time `type:"timestamp"`
8356
8357	// The last modified date for this environment.
8358	DateUpdated *time.Time `type:"timestamp"`
8359
8360	// Describes this environment.
8361	Description *string `type:"string"`
8362
8363	// For load-balanced, autoscaling environments, the URL to the LoadBalancer.
8364	// For single-instance environments, the IP address of the instance.
8365	EndpointURL *string `type:"string"`
8366
8367	// The environment's Amazon Resource Name (ARN), which can be used in other
8368	// API requests that require an ARN.
8369	EnvironmentArn *string `type:"string"`
8370
8371	// The ID of this environment.
8372	EnvironmentId *string `type:"string"`
8373
8374	// A list of links to other environments in the same group.
8375	EnvironmentLinks []*EnvironmentLink `type:"list"`
8376
8377	// The name of this environment.
8378	EnvironmentName *string `min:"4" type:"string"`
8379
8380	// Describes the health status of the environment. AWS Elastic Beanstalk indicates
8381	// the failure levels for a running environment:
8382	//
8383	//    * Red: Indicates the environment is not responsive. Occurs when three
8384	//    or more consecutive failures occur for an environment.
8385	//
8386	//    * Yellow: Indicates that something is wrong. Occurs when two consecutive
8387	//    failures occur for an environment.
8388	//
8389	//    * Green: Indicates the environment is healthy and fully functional.
8390	//
8391	//    * Grey: Default health for a new environment. The environment is not fully
8392	//    launched and health checks have not started or health checks are suspended
8393	//    during an UpdateEnvironment or RestartEnvironment request.
8394	//
8395	// Default: Grey
8396	Health *string `type:"string" enum:"EnvironmentHealth"`
8397
8398	// Returns the health status of the application running in your environment.
8399	// For more information, see Health Colors and Statuses (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html).
8400	HealthStatus *string `type:"string" enum:"EnvironmentHealthStatus"`
8401
8402	// The Amazon Resource Name (ARN) of the environment's operations role. For
8403	// more information, see Operations roles (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/iam-operationsrole.html)
8404	// in the AWS Elastic Beanstalk Developer Guide.
8405	OperationsRole *string `min:"1" type:"string"`
8406
8407	// The ARN of the platform version.
8408	PlatformArn *string `type:"string"`
8409
8410	// The description of the AWS resources used by this environment.
8411	Resources *EnvironmentResourcesDescription `type:"structure"`
8412
8413	// The name of the SolutionStack deployed with this environment.
8414	SolutionStackName *string `type:"string"`
8415
8416	// The current operational status of the environment:
8417	//
8418	//    * Launching: Environment is in the process of initial deployment.
8419	//
8420	//    * Updating: Environment is in the process of updating its configuration
8421	//    settings or application version.
8422	//
8423	//    * Ready: Environment is available to have an action performed on it, such
8424	//    as update or terminate.
8425	//
8426	//    * Terminating: Environment is in the shut-down process.
8427	//
8428	//    * Terminated: Environment is not running.
8429	Status *string `type:"string" enum:"EnvironmentStatus"`
8430
8431	// The name of the configuration template used to originally launch this environment.
8432	TemplateName *string `min:"1" type:"string"`
8433
8434	// Describes the current tier of this environment.
8435	Tier *EnvironmentTier `type:"structure"`
8436
8437	// The application version deployed in this environment.
8438	VersionLabel *string `min:"1" type:"string"`
8439}
8440
8441// String returns the string representation
8442func (s EnvironmentDescription) String() string {
8443	return awsutil.Prettify(s)
8444}
8445
8446// GoString returns the string representation
8447func (s EnvironmentDescription) GoString() string {
8448	return s.String()
8449}
8450
8451// SetAbortableOperationInProgress sets the AbortableOperationInProgress field's value.
8452func (s *EnvironmentDescription) SetAbortableOperationInProgress(v bool) *EnvironmentDescription {
8453	s.AbortableOperationInProgress = &v
8454	return s
8455}
8456
8457// SetApplicationName sets the ApplicationName field's value.
8458func (s *EnvironmentDescription) SetApplicationName(v string) *EnvironmentDescription {
8459	s.ApplicationName = &v
8460	return s
8461}
8462
8463// SetCNAME sets the CNAME field's value.
8464func (s *EnvironmentDescription) SetCNAME(v string) *EnvironmentDescription {
8465	s.CNAME = &v
8466	return s
8467}
8468
8469// SetDateCreated sets the DateCreated field's value.
8470func (s *EnvironmentDescription) SetDateCreated(v time.Time) *EnvironmentDescription {
8471	s.DateCreated = &v
8472	return s
8473}
8474
8475// SetDateUpdated sets the DateUpdated field's value.
8476func (s *EnvironmentDescription) SetDateUpdated(v time.Time) *EnvironmentDescription {
8477	s.DateUpdated = &v
8478	return s
8479}
8480
8481// SetDescription sets the Description field's value.
8482func (s *EnvironmentDescription) SetDescription(v string) *EnvironmentDescription {
8483	s.Description = &v
8484	return s
8485}
8486
8487// SetEndpointURL sets the EndpointURL field's value.
8488func (s *EnvironmentDescription) SetEndpointURL(v string) *EnvironmentDescription {
8489	s.EndpointURL = &v
8490	return s
8491}
8492
8493// SetEnvironmentArn sets the EnvironmentArn field's value.
8494func (s *EnvironmentDescription) SetEnvironmentArn(v string) *EnvironmentDescription {
8495	s.EnvironmentArn = &v
8496	return s
8497}
8498
8499// SetEnvironmentId sets the EnvironmentId field's value.
8500func (s *EnvironmentDescription) SetEnvironmentId(v string) *EnvironmentDescription {
8501	s.EnvironmentId = &v
8502	return s
8503}
8504
8505// SetEnvironmentLinks sets the EnvironmentLinks field's value.
8506func (s *EnvironmentDescription) SetEnvironmentLinks(v []*EnvironmentLink) *EnvironmentDescription {
8507	s.EnvironmentLinks = v
8508	return s
8509}
8510
8511// SetEnvironmentName sets the EnvironmentName field's value.
8512func (s *EnvironmentDescription) SetEnvironmentName(v string) *EnvironmentDescription {
8513	s.EnvironmentName = &v
8514	return s
8515}
8516
8517// SetHealth sets the Health field's value.
8518func (s *EnvironmentDescription) SetHealth(v string) *EnvironmentDescription {
8519	s.Health = &v
8520	return s
8521}
8522
8523// SetHealthStatus sets the HealthStatus field's value.
8524func (s *EnvironmentDescription) SetHealthStatus(v string) *EnvironmentDescription {
8525	s.HealthStatus = &v
8526	return s
8527}
8528
8529// SetOperationsRole sets the OperationsRole field's value.
8530func (s *EnvironmentDescription) SetOperationsRole(v string) *EnvironmentDescription {
8531	s.OperationsRole = &v
8532	return s
8533}
8534
8535// SetPlatformArn sets the PlatformArn field's value.
8536func (s *EnvironmentDescription) SetPlatformArn(v string) *EnvironmentDescription {
8537	s.PlatformArn = &v
8538	return s
8539}
8540
8541// SetResources sets the Resources field's value.
8542func (s *EnvironmentDescription) SetResources(v *EnvironmentResourcesDescription) *EnvironmentDescription {
8543	s.Resources = v
8544	return s
8545}
8546
8547// SetSolutionStackName sets the SolutionStackName field's value.
8548func (s *EnvironmentDescription) SetSolutionStackName(v string) *EnvironmentDescription {
8549	s.SolutionStackName = &v
8550	return s
8551}
8552
8553// SetStatus sets the Status field's value.
8554func (s *EnvironmentDescription) SetStatus(v string) *EnvironmentDescription {
8555	s.Status = &v
8556	return s
8557}
8558
8559// SetTemplateName sets the TemplateName field's value.
8560func (s *EnvironmentDescription) SetTemplateName(v string) *EnvironmentDescription {
8561	s.TemplateName = &v
8562	return s
8563}
8564
8565// SetTier sets the Tier field's value.
8566func (s *EnvironmentDescription) SetTier(v *EnvironmentTier) *EnvironmentDescription {
8567	s.Tier = v
8568	return s
8569}
8570
8571// SetVersionLabel sets the VersionLabel field's value.
8572func (s *EnvironmentDescription) SetVersionLabel(v string) *EnvironmentDescription {
8573	s.VersionLabel = &v
8574	return s
8575}
8576
8577// Result message containing a list of environment descriptions.
8578type EnvironmentDescriptionsMessage struct {
8579	_ struct{} `type:"structure"`
8580
8581	// Returns an EnvironmentDescription list.
8582	Environments []*EnvironmentDescription `type:"list"`
8583
8584	// In a paginated request, the token that you can pass in a subsequent request
8585	// to get the next response page.
8586	NextToken *string `type:"string"`
8587}
8588
8589// String returns the string representation
8590func (s EnvironmentDescriptionsMessage) String() string {
8591	return awsutil.Prettify(s)
8592}
8593
8594// GoString returns the string representation
8595func (s EnvironmentDescriptionsMessage) GoString() string {
8596	return s.String()
8597}
8598
8599// SetEnvironments sets the Environments field's value.
8600func (s *EnvironmentDescriptionsMessage) SetEnvironments(v []*EnvironmentDescription) *EnvironmentDescriptionsMessage {
8601	s.Environments = v
8602	return s
8603}
8604
8605// SetNextToken sets the NextToken field's value.
8606func (s *EnvironmentDescriptionsMessage) SetNextToken(v string) *EnvironmentDescriptionsMessage {
8607	s.NextToken = &v
8608	return s
8609}
8610
8611// The information retrieved from the Amazon EC2 instances.
8612type EnvironmentInfoDescription struct {
8613	_ struct{} `type:"structure"`
8614
8615	// The Amazon EC2 Instance ID for this information.
8616	Ec2InstanceId *string `type:"string"`
8617
8618	// The type of information retrieved.
8619	InfoType *string `type:"string" enum:"EnvironmentInfoType"`
8620
8621	// The retrieved information. Currently contains a presigned Amazon S3 URL.
8622	// The files are deleted after 15 minutes.
8623	//
8624	// Anyone in possession of this URL can access the files before they are deleted.
8625	// Make the URL available only to trusted parties.
8626	Message *string `type:"string"`
8627
8628	// The time stamp when this information was retrieved.
8629	SampleTimestamp *time.Time `type:"timestamp"`
8630}
8631
8632// String returns the string representation
8633func (s EnvironmentInfoDescription) String() string {
8634	return awsutil.Prettify(s)
8635}
8636
8637// GoString returns the string representation
8638func (s EnvironmentInfoDescription) GoString() string {
8639	return s.String()
8640}
8641
8642// SetEc2InstanceId sets the Ec2InstanceId field's value.
8643func (s *EnvironmentInfoDescription) SetEc2InstanceId(v string) *EnvironmentInfoDescription {
8644	s.Ec2InstanceId = &v
8645	return s
8646}
8647
8648// SetInfoType sets the InfoType field's value.
8649func (s *EnvironmentInfoDescription) SetInfoType(v string) *EnvironmentInfoDescription {
8650	s.InfoType = &v
8651	return s
8652}
8653
8654// SetMessage sets the Message field's value.
8655func (s *EnvironmentInfoDescription) SetMessage(v string) *EnvironmentInfoDescription {
8656	s.Message = &v
8657	return s
8658}
8659
8660// SetSampleTimestamp sets the SampleTimestamp field's value.
8661func (s *EnvironmentInfoDescription) SetSampleTimestamp(v time.Time) *EnvironmentInfoDescription {
8662	s.SampleTimestamp = &v
8663	return s
8664}
8665
8666// A link to another environment, defined in the environment's manifest. Links
8667// provide connection information in system properties that can be used to connect
8668// to another environment in the same group. See Environment Manifest (env.yaml)
8669// (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-cfg-manifest.html)
8670// for details.
8671type EnvironmentLink struct {
8672	_ struct{} `type:"structure"`
8673
8674	// The name of the linked environment (the dependency).
8675	EnvironmentName *string `type:"string"`
8676
8677	// The name of the link.
8678	LinkName *string `type:"string"`
8679}
8680
8681// String returns the string representation
8682func (s EnvironmentLink) String() string {
8683	return awsutil.Prettify(s)
8684}
8685
8686// GoString returns the string representation
8687func (s EnvironmentLink) GoString() string {
8688	return s.String()
8689}
8690
8691// SetEnvironmentName sets the EnvironmentName field's value.
8692func (s *EnvironmentLink) SetEnvironmentName(v string) *EnvironmentLink {
8693	s.EnvironmentName = &v
8694	return s
8695}
8696
8697// SetLinkName sets the LinkName field's value.
8698func (s *EnvironmentLink) SetLinkName(v string) *EnvironmentLink {
8699	s.LinkName = &v
8700	return s
8701}
8702
8703// Describes the AWS resources in use by this environment. This data is live.
8704type EnvironmentResourceDescription struct {
8705	_ struct{} `type:"structure"`
8706
8707	// The AutoScalingGroups used by this environment.
8708	AutoScalingGroups []*AutoScalingGroup `type:"list"`
8709
8710	// The name of the environment.
8711	EnvironmentName *string `min:"4" type:"string"`
8712
8713	// The Amazon EC2 instances used by this environment.
8714	Instances []*Instance `type:"list"`
8715
8716	// The Auto Scaling launch configurations in use by this environment.
8717	LaunchConfigurations []*LaunchConfiguration `type:"list"`
8718
8719	// The Amazon EC2 launch templates in use by this environment.
8720	LaunchTemplates []*LaunchTemplate `type:"list"`
8721
8722	// The LoadBalancers in use by this environment.
8723	LoadBalancers []*LoadBalancer `type:"list"`
8724
8725	// The queues used by this environment.
8726	Queues []*Queue `type:"list"`
8727
8728	// The AutoScaling triggers in use by this environment.
8729	Triggers []*Trigger `type:"list"`
8730}
8731
8732// String returns the string representation
8733func (s EnvironmentResourceDescription) String() string {
8734	return awsutil.Prettify(s)
8735}
8736
8737// GoString returns the string representation
8738func (s EnvironmentResourceDescription) GoString() string {
8739	return s.String()
8740}
8741
8742// SetAutoScalingGroups sets the AutoScalingGroups field's value.
8743func (s *EnvironmentResourceDescription) SetAutoScalingGroups(v []*AutoScalingGroup) *EnvironmentResourceDescription {
8744	s.AutoScalingGroups = v
8745	return s
8746}
8747
8748// SetEnvironmentName sets the EnvironmentName field's value.
8749func (s *EnvironmentResourceDescription) SetEnvironmentName(v string) *EnvironmentResourceDescription {
8750	s.EnvironmentName = &v
8751	return s
8752}
8753
8754// SetInstances sets the Instances field's value.
8755func (s *EnvironmentResourceDescription) SetInstances(v []*Instance) *EnvironmentResourceDescription {
8756	s.Instances = v
8757	return s
8758}
8759
8760// SetLaunchConfigurations sets the LaunchConfigurations field's value.
8761func (s *EnvironmentResourceDescription) SetLaunchConfigurations(v []*LaunchConfiguration) *EnvironmentResourceDescription {
8762	s.LaunchConfigurations = v
8763	return s
8764}
8765
8766// SetLaunchTemplates sets the LaunchTemplates field's value.
8767func (s *EnvironmentResourceDescription) SetLaunchTemplates(v []*LaunchTemplate) *EnvironmentResourceDescription {
8768	s.LaunchTemplates = v
8769	return s
8770}
8771
8772// SetLoadBalancers sets the LoadBalancers field's value.
8773func (s *EnvironmentResourceDescription) SetLoadBalancers(v []*LoadBalancer) *EnvironmentResourceDescription {
8774	s.LoadBalancers = v
8775	return s
8776}
8777
8778// SetQueues sets the Queues field's value.
8779func (s *EnvironmentResourceDescription) SetQueues(v []*Queue) *EnvironmentResourceDescription {
8780	s.Queues = v
8781	return s
8782}
8783
8784// SetTriggers sets the Triggers field's value.
8785func (s *EnvironmentResourceDescription) SetTriggers(v []*Trigger) *EnvironmentResourceDescription {
8786	s.Triggers = v
8787	return s
8788}
8789
8790// Describes the AWS resources in use by this environment. This data is not
8791// live data.
8792type EnvironmentResourcesDescription struct {
8793	_ struct{} `type:"structure"`
8794
8795	// Describes the LoadBalancer.
8796	LoadBalancer *LoadBalancerDescription `type:"structure"`
8797}
8798
8799// String returns the string representation
8800func (s EnvironmentResourcesDescription) String() string {
8801	return awsutil.Prettify(s)
8802}
8803
8804// GoString returns the string representation
8805func (s EnvironmentResourcesDescription) GoString() string {
8806	return s.String()
8807}
8808
8809// SetLoadBalancer sets the LoadBalancer field's value.
8810func (s *EnvironmentResourcesDescription) SetLoadBalancer(v *LoadBalancerDescription) *EnvironmentResourcesDescription {
8811	s.LoadBalancer = v
8812	return s
8813}
8814
8815// Describes the properties of an environment tier
8816type EnvironmentTier struct {
8817	_ struct{} `type:"structure"`
8818
8819	// The name of this environment tier.
8820	//
8821	// Valid values:
8822	//
8823	//    * For Web server tier – WebServer
8824	//
8825	//    * For Worker tier – Worker
8826	Name *string `type:"string"`
8827
8828	// The type of this environment tier.
8829	//
8830	// Valid values:
8831	//
8832	//    * For Web server tier – Standard
8833	//
8834	//    * For Worker tier – SQS/HTTP
8835	Type *string `type:"string"`
8836
8837	// The version of this environment tier. When you don't set a value to it, Elastic
8838	// Beanstalk uses the latest compatible worker tier version.
8839	//
8840	// This member is deprecated. Any specific version that you set may become out
8841	// of date. We recommend leaving it unspecified.
8842	Version *string `type:"string"`
8843}
8844
8845// String returns the string representation
8846func (s EnvironmentTier) String() string {
8847	return awsutil.Prettify(s)
8848}
8849
8850// GoString returns the string representation
8851func (s EnvironmentTier) GoString() string {
8852	return s.String()
8853}
8854
8855// SetName sets the Name field's value.
8856func (s *EnvironmentTier) SetName(v string) *EnvironmentTier {
8857	s.Name = &v
8858	return s
8859}
8860
8861// SetType sets the Type field's value.
8862func (s *EnvironmentTier) SetType(v string) *EnvironmentTier {
8863	s.Type = &v
8864	return s
8865}
8866
8867// SetVersion sets the Version field's value.
8868func (s *EnvironmentTier) SetVersion(v string) *EnvironmentTier {
8869	s.Version = &v
8870	return s
8871}
8872
8873// Describes an event.
8874type EventDescription struct {
8875	_ struct{} `type:"structure"`
8876
8877	// The application associated with the event.
8878	ApplicationName *string `min:"1" type:"string"`
8879
8880	// The name of the environment associated with this event.
8881	EnvironmentName *string `min:"4" type:"string"`
8882
8883	// The date when the event occurred.
8884	EventDate *time.Time `type:"timestamp"`
8885
8886	// The event message.
8887	Message *string `type:"string"`
8888
8889	// The ARN of the platform version.
8890	PlatformArn *string `type:"string"`
8891
8892	// The web service request ID for the activity of this event.
8893	RequestId *string `type:"string"`
8894
8895	// The severity level of this event.
8896	Severity *string `type:"string" enum:"EventSeverity"`
8897
8898	// The name of the configuration associated with this event.
8899	TemplateName *string `min:"1" type:"string"`
8900
8901	// The release label for the application version associated with this event.
8902	VersionLabel *string `min:"1" type:"string"`
8903}
8904
8905// String returns the string representation
8906func (s EventDescription) String() string {
8907	return awsutil.Prettify(s)
8908}
8909
8910// GoString returns the string representation
8911func (s EventDescription) GoString() string {
8912	return s.String()
8913}
8914
8915// SetApplicationName sets the ApplicationName field's value.
8916func (s *EventDescription) SetApplicationName(v string) *EventDescription {
8917	s.ApplicationName = &v
8918	return s
8919}
8920
8921// SetEnvironmentName sets the EnvironmentName field's value.
8922func (s *EventDescription) SetEnvironmentName(v string) *EventDescription {
8923	s.EnvironmentName = &v
8924	return s
8925}
8926
8927// SetEventDate sets the EventDate field's value.
8928func (s *EventDescription) SetEventDate(v time.Time) *EventDescription {
8929	s.EventDate = &v
8930	return s
8931}
8932
8933// SetMessage sets the Message field's value.
8934func (s *EventDescription) SetMessage(v string) *EventDescription {
8935	s.Message = &v
8936	return s
8937}
8938
8939// SetPlatformArn sets the PlatformArn field's value.
8940func (s *EventDescription) SetPlatformArn(v string) *EventDescription {
8941	s.PlatformArn = &v
8942	return s
8943}
8944
8945// SetRequestId sets the RequestId field's value.
8946func (s *EventDescription) SetRequestId(v string) *EventDescription {
8947	s.RequestId = &v
8948	return s
8949}
8950
8951// SetSeverity sets the Severity field's value.
8952func (s *EventDescription) SetSeverity(v string) *EventDescription {
8953	s.Severity = &v
8954	return s
8955}
8956
8957// SetTemplateName sets the TemplateName field's value.
8958func (s *EventDescription) SetTemplateName(v string) *EventDescription {
8959	s.TemplateName = &v
8960	return s
8961}
8962
8963// SetVersionLabel sets the VersionLabel field's value.
8964func (s *EventDescription) SetVersionLabel(v string) *EventDescription {
8965	s.VersionLabel = &v
8966	return s
8967}
8968
8969// The description of an Amazon EC2 instance.
8970type Instance struct {
8971	_ struct{} `type:"structure"`
8972
8973	// The ID of the Amazon EC2 instance.
8974	Id *string `type:"string"`
8975}
8976
8977// String returns the string representation
8978func (s Instance) String() string {
8979	return awsutil.Prettify(s)
8980}
8981
8982// GoString returns the string representation
8983func (s Instance) GoString() string {
8984	return s.String()
8985}
8986
8987// SetId sets the Id field's value.
8988func (s *Instance) SetId(v string) *Instance {
8989	s.Id = &v
8990	return s
8991}
8992
8993// Represents summary information about the health of an instance. For more
8994// information, see Health Colors and Statuses (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html).
8995type InstanceHealthSummary struct {
8996	_ struct{} `type:"structure"`
8997
8998	// Red. The health agent is reporting a high number of request failures or other
8999	// issues for an instance or environment.
9000	Degraded *int64 `type:"integer"`
9001
9002	// Green. An operation is in progress on an instance.
9003	Info *int64 `type:"integer"`
9004
9005	// Grey. AWS Elastic Beanstalk and the health agent are reporting no data on
9006	// an instance.
9007	NoData *int64 `type:"integer"`
9008
9009	// Green. An instance is passing health checks and the health agent is not reporting
9010	// any problems.
9011	Ok *int64 `type:"integer"`
9012
9013	// Grey. An operation is in progress on an instance within the command timeout.
9014	Pending *int64 `type:"integer"`
9015
9016	// Red. The health agent is reporting a very high number of request failures
9017	// or other issues for an instance or environment.
9018	Severe *int64 `type:"integer"`
9019
9020	// Grey. AWS Elastic Beanstalk and the health agent are reporting an insufficient
9021	// amount of data on an instance.
9022	Unknown *int64 `type:"integer"`
9023
9024	// Yellow. The health agent is reporting a moderate number of request failures
9025	// or other issues for an instance or environment.
9026	Warning *int64 `type:"integer"`
9027}
9028
9029// String returns the string representation
9030func (s InstanceHealthSummary) String() string {
9031	return awsutil.Prettify(s)
9032}
9033
9034// GoString returns the string representation
9035func (s InstanceHealthSummary) GoString() string {
9036	return s.String()
9037}
9038
9039// SetDegraded sets the Degraded field's value.
9040func (s *InstanceHealthSummary) SetDegraded(v int64) *InstanceHealthSummary {
9041	s.Degraded = &v
9042	return s
9043}
9044
9045// SetInfo sets the Info field's value.
9046func (s *InstanceHealthSummary) SetInfo(v int64) *InstanceHealthSummary {
9047	s.Info = &v
9048	return s
9049}
9050
9051// SetNoData sets the NoData field's value.
9052func (s *InstanceHealthSummary) SetNoData(v int64) *InstanceHealthSummary {
9053	s.NoData = &v
9054	return s
9055}
9056
9057// SetOk sets the Ok field's value.
9058func (s *InstanceHealthSummary) SetOk(v int64) *InstanceHealthSummary {
9059	s.Ok = &v
9060	return s
9061}
9062
9063// SetPending sets the Pending field's value.
9064func (s *InstanceHealthSummary) SetPending(v int64) *InstanceHealthSummary {
9065	s.Pending = &v
9066	return s
9067}
9068
9069// SetSevere sets the Severe field's value.
9070func (s *InstanceHealthSummary) SetSevere(v int64) *InstanceHealthSummary {
9071	s.Severe = &v
9072	return s
9073}
9074
9075// SetUnknown sets the Unknown field's value.
9076func (s *InstanceHealthSummary) SetUnknown(v int64) *InstanceHealthSummary {
9077	s.Unknown = &v
9078	return s
9079}
9080
9081// SetWarning sets the Warning field's value.
9082func (s *InstanceHealthSummary) SetWarning(v int64) *InstanceHealthSummary {
9083	s.Warning = &v
9084	return s
9085}
9086
9087// Represents the average latency for the slowest X percent of requests over
9088// the last 10 seconds.
9089type Latency struct {
9090	_ struct{} `type:"structure"`
9091
9092	// The average latency for the slowest 90 percent of requests over the last
9093	// 10 seconds.
9094	P10 *float64 `type:"double"`
9095
9096	// The average latency for the slowest 50 percent of requests over the last
9097	// 10 seconds.
9098	P50 *float64 `type:"double"`
9099
9100	// The average latency for the slowest 25 percent of requests over the last
9101	// 10 seconds.
9102	P75 *float64 `type:"double"`
9103
9104	// The average latency for the slowest 15 percent of requests over the last
9105	// 10 seconds.
9106	P85 *float64 `type:"double"`
9107
9108	// The average latency for the slowest 10 percent of requests over the last
9109	// 10 seconds.
9110	P90 *float64 `type:"double"`
9111
9112	// The average latency for the slowest 5 percent of requests over the last 10
9113	// seconds.
9114	P95 *float64 `type:"double"`
9115
9116	// The average latency for the slowest 1 percent of requests over the last 10
9117	// seconds.
9118	P99 *float64 `type:"double"`
9119
9120	// The average latency for the slowest 0.1 percent of requests over the last
9121	// 10 seconds.
9122	P999 *float64 `type:"double"`
9123}
9124
9125// String returns the string representation
9126func (s Latency) String() string {
9127	return awsutil.Prettify(s)
9128}
9129
9130// GoString returns the string representation
9131func (s Latency) GoString() string {
9132	return s.String()
9133}
9134
9135// SetP10 sets the P10 field's value.
9136func (s *Latency) SetP10(v float64) *Latency {
9137	s.P10 = &v
9138	return s
9139}
9140
9141// SetP50 sets the P50 field's value.
9142func (s *Latency) SetP50(v float64) *Latency {
9143	s.P50 = &v
9144	return s
9145}
9146
9147// SetP75 sets the P75 field's value.
9148func (s *Latency) SetP75(v float64) *Latency {
9149	s.P75 = &v
9150	return s
9151}
9152
9153// SetP85 sets the P85 field's value.
9154func (s *Latency) SetP85(v float64) *Latency {
9155	s.P85 = &v
9156	return s
9157}
9158
9159// SetP90 sets the P90 field's value.
9160func (s *Latency) SetP90(v float64) *Latency {
9161	s.P90 = &v
9162	return s
9163}
9164
9165// SetP95 sets the P95 field's value.
9166func (s *Latency) SetP95(v float64) *Latency {
9167	s.P95 = &v
9168	return s
9169}
9170
9171// SetP99 sets the P99 field's value.
9172func (s *Latency) SetP99(v float64) *Latency {
9173	s.P99 = &v
9174	return s
9175}
9176
9177// SetP999 sets the P999 field's value.
9178func (s *Latency) SetP999(v float64) *Latency {
9179	s.P999 = &v
9180	return s
9181}
9182
9183// Describes an Auto Scaling launch configuration.
9184type LaunchConfiguration struct {
9185	_ struct{} `type:"structure"`
9186
9187	// The name of the launch configuration.
9188	Name *string `type:"string"`
9189}
9190
9191// String returns the string representation
9192func (s LaunchConfiguration) String() string {
9193	return awsutil.Prettify(s)
9194}
9195
9196// GoString returns the string representation
9197func (s LaunchConfiguration) GoString() string {
9198	return s.String()
9199}
9200
9201// SetName sets the Name field's value.
9202func (s *LaunchConfiguration) SetName(v string) *LaunchConfiguration {
9203	s.Name = &v
9204	return s
9205}
9206
9207// Describes an Amazon EC2 launch template.
9208type LaunchTemplate struct {
9209	_ struct{} `type:"structure"`
9210
9211	// The ID of the launch template.
9212	Id *string `type:"string"`
9213}
9214
9215// String returns the string representation
9216func (s LaunchTemplate) String() string {
9217	return awsutil.Prettify(s)
9218}
9219
9220// GoString returns the string representation
9221func (s LaunchTemplate) GoString() string {
9222	return s.String()
9223}
9224
9225// SetId sets the Id field's value.
9226func (s *LaunchTemplate) SetId(v string) *LaunchTemplate {
9227	s.Id = &v
9228	return s
9229}
9230
9231type ListAvailableSolutionStacksInput struct {
9232	_ struct{} `type:"structure"`
9233}
9234
9235// String returns the string representation
9236func (s ListAvailableSolutionStacksInput) String() string {
9237	return awsutil.Prettify(s)
9238}
9239
9240// GoString returns the string representation
9241func (s ListAvailableSolutionStacksInput) GoString() string {
9242	return s.String()
9243}
9244
9245// A list of available AWS Elastic Beanstalk solution stacks.
9246type ListAvailableSolutionStacksOutput struct {
9247	_ struct{} `type:"structure"`
9248
9249	// A list of available solution stacks and their SolutionStackDescription.
9250	SolutionStackDetails []*SolutionStackDescription `type:"list"`
9251
9252	// A list of available solution stacks.
9253	SolutionStacks []*string `type:"list"`
9254}
9255
9256// String returns the string representation
9257func (s ListAvailableSolutionStacksOutput) String() string {
9258	return awsutil.Prettify(s)
9259}
9260
9261// GoString returns the string representation
9262func (s ListAvailableSolutionStacksOutput) GoString() string {
9263	return s.String()
9264}
9265
9266// SetSolutionStackDetails sets the SolutionStackDetails field's value.
9267func (s *ListAvailableSolutionStacksOutput) SetSolutionStackDetails(v []*SolutionStackDescription) *ListAvailableSolutionStacksOutput {
9268	s.SolutionStackDetails = v
9269	return s
9270}
9271
9272// SetSolutionStacks sets the SolutionStacks field's value.
9273func (s *ListAvailableSolutionStacksOutput) SetSolutionStacks(v []*string) *ListAvailableSolutionStacksOutput {
9274	s.SolutionStacks = v
9275	return s
9276}
9277
9278type ListPlatformBranchesInput struct {
9279	_ struct{} `type:"structure"`
9280
9281	// Criteria for restricting the resulting list of platform branches. The filter
9282	// is evaluated as a logical conjunction (AND) of the separate SearchFilter
9283	// terms.
9284	//
9285	// The following list shows valid attribute values for each of the SearchFilter
9286	// terms. Most operators take a single value. The in and not_in operators can
9287	// take multiple values.
9288	//
9289	//    * Attribute = BranchName: Operator: = | != | begins_with | ends_with |
9290	//    contains | in | not_in
9291	//
9292	//    * Attribute = LifecycleState: Operator: = | != | in | not_in Values: beta
9293	//    | supported | deprecated | retired
9294	//
9295	//    * Attribute = PlatformName: Operator: = | != | begins_with | ends_with
9296	//    | contains | in | not_in
9297	//
9298	//    * Attribute = TierType: Operator: = | != Values: WebServer/Standard |
9299	//    Worker/SQS/HTTP
9300	//
9301	// Array size: limited to 10 SearchFilter objects.
9302	//
9303	// Within each SearchFilter item, the Values array is limited to 10 items.
9304	Filters []*SearchFilter `type:"list"`
9305
9306	// The maximum number of platform branch values returned in one call.
9307	MaxRecords *int64 `min:"1" type:"integer"`
9308
9309	// For a paginated request. Specify a token from a previous response page to
9310	// retrieve the next response page. All other parameter values must be identical
9311	// to the ones specified in the initial request.
9312	//
9313	// If no NextToken is specified, the first page is retrieved.
9314	NextToken *string `type:"string"`
9315}
9316
9317// String returns the string representation
9318func (s ListPlatformBranchesInput) String() string {
9319	return awsutil.Prettify(s)
9320}
9321
9322// GoString returns the string representation
9323func (s ListPlatformBranchesInput) GoString() string {
9324	return s.String()
9325}
9326
9327// Validate inspects the fields of the type to determine if they are valid.
9328func (s *ListPlatformBranchesInput) Validate() error {
9329	invalidParams := request.ErrInvalidParams{Context: "ListPlatformBranchesInput"}
9330	if s.MaxRecords != nil && *s.MaxRecords < 1 {
9331		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 1))
9332	}
9333
9334	if invalidParams.Len() > 0 {
9335		return invalidParams
9336	}
9337	return nil
9338}
9339
9340// SetFilters sets the Filters field's value.
9341func (s *ListPlatformBranchesInput) SetFilters(v []*SearchFilter) *ListPlatformBranchesInput {
9342	s.Filters = v
9343	return s
9344}
9345
9346// SetMaxRecords sets the MaxRecords field's value.
9347func (s *ListPlatformBranchesInput) SetMaxRecords(v int64) *ListPlatformBranchesInput {
9348	s.MaxRecords = &v
9349	return s
9350}
9351
9352// SetNextToken sets the NextToken field's value.
9353func (s *ListPlatformBranchesInput) SetNextToken(v string) *ListPlatformBranchesInput {
9354	s.NextToken = &v
9355	return s
9356}
9357
9358type ListPlatformBranchesOutput struct {
9359	_ struct{} `type:"structure"`
9360
9361	// In a paginated request, if this value isn't null, it's the token that you
9362	// can pass in a subsequent request to get the next response page.
9363	NextToken *string `type:"string"`
9364
9365	// Summary information about the platform branches.
9366	PlatformBranchSummaryList []*PlatformBranchSummary `type:"list"`
9367}
9368
9369// String returns the string representation
9370func (s ListPlatformBranchesOutput) String() string {
9371	return awsutil.Prettify(s)
9372}
9373
9374// GoString returns the string representation
9375func (s ListPlatformBranchesOutput) GoString() string {
9376	return s.String()
9377}
9378
9379// SetNextToken sets the NextToken field's value.
9380func (s *ListPlatformBranchesOutput) SetNextToken(v string) *ListPlatformBranchesOutput {
9381	s.NextToken = &v
9382	return s
9383}
9384
9385// SetPlatformBranchSummaryList sets the PlatformBranchSummaryList field's value.
9386func (s *ListPlatformBranchesOutput) SetPlatformBranchSummaryList(v []*PlatformBranchSummary) *ListPlatformBranchesOutput {
9387	s.PlatformBranchSummaryList = v
9388	return s
9389}
9390
9391type ListPlatformVersionsInput struct {
9392	_ struct{} `type:"structure"`
9393
9394	// Criteria for restricting the resulting list of platform versions. The filter
9395	// is interpreted as a logical conjunction (AND) of the separate PlatformFilter
9396	// terms.
9397	Filters []*PlatformFilter `type:"list"`
9398
9399	// The maximum number of platform version values returned in one call.
9400	MaxRecords *int64 `min:"1" type:"integer"`
9401
9402	// For a paginated request. Specify a token from a previous response page to
9403	// retrieve the next response page. All other parameter values must be identical
9404	// to the ones specified in the initial request.
9405	//
9406	// If no NextToken is specified, the first page is retrieved.
9407	NextToken *string `type:"string"`
9408}
9409
9410// String returns the string representation
9411func (s ListPlatformVersionsInput) String() string {
9412	return awsutil.Prettify(s)
9413}
9414
9415// GoString returns the string representation
9416func (s ListPlatformVersionsInput) GoString() string {
9417	return s.String()
9418}
9419
9420// Validate inspects the fields of the type to determine if they are valid.
9421func (s *ListPlatformVersionsInput) Validate() error {
9422	invalidParams := request.ErrInvalidParams{Context: "ListPlatformVersionsInput"}
9423	if s.MaxRecords != nil && *s.MaxRecords < 1 {
9424		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 1))
9425	}
9426
9427	if invalidParams.Len() > 0 {
9428		return invalidParams
9429	}
9430	return nil
9431}
9432
9433// SetFilters sets the Filters field's value.
9434func (s *ListPlatformVersionsInput) SetFilters(v []*PlatformFilter) *ListPlatformVersionsInput {
9435	s.Filters = v
9436	return s
9437}
9438
9439// SetMaxRecords sets the MaxRecords field's value.
9440func (s *ListPlatformVersionsInput) SetMaxRecords(v int64) *ListPlatformVersionsInput {
9441	s.MaxRecords = &v
9442	return s
9443}
9444
9445// SetNextToken sets the NextToken field's value.
9446func (s *ListPlatformVersionsInput) SetNextToken(v string) *ListPlatformVersionsInput {
9447	s.NextToken = &v
9448	return s
9449}
9450
9451type ListPlatformVersionsOutput struct {
9452	_ struct{} `type:"structure"`
9453
9454	// In a paginated request, if this value isn't null, it's the token that you
9455	// can pass in a subsequent request to get the next response page.
9456	NextToken *string `type:"string"`
9457
9458	// Summary information about the platform versions.
9459	PlatformSummaryList []*PlatformSummary `type:"list"`
9460}
9461
9462// String returns the string representation
9463func (s ListPlatformVersionsOutput) String() string {
9464	return awsutil.Prettify(s)
9465}
9466
9467// GoString returns the string representation
9468func (s ListPlatformVersionsOutput) GoString() string {
9469	return s.String()
9470}
9471
9472// SetNextToken sets the NextToken field's value.
9473func (s *ListPlatformVersionsOutput) SetNextToken(v string) *ListPlatformVersionsOutput {
9474	s.NextToken = &v
9475	return s
9476}
9477
9478// SetPlatformSummaryList sets the PlatformSummaryList field's value.
9479func (s *ListPlatformVersionsOutput) SetPlatformSummaryList(v []*PlatformSummary) *ListPlatformVersionsOutput {
9480	s.PlatformSummaryList = v
9481	return s
9482}
9483
9484type ListTagsForResourceInput struct {
9485	_ struct{} `type:"structure"`
9486
9487	// The Amazon Resource Name (ARN) of the resouce for which a tag list is requested.
9488	//
9489	// Must be the ARN of an Elastic Beanstalk resource.
9490	//
9491	// ResourceArn is a required field
9492	ResourceArn *string `type:"string" required:"true"`
9493}
9494
9495// String returns the string representation
9496func (s ListTagsForResourceInput) String() string {
9497	return awsutil.Prettify(s)
9498}
9499
9500// GoString returns the string representation
9501func (s ListTagsForResourceInput) GoString() string {
9502	return s.String()
9503}
9504
9505// Validate inspects the fields of the type to determine if they are valid.
9506func (s *ListTagsForResourceInput) Validate() error {
9507	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
9508	if s.ResourceArn == nil {
9509		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9510	}
9511
9512	if invalidParams.Len() > 0 {
9513		return invalidParams
9514	}
9515	return nil
9516}
9517
9518// SetResourceArn sets the ResourceArn field's value.
9519func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
9520	s.ResourceArn = &v
9521	return s
9522}
9523
9524type ListTagsForResourceOutput struct {
9525	_ struct{} `type:"structure"`
9526
9527	// The Amazon Resource Name (ARN) of the resource for which a tag list was requested.
9528	ResourceArn *string `type:"string"`
9529
9530	// A list of tag key-value pairs.
9531	ResourceTags []*Tag `type:"list"`
9532}
9533
9534// String returns the string representation
9535func (s ListTagsForResourceOutput) String() string {
9536	return awsutil.Prettify(s)
9537}
9538
9539// GoString returns the string representation
9540func (s ListTagsForResourceOutput) GoString() string {
9541	return s.String()
9542}
9543
9544// SetResourceArn sets the ResourceArn field's value.
9545func (s *ListTagsForResourceOutput) SetResourceArn(v string) *ListTagsForResourceOutput {
9546	s.ResourceArn = &v
9547	return s
9548}
9549
9550// SetResourceTags sets the ResourceTags field's value.
9551func (s *ListTagsForResourceOutput) SetResourceTags(v []*Tag) *ListTagsForResourceOutput {
9552	s.ResourceTags = v
9553	return s
9554}
9555
9556// Describes the properties of a Listener for the LoadBalancer.
9557type Listener struct {
9558	_ struct{} `type:"structure"`
9559
9560	// The port that is used by the Listener.
9561	Port *int64 `type:"integer"`
9562
9563	// The protocol that is used by the Listener.
9564	Protocol *string `type:"string"`
9565}
9566
9567// String returns the string representation
9568func (s Listener) String() string {
9569	return awsutil.Prettify(s)
9570}
9571
9572// GoString returns the string representation
9573func (s Listener) GoString() string {
9574	return s.String()
9575}
9576
9577// SetPort sets the Port field's value.
9578func (s *Listener) SetPort(v int64) *Listener {
9579	s.Port = &v
9580	return s
9581}
9582
9583// SetProtocol sets the Protocol field's value.
9584func (s *Listener) SetProtocol(v string) *Listener {
9585	s.Protocol = &v
9586	return s
9587}
9588
9589// Describes a LoadBalancer.
9590type LoadBalancer struct {
9591	_ struct{} `type:"structure"`
9592
9593	// The name of the LoadBalancer.
9594	Name *string `type:"string"`
9595}
9596
9597// String returns the string representation
9598func (s LoadBalancer) String() string {
9599	return awsutil.Prettify(s)
9600}
9601
9602// GoString returns the string representation
9603func (s LoadBalancer) GoString() string {
9604	return s.String()
9605}
9606
9607// SetName sets the Name field's value.
9608func (s *LoadBalancer) SetName(v string) *LoadBalancer {
9609	s.Name = &v
9610	return s
9611}
9612
9613// Describes the details of a LoadBalancer.
9614type LoadBalancerDescription struct {
9615	_ struct{} `type:"structure"`
9616
9617	// The domain name of the LoadBalancer.
9618	Domain *string `type:"string"`
9619
9620	// A list of Listeners used by the LoadBalancer.
9621	Listeners []*Listener `type:"list"`
9622
9623	// The name of the LoadBalancer.
9624	LoadBalancerName *string `type:"string"`
9625}
9626
9627// String returns the string representation
9628func (s LoadBalancerDescription) String() string {
9629	return awsutil.Prettify(s)
9630}
9631
9632// GoString returns the string representation
9633func (s LoadBalancerDescription) GoString() string {
9634	return s.String()
9635}
9636
9637// SetDomain sets the Domain field's value.
9638func (s *LoadBalancerDescription) SetDomain(v string) *LoadBalancerDescription {
9639	s.Domain = &v
9640	return s
9641}
9642
9643// SetListeners sets the Listeners field's value.
9644func (s *LoadBalancerDescription) SetListeners(v []*Listener) *LoadBalancerDescription {
9645	s.Listeners = v
9646	return s
9647}
9648
9649// SetLoadBalancerName sets the LoadBalancerName field's value.
9650func (s *LoadBalancerDescription) SetLoadBalancerName(v string) *LoadBalancerDescription {
9651	s.LoadBalancerName = &v
9652	return s
9653}
9654
9655// The record of an upcoming or in-progress managed action.
9656type ManagedAction struct {
9657	_ struct{} `type:"structure"`
9658
9659	// A description of the managed action.
9660	ActionDescription *string `type:"string"`
9661
9662	// A unique identifier for the managed action.
9663	ActionId *string `type:"string"`
9664
9665	// The type of managed action.
9666	ActionType *string `type:"string" enum:"ActionType"`
9667
9668	// The status of the managed action. If the action is Scheduled, you can apply
9669	// it immediately with ApplyEnvironmentManagedAction.
9670	Status *string `type:"string" enum:"ActionStatus"`
9671
9672	// The start time of the maintenance window in which the managed action will
9673	// execute.
9674	WindowStartTime *time.Time `type:"timestamp"`
9675}
9676
9677// String returns the string representation
9678func (s ManagedAction) String() string {
9679	return awsutil.Prettify(s)
9680}
9681
9682// GoString returns the string representation
9683func (s ManagedAction) GoString() string {
9684	return s.String()
9685}
9686
9687// SetActionDescription sets the ActionDescription field's value.
9688func (s *ManagedAction) SetActionDescription(v string) *ManagedAction {
9689	s.ActionDescription = &v
9690	return s
9691}
9692
9693// SetActionId sets the ActionId field's value.
9694func (s *ManagedAction) SetActionId(v string) *ManagedAction {
9695	s.ActionId = &v
9696	return s
9697}
9698
9699// SetActionType sets the ActionType field's value.
9700func (s *ManagedAction) SetActionType(v string) *ManagedAction {
9701	s.ActionType = &v
9702	return s
9703}
9704
9705// SetStatus sets the Status field's value.
9706func (s *ManagedAction) SetStatus(v string) *ManagedAction {
9707	s.Status = &v
9708	return s
9709}
9710
9711// SetWindowStartTime sets the WindowStartTime field's value.
9712func (s *ManagedAction) SetWindowStartTime(v time.Time) *ManagedAction {
9713	s.WindowStartTime = &v
9714	return s
9715}
9716
9717// The record of a completed or failed managed action.
9718type ManagedActionHistoryItem struct {
9719	_ struct{} `type:"structure"`
9720
9721	// A description of the managed action.
9722	ActionDescription *string `type:"string"`
9723
9724	// A unique identifier for the managed action.
9725	ActionId *string `type:"string"`
9726
9727	// The type of the managed action.
9728	ActionType *string `type:"string" enum:"ActionType"`
9729
9730	// The date and time that the action started executing.
9731	ExecutedTime *time.Time `type:"timestamp"`
9732
9733	// If the action failed, a description of the failure.
9734	FailureDescription *string `type:"string"`
9735
9736	// If the action failed, the type of failure.
9737	FailureType *string `type:"string" enum:"FailureType"`
9738
9739	// The date and time that the action finished executing.
9740	FinishedTime *time.Time `type:"timestamp"`
9741
9742	// The status of the action.
9743	Status *string `type:"string" enum:"ActionHistoryStatus"`
9744}
9745
9746// String returns the string representation
9747func (s ManagedActionHistoryItem) String() string {
9748	return awsutil.Prettify(s)
9749}
9750
9751// GoString returns the string representation
9752func (s ManagedActionHistoryItem) GoString() string {
9753	return s.String()
9754}
9755
9756// SetActionDescription sets the ActionDescription field's value.
9757func (s *ManagedActionHistoryItem) SetActionDescription(v string) *ManagedActionHistoryItem {
9758	s.ActionDescription = &v
9759	return s
9760}
9761
9762// SetActionId sets the ActionId field's value.
9763func (s *ManagedActionHistoryItem) SetActionId(v string) *ManagedActionHistoryItem {
9764	s.ActionId = &v
9765	return s
9766}
9767
9768// SetActionType sets the ActionType field's value.
9769func (s *ManagedActionHistoryItem) SetActionType(v string) *ManagedActionHistoryItem {
9770	s.ActionType = &v
9771	return s
9772}
9773
9774// SetExecutedTime sets the ExecutedTime field's value.
9775func (s *ManagedActionHistoryItem) SetExecutedTime(v time.Time) *ManagedActionHistoryItem {
9776	s.ExecutedTime = &v
9777	return s
9778}
9779
9780// SetFailureDescription sets the FailureDescription field's value.
9781func (s *ManagedActionHistoryItem) SetFailureDescription(v string) *ManagedActionHistoryItem {
9782	s.FailureDescription = &v
9783	return s
9784}
9785
9786// SetFailureType sets the FailureType field's value.
9787func (s *ManagedActionHistoryItem) SetFailureType(v string) *ManagedActionHistoryItem {
9788	s.FailureType = &v
9789	return s
9790}
9791
9792// SetFinishedTime sets the FinishedTime field's value.
9793func (s *ManagedActionHistoryItem) SetFinishedTime(v time.Time) *ManagedActionHistoryItem {
9794	s.FinishedTime = &v
9795	return s
9796}
9797
9798// SetStatus sets the Status field's value.
9799func (s *ManagedActionHistoryItem) SetStatus(v string) *ManagedActionHistoryItem {
9800	s.Status = &v
9801	return s
9802}
9803
9804// A lifecycle rule that deletes application versions after the specified number
9805// of days.
9806type MaxAgeRule struct {
9807	_ struct{} `type:"structure"`
9808
9809	// Set to true to delete a version's source bundle from Amazon S3 when Elastic
9810	// Beanstalk deletes the application version.
9811	DeleteSourceFromS3 *bool `type:"boolean"`
9812
9813	// Specify true to apply the rule, or false to disable it.
9814	//
9815	// Enabled is a required field
9816	Enabled *bool `type:"boolean" required:"true"`
9817
9818	// Specify the number of days to retain an application versions.
9819	MaxAgeInDays *int64 `type:"integer"`
9820}
9821
9822// String returns the string representation
9823func (s MaxAgeRule) String() string {
9824	return awsutil.Prettify(s)
9825}
9826
9827// GoString returns the string representation
9828func (s MaxAgeRule) GoString() string {
9829	return s.String()
9830}
9831
9832// Validate inspects the fields of the type to determine if they are valid.
9833func (s *MaxAgeRule) Validate() error {
9834	invalidParams := request.ErrInvalidParams{Context: "MaxAgeRule"}
9835	if s.Enabled == nil {
9836		invalidParams.Add(request.NewErrParamRequired("Enabled"))
9837	}
9838
9839	if invalidParams.Len() > 0 {
9840		return invalidParams
9841	}
9842	return nil
9843}
9844
9845// SetDeleteSourceFromS3 sets the DeleteSourceFromS3 field's value.
9846func (s *MaxAgeRule) SetDeleteSourceFromS3(v bool) *MaxAgeRule {
9847	s.DeleteSourceFromS3 = &v
9848	return s
9849}
9850
9851// SetEnabled sets the Enabled field's value.
9852func (s *MaxAgeRule) SetEnabled(v bool) *MaxAgeRule {
9853	s.Enabled = &v
9854	return s
9855}
9856
9857// SetMaxAgeInDays sets the MaxAgeInDays field's value.
9858func (s *MaxAgeRule) SetMaxAgeInDays(v int64) *MaxAgeRule {
9859	s.MaxAgeInDays = &v
9860	return s
9861}
9862
9863// A lifecycle rule that deletes the oldest application version when the maximum
9864// count is exceeded.
9865type MaxCountRule struct {
9866	_ struct{} `type:"structure"`
9867
9868	// Set to true to delete a version's source bundle from Amazon S3 when Elastic
9869	// Beanstalk deletes the application version.
9870	DeleteSourceFromS3 *bool `type:"boolean"`
9871
9872	// Specify true to apply the rule, or false to disable it.
9873	//
9874	// Enabled is a required field
9875	Enabled *bool `type:"boolean" required:"true"`
9876
9877	// Specify the maximum number of application versions to retain.
9878	MaxCount *int64 `type:"integer"`
9879}
9880
9881// String returns the string representation
9882func (s MaxCountRule) String() string {
9883	return awsutil.Prettify(s)
9884}
9885
9886// GoString returns the string representation
9887func (s MaxCountRule) GoString() string {
9888	return s.String()
9889}
9890
9891// Validate inspects the fields of the type to determine if they are valid.
9892func (s *MaxCountRule) Validate() error {
9893	invalidParams := request.ErrInvalidParams{Context: "MaxCountRule"}
9894	if s.Enabled == nil {
9895		invalidParams.Add(request.NewErrParamRequired("Enabled"))
9896	}
9897
9898	if invalidParams.Len() > 0 {
9899		return invalidParams
9900	}
9901	return nil
9902}
9903
9904// SetDeleteSourceFromS3 sets the DeleteSourceFromS3 field's value.
9905func (s *MaxCountRule) SetDeleteSourceFromS3(v bool) *MaxCountRule {
9906	s.DeleteSourceFromS3 = &v
9907	return s
9908}
9909
9910// SetEnabled sets the Enabled field's value.
9911func (s *MaxCountRule) SetEnabled(v bool) *MaxCountRule {
9912	s.Enabled = &v
9913	return s
9914}
9915
9916// SetMaxCount sets the MaxCount field's value.
9917func (s *MaxCountRule) SetMaxCount(v int64) *MaxCountRule {
9918	s.MaxCount = &v
9919	return s
9920}
9921
9922// A regular expression representing a restriction on a string configuration
9923// option value.
9924type OptionRestrictionRegex struct {
9925	_ struct{} `type:"structure"`
9926
9927	// A unique name representing this regular expression.
9928	Label *string `type:"string"`
9929
9930	// The regular expression pattern that a string configuration option value with
9931	// this restriction must match.
9932	Pattern *string `type:"string"`
9933}
9934
9935// String returns the string representation
9936func (s OptionRestrictionRegex) String() string {
9937	return awsutil.Prettify(s)
9938}
9939
9940// GoString returns the string representation
9941func (s OptionRestrictionRegex) GoString() string {
9942	return s.String()
9943}
9944
9945// SetLabel sets the Label field's value.
9946func (s *OptionRestrictionRegex) SetLabel(v string) *OptionRestrictionRegex {
9947	s.Label = &v
9948	return s
9949}
9950
9951// SetPattern sets the Pattern field's value.
9952func (s *OptionRestrictionRegex) SetPattern(v string) *OptionRestrictionRegex {
9953	s.Pattern = &v
9954	return s
9955}
9956
9957// A specification identifying an individual configuration option.
9958type OptionSpecification struct {
9959	_ struct{} `type:"structure"`
9960
9961	// A unique namespace identifying the option's associated AWS resource.
9962	Namespace *string `type:"string"`
9963
9964	// The name of the configuration option.
9965	OptionName *string `type:"string"`
9966
9967	// A unique resource name for a time-based scaling configuration option.
9968	ResourceName *string `min:"1" type:"string"`
9969}
9970
9971// String returns the string representation
9972func (s OptionSpecification) String() string {
9973	return awsutil.Prettify(s)
9974}
9975
9976// GoString returns the string representation
9977func (s OptionSpecification) GoString() string {
9978	return s.String()
9979}
9980
9981// Validate inspects the fields of the type to determine if they are valid.
9982func (s *OptionSpecification) Validate() error {
9983	invalidParams := request.ErrInvalidParams{Context: "OptionSpecification"}
9984	if s.ResourceName != nil && len(*s.ResourceName) < 1 {
9985		invalidParams.Add(request.NewErrParamMinLen("ResourceName", 1))
9986	}
9987
9988	if invalidParams.Len() > 0 {
9989		return invalidParams
9990	}
9991	return nil
9992}
9993
9994// SetNamespace sets the Namespace field's value.
9995func (s *OptionSpecification) SetNamespace(v string) *OptionSpecification {
9996	s.Namespace = &v
9997	return s
9998}
9999
10000// SetOptionName sets the OptionName field's value.
10001func (s *OptionSpecification) SetOptionName(v string) *OptionSpecification {
10002	s.OptionName = &v
10003	return s
10004}
10005
10006// SetResourceName sets the ResourceName field's value.
10007func (s *OptionSpecification) SetResourceName(v string) *OptionSpecification {
10008	s.ResourceName = &v
10009	return s
10010}
10011
10012// Summary information about a platform branch.
10013type PlatformBranchSummary struct {
10014	_ struct{} `type:"structure"`
10015
10016	// The name of the platform branch.
10017	BranchName *string `type:"string"`
10018
10019	// An ordinal number that designates the order in which platform branches have
10020	// been added to a platform. This can be helpful, for example, if your code
10021	// calls the ListPlatformBranches action and then displays a list of platform
10022	// branches.
10023	//
10024	// A larger BranchOrder value designates a newer platform branch within the
10025	// platform.
10026	BranchOrder *int64 `type:"integer"`
10027
10028	// The support life cycle state of the platform branch.
10029	//
10030	// Possible values: beta | supported | deprecated | retired
10031	LifecycleState *string `type:"string"`
10032
10033	// The name of the platform to which this platform branch belongs.
10034	PlatformName *string `type:"string"`
10035
10036	// The environment tiers that platform versions in this branch support.
10037	//
10038	// Possible values: WebServer/Standard | Worker/SQS/HTTP
10039	SupportedTierList []*string `type:"list"`
10040}
10041
10042// String returns the string representation
10043func (s PlatformBranchSummary) String() string {
10044	return awsutil.Prettify(s)
10045}
10046
10047// GoString returns the string representation
10048func (s PlatformBranchSummary) GoString() string {
10049	return s.String()
10050}
10051
10052// SetBranchName sets the BranchName field's value.
10053func (s *PlatformBranchSummary) SetBranchName(v string) *PlatformBranchSummary {
10054	s.BranchName = &v
10055	return s
10056}
10057
10058// SetBranchOrder sets the BranchOrder field's value.
10059func (s *PlatformBranchSummary) SetBranchOrder(v int64) *PlatformBranchSummary {
10060	s.BranchOrder = &v
10061	return s
10062}
10063
10064// SetLifecycleState sets the LifecycleState field's value.
10065func (s *PlatformBranchSummary) SetLifecycleState(v string) *PlatformBranchSummary {
10066	s.LifecycleState = &v
10067	return s
10068}
10069
10070// SetPlatformName sets the PlatformName field's value.
10071func (s *PlatformBranchSummary) SetPlatformName(v string) *PlatformBranchSummary {
10072	s.PlatformName = &v
10073	return s
10074}
10075
10076// SetSupportedTierList sets the SupportedTierList field's value.
10077func (s *PlatformBranchSummary) SetSupportedTierList(v []*string) *PlatformBranchSummary {
10078	s.SupportedTierList = v
10079	return s
10080}
10081
10082// Detailed information about a platform version.
10083type PlatformDescription struct {
10084	_ struct{} `type:"structure"`
10085
10086	// The custom AMIs supported by the platform version.
10087	CustomAmiList []*CustomAmi `type:"list"`
10088
10089	// The date when the platform version was created.
10090	DateCreated *time.Time `type:"timestamp"`
10091
10092	// The date when the platform version was last updated.
10093	DateUpdated *time.Time `type:"timestamp"`
10094
10095	// The description of the platform version.
10096	Description *string `type:"string"`
10097
10098	// The frameworks supported by the platform version.
10099	Frameworks []*PlatformFramework `type:"list"`
10100
10101	// Information about the maintainer of the platform version.
10102	Maintainer *string `type:"string"`
10103
10104	// The operating system used by the platform version.
10105	OperatingSystemName *string `type:"string"`
10106
10107	// The version of the operating system used by the platform version.
10108	OperatingSystemVersion *string `type:"string"`
10109
10110	// The ARN of the platform version.
10111	PlatformArn *string `type:"string"`
10112
10113	// The state of the platform version's branch in its lifecycle.
10114	//
10115	// Possible values: Beta | Supported | Deprecated | Retired
10116	PlatformBranchLifecycleState *string `type:"string"`
10117
10118	// The platform branch to which the platform version belongs.
10119	PlatformBranchName *string `type:"string"`
10120
10121	// The category of the platform version.
10122	PlatformCategory *string `type:"string"`
10123
10124	// The state of the platform version in its lifecycle.
10125	//
10126	// Possible values: Recommended | null
10127	//
10128	// If a null value is returned, the platform version isn't the recommended one
10129	// for its branch. Each platform branch has a single recommended platform version,
10130	// typically the most recent one.
10131	PlatformLifecycleState *string `type:"string"`
10132
10133	// The name of the platform version.
10134	PlatformName *string `type:"string"`
10135
10136	// The AWS account ID of the person who created the platform version.
10137	PlatformOwner *string `type:"string"`
10138
10139	// The status of the platform version.
10140	PlatformStatus *string `type:"string" enum:"PlatformStatus"`
10141
10142	// The version of the platform version.
10143	PlatformVersion *string `type:"string"`
10144
10145	// The programming languages supported by the platform version.
10146	ProgrammingLanguages []*PlatformProgrammingLanguage `type:"list"`
10147
10148	// The name of the solution stack used by the platform version.
10149	SolutionStackName *string `type:"string"`
10150
10151	// The additions supported by the platform version.
10152	SupportedAddonList []*string `type:"list"`
10153
10154	// The tiers supported by the platform version.
10155	SupportedTierList []*string `type:"list"`
10156}
10157
10158// String returns the string representation
10159func (s PlatformDescription) String() string {
10160	return awsutil.Prettify(s)
10161}
10162
10163// GoString returns the string representation
10164func (s PlatformDescription) GoString() string {
10165	return s.String()
10166}
10167
10168// SetCustomAmiList sets the CustomAmiList field's value.
10169func (s *PlatformDescription) SetCustomAmiList(v []*CustomAmi) *PlatformDescription {
10170	s.CustomAmiList = v
10171	return s
10172}
10173
10174// SetDateCreated sets the DateCreated field's value.
10175func (s *PlatformDescription) SetDateCreated(v time.Time) *PlatformDescription {
10176	s.DateCreated = &v
10177	return s
10178}
10179
10180// SetDateUpdated sets the DateUpdated field's value.
10181func (s *PlatformDescription) SetDateUpdated(v time.Time) *PlatformDescription {
10182	s.DateUpdated = &v
10183	return s
10184}
10185
10186// SetDescription sets the Description field's value.
10187func (s *PlatformDescription) SetDescription(v string) *PlatformDescription {
10188	s.Description = &v
10189	return s
10190}
10191
10192// SetFrameworks sets the Frameworks field's value.
10193func (s *PlatformDescription) SetFrameworks(v []*PlatformFramework) *PlatformDescription {
10194	s.Frameworks = v
10195	return s
10196}
10197
10198// SetMaintainer sets the Maintainer field's value.
10199func (s *PlatformDescription) SetMaintainer(v string) *PlatformDescription {
10200	s.Maintainer = &v
10201	return s
10202}
10203
10204// SetOperatingSystemName sets the OperatingSystemName field's value.
10205func (s *PlatformDescription) SetOperatingSystemName(v string) *PlatformDescription {
10206	s.OperatingSystemName = &v
10207	return s
10208}
10209
10210// SetOperatingSystemVersion sets the OperatingSystemVersion field's value.
10211func (s *PlatformDescription) SetOperatingSystemVersion(v string) *PlatformDescription {
10212	s.OperatingSystemVersion = &v
10213	return s
10214}
10215
10216// SetPlatformArn sets the PlatformArn field's value.
10217func (s *PlatformDescription) SetPlatformArn(v string) *PlatformDescription {
10218	s.PlatformArn = &v
10219	return s
10220}
10221
10222// SetPlatformBranchLifecycleState sets the PlatformBranchLifecycleState field's value.
10223func (s *PlatformDescription) SetPlatformBranchLifecycleState(v string) *PlatformDescription {
10224	s.PlatformBranchLifecycleState = &v
10225	return s
10226}
10227
10228// SetPlatformBranchName sets the PlatformBranchName field's value.
10229func (s *PlatformDescription) SetPlatformBranchName(v string) *PlatformDescription {
10230	s.PlatformBranchName = &v
10231	return s
10232}
10233
10234// SetPlatformCategory sets the PlatformCategory field's value.
10235func (s *PlatformDescription) SetPlatformCategory(v string) *PlatformDescription {
10236	s.PlatformCategory = &v
10237	return s
10238}
10239
10240// SetPlatformLifecycleState sets the PlatformLifecycleState field's value.
10241func (s *PlatformDescription) SetPlatformLifecycleState(v string) *PlatformDescription {
10242	s.PlatformLifecycleState = &v
10243	return s
10244}
10245
10246// SetPlatformName sets the PlatformName field's value.
10247func (s *PlatformDescription) SetPlatformName(v string) *PlatformDescription {
10248	s.PlatformName = &v
10249	return s
10250}
10251
10252// SetPlatformOwner sets the PlatformOwner field's value.
10253func (s *PlatformDescription) SetPlatformOwner(v string) *PlatformDescription {
10254	s.PlatformOwner = &v
10255	return s
10256}
10257
10258// SetPlatformStatus sets the PlatformStatus field's value.
10259func (s *PlatformDescription) SetPlatformStatus(v string) *PlatformDescription {
10260	s.PlatformStatus = &v
10261	return s
10262}
10263
10264// SetPlatformVersion sets the PlatformVersion field's value.
10265func (s *PlatformDescription) SetPlatformVersion(v string) *PlatformDescription {
10266	s.PlatformVersion = &v
10267	return s
10268}
10269
10270// SetProgrammingLanguages sets the ProgrammingLanguages field's value.
10271func (s *PlatformDescription) SetProgrammingLanguages(v []*PlatformProgrammingLanguage) *PlatformDescription {
10272	s.ProgrammingLanguages = v
10273	return s
10274}
10275
10276// SetSolutionStackName sets the SolutionStackName field's value.
10277func (s *PlatformDescription) SetSolutionStackName(v string) *PlatformDescription {
10278	s.SolutionStackName = &v
10279	return s
10280}
10281
10282// SetSupportedAddonList sets the SupportedAddonList field's value.
10283func (s *PlatformDescription) SetSupportedAddonList(v []*string) *PlatformDescription {
10284	s.SupportedAddonList = v
10285	return s
10286}
10287
10288// SetSupportedTierList sets the SupportedTierList field's value.
10289func (s *PlatformDescription) SetSupportedTierList(v []*string) *PlatformDescription {
10290	s.SupportedTierList = v
10291	return s
10292}
10293
10294// Describes criteria to restrict the results when listing platform versions.
10295//
10296// The filter is evaluated as follows: Type Operator Values[1]
10297type PlatformFilter struct {
10298	_ struct{} `type:"structure"`
10299
10300	// The operator to apply to the Type with each of the Values.
10301	//
10302	// Valid values: = | != | < | <= | > | >= | contains | begins_with | ends_with
10303	Operator *string `type:"string"`
10304
10305	// The platform version attribute to which the filter values are applied.
10306	//
10307	// Valid values: PlatformName | PlatformVersion | PlatformStatus | PlatformBranchName
10308	// | PlatformLifecycleState | PlatformOwner | SupportedTier | SupportedAddon
10309	// | ProgrammingLanguageName | OperatingSystemName
10310	Type *string `type:"string"`
10311
10312	// The list of values applied to the filtering platform version attribute. Only
10313	// one value is supported for all current operators.
10314	//
10315	// The following list shows valid filter values for some filter attributes.
10316	//
10317	//    * PlatformStatus: Creating | Failed | Ready | Deleting | Deleted
10318	//
10319	//    * PlatformLifecycleState: recommended
10320	//
10321	//    * SupportedTier: WebServer/Standard | Worker/SQS/HTTP
10322	//
10323	//    * SupportedAddon: Log/S3 | Monitoring/Healthd | WorkerDaemon/SQSD
10324	Values []*string `type:"list"`
10325}
10326
10327// String returns the string representation
10328func (s PlatformFilter) String() string {
10329	return awsutil.Prettify(s)
10330}
10331
10332// GoString returns the string representation
10333func (s PlatformFilter) GoString() string {
10334	return s.String()
10335}
10336
10337// SetOperator sets the Operator field's value.
10338func (s *PlatformFilter) SetOperator(v string) *PlatformFilter {
10339	s.Operator = &v
10340	return s
10341}
10342
10343// SetType sets the Type field's value.
10344func (s *PlatformFilter) SetType(v string) *PlatformFilter {
10345	s.Type = &v
10346	return s
10347}
10348
10349// SetValues sets the Values field's value.
10350func (s *PlatformFilter) SetValues(v []*string) *PlatformFilter {
10351	s.Values = v
10352	return s
10353}
10354
10355// A framework supported by the platform.
10356type PlatformFramework struct {
10357	_ struct{} `type:"structure"`
10358
10359	// The name of the framework.
10360	Name *string `type:"string"`
10361
10362	// The version of the framework.
10363	Version *string `type:"string"`
10364}
10365
10366// String returns the string representation
10367func (s PlatformFramework) String() string {
10368	return awsutil.Prettify(s)
10369}
10370
10371// GoString returns the string representation
10372func (s PlatformFramework) GoString() string {
10373	return s.String()
10374}
10375
10376// SetName sets the Name field's value.
10377func (s *PlatformFramework) SetName(v string) *PlatformFramework {
10378	s.Name = &v
10379	return s
10380}
10381
10382// SetVersion sets the Version field's value.
10383func (s *PlatformFramework) SetVersion(v string) *PlatformFramework {
10384	s.Version = &v
10385	return s
10386}
10387
10388// A programming language supported by the platform.
10389type PlatformProgrammingLanguage struct {
10390	_ struct{} `type:"structure"`
10391
10392	// The name of the programming language.
10393	Name *string `type:"string"`
10394
10395	// The version of the programming language.
10396	Version *string `type:"string"`
10397}
10398
10399// String returns the string representation
10400func (s PlatformProgrammingLanguage) String() string {
10401	return awsutil.Prettify(s)
10402}
10403
10404// GoString returns the string representation
10405func (s PlatformProgrammingLanguage) GoString() string {
10406	return s.String()
10407}
10408
10409// SetName sets the Name field's value.
10410func (s *PlatformProgrammingLanguage) SetName(v string) *PlatformProgrammingLanguage {
10411	s.Name = &v
10412	return s
10413}
10414
10415// SetVersion sets the Version field's value.
10416func (s *PlatformProgrammingLanguage) SetVersion(v string) *PlatformProgrammingLanguage {
10417	s.Version = &v
10418	return s
10419}
10420
10421// Summary information about a platform version.
10422type PlatformSummary struct {
10423	_ struct{} `type:"structure"`
10424
10425	// The operating system used by the platform version.
10426	OperatingSystemName *string `type:"string"`
10427
10428	// The version of the operating system used by the platform version.
10429	OperatingSystemVersion *string `type:"string"`
10430
10431	// The ARN of the platform version.
10432	PlatformArn *string `type:"string"`
10433
10434	// The state of the platform version's branch in its lifecycle.
10435	//
10436	// Possible values: beta | supported | deprecated | retired
10437	PlatformBranchLifecycleState *string `type:"string"`
10438
10439	// The platform branch to which the platform version belongs.
10440	PlatformBranchName *string `type:"string"`
10441
10442	// The category of platform version.
10443	PlatformCategory *string `type:"string"`
10444
10445	// The state of the platform version in its lifecycle.
10446	//
10447	// Possible values: recommended | empty
10448	//
10449	// If an empty value is returned, the platform version is supported but isn't
10450	// the recommended one for its branch.
10451	PlatformLifecycleState *string `type:"string"`
10452
10453	// The AWS account ID of the person who created the platform version.
10454	PlatformOwner *string `type:"string"`
10455
10456	// The status of the platform version. You can create an environment from the
10457	// platform version once it is ready.
10458	PlatformStatus *string `type:"string" enum:"PlatformStatus"`
10459
10460	// The version string of the platform version.
10461	PlatformVersion *string `type:"string"`
10462
10463	// The additions associated with the platform version.
10464	SupportedAddonList []*string `type:"list"`
10465
10466	// The tiers in which the platform version runs.
10467	SupportedTierList []*string `type:"list"`
10468}
10469
10470// String returns the string representation
10471func (s PlatformSummary) String() string {
10472	return awsutil.Prettify(s)
10473}
10474
10475// GoString returns the string representation
10476func (s PlatformSummary) GoString() string {
10477	return s.String()
10478}
10479
10480// SetOperatingSystemName sets the OperatingSystemName field's value.
10481func (s *PlatformSummary) SetOperatingSystemName(v string) *PlatformSummary {
10482	s.OperatingSystemName = &v
10483	return s
10484}
10485
10486// SetOperatingSystemVersion sets the OperatingSystemVersion field's value.
10487func (s *PlatformSummary) SetOperatingSystemVersion(v string) *PlatformSummary {
10488	s.OperatingSystemVersion = &v
10489	return s
10490}
10491
10492// SetPlatformArn sets the PlatformArn field's value.
10493func (s *PlatformSummary) SetPlatformArn(v string) *PlatformSummary {
10494	s.PlatformArn = &v
10495	return s
10496}
10497
10498// SetPlatformBranchLifecycleState sets the PlatformBranchLifecycleState field's value.
10499func (s *PlatformSummary) SetPlatformBranchLifecycleState(v string) *PlatformSummary {
10500	s.PlatformBranchLifecycleState = &v
10501	return s
10502}
10503
10504// SetPlatformBranchName sets the PlatformBranchName field's value.
10505func (s *PlatformSummary) SetPlatformBranchName(v string) *PlatformSummary {
10506	s.PlatformBranchName = &v
10507	return s
10508}
10509
10510// SetPlatformCategory sets the PlatformCategory field's value.
10511func (s *PlatformSummary) SetPlatformCategory(v string) *PlatformSummary {
10512	s.PlatformCategory = &v
10513	return s
10514}
10515
10516// SetPlatformLifecycleState sets the PlatformLifecycleState field's value.
10517func (s *PlatformSummary) SetPlatformLifecycleState(v string) *PlatformSummary {
10518	s.PlatformLifecycleState = &v
10519	return s
10520}
10521
10522// SetPlatformOwner sets the PlatformOwner field's value.
10523func (s *PlatformSummary) SetPlatformOwner(v string) *PlatformSummary {
10524	s.PlatformOwner = &v
10525	return s
10526}
10527
10528// SetPlatformStatus sets the PlatformStatus field's value.
10529func (s *PlatformSummary) SetPlatformStatus(v string) *PlatformSummary {
10530	s.PlatformStatus = &v
10531	return s
10532}
10533
10534// SetPlatformVersion sets the PlatformVersion field's value.
10535func (s *PlatformSummary) SetPlatformVersion(v string) *PlatformSummary {
10536	s.PlatformVersion = &v
10537	return s
10538}
10539
10540// SetSupportedAddonList sets the SupportedAddonList field's value.
10541func (s *PlatformSummary) SetSupportedAddonList(v []*string) *PlatformSummary {
10542	s.SupportedAddonList = v
10543	return s
10544}
10545
10546// SetSupportedTierList sets the SupportedTierList field's value.
10547func (s *PlatformSummary) SetSupportedTierList(v []*string) *PlatformSummary {
10548	s.SupportedTierList = v
10549	return s
10550}
10551
10552// Describes a queue.
10553type Queue struct {
10554	_ struct{} `type:"structure"`
10555
10556	// The name of the queue.
10557	Name *string `type:"string"`
10558
10559	// The URL of the queue.
10560	URL *string `type:"string"`
10561}
10562
10563// String returns the string representation
10564func (s Queue) String() string {
10565	return awsutil.Prettify(s)
10566}
10567
10568// GoString returns the string representation
10569func (s Queue) GoString() string {
10570	return s.String()
10571}
10572
10573// SetName sets the Name field's value.
10574func (s *Queue) SetName(v string) *Queue {
10575	s.Name = &v
10576	return s
10577}
10578
10579// SetURL sets the URL field's value.
10580func (s *Queue) SetURL(v string) *Queue {
10581	s.URL = &v
10582	return s
10583}
10584
10585type RebuildEnvironmentInput struct {
10586	_ struct{} `type:"structure"`
10587
10588	// The ID of the environment to rebuild.
10589	//
10590	// Condition: You must specify either this or an EnvironmentName, or both. If
10591	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
10592	// error.
10593	EnvironmentId *string `type:"string"`
10594
10595	// The name of the environment to rebuild.
10596	//
10597	// Condition: You must specify either this or an EnvironmentId, or both. If
10598	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
10599	// error.
10600	EnvironmentName *string `min:"4" type:"string"`
10601}
10602
10603// String returns the string representation
10604func (s RebuildEnvironmentInput) String() string {
10605	return awsutil.Prettify(s)
10606}
10607
10608// GoString returns the string representation
10609func (s RebuildEnvironmentInput) GoString() string {
10610	return s.String()
10611}
10612
10613// Validate inspects the fields of the type to determine if they are valid.
10614func (s *RebuildEnvironmentInput) Validate() error {
10615	invalidParams := request.ErrInvalidParams{Context: "RebuildEnvironmentInput"}
10616	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
10617		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
10618	}
10619
10620	if invalidParams.Len() > 0 {
10621		return invalidParams
10622	}
10623	return nil
10624}
10625
10626// SetEnvironmentId sets the EnvironmentId field's value.
10627func (s *RebuildEnvironmentInput) SetEnvironmentId(v string) *RebuildEnvironmentInput {
10628	s.EnvironmentId = &v
10629	return s
10630}
10631
10632// SetEnvironmentName sets the EnvironmentName field's value.
10633func (s *RebuildEnvironmentInput) SetEnvironmentName(v string) *RebuildEnvironmentInput {
10634	s.EnvironmentName = &v
10635	return s
10636}
10637
10638type RebuildEnvironmentOutput struct {
10639	_ struct{} `type:"structure"`
10640}
10641
10642// String returns the string representation
10643func (s RebuildEnvironmentOutput) String() string {
10644	return awsutil.Prettify(s)
10645}
10646
10647// GoString returns the string representation
10648func (s RebuildEnvironmentOutput) GoString() string {
10649	return s.String()
10650}
10651
10652// Request to retrieve logs from an environment and store them in your Elastic
10653// Beanstalk storage bucket.
10654type RequestEnvironmentInfoInput struct {
10655	_ struct{} `type:"structure"`
10656
10657	// The ID of the environment of the requested data.
10658	//
10659	// If no such environment is found, RequestEnvironmentInfo returns an InvalidParameterValue
10660	// error.
10661	//
10662	// Condition: You must specify either this or an EnvironmentName, or both. If
10663	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
10664	// error.
10665	EnvironmentId *string `type:"string"`
10666
10667	// The name of the environment of the requested data.
10668	//
10669	// If no such environment is found, RequestEnvironmentInfo returns an InvalidParameterValue
10670	// error.
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	// The type of information to request.
10678	//
10679	// InfoType is a required field
10680	InfoType *string `type:"string" required:"true" enum:"EnvironmentInfoType"`
10681}
10682
10683// String returns the string representation
10684func (s RequestEnvironmentInfoInput) String() string {
10685	return awsutil.Prettify(s)
10686}
10687
10688// GoString returns the string representation
10689func (s RequestEnvironmentInfoInput) GoString() string {
10690	return s.String()
10691}
10692
10693// Validate inspects the fields of the type to determine if they are valid.
10694func (s *RequestEnvironmentInfoInput) Validate() error {
10695	invalidParams := request.ErrInvalidParams{Context: "RequestEnvironmentInfoInput"}
10696	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
10697		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
10698	}
10699	if s.InfoType == nil {
10700		invalidParams.Add(request.NewErrParamRequired("InfoType"))
10701	}
10702
10703	if invalidParams.Len() > 0 {
10704		return invalidParams
10705	}
10706	return nil
10707}
10708
10709// SetEnvironmentId sets the EnvironmentId field's value.
10710func (s *RequestEnvironmentInfoInput) SetEnvironmentId(v string) *RequestEnvironmentInfoInput {
10711	s.EnvironmentId = &v
10712	return s
10713}
10714
10715// SetEnvironmentName sets the EnvironmentName field's value.
10716func (s *RequestEnvironmentInfoInput) SetEnvironmentName(v string) *RequestEnvironmentInfoInput {
10717	s.EnvironmentName = &v
10718	return s
10719}
10720
10721// SetInfoType sets the InfoType field's value.
10722func (s *RequestEnvironmentInfoInput) SetInfoType(v string) *RequestEnvironmentInfoInput {
10723	s.InfoType = &v
10724	return s
10725}
10726
10727type RequestEnvironmentInfoOutput struct {
10728	_ struct{} `type:"structure"`
10729}
10730
10731// String returns the string representation
10732func (s RequestEnvironmentInfoOutput) String() string {
10733	return awsutil.Prettify(s)
10734}
10735
10736// GoString returns the string representation
10737func (s RequestEnvironmentInfoOutput) GoString() string {
10738	return s.String()
10739}
10740
10741// The AWS Elastic Beanstalk quota information for a single resource type in
10742// an AWS account. It reflects the resource's limits for this account.
10743type ResourceQuota struct {
10744	_ struct{} `type:"structure"`
10745
10746	// The maximum number of instances of this Elastic Beanstalk resource type that
10747	// an AWS account can use.
10748	Maximum *int64 `type:"integer"`
10749}
10750
10751// String returns the string representation
10752func (s ResourceQuota) String() string {
10753	return awsutil.Prettify(s)
10754}
10755
10756// GoString returns the string representation
10757func (s ResourceQuota) GoString() string {
10758	return s.String()
10759}
10760
10761// SetMaximum sets the Maximum field's value.
10762func (s *ResourceQuota) SetMaximum(v int64) *ResourceQuota {
10763	s.Maximum = &v
10764	return s
10765}
10766
10767// A set of per-resource AWS Elastic Beanstalk quotas associated with an AWS
10768// account. They reflect Elastic Beanstalk resource limits for this account.
10769type ResourceQuotas struct {
10770	_ struct{} `type:"structure"`
10771
10772	// The quota for applications in the AWS account.
10773	ApplicationQuota *ResourceQuota `type:"structure"`
10774
10775	// The quota for application versions in the AWS account.
10776	ApplicationVersionQuota *ResourceQuota `type:"structure"`
10777
10778	// The quota for configuration templates in the AWS account.
10779	ConfigurationTemplateQuota *ResourceQuota `type:"structure"`
10780
10781	// The quota for custom platforms in the AWS account.
10782	CustomPlatformQuota *ResourceQuota `type:"structure"`
10783
10784	// The quota for environments in the AWS account.
10785	EnvironmentQuota *ResourceQuota `type:"structure"`
10786}
10787
10788// String returns the string representation
10789func (s ResourceQuotas) String() string {
10790	return awsutil.Prettify(s)
10791}
10792
10793// GoString returns the string representation
10794func (s ResourceQuotas) GoString() string {
10795	return s.String()
10796}
10797
10798// SetApplicationQuota sets the ApplicationQuota field's value.
10799func (s *ResourceQuotas) SetApplicationQuota(v *ResourceQuota) *ResourceQuotas {
10800	s.ApplicationQuota = v
10801	return s
10802}
10803
10804// SetApplicationVersionQuota sets the ApplicationVersionQuota field's value.
10805func (s *ResourceQuotas) SetApplicationVersionQuota(v *ResourceQuota) *ResourceQuotas {
10806	s.ApplicationVersionQuota = v
10807	return s
10808}
10809
10810// SetConfigurationTemplateQuota sets the ConfigurationTemplateQuota field's value.
10811func (s *ResourceQuotas) SetConfigurationTemplateQuota(v *ResourceQuota) *ResourceQuotas {
10812	s.ConfigurationTemplateQuota = v
10813	return s
10814}
10815
10816// SetCustomPlatformQuota sets the CustomPlatformQuota field's value.
10817func (s *ResourceQuotas) SetCustomPlatformQuota(v *ResourceQuota) *ResourceQuotas {
10818	s.CustomPlatformQuota = v
10819	return s
10820}
10821
10822// SetEnvironmentQuota sets the EnvironmentQuota field's value.
10823func (s *ResourceQuotas) SetEnvironmentQuota(v *ResourceQuota) *ResourceQuotas {
10824	s.EnvironmentQuota = v
10825	return s
10826}
10827
10828type RestartAppServerInput struct {
10829	_ struct{} `type:"structure"`
10830
10831	// The ID of the environment to restart the server for.
10832	//
10833	// Condition: You must specify either this or an EnvironmentName, or both. If
10834	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
10835	// error.
10836	EnvironmentId *string `type:"string"`
10837
10838	// The name of the environment to restart the server for.
10839	//
10840	// Condition: You must specify either this or an EnvironmentId, or both. If
10841	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
10842	// error.
10843	EnvironmentName *string `min:"4" type:"string"`
10844}
10845
10846// String returns the string representation
10847func (s RestartAppServerInput) String() string {
10848	return awsutil.Prettify(s)
10849}
10850
10851// GoString returns the string representation
10852func (s RestartAppServerInput) GoString() string {
10853	return s.String()
10854}
10855
10856// Validate inspects the fields of the type to determine if they are valid.
10857func (s *RestartAppServerInput) Validate() error {
10858	invalidParams := request.ErrInvalidParams{Context: "RestartAppServerInput"}
10859	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
10860		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
10861	}
10862
10863	if invalidParams.Len() > 0 {
10864		return invalidParams
10865	}
10866	return nil
10867}
10868
10869// SetEnvironmentId sets the EnvironmentId field's value.
10870func (s *RestartAppServerInput) SetEnvironmentId(v string) *RestartAppServerInput {
10871	s.EnvironmentId = &v
10872	return s
10873}
10874
10875// SetEnvironmentName sets the EnvironmentName field's value.
10876func (s *RestartAppServerInput) SetEnvironmentName(v string) *RestartAppServerInput {
10877	s.EnvironmentName = &v
10878	return s
10879}
10880
10881type RestartAppServerOutput struct {
10882	_ struct{} `type:"structure"`
10883}
10884
10885// String returns the string representation
10886func (s RestartAppServerOutput) String() string {
10887	return awsutil.Prettify(s)
10888}
10889
10890// GoString returns the string representation
10891func (s RestartAppServerOutput) GoString() string {
10892	return s.String()
10893}
10894
10895// Request to download logs retrieved with RequestEnvironmentInfo.
10896type RetrieveEnvironmentInfoInput struct {
10897	_ struct{} `type:"structure"`
10898
10899	// The ID of the data's environment.
10900	//
10901	// If no such environment is found, returns an InvalidParameterValue error.
10902	//
10903	// Condition: You must specify either this or an EnvironmentName, or both. If
10904	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
10905	// error.
10906	EnvironmentId *string `type:"string"`
10907
10908	// The name of the data's environment.
10909	//
10910	// If no such environment is found, returns an InvalidParameterValue error.
10911	//
10912	// Condition: You must specify either this or an EnvironmentId, or both. If
10913	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
10914	// error.
10915	EnvironmentName *string `min:"4" type:"string"`
10916
10917	// The type of information to retrieve.
10918	//
10919	// InfoType is a required field
10920	InfoType *string `type:"string" required:"true" enum:"EnvironmentInfoType"`
10921}
10922
10923// String returns the string representation
10924func (s RetrieveEnvironmentInfoInput) String() string {
10925	return awsutil.Prettify(s)
10926}
10927
10928// GoString returns the string representation
10929func (s RetrieveEnvironmentInfoInput) GoString() string {
10930	return s.String()
10931}
10932
10933// Validate inspects the fields of the type to determine if they are valid.
10934func (s *RetrieveEnvironmentInfoInput) Validate() error {
10935	invalidParams := request.ErrInvalidParams{Context: "RetrieveEnvironmentInfoInput"}
10936	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
10937		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
10938	}
10939	if s.InfoType == nil {
10940		invalidParams.Add(request.NewErrParamRequired("InfoType"))
10941	}
10942
10943	if invalidParams.Len() > 0 {
10944		return invalidParams
10945	}
10946	return nil
10947}
10948
10949// SetEnvironmentId sets the EnvironmentId field's value.
10950func (s *RetrieveEnvironmentInfoInput) SetEnvironmentId(v string) *RetrieveEnvironmentInfoInput {
10951	s.EnvironmentId = &v
10952	return s
10953}
10954
10955// SetEnvironmentName sets the EnvironmentName field's value.
10956func (s *RetrieveEnvironmentInfoInput) SetEnvironmentName(v string) *RetrieveEnvironmentInfoInput {
10957	s.EnvironmentName = &v
10958	return s
10959}
10960
10961// SetInfoType sets the InfoType field's value.
10962func (s *RetrieveEnvironmentInfoInput) SetInfoType(v string) *RetrieveEnvironmentInfoInput {
10963	s.InfoType = &v
10964	return s
10965}
10966
10967// Result message containing a description of the requested environment info.
10968type RetrieveEnvironmentInfoOutput struct {
10969	_ struct{} `type:"structure"`
10970
10971	// The EnvironmentInfoDescription of the environment.
10972	EnvironmentInfo []*EnvironmentInfoDescription `type:"list"`
10973}
10974
10975// String returns the string representation
10976func (s RetrieveEnvironmentInfoOutput) String() string {
10977	return awsutil.Prettify(s)
10978}
10979
10980// GoString returns the string representation
10981func (s RetrieveEnvironmentInfoOutput) GoString() string {
10982	return s.String()
10983}
10984
10985// SetEnvironmentInfo sets the EnvironmentInfo field's value.
10986func (s *RetrieveEnvironmentInfoOutput) SetEnvironmentInfo(v []*EnvironmentInfoDescription) *RetrieveEnvironmentInfoOutput {
10987	s.EnvironmentInfo = v
10988	return s
10989}
10990
10991// The bucket and key of an item stored in Amazon S3.
10992type S3Location struct {
10993	_ struct{} `type:"structure"`
10994
10995	// The Amazon S3 bucket where the data is located.
10996	S3Bucket *string `type:"string"`
10997
10998	// The Amazon S3 key where the data is located.
10999	S3Key *string `type:"string"`
11000}
11001
11002// String returns the string representation
11003func (s S3Location) String() string {
11004	return awsutil.Prettify(s)
11005}
11006
11007// GoString returns the string representation
11008func (s S3Location) GoString() string {
11009	return s.String()
11010}
11011
11012// SetS3Bucket sets the S3Bucket field's value.
11013func (s *S3Location) SetS3Bucket(v string) *S3Location {
11014	s.S3Bucket = &v
11015	return s
11016}
11017
11018// SetS3Key sets the S3Key field's value.
11019func (s *S3Location) SetS3Key(v string) *S3Location {
11020	s.S3Key = &v
11021	return s
11022}
11023
11024// Describes criteria to restrict a list of results.
11025//
11026// For operators that apply a single value to the attribute, the filter is evaluated
11027// as follows: Attribute Operator Values[1]
11028//
11029// Some operators, e.g. in, can apply multiple values. In this case, the filter
11030// is evaluated as a logical union (OR) of applications of the operator to the
11031// attribute with each one of the values: (Attribute Operator Values[1]) OR
11032// (Attribute Operator Values[2]) OR ...
11033//
11034// The valid values for attributes of SearchFilter depend on the API action.
11035// For valid values, see the reference page for the API action you're calling
11036// that takes a SearchFilter parameter.
11037type SearchFilter struct {
11038	_ struct{} `type:"structure"`
11039
11040	// The result attribute to which the filter values are applied. Valid values
11041	// vary by API action.
11042	Attribute *string `type:"string"`
11043
11044	// The operator to apply to the Attribute with each of the Values. Valid values
11045	// vary by Attribute.
11046	Operator *string `type:"string"`
11047
11048	// The list of values applied to the Attribute and Operator attributes. Number
11049	// of values and valid values vary by Attribute.
11050	Values []*string `type:"list"`
11051}
11052
11053// String returns the string representation
11054func (s SearchFilter) String() string {
11055	return awsutil.Prettify(s)
11056}
11057
11058// GoString returns the string representation
11059func (s SearchFilter) GoString() string {
11060	return s.String()
11061}
11062
11063// SetAttribute sets the Attribute field's value.
11064func (s *SearchFilter) SetAttribute(v string) *SearchFilter {
11065	s.Attribute = &v
11066	return s
11067}
11068
11069// SetOperator sets the Operator field's value.
11070func (s *SearchFilter) SetOperator(v string) *SearchFilter {
11071	s.Operator = &v
11072	return s
11073}
11074
11075// SetValues sets the Values field's value.
11076func (s *SearchFilter) SetValues(v []*string) *SearchFilter {
11077	s.Values = v
11078	return s
11079}
11080
11081// Detailed health information about an Amazon EC2 instance in your Elastic
11082// Beanstalk environment.
11083type SingleInstanceHealth struct {
11084	_ struct{} `type:"structure"`
11085
11086	// Request metrics from your application.
11087	ApplicationMetrics *ApplicationMetrics `type:"structure"`
11088
11089	// The availability zone in which the instance runs.
11090	AvailabilityZone *string `type:"string"`
11091
11092	// Represents the causes, which provide more information about the current health
11093	// status.
11094	Causes []*string `type:"list"`
11095
11096	// Represents the color indicator that gives you information about the health
11097	// of the EC2 instance. For more information, see Health Colors and Statuses
11098	// (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html).
11099	Color *string `type:"string"`
11100
11101	// Information about the most recent deployment to an instance.
11102	Deployment *Deployment `type:"structure"`
11103
11104	// Returns the health status of the specified instance. For more information,
11105	// see Health Colors and Statuses (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html).
11106	HealthStatus *string `type:"string"`
11107
11108	// The ID of the Amazon EC2 instance.
11109	InstanceId *string `min:"1" type:"string"`
11110
11111	// The instance's type.
11112	InstanceType *string `type:"string"`
11113
11114	// The time at which the EC2 instance was launched.
11115	LaunchedAt *time.Time `type:"timestamp"`
11116
11117	// Operating system metrics from the instance.
11118	System *SystemStatus `type:"structure"`
11119}
11120
11121// String returns the string representation
11122func (s SingleInstanceHealth) String() string {
11123	return awsutil.Prettify(s)
11124}
11125
11126// GoString returns the string representation
11127func (s SingleInstanceHealth) GoString() string {
11128	return s.String()
11129}
11130
11131// SetApplicationMetrics sets the ApplicationMetrics field's value.
11132func (s *SingleInstanceHealth) SetApplicationMetrics(v *ApplicationMetrics) *SingleInstanceHealth {
11133	s.ApplicationMetrics = v
11134	return s
11135}
11136
11137// SetAvailabilityZone sets the AvailabilityZone field's value.
11138func (s *SingleInstanceHealth) SetAvailabilityZone(v string) *SingleInstanceHealth {
11139	s.AvailabilityZone = &v
11140	return s
11141}
11142
11143// SetCauses sets the Causes field's value.
11144func (s *SingleInstanceHealth) SetCauses(v []*string) *SingleInstanceHealth {
11145	s.Causes = v
11146	return s
11147}
11148
11149// SetColor sets the Color field's value.
11150func (s *SingleInstanceHealth) SetColor(v string) *SingleInstanceHealth {
11151	s.Color = &v
11152	return s
11153}
11154
11155// SetDeployment sets the Deployment field's value.
11156func (s *SingleInstanceHealth) SetDeployment(v *Deployment) *SingleInstanceHealth {
11157	s.Deployment = v
11158	return s
11159}
11160
11161// SetHealthStatus sets the HealthStatus field's value.
11162func (s *SingleInstanceHealth) SetHealthStatus(v string) *SingleInstanceHealth {
11163	s.HealthStatus = &v
11164	return s
11165}
11166
11167// SetInstanceId sets the InstanceId field's value.
11168func (s *SingleInstanceHealth) SetInstanceId(v string) *SingleInstanceHealth {
11169	s.InstanceId = &v
11170	return s
11171}
11172
11173// SetInstanceType sets the InstanceType field's value.
11174func (s *SingleInstanceHealth) SetInstanceType(v string) *SingleInstanceHealth {
11175	s.InstanceType = &v
11176	return s
11177}
11178
11179// SetLaunchedAt sets the LaunchedAt field's value.
11180func (s *SingleInstanceHealth) SetLaunchedAt(v time.Time) *SingleInstanceHealth {
11181	s.LaunchedAt = &v
11182	return s
11183}
11184
11185// SetSystem sets the System field's value.
11186func (s *SingleInstanceHealth) SetSystem(v *SystemStatus) *SingleInstanceHealth {
11187	s.System = v
11188	return s
11189}
11190
11191// Describes the solution stack.
11192type SolutionStackDescription struct {
11193	_ struct{} `type:"structure"`
11194
11195	// The permitted file types allowed for a solution stack.
11196	PermittedFileTypes []*string `type:"list"`
11197
11198	// The name of the solution stack.
11199	SolutionStackName *string `type:"string"`
11200}
11201
11202// String returns the string representation
11203func (s SolutionStackDescription) String() string {
11204	return awsutil.Prettify(s)
11205}
11206
11207// GoString returns the string representation
11208func (s SolutionStackDescription) GoString() string {
11209	return s.String()
11210}
11211
11212// SetPermittedFileTypes sets the PermittedFileTypes field's value.
11213func (s *SolutionStackDescription) SetPermittedFileTypes(v []*string) *SolutionStackDescription {
11214	s.PermittedFileTypes = v
11215	return s
11216}
11217
11218// SetSolutionStackName sets the SolutionStackName field's value.
11219func (s *SolutionStackDescription) SetSolutionStackName(v string) *SolutionStackDescription {
11220	s.SolutionStackName = &v
11221	return s
11222}
11223
11224// Location of the source code for an application version.
11225type SourceBuildInformation struct {
11226	_ struct{} `type:"structure"`
11227
11228	// The location of the source code, as a formatted string, depending on the
11229	// value of SourceRepository
11230	//
11231	//    * For CodeCommit, the format is the repository name and commit ID, separated
11232	//    by a forward slash. For example, my-git-repo/265cfa0cf6af46153527f55d6503ec030551f57a.
11233	//
11234	//    * For S3, the format is the S3 bucket name and object key, separated by
11235	//    a forward slash. For example, my-s3-bucket/Folders/my-source-file.
11236	//
11237	// SourceLocation is a required field
11238	SourceLocation *string `min:"3" type:"string" required:"true"`
11239
11240	// Location where the repository is stored.
11241	//
11242	//    * CodeCommit
11243	//
11244	//    * S3
11245	//
11246	// SourceRepository is a required field
11247	SourceRepository *string `type:"string" required:"true" enum:"SourceRepository"`
11248
11249	// The type of repository.
11250	//
11251	//    * Git
11252	//
11253	//    * Zip
11254	//
11255	// SourceType is a required field
11256	SourceType *string `type:"string" required:"true" enum:"SourceType"`
11257}
11258
11259// String returns the string representation
11260func (s SourceBuildInformation) String() string {
11261	return awsutil.Prettify(s)
11262}
11263
11264// GoString returns the string representation
11265func (s SourceBuildInformation) GoString() string {
11266	return s.String()
11267}
11268
11269// Validate inspects the fields of the type to determine if they are valid.
11270func (s *SourceBuildInformation) Validate() error {
11271	invalidParams := request.ErrInvalidParams{Context: "SourceBuildInformation"}
11272	if s.SourceLocation == nil {
11273		invalidParams.Add(request.NewErrParamRequired("SourceLocation"))
11274	}
11275	if s.SourceLocation != nil && len(*s.SourceLocation) < 3 {
11276		invalidParams.Add(request.NewErrParamMinLen("SourceLocation", 3))
11277	}
11278	if s.SourceRepository == nil {
11279		invalidParams.Add(request.NewErrParamRequired("SourceRepository"))
11280	}
11281	if s.SourceType == nil {
11282		invalidParams.Add(request.NewErrParamRequired("SourceType"))
11283	}
11284
11285	if invalidParams.Len() > 0 {
11286		return invalidParams
11287	}
11288	return nil
11289}
11290
11291// SetSourceLocation sets the SourceLocation field's value.
11292func (s *SourceBuildInformation) SetSourceLocation(v string) *SourceBuildInformation {
11293	s.SourceLocation = &v
11294	return s
11295}
11296
11297// SetSourceRepository sets the SourceRepository field's value.
11298func (s *SourceBuildInformation) SetSourceRepository(v string) *SourceBuildInformation {
11299	s.SourceRepository = &v
11300	return s
11301}
11302
11303// SetSourceType sets the SourceType field's value.
11304func (s *SourceBuildInformation) SetSourceType(v string) *SourceBuildInformation {
11305	s.SourceType = &v
11306	return s
11307}
11308
11309// A specification for an environment configuration.
11310type SourceConfiguration struct {
11311	_ struct{} `type:"structure"`
11312
11313	// The name of the application associated with the configuration.
11314	ApplicationName *string `min:"1" type:"string"`
11315
11316	// The name of the configuration template.
11317	TemplateName *string `min:"1" type:"string"`
11318}
11319
11320// String returns the string representation
11321func (s SourceConfiguration) String() string {
11322	return awsutil.Prettify(s)
11323}
11324
11325// GoString returns the string representation
11326func (s SourceConfiguration) GoString() string {
11327	return s.String()
11328}
11329
11330// Validate inspects the fields of the type to determine if they are valid.
11331func (s *SourceConfiguration) Validate() error {
11332	invalidParams := request.ErrInvalidParams{Context: "SourceConfiguration"}
11333	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
11334		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
11335	}
11336	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
11337		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
11338	}
11339
11340	if invalidParams.Len() > 0 {
11341		return invalidParams
11342	}
11343	return nil
11344}
11345
11346// SetApplicationName sets the ApplicationName field's value.
11347func (s *SourceConfiguration) SetApplicationName(v string) *SourceConfiguration {
11348	s.ApplicationName = &v
11349	return s
11350}
11351
11352// SetTemplateName sets the TemplateName field's value.
11353func (s *SourceConfiguration) SetTemplateName(v string) *SourceConfiguration {
11354	s.TemplateName = &v
11355	return s
11356}
11357
11358// Represents the percentage of requests over the last 10 seconds that resulted
11359// in each type of status code response. For more information, see Status Code
11360// Definitions (http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).
11361type StatusCodes struct {
11362	_ struct{} `type:"structure"`
11363
11364	// The percentage of requests over the last 10 seconds that resulted in a 2xx
11365	// (200, 201, etc.) status code.
11366	Status2xx *int64 `type:"integer"`
11367
11368	// The percentage of requests over the last 10 seconds that resulted in a 3xx
11369	// (300, 301, etc.) status code.
11370	Status3xx *int64 `type:"integer"`
11371
11372	// The percentage of requests over the last 10 seconds that resulted in a 4xx
11373	// (400, 401, etc.) status code.
11374	Status4xx *int64 `type:"integer"`
11375
11376	// The percentage of requests over the last 10 seconds that resulted in a 5xx
11377	// (500, 501, etc.) status code.
11378	Status5xx *int64 `type:"integer"`
11379}
11380
11381// String returns the string representation
11382func (s StatusCodes) String() string {
11383	return awsutil.Prettify(s)
11384}
11385
11386// GoString returns the string representation
11387func (s StatusCodes) GoString() string {
11388	return s.String()
11389}
11390
11391// SetStatus2xx sets the Status2xx field's value.
11392func (s *StatusCodes) SetStatus2xx(v int64) *StatusCodes {
11393	s.Status2xx = &v
11394	return s
11395}
11396
11397// SetStatus3xx sets the Status3xx field's value.
11398func (s *StatusCodes) SetStatus3xx(v int64) *StatusCodes {
11399	s.Status3xx = &v
11400	return s
11401}
11402
11403// SetStatus4xx sets the Status4xx field's value.
11404func (s *StatusCodes) SetStatus4xx(v int64) *StatusCodes {
11405	s.Status4xx = &v
11406	return s
11407}
11408
11409// SetStatus5xx sets the Status5xx field's value.
11410func (s *StatusCodes) SetStatus5xx(v int64) *StatusCodes {
11411	s.Status5xx = &v
11412	return s
11413}
11414
11415// Swaps the CNAMEs of two environments.
11416type SwapEnvironmentCNAMEsInput struct {
11417	_ struct{} `type:"structure"`
11418
11419	// The ID of the destination environment.
11420	//
11421	// Condition: You must specify at least the DestinationEnvironmentID or the
11422	// DestinationEnvironmentName. You may also specify both. You must specify the
11423	// SourceEnvironmentId with the DestinationEnvironmentId.
11424	DestinationEnvironmentId *string `type:"string"`
11425
11426	// The name of the destination environment.
11427	//
11428	// Condition: You must specify at least the DestinationEnvironmentID or the
11429	// DestinationEnvironmentName. You may also specify both. You must specify the
11430	// SourceEnvironmentName with the DestinationEnvironmentName.
11431	DestinationEnvironmentName *string `min:"4" type:"string"`
11432
11433	// The ID of the source environment.
11434	//
11435	// Condition: You must specify at least the SourceEnvironmentID or the SourceEnvironmentName.
11436	// You may also specify both. If you specify the SourceEnvironmentId, you must
11437	// specify the DestinationEnvironmentId.
11438	SourceEnvironmentId *string `type:"string"`
11439
11440	// The name of the source environment.
11441	//
11442	// Condition: You must specify at least the SourceEnvironmentID or the SourceEnvironmentName.
11443	// You may also specify both. If you specify the SourceEnvironmentName, you
11444	// must specify the DestinationEnvironmentName.
11445	SourceEnvironmentName *string `min:"4" type:"string"`
11446}
11447
11448// String returns the string representation
11449func (s SwapEnvironmentCNAMEsInput) String() string {
11450	return awsutil.Prettify(s)
11451}
11452
11453// GoString returns the string representation
11454func (s SwapEnvironmentCNAMEsInput) GoString() string {
11455	return s.String()
11456}
11457
11458// Validate inspects the fields of the type to determine if they are valid.
11459func (s *SwapEnvironmentCNAMEsInput) Validate() error {
11460	invalidParams := request.ErrInvalidParams{Context: "SwapEnvironmentCNAMEsInput"}
11461	if s.DestinationEnvironmentName != nil && len(*s.DestinationEnvironmentName) < 4 {
11462		invalidParams.Add(request.NewErrParamMinLen("DestinationEnvironmentName", 4))
11463	}
11464	if s.SourceEnvironmentName != nil && len(*s.SourceEnvironmentName) < 4 {
11465		invalidParams.Add(request.NewErrParamMinLen("SourceEnvironmentName", 4))
11466	}
11467
11468	if invalidParams.Len() > 0 {
11469		return invalidParams
11470	}
11471	return nil
11472}
11473
11474// SetDestinationEnvironmentId sets the DestinationEnvironmentId field's value.
11475func (s *SwapEnvironmentCNAMEsInput) SetDestinationEnvironmentId(v string) *SwapEnvironmentCNAMEsInput {
11476	s.DestinationEnvironmentId = &v
11477	return s
11478}
11479
11480// SetDestinationEnvironmentName sets the DestinationEnvironmentName field's value.
11481func (s *SwapEnvironmentCNAMEsInput) SetDestinationEnvironmentName(v string) *SwapEnvironmentCNAMEsInput {
11482	s.DestinationEnvironmentName = &v
11483	return s
11484}
11485
11486// SetSourceEnvironmentId sets the SourceEnvironmentId field's value.
11487func (s *SwapEnvironmentCNAMEsInput) SetSourceEnvironmentId(v string) *SwapEnvironmentCNAMEsInput {
11488	s.SourceEnvironmentId = &v
11489	return s
11490}
11491
11492// SetSourceEnvironmentName sets the SourceEnvironmentName field's value.
11493func (s *SwapEnvironmentCNAMEsInput) SetSourceEnvironmentName(v string) *SwapEnvironmentCNAMEsInput {
11494	s.SourceEnvironmentName = &v
11495	return s
11496}
11497
11498type SwapEnvironmentCNAMEsOutput struct {
11499	_ struct{} `type:"structure"`
11500}
11501
11502// String returns the string representation
11503func (s SwapEnvironmentCNAMEsOutput) String() string {
11504	return awsutil.Prettify(s)
11505}
11506
11507// GoString returns the string representation
11508func (s SwapEnvironmentCNAMEsOutput) GoString() string {
11509	return s.String()
11510}
11511
11512// CPU utilization and load average metrics for an Amazon EC2 instance.
11513type SystemStatus struct {
11514	_ struct{} `type:"structure"`
11515
11516	// CPU utilization metrics for the instance.
11517	CPUUtilization *CPUUtilization `type:"structure"`
11518
11519	// Load average in the last 1-minute, 5-minute, and 15-minute periods. For more
11520	// information, see Operating System Metrics (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-metrics.html#health-enhanced-metrics-os).
11521	LoadAverage []*float64 `type:"list"`
11522}
11523
11524// String returns the string representation
11525func (s SystemStatus) String() string {
11526	return awsutil.Prettify(s)
11527}
11528
11529// GoString returns the string representation
11530func (s SystemStatus) GoString() string {
11531	return s.String()
11532}
11533
11534// SetCPUUtilization sets the CPUUtilization field's value.
11535func (s *SystemStatus) SetCPUUtilization(v *CPUUtilization) *SystemStatus {
11536	s.CPUUtilization = v
11537	return s
11538}
11539
11540// SetLoadAverage sets the LoadAverage field's value.
11541func (s *SystemStatus) SetLoadAverage(v []*float64) *SystemStatus {
11542	s.LoadAverage = v
11543	return s
11544}
11545
11546// Describes a tag applied to a resource in an environment.
11547type Tag struct {
11548	_ struct{} `type:"structure"`
11549
11550	// The key of the tag.
11551	Key *string `min:"1" type:"string"`
11552
11553	// The value of the tag.
11554	Value *string `min:"1" type:"string"`
11555}
11556
11557// String returns the string representation
11558func (s Tag) String() string {
11559	return awsutil.Prettify(s)
11560}
11561
11562// GoString returns the string representation
11563func (s Tag) GoString() string {
11564	return s.String()
11565}
11566
11567// Validate inspects the fields of the type to determine if they are valid.
11568func (s *Tag) Validate() error {
11569	invalidParams := request.ErrInvalidParams{Context: "Tag"}
11570	if s.Key != nil && len(*s.Key) < 1 {
11571		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
11572	}
11573	if s.Value != nil && len(*s.Value) < 1 {
11574		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
11575	}
11576
11577	if invalidParams.Len() > 0 {
11578		return invalidParams
11579	}
11580	return nil
11581}
11582
11583// SetKey sets the Key field's value.
11584func (s *Tag) SetKey(v string) *Tag {
11585	s.Key = &v
11586	return s
11587}
11588
11589// SetValue sets the Value field's value.
11590func (s *Tag) SetValue(v string) *Tag {
11591	s.Value = &v
11592	return s
11593}
11594
11595// Request to terminate an environment.
11596type TerminateEnvironmentInput struct {
11597	_ struct{} `type:"structure"`
11598
11599	// The ID of the environment to terminate.
11600	//
11601	// Condition: You must specify either this or an EnvironmentName, or both. If
11602	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
11603	// error.
11604	EnvironmentId *string `type:"string"`
11605
11606	// The name of the environment to terminate.
11607	//
11608	// Condition: You must specify either this or an EnvironmentId, or both. If
11609	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
11610	// error.
11611	EnvironmentName *string `min:"4" type:"string"`
11612
11613	// Terminates the target environment even if another environment in the same
11614	// group is dependent on it.
11615	ForceTerminate *bool `type:"boolean"`
11616
11617	// Indicates whether the associated AWS resources should shut down when the
11618	// environment is terminated:
11619	//
11620	//    * true: The specified environment as well as the associated AWS resources,
11621	//    such as Auto Scaling group and LoadBalancer, are terminated.
11622	//
11623	//    * false: AWS Elastic Beanstalk resource management is removed from the
11624	//    environment, but the AWS resources continue to operate.
11625	//
11626	// For more information, see the AWS Elastic Beanstalk User Guide. (https://docs.aws.amazon.com/elasticbeanstalk/latest/ug/)
11627	//
11628	// Default: true
11629	//
11630	// Valid Values: true | false
11631	TerminateResources *bool `type:"boolean"`
11632}
11633
11634// String returns the string representation
11635func (s TerminateEnvironmentInput) String() string {
11636	return awsutil.Prettify(s)
11637}
11638
11639// GoString returns the string representation
11640func (s TerminateEnvironmentInput) GoString() string {
11641	return s.String()
11642}
11643
11644// Validate inspects the fields of the type to determine if they are valid.
11645func (s *TerminateEnvironmentInput) Validate() error {
11646	invalidParams := request.ErrInvalidParams{Context: "TerminateEnvironmentInput"}
11647	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
11648		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
11649	}
11650
11651	if invalidParams.Len() > 0 {
11652		return invalidParams
11653	}
11654	return nil
11655}
11656
11657// SetEnvironmentId sets the EnvironmentId field's value.
11658func (s *TerminateEnvironmentInput) SetEnvironmentId(v string) *TerminateEnvironmentInput {
11659	s.EnvironmentId = &v
11660	return s
11661}
11662
11663// SetEnvironmentName sets the EnvironmentName field's value.
11664func (s *TerminateEnvironmentInput) SetEnvironmentName(v string) *TerminateEnvironmentInput {
11665	s.EnvironmentName = &v
11666	return s
11667}
11668
11669// SetForceTerminate sets the ForceTerminate field's value.
11670func (s *TerminateEnvironmentInput) SetForceTerminate(v bool) *TerminateEnvironmentInput {
11671	s.ForceTerminate = &v
11672	return s
11673}
11674
11675// SetTerminateResources sets the TerminateResources field's value.
11676func (s *TerminateEnvironmentInput) SetTerminateResources(v bool) *TerminateEnvironmentInput {
11677	s.TerminateResources = &v
11678	return s
11679}
11680
11681// Describes a trigger.
11682type Trigger struct {
11683	_ struct{} `type:"structure"`
11684
11685	// The name of the trigger.
11686	Name *string `type:"string"`
11687}
11688
11689// String returns the string representation
11690func (s Trigger) String() string {
11691	return awsutil.Prettify(s)
11692}
11693
11694// GoString returns the string representation
11695func (s Trigger) GoString() string {
11696	return s.String()
11697}
11698
11699// SetName sets the Name field's value.
11700func (s *Trigger) SetName(v string) *Trigger {
11701	s.Name = &v
11702	return s
11703}
11704
11705// Request to update an application.
11706type UpdateApplicationInput struct {
11707	_ struct{} `type:"structure"`
11708
11709	// The name of the application to update. If no such application is found, UpdateApplication
11710	// returns an InvalidParameterValue error.
11711	//
11712	// ApplicationName is a required field
11713	ApplicationName *string `min:"1" type:"string" required:"true"`
11714
11715	// A new description for the application.
11716	//
11717	// Default: If not specified, AWS Elastic Beanstalk does not update the description.
11718	Description *string `type:"string"`
11719}
11720
11721// String returns the string representation
11722func (s UpdateApplicationInput) String() string {
11723	return awsutil.Prettify(s)
11724}
11725
11726// GoString returns the string representation
11727func (s UpdateApplicationInput) GoString() string {
11728	return s.String()
11729}
11730
11731// Validate inspects the fields of the type to determine if they are valid.
11732func (s *UpdateApplicationInput) Validate() error {
11733	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationInput"}
11734	if s.ApplicationName == nil {
11735		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
11736	}
11737	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
11738		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
11739	}
11740
11741	if invalidParams.Len() > 0 {
11742		return invalidParams
11743	}
11744	return nil
11745}
11746
11747// SetApplicationName sets the ApplicationName field's value.
11748func (s *UpdateApplicationInput) SetApplicationName(v string) *UpdateApplicationInput {
11749	s.ApplicationName = &v
11750	return s
11751}
11752
11753// SetDescription sets the Description field's value.
11754func (s *UpdateApplicationInput) SetDescription(v string) *UpdateApplicationInput {
11755	s.Description = &v
11756	return s
11757}
11758
11759type UpdateApplicationResourceLifecycleInput struct {
11760	_ struct{} `type:"structure"`
11761
11762	// The name of the application.
11763	//
11764	// ApplicationName is a required field
11765	ApplicationName *string `min:"1" type:"string" required:"true"`
11766
11767	// The lifecycle configuration.
11768	//
11769	// ResourceLifecycleConfig is a required field
11770	ResourceLifecycleConfig *ApplicationResourceLifecycleConfig `type:"structure" required:"true"`
11771}
11772
11773// String returns the string representation
11774func (s UpdateApplicationResourceLifecycleInput) String() string {
11775	return awsutil.Prettify(s)
11776}
11777
11778// GoString returns the string representation
11779func (s UpdateApplicationResourceLifecycleInput) GoString() string {
11780	return s.String()
11781}
11782
11783// Validate inspects the fields of the type to determine if they are valid.
11784func (s *UpdateApplicationResourceLifecycleInput) Validate() error {
11785	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationResourceLifecycleInput"}
11786	if s.ApplicationName == nil {
11787		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
11788	}
11789	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
11790		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
11791	}
11792	if s.ResourceLifecycleConfig == nil {
11793		invalidParams.Add(request.NewErrParamRequired("ResourceLifecycleConfig"))
11794	}
11795	if s.ResourceLifecycleConfig != nil {
11796		if err := s.ResourceLifecycleConfig.Validate(); err != nil {
11797			invalidParams.AddNested("ResourceLifecycleConfig", err.(request.ErrInvalidParams))
11798		}
11799	}
11800
11801	if invalidParams.Len() > 0 {
11802		return invalidParams
11803	}
11804	return nil
11805}
11806
11807// SetApplicationName sets the ApplicationName field's value.
11808func (s *UpdateApplicationResourceLifecycleInput) SetApplicationName(v string) *UpdateApplicationResourceLifecycleInput {
11809	s.ApplicationName = &v
11810	return s
11811}
11812
11813// SetResourceLifecycleConfig sets the ResourceLifecycleConfig field's value.
11814func (s *UpdateApplicationResourceLifecycleInput) SetResourceLifecycleConfig(v *ApplicationResourceLifecycleConfig) *UpdateApplicationResourceLifecycleInput {
11815	s.ResourceLifecycleConfig = v
11816	return s
11817}
11818
11819type UpdateApplicationResourceLifecycleOutput struct {
11820	_ struct{} `type:"structure"`
11821
11822	// The name of the application.
11823	ApplicationName *string `min:"1" type:"string"`
11824
11825	// The lifecycle configuration.
11826	ResourceLifecycleConfig *ApplicationResourceLifecycleConfig `type:"structure"`
11827}
11828
11829// String returns the string representation
11830func (s UpdateApplicationResourceLifecycleOutput) String() string {
11831	return awsutil.Prettify(s)
11832}
11833
11834// GoString returns the string representation
11835func (s UpdateApplicationResourceLifecycleOutput) GoString() string {
11836	return s.String()
11837}
11838
11839// SetApplicationName sets the ApplicationName field's value.
11840func (s *UpdateApplicationResourceLifecycleOutput) SetApplicationName(v string) *UpdateApplicationResourceLifecycleOutput {
11841	s.ApplicationName = &v
11842	return s
11843}
11844
11845// SetResourceLifecycleConfig sets the ResourceLifecycleConfig field's value.
11846func (s *UpdateApplicationResourceLifecycleOutput) SetResourceLifecycleConfig(v *ApplicationResourceLifecycleConfig) *UpdateApplicationResourceLifecycleOutput {
11847	s.ResourceLifecycleConfig = v
11848	return s
11849}
11850
11851type UpdateApplicationVersionInput struct {
11852	_ struct{} `type:"structure"`
11853
11854	// The name of the application associated with this version.
11855	//
11856	// If no application is found with this name, UpdateApplication returns an InvalidParameterValue
11857	// error.
11858	//
11859	// ApplicationName is a required field
11860	ApplicationName *string `min:"1" type:"string" required:"true"`
11861
11862	// A new description for this version.
11863	Description *string `type:"string"`
11864
11865	// The name of the version to update.
11866	//
11867	// If no application version is found with this label, UpdateApplication returns
11868	// an InvalidParameterValue error.
11869	//
11870	// VersionLabel is a required field
11871	VersionLabel *string `min:"1" type:"string" required:"true"`
11872}
11873
11874// String returns the string representation
11875func (s UpdateApplicationVersionInput) String() string {
11876	return awsutil.Prettify(s)
11877}
11878
11879// GoString returns the string representation
11880func (s UpdateApplicationVersionInput) GoString() string {
11881	return s.String()
11882}
11883
11884// Validate inspects the fields of the type to determine if they are valid.
11885func (s *UpdateApplicationVersionInput) Validate() error {
11886	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationVersionInput"}
11887	if s.ApplicationName == nil {
11888		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
11889	}
11890	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
11891		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
11892	}
11893	if s.VersionLabel == nil {
11894		invalidParams.Add(request.NewErrParamRequired("VersionLabel"))
11895	}
11896	if s.VersionLabel != nil && len(*s.VersionLabel) < 1 {
11897		invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1))
11898	}
11899
11900	if invalidParams.Len() > 0 {
11901		return invalidParams
11902	}
11903	return nil
11904}
11905
11906// SetApplicationName sets the ApplicationName field's value.
11907func (s *UpdateApplicationVersionInput) SetApplicationName(v string) *UpdateApplicationVersionInput {
11908	s.ApplicationName = &v
11909	return s
11910}
11911
11912// SetDescription sets the Description field's value.
11913func (s *UpdateApplicationVersionInput) SetDescription(v string) *UpdateApplicationVersionInput {
11914	s.Description = &v
11915	return s
11916}
11917
11918// SetVersionLabel sets the VersionLabel field's value.
11919func (s *UpdateApplicationVersionInput) SetVersionLabel(v string) *UpdateApplicationVersionInput {
11920	s.VersionLabel = &v
11921	return s
11922}
11923
11924// The result message containing the options for the specified solution stack.
11925type UpdateConfigurationTemplateInput struct {
11926	_ struct{} `type:"structure"`
11927
11928	// The name of the application associated with the configuration template to
11929	// update.
11930	//
11931	// If no application is found with this name, UpdateConfigurationTemplate returns
11932	// an InvalidParameterValue error.
11933	//
11934	// ApplicationName is a required field
11935	ApplicationName *string `min:"1" type:"string" required:"true"`
11936
11937	// A new description for the configuration.
11938	Description *string `type:"string"`
11939
11940	// A list of configuration option settings to update with the new specified
11941	// option value.
11942	OptionSettings []*ConfigurationOptionSetting `type:"list"`
11943
11944	// A list of configuration options to remove from the configuration set.
11945	//
11946	// Constraint: You can remove only UserDefined configuration options.
11947	OptionsToRemove []*OptionSpecification `type:"list"`
11948
11949	// The name of the configuration template to update.
11950	//
11951	// If no configuration template is found with this name, UpdateConfigurationTemplate
11952	// returns an InvalidParameterValue error.
11953	//
11954	// TemplateName is a required field
11955	TemplateName *string `min:"1" type:"string" required:"true"`
11956}
11957
11958// String returns the string representation
11959func (s UpdateConfigurationTemplateInput) String() string {
11960	return awsutil.Prettify(s)
11961}
11962
11963// GoString returns the string representation
11964func (s UpdateConfigurationTemplateInput) GoString() string {
11965	return s.String()
11966}
11967
11968// Validate inspects the fields of the type to determine if they are valid.
11969func (s *UpdateConfigurationTemplateInput) Validate() error {
11970	invalidParams := request.ErrInvalidParams{Context: "UpdateConfigurationTemplateInput"}
11971	if s.ApplicationName == nil {
11972		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
11973	}
11974	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
11975		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
11976	}
11977	if s.TemplateName == nil {
11978		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
11979	}
11980	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
11981		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
11982	}
11983	if s.OptionSettings != nil {
11984		for i, v := range s.OptionSettings {
11985			if v == nil {
11986				continue
11987			}
11988			if err := v.Validate(); err != nil {
11989				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionSettings", i), err.(request.ErrInvalidParams))
11990			}
11991		}
11992	}
11993	if s.OptionsToRemove != nil {
11994		for i, v := range s.OptionsToRemove {
11995			if v == nil {
11996				continue
11997			}
11998			if err := v.Validate(); err != nil {
11999				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionsToRemove", i), err.(request.ErrInvalidParams))
12000			}
12001		}
12002	}
12003
12004	if invalidParams.Len() > 0 {
12005		return invalidParams
12006	}
12007	return nil
12008}
12009
12010// SetApplicationName sets the ApplicationName field's value.
12011func (s *UpdateConfigurationTemplateInput) SetApplicationName(v string) *UpdateConfigurationTemplateInput {
12012	s.ApplicationName = &v
12013	return s
12014}
12015
12016// SetDescription sets the Description field's value.
12017func (s *UpdateConfigurationTemplateInput) SetDescription(v string) *UpdateConfigurationTemplateInput {
12018	s.Description = &v
12019	return s
12020}
12021
12022// SetOptionSettings sets the OptionSettings field's value.
12023func (s *UpdateConfigurationTemplateInput) SetOptionSettings(v []*ConfigurationOptionSetting) *UpdateConfigurationTemplateInput {
12024	s.OptionSettings = v
12025	return s
12026}
12027
12028// SetOptionsToRemove sets the OptionsToRemove field's value.
12029func (s *UpdateConfigurationTemplateInput) SetOptionsToRemove(v []*OptionSpecification) *UpdateConfigurationTemplateInput {
12030	s.OptionsToRemove = v
12031	return s
12032}
12033
12034// SetTemplateName sets the TemplateName field's value.
12035func (s *UpdateConfigurationTemplateInput) SetTemplateName(v string) *UpdateConfigurationTemplateInput {
12036	s.TemplateName = &v
12037	return s
12038}
12039
12040// Request to update an environment.
12041type UpdateEnvironmentInput struct {
12042	_ struct{} `type:"structure"`
12043
12044	// The name of the application with which the environment is associated.
12045	ApplicationName *string `min:"1" type:"string"`
12046
12047	// If this parameter is specified, AWS Elastic Beanstalk updates the description
12048	// of this environment.
12049	Description *string `type:"string"`
12050
12051	// The ID of the environment to update.
12052	//
12053	// If no environment with this ID exists, AWS Elastic Beanstalk returns an InvalidParameterValue
12054	// error.
12055	//
12056	// Condition: You must specify either this or an EnvironmentName, or both. If
12057	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
12058	// error.
12059	EnvironmentId *string `type:"string"`
12060
12061	// The name of the environment to update. If no environment with this name exists,
12062	// AWS Elastic Beanstalk returns an InvalidParameterValue error.
12063	//
12064	// Condition: You must specify either this or an EnvironmentId, or both. If
12065	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
12066	// error.
12067	EnvironmentName *string `min:"4" type:"string"`
12068
12069	// The name of the group to which the target environment belongs. Specify a
12070	// group name only if the environment's name is specified in an environment
12071	// manifest and not with the environment name or environment ID parameters.
12072	// See Environment Manifest (env.yaml) (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-cfg-manifest.html)
12073	// for details.
12074	GroupName *string `min:"1" type:"string"`
12075
12076	// If specified, AWS Elastic Beanstalk updates the configuration set associated
12077	// with the running environment and sets the specified configuration options
12078	// to the requested value.
12079	OptionSettings []*ConfigurationOptionSetting `type:"list"`
12080
12081	// A list of custom user-defined configuration options to remove from the configuration
12082	// set for this environment.
12083	OptionsToRemove []*OptionSpecification `type:"list"`
12084
12085	// The ARN of the platform, if used.
12086	PlatformArn *string `type:"string"`
12087
12088	// This specifies the platform version that the environment will run after the
12089	// environment is updated.
12090	SolutionStackName *string `type:"string"`
12091
12092	// If this parameter is specified, AWS Elastic Beanstalk deploys this configuration
12093	// template to the environment. If no such configuration template is found,
12094	// AWS Elastic Beanstalk returns an InvalidParameterValue error.
12095	TemplateName *string `min:"1" type:"string"`
12096
12097	// This specifies the tier to use to update the environment.
12098	//
12099	// Condition: At this time, if you change the tier version, name, or type, AWS
12100	// Elastic Beanstalk returns InvalidParameterValue error.
12101	Tier *EnvironmentTier `type:"structure"`
12102
12103	// If this parameter is specified, AWS Elastic Beanstalk deploys the named application
12104	// version to the environment. If no such application version is found, returns
12105	// an InvalidParameterValue error.
12106	VersionLabel *string `min:"1" type:"string"`
12107}
12108
12109// String returns the string representation
12110func (s UpdateEnvironmentInput) String() string {
12111	return awsutil.Prettify(s)
12112}
12113
12114// GoString returns the string representation
12115func (s UpdateEnvironmentInput) GoString() string {
12116	return s.String()
12117}
12118
12119// Validate inspects the fields of the type to determine if they are valid.
12120func (s *UpdateEnvironmentInput) Validate() error {
12121	invalidParams := request.ErrInvalidParams{Context: "UpdateEnvironmentInput"}
12122	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
12123		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
12124	}
12125	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
12126		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
12127	}
12128	if s.GroupName != nil && len(*s.GroupName) < 1 {
12129		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
12130	}
12131	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
12132		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
12133	}
12134	if s.VersionLabel != nil && len(*s.VersionLabel) < 1 {
12135		invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1))
12136	}
12137	if s.OptionSettings != nil {
12138		for i, v := range s.OptionSettings {
12139			if v == nil {
12140				continue
12141			}
12142			if err := v.Validate(); err != nil {
12143				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionSettings", i), err.(request.ErrInvalidParams))
12144			}
12145		}
12146	}
12147	if s.OptionsToRemove != nil {
12148		for i, v := range s.OptionsToRemove {
12149			if v == nil {
12150				continue
12151			}
12152			if err := v.Validate(); err != nil {
12153				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionsToRemove", i), err.(request.ErrInvalidParams))
12154			}
12155		}
12156	}
12157
12158	if invalidParams.Len() > 0 {
12159		return invalidParams
12160	}
12161	return nil
12162}
12163
12164// SetApplicationName sets the ApplicationName field's value.
12165func (s *UpdateEnvironmentInput) SetApplicationName(v string) *UpdateEnvironmentInput {
12166	s.ApplicationName = &v
12167	return s
12168}
12169
12170// SetDescription sets the Description field's value.
12171func (s *UpdateEnvironmentInput) SetDescription(v string) *UpdateEnvironmentInput {
12172	s.Description = &v
12173	return s
12174}
12175
12176// SetEnvironmentId sets the EnvironmentId field's value.
12177func (s *UpdateEnvironmentInput) SetEnvironmentId(v string) *UpdateEnvironmentInput {
12178	s.EnvironmentId = &v
12179	return s
12180}
12181
12182// SetEnvironmentName sets the EnvironmentName field's value.
12183func (s *UpdateEnvironmentInput) SetEnvironmentName(v string) *UpdateEnvironmentInput {
12184	s.EnvironmentName = &v
12185	return s
12186}
12187
12188// SetGroupName sets the GroupName field's value.
12189func (s *UpdateEnvironmentInput) SetGroupName(v string) *UpdateEnvironmentInput {
12190	s.GroupName = &v
12191	return s
12192}
12193
12194// SetOptionSettings sets the OptionSettings field's value.
12195func (s *UpdateEnvironmentInput) SetOptionSettings(v []*ConfigurationOptionSetting) *UpdateEnvironmentInput {
12196	s.OptionSettings = v
12197	return s
12198}
12199
12200// SetOptionsToRemove sets the OptionsToRemove field's value.
12201func (s *UpdateEnvironmentInput) SetOptionsToRemove(v []*OptionSpecification) *UpdateEnvironmentInput {
12202	s.OptionsToRemove = v
12203	return s
12204}
12205
12206// SetPlatformArn sets the PlatformArn field's value.
12207func (s *UpdateEnvironmentInput) SetPlatformArn(v string) *UpdateEnvironmentInput {
12208	s.PlatformArn = &v
12209	return s
12210}
12211
12212// SetSolutionStackName sets the SolutionStackName field's value.
12213func (s *UpdateEnvironmentInput) SetSolutionStackName(v string) *UpdateEnvironmentInput {
12214	s.SolutionStackName = &v
12215	return s
12216}
12217
12218// SetTemplateName sets the TemplateName field's value.
12219func (s *UpdateEnvironmentInput) SetTemplateName(v string) *UpdateEnvironmentInput {
12220	s.TemplateName = &v
12221	return s
12222}
12223
12224// SetTier sets the Tier field's value.
12225func (s *UpdateEnvironmentInput) SetTier(v *EnvironmentTier) *UpdateEnvironmentInput {
12226	s.Tier = v
12227	return s
12228}
12229
12230// SetVersionLabel sets the VersionLabel field's value.
12231func (s *UpdateEnvironmentInput) SetVersionLabel(v string) *UpdateEnvironmentInput {
12232	s.VersionLabel = &v
12233	return s
12234}
12235
12236type UpdateTagsForResourceInput struct {
12237	_ struct{} `type:"structure"`
12238
12239	// The Amazon Resource Name (ARN) of the resouce to be updated.
12240	//
12241	// Must be the ARN of an Elastic Beanstalk resource.
12242	//
12243	// ResourceArn is a required field
12244	ResourceArn *string `type:"string" required:"true"`
12245
12246	// A list of tags to add or update. If a key of an existing tag is added, the
12247	// tag's value is updated.
12248	//
12249	// Specify at least one of these parameters: TagsToAdd, TagsToRemove.
12250	TagsToAdd []*Tag `type:"list"`
12251
12252	// A list of tag keys to remove. If a tag key doesn't exist, it is silently
12253	// ignored.
12254	//
12255	// Specify at least one of these parameters: TagsToAdd, TagsToRemove.
12256	TagsToRemove []*string `type:"list"`
12257}
12258
12259// String returns the string representation
12260func (s UpdateTagsForResourceInput) String() string {
12261	return awsutil.Prettify(s)
12262}
12263
12264// GoString returns the string representation
12265func (s UpdateTagsForResourceInput) GoString() string {
12266	return s.String()
12267}
12268
12269// Validate inspects the fields of the type to determine if they are valid.
12270func (s *UpdateTagsForResourceInput) Validate() error {
12271	invalidParams := request.ErrInvalidParams{Context: "UpdateTagsForResourceInput"}
12272	if s.ResourceArn == nil {
12273		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
12274	}
12275	if s.TagsToAdd != nil {
12276		for i, v := range s.TagsToAdd {
12277			if v == nil {
12278				continue
12279			}
12280			if err := v.Validate(); err != nil {
12281				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagsToAdd", i), err.(request.ErrInvalidParams))
12282			}
12283		}
12284	}
12285
12286	if invalidParams.Len() > 0 {
12287		return invalidParams
12288	}
12289	return nil
12290}
12291
12292// SetResourceArn sets the ResourceArn field's value.
12293func (s *UpdateTagsForResourceInput) SetResourceArn(v string) *UpdateTagsForResourceInput {
12294	s.ResourceArn = &v
12295	return s
12296}
12297
12298// SetTagsToAdd sets the TagsToAdd field's value.
12299func (s *UpdateTagsForResourceInput) SetTagsToAdd(v []*Tag) *UpdateTagsForResourceInput {
12300	s.TagsToAdd = v
12301	return s
12302}
12303
12304// SetTagsToRemove sets the TagsToRemove field's value.
12305func (s *UpdateTagsForResourceInput) SetTagsToRemove(v []*string) *UpdateTagsForResourceInput {
12306	s.TagsToRemove = v
12307	return s
12308}
12309
12310type UpdateTagsForResourceOutput struct {
12311	_ struct{} `type:"structure"`
12312}
12313
12314// String returns the string representation
12315func (s UpdateTagsForResourceOutput) String() string {
12316	return awsutil.Prettify(s)
12317}
12318
12319// GoString returns the string representation
12320func (s UpdateTagsForResourceOutput) GoString() string {
12321	return s.String()
12322}
12323
12324// A list of validation messages for a specified configuration template.
12325type ValidateConfigurationSettingsInput struct {
12326	_ struct{} `type:"structure"`
12327
12328	// The name of the application that the configuration template or environment
12329	// belongs to.
12330	//
12331	// ApplicationName is a required field
12332	ApplicationName *string `min:"1" type:"string" required:"true"`
12333
12334	// The name of the environment to validate the settings against.
12335	//
12336	// Condition: You cannot specify both this and a configuration template name.
12337	EnvironmentName *string `min:"4" type:"string"`
12338
12339	// A list of the options and desired values to evaluate.
12340	//
12341	// OptionSettings is a required field
12342	OptionSettings []*ConfigurationOptionSetting `type:"list" required:"true"`
12343
12344	// The name of the configuration template to validate the settings against.
12345	//
12346	// Condition: You cannot specify both this and an environment name.
12347	TemplateName *string `min:"1" type:"string"`
12348}
12349
12350// String returns the string representation
12351func (s ValidateConfigurationSettingsInput) String() string {
12352	return awsutil.Prettify(s)
12353}
12354
12355// GoString returns the string representation
12356func (s ValidateConfigurationSettingsInput) GoString() string {
12357	return s.String()
12358}
12359
12360// Validate inspects the fields of the type to determine if they are valid.
12361func (s *ValidateConfigurationSettingsInput) Validate() error {
12362	invalidParams := request.ErrInvalidParams{Context: "ValidateConfigurationSettingsInput"}
12363	if s.ApplicationName == nil {
12364		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
12365	}
12366	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
12367		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
12368	}
12369	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
12370		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
12371	}
12372	if s.OptionSettings == nil {
12373		invalidParams.Add(request.NewErrParamRequired("OptionSettings"))
12374	}
12375	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
12376		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
12377	}
12378	if s.OptionSettings != nil {
12379		for i, v := range s.OptionSettings {
12380			if v == nil {
12381				continue
12382			}
12383			if err := v.Validate(); err != nil {
12384				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionSettings", i), err.(request.ErrInvalidParams))
12385			}
12386		}
12387	}
12388
12389	if invalidParams.Len() > 0 {
12390		return invalidParams
12391	}
12392	return nil
12393}
12394
12395// SetApplicationName sets the ApplicationName field's value.
12396func (s *ValidateConfigurationSettingsInput) SetApplicationName(v string) *ValidateConfigurationSettingsInput {
12397	s.ApplicationName = &v
12398	return s
12399}
12400
12401// SetEnvironmentName sets the EnvironmentName field's value.
12402func (s *ValidateConfigurationSettingsInput) SetEnvironmentName(v string) *ValidateConfigurationSettingsInput {
12403	s.EnvironmentName = &v
12404	return s
12405}
12406
12407// SetOptionSettings sets the OptionSettings field's value.
12408func (s *ValidateConfigurationSettingsInput) SetOptionSettings(v []*ConfigurationOptionSetting) *ValidateConfigurationSettingsInput {
12409	s.OptionSettings = v
12410	return s
12411}
12412
12413// SetTemplateName sets the TemplateName field's value.
12414func (s *ValidateConfigurationSettingsInput) SetTemplateName(v string) *ValidateConfigurationSettingsInput {
12415	s.TemplateName = &v
12416	return s
12417}
12418
12419// Provides a list of validation messages.
12420type ValidateConfigurationSettingsOutput struct {
12421	_ struct{} `type:"structure"`
12422
12423	// A list of ValidationMessage.
12424	Messages []*ValidationMessage `type:"list"`
12425}
12426
12427// String returns the string representation
12428func (s ValidateConfigurationSettingsOutput) String() string {
12429	return awsutil.Prettify(s)
12430}
12431
12432// GoString returns the string representation
12433func (s ValidateConfigurationSettingsOutput) GoString() string {
12434	return s.String()
12435}
12436
12437// SetMessages sets the Messages field's value.
12438func (s *ValidateConfigurationSettingsOutput) SetMessages(v []*ValidationMessage) *ValidateConfigurationSettingsOutput {
12439	s.Messages = v
12440	return s
12441}
12442
12443// An error or warning for a desired configuration option value.
12444type ValidationMessage struct {
12445	_ struct{} `type:"structure"`
12446
12447	// A message describing the error or warning.
12448	Message *string `type:"string"`
12449
12450	// The namespace to which the option belongs.
12451	Namespace *string `type:"string"`
12452
12453	// The name of the option.
12454	OptionName *string `type:"string"`
12455
12456	// An indication of the severity of this message:
12457	//
12458	//    * error: This message indicates that this is not a valid setting for an
12459	//    option.
12460	//
12461	//    * warning: This message is providing information you should take into
12462	//    account.
12463	Severity *string `type:"string" enum:"ValidationSeverity"`
12464}
12465
12466// String returns the string representation
12467func (s ValidationMessage) String() string {
12468	return awsutil.Prettify(s)
12469}
12470
12471// GoString returns the string representation
12472func (s ValidationMessage) GoString() string {
12473	return s.String()
12474}
12475
12476// SetMessage sets the Message field's value.
12477func (s *ValidationMessage) SetMessage(v string) *ValidationMessage {
12478	s.Message = &v
12479	return s
12480}
12481
12482// SetNamespace sets the Namespace field's value.
12483func (s *ValidationMessage) SetNamespace(v string) *ValidationMessage {
12484	s.Namespace = &v
12485	return s
12486}
12487
12488// SetOptionName sets the OptionName field's value.
12489func (s *ValidationMessage) SetOptionName(v string) *ValidationMessage {
12490	s.OptionName = &v
12491	return s
12492}
12493
12494// SetSeverity sets the Severity field's value.
12495func (s *ValidationMessage) SetSeverity(v string) *ValidationMessage {
12496	s.Severity = &v
12497	return s
12498}
12499
12500const (
12501	// ActionHistoryStatusCompleted is a ActionHistoryStatus enum value
12502	ActionHistoryStatusCompleted = "Completed"
12503
12504	// ActionHistoryStatusFailed is a ActionHistoryStatus enum value
12505	ActionHistoryStatusFailed = "Failed"
12506
12507	// ActionHistoryStatusUnknown is a ActionHistoryStatus enum value
12508	ActionHistoryStatusUnknown = "Unknown"
12509)
12510
12511// ActionHistoryStatus_Values returns all elements of the ActionHistoryStatus enum
12512func ActionHistoryStatus_Values() []string {
12513	return []string{
12514		ActionHistoryStatusCompleted,
12515		ActionHistoryStatusFailed,
12516		ActionHistoryStatusUnknown,
12517	}
12518}
12519
12520const (
12521	// ActionStatusScheduled is a ActionStatus enum value
12522	ActionStatusScheduled = "Scheduled"
12523
12524	// ActionStatusPending is a ActionStatus enum value
12525	ActionStatusPending = "Pending"
12526
12527	// ActionStatusRunning is a ActionStatus enum value
12528	ActionStatusRunning = "Running"
12529
12530	// ActionStatusUnknown is a ActionStatus enum value
12531	ActionStatusUnknown = "Unknown"
12532)
12533
12534// ActionStatus_Values returns all elements of the ActionStatus enum
12535func ActionStatus_Values() []string {
12536	return []string{
12537		ActionStatusScheduled,
12538		ActionStatusPending,
12539		ActionStatusRunning,
12540		ActionStatusUnknown,
12541	}
12542}
12543
12544const (
12545	// ActionTypeInstanceRefresh is a ActionType enum value
12546	ActionTypeInstanceRefresh = "InstanceRefresh"
12547
12548	// ActionTypePlatformUpdate is a ActionType enum value
12549	ActionTypePlatformUpdate = "PlatformUpdate"
12550
12551	// ActionTypeUnknown is a ActionType enum value
12552	ActionTypeUnknown = "Unknown"
12553)
12554
12555// ActionType_Values returns all elements of the ActionType enum
12556func ActionType_Values() []string {
12557	return []string{
12558		ActionTypeInstanceRefresh,
12559		ActionTypePlatformUpdate,
12560		ActionTypeUnknown,
12561	}
12562}
12563
12564const (
12565	// ApplicationVersionStatusProcessed is a ApplicationVersionStatus enum value
12566	ApplicationVersionStatusProcessed = "Processed"
12567
12568	// ApplicationVersionStatusUnprocessed is a ApplicationVersionStatus enum value
12569	ApplicationVersionStatusUnprocessed = "Unprocessed"
12570
12571	// ApplicationVersionStatusFailed is a ApplicationVersionStatus enum value
12572	ApplicationVersionStatusFailed = "Failed"
12573
12574	// ApplicationVersionStatusProcessing is a ApplicationVersionStatus enum value
12575	ApplicationVersionStatusProcessing = "Processing"
12576
12577	// ApplicationVersionStatusBuilding is a ApplicationVersionStatus enum value
12578	ApplicationVersionStatusBuilding = "Building"
12579)
12580
12581// ApplicationVersionStatus_Values returns all elements of the ApplicationVersionStatus enum
12582func ApplicationVersionStatus_Values() []string {
12583	return []string{
12584		ApplicationVersionStatusProcessed,
12585		ApplicationVersionStatusUnprocessed,
12586		ApplicationVersionStatusFailed,
12587		ApplicationVersionStatusProcessing,
12588		ApplicationVersionStatusBuilding,
12589	}
12590}
12591
12592const (
12593	// ComputeTypeBuildGeneral1Small is a ComputeType enum value
12594	ComputeTypeBuildGeneral1Small = "BUILD_GENERAL1_SMALL"
12595
12596	// ComputeTypeBuildGeneral1Medium is a ComputeType enum value
12597	ComputeTypeBuildGeneral1Medium = "BUILD_GENERAL1_MEDIUM"
12598
12599	// ComputeTypeBuildGeneral1Large is a ComputeType enum value
12600	ComputeTypeBuildGeneral1Large = "BUILD_GENERAL1_LARGE"
12601)
12602
12603// ComputeType_Values returns all elements of the ComputeType enum
12604func ComputeType_Values() []string {
12605	return []string{
12606		ComputeTypeBuildGeneral1Small,
12607		ComputeTypeBuildGeneral1Medium,
12608		ComputeTypeBuildGeneral1Large,
12609	}
12610}
12611
12612const (
12613	// ConfigurationDeploymentStatusDeployed is a ConfigurationDeploymentStatus enum value
12614	ConfigurationDeploymentStatusDeployed = "deployed"
12615
12616	// ConfigurationDeploymentStatusPending is a ConfigurationDeploymentStatus enum value
12617	ConfigurationDeploymentStatusPending = "pending"
12618
12619	// ConfigurationDeploymentStatusFailed is a ConfigurationDeploymentStatus enum value
12620	ConfigurationDeploymentStatusFailed = "failed"
12621)
12622
12623// ConfigurationDeploymentStatus_Values returns all elements of the ConfigurationDeploymentStatus enum
12624func ConfigurationDeploymentStatus_Values() []string {
12625	return []string{
12626		ConfigurationDeploymentStatusDeployed,
12627		ConfigurationDeploymentStatusPending,
12628		ConfigurationDeploymentStatusFailed,
12629	}
12630}
12631
12632const (
12633	// ConfigurationOptionValueTypeScalar is a ConfigurationOptionValueType enum value
12634	ConfigurationOptionValueTypeScalar = "Scalar"
12635
12636	// ConfigurationOptionValueTypeList is a ConfigurationOptionValueType enum value
12637	ConfigurationOptionValueTypeList = "List"
12638)
12639
12640// ConfigurationOptionValueType_Values returns all elements of the ConfigurationOptionValueType enum
12641func ConfigurationOptionValueType_Values() []string {
12642	return []string{
12643		ConfigurationOptionValueTypeScalar,
12644		ConfigurationOptionValueTypeList,
12645	}
12646}
12647
12648const (
12649	// EnvironmentHealthGreen is a EnvironmentHealth enum value
12650	EnvironmentHealthGreen = "Green"
12651
12652	// EnvironmentHealthYellow is a EnvironmentHealth enum value
12653	EnvironmentHealthYellow = "Yellow"
12654
12655	// EnvironmentHealthRed is a EnvironmentHealth enum value
12656	EnvironmentHealthRed = "Red"
12657
12658	// EnvironmentHealthGrey is a EnvironmentHealth enum value
12659	EnvironmentHealthGrey = "Grey"
12660)
12661
12662// EnvironmentHealth_Values returns all elements of the EnvironmentHealth enum
12663func EnvironmentHealth_Values() []string {
12664	return []string{
12665		EnvironmentHealthGreen,
12666		EnvironmentHealthYellow,
12667		EnvironmentHealthRed,
12668		EnvironmentHealthGrey,
12669	}
12670}
12671
12672const (
12673	// EnvironmentHealthAttributeStatus is a EnvironmentHealthAttribute enum value
12674	EnvironmentHealthAttributeStatus = "Status"
12675
12676	// EnvironmentHealthAttributeColor is a EnvironmentHealthAttribute enum value
12677	EnvironmentHealthAttributeColor = "Color"
12678
12679	// EnvironmentHealthAttributeCauses is a EnvironmentHealthAttribute enum value
12680	EnvironmentHealthAttributeCauses = "Causes"
12681
12682	// EnvironmentHealthAttributeApplicationMetrics is a EnvironmentHealthAttribute enum value
12683	EnvironmentHealthAttributeApplicationMetrics = "ApplicationMetrics"
12684
12685	// EnvironmentHealthAttributeInstancesHealth is a EnvironmentHealthAttribute enum value
12686	EnvironmentHealthAttributeInstancesHealth = "InstancesHealth"
12687
12688	// EnvironmentHealthAttributeAll is a EnvironmentHealthAttribute enum value
12689	EnvironmentHealthAttributeAll = "All"
12690
12691	// EnvironmentHealthAttributeHealthStatus is a EnvironmentHealthAttribute enum value
12692	EnvironmentHealthAttributeHealthStatus = "HealthStatus"
12693
12694	// EnvironmentHealthAttributeRefreshedAt is a EnvironmentHealthAttribute enum value
12695	EnvironmentHealthAttributeRefreshedAt = "RefreshedAt"
12696)
12697
12698// EnvironmentHealthAttribute_Values returns all elements of the EnvironmentHealthAttribute enum
12699func EnvironmentHealthAttribute_Values() []string {
12700	return []string{
12701		EnvironmentHealthAttributeStatus,
12702		EnvironmentHealthAttributeColor,
12703		EnvironmentHealthAttributeCauses,
12704		EnvironmentHealthAttributeApplicationMetrics,
12705		EnvironmentHealthAttributeInstancesHealth,
12706		EnvironmentHealthAttributeAll,
12707		EnvironmentHealthAttributeHealthStatus,
12708		EnvironmentHealthAttributeRefreshedAt,
12709	}
12710}
12711
12712const (
12713	// EnvironmentHealthStatusNoData is a EnvironmentHealthStatus enum value
12714	EnvironmentHealthStatusNoData = "NoData"
12715
12716	// EnvironmentHealthStatusUnknown is a EnvironmentHealthStatus enum value
12717	EnvironmentHealthStatusUnknown = "Unknown"
12718
12719	// EnvironmentHealthStatusPending is a EnvironmentHealthStatus enum value
12720	EnvironmentHealthStatusPending = "Pending"
12721
12722	// EnvironmentHealthStatusOk is a EnvironmentHealthStatus enum value
12723	EnvironmentHealthStatusOk = "Ok"
12724
12725	// EnvironmentHealthStatusInfo is a EnvironmentHealthStatus enum value
12726	EnvironmentHealthStatusInfo = "Info"
12727
12728	// EnvironmentHealthStatusWarning is a EnvironmentHealthStatus enum value
12729	EnvironmentHealthStatusWarning = "Warning"
12730
12731	// EnvironmentHealthStatusDegraded is a EnvironmentHealthStatus enum value
12732	EnvironmentHealthStatusDegraded = "Degraded"
12733
12734	// EnvironmentHealthStatusSevere is a EnvironmentHealthStatus enum value
12735	EnvironmentHealthStatusSevere = "Severe"
12736
12737	// EnvironmentHealthStatusSuspended is a EnvironmentHealthStatus enum value
12738	EnvironmentHealthStatusSuspended = "Suspended"
12739)
12740
12741// EnvironmentHealthStatus_Values returns all elements of the EnvironmentHealthStatus enum
12742func EnvironmentHealthStatus_Values() []string {
12743	return []string{
12744		EnvironmentHealthStatusNoData,
12745		EnvironmentHealthStatusUnknown,
12746		EnvironmentHealthStatusPending,
12747		EnvironmentHealthStatusOk,
12748		EnvironmentHealthStatusInfo,
12749		EnvironmentHealthStatusWarning,
12750		EnvironmentHealthStatusDegraded,
12751		EnvironmentHealthStatusSevere,
12752		EnvironmentHealthStatusSuspended,
12753	}
12754}
12755
12756const (
12757	// EnvironmentInfoTypeTail is a EnvironmentInfoType enum value
12758	EnvironmentInfoTypeTail = "tail"
12759
12760	// EnvironmentInfoTypeBundle is a EnvironmentInfoType enum value
12761	EnvironmentInfoTypeBundle = "bundle"
12762)
12763
12764// EnvironmentInfoType_Values returns all elements of the EnvironmentInfoType enum
12765func EnvironmentInfoType_Values() []string {
12766	return []string{
12767		EnvironmentInfoTypeTail,
12768		EnvironmentInfoTypeBundle,
12769	}
12770}
12771
12772const (
12773	// EnvironmentStatusAborting is a EnvironmentStatus enum value
12774	EnvironmentStatusAborting = "Aborting"
12775
12776	// EnvironmentStatusLaunching is a EnvironmentStatus enum value
12777	EnvironmentStatusLaunching = "Launching"
12778
12779	// EnvironmentStatusUpdating is a EnvironmentStatus enum value
12780	EnvironmentStatusUpdating = "Updating"
12781
12782	// EnvironmentStatusLinkingFrom is a EnvironmentStatus enum value
12783	EnvironmentStatusLinkingFrom = "LinkingFrom"
12784
12785	// EnvironmentStatusLinkingTo is a EnvironmentStatus enum value
12786	EnvironmentStatusLinkingTo = "LinkingTo"
12787
12788	// EnvironmentStatusReady is a EnvironmentStatus enum value
12789	EnvironmentStatusReady = "Ready"
12790
12791	// EnvironmentStatusTerminating is a EnvironmentStatus enum value
12792	EnvironmentStatusTerminating = "Terminating"
12793
12794	// EnvironmentStatusTerminated is a EnvironmentStatus enum value
12795	EnvironmentStatusTerminated = "Terminated"
12796)
12797
12798// EnvironmentStatus_Values returns all elements of the EnvironmentStatus enum
12799func EnvironmentStatus_Values() []string {
12800	return []string{
12801		EnvironmentStatusAborting,
12802		EnvironmentStatusLaunching,
12803		EnvironmentStatusUpdating,
12804		EnvironmentStatusLinkingFrom,
12805		EnvironmentStatusLinkingTo,
12806		EnvironmentStatusReady,
12807		EnvironmentStatusTerminating,
12808		EnvironmentStatusTerminated,
12809	}
12810}
12811
12812const (
12813	// EventSeverityTrace is a EventSeverity enum value
12814	EventSeverityTrace = "TRACE"
12815
12816	// EventSeverityDebug is a EventSeverity enum value
12817	EventSeverityDebug = "DEBUG"
12818
12819	// EventSeverityInfo is a EventSeverity enum value
12820	EventSeverityInfo = "INFO"
12821
12822	// EventSeverityWarn is a EventSeverity enum value
12823	EventSeverityWarn = "WARN"
12824
12825	// EventSeverityError is a EventSeverity enum value
12826	EventSeverityError = "ERROR"
12827
12828	// EventSeverityFatal is a EventSeverity enum value
12829	EventSeverityFatal = "FATAL"
12830)
12831
12832// EventSeverity_Values returns all elements of the EventSeverity enum
12833func EventSeverity_Values() []string {
12834	return []string{
12835		EventSeverityTrace,
12836		EventSeverityDebug,
12837		EventSeverityInfo,
12838		EventSeverityWarn,
12839		EventSeverityError,
12840		EventSeverityFatal,
12841	}
12842}
12843
12844const (
12845	// FailureTypeUpdateCancelled is a FailureType enum value
12846	FailureTypeUpdateCancelled = "UpdateCancelled"
12847
12848	// FailureTypeCancellationFailed is a FailureType enum value
12849	FailureTypeCancellationFailed = "CancellationFailed"
12850
12851	// FailureTypeRollbackFailed is a FailureType enum value
12852	FailureTypeRollbackFailed = "RollbackFailed"
12853
12854	// FailureTypeRollbackSuccessful is a FailureType enum value
12855	FailureTypeRollbackSuccessful = "RollbackSuccessful"
12856
12857	// FailureTypeInternalFailure is a FailureType enum value
12858	FailureTypeInternalFailure = "InternalFailure"
12859
12860	// FailureTypeInvalidEnvironmentState is a FailureType enum value
12861	FailureTypeInvalidEnvironmentState = "InvalidEnvironmentState"
12862
12863	// FailureTypePermissionsError is a FailureType enum value
12864	FailureTypePermissionsError = "PermissionsError"
12865)
12866
12867// FailureType_Values returns all elements of the FailureType enum
12868func FailureType_Values() []string {
12869	return []string{
12870		FailureTypeUpdateCancelled,
12871		FailureTypeCancellationFailed,
12872		FailureTypeRollbackFailed,
12873		FailureTypeRollbackSuccessful,
12874		FailureTypeInternalFailure,
12875		FailureTypeInvalidEnvironmentState,
12876		FailureTypePermissionsError,
12877	}
12878}
12879
12880const (
12881	// InstancesHealthAttributeHealthStatus is a InstancesHealthAttribute enum value
12882	InstancesHealthAttributeHealthStatus = "HealthStatus"
12883
12884	// InstancesHealthAttributeColor is a InstancesHealthAttribute enum value
12885	InstancesHealthAttributeColor = "Color"
12886
12887	// InstancesHealthAttributeCauses is a InstancesHealthAttribute enum value
12888	InstancesHealthAttributeCauses = "Causes"
12889
12890	// InstancesHealthAttributeApplicationMetrics is a InstancesHealthAttribute enum value
12891	InstancesHealthAttributeApplicationMetrics = "ApplicationMetrics"
12892
12893	// InstancesHealthAttributeRefreshedAt is a InstancesHealthAttribute enum value
12894	InstancesHealthAttributeRefreshedAt = "RefreshedAt"
12895
12896	// InstancesHealthAttributeLaunchedAt is a InstancesHealthAttribute enum value
12897	InstancesHealthAttributeLaunchedAt = "LaunchedAt"
12898
12899	// InstancesHealthAttributeSystem is a InstancesHealthAttribute enum value
12900	InstancesHealthAttributeSystem = "System"
12901
12902	// InstancesHealthAttributeDeployment is a InstancesHealthAttribute enum value
12903	InstancesHealthAttributeDeployment = "Deployment"
12904
12905	// InstancesHealthAttributeAvailabilityZone is a InstancesHealthAttribute enum value
12906	InstancesHealthAttributeAvailabilityZone = "AvailabilityZone"
12907
12908	// InstancesHealthAttributeInstanceType is a InstancesHealthAttribute enum value
12909	InstancesHealthAttributeInstanceType = "InstanceType"
12910
12911	// InstancesHealthAttributeAll is a InstancesHealthAttribute enum value
12912	InstancesHealthAttributeAll = "All"
12913)
12914
12915// InstancesHealthAttribute_Values returns all elements of the InstancesHealthAttribute enum
12916func InstancesHealthAttribute_Values() []string {
12917	return []string{
12918		InstancesHealthAttributeHealthStatus,
12919		InstancesHealthAttributeColor,
12920		InstancesHealthAttributeCauses,
12921		InstancesHealthAttributeApplicationMetrics,
12922		InstancesHealthAttributeRefreshedAt,
12923		InstancesHealthAttributeLaunchedAt,
12924		InstancesHealthAttributeSystem,
12925		InstancesHealthAttributeDeployment,
12926		InstancesHealthAttributeAvailabilityZone,
12927		InstancesHealthAttributeInstanceType,
12928		InstancesHealthAttributeAll,
12929	}
12930}
12931
12932const (
12933	// PlatformStatusCreating is a PlatformStatus enum value
12934	PlatformStatusCreating = "Creating"
12935
12936	// PlatformStatusFailed is a PlatformStatus enum value
12937	PlatformStatusFailed = "Failed"
12938
12939	// PlatformStatusReady is a PlatformStatus enum value
12940	PlatformStatusReady = "Ready"
12941
12942	// PlatformStatusDeleting is a PlatformStatus enum value
12943	PlatformStatusDeleting = "Deleting"
12944
12945	// PlatformStatusDeleted is a PlatformStatus enum value
12946	PlatformStatusDeleted = "Deleted"
12947)
12948
12949// PlatformStatus_Values returns all elements of the PlatformStatus enum
12950func PlatformStatus_Values() []string {
12951	return []string{
12952		PlatformStatusCreating,
12953		PlatformStatusFailed,
12954		PlatformStatusReady,
12955		PlatformStatusDeleting,
12956		PlatformStatusDeleted,
12957	}
12958}
12959
12960const (
12961	// SourceRepositoryCodeCommit is a SourceRepository enum value
12962	SourceRepositoryCodeCommit = "CodeCommit"
12963
12964	// SourceRepositoryS3 is a SourceRepository enum value
12965	SourceRepositoryS3 = "S3"
12966)
12967
12968// SourceRepository_Values returns all elements of the SourceRepository enum
12969func SourceRepository_Values() []string {
12970	return []string{
12971		SourceRepositoryCodeCommit,
12972		SourceRepositoryS3,
12973	}
12974}
12975
12976const (
12977	// SourceTypeGit is a SourceType enum value
12978	SourceTypeGit = "Git"
12979
12980	// SourceTypeZip is a SourceType enum value
12981	SourceTypeZip = "Zip"
12982)
12983
12984// SourceType_Values returns all elements of the SourceType enum
12985func SourceType_Values() []string {
12986	return []string{
12987		SourceTypeGit,
12988		SourceTypeZip,
12989	}
12990}
12991
12992const (
12993	// ValidationSeverityError is a ValidationSeverity enum value
12994	ValidationSeverityError = "error"
12995
12996	// ValidationSeverityWarning is a ValidationSeverity enum value
12997	ValidationSeverityWarning = "warning"
12998)
12999
13000// ValidationSeverity_Values returns all elements of the ValidationSeverity enum
13001func ValidationSeverity_Values() []string {
13002	return []string{
13003		ValidationSeverityError,
13004		ValidationSeverityWarning,
13005	}
13006}
13007