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.
4248//
4249// API parameter values that are decorated as "sensitive" in the API will not
4250// be included in the string output. The member name will be present, but the
4251// value will be replaced with "sensitive".
4252func (s AbortEnvironmentUpdateInput) String() string {
4253	return awsutil.Prettify(s)
4254}
4255
4256// GoString returns the string representation.
4257//
4258// API parameter values that are decorated as "sensitive" in the API will not
4259// be included in the string output. The member name will be present, but the
4260// value will be replaced with "sensitive".
4261func (s AbortEnvironmentUpdateInput) GoString() string {
4262	return s.String()
4263}
4264
4265// Validate inspects the fields of the type to determine if they are valid.
4266func (s *AbortEnvironmentUpdateInput) Validate() error {
4267	invalidParams := request.ErrInvalidParams{Context: "AbortEnvironmentUpdateInput"}
4268	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
4269		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
4270	}
4271
4272	if invalidParams.Len() > 0 {
4273		return invalidParams
4274	}
4275	return nil
4276}
4277
4278// SetEnvironmentId sets the EnvironmentId field's value.
4279func (s *AbortEnvironmentUpdateInput) SetEnvironmentId(v string) *AbortEnvironmentUpdateInput {
4280	s.EnvironmentId = &v
4281	return s
4282}
4283
4284// SetEnvironmentName sets the EnvironmentName field's value.
4285func (s *AbortEnvironmentUpdateInput) SetEnvironmentName(v string) *AbortEnvironmentUpdateInput {
4286	s.EnvironmentName = &v
4287	return s
4288}
4289
4290type AbortEnvironmentUpdateOutput struct {
4291	_ struct{} `type:"structure"`
4292}
4293
4294// String returns the string representation.
4295//
4296// API parameter values that are decorated as "sensitive" in the API will not
4297// be included in the string output. The member name will be present, but the
4298// value will be replaced with "sensitive".
4299func (s AbortEnvironmentUpdateOutput) String() string {
4300	return awsutil.Prettify(s)
4301}
4302
4303// GoString returns the string representation.
4304//
4305// API parameter values that are decorated as "sensitive" in the API will not
4306// be included in the string output. The member name will be present, but the
4307// value will be replaced with "sensitive".
4308func (s AbortEnvironmentUpdateOutput) GoString() string {
4309	return s.String()
4310}
4311
4312// Describes the properties of an application.
4313type ApplicationDescription struct {
4314	_ struct{} `type:"structure"`
4315
4316	// The Amazon Resource Name (ARN) of the application.
4317	ApplicationArn *string `type:"string"`
4318
4319	// The name of the application.
4320	ApplicationName *string `min:"1" type:"string"`
4321
4322	// The names of the configuration templates associated with this application.
4323	ConfigurationTemplates []*string `type:"list"`
4324
4325	// The date when the application was created.
4326	DateCreated *time.Time `type:"timestamp"`
4327
4328	// The date when the application was last modified.
4329	DateUpdated *time.Time `type:"timestamp"`
4330
4331	// User-defined description of the application.
4332	Description *string `type:"string"`
4333
4334	// The lifecycle settings for the application.
4335	ResourceLifecycleConfig *ApplicationResourceLifecycleConfig `type:"structure"`
4336
4337	// The names of the versions for this application.
4338	Versions []*string `type:"list"`
4339}
4340
4341// String returns the string representation.
4342//
4343// API parameter values that are decorated as "sensitive" in the API will not
4344// be included in the string output. The member name will be present, but the
4345// value will be replaced with "sensitive".
4346func (s ApplicationDescription) String() string {
4347	return awsutil.Prettify(s)
4348}
4349
4350// GoString returns the string representation.
4351//
4352// API parameter values that are decorated as "sensitive" in the API will not
4353// be included in the string output. The member name will be present, but the
4354// value will be replaced with "sensitive".
4355func (s ApplicationDescription) GoString() string {
4356	return s.String()
4357}
4358
4359// SetApplicationArn sets the ApplicationArn field's value.
4360func (s *ApplicationDescription) SetApplicationArn(v string) *ApplicationDescription {
4361	s.ApplicationArn = &v
4362	return s
4363}
4364
4365// SetApplicationName sets the ApplicationName field's value.
4366func (s *ApplicationDescription) SetApplicationName(v string) *ApplicationDescription {
4367	s.ApplicationName = &v
4368	return s
4369}
4370
4371// SetConfigurationTemplates sets the ConfigurationTemplates field's value.
4372func (s *ApplicationDescription) SetConfigurationTemplates(v []*string) *ApplicationDescription {
4373	s.ConfigurationTemplates = v
4374	return s
4375}
4376
4377// SetDateCreated sets the DateCreated field's value.
4378func (s *ApplicationDescription) SetDateCreated(v time.Time) *ApplicationDescription {
4379	s.DateCreated = &v
4380	return s
4381}
4382
4383// SetDateUpdated sets the DateUpdated field's value.
4384func (s *ApplicationDescription) SetDateUpdated(v time.Time) *ApplicationDescription {
4385	s.DateUpdated = &v
4386	return s
4387}
4388
4389// SetDescription sets the Description field's value.
4390func (s *ApplicationDescription) SetDescription(v string) *ApplicationDescription {
4391	s.Description = &v
4392	return s
4393}
4394
4395// SetResourceLifecycleConfig sets the ResourceLifecycleConfig field's value.
4396func (s *ApplicationDescription) SetResourceLifecycleConfig(v *ApplicationResourceLifecycleConfig) *ApplicationDescription {
4397	s.ResourceLifecycleConfig = v
4398	return s
4399}
4400
4401// SetVersions sets the Versions field's value.
4402func (s *ApplicationDescription) SetVersions(v []*string) *ApplicationDescription {
4403	s.Versions = v
4404	return s
4405}
4406
4407// Result message containing a single description of an application.
4408type ApplicationDescriptionMessage struct {
4409	_ struct{} `type:"structure"`
4410
4411	// The ApplicationDescription of the application.
4412	Application *ApplicationDescription `type:"structure"`
4413}
4414
4415// String returns the string representation.
4416//
4417// API parameter values that are decorated as "sensitive" in the API will not
4418// be included in the string output. The member name will be present, but the
4419// value will be replaced with "sensitive".
4420func (s ApplicationDescriptionMessage) String() string {
4421	return awsutil.Prettify(s)
4422}
4423
4424// GoString returns the string representation.
4425//
4426// API parameter values that are decorated as "sensitive" in the API will not
4427// be included in the string output. The member name will be present, but the
4428// value will be replaced with "sensitive".
4429func (s ApplicationDescriptionMessage) GoString() string {
4430	return s.String()
4431}
4432
4433// SetApplication sets the Application field's value.
4434func (s *ApplicationDescriptionMessage) SetApplication(v *ApplicationDescription) *ApplicationDescriptionMessage {
4435	s.Application = v
4436	return s
4437}
4438
4439// Application request metrics for an AWS Elastic Beanstalk environment.
4440type ApplicationMetrics struct {
4441	_ struct{} `type:"structure"`
4442
4443	// The amount of time that the metrics cover (usually 10 seconds). For example,
4444	// you might have 5 requests (request_count) within the most recent time slice
4445	// of 10 seconds (duration).
4446	Duration *int64 `type:"integer"`
4447
4448	// Represents the average latency for the slowest X percent of requests over
4449	// the last 10 seconds. Latencies are in seconds with one millisecond resolution.
4450	Latency *Latency `type:"structure"`
4451
4452	// Average number of requests handled by the web server per second over the
4453	// last 10 seconds.
4454	RequestCount *int64 `type:"integer"`
4455
4456	// Represents the percentage of requests over the last 10 seconds that resulted
4457	// in each type of status code response.
4458	StatusCodes *StatusCodes `type:"structure"`
4459}
4460
4461// String returns the string representation.
4462//
4463// API parameter values that are decorated as "sensitive" in the API will not
4464// be included in the string output. The member name will be present, but the
4465// value will be replaced with "sensitive".
4466func (s ApplicationMetrics) String() string {
4467	return awsutil.Prettify(s)
4468}
4469
4470// GoString returns the string representation.
4471//
4472// API parameter values that are decorated as "sensitive" in the API will not
4473// be included in the string output. The member name will be present, but the
4474// value will be replaced with "sensitive".
4475func (s ApplicationMetrics) GoString() string {
4476	return s.String()
4477}
4478
4479// SetDuration sets the Duration field's value.
4480func (s *ApplicationMetrics) SetDuration(v int64) *ApplicationMetrics {
4481	s.Duration = &v
4482	return s
4483}
4484
4485// SetLatency sets the Latency field's value.
4486func (s *ApplicationMetrics) SetLatency(v *Latency) *ApplicationMetrics {
4487	s.Latency = v
4488	return s
4489}
4490
4491// SetRequestCount sets the RequestCount field's value.
4492func (s *ApplicationMetrics) SetRequestCount(v int64) *ApplicationMetrics {
4493	s.RequestCount = &v
4494	return s
4495}
4496
4497// SetStatusCodes sets the StatusCodes field's value.
4498func (s *ApplicationMetrics) SetStatusCodes(v *StatusCodes) *ApplicationMetrics {
4499	s.StatusCodes = v
4500	return s
4501}
4502
4503// The resource lifecycle configuration for an application. Defines lifecycle
4504// settings for resources that belong to the application, and the service role
4505// that AWS Elastic Beanstalk assumes in order to apply lifecycle settings.
4506// The version lifecycle configuration defines lifecycle settings for application
4507// versions.
4508type ApplicationResourceLifecycleConfig struct {
4509	_ struct{} `type:"structure"`
4510
4511	// The ARN of an IAM service role that Elastic Beanstalk has permission to assume.
4512	//
4513	// The ServiceRole property is required the first time that you provide a VersionLifecycleConfig
4514	// for the application in one of the supporting calls (CreateApplication or
4515	// UpdateApplicationResourceLifecycle). After you provide it once, in either
4516	// one of the calls, Elastic Beanstalk persists the Service Role with the application,
4517	// and you don't need to specify it again in subsequent UpdateApplicationResourceLifecycle
4518	// calls. You can, however, specify it in subsequent calls to change the Service
4519	// Role to another value.
4520	ServiceRole *string `type:"string"`
4521
4522	// Defines lifecycle settings for application versions.
4523	VersionLifecycleConfig *ApplicationVersionLifecycleConfig `type:"structure"`
4524}
4525
4526// String returns the string representation.
4527//
4528// API parameter values that are decorated as "sensitive" in the API will not
4529// be included in the string output. The member name will be present, but the
4530// value will be replaced with "sensitive".
4531func (s ApplicationResourceLifecycleConfig) String() string {
4532	return awsutil.Prettify(s)
4533}
4534
4535// GoString returns the string representation.
4536//
4537// API parameter values that are decorated as "sensitive" in the API will not
4538// be included in the string output. The member name will be present, but the
4539// value will be replaced with "sensitive".
4540func (s ApplicationResourceLifecycleConfig) GoString() string {
4541	return s.String()
4542}
4543
4544// Validate inspects the fields of the type to determine if they are valid.
4545func (s *ApplicationResourceLifecycleConfig) Validate() error {
4546	invalidParams := request.ErrInvalidParams{Context: "ApplicationResourceLifecycleConfig"}
4547	if s.VersionLifecycleConfig != nil {
4548		if err := s.VersionLifecycleConfig.Validate(); err != nil {
4549			invalidParams.AddNested("VersionLifecycleConfig", err.(request.ErrInvalidParams))
4550		}
4551	}
4552
4553	if invalidParams.Len() > 0 {
4554		return invalidParams
4555	}
4556	return nil
4557}
4558
4559// SetServiceRole sets the ServiceRole field's value.
4560func (s *ApplicationResourceLifecycleConfig) SetServiceRole(v string) *ApplicationResourceLifecycleConfig {
4561	s.ServiceRole = &v
4562	return s
4563}
4564
4565// SetVersionLifecycleConfig sets the VersionLifecycleConfig field's value.
4566func (s *ApplicationResourceLifecycleConfig) SetVersionLifecycleConfig(v *ApplicationVersionLifecycleConfig) *ApplicationResourceLifecycleConfig {
4567	s.VersionLifecycleConfig = v
4568	return s
4569}
4570
4571// Describes the properties of an application version.
4572type ApplicationVersionDescription struct {
4573	_ struct{} `type:"structure"`
4574
4575	// The name of the application to which the application version belongs.
4576	ApplicationName *string `min:"1" type:"string"`
4577
4578	// The Amazon Resource Name (ARN) of the application version.
4579	ApplicationVersionArn *string `type:"string"`
4580
4581	// Reference to the artifact from the AWS CodeBuild build.
4582	BuildArn *string `type:"string"`
4583
4584	// The creation date of the application version.
4585	DateCreated *time.Time `type:"timestamp"`
4586
4587	// The last modified date of the application version.
4588	DateUpdated *time.Time `type:"timestamp"`
4589
4590	// The description of the application version.
4591	Description *string `type:"string"`
4592
4593	// If the version's source code was retrieved from AWS CodeCommit, the location
4594	// of the source code for the application version.
4595	SourceBuildInformation *SourceBuildInformation `type:"structure"`
4596
4597	// The storage location of the application version's source bundle in Amazon
4598	// S3.
4599	SourceBundle *S3Location `type:"structure"`
4600
4601	// The processing status of the application version. Reflects the state of the
4602	// application version during its creation. Many of the values are only applicable
4603	// if you specified True for the Process parameter of the CreateApplicationVersion
4604	// action. The following list describes the possible values.
4605	//
4606	//    * Unprocessed – Application version wasn't pre-processed or validated.
4607	//    Elastic Beanstalk will validate configuration files during deployment
4608	//    of the application version to an environment.
4609	//
4610	//    * Processing – Elastic Beanstalk is currently processing the application
4611	//    version.
4612	//
4613	//    * Building – Application version is currently undergoing an AWS CodeBuild
4614	//    build.
4615	//
4616	//    * Processed – Elastic Beanstalk was successfully pre-processed and validated.
4617	//
4618	//    * Failed – Either the AWS CodeBuild build failed or configuration files
4619	//    didn't pass validation. This application version isn't usable.
4620	Status *string `type:"string" enum:"ApplicationVersionStatus"`
4621
4622	// A unique identifier for the application version.
4623	VersionLabel *string `min:"1" type:"string"`
4624}
4625
4626// String returns the string representation.
4627//
4628// API parameter values that are decorated as "sensitive" in the API will not
4629// be included in the string output. The member name will be present, but the
4630// value will be replaced with "sensitive".
4631func (s ApplicationVersionDescription) String() string {
4632	return awsutil.Prettify(s)
4633}
4634
4635// GoString returns the string representation.
4636//
4637// API parameter values that are decorated as "sensitive" in the API will not
4638// be included in the string output. The member name will be present, but the
4639// value will be replaced with "sensitive".
4640func (s ApplicationVersionDescription) GoString() string {
4641	return s.String()
4642}
4643
4644// SetApplicationName sets the ApplicationName field's value.
4645func (s *ApplicationVersionDescription) SetApplicationName(v string) *ApplicationVersionDescription {
4646	s.ApplicationName = &v
4647	return s
4648}
4649
4650// SetApplicationVersionArn sets the ApplicationVersionArn field's value.
4651func (s *ApplicationVersionDescription) SetApplicationVersionArn(v string) *ApplicationVersionDescription {
4652	s.ApplicationVersionArn = &v
4653	return s
4654}
4655
4656// SetBuildArn sets the BuildArn field's value.
4657func (s *ApplicationVersionDescription) SetBuildArn(v string) *ApplicationVersionDescription {
4658	s.BuildArn = &v
4659	return s
4660}
4661
4662// SetDateCreated sets the DateCreated field's value.
4663func (s *ApplicationVersionDescription) SetDateCreated(v time.Time) *ApplicationVersionDescription {
4664	s.DateCreated = &v
4665	return s
4666}
4667
4668// SetDateUpdated sets the DateUpdated field's value.
4669func (s *ApplicationVersionDescription) SetDateUpdated(v time.Time) *ApplicationVersionDescription {
4670	s.DateUpdated = &v
4671	return s
4672}
4673
4674// SetDescription sets the Description field's value.
4675func (s *ApplicationVersionDescription) SetDescription(v string) *ApplicationVersionDescription {
4676	s.Description = &v
4677	return s
4678}
4679
4680// SetSourceBuildInformation sets the SourceBuildInformation field's value.
4681func (s *ApplicationVersionDescription) SetSourceBuildInformation(v *SourceBuildInformation) *ApplicationVersionDescription {
4682	s.SourceBuildInformation = v
4683	return s
4684}
4685
4686// SetSourceBundle sets the SourceBundle field's value.
4687func (s *ApplicationVersionDescription) SetSourceBundle(v *S3Location) *ApplicationVersionDescription {
4688	s.SourceBundle = v
4689	return s
4690}
4691
4692// SetStatus sets the Status field's value.
4693func (s *ApplicationVersionDescription) SetStatus(v string) *ApplicationVersionDescription {
4694	s.Status = &v
4695	return s
4696}
4697
4698// SetVersionLabel sets the VersionLabel field's value.
4699func (s *ApplicationVersionDescription) SetVersionLabel(v string) *ApplicationVersionDescription {
4700	s.VersionLabel = &v
4701	return s
4702}
4703
4704// Result message wrapping a single description of an application version.
4705type ApplicationVersionDescriptionMessage struct {
4706	_ struct{} `type:"structure"`
4707
4708	// The ApplicationVersionDescription of the application version.
4709	ApplicationVersion *ApplicationVersionDescription `type:"structure"`
4710}
4711
4712// String returns the string representation.
4713//
4714// API parameter values that are decorated as "sensitive" in the API will not
4715// be included in the string output. The member name will be present, but the
4716// value will be replaced with "sensitive".
4717func (s ApplicationVersionDescriptionMessage) String() string {
4718	return awsutil.Prettify(s)
4719}
4720
4721// GoString returns the string representation.
4722//
4723// API parameter values that are decorated as "sensitive" in the API will not
4724// be included in the string output. The member name will be present, but the
4725// value will be replaced with "sensitive".
4726func (s ApplicationVersionDescriptionMessage) GoString() string {
4727	return s.String()
4728}
4729
4730// SetApplicationVersion sets the ApplicationVersion field's value.
4731func (s *ApplicationVersionDescriptionMessage) SetApplicationVersion(v *ApplicationVersionDescription) *ApplicationVersionDescriptionMessage {
4732	s.ApplicationVersion = v
4733	return s
4734}
4735
4736// The application version lifecycle settings for an application. Defines the
4737// rules that Elastic Beanstalk applies to an application's versions in order
4738// to avoid hitting the per-region limit for application versions.
4739//
4740// When Elastic Beanstalk deletes an application version from its database,
4741// you can no longer deploy that version to an environment. The source bundle
4742// remains in S3 unless you configure the rule to delete it.
4743type ApplicationVersionLifecycleConfig struct {
4744	_ struct{} `type:"structure"`
4745
4746	// Specify a max age rule to restrict the length of time that application versions
4747	// are retained for an application.
4748	MaxAgeRule *MaxAgeRule `type:"structure"`
4749
4750	// Specify a max count rule to restrict the number of application versions that
4751	// are retained for an application.
4752	MaxCountRule *MaxCountRule `type:"structure"`
4753}
4754
4755// String returns the string representation.
4756//
4757// API parameter values that are decorated as "sensitive" in the API will not
4758// be included in the string output. The member name will be present, but the
4759// value will be replaced with "sensitive".
4760func (s ApplicationVersionLifecycleConfig) String() string {
4761	return awsutil.Prettify(s)
4762}
4763
4764// GoString returns the string representation.
4765//
4766// API parameter values that are decorated as "sensitive" in the API will not
4767// be included in the string output. The member name will be present, but the
4768// value will be replaced with "sensitive".
4769func (s ApplicationVersionLifecycleConfig) GoString() string {
4770	return s.String()
4771}
4772
4773// Validate inspects the fields of the type to determine if they are valid.
4774func (s *ApplicationVersionLifecycleConfig) Validate() error {
4775	invalidParams := request.ErrInvalidParams{Context: "ApplicationVersionLifecycleConfig"}
4776	if s.MaxAgeRule != nil {
4777		if err := s.MaxAgeRule.Validate(); err != nil {
4778			invalidParams.AddNested("MaxAgeRule", err.(request.ErrInvalidParams))
4779		}
4780	}
4781	if s.MaxCountRule != nil {
4782		if err := s.MaxCountRule.Validate(); err != nil {
4783			invalidParams.AddNested("MaxCountRule", err.(request.ErrInvalidParams))
4784		}
4785	}
4786
4787	if invalidParams.Len() > 0 {
4788		return invalidParams
4789	}
4790	return nil
4791}
4792
4793// SetMaxAgeRule sets the MaxAgeRule field's value.
4794func (s *ApplicationVersionLifecycleConfig) SetMaxAgeRule(v *MaxAgeRule) *ApplicationVersionLifecycleConfig {
4795	s.MaxAgeRule = v
4796	return s
4797}
4798
4799// SetMaxCountRule sets the MaxCountRule field's value.
4800func (s *ApplicationVersionLifecycleConfig) SetMaxCountRule(v *MaxCountRule) *ApplicationVersionLifecycleConfig {
4801	s.MaxCountRule = v
4802	return s
4803}
4804
4805// Request to execute a scheduled managed action immediately.
4806type ApplyEnvironmentManagedActionInput struct {
4807	_ struct{} `type:"structure"`
4808
4809	// The action ID of the scheduled managed action to execute.
4810	//
4811	// ActionId is a required field
4812	ActionId *string `type:"string" required:"true"`
4813
4814	// The environment ID of the target environment.
4815	EnvironmentId *string `type:"string"`
4816
4817	// The name of the target environment.
4818	EnvironmentName *string `type:"string"`
4819}
4820
4821// String returns the string representation.
4822//
4823// API parameter values that are decorated as "sensitive" in the API will not
4824// be included in the string output. The member name will be present, but the
4825// value will be replaced with "sensitive".
4826func (s ApplyEnvironmentManagedActionInput) String() string {
4827	return awsutil.Prettify(s)
4828}
4829
4830// GoString returns the string representation.
4831//
4832// API parameter values that are decorated as "sensitive" in the API will not
4833// be included in the string output. The member name will be present, but the
4834// value will be replaced with "sensitive".
4835func (s ApplyEnvironmentManagedActionInput) GoString() string {
4836	return s.String()
4837}
4838
4839// Validate inspects the fields of the type to determine if they are valid.
4840func (s *ApplyEnvironmentManagedActionInput) Validate() error {
4841	invalidParams := request.ErrInvalidParams{Context: "ApplyEnvironmentManagedActionInput"}
4842	if s.ActionId == nil {
4843		invalidParams.Add(request.NewErrParamRequired("ActionId"))
4844	}
4845
4846	if invalidParams.Len() > 0 {
4847		return invalidParams
4848	}
4849	return nil
4850}
4851
4852// SetActionId sets the ActionId field's value.
4853func (s *ApplyEnvironmentManagedActionInput) SetActionId(v string) *ApplyEnvironmentManagedActionInput {
4854	s.ActionId = &v
4855	return s
4856}
4857
4858// SetEnvironmentId sets the EnvironmentId field's value.
4859func (s *ApplyEnvironmentManagedActionInput) SetEnvironmentId(v string) *ApplyEnvironmentManagedActionInput {
4860	s.EnvironmentId = &v
4861	return s
4862}
4863
4864// SetEnvironmentName sets the EnvironmentName field's value.
4865func (s *ApplyEnvironmentManagedActionInput) SetEnvironmentName(v string) *ApplyEnvironmentManagedActionInput {
4866	s.EnvironmentName = &v
4867	return s
4868}
4869
4870// The result message containing information about the managed action.
4871type ApplyEnvironmentManagedActionOutput struct {
4872	_ struct{} `type:"structure"`
4873
4874	// A description of the managed action.
4875	ActionDescription *string `type:"string"`
4876
4877	// The action ID of the managed action.
4878	ActionId *string `type:"string"`
4879
4880	// The type of managed action.
4881	ActionType *string `type:"string" enum:"ActionType"`
4882
4883	// The status of the managed action.
4884	Status *string `type:"string"`
4885}
4886
4887// String returns the string representation.
4888//
4889// API parameter values that are decorated as "sensitive" in the API will not
4890// be included in the string output. The member name will be present, but the
4891// value will be replaced with "sensitive".
4892func (s ApplyEnvironmentManagedActionOutput) String() string {
4893	return awsutil.Prettify(s)
4894}
4895
4896// GoString returns the string representation.
4897//
4898// API parameter values that are decorated as "sensitive" in the API will not
4899// be included in the string output. The member name will be present, but the
4900// value will be replaced with "sensitive".
4901func (s ApplyEnvironmentManagedActionOutput) GoString() string {
4902	return s.String()
4903}
4904
4905// SetActionDescription sets the ActionDescription field's value.
4906func (s *ApplyEnvironmentManagedActionOutput) SetActionDescription(v string) *ApplyEnvironmentManagedActionOutput {
4907	s.ActionDescription = &v
4908	return s
4909}
4910
4911// SetActionId sets the ActionId field's value.
4912func (s *ApplyEnvironmentManagedActionOutput) SetActionId(v string) *ApplyEnvironmentManagedActionOutput {
4913	s.ActionId = &v
4914	return s
4915}
4916
4917// SetActionType sets the ActionType field's value.
4918func (s *ApplyEnvironmentManagedActionOutput) SetActionType(v string) *ApplyEnvironmentManagedActionOutput {
4919	s.ActionType = &v
4920	return s
4921}
4922
4923// SetStatus sets the Status field's value.
4924func (s *ApplyEnvironmentManagedActionOutput) SetStatus(v string) *ApplyEnvironmentManagedActionOutput {
4925	s.Status = &v
4926	return s
4927}
4928
4929// Request to add or change the operations role used by an environment.
4930type AssociateEnvironmentOperationsRoleInput struct {
4931	_ struct{} `type:"structure"`
4932
4933	// The name of the environment to which to set the operations role.
4934	//
4935	// EnvironmentName is a required field
4936	EnvironmentName *string `min:"4" type:"string" required:"true"`
4937
4938	// The Amazon Resource Name (ARN) of an existing IAM role to be used as the
4939	// environment's operations role.
4940	//
4941	// OperationsRole is a required field
4942	OperationsRole *string `min:"1" type:"string" required:"true"`
4943}
4944
4945// String returns the string representation.
4946//
4947// API parameter values that are decorated as "sensitive" in the API will not
4948// be included in the string output. The member name will be present, but the
4949// value will be replaced with "sensitive".
4950func (s AssociateEnvironmentOperationsRoleInput) String() string {
4951	return awsutil.Prettify(s)
4952}
4953
4954// GoString returns the string representation.
4955//
4956// API parameter values that are decorated as "sensitive" in the API will not
4957// be included in the string output. The member name will be present, but the
4958// value will be replaced with "sensitive".
4959func (s AssociateEnvironmentOperationsRoleInput) GoString() string {
4960	return s.String()
4961}
4962
4963// Validate inspects the fields of the type to determine if they are valid.
4964func (s *AssociateEnvironmentOperationsRoleInput) Validate() error {
4965	invalidParams := request.ErrInvalidParams{Context: "AssociateEnvironmentOperationsRoleInput"}
4966	if s.EnvironmentName == nil {
4967		invalidParams.Add(request.NewErrParamRequired("EnvironmentName"))
4968	}
4969	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
4970		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
4971	}
4972	if s.OperationsRole == nil {
4973		invalidParams.Add(request.NewErrParamRequired("OperationsRole"))
4974	}
4975	if s.OperationsRole != nil && len(*s.OperationsRole) < 1 {
4976		invalidParams.Add(request.NewErrParamMinLen("OperationsRole", 1))
4977	}
4978
4979	if invalidParams.Len() > 0 {
4980		return invalidParams
4981	}
4982	return nil
4983}
4984
4985// SetEnvironmentName sets the EnvironmentName field's value.
4986func (s *AssociateEnvironmentOperationsRoleInput) SetEnvironmentName(v string) *AssociateEnvironmentOperationsRoleInput {
4987	s.EnvironmentName = &v
4988	return s
4989}
4990
4991// SetOperationsRole sets the OperationsRole field's value.
4992func (s *AssociateEnvironmentOperationsRoleInput) SetOperationsRole(v string) *AssociateEnvironmentOperationsRoleInput {
4993	s.OperationsRole = &v
4994	return s
4995}
4996
4997type AssociateEnvironmentOperationsRoleOutput struct {
4998	_ struct{} `type:"structure"`
4999}
5000
5001// String returns the string representation.
5002//
5003// API parameter values that are decorated as "sensitive" in the API will not
5004// be included in the string output. The member name will be present, but the
5005// value will be replaced with "sensitive".
5006func (s AssociateEnvironmentOperationsRoleOutput) String() string {
5007	return awsutil.Prettify(s)
5008}
5009
5010// GoString returns the string representation.
5011//
5012// API parameter values that are decorated as "sensitive" in the API will not
5013// be included in the string output. The member name will be present, but the
5014// value will be replaced with "sensitive".
5015func (s AssociateEnvironmentOperationsRoleOutput) GoString() string {
5016	return s.String()
5017}
5018
5019// Describes an Auto Scaling launch configuration.
5020type AutoScalingGroup struct {
5021	_ struct{} `type:"structure"`
5022
5023	// The name of the AutoScalingGroup .
5024	Name *string `type:"string"`
5025}
5026
5027// String returns the string representation.
5028//
5029// API parameter values that are decorated as "sensitive" in the API will not
5030// be included in the string output. The member name will be present, but the
5031// value will be replaced with "sensitive".
5032func (s AutoScalingGroup) String() string {
5033	return awsutil.Prettify(s)
5034}
5035
5036// GoString returns the string representation.
5037//
5038// API parameter values that are decorated as "sensitive" in the API will not
5039// be included in the string output. The member name will be present, but the
5040// value will be replaced with "sensitive".
5041func (s AutoScalingGroup) GoString() string {
5042	return s.String()
5043}
5044
5045// SetName sets the Name field's value.
5046func (s *AutoScalingGroup) SetName(v string) *AutoScalingGroup {
5047	s.Name = &v
5048	return s
5049}
5050
5051// Settings for an AWS CodeBuild build.
5052type BuildConfiguration struct {
5053	_ struct{} `type:"structure"`
5054
5055	// The name of the artifact of the CodeBuild build. If provided, Elastic Beanstalk
5056	// stores the build artifact in the S3 location S3-bucket/resources/application-name/codebuild/codebuild-version-label-artifact-name.zip.
5057	// If not provided, Elastic Beanstalk stores the build artifact in the S3 location
5058	// S3-bucket/resources/application-name/codebuild/codebuild-version-label.zip.
5059	ArtifactName *string `type:"string"`
5060
5061	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
5062	// (IAM) role that enables AWS CodeBuild to interact with dependent AWS services
5063	// on behalf of the AWS account.
5064	//
5065	// CodeBuildServiceRole is a required field
5066	CodeBuildServiceRole *string `type:"string" required:"true"`
5067
5068	// Information about the compute resources the build project will use.
5069	//
5070	//    * BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for builds
5071	//
5072	//    * BUILD_GENERAL1_MEDIUM: Use up to 7 GB memory and 4 vCPUs for builds
5073	//
5074	//    * BUILD_GENERAL1_LARGE: Use up to 15 GB memory and 8 vCPUs for builds
5075	ComputeType *string `type:"string" enum:"ComputeType"`
5076
5077	// The ID of the Docker image to use for this build project.
5078	//
5079	// Image is a required field
5080	Image *string `type:"string" required:"true"`
5081
5082	// How long in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until
5083	// timing out any related build that does not get marked as completed. The default
5084	// is 60 minutes.
5085	TimeoutInMinutes *int64 `type:"integer"`
5086}
5087
5088// String returns the string representation.
5089//
5090// API parameter values that are decorated as "sensitive" in the API will not
5091// be included in the string output. The member name will be present, but the
5092// value will be replaced with "sensitive".
5093func (s BuildConfiguration) String() string {
5094	return awsutil.Prettify(s)
5095}
5096
5097// GoString returns the string representation.
5098//
5099// API parameter values that are decorated as "sensitive" in the API will not
5100// be included in the string output. The member name will be present, but the
5101// value will be replaced with "sensitive".
5102func (s BuildConfiguration) GoString() string {
5103	return s.String()
5104}
5105
5106// Validate inspects the fields of the type to determine if they are valid.
5107func (s *BuildConfiguration) Validate() error {
5108	invalidParams := request.ErrInvalidParams{Context: "BuildConfiguration"}
5109	if s.CodeBuildServiceRole == nil {
5110		invalidParams.Add(request.NewErrParamRequired("CodeBuildServiceRole"))
5111	}
5112	if s.Image == nil {
5113		invalidParams.Add(request.NewErrParamRequired("Image"))
5114	}
5115
5116	if invalidParams.Len() > 0 {
5117		return invalidParams
5118	}
5119	return nil
5120}
5121
5122// SetArtifactName sets the ArtifactName field's value.
5123func (s *BuildConfiguration) SetArtifactName(v string) *BuildConfiguration {
5124	s.ArtifactName = &v
5125	return s
5126}
5127
5128// SetCodeBuildServiceRole sets the CodeBuildServiceRole field's value.
5129func (s *BuildConfiguration) SetCodeBuildServiceRole(v string) *BuildConfiguration {
5130	s.CodeBuildServiceRole = &v
5131	return s
5132}
5133
5134// SetComputeType sets the ComputeType field's value.
5135func (s *BuildConfiguration) SetComputeType(v string) *BuildConfiguration {
5136	s.ComputeType = &v
5137	return s
5138}
5139
5140// SetImage sets the Image field's value.
5141func (s *BuildConfiguration) SetImage(v string) *BuildConfiguration {
5142	s.Image = &v
5143	return s
5144}
5145
5146// SetTimeoutInMinutes sets the TimeoutInMinutes field's value.
5147func (s *BuildConfiguration) SetTimeoutInMinutes(v int64) *BuildConfiguration {
5148	s.TimeoutInMinutes = &v
5149	return s
5150}
5151
5152// The builder used to build the custom platform.
5153type Builder struct {
5154	_ struct{} `type:"structure"`
5155
5156	// The ARN of the builder.
5157	ARN *string `type:"string"`
5158}
5159
5160// String returns the string representation.
5161//
5162// API parameter values that are decorated as "sensitive" in the API will not
5163// be included in the string output. The member name will be present, but the
5164// value will be replaced with "sensitive".
5165func (s Builder) String() string {
5166	return awsutil.Prettify(s)
5167}
5168
5169// GoString returns the string representation.
5170//
5171// API parameter values that are decorated as "sensitive" in the API will not
5172// be included in the string output. The member name will be present, but the
5173// value will be replaced with "sensitive".
5174func (s Builder) GoString() string {
5175	return s.String()
5176}
5177
5178// SetARN sets the ARN field's value.
5179func (s *Builder) SetARN(v string) *Builder {
5180	s.ARN = &v
5181	return s
5182}
5183
5184// CPU utilization metrics for an instance.
5185type CPUUtilization struct {
5186	_ struct{} `type:"structure"`
5187
5188	// Available on Linux environments only.
5189	//
5190	// Percentage of time that the CPU has spent in the I/O Wait state over the
5191	// last 10 seconds.
5192	IOWait *float64 `type:"double"`
5193
5194	// Available on Linux environments only.
5195	//
5196	// Percentage of time that the CPU has spent in the IRQ state over the last
5197	// 10 seconds.
5198	IRQ *float64 `type:"double"`
5199
5200	// Percentage of time that the CPU has spent in the Idle state over the last
5201	// 10 seconds.
5202	Idle *float64 `type:"double"`
5203
5204	// Available on Linux environments only.
5205	//
5206	// Percentage of time that the CPU has spent in the Nice state over the last
5207	// 10 seconds.
5208	Nice *float64 `type:"double"`
5209
5210	// Available on Windows environments only.
5211	//
5212	// Percentage of time that the CPU has spent in the Privileged state over the
5213	// last 10 seconds.
5214	Privileged *float64 `type:"double"`
5215
5216	// Available on Linux environments only.
5217	//
5218	// Percentage of time that the CPU has spent in the SoftIRQ state over the last
5219	// 10 seconds.
5220	SoftIRQ *float64 `type:"double"`
5221
5222	// Available on Linux environments only.
5223	//
5224	// Percentage of time that the CPU has spent in the System state over the last
5225	// 10 seconds.
5226	System *float64 `type:"double"`
5227
5228	// Percentage of time that the CPU has spent in the User state over the last
5229	// 10 seconds.
5230	User *float64 `type:"double"`
5231}
5232
5233// String returns the string representation.
5234//
5235// API parameter values that are decorated as "sensitive" in the API will not
5236// be included in the string output. The member name will be present, but the
5237// value will be replaced with "sensitive".
5238func (s CPUUtilization) String() string {
5239	return awsutil.Prettify(s)
5240}
5241
5242// GoString returns the string representation.
5243//
5244// API parameter values that are decorated as "sensitive" in the API will not
5245// be included in the string output. The member name will be present, but the
5246// value will be replaced with "sensitive".
5247func (s CPUUtilization) GoString() string {
5248	return s.String()
5249}
5250
5251// SetIOWait sets the IOWait field's value.
5252func (s *CPUUtilization) SetIOWait(v float64) *CPUUtilization {
5253	s.IOWait = &v
5254	return s
5255}
5256
5257// SetIRQ sets the IRQ field's value.
5258func (s *CPUUtilization) SetIRQ(v float64) *CPUUtilization {
5259	s.IRQ = &v
5260	return s
5261}
5262
5263// SetIdle sets the Idle field's value.
5264func (s *CPUUtilization) SetIdle(v float64) *CPUUtilization {
5265	s.Idle = &v
5266	return s
5267}
5268
5269// SetNice sets the Nice field's value.
5270func (s *CPUUtilization) SetNice(v float64) *CPUUtilization {
5271	s.Nice = &v
5272	return s
5273}
5274
5275// SetPrivileged sets the Privileged field's value.
5276func (s *CPUUtilization) SetPrivileged(v float64) *CPUUtilization {
5277	s.Privileged = &v
5278	return s
5279}
5280
5281// SetSoftIRQ sets the SoftIRQ field's value.
5282func (s *CPUUtilization) SetSoftIRQ(v float64) *CPUUtilization {
5283	s.SoftIRQ = &v
5284	return s
5285}
5286
5287// SetSystem sets the System field's value.
5288func (s *CPUUtilization) SetSystem(v float64) *CPUUtilization {
5289	s.System = &v
5290	return s
5291}
5292
5293// SetUser sets the User field's value.
5294func (s *CPUUtilization) SetUser(v float64) *CPUUtilization {
5295	s.User = &v
5296	return s
5297}
5298
5299// Results message indicating whether a CNAME is available.
5300type CheckDNSAvailabilityInput struct {
5301	_ struct{} `type:"structure"`
5302
5303	// The prefix used when this CNAME is reserved.
5304	//
5305	// CNAMEPrefix is a required field
5306	CNAMEPrefix *string `min:"4" type:"string" required:"true"`
5307}
5308
5309// String returns the string representation.
5310//
5311// API parameter values that are decorated as "sensitive" in the API will not
5312// be included in the string output. The member name will be present, but the
5313// value will be replaced with "sensitive".
5314func (s CheckDNSAvailabilityInput) String() string {
5315	return awsutil.Prettify(s)
5316}
5317
5318// GoString returns the string representation.
5319//
5320// API parameter values that are decorated as "sensitive" in the API will not
5321// be included in the string output. The member name will be present, but the
5322// value will be replaced with "sensitive".
5323func (s CheckDNSAvailabilityInput) GoString() string {
5324	return s.String()
5325}
5326
5327// Validate inspects the fields of the type to determine if they are valid.
5328func (s *CheckDNSAvailabilityInput) Validate() error {
5329	invalidParams := request.ErrInvalidParams{Context: "CheckDNSAvailabilityInput"}
5330	if s.CNAMEPrefix == nil {
5331		invalidParams.Add(request.NewErrParamRequired("CNAMEPrefix"))
5332	}
5333	if s.CNAMEPrefix != nil && len(*s.CNAMEPrefix) < 4 {
5334		invalidParams.Add(request.NewErrParamMinLen("CNAMEPrefix", 4))
5335	}
5336
5337	if invalidParams.Len() > 0 {
5338		return invalidParams
5339	}
5340	return nil
5341}
5342
5343// SetCNAMEPrefix sets the CNAMEPrefix field's value.
5344func (s *CheckDNSAvailabilityInput) SetCNAMEPrefix(v string) *CheckDNSAvailabilityInput {
5345	s.CNAMEPrefix = &v
5346	return s
5347}
5348
5349// Indicates if the specified CNAME is available.
5350type CheckDNSAvailabilityOutput struct {
5351	_ struct{} `type:"structure"`
5352
5353	// Indicates if the specified CNAME is available:
5354	//
5355	//    * true : The CNAME is available.
5356	//
5357	//    * false : The CNAME is not available.
5358	Available *bool `type:"boolean"`
5359
5360	// The fully qualified CNAME to reserve when CreateEnvironment is called with
5361	// the provided prefix.
5362	FullyQualifiedCNAME *string `min:"1" type:"string"`
5363}
5364
5365// String returns the string representation.
5366//
5367// API parameter values that are decorated as "sensitive" in the API will not
5368// be included in the string output. The member name will be present, but the
5369// value will be replaced with "sensitive".
5370func (s CheckDNSAvailabilityOutput) String() string {
5371	return awsutil.Prettify(s)
5372}
5373
5374// GoString returns the string representation.
5375//
5376// API parameter values that are decorated as "sensitive" in the API will not
5377// be included in the string output. The member name will be present, but the
5378// value will be replaced with "sensitive".
5379func (s CheckDNSAvailabilityOutput) GoString() string {
5380	return s.String()
5381}
5382
5383// SetAvailable sets the Available field's value.
5384func (s *CheckDNSAvailabilityOutput) SetAvailable(v bool) *CheckDNSAvailabilityOutput {
5385	s.Available = &v
5386	return s
5387}
5388
5389// SetFullyQualifiedCNAME sets the FullyQualifiedCNAME field's value.
5390func (s *CheckDNSAvailabilityOutput) SetFullyQualifiedCNAME(v string) *CheckDNSAvailabilityOutput {
5391	s.FullyQualifiedCNAME = &v
5392	return s
5393}
5394
5395// Request to create or update a group of environments.
5396type ComposeEnvironmentsInput struct {
5397	_ struct{} `type:"structure"`
5398
5399	// The name of the application to which the specified source bundles belong.
5400	ApplicationName *string `min:"1" type:"string"`
5401
5402	// The name of the group to which the target environments belong. Specify a
5403	// group name only if the environment name defined in each target environment's
5404	// manifest ends with a + (plus) character. See Environment Manifest (env.yaml)
5405	// (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-cfg-manifest.html)
5406	// for details.
5407	GroupName *string `min:"1" type:"string"`
5408
5409	// A list of version labels, specifying one or more application source bundles
5410	// that belong to the target application. Each source bundle must include an
5411	// environment manifest that specifies the name of the environment and the name
5412	// of the solution stack to use, and optionally can specify environment links
5413	// to create.
5414	VersionLabels []*string `type:"list"`
5415}
5416
5417// String returns the string representation.
5418//
5419// API parameter values that are decorated as "sensitive" in the API will not
5420// be included in the string output. The member name will be present, but the
5421// value will be replaced with "sensitive".
5422func (s ComposeEnvironmentsInput) String() string {
5423	return awsutil.Prettify(s)
5424}
5425
5426// GoString returns the string representation.
5427//
5428// API parameter values that are decorated as "sensitive" in the API will not
5429// be included in the string output. The member name will be present, but the
5430// value will be replaced with "sensitive".
5431func (s ComposeEnvironmentsInput) GoString() string {
5432	return s.String()
5433}
5434
5435// Validate inspects the fields of the type to determine if they are valid.
5436func (s *ComposeEnvironmentsInput) Validate() error {
5437	invalidParams := request.ErrInvalidParams{Context: "ComposeEnvironmentsInput"}
5438	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5439		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5440	}
5441	if s.GroupName != nil && len(*s.GroupName) < 1 {
5442		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
5443	}
5444
5445	if invalidParams.Len() > 0 {
5446		return invalidParams
5447	}
5448	return nil
5449}
5450
5451// SetApplicationName sets the ApplicationName field's value.
5452func (s *ComposeEnvironmentsInput) SetApplicationName(v string) *ComposeEnvironmentsInput {
5453	s.ApplicationName = &v
5454	return s
5455}
5456
5457// SetGroupName sets the GroupName field's value.
5458func (s *ComposeEnvironmentsInput) SetGroupName(v string) *ComposeEnvironmentsInput {
5459	s.GroupName = &v
5460	return s
5461}
5462
5463// SetVersionLabels sets the VersionLabels field's value.
5464func (s *ComposeEnvironmentsInput) SetVersionLabels(v []*string) *ComposeEnvironmentsInput {
5465	s.VersionLabels = v
5466	return s
5467}
5468
5469// Describes the possible values for a configuration option.
5470type ConfigurationOptionDescription struct {
5471	_ struct{} `type:"structure"`
5472
5473	// An indication of which action is required if the value for this configuration
5474	// option changes:
5475	//
5476	//    * NoInterruption : There is no interruption to the environment or application
5477	//    availability.
5478	//
5479	//    * RestartEnvironment : The environment is entirely restarted, all AWS
5480	//    resources are deleted and recreated, and the environment is unavailable
5481	//    during the process.
5482	//
5483	//    * RestartApplicationServer : The environment is available the entire time.
5484	//    However, a short application outage occurs when the application servers
5485	//    on the running Amazon EC2 instances are restarted.
5486	ChangeSeverity *string `type:"string"`
5487
5488	// The default value for this configuration option.
5489	DefaultValue *string `type:"string"`
5490
5491	// If specified, the configuration option must be a string value no longer than
5492	// this value.
5493	MaxLength *int64 `type:"integer"`
5494
5495	// If specified, the configuration option must be a numeric value less than
5496	// this value.
5497	MaxValue *int64 `type:"integer"`
5498
5499	// If specified, the configuration option must be a numeric value greater than
5500	// this value.
5501	MinValue *int64 `type:"integer"`
5502
5503	// The name of the configuration option.
5504	Name *string `type:"string"`
5505
5506	// A unique namespace identifying the option's associated AWS resource.
5507	Namespace *string `type:"string"`
5508
5509	// If specified, the configuration option must be a string value that satisfies
5510	// this regular expression.
5511	Regex *OptionRestrictionRegex `type:"structure"`
5512
5513	// An indication of whether the user defined this configuration option:
5514	//
5515	//    * true : This configuration option was defined by the user. It is a valid
5516	//    choice for specifying if this as an Option to Remove when updating configuration
5517	//    settings.
5518	//
5519	//    * false : This configuration was not defined by the user.
5520	//
5521	// Constraint: You can remove only UserDefined options from a configuration.
5522	//
5523	// Valid Values: true | false
5524	UserDefined *bool `type:"boolean"`
5525
5526	// If specified, values for the configuration option are selected from this
5527	// list.
5528	ValueOptions []*string `type:"list"`
5529
5530	// An indication of which type of values this option has and whether it is allowable
5531	// to select one or more than one of the possible values:
5532	//
5533	//    * Scalar : Values for this option are a single selection from the possible
5534	//    values, or an unformatted string, or numeric value governed by the MIN/MAX/Regex
5535	//    constraints.
5536	//
5537	//    * List : Values for this option are multiple selections from the possible
5538	//    values.
5539	//
5540	//    * Boolean : Values for this option are either true or false .
5541	//
5542	//    * Json : Values for this option are a JSON representation of a ConfigDocument.
5543	ValueType *string `type:"string" enum:"ConfigurationOptionValueType"`
5544}
5545
5546// String returns the string representation.
5547//
5548// API parameter values that are decorated as "sensitive" in the API will not
5549// be included in the string output. The member name will be present, but the
5550// value will be replaced with "sensitive".
5551func (s ConfigurationOptionDescription) String() string {
5552	return awsutil.Prettify(s)
5553}
5554
5555// GoString returns the string representation.
5556//
5557// API parameter values that are decorated as "sensitive" in the API will not
5558// be included in the string output. The member name will be present, but the
5559// value will be replaced with "sensitive".
5560func (s ConfigurationOptionDescription) GoString() string {
5561	return s.String()
5562}
5563
5564// SetChangeSeverity sets the ChangeSeverity field's value.
5565func (s *ConfigurationOptionDescription) SetChangeSeverity(v string) *ConfigurationOptionDescription {
5566	s.ChangeSeverity = &v
5567	return s
5568}
5569
5570// SetDefaultValue sets the DefaultValue field's value.
5571func (s *ConfigurationOptionDescription) SetDefaultValue(v string) *ConfigurationOptionDescription {
5572	s.DefaultValue = &v
5573	return s
5574}
5575
5576// SetMaxLength sets the MaxLength field's value.
5577func (s *ConfigurationOptionDescription) SetMaxLength(v int64) *ConfigurationOptionDescription {
5578	s.MaxLength = &v
5579	return s
5580}
5581
5582// SetMaxValue sets the MaxValue field's value.
5583func (s *ConfigurationOptionDescription) SetMaxValue(v int64) *ConfigurationOptionDescription {
5584	s.MaxValue = &v
5585	return s
5586}
5587
5588// SetMinValue sets the MinValue field's value.
5589func (s *ConfigurationOptionDescription) SetMinValue(v int64) *ConfigurationOptionDescription {
5590	s.MinValue = &v
5591	return s
5592}
5593
5594// SetName sets the Name field's value.
5595func (s *ConfigurationOptionDescription) SetName(v string) *ConfigurationOptionDescription {
5596	s.Name = &v
5597	return s
5598}
5599
5600// SetNamespace sets the Namespace field's value.
5601func (s *ConfigurationOptionDescription) SetNamespace(v string) *ConfigurationOptionDescription {
5602	s.Namespace = &v
5603	return s
5604}
5605
5606// SetRegex sets the Regex field's value.
5607func (s *ConfigurationOptionDescription) SetRegex(v *OptionRestrictionRegex) *ConfigurationOptionDescription {
5608	s.Regex = v
5609	return s
5610}
5611
5612// SetUserDefined sets the UserDefined field's value.
5613func (s *ConfigurationOptionDescription) SetUserDefined(v bool) *ConfigurationOptionDescription {
5614	s.UserDefined = &v
5615	return s
5616}
5617
5618// SetValueOptions sets the ValueOptions field's value.
5619func (s *ConfigurationOptionDescription) SetValueOptions(v []*string) *ConfigurationOptionDescription {
5620	s.ValueOptions = v
5621	return s
5622}
5623
5624// SetValueType sets the ValueType field's value.
5625func (s *ConfigurationOptionDescription) SetValueType(v string) *ConfigurationOptionDescription {
5626	s.ValueType = &v
5627	return s
5628}
5629
5630// A specification identifying an individual configuration option along with
5631// its current value. For a list of possible namespaces and option values, see
5632// Option Values (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options.html)
5633// in the AWS Elastic Beanstalk Developer Guide.
5634type ConfigurationOptionSetting struct {
5635	_ struct{} `type:"structure"`
5636
5637	// A unique namespace that identifies the option's associated AWS resource.
5638	Namespace *string `type:"string"`
5639
5640	// The name of the configuration option.
5641	OptionName *string `type:"string"`
5642
5643	// A unique resource name for the option setting. Use it for a time–based
5644	// scaling configuration option.
5645	ResourceName *string `min:"1" type:"string"`
5646
5647	// The current value for the configuration option.
5648	Value *string `type:"string"`
5649}
5650
5651// String returns the string representation.
5652//
5653// API parameter values that are decorated as "sensitive" in the API will not
5654// be included in the string output. The member name will be present, but the
5655// value will be replaced with "sensitive".
5656func (s ConfigurationOptionSetting) String() string {
5657	return awsutil.Prettify(s)
5658}
5659
5660// GoString returns the string representation.
5661//
5662// API parameter values that are decorated as "sensitive" in the API will not
5663// be included in the string output. The member name will be present, but the
5664// value will be replaced with "sensitive".
5665func (s ConfigurationOptionSetting) GoString() string {
5666	return s.String()
5667}
5668
5669// Validate inspects the fields of the type to determine if they are valid.
5670func (s *ConfigurationOptionSetting) Validate() error {
5671	invalidParams := request.ErrInvalidParams{Context: "ConfigurationOptionSetting"}
5672	if s.ResourceName != nil && len(*s.ResourceName) < 1 {
5673		invalidParams.Add(request.NewErrParamMinLen("ResourceName", 1))
5674	}
5675
5676	if invalidParams.Len() > 0 {
5677		return invalidParams
5678	}
5679	return nil
5680}
5681
5682// SetNamespace sets the Namespace field's value.
5683func (s *ConfigurationOptionSetting) SetNamespace(v string) *ConfigurationOptionSetting {
5684	s.Namespace = &v
5685	return s
5686}
5687
5688// SetOptionName sets the OptionName field's value.
5689func (s *ConfigurationOptionSetting) SetOptionName(v string) *ConfigurationOptionSetting {
5690	s.OptionName = &v
5691	return s
5692}
5693
5694// SetResourceName sets the ResourceName field's value.
5695func (s *ConfigurationOptionSetting) SetResourceName(v string) *ConfigurationOptionSetting {
5696	s.ResourceName = &v
5697	return s
5698}
5699
5700// SetValue sets the Value field's value.
5701func (s *ConfigurationOptionSetting) SetValue(v string) *ConfigurationOptionSetting {
5702	s.Value = &v
5703	return s
5704}
5705
5706// Describes the settings for a configuration set.
5707type ConfigurationSettingsDescription struct {
5708	_ struct{} `type:"structure"`
5709
5710	// The name of the application associated with this configuration set.
5711	ApplicationName *string `min:"1" type:"string"`
5712
5713	// The date (in UTC time) when this configuration set was created.
5714	DateCreated *time.Time `type:"timestamp"`
5715
5716	// The date (in UTC time) when this configuration set was last modified.
5717	DateUpdated *time.Time `type:"timestamp"`
5718
5719	// If this configuration set is associated with an environment, the DeploymentStatus
5720	// parameter indicates the deployment status of this configuration set:
5721	//
5722	//    * null: This configuration is not associated with a running environment.
5723	//
5724	//    * pending: This is a draft configuration that is not deployed to the associated
5725	//    environment but is in the process of deploying.
5726	//
5727	//    * deployed: This is the configuration that is currently deployed to the
5728	//    associated running environment.
5729	//
5730	//    * failed: This is a draft configuration that failed to successfully deploy.
5731	DeploymentStatus *string `type:"string" enum:"ConfigurationDeploymentStatus"`
5732
5733	// Describes this configuration set.
5734	Description *string `type:"string"`
5735
5736	// If not null, the name of the environment for this configuration set.
5737	EnvironmentName *string `min:"4" type:"string"`
5738
5739	// A list of the configuration options and their values in this configuration
5740	// set.
5741	OptionSettings []*ConfigurationOptionSetting `type:"list"`
5742
5743	// The ARN of the platform version.
5744	PlatformArn *string `type:"string"`
5745
5746	// The name of the solution stack this configuration set uses.
5747	SolutionStackName *string `type:"string"`
5748
5749	// If not null, the name of the configuration template for this configuration
5750	// set.
5751	TemplateName *string `min:"1" type:"string"`
5752}
5753
5754// String returns the string representation.
5755//
5756// API parameter values that are decorated as "sensitive" in the API will not
5757// be included in the string output. The member name will be present, but the
5758// value will be replaced with "sensitive".
5759func (s ConfigurationSettingsDescription) String() string {
5760	return awsutil.Prettify(s)
5761}
5762
5763// GoString returns the string representation.
5764//
5765// API parameter values that are decorated as "sensitive" in the API will not
5766// be included in the string output. The member name will be present, but the
5767// value will be replaced with "sensitive".
5768func (s ConfigurationSettingsDescription) GoString() string {
5769	return s.String()
5770}
5771
5772// SetApplicationName sets the ApplicationName field's value.
5773func (s *ConfigurationSettingsDescription) SetApplicationName(v string) *ConfigurationSettingsDescription {
5774	s.ApplicationName = &v
5775	return s
5776}
5777
5778// SetDateCreated sets the DateCreated field's value.
5779func (s *ConfigurationSettingsDescription) SetDateCreated(v time.Time) *ConfigurationSettingsDescription {
5780	s.DateCreated = &v
5781	return s
5782}
5783
5784// SetDateUpdated sets the DateUpdated field's value.
5785func (s *ConfigurationSettingsDescription) SetDateUpdated(v time.Time) *ConfigurationSettingsDescription {
5786	s.DateUpdated = &v
5787	return s
5788}
5789
5790// SetDeploymentStatus sets the DeploymentStatus field's value.
5791func (s *ConfigurationSettingsDescription) SetDeploymentStatus(v string) *ConfigurationSettingsDescription {
5792	s.DeploymentStatus = &v
5793	return s
5794}
5795
5796// SetDescription sets the Description field's value.
5797func (s *ConfigurationSettingsDescription) SetDescription(v string) *ConfigurationSettingsDescription {
5798	s.Description = &v
5799	return s
5800}
5801
5802// SetEnvironmentName sets the EnvironmentName field's value.
5803func (s *ConfigurationSettingsDescription) SetEnvironmentName(v string) *ConfigurationSettingsDescription {
5804	s.EnvironmentName = &v
5805	return s
5806}
5807
5808// SetOptionSettings sets the OptionSettings field's value.
5809func (s *ConfigurationSettingsDescription) SetOptionSettings(v []*ConfigurationOptionSetting) *ConfigurationSettingsDescription {
5810	s.OptionSettings = v
5811	return s
5812}
5813
5814// SetPlatformArn sets the PlatformArn field's value.
5815func (s *ConfigurationSettingsDescription) SetPlatformArn(v string) *ConfigurationSettingsDescription {
5816	s.PlatformArn = &v
5817	return s
5818}
5819
5820// SetSolutionStackName sets the SolutionStackName field's value.
5821func (s *ConfigurationSettingsDescription) SetSolutionStackName(v string) *ConfigurationSettingsDescription {
5822	s.SolutionStackName = &v
5823	return s
5824}
5825
5826// SetTemplateName sets the TemplateName field's value.
5827func (s *ConfigurationSettingsDescription) SetTemplateName(v string) *ConfigurationSettingsDescription {
5828	s.TemplateName = &v
5829	return s
5830}
5831
5832// Request to create an application.
5833type CreateApplicationInput struct {
5834	_ struct{} `type:"structure"`
5835
5836	// The name of the application. Must be unique within your account.
5837	//
5838	// ApplicationName is a required field
5839	ApplicationName *string `min:"1" type:"string" required:"true"`
5840
5841	// Your description of the application.
5842	Description *string `type:"string"`
5843
5844	// Specifies an application resource lifecycle configuration to prevent your
5845	// application from accumulating too many versions.
5846	ResourceLifecycleConfig *ApplicationResourceLifecycleConfig `type:"structure"`
5847
5848	// Specifies the tags applied to the application.
5849	//
5850	// Elastic Beanstalk applies these tags only to the application. Environments
5851	// that you create in the application don't inherit the tags.
5852	Tags []*Tag `type:"list"`
5853}
5854
5855// String returns the string representation.
5856//
5857// API parameter values that are decorated as "sensitive" in the API will not
5858// be included in the string output. The member name will be present, but the
5859// value will be replaced with "sensitive".
5860func (s CreateApplicationInput) String() string {
5861	return awsutil.Prettify(s)
5862}
5863
5864// GoString returns the string representation.
5865//
5866// API parameter values that are decorated as "sensitive" in the API will not
5867// be included in the string output. The member name will be present, but the
5868// value will be replaced with "sensitive".
5869func (s CreateApplicationInput) GoString() string {
5870	return s.String()
5871}
5872
5873// Validate inspects the fields of the type to determine if they are valid.
5874func (s *CreateApplicationInput) Validate() error {
5875	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationInput"}
5876	if s.ApplicationName == nil {
5877		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
5878	}
5879	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
5880		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
5881	}
5882	if s.ResourceLifecycleConfig != nil {
5883		if err := s.ResourceLifecycleConfig.Validate(); err != nil {
5884			invalidParams.AddNested("ResourceLifecycleConfig", err.(request.ErrInvalidParams))
5885		}
5886	}
5887	if s.Tags != nil {
5888		for i, v := range s.Tags {
5889			if v == nil {
5890				continue
5891			}
5892			if err := v.Validate(); err != nil {
5893				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5894			}
5895		}
5896	}
5897
5898	if invalidParams.Len() > 0 {
5899		return invalidParams
5900	}
5901	return nil
5902}
5903
5904// SetApplicationName sets the ApplicationName field's value.
5905func (s *CreateApplicationInput) SetApplicationName(v string) *CreateApplicationInput {
5906	s.ApplicationName = &v
5907	return s
5908}
5909
5910// SetDescription sets the Description field's value.
5911func (s *CreateApplicationInput) SetDescription(v string) *CreateApplicationInput {
5912	s.Description = &v
5913	return s
5914}
5915
5916// SetResourceLifecycleConfig sets the ResourceLifecycleConfig field's value.
5917func (s *CreateApplicationInput) SetResourceLifecycleConfig(v *ApplicationResourceLifecycleConfig) *CreateApplicationInput {
5918	s.ResourceLifecycleConfig = v
5919	return s
5920}
5921
5922// SetTags sets the Tags field's value.
5923func (s *CreateApplicationInput) SetTags(v []*Tag) *CreateApplicationInput {
5924	s.Tags = v
5925	return s
5926}
5927
5928type CreateApplicationVersionInput struct {
5929	_ struct{} `type:"structure"`
5930
5931	// The name of the application. If no application is found with this name, and
5932	// AutoCreateApplication is false, returns an InvalidParameterValue error.
5933	//
5934	// ApplicationName is a required field
5935	ApplicationName *string `min:"1" type:"string" required:"true"`
5936
5937	// Set to true to create an application with the specified name if it doesn't
5938	// already exist.
5939	AutoCreateApplication *bool `type:"boolean"`
5940
5941	// Settings for an AWS CodeBuild build.
5942	BuildConfiguration *BuildConfiguration `type:"structure"`
5943
5944	// A description of this application version.
5945	Description *string `type:"string"`
5946
5947	// Pre-processes and validates the environment manifest (env.yaml) and configuration
5948	// files (*.config files in the .ebextensions folder) in the source bundle.
5949	// Validating configuration files can identify issues prior to deploying the
5950	// application version to an environment.
5951	//
5952	// You must turn processing on for application versions that you create using
5953	// AWS CodeBuild or AWS CodeCommit. For application versions built from a source
5954	// bundle in Amazon S3, processing is optional.
5955	//
5956	// The Process option validates Elastic Beanstalk configuration files. It doesn't
5957	// validate your application's configuration files, like proxy server or Docker
5958	// configuration.
5959	Process *bool `type:"boolean"`
5960
5961	// Specify a commit in an AWS CodeCommit Git repository to use as the source
5962	// code for the application version.
5963	SourceBuildInformation *SourceBuildInformation `type:"structure"`
5964
5965	// The Amazon S3 bucket and key that identify the location of the source bundle
5966	// for this version.
5967	//
5968	// The Amazon S3 bucket must be in the same region as the environment.
5969	//
5970	// Specify a source bundle in S3 or a commit in an AWS CodeCommit repository
5971	// (with SourceBuildInformation), but not both. If neither SourceBundle nor
5972	// SourceBuildInformation are provided, Elastic Beanstalk uses a sample application.
5973	SourceBundle *S3Location `type:"structure"`
5974
5975	// Specifies the tags applied to the application version.
5976	//
5977	// Elastic Beanstalk applies these tags only to the application version. Environments
5978	// that use the application version don't inherit the tags.
5979	Tags []*Tag `type:"list"`
5980
5981	// A label identifying this version.
5982	//
5983	// Constraint: Must be unique per application. If an application version already
5984	// exists with this label for the specified application, AWS Elastic Beanstalk
5985	// returns an InvalidParameterValue error.
5986	//
5987	// VersionLabel is a required field
5988	VersionLabel *string `min:"1" type:"string" required:"true"`
5989}
5990
5991// String returns the string representation.
5992//
5993// API parameter values that are decorated as "sensitive" in the API will not
5994// be included in the string output. The member name will be present, but the
5995// value will be replaced with "sensitive".
5996func (s CreateApplicationVersionInput) String() string {
5997	return awsutil.Prettify(s)
5998}
5999
6000// GoString returns the string representation.
6001//
6002// API parameter values that are decorated as "sensitive" in the API will not
6003// be included in the string output. The member name will be present, but the
6004// value will be replaced with "sensitive".
6005func (s CreateApplicationVersionInput) GoString() string {
6006	return s.String()
6007}
6008
6009// Validate inspects the fields of the type to determine if they are valid.
6010func (s *CreateApplicationVersionInput) Validate() error {
6011	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationVersionInput"}
6012	if s.ApplicationName == nil {
6013		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
6014	}
6015	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
6016		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
6017	}
6018	if s.VersionLabel == nil {
6019		invalidParams.Add(request.NewErrParamRequired("VersionLabel"))
6020	}
6021	if s.VersionLabel != nil && len(*s.VersionLabel) < 1 {
6022		invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1))
6023	}
6024	if s.BuildConfiguration != nil {
6025		if err := s.BuildConfiguration.Validate(); err != nil {
6026			invalidParams.AddNested("BuildConfiguration", err.(request.ErrInvalidParams))
6027		}
6028	}
6029	if s.SourceBuildInformation != nil {
6030		if err := s.SourceBuildInformation.Validate(); err != nil {
6031			invalidParams.AddNested("SourceBuildInformation", err.(request.ErrInvalidParams))
6032		}
6033	}
6034	if s.Tags != nil {
6035		for i, v := range s.Tags {
6036			if v == nil {
6037				continue
6038			}
6039			if err := v.Validate(); err != nil {
6040				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6041			}
6042		}
6043	}
6044
6045	if invalidParams.Len() > 0 {
6046		return invalidParams
6047	}
6048	return nil
6049}
6050
6051// SetApplicationName sets the ApplicationName field's value.
6052func (s *CreateApplicationVersionInput) SetApplicationName(v string) *CreateApplicationVersionInput {
6053	s.ApplicationName = &v
6054	return s
6055}
6056
6057// SetAutoCreateApplication sets the AutoCreateApplication field's value.
6058func (s *CreateApplicationVersionInput) SetAutoCreateApplication(v bool) *CreateApplicationVersionInput {
6059	s.AutoCreateApplication = &v
6060	return s
6061}
6062
6063// SetBuildConfiguration sets the BuildConfiguration field's value.
6064func (s *CreateApplicationVersionInput) SetBuildConfiguration(v *BuildConfiguration) *CreateApplicationVersionInput {
6065	s.BuildConfiguration = v
6066	return s
6067}
6068
6069// SetDescription sets the Description field's value.
6070func (s *CreateApplicationVersionInput) SetDescription(v string) *CreateApplicationVersionInput {
6071	s.Description = &v
6072	return s
6073}
6074
6075// SetProcess sets the Process field's value.
6076func (s *CreateApplicationVersionInput) SetProcess(v bool) *CreateApplicationVersionInput {
6077	s.Process = &v
6078	return s
6079}
6080
6081// SetSourceBuildInformation sets the SourceBuildInformation field's value.
6082func (s *CreateApplicationVersionInput) SetSourceBuildInformation(v *SourceBuildInformation) *CreateApplicationVersionInput {
6083	s.SourceBuildInformation = v
6084	return s
6085}
6086
6087// SetSourceBundle sets the SourceBundle field's value.
6088func (s *CreateApplicationVersionInput) SetSourceBundle(v *S3Location) *CreateApplicationVersionInput {
6089	s.SourceBundle = v
6090	return s
6091}
6092
6093// SetTags sets the Tags field's value.
6094func (s *CreateApplicationVersionInput) SetTags(v []*Tag) *CreateApplicationVersionInput {
6095	s.Tags = v
6096	return s
6097}
6098
6099// SetVersionLabel sets the VersionLabel field's value.
6100func (s *CreateApplicationVersionInput) SetVersionLabel(v string) *CreateApplicationVersionInput {
6101	s.VersionLabel = &v
6102	return s
6103}
6104
6105// Request to create a configuration template.
6106type CreateConfigurationTemplateInput struct {
6107	_ struct{} `type:"structure"`
6108
6109	// The name of the Elastic Beanstalk application to associate with this configuration
6110	// template.
6111	//
6112	// ApplicationName is a required field
6113	ApplicationName *string `min:"1" type:"string" required:"true"`
6114
6115	// An optional description for this configuration.
6116	Description *string `type:"string"`
6117
6118	// The ID of an environment whose settings you want to use to create the configuration
6119	// template. You must specify EnvironmentId if you don't specify PlatformArn,
6120	// SolutionStackName, or SourceConfiguration.
6121	EnvironmentId *string `type:"string"`
6122
6123	// Option values for the Elastic Beanstalk configuration, such as the instance
6124	// type. If specified, these values override the values obtained from the solution
6125	// stack or the source configuration template. For a complete list of Elastic
6126	// Beanstalk configuration options, see Option Values (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options.html)
6127	// in the AWS Elastic Beanstalk Developer Guide.
6128	OptionSettings []*ConfigurationOptionSetting `type:"list"`
6129
6130	// The Amazon Resource Name (ARN) of the custom platform. For more information,
6131	// see Custom Platforms (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/custom-platforms.html)
6132	// in the AWS Elastic Beanstalk Developer Guide.
6133	//
6134	// If you specify PlatformArn, then don't specify SolutionStackName.
6135	PlatformArn *string `type:"string"`
6136
6137	// The name of an Elastic Beanstalk solution stack (platform version) that this
6138	// configuration uses. For example, 64bit Amazon Linux 2013.09 running Tomcat
6139	// 7 Java 7. A solution stack specifies the operating system, runtime, and application
6140	// server for a configuration template. It also determines the set of configuration
6141	// options as well as the possible and default values. For more information,
6142	// see Supported Platforms (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.platforms.html)
6143	// in the AWS Elastic Beanstalk Developer Guide.
6144	//
6145	// You must specify SolutionStackName if you don't specify PlatformArn, EnvironmentId,
6146	// or SourceConfiguration.
6147	//
6148	// Use the ListAvailableSolutionStacks (https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_ListAvailableSolutionStacks.html)
6149	// API to obtain a list of available solution stacks.
6150	SolutionStackName *string `type:"string"`
6151
6152	// An Elastic Beanstalk configuration template to base this one on. If specified,
6153	// Elastic Beanstalk uses the configuration values from the specified configuration
6154	// template to create a new configuration.
6155	//
6156	// Values specified in OptionSettings override any values obtained from the
6157	// SourceConfiguration.
6158	//
6159	// You must specify SourceConfiguration if you don't specify PlatformArn, EnvironmentId,
6160	// or SolutionStackName.
6161	//
6162	// Constraint: If both solution stack name and source configuration are specified,
6163	// the solution stack of the source configuration template must match the specified
6164	// solution stack name.
6165	SourceConfiguration *SourceConfiguration `type:"structure"`
6166
6167	// Specifies the tags applied to the configuration template.
6168	Tags []*Tag `type:"list"`
6169
6170	// The name of the configuration template.
6171	//
6172	// Constraint: This name must be unique per application.
6173	//
6174	// TemplateName is a required field
6175	TemplateName *string `min:"1" type:"string" required:"true"`
6176}
6177
6178// String returns the string representation.
6179//
6180// API parameter values that are decorated as "sensitive" in the API will not
6181// be included in the string output. The member name will be present, but the
6182// value will be replaced with "sensitive".
6183func (s CreateConfigurationTemplateInput) String() string {
6184	return awsutil.Prettify(s)
6185}
6186
6187// GoString returns the string representation.
6188//
6189// API parameter values that are decorated as "sensitive" in the API will not
6190// be included in the string output. The member name will be present, but the
6191// value will be replaced with "sensitive".
6192func (s CreateConfigurationTemplateInput) GoString() string {
6193	return s.String()
6194}
6195
6196// Validate inspects the fields of the type to determine if they are valid.
6197func (s *CreateConfigurationTemplateInput) Validate() error {
6198	invalidParams := request.ErrInvalidParams{Context: "CreateConfigurationTemplateInput"}
6199	if s.ApplicationName == nil {
6200		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
6201	}
6202	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
6203		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
6204	}
6205	if s.TemplateName == nil {
6206		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
6207	}
6208	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
6209		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
6210	}
6211	if s.OptionSettings != nil {
6212		for i, v := range s.OptionSettings {
6213			if v == nil {
6214				continue
6215			}
6216			if err := v.Validate(); err != nil {
6217				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionSettings", i), err.(request.ErrInvalidParams))
6218			}
6219		}
6220	}
6221	if s.SourceConfiguration != nil {
6222		if err := s.SourceConfiguration.Validate(); err != nil {
6223			invalidParams.AddNested("SourceConfiguration", err.(request.ErrInvalidParams))
6224		}
6225	}
6226	if s.Tags != nil {
6227		for i, v := range s.Tags {
6228			if v == nil {
6229				continue
6230			}
6231			if err := v.Validate(); err != nil {
6232				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6233			}
6234		}
6235	}
6236
6237	if invalidParams.Len() > 0 {
6238		return invalidParams
6239	}
6240	return nil
6241}
6242
6243// SetApplicationName sets the ApplicationName field's value.
6244func (s *CreateConfigurationTemplateInput) SetApplicationName(v string) *CreateConfigurationTemplateInput {
6245	s.ApplicationName = &v
6246	return s
6247}
6248
6249// SetDescription sets the Description field's value.
6250func (s *CreateConfigurationTemplateInput) SetDescription(v string) *CreateConfigurationTemplateInput {
6251	s.Description = &v
6252	return s
6253}
6254
6255// SetEnvironmentId sets the EnvironmentId field's value.
6256func (s *CreateConfigurationTemplateInput) SetEnvironmentId(v string) *CreateConfigurationTemplateInput {
6257	s.EnvironmentId = &v
6258	return s
6259}
6260
6261// SetOptionSettings sets the OptionSettings field's value.
6262func (s *CreateConfigurationTemplateInput) SetOptionSettings(v []*ConfigurationOptionSetting) *CreateConfigurationTemplateInput {
6263	s.OptionSettings = v
6264	return s
6265}
6266
6267// SetPlatformArn sets the PlatformArn field's value.
6268func (s *CreateConfigurationTemplateInput) SetPlatformArn(v string) *CreateConfigurationTemplateInput {
6269	s.PlatformArn = &v
6270	return s
6271}
6272
6273// SetSolutionStackName sets the SolutionStackName field's value.
6274func (s *CreateConfigurationTemplateInput) SetSolutionStackName(v string) *CreateConfigurationTemplateInput {
6275	s.SolutionStackName = &v
6276	return s
6277}
6278
6279// SetSourceConfiguration sets the SourceConfiguration field's value.
6280func (s *CreateConfigurationTemplateInput) SetSourceConfiguration(v *SourceConfiguration) *CreateConfigurationTemplateInput {
6281	s.SourceConfiguration = v
6282	return s
6283}
6284
6285// SetTags sets the Tags field's value.
6286func (s *CreateConfigurationTemplateInput) SetTags(v []*Tag) *CreateConfigurationTemplateInput {
6287	s.Tags = v
6288	return s
6289}
6290
6291// SetTemplateName sets the TemplateName field's value.
6292func (s *CreateConfigurationTemplateInput) SetTemplateName(v string) *CreateConfigurationTemplateInput {
6293	s.TemplateName = &v
6294	return s
6295}
6296
6297type CreateEnvironmentInput struct {
6298	_ struct{} `type:"structure"`
6299
6300	// The name of the application that is associated with this environment.
6301	//
6302	// ApplicationName is a required field
6303	ApplicationName *string `min:"1" type:"string" required:"true"`
6304
6305	// If specified, the environment attempts to use this value as the prefix for
6306	// the CNAME in your Elastic Beanstalk environment URL. If not specified, the
6307	// CNAME is generated automatically by appending a random alphanumeric string
6308	// to the environment name.
6309	CNAMEPrefix *string `min:"4" type:"string"`
6310
6311	// Your description for this environment.
6312	Description *string `type:"string"`
6313
6314	// A unique name for the environment.
6315	//
6316	// Constraint: Must be from 4 to 40 characters in length. The name can contain
6317	// only letters, numbers, and hyphens. It can't start or end with a hyphen.
6318	// This name must be unique within a region in your account. If the specified
6319	// name already exists in the region, Elastic Beanstalk returns an InvalidParameterValue
6320	// error.
6321	//
6322	// If you don't specify the CNAMEPrefix parameter, the environment name becomes
6323	// part of the CNAME, and therefore part of the visible URL for your application.
6324	EnvironmentName *string `min:"4" type:"string"`
6325
6326	// The name of the group to which the target environment belongs. Specify a
6327	// group name only if the environment's name is specified in an environment
6328	// manifest and not with the environment name parameter. See Environment Manifest
6329	// (env.yaml) (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-cfg-manifest.html)
6330	// for details.
6331	GroupName *string `min:"1" type:"string"`
6332
6333	// The Amazon Resource Name (ARN) of an existing IAM role to be used as the
6334	// environment's operations role. If specified, Elastic Beanstalk uses the operations
6335	// role for permissions to downstream services during this call and during subsequent
6336	// calls acting on this environment. To specify an operations role, you must
6337	// have the iam:PassRole permission for the role. For more information, see
6338	// Operations roles (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/iam-operationsrole.html)
6339	// in the AWS Elastic Beanstalk Developer Guide.
6340	OperationsRole *string `min:"1" type:"string"`
6341
6342	// If specified, AWS Elastic Beanstalk sets the specified configuration options
6343	// to the requested value in the configuration set for the new environment.
6344	// These override the values obtained from the solution stack or the configuration
6345	// template.
6346	OptionSettings []*ConfigurationOptionSetting `type:"list"`
6347
6348	// A list of custom user-defined configuration options to remove from the configuration
6349	// set for this new environment.
6350	OptionsToRemove []*OptionSpecification `type:"list"`
6351
6352	// The Amazon Resource Name (ARN) of the custom platform to use with the environment.
6353	// For more information, see Custom Platforms (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/custom-platforms.html)
6354	// in the AWS Elastic Beanstalk Developer Guide.
6355	//
6356	// If you specify PlatformArn, don't specify SolutionStackName.
6357	PlatformArn *string `type:"string"`
6358
6359	// The name of an Elastic Beanstalk solution stack (platform version) to use
6360	// with the environment. If specified, Elastic Beanstalk sets the configuration
6361	// values to the default values associated with the specified solution stack.
6362	// For a list of current solution stacks, see Elastic Beanstalk Supported Platforms
6363	// (https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html)
6364	// in the AWS Elastic Beanstalk Platforms guide.
6365	//
6366	// If you specify SolutionStackName, don't specify PlatformArn or TemplateName.
6367	SolutionStackName *string `type:"string"`
6368
6369	// Specifies the tags applied to resources in the environment.
6370	Tags []*Tag `type:"list"`
6371
6372	// The name of the Elastic Beanstalk configuration template to use with the
6373	// environment.
6374	//
6375	// If you specify TemplateName, then don't specify SolutionStackName.
6376	TemplateName *string `min:"1" type:"string"`
6377
6378	// Specifies the tier to use in creating this environment. The environment tier
6379	// that you choose determines whether Elastic Beanstalk provisions resources
6380	// to support a web application that handles HTTP(S) requests or a web application
6381	// that handles background-processing tasks.
6382	Tier *EnvironmentTier `type:"structure"`
6383
6384	// The name of the application version to deploy.
6385	//
6386	// Default: If not specified, Elastic Beanstalk attempts to deploy the sample
6387	// application.
6388	VersionLabel *string `min:"1" type:"string"`
6389}
6390
6391// String returns the string representation.
6392//
6393// API parameter values that are decorated as "sensitive" in the API will not
6394// be included in the string output. The member name will be present, but the
6395// value will be replaced with "sensitive".
6396func (s CreateEnvironmentInput) String() string {
6397	return awsutil.Prettify(s)
6398}
6399
6400// GoString returns the string representation.
6401//
6402// API parameter values that are decorated as "sensitive" in the API will not
6403// be included in the string output. The member name will be present, but the
6404// value will be replaced with "sensitive".
6405func (s CreateEnvironmentInput) GoString() string {
6406	return s.String()
6407}
6408
6409// Validate inspects the fields of the type to determine if they are valid.
6410func (s *CreateEnvironmentInput) Validate() error {
6411	invalidParams := request.ErrInvalidParams{Context: "CreateEnvironmentInput"}
6412	if s.ApplicationName == nil {
6413		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
6414	}
6415	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
6416		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
6417	}
6418	if s.CNAMEPrefix != nil && len(*s.CNAMEPrefix) < 4 {
6419		invalidParams.Add(request.NewErrParamMinLen("CNAMEPrefix", 4))
6420	}
6421	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
6422		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
6423	}
6424	if s.GroupName != nil && len(*s.GroupName) < 1 {
6425		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
6426	}
6427	if s.OperationsRole != nil && len(*s.OperationsRole) < 1 {
6428		invalidParams.Add(request.NewErrParamMinLen("OperationsRole", 1))
6429	}
6430	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
6431		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
6432	}
6433	if s.VersionLabel != nil && len(*s.VersionLabel) < 1 {
6434		invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1))
6435	}
6436	if s.OptionSettings != nil {
6437		for i, v := range s.OptionSettings {
6438			if v == nil {
6439				continue
6440			}
6441			if err := v.Validate(); err != nil {
6442				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionSettings", i), err.(request.ErrInvalidParams))
6443			}
6444		}
6445	}
6446	if s.OptionsToRemove != nil {
6447		for i, v := range s.OptionsToRemove {
6448			if v == nil {
6449				continue
6450			}
6451			if err := v.Validate(); err != nil {
6452				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionsToRemove", i), err.(request.ErrInvalidParams))
6453			}
6454		}
6455	}
6456	if s.Tags != nil {
6457		for i, v := range s.Tags {
6458			if v == nil {
6459				continue
6460			}
6461			if err := v.Validate(); err != nil {
6462				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6463			}
6464		}
6465	}
6466
6467	if invalidParams.Len() > 0 {
6468		return invalidParams
6469	}
6470	return nil
6471}
6472
6473// SetApplicationName sets the ApplicationName field's value.
6474func (s *CreateEnvironmentInput) SetApplicationName(v string) *CreateEnvironmentInput {
6475	s.ApplicationName = &v
6476	return s
6477}
6478
6479// SetCNAMEPrefix sets the CNAMEPrefix field's value.
6480func (s *CreateEnvironmentInput) SetCNAMEPrefix(v string) *CreateEnvironmentInput {
6481	s.CNAMEPrefix = &v
6482	return s
6483}
6484
6485// SetDescription sets the Description field's value.
6486func (s *CreateEnvironmentInput) SetDescription(v string) *CreateEnvironmentInput {
6487	s.Description = &v
6488	return s
6489}
6490
6491// SetEnvironmentName sets the EnvironmentName field's value.
6492func (s *CreateEnvironmentInput) SetEnvironmentName(v string) *CreateEnvironmentInput {
6493	s.EnvironmentName = &v
6494	return s
6495}
6496
6497// SetGroupName sets the GroupName field's value.
6498func (s *CreateEnvironmentInput) SetGroupName(v string) *CreateEnvironmentInput {
6499	s.GroupName = &v
6500	return s
6501}
6502
6503// SetOperationsRole sets the OperationsRole field's value.
6504func (s *CreateEnvironmentInput) SetOperationsRole(v string) *CreateEnvironmentInput {
6505	s.OperationsRole = &v
6506	return s
6507}
6508
6509// SetOptionSettings sets the OptionSettings field's value.
6510func (s *CreateEnvironmentInput) SetOptionSettings(v []*ConfigurationOptionSetting) *CreateEnvironmentInput {
6511	s.OptionSettings = v
6512	return s
6513}
6514
6515// SetOptionsToRemove sets the OptionsToRemove field's value.
6516func (s *CreateEnvironmentInput) SetOptionsToRemove(v []*OptionSpecification) *CreateEnvironmentInput {
6517	s.OptionsToRemove = v
6518	return s
6519}
6520
6521// SetPlatformArn sets the PlatformArn field's value.
6522func (s *CreateEnvironmentInput) SetPlatformArn(v string) *CreateEnvironmentInput {
6523	s.PlatformArn = &v
6524	return s
6525}
6526
6527// SetSolutionStackName sets the SolutionStackName field's value.
6528func (s *CreateEnvironmentInput) SetSolutionStackName(v string) *CreateEnvironmentInput {
6529	s.SolutionStackName = &v
6530	return s
6531}
6532
6533// SetTags sets the Tags field's value.
6534func (s *CreateEnvironmentInput) SetTags(v []*Tag) *CreateEnvironmentInput {
6535	s.Tags = v
6536	return s
6537}
6538
6539// SetTemplateName sets the TemplateName field's value.
6540func (s *CreateEnvironmentInput) SetTemplateName(v string) *CreateEnvironmentInput {
6541	s.TemplateName = &v
6542	return s
6543}
6544
6545// SetTier sets the Tier field's value.
6546func (s *CreateEnvironmentInput) SetTier(v *EnvironmentTier) *CreateEnvironmentInput {
6547	s.Tier = v
6548	return s
6549}
6550
6551// SetVersionLabel sets the VersionLabel field's value.
6552func (s *CreateEnvironmentInput) SetVersionLabel(v string) *CreateEnvironmentInput {
6553	s.VersionLabel = &v
6554	return s
6555}
6556
6557// Request to create a new platform version.
6558type CreatePlatformVersionInput struct {
6559	_ struct{} `type:"structure"`
6560
6561	// The name of the builder environment.
6562	EnvironmentName *string `min:"4" type:"string"`
6563
6564	// The configuration option settings to apply to the builder environment.
6565	OptionSettings []*ConfigurationOptionSetting `type:"list"`
6566
6567	// The location of the platform definition archive in Amazon S3.
6568	//
6569	// PlatformDefinitionBundle is a required field
6570	PlatformDefinitionBundle *S3Location `type:"structure" required:"true"`
6571
6572	// The name of your custom platform.
6573	//
6574	// PlatformName is a required field
6575	PlatformName *string `type:"string" required:"true"`
6576
6577	// The number, such as 1.0.2, for the new platform version.
6578	//
6579	// PlatformVersion is a required field
6580	PlatformVersion *string `type:"string" required:"true"`
6581
6582	// Specifies the tags applied to the new platform version.
6583	//
6584	// Elastic Beanstalk applies these tags only to the platform version. Environments
6585	// that you create using the platform version don't inherit the tags.
6586	Tags []*Tag `type:"list"`
6587}
6588
6589// String returns the string representation.
6590//
6591// API parameter values that are decorated as "sensitive" in the API will not
6592// be included in the string output. The member name will be present, but the
6593// value will be replaced with "sensitive".
6594func (s CreatePlatformVersionInput) String() string {
6595	return awsutil.Prettify(s)
6596}
6597
6598// GoString returns the string representation.
6599//
6600// API parameter values that are decorated as "sensitive" in the API will not
6601// be included in the string output. The member name will be present, but the
6602// value will be replaced with "sensitive".
6603func (s CreatePlatformVersionInput) GoString() string {
6604	return s.String()
6605}
6606
6607// Validate inspects the fields of the type to determine if they are valid.
6608func (s *CreatePlatformVersionInput) Validate() error {
6609	invalidParams := request.ErrInvalidParams{Context: "CreatePlatformVersionInput"}
6610	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
6611		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
6612	}
6613	if s.PlatformDefinitionBundle == nil {
6614		invalidParams.Add(request.NewErrParamRequired("PlatformDefinitionBundle"))
6615	}
6616	if s.PlatformName == nil {
6617		invalidParams.Add(request.NewErrParamRequired("PlatformName"))
6618	}
6619	if s.PlatformVersion == nil {
6620		invalidParams.Add(request.NewErrParamRequired("PlatformVersion"))
6621	}
6622	if s.OptionSettings != nil {
6623		for i, v := range s.OptionSettings {
6624			if v == nil {
6625				continue
6626			}
6627			if err := v.Validate(); err != nil {
6628				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionSettings", i), err.(request.ErrInvalidParams))
6629			}
6630		}
6631	}
6632	if s.Tags != nil {
6633		for i, v := range s.Tags {
6634			if v == nil {
6635				continue
6636			}
6637			if err := v.Validate(); err != nil {
6638				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
6639			}
6640		}
6641	}
6642
6643	if invalidParams.Len() > 0 {
6644		return invalidParams
6645	}
6646	return nil
6647}
6648
6649// SetEnvironmentName sets the EnvironmentName field's value.
6650func (s *CreatePlatformVersionInput) SetEnvironmentName(v string) *CreatePlatformVersionInput {
6651	s.EnvironmentName = &v
6652	return s
6653}
6654
6655// SetOptionSettings sets the OptionSettings field's value.
6656func (s *CreatePlatformVersionInput) SetOptionSettings(v []*ConfigurationOptionSetting) *CreatePlatformVersionInput {
6657	s.OptionSettings = v
6658	return s
6659}
6660
6661// SetPlatformDefinitionBundle sets the PlatformDefinitionBundle field's value.
6662func (s *CreatePlatformVersionInput) SetPlatformDefinitionBundle(v *S3Location) *CreatePlatformVersionInput {
6663	s.PlatformDefinitionBundle = v
6664	return s
6665}
6666
6667// SetPlatformName sets the PlatformName field's value.
6668func (s *CreatePlatformVersionInput) SetPlatformName(v string) *CreatePlatformVersionInput {
6669	s.PlatformName = &v
6670	return s
6671}
6672
6673// SetPlatformVersion sets the PlatformVersion field's value.
6674func (s *CreatePlatformVersionInput) SetPlatformVersion(v string) *CreatePlatformVersionInput {
6675	s.PlatformVersion = &v
6676	return s
6677}
6678
6679// SetTags sets the Tags field's value.
6680func (s *CreatePlatformVersionInput) SetTags(v []*Tag) *CreatePlatformVersionInput {
6681	s.Tags = v
6682	return s
6683}
6684
6685type CreatePlatformVersionOutput struct {
6686	_ struct{} `type:"structure"`
6687
6688	// The builder used to create the custom platform.
6689	Builder *Builder `type:"structure"`
6690
6691	// Detailed information about the new version of the custom platform.
6692	PlatformSummary *PlatformSummary `type:"structure"`
6693}
6694
6695// String returns the string representation.
6696//
6697// API parameter values that are decorated as "sensitive" in the API will not
6698// be included in the string output. The member name will be present, but the
6699// value will be replaced with "sensitive".
6700func (s CreatePlatformVersionOutput) String() string {
6701	return awsutil.Prettify(s)
6702}
6703
6704// GoString returns the string representation.
6705//
6706// API parameter values that are decorated as "sensitive" in the API will not
6707// be included in the string output. The member name will be present, but the
6708// value will be replaced with "sensitive".
6709func (s CreatePlatformVersionOutput) GoString() string {
6710	return s.String()
6711}
6712
6713// SetBuilder sets the Builder field's value.
6714func (s *CreatePlatformVersionOutput) SetBuilder(v *Builder) *CreatePlatformVersionOutput {
6715	s.Builder = v
6716	return s
6717}
6718
6719// SetPlatformSummary sets the PlatformSummary field's value.
6720func (s *CreatePlatformVersionOutput) SetPlatformSummary(v *PlatformSummary) *CreatePlatformVersionOutput {
6721	s.PlatformSummary = v
6722	return s
6723}
6724
6725type CreateStorageLocationInput struct {
6726	_ struct{} `type:"structure"`
6727}
6728
6729// String returns the string representation.
6730//
6731// API parameter values that are decorated as "sensitive" in the API will not
6732// be included in the string output. The member name will be present, but the
6733// value will be replaced with "sensitive".
6734func (s CreateStorageLocationInput) String() string {
6735	return awsutil.Prettify(s)
6736}
6737
6738// GoString returns the string representation.
6739//
6740// API parameter values that are decorated as "sensitive" in the API will not
6741// be included in the string output. The member name will be present, but the
6742// value will be replaced with "sensitive".
6743func (s CreateStorageLocationInput) GoString() string {
6744	return s.String()
6745}
6746
6747// Results of a CreateStorageLocationResult call.
6748type CreateStorageLocationOutput struct {
6749	_ struct{} `type:"structure"`
6750
6751	// The name of the Amazon S3 bucket created.
6752	S3Bucket *string `type:"string"`
6753}
6754
6755// String returns the string representation.
6756//
6757// API parameter values that are decorated as "sensitive" in the API will not
6758// be included in the string output. The member name will be present, but the
6759// value will be replaced with "sensitive".
6760func (s CreateStorageLocationOutput) String() string {
6761	return awsutil.Prettify(s)
6762}
6763
6764// GoString returns the string representation.
6765//
6766// API parameter values that are decorated as "sensitive" in the API will not
6767// be included in the string output. The member name will be present, but the
6768// value will be replaced with "sensitive".
6769func (s CreateStorageLocationOutput) GoString() string {
6770	return s.String()
6771}
6772
6773// SetS3Bucket sets the S3Bucket field's value.
6774func (s *CreateStorageLocationOutput) SetS3Bucket(v string) *CreateStorageLocationOutput {
6775	s.S3Bucket = &v
6776	return s
6777}
6778
6779// A custom AMI available to platforms.
6780type CustomAmi struct {
6781	_ struct{} `type:"structure"`
6782
6783	// THe ID of the image used to create the custom AMI.
6784	ImageId *string `type:"string"`
6785
6786	// The type of virtualization used to create the custom AMI.
6787	VirtualizationType *string `type:"string"`
6788}
6789
6790// String returns the string representation.
6791//
6792// API parameter values that are decorated as "sensitive" in the API will not
6793// be included in the string output. The member name will be present, but the
6794// value will be replaced with "sensitive".
6795func (s CustomAmi) String() string {
6796	return awsutil.Prettify(s)
6797}
6798
6799// GoString returns the string representation.
6800//
6801// API parameter values that are decorated as "sensitive" in the API will not
6802// be included in the string output. The member name will be present, but the
6803// value will be replaced with "sensitive".
6804func (s CustomAmi) GoString() string {
6805	return s.String()
6806}
6807
6808// SetImageId sets the ImageId field's value.
6809func (s *CustomAmi) SetImageId(v string) *CustomAmi {
6810	s.ImageId = &v
6811	return s
6812}
6813
6814// SetVirtualizationType sets the VirtualizationType field's value.
6815func (s *CustomAmi) SetVirtualizationType(v string) *CustomAmi {
6816	s.VirtualizationType = &v
6817	return s
6818}
6819
6820// Request to delete an application.
6821type DeleteApplicationInput struct {
6822	_ struct{} `type:"structure"`
6823
6824	// The name of the application to delete.
6825	//
6826	// ApplicationName is a required field
6827	ApplicationName *string `min:"1" type:"string" required:"true"`
6828
6829	// When set to true, running environments will be terminated before deleting
6830	// the application.
6831	TerminateEnvByForce *bool `type:"boolean"`
6832}
6833
6834// String returns the string representation.
6835//
6836// API parameter values that are decorated as "sensitive" in the API will not
6837// be included in the string output. The member name will be present, but the
6838// value will be replaced with "sensitive".
6839func (s DeleteApplicationInput) String() string {
6840	return awsutil.Prettify(s)
6841}
6842
6843// GoString returns the string representation.
6844//
6845// API parameter values that are decorated as "sensitive" in the API will not
6846// be included in the string output. The member name will be present, but the
6847// value will be replaced with "sensitive".
6848func (s DeleteApplicationInput) GoString() string {
6849	return s.String()
6850}
6851
6852// Validate inspects the fields of the type to determine if they are valid.
6853func (s *DeleteApplicationInput) Validate() error {
6854	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationInput"}
6855	if s.ApplicationName == nil {
6856		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
6857	}
6858	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
6859		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
6860	}
6861
6862	if invalidParams.Len() > 0 {
6863		return invalidParams
6864	}
6865	return nil
6866}
6867
6868// SetApplicationName sets the ApplicationName field's value.
6869func (s *DeleteApplicationInput) SetApplicationName(v string) *DeleteApplicationInput {
6870	s.ApplicationName = &v
6871	return s
6872}
6873
6874// SetTerminateEnvByForce sets the TerminateEnvByForce field's value.
6875func (s *DeleteApplicationInput) SetTerminateEnvByForce(v bool) *DeleteApplicationInput {
6876	s.TerminateEnvByForce = &v
6877	return s
6878}
6879
6880type DeleteApplicationOutput struct {
6881	_ struct{} `type:"structure"`
6882}
6883
6884// String returns the string representation.
6885//
6886// API parameter values that are decorated as "sensitive" in the API will not
6887// be included in the string output. The member name will be present, but the
6888// value will be replaced with "sensitive".
6889func (s DeleteApplicationOutput) String() string {
6890	return awsutil.Prettify(s)
6891}
6892
6893// GoString returns the string representation.
6894//
6895// API parameter values that are decorated as "sensitive" in the API will not
6896// be included in the string output. The member name will be present, but the
6897// value will be replaced with "sensitive".
6898func (s DeleteApplicationOutput) GoString() string {
6899	return s.String()
6900}
6901
6902// Request to delete an application version.
6903type DeleteApplicationVersionInput struct {
6904	_ struct{} `type:"structure"`
6905
6906	// The name of the application to which the version belongs.
6907	//
6908	// ApplicationName is a required field
6909	ApplicationName *string `min:"1" type:"string" required:"true"`
6910
6911	// Set to true to delete the source bundle from your storage bucket. Otherwise,
6912	// the application version is deleted only from Elastic Beanstalk and the source
6913	// bundle remains in Amazon S3.
6914	DeleteSourceBundle *bool `type:"boolean"`
6915
6916	// The label of the version to delete.
6917	//
6918	// VersionLabel is a required field
6919	VersionLabel *string `min:"1" type:"string" required:"true"`
6920}
6921
6922// String returns the string representation.
6923//
6924// API parameter values that are decorated as "sensitive" in the API will not
6925// be included in the string output. The member name will be present, but the
6926// value will be replaced with "sensitive".
6927func (s DeleteApplicationVersionInput) String() string {
6928	return awsutil.Prettify(s)
6929}
6930
6931// GoString returns the string representation.
6932//
6933// API parameter values that are decorated as "sensitive" in the API will not
6934// be included in the string output. The member name will be present, but the
6935// value will be replaced with "sensitive".
6936func (s DeleteApplicationVersionInput) GoString() string {
6937	return s.String()
6938}
6939
6940// Validate inspects the fields of the type to determine if they are valid.
6941func (s *DeleteApplicationVersionInput) Validate() error {
6942	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationVersionInput"}
6943	if s.ApplicationName == nil {
6944		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
6945	}
6946	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
6947		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
6948	}
6949	if s.VersionLabel == nil {
6950		invalidParams.Add(request.NewErrParamRequired("VersionLabel"))
6951	}
6952	if s.VersionLabel != nil && len(*s.VersionLabel) < 1 {
6953		invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1))
6954	}
6955
6956	if invalidParams.Len() > 0 {
6957		return invalidParams
6958	}
6959	return nil
6960}
6961
6962// SetApplicationName sets the ApplicationName field's value.
6963func (s *DeleteApplicationVersionInput) SetApplicationName(v string) *DeleteApplicationVersionInput {
6964	s.ApplicationName = &v
6965	return s
6966}
6967
6968// SetDeleteSourceBundle sets the DeleteSourceBundle field's value.
6969func (s *DeleteApplicationVersionInput) SetDeleteSourceBundle(v bool) *DeleteApplicationVersionInput {
6970	s.DeleteSourceBundle = &v
6971	return s
6972}
6973
6974// SetVersionLabel sets the VersionLabel field's value.
6975func (s *DeleteApplicationVersionInput) SetVersionLabel(v string) *DeleteApplicationVersionInput {
6976	s.VersionLabel = &v
6977	return s
6978}
6979
6980type DeleteApplicationVersionOutput struct {
6981	_ struct{} `type:"structure"`
6982}
6983
6984// String returns the string representation.
6985//
6986// API parameter values that are decorated as "sensitive" in the API will not
6987// be included in the string output. The member name will be present, but the
6988// value will be replaced with "sensitive".
6989func (s DeleteApplicationVersionOutput) String() string {
6990	return awsutil.Prettify(s)
6991}
6992
6993// GoString returns the string representation.
6994//
6995// API parameter values that are decorated as "sensitive" in the API will not
6996// be included in the string output. The member name will be present, but the
6997// value will be replaced with "sensitive".
6998func (s DeleteApplicationVersionOutput) GoString() string {
6999	return s.String()
7000}
7001
7002// Request to delete a configuration template.
7003type DeleteConfigurationTemplateInput struct {
7004	_ struct{} `type:"structure"`
7005
7006	// The name of the application to delete the configuration template from.
7007	//
7008	// ApplicationName is a required field
7009	ApplicationName *string `min:"1" type:"string" required:"true"`
7010
7011	// The name of the configuration template to delete.
7012	//
7013	// TemplateName is a required field
7014	TemplateName *string `min:"1" type:"string" required:"true"`
7015}
7016
7017// String returns the string representation.
7018//
7019// API parameter values that are decorated as "sensitive" in the API will not
7020// be included in the string output. The member name will be present, but the
7021// value will be replaced with "sensitive".
7022func (s DeleteConfigurationTemplateInput) String() string {
7023	return awsutil.Prettify(s)
7024}
7025
7026// GoString returns the string representation.
7027//
7028// API parameter values that are decorated as "sensitive" in the API will not
7029// be included in the string output. The member name will be present, but the
7030// value will be replaced with "sensitive".
7031func (s DeleteConfigurationTemplateInput) GoString() string {
7032	return s.String()
7033}
7034
7035// Validate inspects the fields of the type to determine if they are valid.
7036func (s *DeleteConfigurationTemplateInput) Validate() error {
7037	invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationTemplateInput"}
7038	if s.ApplicationName == nil {
7039		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
7040	}
7041	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
7042		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
7043	}
7044	if s.TemplateName == nil {
7045		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
7046	}
7047	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
7048		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
7049	}
7050
7051	if invalidParams.Len() > 0 {
7052		return invalidParams
7053	}
7054	return nil
7055}
7056
7057// SetApplicationName sets the ApplicationName field's value.
7058func (s *DeleteConfigurationTemplateInput) SetApplicationName(v string) *DeleteConfigurationTemplateInput {
7059	s.ApplicationName = &v
7060	return s
7061}
7062
7063// SetTemplateName sets the TemplateName field's value.
7064func (s *DeleteConfigurationTemplateInput) SetTemplateName(v string) *DeleteConfigurationTemplateInput {
7065	s.TemplateName = &v
7066	return s
7067}
7068
7069type DeleteConfigurationTemplateOutput struct {
7070	_ struct{} `type:"structure"`
7071}
7072
7073// String returns the string representation.
7074//
7075// API parameter values that are decorated as "sensitive" in the API will not
7076// be included in the string output. The member name will be present, but the
7077// value will be replaced with "sensitive".
7078func (s DeleteConfigurationTemplateOutput) String() string {
7079	return awsutil.Prettify(s)
7080}
7081
7082// GoString returns the string representation.
7083//
7084// API parameter values that are decorated as "sensitive" in the API will not
7085// be included in the string output. The member name will be present, but the
7086// value will be replaced with "sensitive".
7087func (s DeleteConfigurationTemplateOutput) GoString() string {
7088	return s.String()
7089}
7090
7091// Request to delete a draft environment configuration.
7092type DeleteEnvironmentConfigurationInput struct {
7093	_ struct{} `type:"structure"`
7094
7095	// The name of the application the environment is associated with.
7096	//
7097	// ApplicationName is a required field
7098	ApplicationName *string `min:"1" type:"string" required:"true"`
7099
7100	// The name of the environment to delete the draft configuration from.
7101	//
7102	// EnvironmentName is a required field
7103	EnvironmentName *string `min:"4" type:"string" required:"true"`
7104}
7105
7106// String returns the string representation.
7107//
7108// API parameter values that are decorated as "sensitive" in the API will not
7109// be included in the string output. The member name will be present, but the
7110// value will be replaced with "sensitive".
7111func (s DeleteEnvironmentConfigurationInput) String() string {
7112	return awsutil.Prettify(s)
7113}
7114
7115// GoString returns the string representation.
7116//
7117// API parameter values that are decorated as "sensitive" in the API will not
7118// be included in the string output. The member name will be present, but the
7119// value will be replaced with "sensitive".
7120func (s DeleteEnvironmentConfigurationInput) GoString() string {
7121	return s.String()
7122}
7123
7124// Validate inspects the fields of the type to determine if they are valid.
7125func (s *DeleteEnvironmentConfigurationInput) Validate() error {
7126	invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentConfigurationInput"}
7127	if s.ApplicationName == nil {
7128		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
7129	}
7130	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
7131		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
7132	}
7133	if s.EnvironmentName == nil {
7134		invalidParams.Add(request.NewErrParamRequired("EnvironmentName"))
7135	}
7136	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
7137		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
7138	}
7139
7140	if invalidParams.Len() > 0 {
7141		return invalidParams
7142	}
7143	return nil
7144}
7145
7146// SetApplicationName sets the ApplicationName field's value.
7147func (s *DeleteEnvironmentConfigurationInput) SetApplicationName(v string) *DeleteEnvironmentConfigurationInput {
7148	s.ApplicationName = &v
7149	return s
7150}
7151
7152// SetEnvironmentName sets the EnvironmentName field's value.
7153func (s *DeleteEnvironmentConfigurationInput) SetEnvironmentName(v string) *DeleteEnvironmentConfigurationInput {
7154	s.EnvironmentName = &v
7155	return s
7156}
7157
7158type DeleteEnvironmentConfigurationOutput struct {
7159	_ struct{} `type:"structure"`
7160}
7161
7162// String returns the string representation.
7163//
7164// API parameter values that are decorated as "sensitive" in the API will not
7165// be included in the string output. The member name will be present, but the
7166// value will be replaced with "sensitive".
7167func (s DeleteEnvironmentConfigurationOutput) String() string {
7168	return awsutil.Prettify(s)
7169}
7170
7171// GoString returns the string representation.
7172//
7173// API parameter values that are decorated as "sensitive" in the API will not
7174// be included in the string output. The member name will be present, but the
7175// value will be replaced with "sensitive".
7176func (s DeleteEnvironmentConfigurationOutput) GoString() string {
7177	return s.String()
7178}
7179
7180type DeletePlatformVersionInput struct {
7181	_ struct{} `type:"structure"`
7182
7183	// The ARN of the version of the custom platform.
7184	PlatformArn *string `type:"string"`
7185}
7186
7187// String returns the string representation.
7188//
7189// API parameter values that are decorated as "sensitive" in the API will not
7190// be included in the string output. The member name will be present, but the
7191// value will be replaced with "sensitive".
7192func (s DeletePlatformVersionInput) String() string {
7193	return awsutil.Prettify(s)
7194}
7195
7196// GoString returns the string representation.
7197//
7198// API parameter values that are decorated as "sensitive" in the API will not
7199// be included in the string output. The member name will be present, but the
7200// value will be replaced with "sensitive".
7201func (s DeletePlatformVersionInput) GoString() string {
7202	return s.String()
7203}
7204
7205// SetPlatformArn sets the PlatformArn field's value.
7206func (s *DeletePlatformVersionInput) SetPlatformArn(v string) *DeletePlatformVersionInput {
7207	s.PlatformArn = &v
7208	return s
7209}
7210
7211type DeletePlatformVersionOutput struct {
7212	_ struct{} `type:"structure"`
7213
7214	// Detailed information about the version of the custom platform.
7215	PlatformSummary *PlatformSummary `type:"structure"`
7216}
7217
7218// String returns the string representation.
7219//
7220// API parameter values that are decorated as "sensitive" in the API will not
7221// be included in the string output. The member name will be present, but the
7222// value will be replaced with "sensitive".
7223func (s DeletePlatformVersionOutput) String() string {
7224	return awsutil.Prettify(s)
7225}
7226
7227// GoString returns the string representation.
7228//
7229// API parameter values that are decorated as "sensitive" in the API will not
7230// be included in the string output. The member name will be present, but the
7231// value will be replaced with "sensitive".
7232func (s DeletePlatformVersionOutput) GoString() string {
7233	return s.String()
7234}
7235
7236// SetPlatformSummary sets the PlatformSummary field's value.
7237func (s *DeletePlatformVersionOutput) SetPlatformSummary(v *PlatformSummary) *DeletePlatformVersionOutput {
7238	s.PlatformSummary = v
7239	return s
7240}
7241
7242// Information about an application version deployment.
7243type Deployment struct {
7244	_ struct{} `type:"structure"`
7245
7246	// The ID of the deployment. This number increases by one each time that you
7247	// deploy source code or change instance configuration settings.
7248	DeploymentId *int64 `type:"long"`
7249
7250	// For in-progress deployments, the time that the deployment started.
7251	//
7252	// For completed deployments, the time that the deployment ended.
7253	DeploymentTime *time.Time `type:"timestamp"`
7254
7255	// The status of the deployment:
7256	//
7257	//    * In Progress : The deployment is in progress.
7258	//
7259	//    * Deployed : The deployment succeeded.
7260	//
7261	//    * Failed : The deployment failed.
7262	Status *string `type:"string"`
7263
7264	// The version label of the application version in the deployment.
7265	VersionLabel *string `type:"string"`
7266}
7267
7268// String returns the string representation.
7269//
7270// API parameter values that are decorated as "sensitive" in the API will not
7271// be included in the string output. The member name will be present, but the
7272// value will be replaced with "sensitive".
7273func (s Deployment) String() string {
7274	return awsutil.Prettify(s)
7275}
7276
7277// GoString returns the string representation.
7278//
7279// API parameter values that are decorated as "sensitive" in the API will not
7280// be included in the string output. The member name will be present, but the
7281// value will be replaced with "sensitive".
7282func (s Deployment) GoString() string {
7283	return s.String()
7284}
7285
7286// SetDeploymentId sets the DeploymentId field's value.
7287func (s *Deployment) SetDeploymentId(v int64) *Deployment {
7288	s.DeploymentId = &v
7289	return s
7290}
7291
7292// SetDeploymentTime sets the DeploymentTime field's value.
7293func (s *Deployment) SetDeploymentTime(v time.Time) *Deployment {
7294	s.DeploymentTime = &v
7295	return s
7296}
7297
7298// SetStatus sets the Status field's value.
7299func (s *Deployment) SetStatus(v string) *Deployment {
7300	s.Status = &v
7301	return s
7302}
7303
7304// SetVersionLabel sets the VersionLabel field's value.
7305func (s *Deployment) SetVersionLabel(v string) *Deployment {
7306	s.VersionLabel = &v
7307	return s
7308}
7309
7310type DescribeAccountAttributesInput struct {
7311	_ struct{} `type:"structure"`
7312}
7313
7314// String returns the string representation.
7315//
7316// API parameter values that are decorated as "sensitive" in the API will not
7317// be included in the string output. The member name will be present, but the
7318// value will be replaced with "sensitive".
7319func (s DescribeAccountAttributesInput) String() string {
7320	return awsutil.Prettify(s)
7321}
7322
7323// GoString returns the string representation.
7324//
7325// API parameter values that are decorated as "sensitive" in the API will not
7326// be included in the string output. The member name will be present, but the
7327// value will be replaced with "sensitive".
7328func (s DescribeAccountAttributesInput) GoString() string {
7329	return s.String()
7330}
7331
7332type DescribeAccountAttributesOutput struct {
7333	_ struct{} `type:"structure"`
7334
7335	// The Elastic Beanstalk resource quotas associated with the calling AWS account.
7336	ResourceQuotas *ResourceQuotas `type:"structure"`
7337}
7338
7339// String returns the string representation.
7340//
7341// API parameter values that are decorated as "sensitive" in the API will not
7342// be included in the string output. The member name will be present, but the
7343// value will be replaced with "sensitive".
7344func (s DescribeAccountAttributesOutput) String() string {
7345	return awsutil.Prettify(s)
7346}
7347
7348// GoString returns the string representation.
7349//
7350// API parameter values that are decorated as "sensitive" in the API will not
7351// be included in the string output. The member name will be present, but the
7352// value will be replaced with "sensitive".
7353func (s DescribeAccountAttributesOutput) GoString() string {
7354	return s.String()
7355}
7356
7357// SetResourceQuotas sets the ResourceQuotas field's value.
7358func (s *DescribeAccountAttributesOutput) SetResourceQuotas(v *ResourceQuotas) *DescribeAccountAttributesOutput {
7359	s.ResourceQuotas = v
7360	return s
7361}
7362
7363// Request to describe application versions.
7364type DescribeApplicationVersionsInput struct {
7365	_ struct{} `type:"structure"`
7366
7367	// Specify an application name to show only application versions for that application.
7368	ApplicationName *string `min:"1" type:"string"`
7369
7370	// For a paginated request. Specify a maximum number of application versions
7371	// to include in each response.
7372	//
7373	// If no MaxRecords is specified, all available application versions are retrieved
7374	// in a single response.
7375	MaxRecords *int64 `min:"1" type:"integer"`
7376
7377	// For a paginated request. Specify a token from a previous response page to
7378	// retrieve the next response page. All other parameter values must be identical
7379	// to the ones specified in the initial request.
7380	//
7381	// If no NextToken is specified, the first page is retrieved.
7382	NextToken *string `type:"string"`
7383
7384	// Specify a version label to show a specific application version.
7385	VersionLabels []*string `type:"list"`
7386}
7387
7388// String returns the string representation.
7389//
7390// API parameter values that are decorated as "sensitive" in the API will not
7391// be included in the string output. The member name will be present, but the
7392// value will be replaced with "sensitive".
7393func (s DescribeApplicationVersionsInput) String() string {
7394	return awsutil.Prettify(s)
7395}
7396
7397// GoString returns the string representation.
7398//
7399// API parameter values that are decorated as "sensitive" in the API will not
7400// be included in the string output. The member name will be present, but the
7401// value will be replaced with "sensitive".
7402func (s DescribeApplicationVersionsInput) GoString() string {
7403	return s.String()
7404}
7405
7406// Validate inspects the fields of the type to determine if they are valid.
7407func (s *DescribeApplicationVersionsInput) Validate() error {
7408	invalidParams := request.ErrInvalidParams{Context: "DescribeApplicationVersionsInput"}
7409	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
7410		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
7411	}
7412	if s.MaxRecords != nil && *s.MaxRecords < 1 {
7413		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 1))
7414	}
7415
7416	if invalidParams.Len() > 0 {
7417		return invalidParams
7418	}
7419	return nil
7420}
7421
7422// SetApplicationName sets the ApplicationName field's value.
7423func (s *DescribeApplicationVersionsInput) SetApplicationName(v string) *DescribeApplicationVersionsInput {
7424	s.ApplicationName = &v
7425	return s
7426}
7427
7428// SetMaxRecords sets the MaxRecords field's value.
7429func (s *DescribeApplicationVersionsInput) SetMaxRecords(v int64) *DescribeApplicationVersionsInput {
7430	s.MaxRecords = &v
7431	return s
7432}
7433
7434// SetNextToken sets the NextToken field's value.
7435func (s *DescribeApplicationVersionsInput) SetNextToken(v string) *DescribeApplicationVersionsInput {
7436	s.NextToken = &v
7437	return s
7438}
7439
7440// SetVersionLabels sets the VersionLabels field's value.
7441func (s *DescribeApplicationVersionsInput) SetVersionLabels(v []*string) *DescribeApplicationVersionsInput {
7442	s.VersionLabels = v
7443	return s
7444}
7445
7446// Result message wrapping a list of application version descriptions.
7447type DescribeApplicationVersionsOutput struct {
7448	_ struct{} `type:"structure"`
7449
7450	// List of ApplicationVersionDescription objects sorted in order of creation.
7451	ApplicationVersions []*ApplicationVersionDescription `type:"list"`
7452
7453	// In a paginated request, the token that you can pass in a subsequent request
7454	// to get the next response page.
7455	NextToken *string `type:"string"`
7456}
7457
7458// String returns the string representation.
7459//
7460// API parameter values that are decorated as "sensitive" in the API will not
7461// be included in the string output. The member name will be present, but the
7462// value will be replaced with "sensitive".
7463func (s DescribeApplicationVersionsOutput) String() string {
7464	return awsutil.Prettify(s)
7465}
7466
7467// GoString returns the string representation.
7468//
7469// API parameter values that are decorated as "sensitive" in the API will not
7470// be included in the string output. The member name will be present, but the
7471// value will be replaced with "sensitive".
7472func (s DescribeApplicationVersionsOutput) GoString() string {
7473	return s.String()
7474}
7475
7476// SetApplicationVersions sets the ApplicationVersions field's value.
7477func (s *DescribeApplicationVersionsOutput) SetApplicationVersions(v []*ApplicationVersionDescription) *DescribeApplicationVersionsOutput {
7478	s.ApplicationVersions = v
7479	return s
7480}
7481
7482// SetNextToken sets the NextToken field's value.
7483func (s *DescribeApplicationVersionsOutput) SetNextToken(v string) *DescribeApplicationVersionsOutput {
7484	s.NextToken = &v
7485	return s
7486}
7487
7488// Request to describe one or more applications.
7489type DescribeApplicationsInput struct {
7490	_ struct{} `type:"structure"`
7491
7492	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
7493	// only include those with the specified names.
7494	ApplicationNames []*string `type:"list"`
7495}
7496
7497// String returns the string representation.
7498//
7499// API parameter values that are decorated as "sensitive" in the API will not
7500// be included in the string output. The member name will be present, but the
7501// value will be replaced with "sensitive".
7502func (s DescribeApplicationsInput) String() string {
7503	return awsutil.Prettify(s)
7504}
7505
7506// GoString returns the string representation.
7507//
7508// API parameter values that are decorated as "sensitive" in the API will not
7509// be included in the string output. The member name will be present, but the
7510// value will be replaced with "sensitive".
7511func (s DescribeApplicationsInput) GoString() string {
7512	return s.String()
7513}
7514
7515// SetApplicationNames sets the ApplicationNames field's value.
7516func (s *DescribeApplicationsInput) SetApplicationNames(v []*string) *DescribeApplicationsInput {
7517	s.ApplicationNames = v
7518	return s
7519}
7520
7521// Result message containing a list of application descriptions.
7522type DescribeApplicationsOutput struct {
7523	_ struct{} `type:"structure"`
7524
7525	// This parameter contains a list of ApplicationDescription.
7526	Applications []*ApplicationDescription `type:"list"`
7527}
7528
7529// String returns the string representation.
7530//
7531// API parameter values that are decorated as "sensitive" in the API will not
7532// be included in the string output. The member name will be present, but the
7533// value will be replaced with "sensitive".
7534func (s DescribeApplicationsOutput) String() string {
7535	return awsutil.Prettify(s)
7536}
7537
7538// GoString returns the string representation.
7539//
7540// API parameter values that are decorated as "sensitive" in the API will not
7541// be included in the string output. The member name will be present, but the
7542// value will be replaced with "sensitive".
7543func (s DescribeApplicationsOutput) GoString() string {
7544	return s.String()
7545}
7546
7547// SetApplications sets the Applications field's value.
7548func (s *DescribeApplicationsOutput) SetApplications(v []*ApplicationDescription) *DescribeApplicationsOutput {
7549	s.Applications = v
7550	return s
7551}
7552
7553// Result message containing a list of application version descriptions.
7554type DescribeConfigurationOptionsInput struct {
7555	_ struct{} `type:"structure"`
7556
7557	// The name of the application associated with the configuration template or
7558	// environment. Only needed if you want to describe the configuration options
7559	// associated with either the configuration template or environment.
7560	ApplicationName *string `min:"1" type:"string"`
7561
7562	// The name of the environment whose configuration options you want to describe.
7563	EnvironmentName *string `min:"4" type:"string"`
7564
7565	// If specified, restricts the descriptions to only the specified options.
7566	Options []*OptionSpecification `type:"list"`
7567
7568	// The ARN of the custom platform.
7569	PlatformArn *string `type:"string"`
7570
7571	// The name of the solution stack whose configuration options you want to describe.
7572	SolutionStackName *string `type:"string"`
7573
7574	// The name of the configuration template whose configuration options you want
7575	// to describe.
7576	TemplateName *string `min:"1" type:"string"`
7577}
7578
7579// String returns the string representation.
7580//
7581// API parameter values that are decorated as "sensitive" in the API will not
7582// be included in the string output. The member name will be present, but the
7583// value will be replaced with "sensitive".
7584func (s DescribeConfigurationOptionsInput) String() string {
7585	return awsutil.Prettify(s)
7586}
7587
7588// GoString returns the string representation.
7589//
7590// API parameter values that are decorated as "sensitive" in the API will not
7591// be included in the string output. The member name will be present, but the
7592// value will be replaced with "sensitive".
7593func (s DescribeConfigurationOptionsInput) GoString() string {
7594	return s.String()
7595}
7596
7597// Validate inspects the fields of the type to determine if they are valid.
7598func (s *DescribeConfigurationOptionsInput) Validate() error {
7599	invalidParams := request.ErrInvalidParams{Context: "DescribeConfigurationOptionsInput"}
7600	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
7601		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
7602	}
7603	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
7604		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
7605	}
7606	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
7607		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
7608	}
7609	if s.Options != nil {
7610		for i, v := range s.Options {
7611			if v == nil {
7612				continue
7613			}
7614			if err := v.Validate(); err != nil {
7615				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Options", i), err.(request.ErrInvalidParams))
7616			}
7617		}
7618	}
7619
7620	if invalidParams.Len() > 0 {
7621		return invalidParams
7622	}
7623	return nil
7624}
7625
7626// SetApplicationName sets the ApplicationName field's value.
7627func (s *DescribeConfigurationOptionsInput) SetApplicationName(v string) *DescribeConfigurationOptionsInput {
7628	s.ApplicationName = &v
7629	return s
7630}
7631
7632// SetEnvironmentName sets the EnvironmentName field's value.
7633func (s *DescribeConfigurationOptionsInput) SetEnvironmentName(v string) *DescribeConfigurationOptionsInput {
7634	s.EnvironmentName = &v
7635	return s
7636}
7637
7638// SetOptions sets the Options field's value.
7639func (s *DescribeConfigurationOptionsInput) SetOptions(v []*OptionSpecification) *DescribeConfigurationOptionsInput {
7640	s.Options = v
7641	return s
7642}
7643
7644// SetPlatformArn sets the PlatformArn field's value.
7645func (s *DescribeConfigurationOptionsInput) SetPlatformArn(v string) *DescribeConfigurationOptionsInput {
7646	s.PlatformArn = &v
7647	return s
7648}
7649
7650// SetSolutionStackName sets the SolutionStackName field's value.
7651func (s *DescribeConfigurationOptionsInput) SetSolutionStackName(v string) *DescribeConfigurationOptionsInput {
7652	s.SolutionStackName = &v
7653	return s
7654}
7655
7656// SetTemplateName sets the TemplateName field's value.
7657func (s *DescribeConfigurationOptionsInput) SetTemplateName(v string) *DescribeConfigurationOptionsInput {
7658	s.TemplateName = &v
7659	return s
7660}
7661
7662// Describes the settings for a specified configuration set.
7663type DescribeConfigurationOptionsOutput struct {
7664	_ struct{} `type:"structure"`
7665
7666	// A list of ConfigurationOptionDescription.
7667	Options []*ConfigurationOptionDescription `type:"list"`
7668
7669	// The ARN of the platform version.
7670	PlatformArn *string `type:"string"`
7671
7672	// The name of the solution stack these configuration options belong to.
7673	SolutionStackName *string `type:"string"`
7674}
7675
7676// String returns the string representation.
7677//
7678// API parameter values that are decorated as "sensitive" in the API will not
7679// be included in the string output. The member name will be present, but the
7680// value will be replaced with "sensitive".
7681func (s DescribeConfigurationOptionsOutput) String() string {
7682	return awsutil.Prettify(s)
7683}
7684
7685// GoString returns the string representation.
7686//
7687// API parameter values that are decorated as "sensitive" in the API will not
7688// be included in the string output. The member name will be present, but the
7689// value will be replaced with "sensitive".
7690func (s DescribeConfigurationOptionsOutput) GoString() string {
7691	return s.String()
7692}
7693
7694// SetOptions sets the Options field's value.
7695func (s *DescribeConfigurationOptionsOutput) SetOptions(v []*ConfigurationOptionDescription) *DescribeConfigurationOptionsOutput {
7696	s.Options = v
7697	return s
7698}
7699
7700// SetPlatformArn sets the PlatformArn field's value.
7701func (s *DescribeConfigurationOptionsOutput) SetPlatformArn(v string) *DescribeConfigurationOptionsOutput {
7702	s.PlatformArn = &v
7703	return s
7704}
7705
7706// SetSolutionStackName sets the SolutionStackName field's value.
7707func (s *DescribeConfigurationOptionsOutput) SetSolutionStackName(v string) *DescribeConfigurationOptionsOutput {
7708	s.SolutionStackName = &v
7709	return s
7710}
7711
7712// Result message containing all of the configuration settings for a specified
7713// solution stack or configuration template.
7714type DescribeConfigurationSettingsInput struct {
7715	_ struct{} `type:"structure"`
7716
7717	// The application for the environment or configuration template.
7718	//
7719	// ApplicationName is a required field
7720	ApplicationName *string `min:"1" type:"string" required:"true"`
7721
7722	// The name of the environment to describe.
7723	//
7724	// Condition: You must specify either this or a TemplateName, but not both.
7725	// If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination
7726	// error. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
7727	// error.
7728	EnvironmentName *string `min:"4" type:"string"`
7729
7730	// The name of the configuration template to describe.
7731	//
7732	// Conditional: You must specify either this parameter or an EnvironmentName,
7733	// but not both. If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination
7734	// error. If you do not specify either, AWS Elastic Beanstalk returns a MissingRequiredParameter
7735	// error.
7736	TemplateName *string `min:"1" type:"string"`
7737}
7738
7739// String returns the string representation.
7740//
7741// API parameter values that are decorated as "sensitive" in the API will not
7742// be included in the string output. The member name will be present, but the
7743// value will be replaced with "sensitive".
7744func (s DescribeConfigurationSettingsInput) String() string {
7745	return awsutil.Prettify(s)
7746}
7747
7748// GoString returns the string representation.
7749//
7750// API parameter values that are decorated as "sensitive" in the API will not
7751// be included in the string output. The member name will be present, but the
7752// value will be replaced with "sensitive".
7753func (s DescribeConfigurationSettingsInput) GoString() string {
7754	return s.String()
7755}
7756
7757// Validate inspects the fields of the type to determine if they are valid.
7758func (s *DescribeConfigurationSettingsInput) Validate() error {
7759	invalidParams := request.ErrInvalidParams{Context: "DescribeConfigurationSettingsInput"}
7760	if s.ApplicationName == nil {
7761		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
7762	}
7763	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
7764		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
7765	}
7766	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
7767		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
7768	}
7769	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
7770		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
7771	}
7772
7773	if invalidParams.Len() > 0 {
7774		return invalidParams
7775	}
7776	return nil
7777}
7778
7779// SetApplicationName sets the ApplicationName field's value.
7780func (s *DescribeConfigurationSettingsInput) SetApplicationName(v string) *DescribeConfigurationSettingsInput {
7781	s.ApplicationName = &v
7782	return s
7783}
7784
7785// SetEnvironmentName sets the EnvironmentName field's value.
7786func (s *DescribeConfigurationSettingsInput) SetEnvironmentName(v string) *DescribeConfigurationSettingsInput {
7787	s.EnvironmentName = &v
7788	return s
7789}
7790
7791// SetTemplateName sets the TemplateName field's value.
7792func (s *DescribeConfigurationSettingsInput) SetTemplateName(v string) *DescribeConfigurationSettingsInput {
7793	s.TemplateName = &v
7794	return s
7795}
7796
7797// The results from a request to change the configuration settings of an environment.
7798type DescribeConfigurationSettingsOutput struct {
7799	_ struct{} `type:"structure"`
7800
7801	// A list of ConfigurationSettingsDescription.
7802	ConfigurationSettings []*ConfigurationSettingsDescription `type:"list"`
7803}
7804
7805// String returns the string representation.
7806//
7807// API parameter values that are decorated as "sensitive" in the API will not
7808// be included in the string output. The member name will be present, but the
7809// value will be replaced with "sensitive".
7810func (s DescribeConfigurationSettingsOutput) String() string {
7811	return awsutil.Prettify(s)
7812}
7813
7814// GoString returns the string representation.
7815//
7816// API parameter values that are decorated as "sensitive" in the API will not
7817// be included in the string output. The member name will be present, but the
7818// value will be replaced with "sensitive".
7819func (s DescribeConfigurationSettingsOutput) GoString() string {
7820	return s.String()
7821}
7822
7823// SetConfigurationSettings sets the ConfigurationSettings field's value.
7824func (s *DescribeConfigurationSettingsOutput) SetConfigurationSettings(v []*ConfigurationSettingsDescription) *DescribeConfigurationSettingsOutput {
7825	s.ConfigurationSettings = v
7826	return s
7827}
7828
7829// See the example below to learn how to create a request body.
7830type DescribeEnvironmentHealthInput struct {
7831	_ struct{} `type:"structure"`
7832
7833	// Specify the response elements to return. To retrieve all attributes, set
7834	// to All. If no attribute names are specified, returns the name of the environment.
7835	AttributeNames []*string `type:"list"`
7836
7837	// Specify the environment by ID.
7838	//
7839	// You must specify either this or an EnvironmentName, or both.
7840	EnvironmentId *string `type:"string"`
7841
7842	// Specify the environment by name.
7843	//
7844	// You must specify either this or an EnvironmentName, or both.
7845	EnvironmentName *string `min:"4" type:"string"`
7846}
7847
7848// String returns the string representation.
7849//
7850// API parameter values that are decorated as "sensitive" in the API will not
7851// be included in the string output. The member name will be present, but the
7852// value will be replaced with "sensitive".
7853func (s DescribeEnvironmentHealthInput) String() string {
7854	return awsutil.Prettify(s)
7855}
7856
7857// GoString returns the string representation.
7858//
7859// API parameter values that are decorated as "sensitive" in the API will not
7860// be included in the string output. The member name will be present, but the
7861// value will be replaced with "sensitive".
7862func (s DescribeEnvironmentHealthInput) GoString() string {
7863	return s.String()
7864}
7865
7866// Validate inspects the fields of the type to determine if they are valid.
7867func (s *DescribeEnvironmentHealthInput) Validate() error {
7868	invalidParams := request.ErrInvalidParams{Context: "DescribeEnvironmentHealthInput"}
7869	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
7870		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
7871	}
7872
7873	if invalidParams.Len() > 0 {
7874		return invalidParams
7875	}
7876	return nil
7877}
7878
7879// SetAttributeNames sets the AttributeNames field's value.
7880func (s *DescribeEnvironmentHealthInput) SetAttributeNames(v []*string) *DescribeEnvironmentHealthInput {
7881	s.AttributeNames = v
7882	return s
7883}
7884
7885// SetEnvironmentId sets the EnvironmentId field's value.
7886func (s *DescribeEnvironmentHealthInput) SetEnvironmentId(v string) *DescribeEnvironmentHealthInput {
7887	s.EnvironmentId = &v
7888	return s
7889}
7890
7891// SetEnvironmentName sets the EnvironmentName field's value.
7892func (s *DescribeEnvironmentHealthInput) SetEnvironmentName(v string) *DescribeEnvironmentHealthInput {
7893	s.EnvironmentName = &v
7894	return s
7895}
7896
7897// Health details for an AWS Elastic Beanstalk environment.
7898type DescribeEnvironmentHealthOutput struct {
7899	_ struct{} `type:"structure"`
7900
7901	// Application request metrics for the environment.
7902	ApplicationMetrics *ApplicationMetrics `type:"structure"`
7903
7904	// Descriptions of the data that contributed to the environment's current health
7905	// status.
7906	Causes []*string `type:"list"`
7907
7908	// The health color (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html)
7909	// of the environment.
7910	Color *string `type:"string"`
7911
7912	// The environment's name.
7913	EnvironmentName *string `min:"4" type:"string"`
7914
7915	// The health status (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html)
7916	// of the environment. For example, Ok.
7917	HealthStatus *string `type:"string"`
7918
7919	// Summary health information for the instances in the environment.
7920	InstancesHealth *InstanceHealthSummary `type:"structure"`
7921
7922	// The date and time that the health information was retrieved.
7923	RefreshedAt *time.Time `type:"timestamp"`
7924
7925	// The environment's operational status. Ready, Launching, Updating, Terminating,
7926	// or Terminated.
7927	Status *string `type:"string" enum:"EnvironmentHealth"`
7928}
7929
7930// String returns the string representation.
7931//
7932// API parameter values that are decorated as "sensitive" in the API will not
7933// be included in the string output. The member name will be present, but the
7934// value will be replaced with "sensitive".
7935func (s DescribeEnvironmentHealthOutput) String() string {
7936	return awsutil.Prettify(s)
7937}
7938
7939// GoString returns the string representation.
7940//
7941// API parameter values that are decorated as "sensitive" in the API will not
7942// be included in the string output. The member name will be present, but the
7943// value will be replaced with "sensitive".
7944func (s DescribeEnvironmentHealthOutput) GoString() string {
7945	return s.String()
7946}
7947
7948// SetApplicationMetrics sets the ApplicationMetrics field's value.
7949func (s *DescribeEnvironmentHealthOutput) SetApplicationMetrics(v *ApplicationMetrics) *DescribeEnvironmentHealthOutput {
7950	s.ApplicationMetrics = v
7951	return s
7952}
7953
7954// SetCauses sets the Causes field's value.
7955func (s *DescribeEnvironmentHealthOutput) SetCauses(v []*string) *DescribeEnvironmentHealthOutput {
7956	s.Causes = v
7957	return s
7958}
7959
7960// SetColor sets the Color field's value.
7961func (s *DescribeEnvironmentHealthOutput) SetColor(v string) *DescribeEnvironmentHealthOutput {
7962	s.Color = &v
7963	return s
7964}
7965
7966// SetEnvironmentName sets the EnvironmentName field's value.
7967func (s *DescribeEnvironmentHealthOutput) SetEnvironmentName(v string) *DescribeEnvironmentHealthOutput {
7968	s.EnvironmentName = &v
7969	return s
7970}
7971
7972// SetHealthStatus sets the HealthStatus field's value.
7973func (s *DescribeEnvironmentHealthOutput) SetHealthStatus(v string) *DescribeEnvironmentHealthOutput {
7974	s.HealthStatus = &v
7975	return s
7976}
7977
7978// SetInstancesHealth sets the InstancesHealth field's value.
7979func (s *DescribeEnvironmentHealthOutput) SetInstancesHealth(v *InstanceHealthSummary) *DescribeEnvironmentHealthOutput {
7980	s.InstancesHealth = v
7981	return s
7982}
7983
7984// SetRefreshedAt sets the RefreshedAt field's value.
7985func (s *DescribeEnvironmentHealthOutput) SetRefreshedAt(v time.Time) *DescribeEnvironmentHealthOutput {
7986	s.RefreshedAt = &v
7987	return s
7988}
7989
7990// SetStatus sets the Status field's value.
7991func (s *DescribeEnvironmentHealthOutput) SetStatus(v string) *DescribeEnvironmentHealthOutput {
7992	s.Status = &v
7993	return s
7994}
7995
7996// Request to list completed and failed managed actions.
7997type DescribeEnvironmentManagedActionHistoryInput struct {
7998	_ struct{} `type:"structure"`
7999
8000	// The environment ID of the target environment.
8001	EnvironmentId *string `type:"string"`
8002
8003	// The name of the target environment.
8004	EnvironmentName *string `min:"4" type:"string"`
8005
8006	// The maximum number of items to return for a single request.
8007	MaxItems *int64 `min:"1" type:"integer"`
8008
8009	// The pagination token returned by a previous request.
8010	NextToken *string `type:"string"`
8011}
8012
8013// String returns the string representation.
8014//
8015// API parameter values that are decorated as "sensitive" in the API will not
8016// be included in the string output. The member name will be present, but the
8017// value will be replaced with "sensitive".
8018func (s DescribeEnvironmentManagedActionHistoryInput) String() string {
8019	return awsutil.Prettify(s)
8020}
8021
8022// GoString returns the string representation.
8023//
8024// API parameter values that are decorated as "sensitive" in the API will not
8025// be included in the string output. The member name will be present, but the
8026// value will be replaced with "sensitive".
8027func (s DescribeEnvironmentManagedActionHistoryInput) GoString() string {
8028	return s.String()
8029}
8030
8031// Validate inspects the fields of the type to determine if they are valid.
8032func (s *DescribeEnvironmentManagedActionHistoryInput) Validate() error {
8033	invalidParams := request.ErrInvalidParams{Context: "DescribeEnvironmentManagedActionHistoryInput"}
8034	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
8035		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
8036	}
8037	if s.MaxItems != nil && *s.MaxItems < 1 {
8038		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
8039	}
8040
8041	if invalidParams.Len() > 0 {
8042		return invalidParams
8043	}
8044	return nil
8045}
8046
8047// SetEnvironmentId sets the EnvironmentId field's value.
8048func (s *DescribeEnvironmentManagedActionHistoryInput) SetEnvironmentId(v string) *DescribeEnvironmentManagedActionHistoryInput {
8049	s.EnvironmentId = &v
8050	return s
8051}
8052
8053// SetEnvironmentName sets the EnvironmentName field's value.
8054func (s *DescribeEnvironmentManagedActionHistoryInput) SetEnvironmentName(v string) *DescribeEnvironmentManagedActionHistoryInput {
8055	s.EnvironmentName = &v
8056	return s
8057}
8058
8059// SetMaxItems sets the MaxItems field's value.
8060func (s *DescribeEnvironmentManagedActionHistoryInput) SetMaxItems(v int64) *DescribeEnvironmentManagedActionHistoryInput {
8061	s.MaxItems = &v
8062	return s
8063}
8064
8065// SetNextToken sets the NextToken field's value.
8066func (s *DescribeEnvironmentManagedActionHistoryInput) SetNextToken(v string) *DescribeEnvironmentManagedActionHistoryInput {
8067	s.NextToken = &v
8068	return s
8069}
8070
8071// A result message containing a list of completed and failed managed actions.
8072type DescribeEnvironmentManagedActionHistoryOutput struct {
8073	_ struct{} `type:"structure"`
8074
8075	// A list of completed and failed managed actions.
8076	ManagedActionHistoryItems []*ManagedActionHistoryItem `min:"1" type:"list"`
8077
8078	// A pagination token that you pass to DescribeEnvironmentManagedActionHistory
8079	// to get the next page of results.
8080	NextToken *string `type:"string"`
8081}
8082
8083// String returns the string representation.
8084//
8085// API parameter values that are decorated as "sensitive" in the API will not
8086// be included in the string output. The member name will be present, but the
8087// value will be replaced with "sensitive".
8088func (s DescribeEnvironmentManagedActionHistoryOutput) String() string {
8089	return awsutil.Prettify(s)
8090}
8091
8092// GoString returns the string representation.
8093//
8094// API parameter values that are decorated as "sensitive" in the API will not
8095// be included in the string output. The member name will be present, but the
8096// value will be replaced with "sensitive".
8097func (s DescribeEnvironmentManagedActionHistoryOutput) GoString() string {
8098	return s.String()
8099}
8100
8101// SetManagedActionHistoryItems sets the ManagedActionHistoryItems field's value.
8102func (s *DescribeEnvironmentManagedActionHistoryOutput) SetManagedActionHistoryItems(v []*ManagedActionHistoryItem) *DescribeEnvironmentManagedActionHistoryOutput {
8103	s.ManagedActionHistoryItems = v
8104	return s
8105}
8106
8107// SetNextToken sets the NextToken field's value.
8108func (s *DescribeEnvironmentManagedActionHistoryOutput) SetNextToken(v string) *DescribeEnvironmentManagedActionHistoryOutput {
8109	s.NextToken = &v
8110	return s
8111}
8112
8113// Request to list an environment's upcoming and in-progress managed actions.
8114type DescribeEnvironmentManagedActionsInput struct {
8115	_ struct{} `type:"structure"`
8116
8117	// The environment ID of the target environment.
8118	EnvironmentId *string `type:"string"`
8119
8120	// The name of the target environment.
8121	EnvironmentName *string `type:"string"`
8122
8123	// To show only actions with a particular status, specify a status.
8124	Status *string `type:"string" enum:"ActionStatus"`
8125}
8126
8127// String returns the string representation.
8128//
8129// API parameter values that are decorated as "sensitive" in the API will not
8130// be included in the string output. The member name will be present, but the
8131// value will be replaced with "sensitive".
8132func (s DescribeEnvironmentManagedActionsInput) String() string {
8133	return awsutil.Prettify(s)
8134}
8135
8136// GoString returns the string representation.
8137//
8138// API parameter values that are decorated as "sensitive" in the API will not
8139// be included in the string output. The member name will be present, but the
8140// value will be replaced with "sensitive".
8141func (s DescribeEnvironmentManagedActionsInput) GoString() string {
8142	return s.String()
8143}
8144
8145// SetEnvironmentId sets the EnvironmentId field's value.
8146func (s *DescribeEnvironmentManagedActionsInput) SetEnvironmentId(v string) *DescribeEnvironmentManagedActionsInput {
8147	s.EnvironmentId = &v
8148	return s
8149}
8150
8151// SetEnvironmentName sets the EnvironmentName field's value.
8152func (s *DescribeEnvironmentManagedActionsInput) SetEnvironmentName(v string) *DescribeEnvironmentManagedActionsInput {
8153	s.EnvironmentName = &v
8154	return s
8155}
8156
8157// SetStatus sets the Status field's value.
8158func (s *DescribeEnvironmentManagedActionsInput) SetStatus(v string) *DescribeEnvironmentManagedActionsInput {
8159	s.Status = &v
8160	return s
8161}
8162
8163// The result message containing a list of managed actions.
8164type DescribeEnvironmentManagedActionsOutput struct {
8165	_ struct{} `type:"structure"`
8166
8167	// A list of upcoming and in-progress managed actions.
8168	ManagedActions []*ManagedAction `min:"1" type:"list"`
8169}
8170
8171// String returns the string representation.
8172//
8173// API parameter values that are decorated as "sensitive" in the API will not
8174// be included in the string output. The member name will be present, but the
8175// value will be replaced with "sensitive".
8176func (s DescribeEnvironmentManagedActionsOutput) String() string {
8177	return awsutil.Prettify(s)
8178}
8179
8180// GoString returns the string representation.
8181//
8182// API parameter values that are decorated as "sensitive" in the API will not
8183// be included in the string output. The member name will be present, but the
8184// value will be replaced with "sensitive".
8185func (s DescribeEnvironmentManagedActionsOutput) GoString() string {
8186	return s.String()
8187}
8188
8189// SetManagedActions sets the ManagedActions field's value.
8190func (s *DescribeEnvironmentManagedActionsOutput) SetManagedActions(v []*ManagedAction) *DescribeEnvironmentManagedActionsOutput {
8191	s.ManagedActions = v
8192	return s
8193}
8194
8195// Request to describe the resources in an environment.
8196type DescribeEnvironmentResourcesInput struct {
8197	_ struct{} `type:"structure"`
8198
8199	// The ID of the environment to retrieve AWS resource usage data.
8200	//
8201	// Condition: You must specify either this or an EnvironmentName, or both. If
8202	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
8203	// error.
8204	EnvironmentId *string `type:"string"`
8205
8206	// The name of the environment to retrieve AWS resource usage data.
8207	//
8208	// Condition: You must specify either this or an EnvironmentId, or both. If
8209	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
8210	// error.
8211	EnvironmentName *string `min:"4" type:"string"`
8212}
8213
8214// String returns the string representation.
8215//
8216// API parameter values that are decorated as "sensitive" in the API will not
8217// be included in the string output. The member name will be present, but the
8218// value will be replaced with "sensitive".
8219func (s DescribeEnvironmentResourcesInput) String() string {
8220	return awsutil.Prettify(s)
8221}
8222
8223// GoString returns the string representation.
8224//
8225// API parameter values that are decorated as "sensitive" in the API will not
8226// be included in the string output. The member name will be present, but the
8227// value will be replaced with "sensitive".
8228func (s DescribeEnvironmentResourcesInput) GoString() string {
8229	return s.String()
8230}
8231
8232// Validate inspects the fields of the type to determine if they are valid.
8233func (s *DescribeEnvironmentResourcesInput) Validate() error {
8234	invalidParams := request.ErrInvalidParams{Context: "DescribeEnvironmentResourcesInput"}
8235	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
8236		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
8237	}
8238
8239	if invalidParams.Len() > 0 {
8240		return invalidParams
8241	}
8242	return nil
8243}
8244
8245// SetEnvironmentId sets the EnvironmentId field's value.
8246func (s *DescribeEnvironmentResourcesInput) SetEnvironmentId(v string) *DescribeEnvironmentResourcesInput {
8247	s.EnvironmentId = &v
8248	return s
8249}
8250
8251// SetEnvironmentName sets the EnvironmentName field's value.
8252func (s *DescribeEnvironmentResourcesInput) SetEnvironmentName(v string) *DescribeEnvironmentResourcesInput {
8253	s.EnvironmentName = &v
8254	return s
8255}
8256
8257// Result message containing a list of environment resource descriptions.
8258type DescribeEnvironmentResourcesOutput struct {
8259	_ struct{} `type:"structure"`
8260
8261	// A list of EnvironmentResourceDescription.
8262	EnvironmentResources *EnvironmentResourceDescription `type:"structure"`
8263}
8264
8265// String returns the string representation.
8266//
8267// API parameter values that are decorated as "sensitive" in the API will not
8268// be included in the string output. The member name will be present, but the
8269// value will be replaced with "sensitive".
8270func (s DescribeEnvironmentResourcesOutput) String() string {
8271	return awsutil.Prettify(s)
8272}
8273
8274// GoString returns the string representation.
8275//
8276// API parameter values that are decorated as "sensitive" in the API will not
8277// be included in the string output. The member name will be present, but the
8278// value will be replaced with "sensitive".
8279func (s DescribeEnvironmentResourcesOutput) GoString() string {
8280	return s.String()
8281}
8282
8283// SetEnvironmentResources sets the EnvironmentResources field's value.
8284func (s *DescribeEnvironmentResourcesOutput) SetEnvironmentResources(v *EnvironmentResourceDescription) *DescribeEnvironmentResourcesOutput {
8285	s.EnvironmentResources = v
8286	return s
8287}
8288
8289// Request to describe one or more environments.
8290type DescribeEnvironmentsInput struct {
8291	_ struct{} `type:"structure"`
8292
8293	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
8294	// include only those that are associated with this application.
8295	ApplicationName *string `min:"1" type:"string"`
8296
8297	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
8298	// include only those that have the specified IDs.
8299	EnvironmentIds []*string `type:"list"`
8300
8301	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
8302	// include only those that have the specified names.
8303	EnvironmentNames []*string `type:"list"`
8304
8305	// Indicates whether to include deleted environments:
8306	//
8307	// true: Environments that have been deleted after IncludedDeletedBackTo are
8308	// displayed.
8309	//
8310	// false: Do not include deleted environments.
8311	IncludeDeleted *bool `type:"boolean"`
8312
8313	// If specified when IncludeDeleted is set to true, then environments deleted
8314	// after this date are displayed.
8315	IncludedDeletedBackTo *time.Time `type:"timestamp"`
8316
8317	// For a paginated request. Specify a maximum number of environments to include
8318	// in each response.
8319	//
8320	// If no MaxRecords is specified, all available environments are retrieved in
8321	// a single response.
8322	MaxRecords *int64 `min:"1" type:"integer"`
8323
8324	// For a paginated request. Specify a token from a previous response page to
8325	// retrieve the next response page. All other parameter values must be identical
8326	// to the ones specified in the initial request.
8327	//
8328	// If no NextToken is specified, the first page is retrieved.
8329	NextToken *string `type:"string"`
8330
8331	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
8332	// include only those that are associated with this application version.
8333	VersionLabel *string `min:"1" type:"string"`
8334}
8335
8336// String returns the string representation.
8337//
8338// API parameter values that are decorated as "sensitive" in the API will not
8339// be included in the string output. The member name will be present, but the
8340// value will be replaced with "sensitive".
8341func (s DescribeEnvironmentsInput) String() string {
8342	return awsutil.Prettify(s)
8343}
8344
8345// GoString returns the string representation.
8346//
8347// API parameter values that are decorated as "sensitive" in the API will not
8348// be included in the string output. The member name will be present, but the
8349// value will be replaced with "sensitive".
8350func (s DescribeEnvironmentsInput) GoString() string {
8351	return s.String()
8352}
8353
8354// Validate inspects the fields of the type to determine if they are valid.
8355func (s *DescribeEnvironmentsInput) Validate() error {
8356	invalidParams := request.ErrInvalidParams{Context: "DescribeEnvironmentsInput"}
8357	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
8358		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
8359	}
8360	if s.MaxRecords != nil && *s.MaxRecords < 1 {
8361		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 1))
8362	}
8363	if s.VersionLabel != nil && len(*s.VersionLabel) < 1 {
8364		invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1))
8365	}
8366
8367	if invalidParams.Len() > 0 {
8368		return invalidParams
8369	}
8370	return nil
8371}
8372
8373// SetApplicationName sets the ApplicationName field's value.
8374func (s *DescribeEnvironmentsInput) SetApplicationName(v string) *DescribeEnvironmentsInput {
8375	s.ApplicationName = &v
8376	return s
8377}
8378
8379// SetEnvironmentIds sets the EnvironmentIds field's value.
8380func (s *DescribeEnvironmentsInput) SetEnvironmentIds(v []*string) *DescribeEnvironmentsInput {
8381	s.EnvironmentIds = v
8382	return s
8383}
8384
8385// SetEnvironmentNames sets the EnvironmentNames field's value.
8386func (s *DescribeEnvironmentsInput) SetEnvironmentNames(v []*string) *DescribeEnvironmentsInput {
8387	s.EnvironmentNames = v
8388	return s
8389}
8390
8391// SetIncludeDeleted sets the IncludeDeleted field's value.
8392func (s *DescribeEnvironmentsInput) SetIncludeDeleted(v bool) *DescribeEnvironmentsInput {
8393	s.IncludeDeleted = &v
8394	return s
8395}
8396
8397// SetIncludedDeletedBackTo sets the IncludedDeletedBackTo field's value.
8398func (s *DescribeEnvironmentsInput) SetIncludedDeletedBackTo(v time.Time) *DescribeEnvironmentsInput {
8399	s.IncludedDeletedBackTo = &v
8400	return s
8401}
8402
8403// SetMaxRecords sets the MaxRecords field's value.
8404func (s *DescribeEnvironmentsInput) SetMaxRecords(v int64) *DescribeEnvironmentsInput {
8405	s.MaxRecords = &v
8406	return s
8407}
8408
8409// SetNextToken sets the NextToken field's value.
8410func (s *DescribeEnvironmentsInput) SetNextToken(v string) *DescribeEnvironmentsInput {
8411	s.NextToken = &v
8412	return s
8413}
8414
8415// SetVersionLabel sets the VersionLabel field's value.
8416func (s *DescribeEnvironmentsInput) SetVersionLabel(v string) *DescribeEnvironmentsInput {
8417	s.VersionLabel = &v
8418	return s
8419}
8420
8421// Request to retrieve a list of events for an environment.
8422type DescribeEventsInput struct {
8423	_ struct{} `type:"structure"`
8424
8425	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
8426	// include only those associated with this application.
8427	ApplicationName *string `min:"1" type:"string"`
8428
8429	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
8430	// those that occur up to, but not including, the EndTime.
8431	EndTime *time.Time `type:"timestamp"`
8432
8433	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
8434	// those associated with this environment.
8435	EnvironmentId *string `type:"string"`
8436
8437	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
8438	// those associated with this environment.
8439	EnvironmentName *string `min:"4" type:"string"`
8440
8441	// Specifies the maximum number of events that can be returned, beginning with
8442	// the most recent event.
8443	MaxRecords *int64 `min:"1" type:"integer"`
8444
8445	// Pagination token. If specified, the events return the next batch of results.
8446	NextToken *string `type:"string"`
8447
8448	// The ARN of a custom platform version. If specified, AWS Elastic Beanstalk
8449	// restricts the returned descriptions to those associated with this custom
8450	// platform version.
8451	PlatformArn *string `type:"string"`
8452
8453	// If specified, AWS Elastic Beanstalk restricts the described events to include
8454	// only those associated with this request ID.
8455	RequestId *string `type:"string"`
8456
8457	// If specified, limits the events returned from this call to include only those
8458	// with the specified severity or higher.
8459	Severity *string `type:"string" enum:"EventSeverity"`
8460
8461	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
8462	// those that occur on or after this time.
8463	StartTime *time.Time `type:"timestamp"`
8464
8465	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
8466	// those that are associated with this environment configuration.
8467	TemplateName *string `min:"1" type:"string"`
8468
8469	// If specified, AWS Elastic Beanstalk restricts the returned descriptions to
8470	// those associated with this application version.
8471	VersionLabel *string `min:"1" type:"string"`
8472}
8473
8474// String returns the string representation.
8475//
8476// API parameter values that are decorated as "sensitive" in the API will not
8477// be included in the string output. The member name will be present, but the
8478// value will be replaced with "sensitive".
8479func (s DescribeEventsInput) String() string {
8480	return awsutil.Prettify(s)
8481}
8482
8483// GoString returns the string representation.
8484//
8485// API parameter values that are decorated as "sensitive" in the API will not
8486// be included in the string output. The member name will be present, but the
8487// value will be replaced with "sensitive".
8488func (s DescribeEventsInput) GoString() string {
8489	return s.String()
8490}
8491
8492// Validate inspects the fields of the type to determine if they are valid.
8493func (s *DescribeEventsInput) Validate() error {
8494	invalidParams := request.ErrInvalidParams{Context: "DescribeEventsInput"}
8495	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
8496		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
8497	}
8498	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
8499		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
8500	}
8501	if s.MaxRecords != nil && *s.MaxRecords < 1 {
8502		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 1))
8503	}
8504	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
8505		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
8506	}
8507	if s.VersionLabel != nil && len(*s.VersionLabel) < 1 {
8508		invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1))
8509	}
8510
8511	if invalidParams.Len() > 0 {
8512		return invalidParams
8513	}
8514	return nil
8515}
8516
8517// SetApplicationName sets the ApplicationName field's value.
8518func (s *DescribeEventsInput) SetApplicationName(v string) *DescribeEventsInput {
8519	s.ApplicationName = &v
8520	return s
8521}
8522
8523// SetEndTime sets the EndTime field's value.
8524func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
8525	s.EndTime = &v
8526	return s
8527}
8528
8529// SetEnvironmentId sets the EnvironmentId field's value.
8530func (s *DescribeEventsInput) SetEnvironmentId(v string) *DescribeEventsInput {
8531	s.EnvironmentId = &v
8532	return s
8533}
8534
8535// SetEnvironmentName sets the EnvironmentName field's value.
8536func (s *DescribeEventsInput) SetEnvironmentName(v string) *DescribeEventsInput {
8537	s.EnvironmentName = &v
8538	return s
8539}
8540
8541// SetMaxRecords sets the MaxRecords field's value.
8542func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput {
8543	s.MaxRecords = &v
8544	return s
8545}
8546
8547// SetNextToken sets the NextToken field's value.
8548func (s *DescribeEventsInput) SetNextToken(v string) *DescribeEventsInput {
8549	s.NextToken = &v
8550	return s
8551}
8552
8553// SetPlatformArn sets the PlatformArn field's value.
8554func (s *DescribeEventsInput) SetPlatformArn(v string) *DescribeEventsInput {
8555	s.PlatformArn = &v
8556	return s
8557}
8558
8559// SetRequestId sets the RequestId field's value.
8560func (s *DescribeEventsInput) SetRequestId(v string) *DescribeEventsInput {
8561	s.RequestId = &v
8562	return s
8563}
8564
8565// SetSeverity sets the Severity field's value.
8566func (s *DescribeEventsInput) SetSeverity(v string) *DescribeEventsInput {
8567	s.Severity = &v
8568	return s
8569}
8570
8571// SetStartTime sets the StartTime field's value.
8572func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
8573	s.StartTime = &v
8574	return s
8575}
8576
8577// SetTemplateName sets the TemplateName field's value.
8578func (s *DescribeEventsInput) SetTemplateName(v string) *DescribeEventsInput {
8579	s.TemplateName = &v
8580	return s
8581}
8582
8583// SetVersionLabel sets the VersionLabel field's value.
8584func (s *DescribeEventsInput) SetVersionLabel(v string) *DescribeEventsInput {
8585	s.VersionLabel = &v
8586	return s
8587}
8588
8589// Result message wrapping a list of event descriptions.
8590type DescribeEventsOutput struct {
8591	_ struct{} `type:"structure"`
8592
8593	// A list of EventDescription.
8594	Events []*EventDescription `type:"list"`
8595
8596	// If returned, this indicates that there are more results to obtain. Use this
8597	// token in the next DescribeEvents call to get the next batch of events.
8598	NextToken *string `type:"string"`
8599}
8600
8601// String returns the string representation.
8602//
8603// API parameter values that are decorated as "sensitive" in the API will not
8604// be included in the string output. The member name will be present, but the
8605// value will be replaced with "sensitive".
8606func (s DescribeEventsOutput) String() string {
8607	return awsutil.Prettify(s)
8608}
8609
8610// GoString returns the string representation.
8611//
8612// API parameter values that are decorated as "sensitive" in the API will not
8613// be included in the string output. The member name will be present, but the
8614// value will be replaced with "sensitive".
8615func (s DescribeEventsOutput) GoString() string {
8616	return s.String()
8617}
8618
8619// SetEvents sets the Events field's value.
8620func (s *DescribeEventsOutput) SetEvents(v []*EventDescription) *DescribeEventsOutput {
8621	s.Events = v
8622	return s
8623}
8624
8625// SetNextToken sets the NextToken field's value.
8626func (s *DescribeEventsOutput) SetNextToken(v string) *DescribeEventsOutput {
8627	s.NextToken = &v
8628	return s
8629}
8630
8631// Parameters for a call to DescribeInstancesHealth.
8632type DescribeInstancesHealthInput struct {
8633	_ struct{} `type:"structure"`
8634
8635	// Specifies the response elements you wish to receive. To retrieve all attributes,
8636	// set to All. If no attribute names are specified, returns a list of instances.
8637	AttributeNames []*string `type:"list"`
8638
8639	// Specify the AWS Elastic Beanstalk environment by ID.
8640	EnvironmentId *string `type:"string"`
8641
8642	// Specify the AWS Elastic Beanstalk environment by name.
8643	EnvironmentName *string `min:"4" type:"string"`
8644
8645	// Specify the pagination token returned by a previous call.
8646	NextToken *string `min:"1" type:"string"`
8647}
8648
8649// String returns the string representation.
8650//
8651// API parameter values that are decorated as "sensitive" in the API will not
8652// be included in the string output. The member name will be present, but the
8653// value will be replaced with "sensitive".
8654func (s DescribeInstancesHealthInput) String() string {
8655	return awsutil.Prettify(s)
8656}
8657
8658// GoString returns the string representation.
8659//
8660// API parameter values that are decorated as "sensitive" in the API will not
8661// be included in the string output. The member name will be present, but the
8662// value will be replaced with "sensitive".
8663func (s DescribeInstancesHealthInput) GoString() string {
8664	return s.String()
8665}
8666
8667// Validate inspects the fields of the type to determine if they are valid.
8668func (s *DescribeInstancesHealthInput) Validate() error {
8669	invalidParams := request.ErrInvalidParams{Context: "DescribeInstancesHealthInput"}
8670	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
8671		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
8672	}
8673	if s.NextToken != nil && len(*s.NextToken) < 1 {
8674		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8675	}
8676
8677	if invalidParams.Len() > 0 {
8678		return invalidParams
8679	}
8680	return nil
8681}
8682
8683// SetAttributeNames sets the AttributeNames field's value.
8684func (s *DescribeInstancesHealthInput) SetAttributeNames(v []*string) *DescribeInstancesHealthInput {
8685	s.AttributeNames = v
8686	return s
8687}
8688
8689// SetEnvironmentId sets the EnvironmentId field's value.
8690func (s *DescribeInstancesHealthInput) SetEnvironmentId(v string) *DescribeInstancesHealthInput {
8691	s.EnvironmentId = &v
8692	return s
8693}
8694
8695// SetEnvironmentName sets the EnvironmentName field's value.
8696func (s *DescribeInstancesHealthInput) SetEnvironmentName(v string) *DescribeInstancesHealthInput {
8697	s.EnvironmentName = &v
8698	return s
8699}
8700
8701// SetNextToken sets the NextToken field's value.
8702func (s *DescribeInstancesHealthInput) SetNextToken(v string) *DescribeInstancesHealthInput {
8703	s.NextToken = &v
8704	return s
8705}
8706
8707// Detailed health information about the Amazon EC2 instances in an AWS Elastic
8708// Beanstalk environment.
8709type DescribeInstancesHealthOutput struct {
8710	_ struct{} `type:"structure"`
8711
8712	// Detailed health information about each instance.
8713	//
8714	// The output differs slightly between Linux and Windows environments. There
8715	// is a difference in the members that are supported under the <CPUUtilization>
8716	// type.
8717	InstanceHealthList []*SingleInstanceHealth `type:"list"`
8718
8719	// Pagination token for the next page of results, if available.
8720	NextToken *string `min:"1" type:"string"`
8721
8722	// The date and time that the health information was retrieved.
8723	RefreshedAt *time.Time `type:"timestamp"`
8724}
8725
8726// String returns the string representation.
8727//
8728// API parameter values that are decorated as "sensitive" in the API will not
8729// be included in the string output. The member name will be present, but the
8730// value will be replaced with "sensitive".
8731func (s DescribeInstancesHealthOutput) String() string {
8732	return awsutil.Prettify(s)
8733}
8734
8735// GoString returns the string representation.
8736//
8737// API parameter values that are decorated as "sensitive" in the API will not
8738// be included in the string output. The member name will be present, but the
8739// value will be replaced with "sensitive".
8740func (s DescribeInstancesHealthOutput) GoString() string {
8741	return s.String()
8742}
8743
8744// SetInstanceHealthList sets the InstanceHealthList field's value.
8745func (s *DescribeInstancesHealthOutput) SetInstanceHealthList(v []*SingleInstanceHealth) *DescribeInstancesHealthOutput {
8746	s.InstanceHealthList = v
8747	return s
8748}
8749
8750// SetNextToken sets the NextToken field's value.
8751func (s *DescribeInstancesHealthOutput) SetNextToken(v string) *DescribeInstancesHealthOutput {
8752	s.NextToken = &v
8753	return s
8754}
8755
8756// SetRefreshedAt sets the RefreshedAt field's value.
8757func (s *DescribeInstancesHealthOutput) SetRefreshedAt(v time.Time) *DescribeInstancesHealthOutput {
8758	s.RefreshedAt = &v
8759	return s
8760}
8761
8762type DescribePlatformVersionInput struct {
8763	_ struct{} `type:"structure"`
8764
8765	// The ARN of the platform version.
8766	PlatformArn *string `type:"string"`
8767}
8768
8769// String returns the string representation.
8770//
8771// API parameter values that are decorated as "sensitive" in the API will not
8772// be included in the string output. The member name will be present, but the
8773// value will be replaced with "sensitive".
8774func (s DescribePlatformVersionInput) String() string {
8775	return awsutil.Prettify(s)
8776}
8777
8778// GoString returns the string representation.
8779//
8780// API parameter values that are decorated as "sensitive" in the API will not
8781// be included in the string output. The member name will be present, but the
8782// value will be replaced with "sensitive".
8783func (s DescribePlatformVersionInput) GoString() string {
8784	return s.String()
8785}
8786
8787// SetPlatformArn sets the PlatformArn field's value.
8788func (s *DescribePlatformVersionInput) SetPlatformArn(v string) *DescribePlatformVersionInput {
8789	s.PlatformArn = &v
8790	return s
8791}
8792
8793type DescribePlatformVersionOutput struct {
8794	_ struct{} `type:"structure"`
8795
8796	// Detailed information about the platform version.
8797	PlatformDescription *PlatformDescription `type:"structure"`
8798}
8799
8800// String returns the string representation.
8801//
8802// API parameter values that are decorated as "sensitive" in the API will not
8803// be included in the string output. The member name will be present, but the
8804// value will be replaced with "sensitive".
8805func (s DescribePlatformVersionOutput) String() string {
8806	return awsutil.Prettify(s)
8807}
8808
8809// GoString returns the string representation.
8810//
8811// API parameter values that are decorated as "sensitive" in the API will not
8812// be included in the string output. The member name will be present, but the
8813// value will be replaced with "sensitive".
8814func (s DescribePlatformVersionOutput) GoString() string {
8815	return s.String()
8816}
8817
8818// SetPlatformDescription sets the PlatformDescription field's value.
8819func (s *DescribePlatformVersionOutput) SetPlatformDescription(v *PlatformDescription) *DescribePlatformVersionOutput {
8820	s.PlatformDescription = v
8821	return s
8822}
8823
8824// Request to disassociate the operations role from an environment.
8825type DisassociateEnvironmentOperationsRoleInput struct {
8826	_ struct{} `type:"structure"`
8827
8828	// The name of the environment from which to disassociate the operations role.
8829	//
8830	// EnvironmentName is a required field
8831	EnvironmentName *string `min:"4" type:"string" required:"true"`
8832}
8833
8834// String returns the string representation.
8835//
8836// API parameter values that are decorated as "sensitive" in the API will not
8837// be included in the string output. The member name will be present, but the
8838// value will be replaced with "sensitive".
8839func (s DisassociateEnvironmentOperationsRoleInput) String() string {
8840	return awsutil.Prettify(s)
8841}
8842
8843// GoString returns the string representation.
8844//
8845// API parameter values that are decorated as "sensitive" in the API will not
8846// be included in the string output. The member name will be present, but the
8847// value will be replaced with "sensitive".
8848func (s DisassociateEnvironmentOperationsRoleInput) GoString() string {
8849	return s.String()
8850}
8851
8852// Validate inspects the fields of the type to determine if they are valid.
8853func (s *DisassociateEnvironmentOperationsRoleInput) Validate() error {
8854	invalidParams := request.ErrInvalidParams{Context: "DisassociateEnvironmentOperationsRoleInput"}
8855	if s.EnvironmentName == nil {
8856		invalidParams.Add(request.NewErrParamRequired("EnvironmentName"))
8857	}
8858	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
8859		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
8860	}
8861
8862	if invalidParams.Len() > 0 {
8863		return invalidParams
8864	}
8865	return nil
8866}
8867
8868// SetEnvironmentName sets the EnvironmentName field's value.
8869func (s *DisassociateEnvironmentOperationsRoleInput) SetEnvironmentName(v string) *DisassociateEnvironmentOperationsRoleInput {
8870	s.EnvironmentName = &v
8871	return s
8872}
8873
8874type DisassociateEnvironmentOperationsRoleOutput struct {
8875	_ struct{} `type:"structure"`
8876}
8877
8878// String returns the string representation.
8879//
8880// API parameter values that are decorated as "sensitive" in the API will not
8881// be included in the string output. The member name will be present, but the
8882// value will be replaced with "sensitive".
8883func (s DisassociateEnvironmentOperationsRoleOutput) String() string {
8884	return awsutil.Prettify(s)
8885}
8886
8887// GoString returns the string representation.
8888//
8889// API parameter values that are decorated as "sensitive" in the API will not
8890// be included in the string output. The member name will be present, but the
8891// value will be replaced with "sensitive".
8892func (s DisassociateEnvironmentOperationsRoleOutput) GoString() string {
8893	return s.String()
8894}
8895
8896// Describes the properties of an environment.
8897type EnvironmentDescription struct {
8898	_ struct{} `type:"structure"`
8899
8900	// Indicates if there is an in-progress environment configuration update or
8901	// application version deployment that you can cancel.
8902	//
8903	// true: There is an update in progress.
8904	//
8905	// false: There are no updates currently in progress.
8906	AbortableOperationInProgress *bool `type:"boolean"`
8907
8908	// The name of the application associated with this environment.
8909	ApplicationName *string `min:"1" type:"string"`
8910
8911	// The URL to the CNAME for this environment.
8912	CNAME *string `min:"1" type:"string"`
8913
8914	// The creation date for this environment.
8915	DateCreated *time.Time `type:"timestamp"`
8916
8917	// The last modified date for this environment.
8918	DateUpdated *time.Time `type:"timestamp"`
8919
8920	// Describes this environment.
8921	Description *string `type:"string"`
8922
8923	// For load-balanced, autoscaling environments, the URL to the LoadBalancer.
8924	// For single-instance environments, the IP address of the instance.
8925	EndpointURL *string `type:"string"`
8926
8927	// The environment's Amazon Resource Name (ARN), which can be used in other
8928	// API requests that require an ARN.
8929	EnvironmentArn *string `type:"string"`
8930
8931	// The ID of this environment.
8932	EnvironmentId *string `type:"string"`
8933
8934	// A list of links to other environments in the same group.
8935	EnvironmentLinks []*EnvironmentLink `type:"list"`
8936
8937	// The name of this environment.
8938	EnvironmentName *string `min:"4" type:"string"`
8939
8940	// Describes the health status of the environment. AWS Elastic Beanstalk indicates
8941	// the failure levels for a running environment:
8942	//
8943	//    * Red: Indicates the environment is not responsive. Occurs when three
8944	//    or more consecutive failures occur for an environment.
8945	//
8946	//    * Yellow: Indicates that something is wrong. Occurs when two consecutive
8947	//    failures occur for an environment.
8948	//
8949	//    * Green: Indicates the environment is healthy and fully functional.
8950	//
8951	//    * Grey: Default health for a new environment. The environment is not fully
8952	//    launched and health checks have not started or health checks are suspended
8953	//    during an UpdateEnvironment or RestartEnvironment request.
8954	//
8955	// Default: Grey
8956	Health *string `type:"string" enum:"EnvironmentHealth"`
8957
8958	// Returns the health status of the application running in your environment.
8959	// For more information, see Health Colors and Statuses (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html).
8960	HealthStatus *string `type:"string" enum:"EnvironmentHealthStatus"`
8961
8962	// The Amazon Resource Name (ARN) of the environment's operations role. For
8963	// more information, see Operations roles (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/iam-operationsrole.html)
8964	// in the AWS Elastic Beanstalk Developer Guide.
8965	OperationsRole *string `min:"1" type:"string"`
8966
8967	// The ARN of the platform version.
8968	PlatformArn *string `type:"string"`
8969
8970	// The description of the AWS resources used by this environment.
8971	Resources *EnvironmentResourcesDescription `type:"structure"`
8972
8973	// The name of the SolutionStack deployed with this environment.
8974	SolutionStackName *string `type:"string"`
8975
8976	// The current operational status of the environment:
8977	//
8978	//    * Launching: Environment is in the process of initial deployment.
8979	//
8980	//    * Updating: Environment is in the process of updating its configuration
8981	//    settings or application version.
8982	//
8983	//    * Ready: Environment is available to have an action performed on it, such
8984	//    as update or terminate.
8985	//
8986	//    * Terminating: Environment is in the shut-down process.
8987	//
8988	//    * Terminated: Environment is not running.
8989	Status *string `type:"string" enum:"EnvironmentStatus"`
8990
8991	// The name of the configuration template used to originally launch this environment.
8992	TemplateName *string `min:"1" type:"string"`
8993
8994	// Describes the current tier of this environment.
8995	Tier *EnvironmentTier `type:"structure"`
8996
8997	// The application version deployed in this environment.
8998	VersionLabel *string `min:"1" type:"string"`
8999}
9000
9001// String returns the string representation.
9002//
9003// API parameter values that are decorated as "sensitive" in the API will not
9004// be included in the string output. The member name will be present, but the
9005// value will be replaced with "sensitive".
9006func (s EnvironmentDescription) String() string {
9007	return awsutil.Prettify(s)
9008}
9009
9010// GoString returns the string representation.
9011//
9012// API parameter values that are decorated as "sensitive" in the API will not
9013// be included in the string output. The member name will be present, but the
9014// value will be replaced with "sensitive".
9015func (s EnvironmentDescription) GoString() string {
9016	return s.String()
9017}
9018
9019// SetAbortableOperationInProgress sets the AbortableOperationInProgress field's value.
9020func (s *EnvironmentDescription) SetAbortableOperationInProgress(v bool) *EnvironmentDescription {
9021	s.AbortableOperationInProgress = &v
9022	return s
9023}
9024
9025// SetApplicationName sets the ApplicationName field's value.
9026func (s *EnvironmentDescription) SetApplicationName(v string) *EnvironmentDescription {
9027	s.ApplicationName = &v
9028	return s
9029}
9030
9031// SetCNAME sets the CNAME field's value.
9032func (s *EnvironmentDescription) SetCNAME(v string) *EnvironmentDescription {
9033	s.CNAME = &v
9034	return s
9035}
9036
9037// SetDateCreated sets the DateCreated field's value.
9038func (s *EnvironmentDescription) SetDateCreated(v time.Time) *EnvironmentDescription {
9039	s.DateCreated = &v
9040	return s
9041}
9042
9043// SetDateUpdated sets the DateUpdated field's value.
9044func (s *EnvironmentDescription) SetDateUpdated(v time.Time) *EnvironmentDescription {
9045	s.DateUpdated = &v
9046	return s
9047}
9048
9049// SetDescription sets the Description field's value.
9050func (s *EnvironmentDescription) SetDescription(v string) *EnvironmentDescription {
9051	s.Description = &v
9052	return s
9053}
9054
9055// SetEndpointURL sets the EndpointURL field's value.
9056func (s *EnvironmentDescription) SetEndpointURL(v string) *EnvironmentDescription {
9057	s.EndpointURL = &v
9058	return s
9059}
9060
9061// SetEnvironmentArn sets the EnvironmentArn field's value.
9062func (s *EnvironmentDescription) SetEnvironmentArn(v string) *EnvironmentDescription {
9063	s.EnvironmentArn = &v
9064	return s
9065}
9066
9067// SetEnvironmentId sets the EnvironmentId field's value.
9068func (s *EnvironmentDescription) SetEnvironmentId(v string) *EnvironmentDescription {
9069	s.EnvironmentId = &v
9070	return s
9071}
9072
9073// SetEnvironmentLinks sets the EnvironmentLinks field's value.
9074func (s *EnvironmentDescription) SetEnvironmentLinks(v []*EnvironmentLink) *EnvironmentDescription {
9075	s.EnvironmentLinks = v
9076	return s
9077}
9078
9079// SetEnvironmentName sets the EnvironmentName field's value.
9080func (s *EnvironmentDescription) SetEnvironmentName(v string) *EnvironmentDescription {
9081	s.EnvironmentName = &v
9082	return s
9083}
9084
9085// SetHealth sets the Health field's value.
9086func (s *EnvironmentDescription) SetHealth(v string) *EnvironmentDescription {
9087	s.Health = &v
9088	return s
9089}
9090
9091// SetHealthStatus sets the HealthStatus field's value.
9092func (s *EnvironmentDescription) SetHealthStatus(v string) *EnvironmentDescription {
9093	s.HealthStatus = &v
9094	return s
9095}
9096
9097// SetOperationsRole sets the OperationsRole field's value.
9098func (s *EnvironmentDescription) SetOperationsRole(v string) *EnvironmentDescription {
9099	s.OperationsRole = &v
9100	return s
9101}
9102
9103// SetPlatformArn sets the PlatformArn field's value.
9104func (s *EnvironmentDescription) SetPlatformArn(v string) *EnvironmentDescription {
9105	s.PlatformArn = &v
9106	return s
9107}
9108
9109// SetResources sets the Resources field's value.
9110func (s *EnvironmentDescription) SetResources(v *EnvironmentResourcesDescription) *EnvironmentDescription {
9111	s.Resources = v
9112	return s
9113}
9114
9115// SetSolutionStackName sets the SolutionStackName field's value.
9116func (s *EnvironmentDescription) SetSolutionStackName(v string) *EnvironmentDescription {
9117	s.SolutionStackName = &v
9118	return s
9119}
9120
9121// SetStatus sets the Status field's value.
9122func (s *EnvironmentDescription) SetStatus(v string) *EnvironmentDescription {
9123	s.Status = &v
9124	return s
9125}
9126
9127// SetTemplateName sets the TemplateName field's value.
9128func (s *EnvironmentDescription) SetTemplateName(v string) *EnvironmentDescription {
9129	s.TemplateName = &v
9130	return s
9131}
9132
9133// SetTier sets the Tier field's value.
9134func (s *EnvironmentDescription) SetTier(v *EnvironmentTier) *EnvironmentDescription {
9135	s.Tier = v
9136	return s
9137}
9138
9139// SetVersionLabel sets the VersionLabel field's value.
9140func (s *EnvironmentDescription) SetVersionLabel(v string) *EnvironmentDescription {
9141	s.VersionLabel = &v
9142	return s
9143}
9144
9145// Result message containing a list of environment descriptions.
9146type EnvironmentDescriptionsMessage struct {
9147	_ struct{} `type:"structure"`
9148
9149	// Returns an EnvironmentDescription list.
9150	Environments []*EnvironmentDescription `type:"list"`
9151
9152	// In a paginated request, the token that you can pass in a subsequent request
9153	// to get the next response page.
9154	NextToken *string `type:"string"`
9155}
9156
9157// String returns the string representation.
9158//
9159// API parameter values that are decorated as "sensitive" in the API will not
9160// be included in the string output. The member name will be present, but the
9161// value will be replaced with "sensitive".
9162func (s EnvironmentDescriptionsMessage) String() string {
9163	return awsutil.Prettify(s)
9164}
9165
9166// GoString returns the string representation.
9167//
9168// API parameter values that are decorated as "sensitive" in the API will not
9169// be included in the string output. The member name will be present, but the
9170// value will be replaced with "sensitive".
9171func (s EnvironmentDescriptionsMessage) GoString() string {
9172	return s.String()
9173}
9174
9175// SetEnvironments sets the Environments field's value.
9176func (s *EnvironmentDescriptionsMessage) SetEnvironments(v []*EnvironmentDescription) *EnvironmentDescriptionsMessage {
9177	s.Environments = v
9178	return s
9179}
9180
9181// SetNextToken sets the NextToken field's value.
9182func (s *EnvironmentDescriptionsMessage) SetNextToken(v string) *EnvironmentDescriptionsMessage {
9183	s.NextToken = &v
9184	return s
9185}
9186
9187// The information retrieved from the Amazon EC2 instances.
9188type EnvironmentInfoDescription struct {
9189	_ struct{} `type:"structure"`
9190
9191	// The Amazon EC2 Instance ID for this information.
9192	Ec2InstanceId *string `type:"string"`
9193
9194	// The type of information retrieved.
9195	InfoType *string `type:"string" enum:"EnvironmentInfoType"`
9196
9197	// The retrieved information. Currently contains a presigned Amazon S3 URL.
9198	// The files are deleted after 15 minutes.
9199	//
9200	// Anyone in possession of this URL can access the files before they are deleted.
9201	// Make the URL available only to trusted parties.
9202	Message *string `type:"string"`
9203
9204	// The time stamp when this information was retrieved.
9205	SampleTimestamp *time.Time `type:"timestamp"`
9206}
9207
9208// String returns the string representation.
9209//
9210// API parameter values that are decorated as "sensitive" in the API will not
9211// be included in the string output. The member name will be present, but the
9212// value will be replaced with "sensitive".
9213func (s EnvironmentInfoDescription) String() string {
9214	return awsutil.Prettify(s)
9215}
9216
9217// GoString returns the string representation.
9218//
9219// API parameter values that are decorated as "sensitive" in the API will not
9220// be included in the string output. The member name will be present, but the
9221// value will be replaced with "sensitive".
9222func (s EnvironmentInfoDescription) GoString() string {
9223	return s.String()
9224}
9225
9226// SetEc2InstanceId sets the Ec2InstanceId field's value.
9227func (s *EnvironmentInfoDescription) SetEc2InstanceId(v string) *EnvironmentInfoDescription {
9228	s.Ec2InstanceId = &v
9229	return s
9230}
9231
9232// SetInfoType sets the InfoType field's value.
9233func (s *EnvironmentInfoDescription) SetInfoType(v string) *EnvironmentInfoDescription {
9234	s.InfoType = &v
9235	return s
9236}
9237
9238// SetMessage sets the Message field's value.
9239func (s *EnvironmentInfoDescription) SetMessage(v string) *EnvironmentInfoDescription {
9240	s.Message = &v
9241	return s
9242}
9243
9244// SetSampleTimestamp sets the SampleTimestamp field's value.
9245func (s *EnvironmentInfoDescription) SetSampleTimestamp(v time.Time) *EnvironmentInfoDescription {
9246	s.SampleTimestamp = &v
9247	return s
9248}
9249
9250// A link to another environment, defined in the environment's manifest. Links
9251// provide connection information in system properties that can be used to connect
9252// to another environment in the same group. See Environment Manifest (env.yaml)
9253// (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-cfg-manifest.html)
9254// for details.
9255type EnvironmentLink struct {
9256	_ struct{} `type:"structure"`
9257
9258	// The name of the linked environment (the dependency).
9259	EnvironmentName *string `type:"string"`
9260
9261	// The name of the link.
9262	LinkName *string `type:"string"`
9263}
9264
9265// String returns the string representation.
9266//
9267// API parameter values that are decorated as "sensitive" in the API will not
9268// be included in the string output. The member name will be present, but the
9269// value will be replaced with "sensitive".
9270func (s EnvironmentLink) String() string {
9271	return awsutil.Prettify(s)
9272}
9273
9274// GoString returns the string representation.
9275//
9276// API parameter values that are decorated as "sensitive" in the API will not
9277// be included in the string output. The member name will be present, but the
9278// value will be replaced with "sensitive".
9279func (s EnvironmentLink) GoString() string {
9280	return s.String()
9281}
9282
9283// SetEnvironmentName sets the EnvironmentName field's value.
9284func (s *EnvironmentLink) SetEnvironmentName(v string) *EnvironmentLink {
9285	s.EnvironmentName = &v
9286	return s
9287}
9288
9289// SetLinkName sets the LinkName field's value.
9290func (s *EnvironmentLink) SetLinkName(v string) *EnvironmentLink {
9291	s.LinkName = &v
9292	return s
9293}
9294
9295// Describes the AWS resources in use by this environment. This data is live.
9296type EnvironmentResourceDescription struct {
9297	_ struct{} `type:"structure"`
9298
9299	// The AutoScalingGroups used by this environment.
9300	AutoScalingGroups []*AutoScalingGroup `type:"list"`
9301
9302	// The name of the environment.
9303	EnvironmentName *string `min:"4" type:"string"`
9304
9305	// The Amazon EC2 instances used by this environment.
9306	Instances []*Instance `type:"list"`
9307
9308	// The Auto Scaling launch configurations in use by this environment.
9309	LaunchConfigurations []*LaunchConfiguration `type:"list"`
9310
9311	// The Amazon EC2 launch templates in use by this environment.
9312	LaunchTemplates []*LaunchTemplate `type:"list"`
9313
9314	// The LoadBalancers in use by this environment.
9315	LoadBalancers []*LoadBalancer `type:"list"`
9316
9317	// The queues used by this environment.
9318	Queues []*Queue `type:"list"`
9319
9320	// The AutoScaling triggers in use by this environment.
9321	Triggers []*Trigger `type:"list"`
9322}
9323
9324// String returns the string representation.
9325//
9326// API parameter values that are decorated as "sensitive" in the API will not
9327// be included in the string output. The member name will be present, but the
9328// value will be replaced with "sensitive".
9329func (s EnvironmentResourceDescription) String() string {
9330	return awsutil.Prettify(s)
9331}
9332
9333// GoString returns the string representation.
9334//
9335// API parameter values that are decorated as "sensitive" in the API will not
9336// be included in the string output. The member name will be present, but the
9337// value will be replaced with "sensitive".
9338func (s EnvironmentResourceDescription) GoString() string {
9339	return s.String()
9340}
9341
9342// SetAutoScalingGroups sets the AutoScalingGroups field's value.
9343func (s *EnvironmentResourceDescription) SetAutoScalingGroups(v []*AutoScalingGroup) *EnvironmentResourceDescription {
9344	s.AutoScalingGroups = v
9345	return s
9346}
9347
9348// SetEnvironmentName sets the EnvironmentName field's value.
9349func (s *EnvironmentResourceDescription) SetEnvironmentName(v string) *EnvironmentResourceDescription {
9350	s.EnvironmentName = &v
9351	return s
9352}
9353
9354// SetInstances sets the Instances field's value.
9355func (s *EnvironmentResourceDescription) SetInstances(v []*Instance) *EnvironmentResourceDescription {
9356	s.Instances = v
9357	return s
9358}
9359
9360// SetLaunchConfigurations sets the LaunchConfigurations field's value.
9361func (s *EnvironmentResourceDescription) SetLaunchConfigurations(v []*LaunchConfiguration) *EnvironmentResourceDescription {
9362	s.LaunchConfigurations = v
9363	return s
9364}
9365
9366// SetLaunchTemplates sets the LaunchTemplates field's value.
9367func (s *EnvironmentResourceDescription) SetLaunchTemplates(v []*LaunchTemplate) *EnvironmentResourceDescription {
9368	s.LaunchTemplates = v
9369	return s
9370}
9371
9372// SetLoadBalancers sets the LoadBalancers field's value.
9373func (s *EnvironmentResourceDescription) SetLoadBalancers(v []*LoadBalancer) *EnvironmentResourceDescription {
9374	s.LoadBalancers = v
9375	return s
9376}
9377
9378// SetQueues sets the Queues field's value.
9379func (s *EnvironmentResourceDescription) SetQueues(v []*Queue) *EnvironmentResourceDescription {
9380	s.Queues = v
9381	return s
9382}
9383
9384// SetTriggers sets the Triggers field's value.
9385func (s *EnvironmentResourceDescription) SetTriggers(v []*Trigger) *EnvironmentResourceDescription {
9386	s.Triggers = v
9387	return s
9388}
9389
9390// Describes the AWS resources in use by this environment. This data is not
9391// live data.
9392type EnvironmentResourcesDescription struct {
9393	_ struct{} `type:"structure"`
9394
9395	// Describes the LoadBalancer.
9396	LoadBalancer *LoadBalancerDescription `type:"structure"`
9397}
9398
9399// String returns the string representation.
9400//
9401// API parameter values that are decorated as "sensitive" in the API will not
9402// be included in the string output. The member name will be present, but the
9403// value will be replaced with "sensitive".
9404func (s EnvironmentResourcesDescription) String() string {
9405	return awsutil.Prettify(s)
9406}
9407
9408// GoString returns the string representation.
9409//
9410// API parameter values that are decorated as "sensitive" in the API will not
9411// be included in the string output. The member name will be present, but the
9412// value will be replaced with "sensitive".
9413func (s EnvironmentResourcesDescription) GoString() string {
9414	return s.String()
9415}
9416
9417// SetLoadBalancer sets the LoadBalancer field's value.
9418func (s *EnvironmentResourcesDescription) SetLoadBalancer(v *LoadBalancerDescription) *EnvironmentResourcesDescription {
9419	s.LoadBalancer = v
9420	return s
9421}
9422
9423// Describes the properties of an environment tier
9424type EnvironmentTier struct {
9425	_ struct{} `type:"structure"`
9426
9427	// The name of this environment tier.
9428	//
9429	// Valid values:
9430	//
9431	//    * For Web server tier – WebServer
9432	//
9433	//    * For Worker tier – Worker
9434	Name *string `type:"string"`
9435
9436	// The type of this environment tier.
9437	//
9438	// Valid values:
9439	//
9440	//    * For Web server tier – Standard
9441	//
9442	//    * For Worker tier – SQS/HTTP
9443	Type *string `type:"string"`
9444
9445	// The version of this environment tier. When you don't set a value to it, Elastic
9446	// Beanstalk uses the latest compatible worker tier version.
9447	//
9448	// This member is deprecated. Any specific version that you set may become out
9449	// of date. We recommend leaving it unspecified.
9450	Version *string `type:"string"`
9451}
9452
9453// String returns the string representation.
9454//
9455// API parameter values that are decorated as "sensitive" in the API will not
9456// be included in the string output. The member name will be present, but the
9457// value will be replaced with "sensitive".
9458func (s EnvironmentTier) String() string {
9459	return awsutil.Prettify(s)
9460}
9461
9462// GoString returns the string representation.
9463//
9464// API parameter values that are decorated as "sensitive" in the API will not
9465// be included in the string output. The member name will be present, but the
9466// value will be replaced with "sensitive".
9467func (s EnvironmentTier) GoString() string {
9468	return s.String()
9469}
9470
9471// SetName sets the Name field's value.
9472func (s *EnvironmentTier) SetName(v string) *EnvironmentTier {
9473	s.Name = &v
9474	return s
9475}
9476
9477// SetType sets the Type field's value.
9478func (s *EnvironmentTier) SetType(v string) *EnvironmentTier {
9479	s.Type = &v
9480	return s
9481}
9482
9483// SetVersion sets the Version field's value.
9484func (s *EnvironmentTier) SetVersion(v string) *EnvironmentTier {
9485	s.Version = &v
9486	return s
9487}
9488
9489// Describes an event.
9490type EventDescription struct {
9491	_ struct{} `type:"structure"`
9492
9493	// The application associated with the event.
9494	ApplicationName *string `min:"1" type:"string"`
9495
9496	// The name of the environment associated with this event.
9497	EnvironmentName *string `min:"4" type:"string"`
9498
9499	// The date when the event occurred.
9500	EventDate *time.Time `type:"timestamp"`
9501
9502	// The event message.
9503	Message *string `type:"string"`
9504
9505	// The ARN of the platform version.
9506	PlatformArn *string `type:"string"`
9507
9508	// The web service request ID for the activity of this event.
9509	RequestId *string `type:"string"`
9510
9511	// The severity level of this event.
9512	Severity *string `type:"string" enum:"EventSeverity"`
9513
9514	// The name of the configuration associated with this event.
9515	TemplateName *string `min:"1" type:"string"`
9516
9517	// The release label for the application version associated with this event.
9518	VersionLabel *string `min:"1" type:"string"`
9519}
9520
9521// String returns the string representation.
9522//
9523// API parameter values that are decorated as "sensitive" in the API will not
9524// be included in the string output. The member name will be present, but the
9525// value will be replaced with "sensitive".
9526func (s EventDescription) String() string {
9527	return awsutil.Prettify(s)
9528}
9529
9530// GoString returns the string representation.
9531//
9532// API parameter values that are decorated as "sensitive" in the API will not
9533// be included in the string output. The member name will be present, but the
9534// value will be replaced with "sensitive".
9535func (s EventDescription) GoString() string {
9536	return s.String()
9537}
9538
9539// SetApplicationName sets the ApplicationName field's value.
9540func (s *EventDescription) SetApplicationName(v string) *EventDescription {
9541	s.ApplicationName = &v
9542	return s
9543}
9544
9545// SetEnvironmentName sets the EnvironmentName field's value.
9546func (s *EventDescription) SetEnvironmentName(v string) *EventDescription {
9547	s.EnvironmentName = &v
9548	return s
9549}
9550
9551// SetEventDate sets the EventDate field's value.
9552func (s *EventDescription) SetEventDate(v time.Time) *EventDescription {
9553	s.EventDate = &v
9554	return s
9555}
9556
9557// SetMessage sets the Message field's value.
9558func (s *EventDescription) SetMessage(v string) *EventDescription {
9559	s.Message = &v
9560	return s
9561}
9562
9563// SetPlatformArn sets the PlatformArn field's value.
9564func (s *EventDescription) SetPlatformArn(v string) *EventDescription {
9565	s.PlatformArn = &v
9566	return s
9567}
9568
9569// SetRequestId sets the RequestId field's value.
9570func (s *EventDescription) SetRequestId(v string) *EventDescription {
9571	s.RequestId = &v
9572	return s
9573}
9574
9575// SetSeverity sets the Severity field's value.
9576func (s *EventDescription) SetSeverity(v string) *EventDescription {
9577	s.Severity = &v
9578	return s
9579}
9580
9581// SetTemplateName sets the TemplateName field's value.
9582func (s *EventDescription) SetTemplateName(v string) *EventDescription {
9583	s.TemplateName = &v
9584	return s
9585}
9586
9587// SetVersionLabel sets the VersionLabel field's value.
9588func (s *EventDescription) SetVersionLabel(v string) *EventDescription {
9589	s.VersionLabel = &v
9590	return s
9591}
9592
9593// The description of an Amazon EC2 instance.
9594type Instance struct {
9595	_ struct{} `type:"structure"`
9596
9597	// The ID of the Amazon EC2 instance.
9598	Id *string `type:"string"`
9599}
9600
9601// String returns the string representation.
9602//
9603// API parameter values that are decorated as "sensitive" in the API will not
9604// be included in the string output. The member name will be present, but the
9605// value will be replaced with "sensitive".
9606func (s Instance) String() string {
9607	return awsutil.Prettify(s)
9608}
9609
9610// GoString returns the string representation.
9611//
9612// API parameter values that are decorated as "sensitive" in the API will not
9613// be included in the string output. The member name will be present, but the
9614// value will be replaced with "sensitive".
9615func (s Instance) GoString() string {
9616	return s.String()
9617}
9618
9619// SetId sets the Id field's value.
9620func (s *Instance) SetId(v string) *Instance {
9621	s.Id = &v
9622	return s
9623}
9624
9625// Represents summary information about the health of an instance. For more
9626// information, see Health Colors and Statuses (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html).
9627type InstanceHealthSummary struct {
9628	_ struct{} `type:"structure"`
9629
9630	// Red. The health agent is reporting a high number of request failures or other
9631	// issues for an instance or environment.
9632	Degraded *int64 `type:"integer"`
9633
9634	// Green. An operation is in progress on an instance.
9635	Info *int64 `type:"integer"`
9636
9637	// Grey. AWS Elastic Beanstalk and the health agent are reporting no data on
9638	// an instance.
9639	NoData *int64 `type:"integer"`
9640
9641	// Green. An instance is passing health checks and the health agent is not reporting
9642	// any problems.
9643	Ok *int64 `type:"integer"`
9644
9645	// Grey. An operation is in progress on an instance within the command timeout.
9646	Pending *int64 `type:"integer"`
9647
9648	// Red. The health agent is reporting a very high number of request failures
9649	// or other issues for an instance or environment.
9650	Severe *int64 `type:"integer"`
9651
9652	// Grey. AWS Elastic Beanstalk and the health agent are reporting an insufficient
9653	// amount of data on an instance.
9654	Unknown *int64 `type:"integer"`
9655
9656	// Yellow. The health agent is reporting a moderate number of request failures
9657	// or other issues for an instance or environment.
9658	Warning *int64 `type:"integer"`
9659}
9660
9661// String returns the string representation.
9662//
9663// API parameter values that are decorated as "sensitive" in the API will not
9664// be included in the string output. The member name will be present, but the
9665// value will be replaced with "sensitive".
9666func (s InstanceHealthSummary) String() string {
9667	return awsutil.Prettify(s)
9668}
9669
9670// GoString returns the string representation.
9671//
9672// API parameter values that are decorated as "sensitive" in the API will not
9673// be included in the string output. The member name will be present, but the
9674// value will be replaced with "sensitive".
9675func (s InstanceHealthSummary) GoString() string {
9676	return s.String()
9677}
9678
9679// SetDegraded sets the Degraded field's value.
9680func (s *InstanceHealthSummary) SetDegraded(v int64) *InstanceHealthSummary {
9681	s.Degraded = &v
9682	return s
9683}
9684
9685// SetInfo sets the Info field's value.
9686func (s *InstanceHealthSummary) SetInfo(v int64) *InstanceHealthSummary {
9687	s.Info = &v
9688	return s
9689}
9690
9691// SetNoData sets the NoData field's value.
9692func (s *InstanceHealthSummary) SetNoData(v int64) *InstanceHealthSummary {
9693	s.NoData = &v
9694	return s
9695}
9696
9697// SetOk sets the Ok field's value.
9698func (s *InstanceHealthSummary) SetOk(v int64) *InstanceHealthSummary {
9699	s.Ok = &v
9700	return s
9701}
9702
9703// SetPending sets the Pending field's value.
9704func (s *InstanceHealthSummary) SetPending(v int64) *InstanceHealthSummary {
9705	s.Pending = &v
9706	return s
9707}
9708
9709// SetSevere sets the Severe field's value.
9710func (s *InstanceHealthSummary) SetSevere(v int64) *InstanceHealthSummary {
9711	s.Severe = &v
9712	return s
9713}
9714
9715// SetUnknown sets the Unknown field's value.
9716func (s *InstanceHealthSummary) SetUnknown(v int64) *InstanceHealthSummary {
9717	s.Unknown = &v
9718	return s
9719}
9720
9721// SetWarning sets the Warning field's value.
9722func (s *InstanceHealthSummary) SetWarning(v int64) *InstanceHealthSummary {
9723	s.Warning = &v
9724	return s
9725}
9726
9727// Represents the average latency for the slowest X percent of requests over
9728// the last 10 seconds.
9729type Latency struct {
9730	_ struct{} `type:"structure"`
9731
9732	// The average latency for the slowest 90 percent of requests over the last
9733	// 10 seconds.
9734	P10 *float64 `type:"double"`
9735
9736	// The average latency for the slowest 50 percent of requests over the last
9737	// 10 seconds.
9738	P50 *float64 `type:"double"`
9739
9740	// The average latency for the slowest 25 percent of requests over the last
9741	// 10 seconds.
9742	P75 *float64 `type:"double"`
9743
9744	// The average latency for the slowest 15 percent of requests over the last
9745	// 10 seconds.
9746	P85 *float64 `type:"double"`
9747
9748	// The average latency for the slowest 10 percent of requests over the last
9749	// 10 seconds.
9750	P90 *float64 `type:"double"`
9751
9752	// The average latency for the slowest 5 percent of requests over the last 10
9753	// seconds.
9754	P95 *float64 `type:"double"`
9755
9756	// The average latency for the slowest 1 percent of requests over the last 10
9757	// seconds.
9758	P99 *float64 `type:"double"`
9759
9760	// The average latency for the slowest 0.1 percent of requests over the last
9761	// 10 seconds.
9762	P999 *float64 `type:"double"`
9763}
9764
9765// String returns the string representation.
9766//
9767// API parameter values that are decorated as "sensitive" in the API will not
9768// be included in the string output. The member name will be present, but the
9769// value will be replaced with "sensitive".
9770func (s Latency) String() string {
9771	return awsutil.Prettify(s)
9772}
9773
9774// GoString returns the string representation.
9775//
9776// API parameter values that are decorated as "sensitive" in the API will not
9777// be included in the string output. The member name will be present, but the
9778// value will be replaced with "sensitive".
9779func (s Latency) GoString() string {
9780	return s.String()
9781}
9782
9783// SetP10 sets the P10 field's value.
9784func (s *Latency) SetP10(v float64) *Latency {
9785	s.P10 = &v
9786	return s
9787}
9788
9789// SetP50 sets the P50 field's value.
9790func (s *Latency) SetP50(v float64) *Latency {
9791	s.P50 = &v
9792	return s
9793}
9794
9795// SetP75 sets the P75 field's value.
9796func (s *Latency) SetP75(v float64) *Latency {
9797	s.P75 = &v
9798	return s
9799}
9800
9801// SetP85 sets the P85 field's value.
9802func (s *Latency) SetP85(v float64) *Latency {
9803	s.P85 = &v
9804	return s
9805}
9806
9807// SetP90 sets the P90 field's value.
9808func (s *Latency) SetP90(v float64) *Latency {
9809	s.P90 = &v
9810	return s
9811}
9812
9813// SetP95 sets the P95 field's value.
9814func (s *Latency) SetP95(v float64) *Latency {
9815	s.P95 = &v
9816	return s
9817}
9818
9819// SetP99 sets the P99 field's value.
9820func (s *Latency) SetP99(v float64) *Latency {
9821	s.P99 = &v
9822	return s
9823}
9824
9825// SetP999 sets the P999 field's value.
9826func (s *Latency) SetP999(v float64) *Latency {
9827	s.P999 = &v
9828	return s
9829}
9830
9831// Describes an Auto Scaling launch configuration.
9832type LaunchConfiguration struct {
9833	_ struct{} `type:"structure"`
9834
9835	// The name of the launch configuration.
9836	Name *string `type:"string"`
9837}
9838
9839// String returns the string representation.
9840//
9841// API parameter values that are decorated as "sensitive" in the API will not
9842// be included in the string output. The member name will be present, but the
9843// value will be replaced with "sensitive".
9844func (s LaunchConfiguration) String() string {
9845	return awsutil.Prettify(s)
9846}
9847
9848// GoString returns the string representation.
9849//
9850// API parameter values that are decorated as "sensitive" in the API will not
9851// be included in the string output. The member name will be present, but the
9852// value will be replaced with "sensitive".
9853func (s LaunchConfiguration) GoString() string {
9854	return s.String()
9855}
9856
9857// SetName sets the Name field's value.
9858func (s *LaunchConfiguration) SetName(v string) *LaunchConfiguration {
9859	s.Name = &v
9860	return s
9861}
9862
9863// Describes an Amazon EC2 launch template.
9864type LaunchTemplate struct {
9865	_ struct{} `type:"structure"`
9866
9867	// The ID of the launch template.
9868	Id *string `type:"string"`
9869}
9870
9871// String returns the string representation.
9872//
9873// API parameter values that are decorated as "sensitive" in the API will not
9874// be included in the string output. The member name will be present, but the
9875// value will be replaced with "sensitive".
9876func (s LaunchTemplate) String() string {
9877	return awsutil.Prettify(s)
9878}
9879
9880// GoString returns the string representation.
9881//
9882// API parameter values that are decorated as "sensitive" in the API will not
9883// be included in the string output. The member name will be present, but the
9884// value will be replaced with "sensitive".
9885func (s LaunchTemplate) GoString() string {
9886	return s.String()
9887}
9888
9889// SetId sets the Id field's value.
9890func (s *LaunchTemplate) SetId(v string) *LaunchTemplate {
9891	s.Id = &v
9892	return s
9893}
9894
9895type ListAvailableSolutionStacksInput struct {
9896	_ struct{} `type:"structure"`
9897}
9898
9899// String returns the string representation.
9900//
9901// API parameter values that are decorated as "sensitive" in the API will not
9902// be included in the string output. The member name will be present, but the
9903// value will be replaced with "sensitive".
9904func (s ListAvailableSolutionStacksInput) String() string {
9905	return awsutil.Prettify(s)
9906}
9907
9908// GoString returns the string representation.
9909//
9910// API parameter values that are decorated as "sensitive" in the API will not
9911// be included in the string output. The member name will be present, but the
9912// value will be replaced with "sensitive".
9913func (s ListAvailableSolutionStacksInput) GoString() string {
9914	return s.String()
9915}
9916
9917// A list of available AWS Elastic Beanstalk solution stacks.
9918type ListAvailableSolutionStacksOutput struct {
9919	_ struct{} `type:"structure"`
9920
9921	// A list of available solution stacks and their SolutionStackDescription.
9922	SolutionStackDetails []*SolutionStackDescription `type:"list"`
9923
9924	// A list of available solution stacks.
9925	SolutionStacks []*string `type:"list"`
9926}
9927
9928// String returns the string representation.
9929//
9930// API parameter values that are decorated as "sensitive" in the API will not
9931// be included in the string output. The member name will be present, but the
9932// value will be replaced with "sensitive".
9933func (s ListAvailableSolutionStacksOutput) String() string {
9934	return awsutil.Prettify(s)
9935}
9936
9937// GoString returns the string representation.
9938//
9939// API parameter values that are decorated as "sensitive" in the API will not
9940// be included in the string output. The member name will be present, but the
9941// value will be replaced with "sensitive".
9942func (s ListAvailableSolutionStacksOutput) GoString() string {
9943	return s.String()
9944}
9945
9946// SetSolutionStackDetails sets the SolutionStackDetails field's value.
9947func (s *ListAvailableSolutionStacksOutput) SetSolutionStackDetails(v []*SolutionStackDescription) *ListAvailableSolutionStacksOutput {
9948	s.SolutionStackDetails = v
9949	return s
9950}
9951
9952// SetSolutionStacks sets the SolutionStacks field's value.
9953func (s *ListAvailableSolutionStacksOutput) SetSolutionStacks(v []*string) *ListAvailableSolutionStacksOutput {
9954	s.SolutionStacks = v
9955	return s
9956}
9957
9958type ListPlatformBranchesInput struct {
9959	_ struct{} `type:"structure"`
9960
9961	// Criteria for restricting the resulting list of platform branches. The filter
9962	// is evaluated as a logical conjunction (AND) of the separate SearchFilter
9963	// terms.
9964	//
9965	// The following list shows valid attribute values for each of the SearchFilter
9966	// terms. Most operators take a single value. The in and not_in operators can
9967	// take multiple values.
9968	//
9969	//    * Attribute = BranchName: Operator: = | != | begins_with | ends_with |
9970	//    contains | in | not_in
9971	//
9972	//    * Attribute = LifecycleState: Operator: = | != | in | not_in Values: beta
9973	//    | supported | deprecated | retired
9974	//
9975	//    * Attribute = PlatformName: Operator: = | != | begins_with | ends_with
9976	//    | contains | in | not_in
9977	//
9978	//    * Attribute = TierType: Operator: = | != Values: WebServer/Standard |
9979	//    Worker/SQS/HTTP
9980	//
9981	// Array size: limited to 10 SearchFilter objects.
9982	//
9983	// Within each SearchFilter item, the Values array is limited to 10 items.
9984	Filters []*SearchFilter `type:"list"`
9985
9986	// The maximum number of platform branch values returned in one call.
9987	MaxRecords *int64 `min:"1" type:"integer"`
9988
9989	// For a paginated request. Specify a token from a previous response page to
9990	// retrieve the next response page. All other parameter values must be identical
9991	// to the ones specified in the initial request.
9992	//
9993	// If no NextToken is specified, the first page is retrieved.
9994	NextToken *string `type:"string"`
9995}
9996
9997// String returns the string representation.
9998//
9999// API parameter values that are decorated as "sensitive" in the API will not
10000// be included in the string output. The member name will be present, but the
10001// value will be replaced with "sensitive".
10002func (s ListPlatformBranchesInput) String() string {
10003	return awsutil.Prettify(s)
10004}
10005
10006// GoString returns the string representation.
10007//
10008// API parameter values that are decorated as "sensitive" in the API will not
10009// be included in the string output. The member name will be present, but the
10010// value will be replaced with "sensitive".
10011func (s ListPlatformBranchesInput) GoString() string {
10012	return s.String()
10013}
10014
10015// Validate inspects the fields of the type to determine if they are valid.
10016func (s *ListPlatformBranchesInput) Validate() error {
10017	invalidParams := request.ErrInvalidParams{Context: "ListPlatformBranchesInput"}
10018	if s.MaxRecords != nil && *s.MaxRecords < 1 {
10019		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 1))
10020	}
10021
10022	if invalidParams.Len() > 0 {
10023		return invalidParams
10024	}
10025	return nil
10026}
10027
10028// SetFilters sets the Filters field's value.
10029func (s *ListPlatformBranchesInput) SetFilters(v []*SearchFilter) *ListPlatformBranchesInput {
10030	s.Filters = v
10031	return s
10032}
10033
10034// SetMaxRecords sets the MaxRecords field's value.
10035func (s *ListPlatformBranchesInput) SetMaxRecords(v int64) *ListPlatformBranchesInput {
10036	s.MaxRecords = &v
10037	return s
10038}
10039
10040// SetNextToken sets the NextToken field's value.
10041func (s *ListPlatformBranchesInput) SetNextToken(v string) *ListPlatformBranchesInput {
10042	s.NextToken = &v
10043	return s
10044}
10045
10046type ListPlatformBranchesOutput struct {
10047	_ struct{} `type:"structure"`
10048
10049	// In a paginated request, if this value isn't null, it's the token that you
10050	// can pass in a subsequent request to get the next response page.
10051	NextToken *string `type:"string"`
10052
10053	// Summary information about the platform branches.
10054	PlatformBranchSummaryList []*PlatformBranchSummary `type:"list"`
10055}
10056
10057// String returns the string representation.
10058//
10059// API parameter values that are decorated as "sensitive" in the API will not
10060// be included in the string output. The member name will be present, but the
10061// value will be replaced with "sensitive".
10062func (s ListPlatformBranchesOutput) String() string {
10063	return awsutil.Prettify(s)
10064}
10065
10066// GoString returns the string representation.
10067//
10068// API parameter values that are decorated as "sensitive" in the API will not
10069// be included in the string output. The member name will be present, but the
10070// value will be replaced with "sensitive".
10071func (s ListPlatformBranchesOutput) GoString() string {
10072	return s.String()
10073}
10074
10075// SetNextToken sets the NextToken field's value.
10076func (s *ListPlatformBranchesOutput) SetNextToken(v string) *ListPlatformBranchesOutput {
10077	s.NextToken = &v
10078	return s
10079}
10080
10081// SetPlatformBranchSummaryList sets the PlatformBranchSummaryList field's value.
10082func (s *ListPlatformBranchesOutput) SetPlatformBranchSummaryList(v []*PlatformBranchSummary) *ListPlatformBranchesOutput {
10083	s.PlatformBranchSummaryList = v
10084	return s
10085}
10086
10087type ListPlatformVersionsInput struct {
10088	_ struct{} `type:"structure"`
10089
10090	// Criteria for restricting the resulting list of platform versions. The filter
10091	// is interpreted as a logical conjunction (AND) of the separate PlatformFilter
10092	// terms.
10093	Filters []*PlatformFilter `type:"list"`
10094
10095	// The maximum number of platform version values returned in one call.
10096	MaxRecords *int64 `min:"1" type:"integer"`
10097
10098	// For a paginated request. Specify a token from a previous response page to
10099	// retrieve the next response page. All other parameter values must be identical
10100	// to the ones specified in the initial request.
10101	//
10102	// If no NextToken is specified, the first page is retrieved.
10103	NextToken *string `type:"string"`
10104}
10105
10106// String returns the string representation.
10107//
10108// API parameter values that are decorated as "sensitive" in the API will not
10109// be included in the string output. The member name will be present, but the
10110// value will be replaced with "sensitive".
10111func (s ListPlatformVersionsInput) String() string {
10112	return awsutil.Prettify(s)
10113}
10114
10115// GoString returns the string representation.
10116//
10117// API parameter values that are decorated as "sensitive" in the API will not
10118// be included in the string output. The member name will be present, but the
10119// value will be replaced with "sensitive".
10120func (s ListPlatformVersionsInput) GoString() string {
10121	return s.String()
10122}
10123
10124// Validate inspects the fields of the type to determine if they are valid.
10125func (s *ListPlatformVersionsInput) Validate() error {
10126	invalidParams := request.ErrInvalidParams{Context: "ListPlatformVersionsInput"}
10127	if s.MaxRecords != nil && *s.MaxRecords < 1 {
10128		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 1))
10129	}
10130
10131	if invalidParams.Len() > 0 {
10132		return invalidParams
10133	}
10134	return nil
10135}
10136
10137// SetFilters sets the Filters field's value.
10138func (s *ListPlatformVersionsInput) SetFilters(v []*PlatformFilter) *ListPlatformVersionsInput {
10139	s.Filters = v
10140	return s
10141}
10142
10143// SetMaxRecords sets the MaxRecords field's value.
10144func (s *ListPlatformVersionsInput) SetMaxRecords(v int64) *ListPlatformVersionsInput {
10145	s.MaxRecords = &v
10146	return s
10147}
10148
10149// SetNextToken sets the NextToken field's value.
10150func (s *ListPlatformVersionsInput) SetNextToken(v string) *ListPlatformVersionsInput {
10151	s.NextToken = &v
10152	return s
10153}
10154
10155type ListPlatformVersionsOutput struct {
10156	_ struct{} `type:"structure"`
10157
10158	// In a paginated request, if this value isn't null, it's the token that you
10159	// can pass in a subsequent request to get the next response page.
10160	NextToken *string `type:"string"`
10161
10162	// Summary information about the platform versions.
10163	PlatformSummaryList []*PlatformSummary `type:"list"`
10164}
10165
10166// String returns the string representation.
10167//
10168// API parameter values that are decorated as "sensitive" in the API will not
10169// be included in the string output. The member name will be present, but the
10170// value will be replaced with "sensitive".
10171func (s ListPlatformVersionsOutput) String() string {
10172	return awsutil.Prettify(s)
10173}
10174
10175// GoString returns the string representation.
10176//
10177// API parameter values that are decorated as "sensitive" in the API will not
10178// be included in the string output. The member name will be present, but the
10179// value will be replaced with "sensitive".
10180func (s ListPlatformVersionsOutput) GoString() string {
10181	return s.String()
10182}
10183
10184// SetNextToken sets the NextToken field's value.
10185func (s *ListPlatformVersionsOutput) SetNextToken(v string) *ListPlatformVersionsOutput {
10186	s.NextToken = &v
10187	return s
10188}
10189
10190// SetPlatformSummaryList sets the PlatformSummaryList field's value.
10191func (s *ListPlatformVersionsOutput) SetPlatformSummaryList(v []*PlatformSummary) *ListPlatformVersionsOutput {
10192	s.PlatformSummaryList = v
10193	return s
10194}
10195
10196type ListTagsForResourceInput struct {
10197	_ struct{} `type:"structure"`
10198
10199	// The Amazon Resource Name (ARN) of the resouce for which a tag list is requested.
10200	//
10201	// Must be the ARN of an Elastic Beanstalk resource.
10202	//
10203	// ResourceArn is a required field
10204	ResourceArn *string `type:"string" required:"true"`
10205}
10206
10207// String returns the string representation.
10208//
10209// API parameter values that are decorated as "sensitive" in the API will not
10210// be included in the string output. The member name will be present, but the
10211// value will be replaced with "sensitive".
10212func (s ListTagsForResourceInput) String() string {
10213	return awsutil.Prettify(s)
10214}
10215
10216// GoString returns the string representation.
10217//
10218// API parameter values that are decorated as "sensitive" in the API will not
10219// be included in the string output. The member name will be present, but the
10220// value will be replaced with "sensitive".
10221func (s ListTagsForResourceInput) GoString() string {
10222	return s.String()
10223}
10224
10225// Validate inspects the fields of the type to determine if they are valid.
10226func (s *ListTagsForResourceInput) Validate() error {
10227	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
10228	if s.ResourceArn == nil {
10229		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10230	}
10231
10232	if invalidParams.Len() > 0 {
10233		return invalidParams
10234	}
10235	return nil
10236}
10237
10238// SetResourceArn sets the ResourceArn field's value.
10239func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
10240	s.ResourceArn = &v
10241	return s
10242}
10243
10244type ListTagsForResourceOutput struct {
10245	_ struct{} `type:"structure"`
10246
10247	// The Amazon Resource Name (ARN) of the resource for which a tag list was requested.
10248	ResourceArn *string `type:"string"`
10249
10250	// A list of tag key-value pairs.
10251	ResourceTags []*Tag `type:"list"`
10252}
10253
10254// String returns the string representation.
10255//
10256// API parameter values that are decorated as "sensitive" in the API will not
10257// be included in the string output. The member name will be present, but the
10258// value will be replaced with "sensitive".
10259func (s ListTagsForResourceOutput) String() string {
10260	return awsutil.Prettify(s)
10261}
10262
10263// GoString returns the string representation.
10264//
10265// API parameter values that are decorated as "sensitive" in the API will not
10266// be included in the string output. The member name will be present, but the
10267// value will be replaced with "sensitive".
10268func (s ListTagsForResourceOutput) GoString() string {
10269	return s.String()
10270}
10271
10272// SetResourceArn sets the ResourceArn field's value.
10273func (s *ListTagsForResourceOutput) SetResourceArn(v string) *ListTagsForResourceOutput {
10274	s.ResourceArn = &v
10275	return s
10276}
10277
10278// SetResourceTags sets the ResourceTags field's value.
10279func (s *ListTagsForResourceOutput) SetResourceTags(v []*Tag) *ListTagsForResourceOutput {
10280	s.ResourceTags = v
10281	return s
10282}
10283
10284// Describes the properties of a Listener for the LoadBalancer.
10285type Listener struct {
10286	_ struct{} `type:"structure"`
10287
10288	// The port that is used by the Listener.
10289	Port *int64 `type:"integer"`
10290
10291	// The protocol that is used by the Listener.
10292	Protocol *string `type:"string"`
10293}
10294
10295// String returns the string representation.
10296//
10297// API parameter values that are decorated as "sensitive" in the API will not
10298// be included in the string output. The member name will be present, but the
10299// value will be replaced with "sensitive".
10300func (s Listener) String() string {
10301	return awsutil.Prettify(s)
10302}
10303
10304// GoString returns the string representation.
10305//
10306// API parameter values that are decorated as "sensitive" in the API will not
10307// be included in the string output. The member name will be present, but the
10308// value will be replaced with "sensitive".
10309func (s Listener) GoString() string {
10310	return s.String()
10311}
10312
10313// SetPort sets the Port field's value.
10314func (s *Listener) SetPort(v int64) *Listener {
10315	s.Port = &v
10316	return s
10317}
10318
10319// SetProtocol sets the Protocol field's value.
10320func (s *Listener) SetProtocol(v string) *Listener {
10321	s.Protocol = &v
10322	return s
10323}
10324
10325// Describes a LoadBalancer.
10326type LoadBalancer struct {
10327	_ struct{} `type:"structure"`
10328
10329	// The name of the LoadBalancer.
10330	Name *string `type:"string"`
10331}
10332
10333// String returns the string representation.
10334//
10335// API parameter values that are decorated as "sensitive" in the API will not
10336// be included in the string output. The member name will be present, but the
10337// value will be replaced with "sensitive".
10338func (s LoadBalancer) String() string {
10339	return awsutil.Prettify(s)
10340}
10341
10342// GoString returns the string representation.
10343//
10344// API parameter values that are decorated as "sensitive" in the API will not
10345// be included in the string output. The member name will be present, but the
10346// value will be replaced with "sensitive".
10347func (s LoadBalancer) GoString() string {
10348	return s.String()
10349}
10350
10351// SetName sets the Name field's value.
10352func (s *LoadBalancer) SetName(v string) *LoadBalancer {
10353	s.Name = &v
10354	return s
10355}
10356
10357// Describes the details of a LoadBalancer.
10358type LoadBalancerDescription struct {
10359	_ struct{} `type:"structure"`
10360
10361	// The domain name of the LoadBalancer.
10362	Domain *string `type:"string"`
10363
10364	// A list of Listeners used by the LoadBalancer.
10365	Listeners []*Listener `type:"list"`
10366
10367	// The name of the LoadBalancer.
10368	LoadBalancerName *string `type:"string"`
10369}
10370
10371// String returns the string representation.
10372//
10373// API parameter values that are decorated as "sensitive" in the API will not
10374// be included in the string output. The member name will be present, but the
10375// value will be replaced with "sensitive".
10376func (s LoadBalancerDescription) String() string {
10377	return awsutil.Prettify(s)
10378}
10379
10380// GoString returns the string representation.
10381//
10382// API parameter values that are decorated as "sensitive" in the API will not
10383// be included in the string output. The member name will be present, but the
10384// value will be replaced with "sensitive".
10385func (s LoadBalancerDescription) GoString() string {
10386	return s.String()
10387}
10388
10389// SetDomain sets the Domain field's value.
10390func (s *LoadBalancerDescription) SetDomain(v string) *LoadBalancerDescription {
10391	s.Domain = &v
10392	return s
10393}
10394
10395// SetListeners sets the Listeners field's value.
10396func (s *LoadBalancerDescription) SetListeners(v []*Listener) *LoadBalancerDescription {
10397	s.Listeners = v
10398	return s
10399}
10400
10401// SetLoadBalancerName sets the LoadBalancerName field's value.
10402func (s *LoadBalancerDescription) SetLoadBalancerName(v string) *LoadBalancerDescription {
10403	s.LoadBalancerName = &v
10404	return s
10405}
10406
10407// The record of an upcoming or in-progress managed action.
10408type ManagedAction struct {
10409	_ struct{} `type:"structure"`
10410
10411	// A description of the managed action.
10412	ActionDescription *string `type:"string"`
10413
10414	// A unique identifier for the managed action.
10415	ActionId *string `type:"string"`
10416
10417	// The type of managed action.
10418	ActionType *string `type:"string" enum:"ActionType"`
10419
10420	// The status of the managed action. If the action is Scheduled, you can apply
10421	// it immediately with ApplyEnvironmentManagedAction.
10422	Status *string `type:"string" enum:"ActionStatus"`
10423
10424	// The start time of the maintenance window in which the managed action will
10425	// execute.
10426	WindowStartTime *time.Time `type:"timestamp"`
10427}
10428
10429// String returns the string representation.
10430//
10431// API parameter values that are decorated as "sensitive" in the API will not
10432// be included in the string output. The member name will be present, but the
10433// value will be replaced with "sensitive".
10434func (s ManagedAction) String() string {
10435	return awsutil.Prettify(s)
10436}
10437
10438// GoString returns the string representation.
10439//
10440// API parameter values that are decorated as "sensitive" in the API will not
10441// be included in the string output. The member name will be present, but the
10442// value will be replaced with "sensitive".
10443func (s ManagedAction) GoString() string {
10444	return s.String()
10445}
10446
10447// SetActionDescription sets the ActionDescription field's value.
10448func (s *ManagedAction) SetActionDescription(v string) *ManagedAction {
10449	s.ActionDescription = &v
10450	return s
10451}
10452
10453// SetActionId sets the ActionId field's value.
10454func (s *ManagedAction) SetActionId(v string) *ManagedAction {
10455	s.ActionId = &v
10456	return s
10457}
10458
10459// SetActionType sets the ActionType field's value.
10460func (s *ManagedAction) SetActionType(v string) *ManagedAction {
10461	s.ActionType = &v
10462	return s
10463}
10464
10465// SetStatus sets the Status field's value.
10466func (s *ManagedAction) SetStatus(v string) *ManagedAction {
10467	s.Status = &v
10468	return s
10469}
10470
10471// SetWindowStartTime sets the WindowStartTime field's value.
10472func (s *ManagedAction) SetWindowStartTime(v time.Time) *ManagedAction {
10473	s.WindowStartTime = &v
10474	return s
10475}
10476
10477// The record of a completed or failed managed action.
10478type ManagedActionHistoryItem struct {
10479	_ struct{} `type:"structure"`
10480
10481	// A description of the managed action.
10482	ActionDescription *string `type:"string"`
10483
10484	// A unique identifier for the managed action.
10485	ActionId *string `type:"string"`
10486
10487	// The type of the managed action.
10488	ActionType *string `type:"string" enum:"ActionType"`
10489
10490	// The date and time that the action started executing.
10491	ExecutedTime *time.Time `type:"timestamp"`
10492
10493	// If the action failed, a description of the failure.
10494	FailureDescription *string `type:"string"`
10495
10496	// If the action failed, the type of failure.
10497	FailureType *string `type:"string" enum:"FailureType"`
10498
10499	// The date and time that the action finished executing.
10500	FinishedTime *time.Time `type:"timestamp"`
10501
10502	// The status of the action.
10503	Status *string `type:"string" enum:"ActionHistoryStatus"`
10504}
10505
10506// String returns the string representation.
10507//
10508// API parameter values that are decorated as "sensitive" in the API will not
10509// be included in the string output. The member name will be present, but the
10510// value will be replaced with "sensitive".
10511func (s ManagedActionHistoryItem) String() string {
10512	return awsutil.Prettify(s)
10513}
10514
10515// GoString returns the string representation.
10516//
10517// API parameter values that are decorated as "sensitive" in the API will not
10518// be included in the string output. The member name will be present, but the
10519// value will be replaced with "sensitive".
10520func (s ManagedActionHistoryItem) GoString() string {
10521	return s.String()
10522}
10523
10524// SetActionDescription sets the ActionDescription field's value.
10525func (s *ManagedActionHistoryItem) SetActionDescription(v string) *ManagedActionHistoryItem {
10526	s.ActionDescription = &v
10527	return s
10528}
10529
10530// SetActionId sets the ActionId field's value.
10531func (s *ManagedActionHistoryItem) SetActionId(v string) *ManagedActionHistoryItem {
10532	s.ActionId = &v
10533	return s
10534}
10535
10536// SetActionType sets the ActionType field's value.
10537func (s *ManagedActionHistoryItem) SetActionType(v string) *ManagedActionHistoryItem {
10538	s.ActionType = &v
10539	return s
10540}
10541
10542// SetExecutedTime sets the ExecutedTime field's value.
10543func (s *ManagedActionHistoryItem) SetExecutedTime(v time.Time) *ManagedActionHistoryItem {
10544	s.ExecutedTime = &v
10545	return s
10546}
10547
10548// SetFailureDescription sets the FailureDescription field's value.
10549func (s *ManagedActionHistoryItem) SetFailureDescription(v string) *ManagedActionHistoryItem {
10550	s.FailureDescription = &v
10551	return s
10552}
10553
10554// SetFailureType sets the FailureType field's value.
10555func (s *ManagedActionHistoryItem) SetFailureType(v string) *ManagedActionHistoryItem {
10556	s.FailureType = &v
10557	return s
10558}
10559
10560// SetFinishedTime sets the FinishedTime field's value.
10561func (s *ManagedActionHistoryItem) SetFinishedTime(v time.Time) *ManagedActionHistoryItem {
10562	s.FinishedTime = &v
10563	return s
10564}
10565
10566// SetStatus sets the Status field's value.
10567func (s *ManagedActionHistoryItem) SetStatus(v string) *ManagedActionHistoryItem {
10568	s.Status = &v
10569	return s
10570}
10571
10572// A lifecycle rule that deletes application versions after the specified number
10573// of days.
10574type MaxAgeRule struct {
10575	_ struct{} `type:"structure"`
10576
10577	// Set to true to delete a version's source bundle from Amazon S3 when Elastic
10578	// Beanstalk deletes the application version.
10579	DeleteSourceFromS3 *bool `type:"boolean"`
10580
10581	// Specify true to apply the rule, or false to disable it.
10582	//
10583	// Enabled is a required field
10584	Enabled *bool `type:"boolean" required:"true"`
10585
10586	// Specify the number of days to retain an application versions.
10587	MaxAgeInDays *int64 `type:"integer"`
10588}
10589
10590// String returns the string representation.
10591//
10592// API parameter values that are decorated as "sensitive" in the API will not
10593// be included in the string output. The member name will be present, but the
10594// value will be replaced with "sensitive".
10595func (s MaxAgeRule) String() string {
10596	return awsutil.Prettify(s)
10597}
10598
10599// GoString returns the string representation.
10600//
10601// API parameter values that are decorated as "sensitive" in the API will not
10602// be included in the string output. The member name will be present, but the
10603// value will be replaced with "sensitive".
10604func (s MaxAgeRule) GoString() string {
10605	return s.String()
10606}
10607
10608// Validate inspects the fields of the type to determine if they are valid.
10609func (s *MaxAgeRule) Validate() error {
10610	invalidParams := request.ErrInvalidParams{Context: "MaxAgeRule"}
10611	if s.Enabled == nil {
10612		invalidParams.Add(request.NewErrParamRequired("Enabled"))
10613	}
10614
10615	if invalidParams.Len() > 0 {
10616		return invalidParams
10617	}
10618	return nil
10619}
10620
10621// SetDeleteSourceFromS3 sets the DeleteSourceFromS3 field's value.
10622func (s *MaxAgeRule) SetDeleteSourceFromS3(v bool) *MaxAgeRule {
10623	s.DeleteSourceFromS3 = &v
10624	return s
10625}
10626
10627// SetEnabled sets the Enabled field's value.
10628func (s *MaxAgeRule) SetEnabled(v bool) *MaxAgeRule {
10629	s.Enabled = &v
10630	return s
10631}
10632
10633// SetMaxAgeInDays sets the MaxAgeInDays field's value.
10634func (s *MaxAgeRule) SetMaxAgeInDays(v int64) *MaxAgeRule {
10635	s.MaxAgeInDays = &v
10636	return s
10637}
10638
10639// A lifecycle rule that deletes the oldest application version when the maximum
10640// count is exceeded.
10641type MaxCountRule struct {
10642	_ struct{} `type:"structure"`
10643
10644	// Set to true to delete a version's source bundle from Amazon S3 when Elastic
10645	// Beanstalk deletes the application version.
10646	DeleteSourceFromS3 *bool `type:"boolean"`
10647
10648	// Specify true to apply the rule, or false to disable it.
10649	//
10650	// Enabled is a required field
10651	Enabled *bool `type:"boolean" required:"true"`
10652
10653	// Specify the maximum number of application versions to retain.
10654	MaxCount *int64 `type:"integer"`
10655}
10656
10657// String returns the string representation.
10658//
10659// API parameter values that are decorated as "sensitive" in the API will not
10660// be included in the string output. The member name will be present, but the
10661// value will be replaced with "sensitive".
10662func (s MaxCountRule) String() string {
10663	return awsutil.Prettify(s)
10664}
10665
10666// GoString returns the string representation.
10667//
10668// API parameter values that are decorated as "sensitive" in the API will not
10669// be included in the string output. The member name will be present, but the
10670// value will be replaced with "sensitive".
10671func (s MaxCountRule) GoString() string {
10672	return s.String()
10673}
10674
10675// Validate inspects the fields of the type to determine if they are valid.
10676func (s *MaxCountRule) Validate() error {
10677	invalidParams := request.ErrInvalidParams{Context: "MaxCountRule"}
10678	if s.Enabled == nil {
10679		invalidParams.Add(request.NewErrParamRequired("Enabled"))
10680	}
10681
10682	if invalidParams.Len() > 0 {
10683		return invalidParams
10684	}
10685	return nil
10686}
10687
10688// SetDeleteSourceFromS3 sets the DeleteSourceFromS3 field's value.
10689func (s *MaxCountRule) SetDeleteSourceFromS3(v bool) *MaxCountRule {
10690	s.DeleteSourceFromS3 = &v
10691	return s
10692}
10693
10694// SetEnabled sets the Enabled field's value.
10695func (s *MaxCountRule) SetEnabled(v bool) *MaxCountRule {
10696	s.Enabled = &v
10697	return s
10698}
10699
10700// SetMaxCount sets the MaxCount field's value.
10701func (s *MaxCountRule) SetMaxCount(v int64) *MaxCountRule {
10702	s.MaxCount = &v
10703	return s
10704}
10705
10706// A regular expression representing a restriction on a string configuration
10707// option value.
10708type OptionRestrictionRegex struct {
10709	_ struct{} `type:"structure"`
10710
10711	// A unique name representing this regular expression.
10712	Label *string `type:"string"`
10713
10714	// The regular expression pattern that a string configuration option value with
10715	// this restriction must match.
10716	Pattern *string `type:"string"`
10717}
10718
10719// String returns the string representation.
10720//
10721// API parameter values that are decorated as "sensitive" in the API will not
10722// be included in the string output. The member name will be present, but the
10723// value will be replaced with "sensitive".
10724func (s OptionRestrictionRegex) String() string {
10725	return awsutil.Prettify(s)
10726}
10727
10728// GoString returns the string representation.
10729//
10730// API parameter values that are decorated as "sensitive" in the API will not
10731// be included in the string output. The member name will be present, but the
10732// value will be replaced with "sensitive".
10733func (s OptionRestrictionRegex) GoString() string {
10734	return s.String()
10735}
10736
10737// SetLabel sets the Label field's value.
10738func (s *OptionRestrictionRegex) SetLabel(v string) *OptionRestrictionRegex {
10739	s.Label = &v
10740	return s
10741}
10742
10743// SetPattern sets the Pattern field's value.
10744func (s *OptionRestrictionRegex) SetPattern(v string) *OptionRestrictionRegex {
10745	s.Pattern = &v
10746	return s
10747}
10748
10749// A specification identifying an individual configuration option.
10750type OptionSpecification struct {
10751	_ struct{} `type:"structure"`
10752
10753	// A unique namespace identifying the option's associated AWS resource.
10754	Namespace *string `type:"string"`
10755
10756	// The name of the configuration option.
10757	OptionName *string `type:"string"`
10758
10759	// A unique resource name for a time-based scaling configuration option.
10760	ResourceName *string `min:"1" type:"string"`
10761}
10762
10763// String returns the string representation.
10764//
10765// API parameter values that are decorated as "sensitive" in the API will not
10766// be included in the string output. The member name will be present, but the
10767// value will be replaced with "sensitive".
10768func (s OptionSpecification) String() string {
10769	return awsutil.Prettify(s)
10770}
10771
10772// GoString returns the string representation.
10773//
10774// API parameter values that are decorated as "sensitive" in the API will not
10775// be included in the string output. The member name will be present, but the
10776// value will be replaced with "sensitive".
10777func (s OptionSpecification) GoString() string {
10778	return s.String()
10779}
10780
10781// Validate inspects the fields of the type to determine if they are valid.
10782func (s *OptionSpecification) Validate() error {
10783	invalidParams := request.ErrInvalidParams{Context: "OptionSpecification"}
10784	if s.ResourceName != nil && len(*s.ResourceName) < 1 {
10785		invalidParams.Add(request.NewErrParamMinLen("ResourceName", 1))
10786	}
10787
10788	if invalidParams.Len() > 0 {
10789		return invalidParams
10790	}
10791	return nil
10792}
10793
10794// SetNamespace sets the Namespace field's value.
10795func (s *OptionSpecification) SetNamespace(v string) *OptionSpecification {
10796	s.Namespace = &v
10797	return s
10798}
10799
10800// SetOptionName sets the OptionName field's value.
10801func (s *OptionSpecification) SetOptionName(v string) *OptionSpecification {
10802	s.OptionName = &v
10803	return s
10804}
10805
10806// SetResourceName sets the ResourceName field's value.
10807func (s *OptionSpecification) SetResourceName(v string) *OptionSpecification {
10808	s.ResourceName = &v
10809	return s
10810}
10811
10812// Summary information about a platform branch.
10813type PlatformBranchSummary struct {
10814	_ struct{} `type:"structure"`
10815
10816	// The name of the platform branch.
10817	BranchName *string `type:"string"`
10818
10819	// An ordinal number that designates the order in which platform branches have
10820	// been added to a platform. This can be helpful, for example, if your code
10821	// calls the ListPlatformBranches action and then displays a list of platform
10822	// branches.
10823	//
10824	// A larger BranchOrder value designates a newer platform branch within the
10825	// platform.
10826	BranchOrder *int64 `type:"integer"`
10827
10828	// The support life cycle state of the platform branch.
10829	//
10830	// Possible values: beta | supported | deprecated | retired
10831	LifecycleState *string `type:"string"`
10832
10833	// The name of the platform to which this platform branch belongs.
10834	PlatformName *string `type:"string"`
10835
10836	// The environment tiers that platform versions in this branch support.
10837	//
10838	// Possible values: WebServer/Standard | Worker/SQS/HTTP
10839	SupportedTierList []*string `type:"list"`
10840}
10841
10842// String returns the string representation.
10843//
10844// API parameter values that are decorated as "sensitive" in the API will not
10845// be included in the string output. The member name will be present, but the
10846// value will be replaced with "sensitive".
10847func (s PlatformBranchSummary) String() string {
10848	return awsutil.Prettify(s)
10849}
10850
10851// GoString returns the string representation.
10852//
10853// API parameter values that are decorated as "sensitive" in the API will not
10854// be included in the string output. The member name will be present, but the
10855// value will be replaced with "sensitive".
10856func (s PlatformBranchSummary) GoString() string {
10857	return s.String()
10858}
10859
10860// SetBranchName sets the BranchName field's value.
10861func (s *PlatformBranchSummary) SetBranchName(v string) *PlatformBranchSummary {
10862	s.BranchName = &v
10863	return s
10864}
10865
10866// SetBranchOrder sets the BranchOrder field's value.
10867func (s *PlatformBranchSummary) SetBranchOrder(v int64) *PlatformBranchSummary {
10868	s.BranchOrder = &v
10869	return s
10870}
10871
10872// SetLifecycleState sets the LifecycleState field's value.
10873func (s *PlatformBranchSummary) SetLifecycleState(v string) *PlatformBranchSummary {
10874	s.LifecycleState = &v
10875	return s
10876}
10877
10878// SetPlatformName sets the PlatformName field's value.
10879func (s *PlatformBranchSummary) SetPlatformName(v string) *PlatformBranchSummary {
10880	s.PlatformName = &v
10881	return s
10882}
10883
10884// SetSupportedTierList sets the SupportedTierList field's value.
10885func (s *PlatformBranchSummary) SetSupportedTierList(v []*string) *PlatformBranchSummary {
10886	s.SupportedTierList = v
10887	return s
10888}
10889
10890// Detailed information about a platform version.
10891type PlatformDescription struct {
10892	_ struct{} `type:"structure"`
10893
10894	// The custom AMIs supported by the platform version.
10895	CustomAmiList []*CustomAmi `type:"list"`
10896
10897	// The date when the platform version was created.
10898	DateCreated *time.Time `type:"timestamp"`
10899
10900	// The date when the platform version was last updated.
10901	DateUpdated *time.Time `type:"timestamp"`
10902
10903	// The description of the platform version.
10904	Description *string `type:"string"`
10905
10906	// The frameworks supported by the platform version.
10907	Frameworks []*PlatformFramework `type:"list"`
10908
10909	// Information about the maintainer of the platform version.
10910	Maintainer *string `type:"string"`
10911
10912	// The operating system used by the platform version.
10913	OperatingSystemName *string `type:"string"`
10914
10915	// The version of the operating system used by the platform version.
10916	OperatingSystemVersion *string `type:"string"`
10917
10918	// The ARN of the platform version.
10919	PlatformArn *string `type:"string"`
10920
10921	// The state of the platform version's branch in its lifecycle.
10922	//
10923	// Possible values: Beta | Supported | Deprecated | Retired
10924	PlatformBranchLifecycleState *string `type:"string"`
10925
10926	// The platform branch to which the platform version belongs.
10927	PlatformBranchName *string `type:"string"`
10928
10929	// The category of the platform version.
10930	PlatformCategory *string `type:"string"`
10931
10932	// The state of the platform version in its lifecycle.
10933	//
10934	// Possible values: Recommended | null
10935	//
10936	// If a null value is returned, the platform version isn't the recommended one
10937	// for its branch. Each platform branch has a single recommended platform version,
10938	// typically the most recent one.
10939	PlatformLifecycleState *string `type:"string"`
10940
10941	// The name of the platform version.
10942	PlatformName *string `type:"string"`
10943
10944	// The AWS account ID of the person who created the platform version.
10945	PlatformOwner *string `type:"string"`
10946
10947	// The status of the platform version.
10948	PlatformStatus *string `type:"string" enum:"PlatformStatus"`
10949
10950	// The version of the platform version.
10951	PlatformVersion *string `type:"string"`
10952
10953	// The programming languages supported by the platform version.
10954	ProgrammingLanguages []*PlatformProgrammingLanguage `type:"list"`
10955
10956	// The name of the solution stack used by the platform version.
10957	SolutionStackName *string `type:"string"`
10958
10959	// The additions supported by the platform version.
10960	SupportedAddonList []*string `type:"list"`
10961
10962	// The tiers supported by the platform version.
10963	SupportedTierList []*string `type:"list"`
10964}
10965
10966// String returns the string representation.
10967//
10968// API parameter values that are decorated as "sensitive" in the API will not
10969// be included in the string output. The member name will be present, but the
10970// value will be replaced with "sensitive".
10971func (s PlatformDescription) String() string {
10972	return awsutil.Prettify(s)
10973}
10974
10975// GoString returns the string representation.
10976//
10977// API parameter values that are decorated as "sensitive" in the API will not
10978// be included in the string output. The member name will be present, but the
10979// value will be replaced with "sensitive".
10980func (s PlatformDescription) GoString() string {
10981	return s.String()
10982}
10983
10984// SetCustomAmiList sets the CustomAmiList field's value.
10985func (s *PlatformDescription) SetCustomAmiList(v []*CustomAmi) *PlatformDescription {
10986	s.CustomAmiList = v
10987	return s
10988}
10989
10990// SetDateCreated sets the DateCreated field's value.
10991func (s *PlatformDescription) SetDateCreated(v time.Time) *PlatformDescription {
10992	s.DateCreated = &v
10993	return s
10994}
10995
10996// SetDateUpdated sets the DateUpdated field's value.
10997func (s *PlatformDescription) SetDateUpdated(v time.Time) *PlatformDescription {
10998	s.DateUpdated = &v
10999	return s
11000}
11001
11002// SetDescription sets the Description field's value.
11003func (s *PlatformDescription) SetDescription(v string) *PlatformDescription {
11004	s.Description = &v
11005	return s
11006}
11007
11008// SetFrameworks sets the Frameworks field's value.
11009func (s *PlatformDescription) SetFrameworks(v []*PlatformFramework) *PlatformDescription {
11010	s.Frameworks = v
11011	return s
11012}
11013
11014// SetMaintainer sets the Maintainer field's value.
11015func (s *PlatformDescription) SetMaintainer(v string) *PlatformDescription {
11016	s.Maintainer = &v
11017	return s
11018}
11019
11020// SetOperatingSystemName sets the OperatingSystemName field's value.
11021func (s *PlatformDescription) SetOperatingSystemName(v string) *PlatformDescription {
11022	s.OperatingSystemName = &v
11023	return s
11024}
11025
11026// SetOperatingSystemVersion sets the OperatingSystemVersion field's value.
11027func (s *PlatformDescription) SetOperatingSystemVersion(v string) *PlatformDescription {
11028	s.OperatingSystemVersion = &v
11029	return s
11030}
11031
11032// SetPlatformArn sets the PlatformArn field's value.
11033func (s *PlatformDescription) SetPlatformArn(v string) *PlatformDescription {
11034	s.PlatformArn = &v
11035	return s
11036}
11037
11038// SetPlatformBranchLifecycleState sets the PlatformBranchLifecycleState field's value.
11039func (s *PlatformDescription) SetPlatformBranchLifecycleState(v string) *PlatformDescription {
11040	s.PlatformBranchLifecycleState = &v
11041	return s
11042}
11043
11044// SetPlatformBranchName sets the PlatformBranchName field's value.
11045func (s *PlatformDescription) SetPlatformBranchName(v string) *PlatformDescription {
11046	s.PlatformBranchName = &v
11047	return s
11048}
11049
11050// SetPlatformCategory sets the PlatformCategory field's value.
11051func (s *PlatformDescription) SetPlatformCategory(v string) *PlatformDescription {
11052	s.PlatformCategory = &v
11053	return s
11054}
11055
11056// SetPlatformLifecycleState sets the PlatformLifecycleState field's value.
11057func (s *PlatformDescription) SetPlatformLifecycleState(v string) *PlatformDescription {
11058	s.PlatformLifecycleState = &v
11059	return s
11060}
11061
11062// SetPlatformName sets the PlatformName field's value.
11063func (s *PlatformDescription) SetPlatformName(v string) *PlatformDescription {
11064	s.PlatformName = &v
11065	return s
11066}
11067
11068// SetPlatformOwner sets the PlatformOwner field's value.
11069func (s *PlatformDescription) SetPlatformOwner(v string) *PlatformDescription {
11070	s.PlatformOwner = &v
11071	return s
11072}
11073
11074// SetPlatformStatus sets the PlatformStatus field's value.
11075func (s *PlatformDescription) SetPlatformStatus(v string) *PlatformDescription {
11076	s.PlatformStatus = &v
11077	return s
11078}
11079
11080// SetPlatformVersion sets the PlatformVersion field's value.
11081func (s *PlatformDescription) SetPlatformVersion(v string) *PlatformDescription {
11082	s.PlatformVersion = &v
11083	return s
11084}
11085
11086// SetProgrammingLanguages sets the ProgrammingLanguages field's value.
11087func (s *PlatformDescription) SetProgrammingLanguages(v []*PlatformProgrammingLanguage) *PlatformDescription {
11088	s.ProgrammingLanguages = v
11089	return s
11090}
11091
11092// SetSolutionStackName sets the SolutionStackName field's value.
11093func (s *PlatformDescription) SetSolutionStackName(v string) *PlatformDescription {
11094	s.SolutionStackName = &v
11095	return s
11096}
11097
11098// SetSupportedAddonList sets the SupportedAddonList field's value.
11099func (s *PlatformDescription) SetSupportedAddonList(v []*string) *PlatformDescription {
11100	s.SupportedAddonList = v
11101	return s
11102}
11103
11104// SetSupportedTierList sets the SupportedTierList field's value.
11105func (s *PlatformDescription) SetSupportedTierList(v []*string) *PlatformDescription {
11106	s.SupportedTierList = v
11107	return s
11108}
11109
11110// Describes criteria to restrict the results when listing platform versions.
11111//
11112// The filter is evaluated as follows: Type Operator Values[1]
11113type PlatformFilter struct {
11114	_ struct{} `type:"structure"`
11115
11116	// The operator to apply to the Type with each of the Values.
11117	//
11118	// Valid values: = | != | < | <= | > | >= | contains | begins_with | ends_with
11119	Operator *string `type:"string"`
11120
11121	// The platform version attribute to which the filter values are applied.
11122	//
11123	// Valid values: PlatformName | PlatformVersion | PlatformStatus | PlatformBranchName
11124	// | PlatformLifecycleState | PlatformOwner | SupportedTier | SupportedAddon
11125	// | ProgrammingLanguageName | OperatingSystemName
11126	Type *string `type:"string"`
11127
11128	// The list of values applied to the filtering platform version attribute. Only
11129	// one value is supported for all current operators.
11130	//
11131	// The following list shows valid filter values for some filter attributes.
11132	//
11133	//    * PlatformStatus: Creating | Failed | Ready | Deleting | Deleted
11134	//
11135	//    * PlatformLifecycleState: recommended
11136	//
11137	//    * SupportedTier: WebServer/Standard | Worker/SQS/HTTP
11138	//
11139	//    * SupportedAddon: Log/S3 | Monitoring/Healthd | WorkerDaemon/SQSD
11140	Values []*string `type:"list"`
11141}
11142
11143// String returns the string representation.
11144//
11145// API parameter values that are decorated as "sensitive" in the API will not
11146// be included in the string output. The member name will be present, but the
11147// value will be replaced with "sensitive".
11148func (s PlatformFilter) String() string {
11149	return awsutil.Prettify(s)
11150}
11151
11152// GoString returns the string representation.
11153//
11154// API parameter values that are decorated as "sensitive" in the API will not
11155// be included in the string output. The member name will be present, but the
11156// value will be replaced with "sensitive".
11157func (s PlatformFilter) GoString() string {
11158	return s.String()
11159}
11160
11161// SetOperator sets the Operator field's value.
11162func (s *PlatformFilter) SetOperator(v string) *PlatformFilter {
11163	s.Operator = &v
11164	return s
11165}
11166
11167// SetType sets the Type field's value.
11168func (s *PlatformFilter) SetType(v string) *PlatformFilter {
11169	s.Type = &v
11170	return s
11171}
11172
11173// SetValues sets the Values field's value.
11174func (s *PlatformFilter) SetValues(v []*string) *PlatformFilter {
11175	s.Values = v
11176	return s
11177}
11178
11179// A framework supported by the platform.
11180type PlatformFramework struct {
11181	_ struct{} `type:"structure"`
11182
11183	// The name of the framework.
11184	Name *string `type:"string"`
11185
11186	// The version of the framework.
11187	Version *string `type:"string"`
11188}
11189
11190// String returns the string representation.
11191//
11192// API parameter values that are decorated as "sensitive" in the API will not
11193// be included in the string output. The member name will be present, but the
11194// value will be replaced with "sensitive".
11195func (s PlatformFramework) String() string {
11196	return awsutil.Prettify(s)
11197}
11198
11199// GoString returns the string representation.
11200//
11201// API parameter values that are decorated as "sensitive" in the API will not
11202// be included in the string output. The member name will be present, but the
11203// value will be replaced with "sensitive".
11204func (s PlatformFramework) GoString() string {
11205	return s.String()
11206}
11207
11208// SetName sets the Name field's value.
11209func (s *PlatformFramework) SetName(v string) *PlatformFramework {
11210	s.Name = &v
11211	return s
11212}
11213
11214// SetVersion sets the Version field's value.
11215func (s *PlatformFramework) SetVersion(v string) *PlatformFramework {
11216	s.Version = &v
11217	return s
11218}
11219
11220// A programming language supported by the platform.
11221type PlatformProgrammingLanguage struct {
11222	_ struct{} `type:"structure"`
11223
11224	// The name of the programming language.
11225	Name *string `type:"string"`
11226
11227	// The version of the programming language.
11228	Version *string `type:"string"`
11229}
11230
11231// String returns the string representation.
11232//
11233// API parameter values that are decorated as "sensitive" in the API will not
11234// be included in the string output. The member name will be present, but the
11235// value will be replaced with "sensitive".
11236func (s PlatformProgrammingLanguage) String() string {
11237	return awsutil.Prettify(s)
11238}
11239
11240// GoString returns the string representation.
11241//
11242// API parameter values that are decorated as "sensitive" in the API will not
11243// be included in the string output. The member name will be present, but the
11244// value will be replaced with "sensitive".
11245func (s PlatformProgrammingLanguage) GoString() string {
11246	return s.String()
11247}
11248
11249// SetName sets the Name field's value.
11250func (s *PlatformProgrammingLanguage) SetName(v string) *PlatformProgrammingLanguage {
11251	s.Name = &v
11252	return s
11253}
11254
11255// SetVersion sets the Version field's value.
11256func (s *PlatformProgrammingLanguage) SetVersion(v string) *PlatformProgrammingLanguage {
11257	s.Version = &v
11258	return s
11259}
11260
11261// Summary information about a platform version.
11262type PlatformSummary struct {
11263	_ struct{} `type:"structure"`
11264
11265	// The operating system used by the platform version.
11266	OperatingSystemName *string `type:"string"`
11267
11268	// The version of the operating system used by the platform version.
11269	OperatingSystemVersion *string `type:"string"`
11270
11271	// The ARN of the platform version.
11272	PlatformArn *string `type:"string"`
11273
11274	// The state of the platform version's branch in its lifecycle.
11275	//
11276	// Possible values: beta | supported | deprecated | retired
11277	PlatformBranchLifecycleState *string `type:"string"`
11278
11279	// The platform branch to which the platform version belongs.
11280	PlatformBranchName *string `type:"string"`
11281
11282	// The category of platform version.
11283	PlatformCategory *string `type:"string"`
11284
11285	// The state of the platform version in its lifecycle.
11286	//
11287	// Possible values: recommended | empty
11288	//
11289	// If an empty value is returned, the platform version is supported but isn't
11290	// the recommended one for its branch.
11291	PlatformLifecycleState *string `type:"string"`
11292
11293	// The AWS account ID of the person who created the platform version.
11294	PlatformOwner *string `type:"string"`
11295
11296	// The status of the platform version. You can create an environment from the
11297	// platform version once it is ready.
11298	PlatformStatus *string `type:"string" enum:"PlatformStatus"`
11299
11300	// The version string of the platform version.
11301	PlatformVersion *string `type:"string"`
11302
11303	// The additions associated with the platform version.
11304	SupportedAddonList []*string `type:"list"`
11305
11306	// The tiers in which the platform version runs.
11307	SupportedTierList []*string `type:"list"`
11308}
11309
11310// String returns the string representation.
11311//
11312// API parameter values that are decorated as "sensitive" in the API will not
11313// be included in the string output. The member name will be present, but the
11314// value will be replaced with "sensitive".
11315func (s PlatformSummary) String() string {
11316	return awsutil.Prettify(s)
11317}
11318
11319// GoString returns the string representation.
11320//
11321// API parameter values that are decorated as "sensitive" in the API will not
11322// be included in the string output. The member name will be present, but the
11323// value will be replaced with "sensitive".
11324func (s PlatformSummary) GoString() string {
11325	return s.String()
11326}
11327
11328// SetOperatingSystemName sets the OperatingSystemName field's value.
11329func (s *PlatformSummary) SetOperatingSystemName(v string) *PlatformSummary {
11330	s.OperatingSystemName = &v
11331	return s
11332}
11333
11334// SetOperatingSystemVersion sets the OperatingSystemVersion field's value.
11335func (s *PlatformSummary) SetOperatingSystemVersion(v string) *PlatformSummary {
11336	s.OperatingSystemVersion = &v
11337	return s
11338}
11339
11340// SetPlatformArn sets the PlatformArn field's value.
11341func (s *PlatformSummary) SetPlatformArn(v string) *PlatformSummary {
11342	s.PlatformArn = &v
11343	return s
11344}
11345
11346// SetPlatformBranchLifecycleState sets the PlatformBranchLifecycleState field's value.
11347func (s *PlatformSummary) SetPlatformBranchLifecycleState(v string) *PlatformSummary {
11348	s.PlatformBranchLifecycleState = &v
11349	return s
11350}
11351
11352// SetPlatformBranchName sets the PlatformBranchName field's value.
11353func (s *PlatformSummary) SetPlatformBranchName(v string) *PlatformSummary {
11354	s.PlatformBranchName = &v
11355	return s
11356}
11357
11358// SetPlatformCategory sets the PlatformCategory field's value.
11359func (s *PlatformSummary) SetPlatformCategory(v string) *PlatformSummary {
11360	s.PlatformCategory = &v
11361	return s
11362}
11363
11364// SetPlatformLifecycleState sets the PlatformLifecycleState field's value.
11365func (s *PlatformSummary) SetPlatformLifecycleState(v string) *PlatformSummary {
11366	s.PlatformLifecycleState = &v
11367	return s
11368}
11369
11370// SetPlatformOwner sets the PlatformOwner field's value.
11371func (s *PlatformSummary) SetPlatformOwner(v string) *PlatformSummary {
11372	s.PlatformOwner = &v
11373	return s
11374}
11375
11376// SetPlatformStatus sets the PlatformStatus field's value.
11377func (s *PlatformSummary) SetPlatformStatus(v string) *PlatformSummary {
11378	s.PlatformStatus = &v
11379	return s
11380}
11381
11382// SetPlatformVersion sets the PlatformVersion field's value.
11383func (s *PlatformSummary) SetPlatformVersion(v string) *PlatformSummary {
11384	s.PlatformVersion = &v
11385	return s
11386}
11387
11388// SetSupportedAddonList sets the SupportedAddonList field's value.
11389func (s *PlatformSummary) SetSupportedAddonList(v []*string) *PlatformSummary {
11390	s.SupportedAddonList = v
11391	return s
11392}
11393
11394// SetSupportedTierList sets the SupportedTierList field's value.
11395func (s *PlatformSummary) SetSupportedTierList(v []*string) *PlatformSummary {
11396	s.SupportedTierList = v
11397	return s
11398}
11399
11400// Describes a queue.
11401type Queue struct {
11402	_ struct{} `type:"structure"`
11403
11404	// The name of the queue.
11405	Name *string `type:"string"`
11406
11407	// The URL of the queue.
11408	URL *string `type:"string"`
11409}
11410
11411// String returns the string representation.
11412//
11413// API parameter values that are decorated as "sensitive" in the API will not
11414// be included in the string output. The member name will be present, but the
11415// value will be replaced with "sensitive".
11416func (s Queue) String() string {
11417	return awsutil.Prettify(s)
11418}
11419
11420// GoString returns the string representation.
11421//
11422// API parameter values that are decorated as "sensitive" in the API will not
11423// be included in the string output. The member name will be present, but the
11424// value will be replaced with "sensitive".
11425func (s Queue) GoString() string {
11426	return s.String()
11427}
11428
11429// SetName sets the Name field's value.
11430func (s *Queue) SetName(v string) *Queue {
11431	s.Name = &v
11432	return s
11433}
11434
11435// SetURL sets the URL field's value.
11436func (s *Queue) SetURL(v string) *Queue {
11437	s.URL = &v
11438	return s
11439}
11440
11441type RebuildEnvironmentInput struct {
11442	_ struct{} `type:"structure"`
11443
11444	// The ID of the environment to rebuild.
11445	//
11446	// Condition: You must specify either this or an EnvironmentName, or both. If
11447	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
11448	// error.
11449	EnvironmentId *string `type:"string"`
11450
11451	// The name of the environment to rebuild.
11452	//
11453	// Condition: You must specify either this or an EnvironmentId, or both. If
11454	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
11455	// error.
11456	EnvironmentName *string `min:"4" type:"string"`
11457}
11458
11459// String returns the string representation.
11460//
11461// API parameter values that are decorated as "sensitive" in the API will not
11462// be included in the string output. The member name will be present, but the
11463// value will be replaced with "sensitive".
11464func (s RebuildEnvironmentInput) String() string {
11465	return awsutil.Prettify(s)
11466}
11467
11468// GoString returns the string representation.
11469//
11470// API parameter values that are decorated as "sensitive" in the API will not
11471// be included in the string output. The member name will be present, but the
11472// value will be replaced with "sensitive".
11473func (s RebuildEnvironmentInput) GoString() string {
11474	return s.String()
11475}
11476
11477// Validate inspects the fields of the type to determine if they are valid.
11478func (s *RebuildEnvironmentInput) Validate() error {
11479	invalidParams := request.ErrInvalidParams{Context: "RebuildEnvironmentInput"}
11480	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
11481		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
11482	}
11483
11484	if invalidParams.Len() > 0 {
11485		return invalidParams
11486	}
11487	return nil
11488}
11489
11490// SetEnvironmentId sets the EnvironmentId field's value.
11491func (s *RebuildEnvironmentInput) SetEnvironmentId(v string) *RebuildEnvironmentInput {
11492	s.EnvironmentId = &v
11493	return s
11494}
11495
11496// SetEnvironmentName sets the EnvironmentName field's value.
11497func (s *RebuildEnvironmentInput) SetEnvironmentName(v string) *RebuildEnvironmentInput {
11498	s.EnvironmentName = &v
11499	return s
11500}
11501
11502type RebuildEnvironmentOutput struct {
11503	_ struct{} `type:"structure"`
11504}
11505
11506// String returns the string representation.
11507//
11508// API parameter values that are decorated as "sensitive" in the API will not
11509// be included in the string output. The member name will be present, but the
11510// value will be replaced with "sensitive".
11511func (s RebuildEnvironmentOutput) String() string {
11512	return awsutil.Prettify(s)
11513}
11514
11515// GoString returns the string representation.
11516//
11517// API parameter values that are decorated as "sensitive" in the API will not
11518// be included in the string output. The member name will be present, but the
11519// value will be replaced with "sensitive".
11520func (s RebuildEnvironmentOutput) GoString() string {
11521	return s.String()
11522}
11523
11524// Request to retrieve logs from an environment and store them in your Elastic
11525// Beanstalk storage bucket.
11526type RequestEnvironmentInfoInput struct {
11527	_ struct{} `type:"structure"`
11528
11529	// The ID of the environment of the requested data.
11530	//
11531	// If no such environment is found, RequestEnvironmentInfo returns an InvalidParameterValue
11532	// error.
11533	//
11534	// Condition: You must specify either this or an EnvironmentName, or both. If
11535	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
11536	// error.
11537	EnvironmentId *string `type:"string"`
11538
11539	// The name of the environment of the requested data.
11540	//
11541	// If no such environment is found, RequestEnvironmentInfo returns an InvalidParameterValue
11542	// error.
11543	//
11544	// Condition: You must specify either this or an EnvironmentId, or both. If
11545	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
11546	// error.
11547	EnvironmentName *string `min:"4" type:"string"`
11548
11549	// The type of information to request.
11550	//
11551	// InfoType is a required field
11552	InfoType *string `type:"string" required:"true" enum:"EnvironmentInfoType"`
11553}
11554
11555// String returns the string representation.
11556//
11557// API parameter values that are decorated as "sensitive" in the API will not
11558// be included in the string output. The member name will be present, but the
11559// value will be replaced with "sensitive".
11560func (s RequestEnvironmentInfoInput) String() string {
11561	return awsutil.Prettify(s)
11562}
11563
11564// GoString returns the string representation.
11565//
11566// API parameter values that are decorated as "sensitive" in the API will not
11567// be included in the string output. The member name will be present, but the
11568// value will be replaced with "sensitive".
11569func (s RequestEnvironmentInfoInput) GoString() string {
11570	return s.String()
11571}
11572
11573// Validate inspects the fields of the type to determine if they are valid.
11574func (s *RequestEnvironmentInfoInput) Validate() error {
11575	invalidParams := request.ErrInvalidParams{Context: "RequestEnvironmentInfoInput"}
11576	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
11577		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
11578	}
11579	if s.InfoType == nil {
11580		invalidParams.Add(request.NewErrParamRequired("InfoType"))
11581	}
11582
11583	if invalidParams.Len() > 0 {
11584		return invalidParams
11585	}
11586	return nil
11587}
11588
11589// SetEnvironmentId sets the EnvironmentId field's value.
11590func (s *RequestEnvironmentInfoInput) SetEnvironmentId(v string) *RequestEnvironmentInfoInput {
11591	s.EnvironmentId = &v
11592	return s
11593}
11594
11595// SetEnvironmentName sets the EnvironmentName field's value.
11596func (s *RequestEnvironmentInfoInput) SetEnvironmentName(v string) *RequestEnvironmentInfoInput {
11597	s.EnvironmentName = &v
11598	return s
11599}
11600
11601// SetInfoType sets the InfoType field's value.
11602func (s *RequestEnvironmentInfoInput) SetInfoType(v string) *RequestEnvironmentInfoInput {
11603	s.InfoType = &v
11604	return s
11605}
11606
11607type RequestEnvironmentInfoOutput struct {
11608	_ struct{} `type:"structure"`
11609}
11610
11611// String returns the string representation.
11612//
11613// API parameter values that are decorated as "sensitive" in the API will not
11614// be included in the string output. The member name will be present, but the
11615// value will be replaced with "sensitive".
11616func (s RequestEnvironmentInfoOutput) String() string {
11617	return awsutil.Prettify(s)
11618}
11619
11620// GoString returns the string representation.
11621//
11622// API parameter values that are decorated as "sensitive" in the API will not
11623// be included in the string output. The member name will be present, but the
11624// value will be replaced with "sensitive".
11625func (s RequestEnvironmentInfoOutput) GoString() string {
11626	return s.String()
11627}
11628
11629// The AWS Elastic Beanstalk quota information for a single resource type in
11630// an AWS account. It reflects the resource's limits for this account.
11631type ResourceQuota struct {
11632	_ struct{} `type:"structure"`
11633
11634	// The maximum number of instances of this Elastic Beanstalk resource type that
11635	// an AWS account can use.
11636	Maximum *int64 `type:"integer"`
11637}
11638
11639// String returns the string representation.
11640//
11641// API parameter values that are decorated as "sensitive" in the API will not
11642// be included in the string output. The member name will be present, but the
11643// value will be replaced with "sensitive".
11644func (s ResourceQuota) String() string {
11645	return awsutil.Prettify(s)
11646}
11647
11648// GoString returns the string representation.
11649//
11650// API parameter values that are decorated as "sensitive" in the API will not
11651// be included in the string output. The member name will be present, but the
11652// value will be replaced with "sensitive".
11653func (s ResourceQuota) GoString() string {
11654	return s.String()
11655}
11656
11657// SetMaximum sets the Maximum field's value.
11658func (s *ResourceQuota) SetMaximum(v int64) *ResourceQuota {
11659	s.Maximum = &v
11660	return s
11661}
11662
11663// A set of per-resource AWS Elastic Beanstalk quotas associated with an AWS
11664// account. They reflect Elastic Beanstalk resource limits for this account.
11665type ResourceQuotas struct {
11666	_ struct{} `type:"structure"`
11667
11668	// The quota for applications in the AWS account.
11669	ApplicationQuota *ResourceQuota `type:"structure"`
11670
11671	// The quota for application versions in the AWS account.
11672	ApplicationVersionQuota *ResourceQuota `type:"structure"`
11673
11674	// The quota for configuration templates in the AWS account.
11675	ConfigurationTemplateQuota *ResourceQuota `type:"structure"`
11676
11677	// The quota for custom platforms in the AWS account.
11678	CustomPlatformQuota *ResourceQuota `type:"structure"`
11679
11680	// The quota for environments in the AWS account.
11681	EnvironmentQuota *ResourceQuota `type:"structure"`
11682}
11683
11684// String returns the string representation.
11685//
11686// API parameter values that are decorated as "sensitive" in the API will not
11687// be included in the string output. The member name will be present, but the
11688// value will be replaced with "sensitive".
11689func (s ResourceQuotas) String() string {
11690	return awsutil.Prettify(s)
11691}
11692
11693// GoString returns the string representation.
11694//
11695// API parameter values that are decorated as "sensitive" in the API will not
11696// be included in the string output. The member name will be present, but the
11697// value will be replaced with "sensitive".
11698func (s ResourceQuotas) GoString() string {
11699	return s.String()
11700}
11701
11702// SetApplicationQuota sets the ApplicationQuota field's value.
11703func (s *ResourceQuotas) SetApplicationQuota(v *ResourceQuota) *ResourceQuotas {
11704	s.ApplicationQuota = v
11705	return s
11706}
11707
11708// SetApplicationVersionQuota sets the ApplicationVersionQuota field's value.
11709func (s *ResourceQuotas) SetApplicationVersionQuota(v *ResourceQuota) *ResourceQuotas {
11710	s.ApplicationVersionQuota = v
11711	return s
11712}
11713
11714// SetConfigurationTemplateQuota sets the ConfigurationTemplateQuota field's value.
11715func (s *ResourceQuotas) SetConfigurationTemplateQuota(v *ResourceQuota) *ResourceQuotas {
11716	s.ConfigurationTemplateQuota = v
11717	return s
11718}
11719
11720// SetCustomPlatformQuota sets the CustomPlatformQuota field's value.
11721func (s *ResourceQuotas) SetCustomPlatformQuota(v *ResourceQuota) *ResourceQuotas {
11722	s.CustomPlatformQuota = v
11723	return s
11724}
11725
11726// SetEnvironmentQuota sets the EnvironmentQuota field's value.
11727func (s *ResourceQuotas) SetEnvironmentQuota(v *ResourceQuota) *ResourceQuotas {
11728	s.EnvironmentQuota = v
11729	return s
11730}
11731
11732type RestartAppServerInput struct {
11733	_ struct{} `type:"structure"`
11734
11735	// The ID of the environment to restart the server for.
11736	//
11737	// Condition: You must specify either this or an EnvironmentName, or both. If
11738	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
11739	// error.
11740	EnvironmentId *string `type:"string"`
11741
11742	// The name of the environment to restart the server for.
11743	//
11744	// Condition: You must specify either this or an EnvironmentId, or both. If
11745	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
11746	// error.
11747	EnvironmentName *string `min:"4" type:"string"`
11748}
11749
11750// String returns the string representation.
11751//
11752// API parameter values that are decorated as "sensitive" in the API will not
11753// be included in the string output. The member name will be present, but the
11754// value will be replaced with "sensitive".
11755func (s RestartAppServerInput) String() string {
11756	return awsutil.Prettify(s)
11757}
11758
11759// GoString returns the string representation.
11760//
11761// API parameter values that are decorated as "sensitive" in the API will not
11762// be included in the string output. The member name will be present, but the
11763// value will be replaced with "sensitive".
11764func (s RestartAppServerInput) GoString() string {
11765	return s.String()
11766}
11767
11768// Validate inspects the fields of the type to determine if they are valid.
11769func (s *RestartAppServerInput) Validate() error {
11770	invalidParams := request.ErrInvalidParams{Context: "RestartAppServerInput"}
11771	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
11772		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
11773	}
11774
11775	if invalidParams.Len() > 0 {
11776		return invalidParams
11777	}
11778	return nil
11779}
11780
11781// SetEnvironmentId sets the EnvironmentId field's value.
11782func (s *RestartAppServerInput) SetEnvironmentId(v string) *RestartAppServerInput {
11783	s.EnvironmentId = &v
11784	return s
11785}
11786
11787// SetEnvironmentName sets the EnvironmentName field's value.
11788func (s *RestartAppServerInput) SetEnvironmentName(v string) *RestartAppServerInput {
11789	s.EnvironmentName = &v
11790	return s
11791}
11792
11793type RestartAppServerOutput struct {
11794	_ struct{} `type:"structure"`
11795}
11796
11797// String returns the string representation.
11798//
11799// API parameter values that are decorated as "sensitive" in the API will not
11800// be included in the string output. The member name will be present, but the
11801// value will be replaced with "sensitive".
11802func (s RestartAppServerOutput) String() string {
11803	return awsutil.Prettify(s)
11804}
11805
11806// GoString returns the string representation.
11807//
11808// API parameter values that are decorated as "sensitive" in the API will not
11809// be included in the string output. The member name will be present, but the
11810// value will be replaced with "sensitive".
11811func (s RestartAppServerOutput) GoString() string {
11812	return s.String()
11813}
11814
11815// Request to download logs retrieved with RequestEnvironmentInfo.
11816type RetrieveEnvironmentInfoInput struct {
11817	_ struct{} `type:"structure"`
11818
11819	// The ID of the data's environment.
11820	//
11821	// If no such environment is found, returns an InvalidParameterValue error.
11822	//
11823	// Condition: You must specify either this or an EnvironmentName, or both. If
11824	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
11825	// error.
11826	EnvironmentId *string `type:"string"`
11827
11828	// The name of the data's environment.
11829	//
11830	// If no such environment is found, returns an InvalidParameterValue error.
11831	//
11832	// Condition: You must specify either this or an EnvironmentId, or both. If
11833	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
11834	// error.
11835	EnvironmentName *string `min:"4" type:"string"`
11836
11837	// The type of information to retrieve.
11838	//
11839	// InfoType is a required field
11840	InfoType *string `type:"string" required:"true" enum:"EnvironmentInfoType"`
11841}
11842
11843// String returns the string representation.
11844//
11845// API parameter values that are decorated as "sensitive" in the API will not
11846// be included in the string output. The member name will be present, but the
11847// value will be replaced with "sensitive".
11848func (s RetrieveEnvironmentInfoInput) String() string {
11849	return awsutil.Prettify(s)
11850}
11851
11852// GoString returns the string representation.
11853//
11854// API parameter values that are decorated as "sensitive" in the API will not
11855// be included in the string output. The member name will be present, but the
11856// value will be replaced with "sensitive".
11857func (s RetrieveEnvironmentInfoInput) GoString() string {
11858	return s.String()
11859}
11860
11861// Validate inspects the fields of the type to determine if they are valid.
11862func (s *RetrieveEnvironmentInfoInput) Validate() error {
11863	invalidParams := request.ErrInvalidParams{Context: "RetrieveEnvironmentInfoInput"}
11864	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
11865		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
11866	}
11867	if s.InfoType == nil {
11868		invalidParams.Add(request.NewErrParamRequired("InfoType"))
11869	}
11870
11871	if invalidParams.Len() > 0 {
11872		return invalidParams
11873	}
11874	return nil
11875}
11876
11877// SetEnvironmentId sets the EnvironmentId field's value.
11878func (s *RetrieveEnvironmentInfoInput) SetEnvironmentId(v string) *RetrieveEnvironmentInfoInput {
11879	s.EnvironmentId = &v
11880	return s
11881}
11882
11883// SetEnvironmentName sets the EnvironmentName field's value.
11884func (s *RetrieveEnvironmentInfoInput) SetEnvironmentName(v string) *RetrieveEnvironmentInfoInput {
11885	s.EnvironmentName = &v
11886	return s
11887}
11888
11889// SetInfoType sets the InfoType field's value.
11890func (s *RetrieveEnvironmentInfoInput) SetInfoType(v string) *RetrieveEnvironmentInfoInput {
11891	s.InfoType = &v
11892	return s
11893}
11894
11895// Result message containing a description of the requested environment info.
11896type RetrieveEnvironmentInfoOutput struct {
11897	_ struct{} `type:"structure"`
11898
11899	// The EnvironmentInfoDescription of the environment.
11900	EnvironmentInfo []*EnvironmentInfoDescription `type:"list"`
11901}
11902
11903// String returns the string representation.
11904//
11905// API parameter values that are decorated as "sensitive" in the API will not
11906// be included in the string output. The member name will be present, but the
11907// value will be replaced with "sensitive".
11908func (s RetrieveEnvironmentInfoOutput) String() string {
11909	return awsutil.Prettify(s)
11910}
11911
11912// GoString returns the string representation.
11913//
11914// API parameter values that are decorated as "sensitive" in the API will not
11915// be included in the string output. The member name will be present, but the
11916// value will be replaced with "sensitive".
11917func (s RetrieveEnvironmentInfoOutput) GoString() string {
11918	return s.String()
11919}
11920
11921// SetEnvironmentInfo sets the EnvironmentInfo field's value.
11922func (s *RetrieveEnvironmentInfoOutput) SetEnvironmentInfo(v []*EnvironmentInfoDescription) *RetrieveEnvironmentInfoOutput {
11923	s.EnvironmentInfo = v
11924	return s
11925}
11926
11927// The bucket and key of an item stored in Amazon S3.
11928type S3Location struct {
11929	_ struct{} `type:"structure"`
11930
11931	// The Amazon S3 bucket where the data is located.
11932	S3Bucket *string `type:"string"`
11933
11934	// The Amazon S3 key where the data is located.
11935	S3Key *string `type:"string"`
11936}
11937
11938// String returns the string representation.
11939//
11940// API parameter values that are decorated as "sensitive" in the API will not
11941// be included in the string output. The member name will be present, but the
11942// value will be replaced with "sensitive".
11943func (s S3Location) String() string {
11944	return awsutil.Prettify(s)
11945}
11946
11947// GoString returns the string representation.
11948//
11949// API parameter values that are decorated as "sensitive" in the API will not
11950// be included in the string output. The member name will be present, but the
11951// value will be replaced with "sensitive".
11952func (s S3Location) GoString() string {
11953	return s.String()
11954}
11955
11956// SetS3Bucket sets the S3Bucket field's value.
11957func (s *S3Location) SetS3Bucket(v string) *S3Location {
11958	s.S3Bucket = &v
11959	return s
11960}
11961
11962// SetS3Key sets the S3Key field's value.
11963func (s *S3Location) SetS3Key(v string) *S3Location {
11964	s.S3Key = &v
11965	return s
11966}
11967
11968// Describes criteria to restrict a list of results.
11969//
11970// For operators that apply a single value to the attribute, the filter is evaluated
11971// as follows: Attribute Operator Values[1]
11972//
11973// Some operators, e.g. in, can apply multiple values. In this case, the filter
11974// is evaluated as a logical union (OR) of applications of the operator to the
11975// attribute with each one of the values: (Attribute Operator Values[1]) OR
11976// (Attribute Operator Values[2]) OR ...
11977//
11978// The valid values for attributes of SearchFilter depend on the API action.
11979// For valid values, see the reference page for the API action you're calling
11980// that takes a SearchFilter parameter.
11981type SearchFilter struct {
11982	_ struct{} `type:"structure"`
11983
11984	// The result attribute to which the filter values are applied. Valid values
11985	// vary by API action.
11986	Attribute *string `type:"string"`
11987
11988	// The operator to apply to the Attribute with each of the Values. Valid values
11989	// vary by Attribute.
11990	Operator *string `type:"string"`
11991
11992	// The list of values applied to the Attribute and Operator attributes. Number
11993	// of values and valid values vary by Attribute.
11994	Values []*string `type:"list"`
11995}
11996
11997// String returns the string representation.
11998//
11999// API parameter values that are decorated as "sensitive" in the API will not
12000// be included in the string output. The member name will be present, but the
12001// value will be replaced with "sensitive".
12002func (s SearchFilter) String() string {
12003	return awsutil.Prettify(s)
12004}
12005
12006// GoString returns the string representation.
12007//
12008// API parameter values that are decorated as "sensitive" in the API will not
12009// be included in the string output. The member name will be present, but the
12010// value will be replaced with "sensitive".
12011func (s SearchFilter) GoString() string {
12012	return s.String()
12013}
12014
12015// SetAttribute sets the Attribute field's value.
12016func (s *SearchFilter) SetAttribute(v string) *SearchFilter {
12017	s.Attribute = &v
12018	return s
12019}
12020
12021// SetOperator sets the Operator field's value.
12022func (s *SearchFilter) SetOperator(v string) *SearchFilter {
12023	s.Operator = &v
12024	return s
12025}
12026
12027// SetValues sets the Values field's value.
12028func (s *SearchFilter) SetValues(v []*string) *SearchFilter {
12029	s.Values = v
12030	return s
12031}
12032
12033// Detailed health information about an Amazon EC2 instance in your Elastic
12034// Beanstalk environment.
12035type SingleInstanceHealth struct {
12036	_ struct{} `type:"structure"`
12037
12038	// Request metrics from your application.
12039	ApplicationMetrics *ApplicationMetrics `type:"structure"`
12040
12041	// The availability zone in which the instance runs.
12042	AvailabilityZone *string `type:"string"`
12043
12044	// Represents the causes, which provide more information about the current health
12045	// status.
12046	Causes []*string `type:"list"`
12047
12048	// Represents the color indicator that gives you information about the health
12049	// of the EC2 instance. For more information, see Health Colors and Statuses
12050	// (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html).
12051	Color *string `type:"string"`
12052
12053	// Information about the most recent deployment to an instance.
12054	Deployment *Deployment `type:"structure"`
12055
12056	// Returns the health status of the specified instance. For more information,
12057	// see Health Colors and Statuses (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-status.html).
12058	HealthStatus *string `type:"string"`
12059
12060	// The ID of the Amazon EC2 instance.
12061	InstanceId *string `min:"1" type:"string"`
12062
12063	// The instance's type.
12064	InstanceType *string `type:"string"`
12065
12066	// The time at which the EC2 instance was launched.
12067	LaunchedAt *time.Time `type:"timestamp"`
12068
12069	// Operating system metrics from the instance.
12070	System *SystemStatus `type:"structure"`
12071}
12072
12073// String returns the string representation.
12074//
12075// API parameter values that are decorated as "sensitive" in the API will not
12076// be included in the string output. The member name will be present, but the
12077// value will be replaced with "sensitive".
12078func (s SingleInstanceHealth) String() string {
12079	return awsutil.Prettify(s)
12080}
12081
12082// GoString returns the string representation.
12083//
12084// API parameter values that are decorated as "sensitive" in the API will not
12085// be included in the string output. The member name will be present, but the
12086// value will be replaced with "sensitive".
12087func (s SingleInstanceHealth) GoString() string {
12088	return s.String()
12089}
12090
12091// SetApplicationMetrics sets the ApplicationMetrics field's value.
12092func (s *SingleInstanceHealth) SetApplicationMetrics(v *ApplicationMetrics) *SingleInstanceHealth {
12093	s.ApplicationMetrics = v
12094	return s
12095}
12096
12097// SetAvailabilityZone sets the AvailabilityZone field's value.
12098func (s *SingleInstanceHealth) SetAvailabilityZone(v string) *SingleInstanceHealth {
12099	s.AvailabilityZone = &v
12100	return s
12101}
12102
12103// SetCauses sets the Causes field's value.
12104func (s *SingleInstanceHealth) SetCauses(v []*string) *SingleInstanceHealth {
12105	s.Causes = v
12106	return s
12107}
12108
12109// SetColor sets the Color field's value.
12110func (s *SingleInstanceHealth) SetColor(v string) *SingleInstanceHealth {
12111	s.Color = &v
12112	return s
12113}
12114
12115// SetDeployment sets the Deployment field's value.
12116func (s *SingleInstanceHealth) SetDeployment(v *Deployment) *SingleInstanceHealth {
12117	s.Deployment = v
12118	return s
12119}
12120
12121// SetHealthStatus sets the HealthStatus field's value.
12122func (s *SingleInstanceHealth) SetHealthStatus(v string) *SingleInstanceHealth {
12123	s.HealthStatus = &v
12124	return s
12125}
12126
12127// SetInstanceId sets the InstanceId field's value.
12128func (s *SingleInstanceHealth) SetInstanceId(v string) *SingleInstanceHealth {
12129	s.InstanceId = &v
12130	return s
12131}
12132
12133// SetInstanceType sets the InstanceType field's value.
12134func (s *SingleInstanceHealth) SetInstanceType(v string) *SingleInstanceHealth {
12135	s.InstanceType = &v
12136	return s
12137}
12138
12139// SetLaunchedAt sets the LaunchedAt field's value.
12140func (s *SingleInstanceHealth) SetLaunchedAt(v time.Time) *SingleInstanceHealth {
12141	s.LaunchedAt = &v
12142	return s
12143}
12144
12145// SetSystem sets the System field's value.
12146func (s *SingleInstanceHealth) SetSystem(v *SystemStatus) *SingleInstanceHealth {
12147	s.System = v
12148	return s
12149}
12150
12151// Describes the solution stack.
12152type SolutionStackDescription struct {
12153	_ struct{} `type:"structure"`
12154
12155	// The permitted file types allowed for a solution stack.
12156	PermittedFileTypes []*string `type:"list"`
12157
12158	// The name of the solution stack.
12159	SolutionStackName *string `type:"string"`
12160}
12161
12162// String returns the string representation.
12163//
12164// API parameter values that are decorated as "sensitive" in the API will not
12165// be included in the string output. The member name will be present, but the
12166// value will be replaced with "sensitive".
12167func (s SolutionStackDescription) String() string {
12168	return awsutil.Prettify(s)
12169}
12170
12171// GoString returns the string representation.
12172//
12173// API parameter values that are decorated as "sensitive" in the API will not
12174// be included in the string output. The member name will be present, but the
12175// value will be replaced with "sensitive".
12176func (s SolutionStackDescription) GoString() string {
12177	return s.String()
12178}
12179
12180// SetPermittedFileTypes sets the PermittedFileTypes field's value.
12181func (s *SolutionStackDescription) SetPermittedFileTypes(v []*string) *SolutionStackDescription {
12182	s.PermittedFileTypes = v
12183	return s
12184}
12185
12186// SetSolutionStackName sets the SolutionStackName field's value.
12187func (s *SolutionStackDescription) SetSolutionStackName(v string) *SolutionStackDescription {
12188	s.SolutionStackName = &v
12189	return s
12190}
12191
12192// Location of the source code for an application version.
12193type SourceBuildInformation struct {
12194	_ struct{} `type:"structure"`
12195
12196	// The location of the source code, as a formatted string, depending on the
12197	// value of SourceRepository
12198	//
12199	//    * For CodeCommit, the format is the repository name and commit ID, separated
12200	//    by a forward slash. For example, my-git-repo/265cfa0cf6af46153527f55d6503ec030551f57a.
12201	//
12202	//    * For S3, the format is the S3 bucket name and object key, separated by
12203	//    a forward slash. For example, my-s3-bucket/Folders/my-source-file.
12204	//
12205	// SourceLocation is a required field
12206	SourceLocation *string `min:"3" type:"string" required:"true"`
12207
12208	// Location where the repository is stored.
12209	//
12210	//    * CodeCommit
12211	//
12212	//    * S3
12213	//
12214	// SourceRepository is a required field
12215	SourceRepository *string `type:"string" required:"true" enum:"SourceRepository"`
12216
12217	// The type of repository.
12218	//
12219	//    * Git
12220	//
12221	//    * Zip
12222	//
12223	// SourceType is a required field
12224	SourceType *string `type:"string" required:"true" enum:"SourceType"`
12225}
12226
12227// String returns the string representation.
12228//
12229// API parameter values that are decorated as "sensitive" in the API will not
12230// be included in the string output. The member name will be present, but the
12231// value will be replaced with "sensitive".
12232func (s SourceBuildInformation) String() string {
12233	return awsutil.Prettify(s)
12234}
12235
12236// GoString returns the string representation.
12237//
12238// API parameter values that are decorated as "sensitive" in the API will not
12239// be included in the string output. The member name will be present, but the
12240// value will be replaced with "sensitive".
12241func (s SourceBuildInformation) GoString() string {
12242	return s.String()
12243}
12244
12245// Validate inspects the fields of the type to determine if they are valid.
12246func (s *SourceBuildInformation) Validate() error {
12247	invalidParams := request.ErrInvalidParams{Context: "SourceBuildInformation"}
12248	if s.SourceLocation == nil {
12249		invalidParams.Add(request.NewErrParamRequired("SourceLocation"))
12250	}
12251	if s.SourceLocation != nil && len(*s.SourceLocation) < 3 {
12252		invalidParams.Add(request.NewErrParamMinLen("SourceLocation", 3))
12253	}
12254	if s.SourceRepository == nil {
12255		invalidParams.Add(request.NewErrParamRequired("SourceRepository"))
12256	}
12257	if s.SourceType == nil {
12258		invalidParams.Add(request.NewErrParamRequired("SourceType"))
12259	}
12260
12261	if invalidParams.Len() > 0 {
12262		return invalidParams
12263	}
12264	return nil
12265}
12266
12267// SetSourceLocation sets the SourceLocation field's value.
12268func (s *SourceBuildInformation) SetSourceLocation(v string) *SourceBuildInformation {
12269	s.SourceLocation = &v
12270	return s
12271}
12272
12273// SetSourceRepository sets the SourceRepository field's value.
12274func (s *SourceBuildInformation) SetSourceRepository(v string) *SourceBuildInformation {
12275	s.SourceRepository = &v
12276	return s
12277}
12278
12279// SetSourceType sets the SourceType field's value.
12280func (s *SourceBuildInformation) SetSourceType(v string) *SourceBuildInformation {
12281	s.SourceType = &v
12282	return s
12283}
12284
12285// A specification for an environment configuration.
12286type SourceConfiguration struct {
12287	_ struct{} `type:"structure"`
12288
12289	// The name of the application associated with the configuration.
12290	ApplicationName *string `min:"1" type:"string"`
12291
12292	// The name of the configuration template.
12293	TemplateName *string `min:"1" type:"string"`
12294}
12295
12296// String returns the string representation.
12297//
12298// API parameter values that are decorated as "sensitive" in the API will not
12299// be included in the string output. The member name will be present, but the
12300// value will be replaced with "sensitive".
12301func (s SourceConfiguration) String() string {
12302	return awsutil.Prettify(s)
12303}
12304
12305// GoString returns the string representation.
12306//
12307// API parameter values that are decorated as "sensitive" in the API will not
12308// be included in the string output. The member name will be present, but the
12309// value will be replaced with "sensitive".
12310func (s SourceConfiguration) GoString() string {
12311	return s.String()
12312}
12313
12314// Validate inspects the fields of the type to determine if they are valid.
12315func (s *SourceConfiguration) Validate() error {
12316	invalidParams := request.ErrInvalidParams{Context: "SourceConfiguration"}
12317	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
12318		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
12319	}
12320	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
12321		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
12322	}
12323
12324	if invalidParams.Len() > 0 {
12325		return invalidParams
12326	}
12327	return nil
12328}
12329
12330// SetApplicationName sets the ApplicationName field's value.
12331func (s *SourceConfiguration) SetApplicationName(v string) *SourceConfiguration {
12332	s.ApplicationName = &v
12333	return s
12334}
12335
12336// SetTemplateName sets the TemplateName field's value.
12337func (s *SourceConfiguration) SetTemplateName(v string) *SourceConfiguration {
12338	s.TemplateName = &v
12339	return s
12340}
12341
12342// Represents the percentage of requests over the last 10 seconds that resulted
12343// in each type of status code response. For more information, see Status Code
12344// Definitions (http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).
12345type StatusCodes struct {
12346	_ struct{} `type:"structure"`
12347
12348	// The percentage of requests over the last 10 seconds that resulted in a 2xx
12349	// (200, 201, etc.) status code.
12350	Status2xx *int64 `type:"integer"`
12351
12352	// The percentage of requests over the last 10 seconds that resulted in a 3xx
12353	// (300, 301, etc.) status code.
12354	Status3xx *int64 `type:"integer"`
12355
12356	// The percentage of requests over the last 10 seconds that resulted in a 4xx
12357	// (400, 401, etc.) status code.
12358	Status4xx *int64 `type:"integer"`
12359
12360	// The percentage of requests over the last 10 seconds that resulted in a 5xx
12361	// (500, 501, etc.) status code.
12362	Status5xx *int64 `type:"integer"`
12363}
12364
12365// String returns the string representation.
12366//
12367// API parameter values that are decorated as "sensitive" in the API will not
12368// be included in the string output. The member name will be present, but the
12369// value will be replaced with "sensitive".
12370func (s StatusCodes) String() string {
12371	return awsutil.Prettify(s)
12372}
12373
12374// GoString returns the string representation.
12375//
12376// API parameter values that are decorated as "sensitive" in the API will not
12377// be included in the string output. The member name will be present, but the
12378// value will be replaced with "sensitive".
12379func (s StatusCodes) GoString() string {
12380	return s.String()
12381}
12382
12383// SetStatus2xx sets the Status2xx field's value.
12384func (s *StatusCodes) SetStatus2xx(v int64) *StatusCodes {
12385	s.Status2xx = &v
12386	return s
12387}
12388
12389// SetStatus3xx sets the Status3xx field's value.
12390func (s *StatusCodes) SetStatus3xx(v int64) *StatusCodes {
12391	s.Status3xx = &v
12392	return s
12393}
12394
12395// SetStatus4xx sets the Status4xx field's value.
12396func (s *StatusCodes) SetStatus4xx(v int64) *StatusCodes {
12397	s.Status4xx = &v
12398	return s
12399}
12400
12401// SetStatus5xx sets the Status5xx field's value.
12402func (s *StatusCodes) SetStatus5xx(v int64) *StatusCodes {
12403	s.Status5xx = &v
12404	return s
12405}
12406
12407// Swaps the CNAMEs of two environments.
12408type SwapEnvironmentCNAMEsInput struct {
12409	_ struct{} `type:"structure"`
12410
12411	// The ID of the destination environment.
12412	//
12413	// Condition: You must specify at least the DestinationEnvironmentID or the
12414	// DestinationEnvironmentName. You may also specify both. You must specify the
12415	// SourceEnvironmentId with the DestinationEnvironmentId.
12416	DestinationEnvironmentId *string `type:"string"`
12417
12418	// The name of the destination environment.
12419	//
12420	// Condition: You must specify at least the DestinationEnvironmentID or the
12421	// DestinationEnvironmentName. You may also specify both. You must specify the
12422	// SourceEnvironmentName with the DestinationEnvironmentName.
12423	DestinationEnvironmentName *string `min:"4" type:"string"`
12424
12425	// The ID of the source environment.
12426	//
12427	// Condition: You must specify at least the SourceEnvironmentID or the SourceEnvironmentName.
12428	// You may also specify both. If you specify the SourceEnvironmentId, you must
12429	// specify the DestinationEnvironmentId.
12430	SourceEnvironmentId *string `type:"string"`
12431
12432	// The name of the source environment.
12433	//
12434	// Condition: You must specify at least the SourceEnvironmentID or the SourceEnvironmentName.
12435	// You may also specify both. If you specify the SourceEnvironmentName, you
12436	// must specify the DestinationEnvironmentName.
12437	SourceEnvironmentName *string `min:"4" type:"string"`
12438}
12439
12440// String returns the string representation.
12441//
12442// API parameter values that are decorated as "sensitive" in the API will not
12443// be included in the string output. The member name will be present, but the
12444// value will be replaced with "sensitive".
12445func (s SwapEnvironmentCNAMEsInput) String() string {
12446	return awsutil.Prettify(s)
12447}
12448
12449// GoString returns the string representation.
12450//
12451// API parameter values that are decorated as "sensitive" in the API will not
12452// be included in the string output. The member name will be present, but the
12453// value will be replaced with "sensitive".
12454func (s SwapEnvironmentCNAMEsInput) GoString() string {
12455	return s.String()
12456}
12457
12458// Validate inspects the fields of the type to determine if they are valid.
12459func (s *SwapEnvironmentCNAMEsInput) Validate() error {
12460	invalidParams := request.ErrInvalidParams{Context: "SwapEnvironmentCNAMEsInput"}
12461	if s.DestinationEnvironmentName != nil && len(*s.DestinationEnvironmentName) < 4 {
12462		invalidParams.Add(request.NewErrParamMinLen("DestinationEnvironmentName", 4))
12463	}
12464	if s.SourceEnvironmentName != nil && len(*s.SourceEnvironmentName) < 4 {
12465		invalidParams.Add(request.NewErrParamMinLen("SourceEnvironmentName", 4))
12466	}
12467
12468	if invalidParams.Len() > 0 {
12469		return invalidParams
12470	}
12471	return nil
12472}
12473
12474// SetDestinationEnvironmentId sets the DestinationEnvironmentId field's value.
12475func (s *SwapEnvironmentCNAMEsInput) SetDestinationEnvironmentId(v string) *SwapEnvironmentCNAMEsInput {
12476	s.DestinationEnvironmentId = &v
12477	return s
12478}
12479
12480// SetDestinationEnvironmentName sets the DestinationEnvironmentName field's value.
12481func (s *SwapEnvironmentCNAMEsInput) SetDestinationEnvironmentName(v string) *SwapEnvironmentCNAMEsInput {
12482	s.DestinationEnvironmentName = &v
12483	return s
12484}
12485
12486// SetSourceEnvironmentId sets the SourceEnvironmentId field's value.
12487func (s *SwapEnvironmentCNAMEsInput) SetSourceEnvironmentId(v string) *SwapEnvironmentCNAMEsInput {
12488	s.SourceEnvironmentId = &v
12489	return s
12490}
12491
12492// SetSourceEnvironmentName sets the SourceEnvironmentName field's value.
12493func (s *SwapEnvironmentCNAMEsInput) SetSourceEnvironmentName(v string) *SwapEnvironmentCNAMEsInput {
12494	s.SourceEnvironmentName = &v
12495	return s
12496}
12497
12498type SwapEnvironmentCNAMEsOutput struct {
12499	_ struct{} `type:"structure"`
12500}
12501
12502// String returns the string representation.
12503//
12504// API parameter values that are decorated as "sensitive" in the API will not
12505// be included in the string output. The member name will be present, but the
12506// value will be replaced with "sensitive".
12507func (s SwapEnvironmentCNAMEsOutput) String() string {
12508	return awsutil.Prettify(s)
12509}
12510
12511// GoString returns the string representation.
12512//
12513// API parameter values that are decorated as "sensitive" in the API will not
12514// be included in the string output. The member name will be present, but the
12515// value will be replaced with "sensitive".
12516func (s SwapEnvironmentCNAMEsOutput) GoString() string {
12517	return s.String()
12518}
12519
12520// CPU utilization and load average metrics for an Amazon EC2 instance.
12521type SystemStatus struct {
12522	_ struct{} `type:"structure"`
12523
12524	// CPU utilization metrics for the instance.
12525	CPUUtilization *CPUUtilization `type:"structure"`
12526
12527	// Load average in the last 1-minute, 5-minute, and 15-minute periods. For more
12528	// information, see Operating System Metrics (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced-metrics.html#health-enhanced-metrics-os).
12529	LoadAverage []*float64 `type:"list"`
12530}
12531
12532// String returns the string representation.
12533//
12534// API parameter values that are decorated as "sensitive" in the API will not
12535// be included in the string output. The member name will be present, but the
12536// value will be replaced with "sensitive".
12537func (s SystemStatus) String() string {
12538	return awsutil.Prettify(s)
12539}
12540
12541// GoString returns the string representation.
12542//
12543// API parameter values that are decorated as "sensitive" in the API will not
12544// be included in the string output. The member name will be present, but the
12545// value will be replaced with "sensitive".
12546func (s SystemStatus) GoString() string {
12547	return s.String()
12548}
12549
12550// SetCPUUtilization sets the CPUUtilization field's value.
12551func (s *SystemStatus) SetCPUUtilization(v *CPUUtilization) *SystemStatus {
12552	s.CPUUtilization = v
12553	return s
12554}
12555
12556// SetLoadAverage sets the LoadAverage field's value.
12557func (s *SystemStatus) SetLoadAverage(v []*float64) *SystemStatus {
12558	s.LoadAverage = v
12559	return s
12560}
12561
12562// Describes a tag applied to a resource in an environment.
12563type Tag struct {
12564	_ struct{} `type:"structure"`
12565
12566	// The key of the tag.
12567	Key *string `min:"1" type:"string"`
12568
12569	// The value of the tag.
12570	Value *string `min:"1" type:"string"`
12571}
12572
12573// String returns the string representation.
12574//
12575// API parameter values that are decorated as "sensitive" in the API will not
12576// be included in the string output. The member name will be present, but the
12577// value will be replaced with "sensitive".
12578func (s Tag) String() string {
12579	return awsutil.Prettify(s)
12580}
12581
12582// GoString returns the string representation.
12583//
12584// API parameter values that are decorated as "sensitive" in the API will not
12585// be included in the string output. The member name will be present, but the
12586// value will be replaced with "sensitive".
12587func (s Tag) GoString() string {
12588	return s.String()
12589}
12590
12591// Validate inspects the fields of the type to determine if they are valid.
12592func (s *Tag) Validate() error {
12593	invalidParams := request.ErrInvalidParams{Context: "Tag"}
12594	if s.Key != nil && len(*s.Key) < 1 {
12595		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
12596	}
12597	if s.Value != nil && len(*s.Value) < 1 {
12598		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
12599	}
12600
12601	if invalidParams.Len() > 0 {
12602		return invalidParams
12603	}
12604	return nil
12605}
12606
12607// SetKey sets the Key field's value.
12608func (s *Tag) SetKey(v string) *Tag {
12609	s.Key = &v
12610	return s
12611}
12612
12613// SetValue sets the Value field's value.
12614func (s *Tag) SetValue(v string) *Tag {
12615	s.Value = &v
12616	return s
12617}
12618
12619// Request to terminate an environment.
12620type TerminateEnvironmentInput struct {
12621	_ struct{} `type:"structure"`
12622
12623	// The ID of the environment to terminate.
12624	//
12625	// Condition: You must specify either this or an EnvironmentName, or both. If
12626	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
12627	// error.
12628	EnvironmentId *string `type:"string"`
12629
12630	// The name of the environment to terminate.
12631	//
12632	// Condition: You must specify either this or an EnvironmentId, or both. If
12633	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
12634	// error.
12635	EnvironmentName *string `min:"4" type:"string"`
12636
12637	// Terminates the target environment even if another environment in the same
12638	// group is dependent on it.
12639	ForceTerminate *bool `type:"boolean"`
12640
12641	// Indicates whether the associated AWS resources should shut down when the
12642	// environment is terminated:
12643	//
12644	//    * true: The specified environment as well as the associated AWS resources,
12645	//    such as Auto Scaling group and LoadBalancer, are terminated.
12646	//
12647	//    * false: AWS Elastic Beanstalk resource management is removed from the
12648	//    environment, but the AWS resources continue to operate.
12649	//
12650	// For more information, see the AWS Elastic Beanstalk User Guide. (https://docs.aws.amazon.com/elasticbeanstalk/latest/ug/)
12651	//
12652	// Default: true
12653	//
12654	// Valid Values: true | false
12655	TerminateResources *bool `type:"boolean"`
12656}
12657
12658// String returns the string representation.
12659//
12660// API parameter values that are decorated as "sensitive" in the API will not
12661// be included in the string output. The member name will be present, but the
12662// value will be replaced with "sensitive".
12663func (s TerminateEnvironmentInput) String() string {
12664	return awsutil.Prettify(s)
12665}
12666
12667// GoString returns the string representation.
12668//
12669// API parameter values that are decorated as "sensitive" in the API will not
12670// be included in the string output. The member name will be present, but the
12671// value will be replaced with "sensitive".
12672func (s TerminateEnvironmentInput) GoString() string {
12673	return s.String()
12674}
12675
12676// Validate inspects the fields of the type to determine if they are valid.
12677func (s *TerminateEnvironmentInput) Validate() error {
12678	invalidParams := request.ErrInvalidParams{Context: "TerminateEnvironmentInput"}
12679	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
12680		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
12681	}
12682
12683	if invalidParams.Len() > 0 {
12684		return invalidParams
12685	}
12686	return nil
12687}
12688
12689// SetEnvironmentId sets the EnvironmentId field's value.
12690func (s *TerminateEnvironmentInput) SetEnvironmentId(v string) *TerminateEnvironmentInput {
12691	s.EnvironmentId = &v
12692	return s
12693}
12694
12695// SetEnvironmentName sets the EnvironmentName field's value.
12696func (s *TerminateEnvironmentInput) SetEnvironmentName(v string) *TerminateEnvironmentInput {
12697	s.EnvironmentName = &v
12698	return s
12699}
12700
12701// SetForceTerminate sets the ForceTerminate field's value.
12702func (s *TerminateEnvironmentInput) SetForceTerminate(v bool) *TerminateEnvironmentInput {
12703	s.ForceTerminate = &v
12704	return s
12705}
12706
12707// SetTerminateResources sets the TerminateResources field's value.
12708func (s *TerminateEnvironmentInput) SetTerminateResources(v bool) *TerminateEnvironmentInput {
12709	s.TerminateResources = &v
12710	return s
12711}
12712
12713// Describes a trigger.
12714type Trigger struct {
12715	_ struct{} `type:"structure"`
12716
12717	// The name of the trigger.
12718	Name *string `type:"string"`
12719}
12720
12721// String returns the string representation.
12722//
12723// API parameter values that are decorated as "sensitive" in the API will not
12724// be included in the string output. The member name will be present, but the
12725// value will be replaced with "sensitive".
12726func (s Trigger) String() string {
12727	return awsutil.Prettify(s)
12728}
12729
12730// GoString returns the string representation.
12731//
12732// API parameter values that are decorated as "sensitive" in the API will not
12733// be included in the string output. The member name will be present, but the
12734// value will be replaced with "sensitive".
12735func (s Trigger) GoString() string {
12736	return s.String()
12737}
12738
12739// SetName sets the Name field's value.
12740func (s *Trigger) SetName(v string) *Trigger {
12741	s.Name = &v
12742	return s
12743}
12744
12745// Request to update an application.
12746type UpdateApplicationInput struct {
12747	_ struct{} `type:"structure"`
12748
12749	// The name of the application to update. If no such application is found, UpdateApplication
12750	// returns an InvalidParameterValue error.
12751	//
12752	// ApplicationName is a required field
12753	ApplicationName *string `min:"1" type:"string" required:"true"`
12754
12755	// A new description for the application.
12756	//
12757	// Default: If not specified, AWS Elastic Beanstalk does not update the description.
12758	Description *string `type:"string"`
12759}
12760
12761// String returns the string representation.
12762//
12763// API parameter values that are decorated as "sensitive" in the API will not
12764// be included in the string output. The member name will be present, but the
12765// value will be replaced with "sensitive".
12766func (s UpdateApplicationInput) String() string {
12767	return awsutil.Prettify(s)
12768}
12769
12770// GoString returns the string representation.
12771//
12772// API parameter values that are decorated as "sensitive" in the API will not
12773// be included in the string output. The member name will be present, but the
12774// value will be replaced with "sensitive".
12775func (s UpdateApplicationInput) GoString() string {
12776	return s.String()
12777}
12778
12779// Validate inspects the fields of the type to determine if they are valid.
12780func (s *UpdateApplicationInput) Validate() error {
12781	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationInput"}
12782	if s.ApplicationName == nil {
12783		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
12784	}
12785	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
12786		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
12787	}
12788
12789	if invalidParams.Len() > 0 {
12790		return invalidParams
12791	}
12792	return nil
12793}
12794
12795// SetApplicationName sets the ApplicationName field's value.
12796func (s *UpdateApplicationInput) SetApplicationName(v string) *UpdateApplicationInput {
12797	s.ApplicationName = &v
12798	return s
12799}
12800
12801// SetDescription sets the Description field's value.
12802func (s *UpdateApplicationInput) SetDescription(v string) *UpdateApplicationInput {
12803	s.Description = &v
12804	return s
12805}
12806
12807type UpdateApplicationResourceLifecycleInput struct {
12808	_ struct{} `type:"structure"`
12809
12810	// The name of the application.
12811	//
12812	// ApplicationName is a required field
12813	ApplicationName *string `min:"1" type:"string" required:"true"`
12814
12815	// The lifecycle configuration.
12816	//
12817	// ResourceLifecycleConfig is a required field
12818	ResourceLifecycleConfig *ApplicationResourceLifecycleConfig `type:"structure" required:"true"`
12819}
12820
12821// String returns the string representation.
12822//
12823// API parameter values that are decorated as "sensitive" in the API will not
12824// be included in the string output. The member name will be present, but the
12825// value will be replaced with "sensitive".
12826func (s UpdateApplicationResourceLifecycleInput) String() string {
12827	return awsutil.Prettify(s)
12828}
12829
12830// GoString returns the string representation.
12831//
12832// API parameter values that are decorated as "sensitive" in the API will not
12833// be included in the string output. The member name will be present, but the
12834// value will be replaced with "sensitive".
12835func (s UpdateApplicationResourceLifecycleInput) GoString() string {
12836	return s.String()
12837}
12838
12839// Validate inspects the fields of the type to determine if they are valid.
12840func (s *UpdateApplicationResourceLifecycleInput) Validate() error {
12841	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationResourceLifecycleInput"}
12842	if s.ApplicationName == nil {
12843		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
12844	}
12845	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
12846		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
12847	}
12848	if s.ResourceLifecycleConfig == nil {
12849		invalidParams.Add(request.NewErrParamRequired("ResourceLifecycleConfig"))
12850	}
12851	if s.ResourceLifecycleConfig != nil {
12852		if err := s.ResourceLifecycleConfig.Validate(); err != nil {
12853			invalidParams.AddNested("ResourceLifecycleConfig", err.(request.ErrInvalidParams))
12854		}
12855	}
12856
12857	if invalidParams.Len() > 0 {
12858		return invalidParams
12859	}
12860	return nil
12861}
12862
12863// SetApplicationName sets the ApplicationName field's value.
12864func (s *UpdateApplicationResourceLifecycleInput) SetApplicationName(v string) *UpdateApplicationResourceLifecycleInput {
12865	s.ApplicationName = &v
12866	return s
12867}
12868
12869// SetResourceLifecycleConfig sets the ResourceLifecycleConfig field's value.
12870func (s *UpdateApplicationResourceLifecycleInput) SetResourceLifecycleConfig(v *ApplicationResourceLifecycleConfig) *UpdateApplicationResourceLifecycleInput {
12871	s.ResourceLifecycleConfig = v
12872	return s
12873}
12874
12875type UpdateApplicationResourceLifecycleOutput struct {
12876	_ struct{} `type:"structure"`
12877
12878	// The name of the application.
12879	ApplicationName *string `min:"1" type:"string"`
12880
12881	// The lifecycle configuration.
12882	ResourceLifecycleConfig *ApplicationResourceLifecycleConfig `type:"structure"`
12883}
12884
12885// String returns the string representation.
12886//
12887// API parameter values that are decorated as "sensitive" in the API will not
12888// be included in the string output. The member name will be present, but the
12889// value will be replaced with "sensitive".
12890func (s UpdateApplicationResourceLifecycleOutput) String() string {
12891	return awsutil.Prettify(s)
12892}
12893
12894// GoString returns the string representation.
12895//
12896// API parameter values that are decorated as "sensitive" in the API will not
12897// be included in the string output. The member name will be present, but the
12898// value will be replaced with "sensitive".
12899func (s UpdateApplicationResourceLifecycleOutput) GoString() string {
12900	return s.String()
12901}
12902
12903// SetApplicationName sets the ApplicationName field's value.
12904func (s *UpdateApplicationResourceLifecycleOutput) SetApplicationName(v string) *UpdateApplicationResourceLifecycleOutput {
12905	s.ApplicationName = &v
12906	return s
12907}
12908
12909// SetResourceLifecycleConfig sets the ResourceLifecycleConfig field's value.
12910func (s *UpdateApplicationResourceLifecycleOutput) SetResourceLifecycleConfig(v *ApplicationResourceLifecycleConfig) *UpdateApplicationResourceLifecycleOutput {
12911	s.ResourceLifecycleConfig = v
12912	return s
12913}
12914
12915type UpdateApplicationVersionInput struct {
12916	_ struct{} `type:"structure"`
12917
12918	// The name of the application associated with this version.
12919	//
12920	// If no application is found with this name, UpdateApplication returns an InvalidParameterValue
12921	// error.
12922	//
12923	// ApplicationName is a required field
12924	ApplicationName *string `min:"1" type:"string" required:"true"`
12925
12926	// A new description for this version.
12927	Description *string `type:"string"`
12928
12929	// The name of the version to update.
12930	//
12931	// If no application version is found with this label, UpdateApplication returns
12932	// an InvalidParameterValue error.
12933	//
12934	// VersionLabel is a required field
12935	VersionLabel *string `min:"1" type:"string" required:"true"`
12936}
12937
12938// String returns the string representation.
12939//
12940// API parameter values that are decorated as "sensitive" in the API will not
12941// be included in the string output. The member name will be present, but the
12942// value will be replaced with "sensitive".
12943func (s UpdateApplicationVersionInput) String() string {
12944	return awsutil.Prettify(s)
12945}
12946
12947// GoString returns the string representation.
12948//
12949// API parameter values that are decorated as "sensitive" in the API will not
12950// be included in the string output. The member name will be present, but the
12951// value will be replaced with "sensitive".
12952func (s UpdateApplicationVersionInput) GoString() string {
12953	return s.String()
12954}
12955
12956// Validate inspects the fields of the type to determine if they are valid.
12957func (s *UpdateApplicationVersionInput) Validate() error {
12958	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationVersionInput"}
12959	if s.ApplicationName == nil {
12960		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
12961	}
12962	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
12963		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
12964	}
12965	if s.VersionLabel == nil {
12966		invalidParams.Add(request.NewErrParamRequired("VersionLabel"))
12967	}
12968	if s.VersionLabel != nil && len(*s.VersionLabel) < 1 {
12969		invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1))
12970	}
12971
12972	if invalidParams.Len() > 0 {
12973		return invalidParams
12974	}
12975	return nil
12976}
12977
12978// SetApplicationName sets the ApplicationName field's value.
12979func (s *UpdateApplicationVersionInput) SetApplicationName(v string) *UpdateApplicationVersionInput {
12980	s.ApplicationName = &v
12981	return s
12982}
12983
12984// SetDescription sets the Description field's value.
12985func (s *UpdateApplicationVersionInput) SetDescription(v string) *UpdateApplicationVersionInput {
12986	s.Description = &v
12987	return s
12988}
12989
12990// SetVersionLabel sets the VersionLabel field's value.
12991func (s *UpdateApplicationVersionInput) SetVersionLabel(v string) *UpdateApplicationVersionInput {
12992	s.VersionLabel = &v
12993	return s
12994}
12995
12996// The result message containing the options for the specified solution stack.
12997type UpdateConfigurationTemplateInput struct {
12998	_ struct{} `type:"structure"`
12999
13000	// The name of the application associated with the configuration template to
13001	// update.
13002	//
13003	// If no application is found with this name, UpdateConfigurationTemplate returns
13004	// an InvalidParameterValue error.
13005	//
13006	// ApplicationName is a required field
13007	ApplicationName *string `min:"1" type:"string" required:"true"`
13008
13009	// A new description for the configuration.
13010	Description *string `type:"string"`
13011
13012	// A list of configuration option settings to update with the new specified
13013	// option value.
13014	OptionSettings []*ConfigurationOptionSetting `type:"list"`
13015
13016	// A list of configuration options to remove from the configuration set.
13017	//
13018	// Constraint: You can remove only UserDefined configuration options.
13019	OptionsToRemove []*OptionSpecification `type:"list"`
13020
13021	// The name of the configuration template to update.
13022	//
13023	// If no configuration template is found with this name, UpdateConfigurationTemplate
13024	// returns an InvalidParameterValue error.
13025	//
13026	// TemplateName is a required field
13027	TemplateName *string `min:"1" type:"string" required:"true"`
13028}
13029
13030// String returns the string representation.
13031//
13032// API parameter values that are decorated as "sensitive" in the API will not
13033// be included in the string output. The member name will be present, but the
13034// value will be replaced with "sensitive".
13035func (s UpdateConfigurationTemplateInput) String() string {
13036	return awsutil.Prettify(s)
13037}
13038
13039// GoString returns the string representation.
13040//
13041// API parameter values that are decorated as "sensitive" in the API will not
13042// be included in the string output. The member name will be present, but the
13043// value will be replaced with "sensitive".
13044func (s UpdateConfigurationTemplateInput) GoString() string {
13045	return s.String()
13046}
13047
13048// Validate inspects the fields of the type to determine if they are valid.
13049func (s *UpdateConfigurationTemplateInput) Validate() error {
13050	invalidParams := request.ErrInvalidParams{Context: "UpdateConfigurationTemplateInput"}
13051	if s.ApplicationName == nil {
13052		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
13053	}
13054	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
13055		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
13056	}
13057	if s.TemplateName == nil {
13058		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
13059	}
13060	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
13061		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
13062	}
13063	if s.OptionSettings != nil {
13064		for i, v := range s.OptionSettings {
13065			if v == nil {
13066				continue
13067			}
13068			if err := v.Validate(); err != nil {
13069				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionSettings", i), err.(request.ErrInvalidParams))
13070			}
13071		}
13072	}
13073	if s.OptionsToRemove != nil {
13074		for i, v := range s.OptionsToRemove {
13075			if v == nil {
13076				continue
13077			}
13078			if err := v.Validate(); err != nil {
13079				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionsToRemove", i), err.(request.ErrInvalidParams))
13080			}
13081		}
13082	}
13083
13084	if invalidParams.Len() > 0 {
13085		return invalidParams
13086	}
13087	return nil
13088}
13089
13090// SetApplicationName sets the ApplicationName field's value.
13091func (s *UpdateConfigurationTemplateInput) SetApplicationName(v string) *UpdateConfigurationTemplateInput {
13092	s.ApplicationName = &v
13093	return s
13094}
13095
13096// SetDescription sets the Description field's value.
13097func (s *UpdateConfigurationTemplateInput) SetDescription(v string) *UpdateConfigurationTemplateInput {
13098	s.Description = &v
13099	return s
13100}
13101
13102// SetOptionSettings sets the OptionSettings field's value.
13103func (s *UpdateConfigurationTemplateInput) SetOptionSettings(v []*ConfigurationOptionSetting) *UpdateConfigurationTemplateInput {
13104	s.OptionSettings = v
13105	return s
13106}
13107
13108// SetOptionsToRemove sets the OptionsToRemove field's value.
13109func (s *UpdateConfigurationTemplateInput) SetOptionsToRemove(v []*OptionSpecification) *UpdateConfigurationTemplateInput {
13110	s.OptionsToRemove = v
13111	return s
13112}
13113
13114// SetTemplateName sets the TemplateName field's value.
13115func (s *UpdateConfigurationTemplateInput) SetTemplateName(v string) *UpdateConfigurationTemplateInput {
13116	s.TemplateName = &v
13117	return s
13118}
13119
13120// Request to update an environment.
13121type UpdateEnvironmentInput struct {
13122	_ struct{} `type:"structure"`
13123
13124	// The name of the application with which the environment is associated.
13125	ApplicationName *string `min:"1" type:"string"`
13126
13127	// If this parameter is specified, AWS Elastic Beanstalk updates the description
13128	// of this environment.
13129	Description *string `type:"string"`
13130
13131	// The ID of the environment to update.
13132	//
13133	// If no environment with this ID exists, AWS Elastic Beanstalk returns an InvalidParameterValue
13134	// error.
13135	//
13136	// Condition: You must specify either this or an EnvironmentName, or both. If
13137	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
13138	// error.
13139	EnvironmentId *string `type:"string"`
13140
13141	// The name of the environment to update. If no environment with this name exists,
13142	// AWS Elastic Beanstalk returns an InvalidParameterValue error.
13143	//
13144	// Condition: You must specify either this or an EnvironmentId, or both. If
13145	// you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter
13146	// error.
13147	EnvironmentName *string `min:"4" type:"string"`
13148
13149	// The name of the group to which the target environment belongs. Specify a
13150	// group name only if the environment's name is specified in an environment
13151	// manifest and not with the environment name or environment ID parameters.
13152	// See Environment Manifest (env.yaml) (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-cfg-manifest.html)
13153	// for details.
13154	GroupName *string `min:"1" type:"string"`
13155
13156	// If specified, AWS Elastic Beanstalk updates the configuration set associated
13157	// with the running environment and sets the specified configuration options
13158	// to the requested value.
13159	OptionSettings []*ConfigurationOptionSetting `type:"list"`
13160
13161	// A list of custom user-defined configuration options to remove from the configuration
13162	// set for this environment.
13163	OptionsToRemove []*OptionSpecification `type:"list"`
13164
13165	// The ARN of the platform, if used.
13166	PlatformArn *string `type:"string"`
13167
13168	// This specifies the platform version that the environment will run after the
13169	// environment is updated.
13170	SolutionStackName *string `type:"string"`
13171
13172	// If this parameter is specified, AWS Elastic Beanstalk deploys this configuration
13173	// template to the environment. If no such configuration template is found,
13174	// AWS Elastic Beanstalk returns an InvalidParameterValue error.
13175	TemplateName *string `min:"1" type:"string"`
13176
13177	// This specifies the tier to use to update the environment.
13178	//
13179	// Condition: At this time, if you change the tier version, name, or type, AWS
13180	// Elastic Beanstalk returns InvalidParameterValue error.
13181	Tier *EnvironmentTier `type:"structure"`
13182
13183	// If this parameter is specified, AWS Elastic Beanstalk deploys the named application
13184	// version to the environment. If no such application version is found, returns
13185	// an InvalidParameterValue error.
13186	VersionLabel *string `min:"1" type:"string"`
13187}
13188
13189// String returns the string representation.
13190//
13191// API parameter values that are decorated as "sensitive" in the API will not
13192// be included in the string output. The member name will be present, but the
13193// value will be replaced with "sensitive".
13194func (s UpdateEnvironmentInput) String() string {
13195	return awsutil.Prettify(s)
13196}
13197
13198// GoString returns the string representation.
13199//
13200// API parameter values that are decorated as "sensitive" in the API will not
13201// be included in the string output. The member name will be present, but the
13202// value will be replaced with "sensitive".
13203func (s UpdateEnvironmentInput) GoString() string {
13204	return s.String()
13205}
13206
13207// Validate inspects the fields of the type to determine if they are valid.
13208func (s *UpdateEnvironmentInput) Validate() error {
13209	invalidParams := request.ErrInvalidParams{Context: "UpdateEnvironmentInput"}
13210	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
13211		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
13212	}
13213	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
13214		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
13215	}
13216	if s.GroupName != nil && len(*s.GroupName) < 1 {
13217		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
13218	}
13219	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
13220		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
13221	}
13222	if s.VersionLabel != nil && len(*s.VersionLabel) < 1 {
13223		invalidParams.Add(request.NewErrParamMinLen("VersionLabel", 1))
13224	}
13225	if s.OptionSettings != nil {
13226		for i, v := range s.OptionSettings {
13227			if v == nil {
13228				continue
13229			}
13230			if err := v.Validate(); err != nil {
13231				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionSettings", i), err.(request.ErrInvalidParams))
13232			}
13233		}
13234	}
13235	if s.OptionsToRemove != nil {
13236		for i, v := range s.OptionsToRemove {
13237			if v == nil {
13238				continue
13239			}
13240			if err := v.Validate(); err != nil {
13241				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionsToRemove", i), err.(request.ErrInvalidParams))
13242			}
13243		}
13244	}
13245
13246	if invalidParams.Len() > 0 {
13247		return invalidParams
13248	}
13249	return nil
13250}
13251
13252// SetApplicationName sets the ApplicationName field's value.
13253func (s *UpdateEnvironmentInput) SetApplicationName(v string) *UpdateEnvironmentInput {
13254	s.ApplicationName = &v
13255	return s
13256}
13257
13258// SetDescription sets the Description field's value.
13259func (s *UpdateEnvironmentInput) SetDescription(v string) *UpdateEnvironmentInput {
13260	s.Description = &v
13261	return s
13262}
13263
13264// SetEnvironmentId sets the EnvironmentId field's value.
13265func (s *UpdateEnvironmentInput) SetEnvironmentId(v string) *UpdateEnvironmentInput {
13266	s.EnvironmentId = &v
13267	return s
13268}
13269
13270// SetEnvironmentName sets the EnvironmentName field's value.
13271func (s *UpdateEnvironmentInput) SetEnvironmentName(v string) *UpdateEnvironmentInput {
13272	s.EnvironmentName = &v
13273	return s
13274}
13275
13276// SetGroupName sets the GroupName field's value.
13277func (s *UpdateEnvironmentInput) SetGroupName(v string) *UpdateEnvironmentInput {
13278	s.GroupName = &v
13279	return s
13280}
13281
13282// SetOptionSettings sets the OptionSettings field's value.
13283func (s *UpdateEnvironmentInput) SetOptionSettings(v []*ConfigurationOptionSetting) *UpdateEnvironmentInput {
13284	s.OptionSettings = v
13285	return s
13286}
13287
13288// SetOptionsToRemove sets the OptionsToRemove field's value.
13289func (s *UpdateEnvironmentInput) SetOptionsToRemove(v []*OptionSpecification) *UpdateEnvironmentInput {
13290	s.OptionsToRemove = v
13291	return s
13292}
13293
13294// SetPlatformArn sets the PlatformArn field's value.
13295func (s *UpdateEnvironmentInput) SetPlatformArn(v string) *UpdateEnvironmentInput {
13296	s.PlatformArn = &v
13297	return s
13298}
13299
13300// SetSolutionStackName sets the SolutionStackName field's value.
13301func (s *UpdateEnvironmentInput) SetSolutionStackName(v string) *UpdateEnvironmentInput {
13302	s.SolutionStackName = &v
13303	return s
13304}
13305
13306// SetTemplateName sets the TemplateName field's value.
13307func (s *UpdateEnvironmentInput) SetTemplateName(v string) *UpdateEnvironmentInput {
13308	s.TemplateName = &v
13309	return s
13310}
13311
13312// SetTier sets the Tier field's value.
13313func (s *UpdateEnvironmentInput) SetTier(v *EnvironmentTier) *UpdateEnvironmentInput {
13314	s.Tier = v
13315	return s
13316}
13317
13318// SetVersionLabel sets the VersionLabel field's value.
13319func (s *UpdateEnvironmentInput) SetVersionLabel(v string) *UpdateEnvironmentInput {
13320	s.VersionLabel = &v
13321	return s
13322}
13323
13324type UpdateTagsForResourceInput struct {
13325	_ struct{} `type:"structure"`
13326
13327	// The Amazon Resource Name (ARN) of the resouce to be updated.
13328	//
13329	// Must be the ARN of an Elastic Beanstalk resource.
13330	//
13331	// ResourceArn is a required field
13332	ResourceArn *string `type:"string" required:"true"`
13333
13334	// A list of tags to add or update. If a key of an existing tag is added, the
13335	// tag's value is updated.
13336	//
13337	// Specify at least one of these parameters: TagsToAdd, TagsToRemove.
13338	TagsToAdd []*Tag `type:"list"`
13339
13340	// A list of tag keys to remove. If a tag key doesn't exist, it is silently
13341	// ignored.
13342	//
13343	// Specify at least one of these parameters: TagsToAdd, TagsToRemove.
13344	TagsToRemove []*string `type:"list"`
13345}
13346
13347// String returns the string representation.
13348//
13349// API parameter values that are decorated as "sensitive" in the API will not
13350// be included in the string output. The member name will be present, but the
13351// value will be replaced with "sensitive".
13352func (s UpdateTagsForResourceInput) String() string {
13353	return awsutil.Prettify(s)
13354}
13355
13356// GoString returns the string representation.
13357//
13358// API parameter values that are decorated as "sensitive" in the API will not
13359// be included in the string output. The member name will be present, but the
13360// value will be replaced with "sensitive".
13361func (s UpdateTagsForResourceInput) GoString() string {
13362	return s.String()
13363}
13364
13365// Validate inspects the fields of the type to determine if they are valid.
13366func (s *UpdateTagsForResourceInput) Validate() error {
13367	invalidParams := request.ErrInvalidParams{Context: "UpdateTagsForResourceInput"}
13368	if s.ResourceArn == nil {
13369		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
13370	}
13371	if s.TagsToAdd != nil {
13372		for i, v := range s.TagsToAdd {
13373			if v == nil {
13374				continue
13375			}
13376			if err := v.Validate(); err != nil {
13377				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagsToAdd", i), err.(request.ErrInvalidParams))
13378			}
13379		}
13380	}
13381
13382	if invalidParams.Len() > 0 {
13383		return invalidParams
13384	}
13385	return nil
13386}
13387
13388// SetResourceArn sets the ResourceArn field's value.
13389func (s *UpdateTagsForResourceInput) SetResourceArn(v string) *UpdateTagsForResourceInput {
13390	s.ResourceArn = &v
13391	return s
13392}
13393
13394// SetTagsToAdd sets the TagsToAdd field's value.
13395func (s *UpdateTagsForResourceInput) SetTagsToAdd(v []*Tag) *UpdateTagsForResourceInput {
13396	s.TagsToAdd = v
13397	return s
13398}
13399
13400// SetTagsToRemove sets the TagsToRemove field's value.
13401func (s *UpdateTagsForResourceInput) SetTagsToRemove(v []*string) *UpdateTagsForResourceInput {
13402	s.TagsToRemove = v
13403	return s
13404}
13405
13406type UpdateTagsForResourceOutput struct {
13407	_ struct{} `type:"structure"`
13408}
13409
13410// String returns the string representation.
13411//
13412// API parameter values that are decorated as "sensitive" in the API will not
13413// be included in the string output. The member name will be present, but the
13414// value will be replaced with "sensitive".
13415func (s UpdateTagsForResourceOutput) String() string {
13416	return awsutil.Prettify(s)
13417}
13418
13419// GoString returns the string representation.
13420//
13421// API parameter values that are decorated as "sensitive" in the API will not
13422// be included in the string output. The member name will be present, but the
13423// value will be replaced with "sensitive".
13424func (s UpdateTagsForResourceOutput) GoString() string {
13425	return s.String()
13426}
13427
13428// A list of validation messages for a specified configuration template.
13429type ValidateConfigurationSettingsInput struct {
13430	_ struct{} `type:"structure"`
13431
13432	// The name of the application that the configuration template or environment
13433	// belongs to.
13434	//
13435	// ApplicationName is a required field
13436	ApplicationName *string `min:"1" type:"string" required:"true"`
13437
13438	// The name of the environment to validate the settings against.
13439	//
13440	// Condition: You cannot specify both this and a configuration template name.
13441	EnvironmentName *string `min:"4" type:"string"`
13442
13443	// A list of the options and desired values to evaluate.
13444	//
13445	// OptionSettings is a required field
13446	OptionSettings []*ConfigurationOptionSetting `type:"list" required:"true"`
13447
13448	// The name of the configuration template to validate the settings against.
13449	//
13450	// Condition: You cannot specify both this and an environment name.
13451	TemplateName *string `min:"1" type:"string"`
13452}
13453
13454// String returns the string representation.
13455//
13456// API parameter values that are decorated as "sensitive" in the API will not
13457// be included in the string output. The member name will be present, but the
13458// value will be replaced with "sensitive".
13459func (s ValidateConfigurationSettingsInput) String() string {
13460	return awsutil.Prettify(s)
13461}
13462
13463// GoString returns the string representation.
13464//
13465// API parameter values that are decorated as "sensitive" in the API will not
13466// be included in the string output. The member name will be present, but the
13467// value will be replaced with "sensitive".
13468func (s ValidateConfigurationSettingsInput) GoString() string {
13469	return s.String()
13470}
13471
13472// Validate inspects the fields of the type to determine if they are valid.
13473func (s *ValidateConfigurationSettingsInput) Validate() error {
13474	invalidParams := request.ErrInvalidParams{Context: "ValidateConfigurationSettingsInput"}
13475	if s.ApplicationName == nil {
13476		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
13477	}
13478	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
13479		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
13480	}
13481	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 4 {
13482		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 4))
13483	}
13484	if s.OptionSettings == nil {
13485		invalidParams.Add(request.NewErrParamRequired("OptionSettings"))
13486	}
13487	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
13488		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
13489	}
13490	if s.OptionSettings != nil {
13491		for i, v := range s.OptionSettings {
13492			if v == nil {
13493				continue
13494			}
13495			if err := v.Validate(); err != nil {
13496				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionSettings", i), err.(request.ErrInvalidParams))
13497			}
13498		}
13499	}
13500
13501	if invalidParams.Len() > 0 {
13502		return invalidParams
13503	}
13504	return nil
13505}
13506
13507// SetApplicationName sets the ApplicationName field's value.
13508func (s *ValidateConfigurationSettingsInput) SetApplicationName(v string) *ValidateConfigurationSettingsInput {
13509	s.ApplicationName = &v
13510	return s
13511}
13512
13513// SetEnvironmentName sets the EnvironmentName field's value.
13514func (s *ValidateConfigurationSettingsInput) SetEnvironmentName(v string) *ValidateConfigurationSettingsInput {
13515	s.EnvironmentName = &v
13516	return s
13517}
13518
13519// SetOptionSettings sets the OptionSettings field's value.
13520func (s *ValidateConfigurationSettingsInput) SetOptionSettings(v []*ConfigurationOptionSetting) *ValidateConfigurationSettingsInput {
13521	s.OptionSettings = v
13522	return s
13523}
13524
13525// SetTemplateName sets the TemplateName field's value.
13526func (s *ValidateConfigurationSettingsInput) SetTemplateName(v string) *ValidateConfigurationSettingsInput {
13527	s.TemplateName = &v
13528	return s
13529}
13530
13531// Provides a list of validation messages.
13532type ValidateConfigurationSettingsOutput struct {
13533	_ struct{} `type:"structure"`
13534
13535	// A list of ValidationMessage.
13536	Messages []*ValidationMessage `type:"list"`
13537}
13538
13539// String returns the string representation.
13540//
13541// API parameter values that are decorated as "sensitive" in the API will not
13542// be included in the string output. The member name will be present, but the
13543// value will be replaced with "sensitive".
13544func (s ValidateConfigurationSettingsOutput) String() string {
13545	return awsutil.Prettify(s)
13546}
13547
13548// GoString returns the string representation.
13549//
13550// API parameter values that are decorated as "sensitive" in the API will not
13551// be included in the string output. The member name will be present, but the
13552// value will be replaced with "sensitive".
13553func (s ValidateConfigurationSettingsOutput) GoString() string {
13554	return s.String()
13555}
13556
13557// SetMessages sets the Messages field's value.
13558func (s *ValidateConfigurationSettingsOutput) SetMessages(v []*ValidationMessage) *ValidateConfigurationSettingsOutput {
13559	s.Messages = v
13560	return s
13561}
13562
13563// An error or warning for a desired configuration option value.
13564type ValidationMessage struct {
13565	_ struct{} `type:"structure"`
13566
13567	// A message describing the error or warning.
13568	Message *string `type:"string"`
13569
13570	// The namespace to which the option belongs.
13571	Namespace *string `type:"string"`
13572
13573	// The name of the option.
13574	OptionName *string `type:"string"`
13575
13576	// An indication of the severity of this message:
13577	//
13578	//    * error: This message indicates that this is not a valid setting for an
13579	//    option.
13580	//
13581	//    * warning: This message is providing information you should take into
13582	//    account.
13583	Severity *string `type:"string" enum:"ValidationSeverity"`
13584}
13585
13586// String returns the string representation.
13587//
13588// API parameter values that are decorated as "sensitive" in the API will not
13589// be included in the string output. The member name will be present, but the
13590// value will be replaced with "sensitive".
13591func (s ValidationMessage) String() string {
13592	return awsutil.Prettify(s)
13593}
13594
13595// GoString returns the string representation.
13596//
13597// API parameter values that are decorated as "sensitive" in the API will not
13598// be included in the string output. The member name will be present, but the
13599// value will be replaced with "sensitive".
13600func (s ValidationMessage) GoString() string {
13601	return s.String()
13602}
13603
13604// SetMessage sets the Message field's value.
13605func (s *ValidationMessage) SetMessage(v string) *ValidationMessage {
13606	s.Message = &v
13607	return s
13608}
13609
13610// SetNamespace sets the Namespace field's value.
13611func (s *ValidationMessage) SetNamespace(v string) *ValidationMessage {
13612	s.Namespace = &v
13613	return s
13614}
13615
13616// SetOptionName sets the OptionName field's value.
13617func (s *ValidationMessage) SetOptionName(v string) *ValidationMessage {
13618	s.OptionName = &v
13619	return s
13620}
13621
13622// SetSeverity sets the Severity field's value.
13623func (s *ValidationMessage) SetSeverity(v string) *ValidationMessage {
13624	s.Severity = &v
13625	return s
13626}
13627
13628const (
13629	// ActionHistoryStatusCompleted is a ActionHistoryStatus enum value
13630	ActionHistoryStatusCompleted = "Completed"
13631
13632	// ActionHistoryStatusFailed is a ActionHistoryStatus enum value
13633	ActionHistoryStatusFailed = "Failed"
13634
13635	// ActionHistoryStatusUnknown is a ActionHistoryStatus enum value
13636	ActionHistoryStatusUnknown = "Unknown"
13637)
13638
13639// ActionHistoryStatus_Values returns all elements of the ActionHistoryStatus enum
13640func ActionHistoryStatus_Values() []string {
13641	return []string{
13642		ActionHistoryStatusCompleted,
13643		ActionHistoryStatusFailed,
13644		ActionHistoryStatusUnknown,
13645	}
13646}
13647
13648const (
13649	// ActionStatusScheduled is a ActionStatus enum value
13650	ActionStatusScheduled = "Scheduled"
13651
13652	// ActionStatusPending is a ActionStatus enum value
13653	ActionStatusPending = "Pending"
13654
13655	// ActionStatusRunning is a ActionStatus enum value
13656	ActionStatusRunning = "Running"
13657
13658	// ActionStatusUnknown is a ActionStatus enum value
13659	ActionStatusUnknown = "Unknown"
13660)
13661
13662// ActionStatus_Values returns all elements of the ActionStatus enum
13663func ActionStatus_Values() []string {
13664	return []string{
13665		ActionStatusScheduled,
13666		ActionStatusPending,
13667		ActionStatusRunning,
13668		ActionStatusUnknown,
13669	}
13670}
13671
13672const (
13673	// ActionTypeInstanceRefresh is a ActionType enum value
13674	ActionTypeInstanceRefresh = "InstanceRefresh"
13675
13676	// ActionTypePlatformUpdate is a ActionType enum value
13677	ActionTypePlatformUpdate = "PlatformUpdate"
13678
13679	// ActionTypeUnknown is a ActionType enum value
13680	ActionTypeUnknown = "Unknown"
13681)
13682
13683// ActionType_Values returns all elements of the ActionType enum
13684func ActionType_Values() []string {
13685	return []string{
13686		ActionTypeInstanceRefresh,
13687		ActionTypePlatformUpdate,
13688		ActionTypeUnknown,
13689	}
13690}
13691
13692const (
13693	// ApplicationVersionStatusProcessed is a ApplicationVersionStatus enum value
13694	ApplicationVersionStatusProcessed = "Processed"
13695
13696	// ApplicationVersionStatusUnprocessed is a ApplicationVersionStatus enum value
13697	ApplicationVersionStatusUnprocessed = "Unprocessed"
13698
13699	// ApplicationVersionStatusFailed is a ApplicationVersionStatus enum value
13700	ApplicationVersionStatusFailed = "Failed"
13701
13702	// ApplicationVersionStatusProcessing is a ApplicationVersionStatus enum value
13703	ApplicationVersionStatusProcessing = "Processing"
13704
13705	// ApplicationVersionStatusBuilding is a ApplicationVersionStatus enum value
13706	ApplicationVersionStatusBuilding = "Building"
13707)
13708
13709// ApplicationVersionStatus_Values returns all elements of the ApplicationVersionStatus enum
13710func ApplicationVersionStatus_Values() []string {
13711	return []string{
13712		ApplicationVersionStatusProcessed,
13713		ApplicationVersionStatusUnprocessed,
13714		ApplicationVersionStatusFailed,
13715		ApplicationVersionStatusProcessing,
13716		ApplicationVersionStatusBuilding,
13717	}
13718}
13719
13720const (
13721	// ComputeTypeBuildGeneral1Small is a ComputeType enum value
13722	ComputeTypeBuildGeneral1Small = "BUILD_GENERAL1_SMALL"
13723
13724	// ComputeTypeBuildGeneral1Medium is a ComputeType enum value
13725	ComputeTypeBuildGeneral1Medium = "BUILD_GENERAL1_MEDIUM"
13726
13727	// ComputeTypeBuildGeneral1Large is a ComputeType enum value
13728	ComputeTypeBuildGeneral1Large = "BUILD_GENERAL1_LARGE"
13729)
13730
13731// ComputeType_Values returns all elements of the ComputeType enum
13732func ComputeType_Values() []string {
13733	return []string{
13734		ComputeTypeBuildGeneral1Small,
13735		ComputeTypeBuildGeneral1Medium,
13736		ComputeTypeBuildGeneral1Large,
13737	}
13738}
13739
13740const (
13741	// ConfigurationDeploymentStatusDeployed is a ConfigurationDeploymentStatus enum value
13742	ConfigurationDeploymentStatusDeployed = "deployed"
13743
13744	// ConfigurationDeploymentStatusPending is a ConfigurationDeploymentStatus enum value
13745	ConfigurationDeploymentStatusPending = "pending"
13746
13747	// ConfigurationDeploymentStatusFailed is a ConfigurationDeploymentStatus enum value
13748	ConfigurationDeploymentStatusFailed = "failed"
13749)
13750
13751// ConfigurationDeploymentStatus_Values returns all elements of the ConfigurationDeploymentStatus enum
13752func ConfigurationDeploymentStatus_Values() []string {
13753	return []string{
13754		ConfigurationDeploymentStatusDeployed,
13755		ConfigurationDeploymentStatusPending,
13756		ConfigurationDeploymentStatusFailed,
13757	}
13758}
13759
13760const (
13761	// ConfigurationOptionValueTypeScalar is a ConfigurationOptionValueType enum value
13762	ConfigurationOptionValueTypeScalar = "Scalar"
13763
13764	// ConfigurationOptionValueTypeList is a ConfigurationOptionValueType enum value
13765	ConfigurationOptionValueTypeList = "List"
13766)
13767
13768// ConfigurationOptionValueType_Values returns all elements of the ConfigurationOptionValueType enum
13769func ConfigurationOptionValueType_Values() []string {
13770	return []string{
13771		ConfigurationOptionValueTypeScalar,
13772		ConfigurationOptionValueTypeList,
13773	}
13774}
13775
13776const (
13777	// EnvironmentHealthGreen is a EnvironmentHealth enum value
13778	EnvironmentHealthGreen = "Green"
13779
13780	// EnvironmentHealthYellow is a EnvironmentHealth enum value
13781	EnvironmentHealthYellow = "Yellow"
13782
13783	// EnvironmentHealthRed is a EnvironmentHealth enum value
13784	EnvironmentHealthRed = "Red"
13785
13786	// EnvironmentHealthGrey is a EnvironmentHealth enum value
13787	EnvironmentHealthGrey = "Grey"
13788)
13789
13790// EnvironmentHealth_Values returns all elements of the EnvironmentHealth enum
13791func EnvironmentHealth_Values() []string {
13792	return []string{
13793		EnvironmentHealthGreen,
13794		EnvironmentHealthYellow,
13795		EnvironmentHealthRed,
13796		EnvironmentHealthGrey,
13797	}
13798}
13799
13800const (
13801	// EnvironmentHealthAttributeStatus is a EnvironmentHealthAttribute enum value
13802	EnvironmentHealthAttributeStatus = "Status"
13803
13804	// EnvironmentHealthAttributeColor is a EnvironmentHealthAttribute enum value
13805	EnvironmentHealthAttributeColor = "Color"
13806
13807	// EnvironmentHealthAttributeCauses is a EnvironmentHealthAttribute enum value
13808	EnvironmentHealthAttributeCauses = "Causes"
13809
13810	// EnvironmentHealthAttributeApplicationMetrics is a EnvironmentHealthAttribute enum value
13811	EnvironmentHealthAttributeApplicationMetrics = "ApplicationMetrics"
13812
13813	// EnvironmentHealthAttributeInstancesHealth is a EnvironmentHealthAttribute enum value
13814	EnvironmentHealthAttributeInstancesHealth = "InstancesHealth"
13815
13816	// EnvironmentHealthAttributeAll is a EnvironmentHealthAttribute enum value
13817	EnvironmentHealthAttributeAll = "All"
13818
13819	// EnvironmentHealthAttributeHealthStatus is a EnvironmentHealthAttribute enum value
13820	EnvironmentHealthAttributeHealthStatus = "HealthStatus"
13821
13822	// EnvironmentHealthAttributeRefreshedAt is a EnvironmentHealthAttribute enum value
13823	EnvironmentHealthAttributeRefreshedAt = "RefreshedAt"
13824)
13825
13826// EnvironmentHealthAttribute_Values returns all elements of the EnvironmentHealthAttribute enum
13827func EnvironmentHealthAttribute_Values() []string {
13828	return []string{
13829		EnvironmentHealthAttributeStatus,
13830		EnvironmentHealthAttributeColor,
13831		EnvironmentHealthAttributeCauses,
13832		EnvironmentHealthAttributeApplicationMetrics,
13833		EnvironmentHealthAttributeInstancesHealth,
13834		EnvironmentHealthAttributeAll,
13835		EnvironmentHealthAttributeHealthStatus,
13836		EnvironmentHealthAttributeRefreshedAt,
13837	}
13838}
13839
13840const (
13841	// EnvironmentHealthStatusNoData is a EnvironmentHealthStatus enum value
13842	EnvironmentHealthStatusNoData = "NoData"
13843
13844	// EnvironmentHealthStatusUnknown is a EnvironmentHealthStatus enum value
13845	EnvironmentHealthStatusUnknown = "Unknown"
13846
13847	// EnvironmentHealthStatusPending is a EnvironmentHealthStatus enum value
13848	EnvironmentHealthStatusPending = "Pending"
13849
13850	// EnvironmentHealthStatusOk is a EnvironmentHealthStatus enum value
13851	EnvironmentHealthStatusOk = "Ok"
13852
13853	// EnvironmentHealthStatusInfo is a EnvironmentHealthStatus enum value
13854	EnvironmentHealthStatusInfo = "Info"
13855
13856	// EnvironmentHealthStatusWarning is a EnvironmentHealthStatus enum value
13857	EnvironmentHealthStatusWarning = "Warning"
13858
13859	// EnvironmentHealthStatusDegraded is a EnvironmentHealthStatus enum value
13860	EnvironmentHealthStatusDegraded = "Degraded"
13861
13862	// EnvironmentHealthStatusSevere is a EnvironmentHealthStatus enum value
13863	EnvironmentHealthStatusSevere = "Severe"
13864
13865	// EnvironmentHealthStatusSuspended is a EnvironmentHealthStatus enum value
13866	EnvironmentHealthStatusSuspended = "Suspended"
13867)
13868
13869// EnvironmentHealthStatus_Values returns all elements of the EnvironmentHealthStatus enum
13870func EnvironmentHealthStatus_Values() []string {
13871	return []string{
13872		EnvironmentHealthStatusNoData,
13873		EnvironmentHealthStatusUnknown,
13874		EnvironmentHealthStatusPending,
13875		EnvironmentHealthStatusOk,
13876		EnvironmentHealthStatusInfo,
13877		EnvironmentHealthStatusWarning,
13878		EnvironmentHealthStatusDegraded,
13879		EnvironmentHealthStatusSevere,
13880		EnvironmentHealthStatusSuspended,
13881	}
13882}
13883
13884const (
13885	// EnvironmentInfoTypeTail is a EnvironmentInfoType enum value
13886	EnvironmentInfoTypeTail = "tail"
13887
13888	// EnvironmentInfoTypeBundle is a EnvironmentInfoType enum value
13889	EnvironmentInfoTypeBundle = "bundle"
13890)
13891
13892// EnvironmentInfoType_Values returns all elements of the EnvironmentInfoType enum
13893func EnvironmentInfoType_Values() []string {
13894	return []string{
13895		EnvironmentInfoTypeTail,
13896		EnvironmentInfoTypeBundle,
13897	}
13898}
13899
13900const (
13901	// EnvironmentStatusAborting is a EnvironmentStatus enum value
13902	EnvironmentStatusAborting = "Aborting"
13903
13904	// EnvironmentStatusLaunching is a EnvironmentStatus enum value
13905	EnvironmentStatusLaunching = "Launching"
13906
13907	// EnvironmentStatusUpdating is a EnvironmentStatus enum value
13908	EnvironmentStatusUpdating = "Updating"
13909
13910	// EnvironmentStatusLinkingFrom is a EnvironmentStatus enum value
13911	EnvironmentStatusLinkingFrom = "LinkingFrom"
13912
13913	// EnvironmentStatusLinkingTo is a EnvironmentStatus enum value
13914	EnvironmentStatusLinkingTo = "LinkingTo"
13915
13916	// EnvironmentStatusReady is a EnvironmentStatus enum value
13917	EnvironmentStatusReady = "Ready"
13918
13919	// EnvironmentStatusTerminating is a EnvironmentStatus enum value
13920	EnvironmentStatusTerminating = "Terminating"
13921
13922	// EnvironmentStatusTerminated is a EnvironmentStatus enum value
13923	EnvironmentStatusTerminated = "Terminated"
13924)
13925
13926// EnvironmentStatus_Values returns all elements of the EnvironmentStatus enum
13927func EnvironmentStatus_Values() []string {
13928	return []string{
13929		EnvironmentStatusAborting,
13930		EnvironmentStatusLaunching,
13931		EnvironmentStatusUpdating,
13932		EnvironmentStatusLinkingFrom,
13933		EnvironmentStatusLinkingTo,
13934		EnvironmentStatusReady,
13935		EnvironmentStatusTerminating,
13936		EnvironmentStatusTerminated,
13937	}
13938}
13939
13940const (
13941	// EventSeverityTrace is a EventSeverity enum value
13942	EventSeverityTrace = "TRACE"
13943
13944	// EventSeverityDebug is a EventSeverity enum value
13945	EventSeverityDebug = "DEBUG"
13946
13947	// EventSeverityInfo is a EventSeverity enum value
13948	EventSeverityInfo = "INFO"
13949
13950	// EventSeverityWarn is a EventSeverity enum value
13951	EventSeverityWarn = "WARN"
13952
13953	// EventSeverityError is a EventSeverity enum value
13954	EventSeverityError = "ERROR"
13955
13956	// EventSeverityFatal is a EventSeverity enum value
13957	EventSeverityFatal = "FATAL"
13958)
13959
13960// EventSeverity_Values returns all elements of the EventSeverity enum
13961func EventSeverity_Values() []string {
13962	return []string{
13963		EventSeverityTrace,
13964		EventSeverityDebug,
13965		EventSeverityInfo,
13966		EventSeverityWarn,
13967		EventSeverityError,
13968		EventSeverityFatal,
13969	}
13970}
13971
13972const (
13973	// FailureTypeUpdateCancelled is a FailureType enum value
13974	FailureTypeUpdateCancelled = "UpdateCancelled"
13975
13976	// FailureTypeCancellationFailed is a FailureType enum value
13977	FailureTypeCancellationFailed = "CancellationFailed"
13978
13979	// FailureTypeRollbackFailed is a FailureType enum value
13980	FailureTypeRollbackFailed = "RollbackFailed"
13981
13982	// FailureTypeRollbackSuccessful is a FailureType enum value
13983	FailureTypeRollbackSuccessful = "RollbackSuccessful"
13984
13985	// FailureTypeInternalFailure is a FailureType enum value
13986	FailureTypeInternalFailure = "InternalFailure"
13987
13988	// FailureTypeInvalidEnvironmentState is a FailureType enum value
13989	FailureTypeInvalidEnvironmentState = "InvalidEnvironmentState"
13990
13991	// FailureTypePermissionsError is a FailureType enum value
13992	FailureTypePermissionsError = "PermissionsError"
13993)
13994
13995// FailureType_Values returns all elements of the FailureType enum
13996func FailureType_Values() []string {
13997	return []string{
13998		FailureTypeUpdateCancelled,
13999		FailureTypeCancellationFailed,
14000		FailureTypeRollbackFailed,
14001		FailureTypeRollbackSuccessful,
14002		FailureTypeInternalFailure,
14003		FailureTypeInvalidEnvironmentState,
14004		FailureTypePermissionsError,
14005	}
14006}
14007
14008const (
14009	// InstancesHealthAttributeHealthStatus is a InstancesHealthAttribute enum value
14010	InstancesHealthAttributeHealthStatus = "HealthStatus"
14011
14012	// InstancesHealthAttributeColor is a InstancesHealthAttribute enum value
14013	InstancesHealthAttributeColor = "Color"
14014
14015	// InstancesHealthAttributeCauses is a InstancesHealthAttribute enum value
14016	InstancesHealthAttributeCauses = "Causes"
14017
14018	// InstancesHealthAttributeApplicationMetrics is a InstancesHealthAttribute enum value
14019	InstancesHealthAttributeApplicationMetrics = "ApplicationMetrics"
14020
14021	// InstancesHealthAttributeRefreshedAt is a InstancesHealthAttribute enum value
14022	InstancesHealthAttributeRefreshedAt = "RefreshedAt"
14023
14024	// InstancesHealthAttributeLaunchedAt is a InstancesHealthAttribute enum value
14025	InstancesHealthAttributeLaunchedAt = "LaunchedAt"
14026
14027	// InstancesHealthAttributeSystem is a InstancesHealthAttribute enum value
14028	InstancesHealthAttributeSystem = "System"
14029
14030	// InstancesHealthAttributeDeployment is a InstancesHealthAttribute enum value
14031	InstancesHealthAttributeDeployment = "Deployment"
14032
14033	// InstancesHealthAttributeAvailabilityZone is a InstancesHealthAttribute enum value
14034	InstancesHealthAttributeAvailabilityZone = "AvailabilityZone"
14035
14036	// InstancesHealthAttributeInstanceType is a InstancesHealthAttribute enum value
14037	InstancesHealthAttributeInstanceType = "InstanceType"
14038
14039	// InstancesHealthAttributeAll is a InstancesHealthAttribute enum value
14040	InstancesHealthAttributeAll = "All"
14041)
14042
14043// InstancesHealthAttribute_Values returns all elements of the InstancesHealthAttribute enum
14044func InstancesHealthAttribute_Values() []string {
14045	return []string{
14046		InstancesHealthAttributeHealthStatus,
14047		InstancesHealthAttributeColor,
14048		InstancesHealthAttributeCauses,
14049		InstancesHealthAttributeApplicationMetrics,
14050		InstancesHealthAttributeRefreshedAt,
14051		InstancesHealthAttributeLaunchedAt,
14052		InstancesHealthAttributeSystem,
14053		InstancesHealthAttributeDeployment,
14054		InstancesHealthAttributeAvailabilityZone,
14055		InstancesHealthAttributeInstanceType,
14056		InstancesHealthAttributeAll,
14057	}
14058}
14059
14060const (
14061	// PlatformStatusCreating is a PlatformStatus enum value
14062	PlatformStatusCreating = "Creating"
14063
14064	// PlatformStatusFailed is a PlatformStatus enum value
14065	PlatformStatusFailed = "Failed"
14066
14067	// PlatformStatusReady is a PlatformStatus enum value
14068	PlatformStatusReady = "Ready"
14069
14070	// PlatformStatusDeleting is a PlatformStatus enum value
14071	PlatformStatusDeleting = "Deleting"
14072
14073	// PlatformStatusDeleted is a PlatformStatus enum value
14074	PlatformStatusDeleted = "Deleted"
14075)
14076
14077// PlatformStatus_Values returns all elements of the PlatformStatus enum
14078func PlatformStatus_Values() []string {
14079	return []string{
14080		PlatformStatusCreating,
14081		PlatformStatusFailed,
14082		PlatformStatusReady,
14083		PlatformStatusDeleting,
14084		PlatformStatusDeleted,
14085	}
14086}
14087
14088const (
14089	// SourceRepositoryCodeCommit is a SourceRepository enum value
14090	SourceRepositoryCodeCommit = "CodeCommit"
14091
14092	// SourceRepositoryS3 is a SourceRepository enum value
14093	SourceRepositoryS3 = "S3"
14094)
14095
14096// SourceRepository_Values returns all elements of the SourceRepository enum
14097func SourceRepository_Values() []string {
14098	return []string{
14099		SourceRepositoryCodeCommit,
14100		SourceRepositoryS3,
14101	}
14102}
14103
14104const (
14105	// SourceTypeGit is a SourceType enum value
14106	SourceTypeGit = "Git"
14107
14108	// SourceTypeZip is a SourceType enum value
14109	SourceTypeZip = "Zip"
14110)
14111
14112// SourceType_Values returns all elements of the SourceType enum
14113func SourceType_Values() []string {
14114	return []string{
14115		SourceTypeGit,
14116		SourceTypeZip,
14117	}
14118}
14119
14120const (
14121	// ValidationSeverityError is a ValidationSeverity enum value
14122	ValidationSeverityError = "error"
14123
14124	// ValidationSeverityWarning is a ValidationSeverity enum value
14125	ValidationSeverityWarning = "warning"
14126)
14127
14128// ValidationSeverity_Values returns all elements of the ValidationSeverity enum
14129func ValidationSeverity_Values() []string {
14130	return []string{
14131		ValidationSeverityError,
14132		ValidationSeverityWarning,
14133	}
14134}
14135