1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package mwaa
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const opCreateCliToken = "CreateCliToken"
17
18// CreateCliTokenRequest generates a "aws/request.Request" representing the
19// client's request for the CreateCliToken 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 CreateCliToken for more information on using the CreateCliToken
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 CreateCliTokenRequest method.
34//    req, resp := client.CreateCliTokenRequest(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/mwaa-2020-07-01/CreateCliToken
42func (c *MWAA) CreateCliTokenRequest(input *CreateCliTokenInput) (req *request.Request, output *CreateCliTokenOutput) {
43	op := &request.Operation{
44		Name:       opCreateCliToken,
45		HTTPMethod: "POST",
46		HTTPPath:   "/clitoken/{Name}",
47	}
48
49	if input == nil {
50		input = &CreateCliTokenInput{}
51	}
52
53	output = &CreateCliTokenOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("env.", nil))
56	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
57	return
58}
59
60// CreateCliToken API operation for AmazonMWAA.
61//
62// Create a CLI token to use Airflow CLI.
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 AmazonMWAA's
69// API operation CreateCliToken for usage and error information.
70//
71// Returned Error Types:
72//   * ResourceNotFoundException
73//   ResourceNotFoundException: The resource is not available.
74//
75// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/CreateCliToken
76func (c *MWAA) CreateCliToken(input *CreateCliTokenInput) (*CreateCliTokenOutput, error) {
77	req, out := c.CreateCliTokenRequest(input)
78	return out, req.Send()
79}
80
81// CreateCliTokenWithContext is the same as CreateCliToken with the addition of
82// the ability to pass a context and additional request options.
83//
84// See CreateCliToken for details on how to use this API operation.
85//
86// The context must be non-nil and will be used for request cancellation. If
87// the context is nil a panic will occur. In the future the SDK may create
88// sub-contexts for http.Requests. See https://golang.org/pkg/context/
89// for more information on using Contexts.
90func (c *MWAA) CreateCliTokenWithContext(ctx aws.Context, input *CreateCliTokenInput, opts ...request.Option) (*CreateCliTokenOutput, error) {
91	req, out := c.CreateCliTokenRequest(input)
92	req.SetContext(ctx)
93	req.ApplyOptions(opts...)
94	return out, req.Send()
95}
96
97const opCreateEnvironment = "CreateEnvironment"
98
99// CreateEnvironmentRequest generates a "aws/request.Request" representing the
100// client's request for the CreateEnvironment operation. The "output" return
101// value will be populated with the request's response once the request completes
102// successfully.
103//
104// Use "Send" method on the returned Request to send the API call to the service.
105// the "output" return value is not valid until after Send returns without error.
106//
107// See CreateEnvironment for more information on using the CreateEnvironment
108// API call, and error handling.
109//
110// This method is useful when you want to inject custom logic or configuration
111// into the SDK's request lifecycle. Such as custom headers, or retry logic.
112//
113//
114//    // Example sending a request using the CreateEnvironmentRequest method.
115//    req, resp := client.CreateEnvironmentRequest(params)
116//
117//    err := req.Send()
118//    if err == nil { // resp is now filled
119//        fmt.Println(resp)
120//    }
121//
122// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/CreateEnvironment
123func (c *MWAA) CreateEnvironmentRequest(input *CreateEnvironmentInput) (req *request.Request, output *CreateEnvironmentOutput) {
124	op := &request.Operation{
125		Name:       opCreateEnvironment,
126		HTTPMethod: "PUT",
127		HTTPPath:   "/environments/{Name}",
128	}
129
130	if input == nil {
131		input = &CreateEnvironmentInput{}
132	}
133
134	output = &CreateEnvironmentOutput{}
135	req = c.newRequest(op, input, output)
136	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
137	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
138	return
139}
140
141// CreateEnvironment API operation for AmazonMWAA.
142//
143// JSON blob that describes the environment to create.
144//
145// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
146// with awserr.Error's Code and Message methods to get detailed information about
147// the error.
148//
149// See the AWS API reference guide for AmazonMWAA's
150// API operation CreateEnvironment for usage and error information.
151//
152// Returned Error Types:
153//   * ValidationException
154//   ValidationException: The provided input is not valid.
155//
156//   * InternalServerException
157//   InternalServerException: An internal error has occurred.
158//
159// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/CreateEnvironment
160func (c *MWAA) CreateEnvironment(input *CreateEnvironmentInput) (*CreateEnvironmentOutput, error) {
161	req, out := c.CreateEnvironmentRequest(input)
162	return out, req.Send()
163}
164
165// CreateEnvironmentWithContext is the same as CreateEnvironment with the addition of
166// the ability to pass a context and additional request options.
167//
168// See CreateEnvironment for details on how to use this API operation.
169//
170// The context must be non-nil and will be used for request cancellation. If
171// the context is nil a panic will occur. In the future the SDK may create
172// sub-contexts for http.Requests. See https://golang.org/pkg/context/
173// for more information on using Contexts.
174func (c *MWAA) CreateEnvironmentWithContext(ctx aws.Context, input *CreateEnvironmentInput, opts ...request.Option) (*CreateEnvironmentOutput, error) {
175	req, out := c.CreateEnvironmentRequest(input)
176	req.SetContext(ctx)
177	req.ApplyOptions(opts...)
178	return out, req.Send()
179}
180
181const opCreateWebLoginToken = "CreateWebLoginToken"
182
183// CreateWebLoginTokenRequest generates a "aws/request.Request" representing the
184// client's request for the CreateWebLoginToken operation. The "output" return
185// value will be populated with the request's response once the request completes
186// successfully.
187//
188// Use "Send" method on the returned Request to send the API call to the service.
189// the "output" return value is not valid until after Send returns without error.
190//
191// See CreateWebLoginToken for more information on using the CreateWebLoginToken
192// API call, and error handling.
193//
194// This method is useful when you want to inject custom logic or configuration
195// into the SDK's request lifecycle. Such as custom headers, or retry logic.
196//
197//
198//    // Example sending a request using the CreateWebLoginTokenRequest method.
199//    req, resp := client.CreateWebLoginTokenRequest(params)
200//
201//    err := req.Send()
202//    if err == nil { // resp is now filled
203//        fmt.Println(resp)
204//    }
205//
206// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/CreateWebLoginToken
207func (c *MWAA) CreateWebLoginTokenRequest(input *CreateWebLoginTokenInput) (req *request.Request, output *CreateWebLoginTokenOutput) {
208	op := &request.Operation{
209		Name:       opCreateWebLoginToken,
210		HTTPMethod: "POST",
211		HTTPPath:   "/webtoken/{Name}",
212	}
213
214	if input == nil {
215		input = &CreateWebLoginTokenInput{}
216	}
217
218	output = &CreateWebLoginTokenOutput{}
219	req = c.newRequest(op, input, output)
220	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("env.", nil))
221	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
222	return
223}
224
225// CreateWebLoginToken API operation for AmazonMWAA.
226//
227// Create a JWT token to be used to login to Airflow Web UI with claims based
228// Authentication.
229//
230// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
231// with awserr.Error's Code and Message methods to get detailed information about
232// the error.
233//
234// See the AWS API reference guide for AmazonMWAA's
235// API operation CreateWebLoginToken for usage and error information.
236//
237// Returned Error Types:
238//   * AccessDeniedException
239//   Access to the Airflow Web UI or CLI has been Denied. Please follow the MWAA
240//   user guide to setup permissions to access the Web UI and CLI functionality.
241//
242//   * ResourceNotFoundException
243//   ResourceNotFoundException: The resource is not available.
244//
245//   * ValidationException
246//   ValidationException: The provided input is not valid.
247//
248//   * InternalServerException
249//   InternalServerException: An internal error has occurred.
250//
251// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/CreateWebLoginToken
252func (c *MWAA) CreateWebLoginToken(input *CreateWebLoginTokenInput) (*CreateWebLoginTokenOutput, error) {
253	req, out := c.CreateWebLoginTokenRequest(input)
254	return out, req.Send()
255}
256
257// CreateWebLoginTokenWithContext is the same as CreateWebLoginToken with the addition of
258// the ability to pass a context and additional request options.
259//
260// See CreateWebLoginToken for details on how to use this API operation.
261//
262// The context must be non-nil and will be used for request cancellation. If
263// the context is nil a panic will occur. In the future the SDK may create
264// sub-contexts for http.Requests. See https://golang.org/pkg/context/
265// for more information on using Contexts.
266func (c *MWAA) CreateWebLoginTokenWithContext(ctx aws.Context, input *CreateWebLoginTokenInput, opts ...request.Option) (*CreateWebLoginTokenOutput, error) {
267	req, out := c.CreateWebLoginTokenRequest(input)
268	req.SetContext(ctx)
269	req.ApplyOptions(opts...)
270	return out, req.Send()
271}
272
273const opDeleteEnvironment = "DeleteEnvironment"
274
275// DeleteEnvironmentRequest generates a "aws/request.Request" representing the
276// client's request for the DeleteEnvironment operation. The "output" return
277// value will be populated with the request's response once the request completes
278// successfully.
279//
280// Use "Send" method on the returned Request to send the API call to the service.
281// the "output" return value is not valid until after Send returns without error.
282//
283// See DeleteEnvironment for more information on using the DeleteEnvironment
284// API call, and error handling.
285//
286// This method is useful when you want to inject custom logic or configuration
287// into the SDK's request lifecycle. Such as custom headers, or retry logic.
288//
289//
290//    // Example sending a request using the DeleteEnvironmentRequest method.
291//    req, resp := client.DeleteEnvironmentRequest(params)
292//
293//    err := req.Send()
294//    if err == nil { // resp is now filled
295//        fmt.Println(resp)
296//    }
297//
298// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/DeleteEnvironment
299func (c *MWAA) DeleteEnvironmentRequest(input *DeleteEnvironmentInput) (req *request.Request, output *DeleteEnvironmentOutput) {
300	op := &request.Operation{
301		Name:       opDeleteEnvironment,
302		HTTPMethod: "DELETE",
303		HTTPPath:   "/environments/{Name}",
304	}
305
306	if input == nil {
307		input = &DeleteEnvironmentInput{}
308	}
309
310	output = &DeleteEnvironmentOutput{}
311	req = c.newRequest(op, input, output)
312	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
313	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
314	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
315	return
316}
317
318// DeleteEnvironment API operation for AmazonMWAA.
319//
320// Delete an existing environment.
321//
322// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
323// with awserr.Error's Code and Message methods to get detailed information about
324// the error.
325//
326// See the AWS API reference guide for AmazonMWAA's
327// API operation DeleteEnvironment for usage and error information.
328//
329// Returned Error Types:
330//   * ResourceNotFoundException
331//   ResourceNotFoundException: The resource is not available.
332//
333//   * ValidationException
334//   ValidationException: The provided input is not valid.
335//
336//   * InternalServerException
337//   InternalServerException: An internal error has occurred.
338//
339// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/DeleteEnvironment
340func (c *MWAA) DeleteEnvironment(input *DeleteEnvironmentInput) (*DeleteEnvironmentOutput, error) {
341	req, out := c.DeleteEnvironmentRequest(input)
342	return out, req.Send()
343}
344
345// DeleteEnvironmentWithContext is the same as DeleteEnvironment with the addition of
346// the ability to pass a context and additional request options.
347//
348// See DeleteEnvironment for details on how to use this API operation.
349//
350// The context must be non-nil and will be used for request cancellation. If
351// the context is nil a panic will occur. In the future the SDK may create
352// sub-contexts for http.Requests. See https://golang.org/pkg/context/
353// for more information on using Contexts.
354func (c *MWAA) DeleteEnvironmentWithContext(ctx aws.Context, input *DeleteEnvironmentInput, opts ...request.Option) (*DeleteEnvironmentOutput, error) {
355	req, out := c.DeleteEnvironmentRequest(input)
356	req.SetContext(ctx)
357	req.ApplyOptions(opts...)
358	return out, req.Send()
359}
360
361const opGetEnvironment = "GetEnvironment"
362
363// GetEnvironmentRequest generates a "aws/request.Request" representing the
364// client's request for the GetEnvironment operation. The "output" return
365// value will be populated with the request's response once the request completes
366// successfully.
367//
368// Use "Send" method on the returned Request to send the API call to the service.
369// the "output" return value is not valid until after Send returns without error.
370//
371// See GetEnvironment for more information on using the GetEnvironment
372// API call, and error handling.
373//
374// This method is useful when you want to inject custom logic or configuration
375// into the SDK's request lifecycle. Such as custom headers, or retry logic.
376//
377//
378//    // Example sending a request using the GetEnvironmentRequest method.
379//    req, resp := client.GetEnvironmentRequest(params)
380//
381//    err := req.Send()
382//    if err == nil { // resp is now filled
383//        fmt.Println(resp)
384//    }
385//
386// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/GetEnvironment
387func (c *MWAA) GetEnvironmentRequest(input *GetEnvironmentInput) (req *request.Request, output *GetEnvironmentOutput) {
388	op := &request.Operation{
389		Name:       opGetEnvironment,
390		HTTPMethod: "GET",
391		HTTPPath:   "/environments/{Name}",
392	}
393
394	if input == nil {
395		input = &GetEnvironmentInput{}
396	}
397
398	output = &GetEnvironmentOutput{}
399	req = c.newRequest(op, input, output)
400	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
401	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
402	return
403}
404
405// GetEnvironment API operation for AmazonMWAA.
406//
407// Get details of an existing environment.
408//
409// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
410// with awserr.Error's Code and Message methods to get detailed information about
411// the error.
412//
413// See the AWS API reference guide for AmazonMWAA's
414// API operation GetEnvironment for usage and error information.
415//
416// Returned Error Types:
417//   * ResourceNotFoundException
418//   ResourceNotFoundException: The resource is not available.
419//
420//   * ValidationException
421//   ValidationException: The provided input is not valid.
422//
423//   * InternalServerException
424//   InternalServerException: An internal error has occurred.
425//
426// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/GetEnvironment
427func (c *MWAA) GetEnvironment(input *GetEnvironmentInput) (*GetEnvironmentOutput, error) {
428	req, out := c.GetEnvironmentRequest(input)
429	return out, req.Send()
430}
431
432// GetEnvironmentWithContext is the same as GetEnvironment with the addition of
433// the ability to pass a context and additional request options.
434//
435// See GetEnvironment for details on how to use this API operation.
436//
437// The context must be non-nil and will be used for request cancellation. If
438// the context is nil a panic will occur. In the future the SDK may create
439// sub-contexts for http.Requests. See https://golang.org/pkg/context/
440// for more information on using Contexts.
441func (c *MWAA) GetEnvironmentWithContext(ctx aws.Context, input *GetEnvironmentInput, opts ...request.Option) (*GetEnvironmentOutput, error) {
442	req, out := c.GetEnvironmentRequest(input)
443	req.SetContext(ctx)
444	req.ApplyOptions(opts...)
445	return out, req.Send()
446}
447
448const opListEnvironments = "ListEnvironments"
449
450// ListEnvironmentsRequest generates a "aws/request.Request" representing the
451// client's request for the ListEnvironments operation. The "output" return
452// value will be populated with the request's response once the request completes
453// successfully.
454//
455// Use "Send" method on the returned Request to send the API call to the service.
456// the "output" return value is not valid until after Send returns without error.
457//
458// See ListEnvironments for more information on using the ListEnvironments
459// API call, and error handling.
460//
461// This method is useful when you want to inject custom logic or configuration
462// into the SDK's request lifecycle. Such as custom headers, or retry logic.
463//
464//
465//    // Example sending a request using the ListEnvironmentsRequest method.
466//    req, resp := client.ListEnvironmentsRequest(params)
467//
468//    err := req.Send()
469//    if err == nil { // resp is now filled
470//        fmt.Println(resp)
471//    }
472//
473// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/ListEnvironments
474func (c *MWAA) ListEnvironmentsRequest(input *ListEnvironmentsInput) (req *request.Request, output *ListEnvironmentsOutput) {
475	op := &request.Operation{
476		Name:       opListEnvironments,
477		HTTPMethod: "GET",
478		HTTPPath:   "/environments",
479		Paginator: &request.Paginator{
480			InputTokens:     []string{"NextToken"},
481			OutputTokens:    []string{"NextToken"},
482			LimitToken:      "MaxResults",
483			TruncationToken: "",
484		},
485	}
486
487	if input == nil {
488		input = &ListEnvironmentsInput{}
489	}
490
491	output = &ListEnvironmentsOutput{}
492	req = c.newRequest(op, input, output)
493	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
494	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
495	return
496}
497
498// ListEnvironments API operation for AmazonMWAA.
499//
500// List Amazon MWAA Environments.
501//
502// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
503// with awserr.Error's Code and Message methods to get detailed information about
504// the error.
505//
506// See the AWS API reference guide for AmazonMWAA's
507// API operation ListEnvironments for usage and error information.
508//
509// Returned Error Types:
510//   * ValidationException
511//   ValidationException: The provided input is not valid.
512//
513//   * InternalServerException
514//   InternalServerException: An internal error has occurred.
515//
516// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/ListEnvironments
517func (c *MWAA) ListEnvironments(input *ListEnvironmentsInput) (*ListEnvironmentsOutput, error) {
518	req, out := c.ListEnvironmentsRequest(input)
519	return out, req.Send()
520}
521
522// ListEnvironmentsWithContext is the same as ListEnvironments with the addition of
523// the ability to pass a context and additional request options.
524//
525// See ListEnvironments for details on how to use this API operation.
526//
527// The context must be non-nil and will be used for request cancellation. If
528// the context is nil a panic will occur. In the future the SDK may create
529// sub-contexts for http.Requests. See https://golang.org/pkg/context/
530// for more information on using Contexts.
531func (c *MWAA) ListEnvironmentsWithContext(ctx aws.Context, input *ListEnvironmentsInput, opts ...request.Option) (*ListEnvironmentsOutput, error) {
532	req, out := c.ListEnvironmentsRequest(input)
533	req.SetContext(ctx)
534	req.ApplyOptions(opts...)
535	return out, req.Send()
536}
537
538// ListEnvironmentsPages iterates over the pages of a ListEnvironments operation,
539// calling the "fn" function with the response data for each page. To stop
540// iterating, return false from the fn function.
541//
542// See ListEnvironments method for more information on how to use this operation.
543//
544// Note: This operation can generate multiple requests to a service.
545//
546//    // Example iterating over at most 3 pages of a ListEnvironments operation.
547//    pageNum := 0
548//    err := client.ListEnvironmentsPages(params,
549//        func(page *mwaa.ListEnvironmentsOutput, lastPage bool) bool {
550//            pageNum++
551//            fmt.Println(page)
552//            return pageNum <= 3
553//        })
554//
555func (c *MWAA) ListEnvironmentsPages(input *ListEnvironmentsInput, fn func(*ListEnvironmentsOutput, bool) bool) error {
556	return c.ListEnvironmentsPagesWithContext(aws.BackgroundContext(), input, fn)
557}
558
559// ListEnvironmentsPagesWithContext same as ListEnvironmentsPages except
560// it takes a Context and allows setting request options on the pages.
561//
562// The context must be non-nil and will be used for request cancellation. If
563// the context is nil a panic will occur. In the future the SDK may create
564// sub-contexts for http.Requests. See https://golang.org/pkg/context/
565// for more information on using Contexts.
566func (c *MWAA) ListEnvironmentsPagesWithContext(ctx aws.Context, input *ListEnvironmentsInput, fn func(*ListEnvironmentsOutput, bool) bool, opts ...request.Option) error {
567	p := request.Pagination{
568		NewRequest: func() (*request.Request, error) {
569			var inCpy *ListEnvironmentsInput
570			if input != nil {
571				tmp := *input
572				inCpy = &tmp
573			}
574			req, _ := c.ListEnvironmentsRequest(inCpy)
575			req.SetContext(ctx)
576			req.ApplyOptions(opts...)
577			return req, nil
578		},
579	}
580
581	for p.Next() {
582		if !fn(p.Page().(*ListEnvironmentsOutput), !p.HasNextPage()) {
583			break
584		}
585	}
586
587	return p.Err()
588}
589
590const opListTagsForResource = "ListTagsForResource"
591
592// ListTagsForResourceRequest generates a "aws/request.Request" representing the
593// client's request for the ListTagsForResource operation. The "output" return
594// value will be populated with the request's response once the request completes
595// successfully.
596//
597// Use "Send" method on the returned Request to send the API call to the service.
598// the "output" return value is not valid until after Send returns without error.
599//
600// See ListTagsForResource for more information on using the ListTagsForResource
601// API call, and error handling.
602//
603// This method is useful when you want to inject custom logic or configuration
604// into the SDK's request lifecycle. Such as custom headers, or retry logic.
605//
606//
607//    // Example sending a request using the ListTagsForResourceRequest method.
608//    req, resp := client.ListTagsForResourceRequest(params)
609//
610//    err := req.Send()
611//    if err == nil { // resp is now filled
612//        fmt.Println(resp)
613//    }
614//
615// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/ListTagsForResource
616func (c *MWAA) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
617	op := &request.Operation{
618		Name:       opListTagsForResource,
619		HTTPMethod: "GET",
620		HTTPPath:   "/tags/{ResourceArn}",
621	}
622
623	if input == nil {
624		input = &ListTagsForResourceInput{}
625	}
626
627	output = &ListTagsForResourceOutput{}
628	req = c.newRequest(op, input, output)
629	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
630	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
631	return
632}
633
634// ListTagsForResource API operation for AmazonMWAA.
635//
636// List the tags for MWAA environments.
637//
638// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
639// with awserr.Error's Code and Message methods to get detailed information about
640// the error.
641//
642// See the AWS API reference guide for AmazonMWAA's
643// API operation ListTagsForResource for usage and error information.
644//
645// Returned Error Types:
646//   * ResourceNotFoundException
647//   ResourceNotFoundException: The resource is not available.
648//
649//   * ValidationException
650//   ValidationException: The provided input is not valid.
651//
652//   * InternalServerException
653//   InternalServerException: An internal error has occurred.
654//
655// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/ListTagsForResource
656func (c *MWAA) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
657	req, out := c.ListTagsForResourceRequest(input)
658	return out, req.Send()
659}
660
661// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
662// the ability to pass a context and additional request options.
663//
664// See ListTagsForResource for details on how to use this API operation.
665//
666// The context must be non-nil and will be used for request cancellation. If
667// the context is nil a panic will occur. In the future the SDK may create
668// sub-contexts for http.Requests. See https://golang.org/pkg/context/
669// for more information on using Contexts.
670func (c *MWAA) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
671	req, out := c.ListTagsForResourceRequest(input)
672	req.SetContext(ctx)
673	req.ApplyOptions(opts...)
674	return out, req.Send()
675}
676
677const opPublishMetrics = "PublishMetrics"
678
679// PublishMetricsRequest generates a "aws/request.Request" representing the
680// client's request for the PublishMetrics operation. The "output" return
681// value will be populated with the request's response once the request completes
682// successfully.
683//
684// Use "Send" method on the returned Request to send the API call to the service.
685// the "output" return value is not valid until after Send returns without error.
686//
687// See PublishMetrics for more information on using the PublishMetrics
688// API call, and error handling.
689//
690// This method is useful when you want to inject custom logic or configuration
691// into the SDK's request lifecycle. Such as custom headers, or retry logic.
692//
693//
694//    // Example sending a request using the PublishMetricsRequest method.
695//    req, resp := client.PublishMetricsRequest(params)
696//
697//    err := req.Send()
698//    if err == nil { // resp is now filled
699//        fmt.Println(resp)
700//    }
701//
702// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/PublishMetrics
703func (c *MWAA) PublishMetricsRequest(input *PublishMetricsInput) (req *request.Request, output *PublishMetricsOutput) {
704	op := &request.Operation{
705		Name:       opPublishMetrics,
706		HTTPMethod: "POST",
707		HTTPPath:   "/metrics/environments/{EnvironmentName}",
708	}
709
710	if input == nil {
711		input = &PublishMetricsInput{}
712	}
713
714	output = &PublishMetricsOutput{}
715	req = c.newRequest(op, input, output)
716	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
717	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("ops.", nil))
718	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
719	return
720}
721
722// PublishMetrics API operation for AmazonMWAA.
723//
724// An operation for publishing metrics from the customers to the Ops plane.
725//
726// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
727// with awserr.Error's Code and Message methods to get detailed information about
728// the error.
729//
730// See the AWS API reference guide for AmazonMWAA's
731// API operation PublishMetrics for usage and error information.
732//
733// Returned Error Types:
734//   * ValidationException
735//   ValidationException: The provided input is not valid.
736//
737//   * InternalServerException
738//   InternalServerException: An internal error has occurred.
739//
740// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/PublishMetrics
741func (c *MWAA) PublishMetrics(input *PublishMetricsInput) (*PublishMetricsOutput, error) {
742	req, out := c.PublishMetricsRequest(input)
743	return out, req.Send()
744}
745
746// PublishMetricsWithContext is the same as PublishMetrics with the addition of
747// the ability to pass a context and additional request options.
748//
749// See PublishMetrics for details on how to use this API operation.
750//
751// The context must be non-nil and will be used for request cancellation. If
752// the context is nil a panic will occur. In the future the SDK may create
753// sub-contexts for http.Requests. See https://golang.org/pkg/context/
754// for more information on using Contexts.
755func (c *MWAA) PublishMetricsWithContext(ctx aws.Context, input *PublishMetricsInput, opts ...request.Option) (*PublishMetricsOutput, error) {
756	req, out := c.PublishMetricsRequest(input)
757	req.SetContext(ctx)
758	req.ApplyOptions(opts...)
759	return out, req.Send()
760}
761
762const opTagResource = "TagResource"
763
764// TagResourceRequest generates a "aws/request.Request" representing the
765// client's request for the TagResource operation. The "output" return
766// value will be populated with the request's response once the request completes
767// successfully.
768//
769// Use "Send" method on the returned Request to send the API call to the service.
770// the "output" return value is not valid until after Send returns without error.
771//
772// See TagResource for more information on using the TagResource
773// API call, and error handling.
774//
775// This method is useful when you want to inject custom logic or configuration
776// into the SDK's request lifecycle. Such as custom headers, or retry logic.
777//
778//
779//    // Example sending a request using the TagResourceRequest method.
780//    req, resp := client.TagResourceRequest(params)
781//
782//    err := req.Send()
783//    if err == nil { // resp is now filled
784//        fmt.Println(resp)
785//    }
786//
787// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/TagResource
788func (c *MWAA) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
789	op := &request.Operation{
790		Name:       opTagResource,
791		HTTPMethod: "POST",
792		HTTPPath:   "/tags/{ResourceArn}",
793	}
794
795	if input == nil {
796		input = &TagResourceInput{}
797	}
798
799	output = &TagResourceOutput{}
800	req = c.newRequest(op, input, output)
801	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
802	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
803	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
804	return
805}
806
807// TagResource API operation for AmazonMWAA.
808//
809// Add tag to the MWAA environments.
810//
811// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
812// with awserr.Error's Code and Message methods to get detailed information about
813// the error.
814//
815// See the AWS API reference guide for AmazonMWAA's
816// API operation TagResource for usage and error information.
817//
818// Returned Error Types:
819//   * ResourceNotFoundException
820//   ResourceNotFoundException: The resource is not available.
821//
822//   * ValidationException
823//   ValidationException: The provided input is not valid.
824//
825//   * InternalServerException
826//   InternalServerException: An internal error has occurred.
827//
828// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/TagResource
829func (c *MWAA) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
830	req, out := c.TagResourceRequest(input)
831	return out, req.Send()
832}
833
834// TagResourceWithContext is the same as TagResource with the addition of
835// the ability to pass a context and additional request options.
836//
837// See TagResource for details on how to use this API operation.
838//
839// The context must be non-nil and will be used for request cancellation. If
840// the context is nil a panic will occur. In the future the SDK may create
841// sub-contexts for http.Requests. See https://golang.org/pkg/context/
842// for more information on using Contexts.
843func (c *MWAA) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
844	req, out := c.TagResourceRequest(input)
845	req.SetContext(ctx)
846	req.ApplyOptions(opts...)
847	return out, req.Send()
848}
849
850const opUntagResource = "UntagResource"
851
852// UntagResourceRequest generates a "aws/request.Request" representing the
853// client's request for the UntagResource operation. The "output" return
854// value will be populated with the request's response once the request completes
855// successfully.
856//
857// Use "Send" method on the returned Request to send the API call to the service.
858// the "output" return value is not valid until after Send returns without error.
859//
860// See UntagResource for more information on using the UntagResource
861// API call, and error handling.
862//
863// This method is useful when you want to inject custom logic or configuration
864// into the SDK's request lifecycle. Such as custom headers, or retry logic.
865//
866//
867//    // Example sending a request using the UntagResourceRequest method.
868//    req, resp := client.UntagResourceRequest(params)
869//
870//    err := req.Send()
871//    if err == nil { // resp is now filled
872//        fmt.Println(resp)
873//    }
874//
875// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/UntagResource
876func (c *MWAA) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
877	op := &request.Operation{
878		Name:       opUntagResource,
879		HTTPMethod: "DELETE",
880		HTTPPath:   "/tags/{ResourceArn}",
881	}
882
883	if input == nil {
884		input = &UntagResourceInput{}
885	}
886
887	output = &UntagResourceOutput{}
888	req = c.newRequest(op, input, output)
889	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
890	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
891	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
892	return
893}
894
895// UntagResource API operation for AmazonMWAA.
896//
897// Remove a tag from the MWAA environments.
898//
899// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
900// with awserr.Error's Code and Message methods to get detailed information about
901// the error.
902//
903// See the AWS API reference guide for AmazonMWAA's
904// API operation UntagResource for usage and error information.
905//
906// Returned Error Types:
907//   * ResourceNotFoundException
908//   ResourceNotFoundException: The resource is not available.
909//
910//   * ValidationException
911//   ValidationException: The provided input is not valid.
912//
913//   * InternalServerException
914//   InternalServerException: An internal error has occurred.
915//
916// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/UntagResource
917func (c *MWAA) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
918	req, out := c.UntagResourceRequest(input)
919	return out, req.Send()
920}
921
922// UntagResourceWithContext is the same as UntagResource with the addition of
923// the ability to pass a context and additional request options.
924//
925// See UntagResource for details on how to use this API operation.
926//
927// The context must be non-nil and will be used for request cancellation. If
928// the context is nil a panic will occur. In the future the SDK may create
929// sub-contexts for http.Requests. See https://golang.org/pkg/context/
930// for more information on using Contexts.
931func (c *MWAA) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
932	req, out := c.UntagResourceRequest(input)
933	req.SetContext(ctx)
934	req.ApplyOptions(opts...)
935	return out, req.Send()
936}
937
938const opUpdateEnvironment = "UpdateEnvironment"
939
940// UpdateEnvironmentRequest generates a "aws/request.Request" representing the
941// client's request for the UpdateEnvironment operation. The "output" return
942// value will be populated with the request's response once the request completes
943// successfully.
944//
945// Use "Send" method on the returned Request to send the API call to the service.
946// the "output" return value is not valid until after Send returns without error.
947//
948// See UpdateEnvironment for more information on using the UpdateEnvironment
949// API call, and error handling.
950//
951// This method is useful when you want to inject custom logic or configuration
952// into the SDK's request lifecycle. Such as custom headers, or retry logic.
953//
954//
955//    // Example sending a request using the UpdateEnvironmentRequest method.
956//    req, resp := client.UpdateEnvironmentRequest(params)
957//
958//    err := req.Send()
959//    if err == nil { // resp is now filled
960//        fmt.Println(resp)
961//    }
962//
963// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/UpdateEnvironment
964func (c *MWAA) UpdateEnvironmentRequest(input *UpdateEnvironmentInput) (req *request.Request, output *UpdateEnvironmentOutput) {
965	op := &request.Operation{
966		Name:       opUpdateEnvironment,
967		HTTPMethod: "PATCH",
968		HTTPPath:   "/environments/{Name}",
969	}
970
971	if input == nil {
972		input = &UpdateEnvironmentInput{}
973	}
974
975	output = &UpdateEnvironmentOutput{}
976	req = c.newRequest(op, input, output)
977	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
978	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
979	return
980}
981
982// UpdateEnvironment API operation for AmazonMWAA.
983//
984// Update an MWAA environment.
985//
986// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
987// with awserr.Error's Code and Message methods to get detailed information about
988// the error.
989//
990// See the AWS API reference guide for AmazonMWAA's
991// API operation UpdateEnvironment for usage and error information.
992//
993// Returned Error Types:
994//   * ResourceNotFoundException
995//   ResourceNotFoundException: The resource is not available.
996//
997//   * ValidationException
998//   ValidationException: The provided input is not valid.
999//
1000//   * InternalServerException
1001//   InternalServerException: An internal error has occurred.
1002//
1003// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/UpdateEnvironment
1004func (c *MWAA) UpdateEnvironment(input *UpdateEnvironmentInput) (*UpdateEnvironmentOutput, error) {
1005	req, out := c.UpdateEnvironmentRequest(input)
1006	return out, req.Send()
1007}
1008
1009// UpdateEnvironmentWithContext is the same as UpdateEnvironment with the addition of
1010// the ability to pass a context and additional request options.
1011//
1012// See UpdateEnvironment for details on how to use this API operation.
1013//
1014// The context must be non-nil and will be used for request cancellation. If
1015// the context is nil a panic will occur. In the future the SDK may create
1016// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1017// for more information on using Contexts.
1018func (c *MWAA) UpdateEnvironmentWithContext(ctx aws.Context, input *UpdateEnvironmentInput, opts ...request.Option) (*UpdateEnvironmentOutput, error) {
1019	req, out := c.UpdateEnvironmentRequest(input)
1020	req.SetContext(ctx)
1021	req.ApplyOptions(opts...)
1022	return out, req.Send()
1023}
1024
1025// Access to the Airflow Web UI or CLI has been Denied. Please follow the MWAA
1026// user guide to setup permissions to access the Web UI and CLI functionality.
1027type AccessDeniedException struct {
1028	_            struct{}                  `type:"structure"`
1029	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1030
1031	Message_ *string `locationName:"Message" type:"string"`
1032}
1033
1034// String returns the string representation
1035func (s AccessDeniedException) String() string {
1036	return awsutil.Prettify(s)
1037}
1038
1039// GoString returns the string representation
1040func (s AccessDeniedException) GoString() string {
1041	return s.String()
1042}
1043
1044func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
1045	return &AccessDeniedException{
1046		RespMetadata: v,
1047	}
1048}
1049
1050// Code returns the exception type name.
1051func (s *AccessDeniedException) Code() string {
1052	return "AccessDeniedException"
1053}
1054
1055// Message returns the exception's message.
1056func (s *AccessDeniedException) Message() string {
1057	if s.Message_ != nil {
1058		return *s.Message_
1059	}
1060	return ""
1061}
1062
1063// OrigErr always returns nil, satisfies awserr.Error interface.
1064func (s *AccessDeniedException) OrigErr() error {
1065	return nil
1066}
1067
1068func (s *AccessDeniedException) Error() string {
1069	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1070}
1071
1072// Status code returns the HTTP status code for the request's response error.
1073func (s *AccessDeniedException) StatusCode() int {
1074	return s.RespMetadata.StatusCode
1075}
1076
1077// RequestID returns the service's response RequestID for request.
1078func (s *AccessDeniedException) RequestID() string {
1079	return s.RespMetadata.RequestID
1080}
1081
1082type CreateCliTokenInput struct {
1083	_ struct{} `type:"structure"`
1084
1085	// Create a CLI token request for a MWAA environment.
1086	//
1087	// Name is a required field
1088	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
1089}
1090
1091// String returns the string representation
1092func (s CreateCliTokenInput) String() string {
1093	return awsutil.Prettify(s)
1094}
1095
1096// GoString returns the string representation
1097func (s CreateCliTokenInput) GoString() string {
1098	return s.String()
1099}
1100
1101// Validate inspects the fields of the type to determine if they are valid.
1102func (s *CreateCliTokenInput) Validate() error {
1103	invalidParams := request.ErrInvalidParams{Context: "CreateCliTokenInput"}
1104	if s.Name == nil {
1105		invalidParams.Add(request.NewErrParamRequired("Name"))
1106	}
1107	if s.Name != nil && len(*s.Name) < 1 {
1108		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
1109	}
1110
1111	if invalidParams.Len() > 0 {
1112		return invalidParams
1113	}
1114	return nil
1115}
1116
1117// SetName sets the Name field's value.
1118func (s *CreateCliTokenInput) SetName(v string) *CreateCliTokenInput {
1119	s.Name = &v
1120	return s
1121}
1122
1123type CreateCliTokenOutput struct {
1124	_ struct{} `type:"structure"`
1125
1126	// Create an Airflow CLI login token response for the provided JWT token.
1127	CliToken *string `type:"string" sensitive:"true"`
1128
1129	// Create an Airflow CLI login token response for the provided webserver hostname.
1130	WebServerHostname *string `min:"1" type:"string"`
1131}
1132
1133// String returns the string representation
1134func (s CreateCliTokenOutput) String() string {
1135	return awsutil.Prettify(s)
1136}
1137
1138// GoString returns the string representation
1139func (s CreateCliTokenOutput) GoString() string {
1140	return s.String()
1141}
1142
1143// SetCliToken sets the CliToken field's value.
1144func (s *CreateCliTokenOutput) SetCliToken(v string) *CreateCliTokenOutput {
1145	s.CliToken = &v
1146	return s
1147}
1148
1149// SetWebServerHostname sets the WebServerHostname field's value.
1150func (s *CreateCliTokenOutput) SetWebServerHostname(v string) *CreateCliTokenOutput {
1151	s.WebServerHostname = &v
1152	return s
1153}
1154
1155// This section contains the Amazon Managed Workflows for Apache Airflow (MWAA)
1156// API reference documentation to create an environment. For more information,
1157// see Get started with Amazon Managed Workflows for Apache Airflow (https://docs.aws.amazon.com/mwaa/latest/userguide/get-started.html).
1158type CreateEnvironmentInput struct {
1159	_ struct{} `type:"structure"`
1160
1161	// The Apache Airflow configuration setting you want to override in your environment.
1162	// For more information, see Environment configuration (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html).
1163	AirflowConfigurationOptions map[string]*string `type:"map" sensitive:"true"`
1164
1165	// The Apache Airflow version you want to use for your environment.
1166	AirflowVersion *string `min:"1" type:"string"`
1167
1168	// The relative path to the DAG folder on your Amazon S3 storage bucket. For
1169	// example, dags. For more information, see Importing DAGs on Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html).
1170	//
1171	// DagS3Path is a required field
1172	DagS3Path *string `min:"1" type:"string" required:"true"`
1173
1174	// The environment class you want to use for your environment. The environment
1175	// class determines the size of the containers and database used for your Apache
1176	// Airflow services.
1177	EnvironmentClass *string `min:"1" type:"string"`
1178
1179	// The Amazon Resource Name (ARN) of the execution role for your environment.
1180	// An execution role is an AWS Identity and Access Management (IAM) role that
1181	// grants MWAA permission to access AWS services and resources used by your
1182	// environment. For example, arn:aws:iam::123456789:role/my-execution-role.
1183	// For more information, see Managing access to Amazon Managed Workflows for
1184	// Apache Airflow (https://docs.aws.amazon.com/mwaa/latest/userguide/manage-access.html).
1185	//
1186	// ExecutionRoleArn is a required field
1187	ExecutionRoleArn *string `min:"1" type:"string" required:"true"`
1188
1189	// The AWS Key Management Service (KMS) key to encrypt and decrypt the data
1190	// in your environment. You can use an AWS KMS key managed by MWAA, or a custom
1191	// KMS key (advanced). For more information, see Customer master keys (CMKs)
1192	// (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html?icmpid=docs_console_unmapped#master_keys)
1193	// in the AWS KMS developer guide.
1194	KmsKey *string `min:"1" type:"string"`
1195
1196	// The Apache Airflow logs you want to send to Amazon CloudWatch Logs.
1197	LoggingConfiguration *LoggingConfigurationInput `type:"structure"`
1198
1199	// The maximum number of workers that you want to run in your environment. MWAA
1200	// scales the number of Apache Airflow workers and the Fargate containers that
1201	// run your tasks up to the number you specify in this field. When there are
1202	// no more tasks running, and no more in the queue, MWAA disposes of the extra
1203	// containers leaving the one worker that is included with your environment.
1204	MaxWorkers *int64 `min:"1" type:"integer"`
1205
1206	// The minimum number of workers that you want to run in your environment. MWAA
1207	// scales the number of Apache Airflow workers and the Fargate containers that
1208	// run your tasks up to the number you specify in the MaxWorkers field. When
1209	// there are no more tasks running, and no more in the queue, MWAA disposes
1210	// of the extra containers leaving the worker count you specify in the MinWorkers
1211	// field.
1212	MinWorkers *int64 `min:"1" type:"integer"`
1213
1214	// The name of your MWAA environment.
1215	//
1216	// Name is a required field
1217	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
1218
1219	// The VPC networking components you want to use for your environment. At least
1220	// two private subnet identifiers and one VPC security group identifier are
1221	// required to create an environment. For more information, see Creating the
1222	// VPC network for a MWAA environment (https://docs.aws.amazon.com/mwaa/latest/userguide/vpc-mwaa.html).
1223	//
1224	// NetworkConfiguration is a required field
1225	NetworkConfiguration *NetworkConfiguration `type:"structure" required:"true"`
1226
1227	// The plugins.zip file version you want to use.
1228	PluginsS3ObjectVersion *string `min:"1" type:"string"`
1229
1230	// The relative path to the plugins.zip file on your Amazon S3 storage bucket.
1231	// For example, plugins.zip. If a relative path is provided in the request,
1232	// then PluginsS3ObjectVersion is required. For more information, see Importing
1233	// DAGs on Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html).
1234	PluginsS3Path *string `min:"1" type:"string"`
1235
1236	// The requirements.txt file version you want to use.
1237	RequirementsS3ObjectVersion *string `min:"1" type:"string"`
1238
1239	// The relative path to the requirements.txt file on your Amazon S3 storage
1240	// bucket. For example, requirements.txt. If a relative path is provided in
1241	// the request, then RequirementsS3ObjectVersion is required. For more information,
1242	// see Importing DAGs on Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html).
1243	RequirementsS3Path *string `min:"1" type:"string"`
1244
1245	// The Amazon Resource Name (ARN) of your Amazon S3 storage bucket. For example,
1246	// arn:aws:s3:::airflow-mybucketname.
1247	//
1248	// SourceBucketArn is a required field
1249	SourceBucketArn *string `min:"1" type:"string" required:"true"`
1250
1251	// The metadata tags you want to attach to your environment. For more information,
1252	// see Tagging AWS resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html).
1253	Tags map[string]*string `min:"1" type:"map"`
1254
1255	// The networking access of your Apache Airflow web server. A public network
1256	// allows your Airflow UI to be accessed over the Internet by users granted
1257	// access in your IAM policy. A private network limits access of your Airflow
1258	// UI to users within your VPC. For more information, see Creating the VPC network
1259	// for a MWAA environment (https://docs.aws.amazon.com/mwaa/latest/userguide/vpc-mwaa.html).
1260	WebserverAccessMode *string `type:"string" enum:"WebserverAccessMode"`
1261
1262	// The day and time you want MWAA to start weekly maintenance updates on your
1263	// environment.
1264	WeeklyMaintenanceWindowStart *string `min:"1" type:"string"`
1265}
1266
1267// String returns the string representation
1268func (s CreateEnvironmentInput) String() string {
1269	return awsutil.Prettify(s)
1270}
1271
1272// GoString returns the string representation
1273func (s CreateEnvironmentInput) GoString() string {
1274	return s.String()
1275}
1276
1277// Validate inspects the fields of the type to determine if they are valid.
1278func (s *CreateEnvironmentInput) Validate() error {
1279	invalidParams := request.ErrInvalidParams{Context: "CreateEnvironmentInput"}
1280	if s.AirflowVersion != nil && len(*s.AirflowVersion) < 1 {
1281		invalidParams.Add(request.NewErrParamMinLen("AirflowVersion", 1))
1282	}
1283	if s.DagS3Path == nil {
1284		invalidParams.Add(request.NewErrParamRequired("DagS3Path"))
1285	}
1286	if s.DagS3Path != nil && len(*s.DagS3Path) < 1 {
1287		invalidParams.Add(request.NewErrParamMinLen("DagS3Path", 1))
1288	}
1289	if s.EnvironmentClass != nil && len(*s.EnvironmentClass) < 1 {
1290		invalidParams.Add(request.NewErrParamMinLen("EnvironmentClass", 1))
1291	}
1292	if s.ExecutionRoleArn == nil {
1293		invalidParams.Add(request.NewErrParamRequired("ExecutionRoleArn"))
1294	}
1295	if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 1 {
1296		invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 1))
1297	}
1298	if s.KmsKey != nil && len(*s.KmsKey) < 1 {
1299		invalidParams.Add(request.NewErrParamMinLen("KmsKey", 1))
1300	}
1301	if s.MaxWorkers != nil && *s.MaxWorkers < 1 {
1302		invalidParams.Add(request.NewErrParamMinValue("MaxWorkers", 1))
1303	}
1304	if s.MinWorkers != nil && *s.MinWorkers < 1 {
1305		invalidParams.Add(request.NewErrParamMinValue("MinWorkers", 1))
1306	}
1307	if s.Name == nil {
1308		invalidParams.Add(request.NewErrParamRequired("Name"))
1309	}
1310	if s.Name != nil && len(*s.Name) < 1 {
1311		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
1312	}
1313	if s.NetworkConfiguration == nil {
1314		invalidParams.Add(request.NewErrParamRequired("NetworkConfiguration"))
1315	}
1316	if s.PluginsS3ObjectVersion != nil && len(*s.PluginsS3ObjectVersion) < 1 {
1317		invalidParams.Add(request.NewErrParamMinLen("PluginsS3ObjectVersion", 1))
1318	}
1319	if s.PluginsS3Path != nil && len(*s.PluginsS3Path) < 1 {
1320		invalidParams.Add(request.NewErrParamMinLen("PluginsS3Path", 1))
1321	}
1322	if s.RequirementsS3ObjectVersion != nil && len(*s.RequirementsS3ObjectVersion) < 1 {
1323		invalidParams.Add(request.NewErrParamMinLen("RequirementsS3ObjectVersion", 1))
1324	}
1325	if s.RequirementsS3Path != nil && len(*s.RequirementsS3Path) < 1 {
1326		invalidParams.Add(request.NewErrParamMinLen("RequirementsS3Path", 1))
1327	}
1328	if s.SourceBucketArn == nil {
1329		invalidParams.Add(request.NewErrParamRequired("SourceBucketArn"))
1330	}
1331	if s.SourceBucketArn != nil && len(*s.SourceBucketArn) < 1 {
1332		invalidParams.Add(request.NewErrParamMinLen("SourceBucketArn", 1))
1333	}
1334	if s.Tags != nil && len(s.Tags) < 1 {
1335		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
1336	}
1337	if s.WeeklyMaintenanceWindowStart != nil && len(*s.WeeklyMaintenanceWindowStart) < 1 {
1338		invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceWindowStart", 1))
1339	}
1340	if s.LoggingConfiguration != nil {
1341		if err := s.LoggingConfiguration.Validate(); err != nil {
1342			invalidParams.AddNested("LoggingConfiguration", err.(request.ErrInvalidParams))
1343		}
1344	}
1345	if s.NetworkConfiguration != nil {
1346		if err := s.NetworkConfiguration.Validate(); err != nil {
1347			invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams))
1348		}
1349	}
1350
1351	if invalidParams.Len() > 0 {
1352		return invalidParams
1353	}
1354	return nil
1355}
1356
1357// SetAirflowConfigurationOptions sets the AirflowConfigurationOptions field's value.
1358func (s *CreateEnvironmentInput) SetAirflowConfigurationOptions(v map[string]*string) *CreateEnvironmentInput {
1359	s.AirflowConfigurationOptions = v
1360	return s
1361}
1362
1363// SetAirflowVersion sets the AirflowVersion field's value.
1364func (s *CreateEnvironmentInput) SetAirflowVersion(v string) *CreateEnvironmentInput {
1365	s.AirflowVersion = &v
1366	return s
1367}
1368
1369// SetDagS3Path sets the DagS3Path field's value.
1370func (s *CreateEnvironmentInput) SetDagS3Path(v string) *CreateEnvironmentInput {
1371	s.DagS3Path = &v
1372	return s
1373}
1374
1375// SetEnvironmentClass sets the EnvironmentClass field's value.
1376func (s *CreateEnvironmentInput) SetEnvironmentClass(v string) *CreateEnvironmentInput {
1377	s.EnvironmentClass = &v
1378	return s
1379}
1380
1381// SetExecutionRoleArn sets the ExecutionRoleArn field's value.
1382func (s *CreateEnvironmentInput) SetExecutionRoleArn(v string) *CreateEnvironmentInput {
1383	s.ExecutionRoleArn = &v
1384	return s
1385}
1386
1387// SetKmsKey sets the KmsKey field's value.
1388func (s *CreateEnvironmentInput) SetKmsKey(v string) *CreateEnvironmentInput {
1389	s.KmsKey = &v
1390	return s
1391}
1392
1393// SetLoggingConfiguration sets the LoggingConfiguration field's value.
1394func (s *CreateEnvironmentInput) SetLoggingConfiguration(v *LoggingConfigurationInput) *CreateEnvironmentInput {
1395	s.LoggingConfiguration = v
1396	return s
1397}
1398
1399// SetMaxWorkers sets the MaxWorkers field's value.
1400func (s *CreateEnvironmentInput) SetMaxWorkers(v int64) *CreateEnvironmentInput {
1401	s.MaxWorkers = &v
1402	return s
1403}
1404
1405// SetMinWorkers sets the MinWorkers field's value.
1406func (s *CreateEnvironmentInput) SetMinWorkers(v int64) *CreateEnvironmentInput {
1407	s.MinWorkers = &v
1408	return s
1409}
1410
1411// SetName sets the Name field's value.
1412func (s *CreateEnvironmentInput) SetName(v string) *CreateEnvironmentInput {
1413	s.Name = &v
1414	return s
1415}
1416
1417// SetNetworkConfiguration sets the NetworkConfiguration field's value.
1418func (s *CreateEnvironmentInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateEnvironmentInput {
1419	s.NetworkConfiguration = v
1420	return s
1421}
1422
1423// SetPluginsS3ObjectVersion sets the PluginsS3ObjectVersion field's value.
1424func (s *CreateEnvironmentInput) SetPluginsS3ObjectVersion(v string) *CreateEnvironmentInput {
1425	s.PluginsS3ObjectVersion = &v
1426	return s
1427}
1428
1429// SetPluginsS3Path sets the PluginsS3Path field's value.
1430func (s *CreateEnvironmentInput) SetPluginsS3Path(v string) *CreateEnvironmentInput {
1431	s.PluginsS3Path = &v
1432	return s
1433}
1434
1435// SetRequirementsS3ObjectVersion sets the RequirementsS3ObjectVersion field's value.
1436func (s *CreateEnvironmentInput) SetRequirementsS3ObjectVersion(v string) *CreateEnvironmentInput {
1437	s.RequirementsS3ObjectVersion = &v
1438	return s
1439}
1440
1441// SetRequirementsS3Path sets the RequirementsS3Path field's value.
1442func (s *CreateEnvironmentInput) SetRequirementsS3Path(v string) *CreateEnvironmentInput {
1443	s.RequirementsS3Path = &v
1444	return s
1445}
1446
1447// SetSourceBucketArn sets the SourceBucketArn field's value.
1448func (s *CreateEnvironmentInput) SetSourceBucketArn(v string) *CreateEnvironmentInput {
1449	s.SourceBucketArn = &v
1450	return s
1451}
1452
1453// SetTags sets the Tags field's value.
1454func (s *CreateEnvironmentInput) SetTags(v map[string]*string) *CreateEnvironmentInput {
1455	s.Tags = v
1456	return s
1457}
1458
1459// SetWebserverAccessMode sets the WebserverAccessMode field's value.
1460func (s *CreateEnvironmentInput) SetWebserverAccessMode(v string) *CreateEnvironmentInput {
1461	s.WebserverAccessMode = &v
1462	return s
1463}
1464
1465// SetWeeklyMaintenanceWindowStart sets the WeeklyMaintenanceWindowStart field's value.
1466func (s *CreateEnvironmentInput) SetWeeklyMaintenanceWindowStart(v string) *CreateEnvironmentInput {
1467	s.WeeklyMaintenanceWindowStart = &v
1468	return s
1469}
1470
1471type CreateEnvironmentOutput struct {
1472	_ struct{} `type:"structure"`
1473
1474	// The resulting Amazon MWAA envirnonment ARN.
1475	Arn *string `min:"1" type:"string"`
1476}
1477
1478// String returns the string representation
1479func (s CreateEnvironmentOutput) String() string {
1480	return awsutil.Prettify(s)
1481}
1482
1483// GoString returns the string representation
1484func (s CreateEnvironmentOutput) GoString() string {
1485	return s.String()
1486}
1487
1488// SetArn sets the Arn field's value.
1489func (s *CreateEnvironmentOutput) SetArn(v string) *CreateEnvironmentOutput {
1490	s.Arn = &v
1491	return s
1492}
1493
1494type CreateWebLoginTokenInput struct {
1495	_ struct{} `type:"structure"`
1496
1497	// Create an Airflow Web UI login token request for a MWAA environment.
1498	//
1499	// Name is a required field
1500	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
1501}
1502
1503// String returns the string representation
1504func (s CreateWebLoginTokenInput) String() string {
1505	return awsutil.Prettify(s)
1506}
1507
1508// GoString returns the string representation
1509func (s CreateWebLoginTokenInput) GoString() string {
1510	return s.String()
1511}
1512
1513// Validate inspects the fields of the type to determine if they are valid.
1514func (s *CreateWebLoginTokenInput) Validate() error {
1515	invalidParams := request.ErrInvalidParams{Context: "CreateWebLoginTokenInput"}
1516	if s.Name == nil {
1517		invalidParams.Add(request.NewErrParamRequired("Name"))
1518	}
1519	if s.Name != nil && len(*s.Name) < 1 {
1520		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
1521	}
1522
1523	if invalidParams.Len() > 0 {
1524		return invalidParams
1525	}
1526	return nil
1527}
1528
1529// SetName sets the Name field's value.
1530func (s *CreateWebLoginTokenInput) SetName(v string) *CreateWebLoginTokenInput {
1531	s.Name = &v
1532	return s
1533}
1534
1535type CreateWebLoginTokenOutput struct {
1536	_ struct{} `type:"structure"`
1537
1538	// Create an Airflow Web UI login token response for the provided webserver
1539	// hostname.
1540	WebServerHostname *string `min:"1" type:"string"`
1541
1542	// Create an Airflow Web UI login token response for the provided JWT token.
1543	WebToken *string `type:"string" sensitive:"true"`
1544}
1545
1546// String returns the string representation
1547func (s CreateWebLoginTokenOutput) String() string {
1548	return awsutil.Prettify(s)
1549}
1550
1551// GoString returns the string representation
1552func (s CreateWebLoginTokenOutput) GoString() string {
1553	return s.String()
1554}
1555
1556// SetWebServerHostname sets the WebServerHostname field's value.
1557func (s *CreateWebLoginTokenOutput) SetWebServerHostname(v string) *CreateWebLoginTokenOutput {
1558	s.WebServerHostname = &v
1559	return s
1560}
1561
1562// SetWebToken sets the WebToken field's value.
1563func (s *CreateWebLoginTokenOutput) SetWebToken(v string) *CreateWebLoginTokenOutput {
1564	s.WebToken = &v
1565	return s
1566}
1567
1568type DeleteEnvironmentInput struct {
1569	_ struct{} `type:"structure"`
1570
1571	// The name of the environment to delete.
1572	//
1573	// Name is a required field
1574	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
1575}
1576
1577// String returns the string representation
1578func (s DeleteEnvironmentInput) String() string {
1579	return awsutil.Prettify(s)
1580}
1581
1582// GoString returns the string representation
1583func (s DeleteEnvironmentInput) GoString() string {
1584	return s.String()
1585}
1586
1587// Validate inspects the fields of the type to determine if they are valid.
1588func (s *DeleteEnvironmentInput) Validate() error {
1589	invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentInput"}
1590	if s.Name == nil {
1591		invalidParams.Add(request.NewErrParamRequired("Name"))
1592	}
1593	if s.Name != nil && len(*s.Name) < 1 {
1594		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
1595	}
1596
1597	if invalidParams.Len() > 0 {
1598		return invalidParams
1599	}
1600	return nil
1601}
1602
1603// SetName sets the Name field's value.
1604func (s *DeleteEnvironmentInput) SetName(v string) *DeleteEnvironmentInput {
1605	s.Name = &v
1606	return s
1607}
1608
1609type DeleteEnvironmentOutput struct {
1610	_ struct{} `type:"structure"`
1611}
1612
1613// String returns the string representation
1614func (s DeleteEnvironmentOutput) String() string {
1615	return awsutil.Prettify(s)
1616}
1617
1618// GoString returns the string representation
1619func (s DeleteEnvironmentOutput) GoString() string {
1620	return s.String()
1621}
1622
1623// Internal only API.
1624type Dimension struct {
1625	_ struct{} `type:"structure"`
1626
1627	// Internal only API.
1628	//
1629	// Name is a required field
1630	Name *string `type:"string" required:"true"`
1631
1632	// Internal only API.
1633	//
1634	// Value is a required field
1635	Value *string `type:"string" required:"true"`
1636}
1637
1638// String returns the string representation
1639func (s Dimension) String() string {
1640	return awsutil.Prettify(s)
1641}
1642
1643// GoString returns the string representation
1644func (s Dimension) GoString() string {
1645	return s.String()
1646}
1647
1648// Validate inspects the fields of the type to determine if they are valid.
1649func (s *Dimension) Validate() error {
1650	invalidParams := request.ErrInvalidParams{Context: "Dimension"}
1651	if s.Name == nil {
1652		invalidParams.Add(request.NewErrParamRequired("Name"))
1653	}
1654	if s.Value == nil {
1655		invalidParams.Add(request.NewErrParamRequired("Value"))
1656	}
1657
1658	if invalidParams.Len() > 0 {
1659		return invalidParams
1660	}
1661	return nil
1662}
1663
1664// SetName sets the Name field's value.
1665func (s *Dimension) SetName(v string) *Dimension {
1666	s.Name = &v
1667	return s
1668}
1669
1670// SetValue sets the Value field's value.
1671func (s *Dimension) SetValue(v string) *Dimension {
1672	s.Value = &v
1673	return s
1674}
1675
1676// An Amazon MWAA environment.
1677type Environment struct {
1678	_ struct{} `type:"structure"`
1679
1680	// The Airflow Configuration Options of the Amazon MWAA Environment.
1681	AirflowConfigurationOptions map[string]*string `type:"map"`
1682
1683	// The AirflowV ersion of the Amazon MWAA Environment.
1684	AirflowVersion *string `min:"1" type:"string"`
1685
1686	// The ARN of the Amazon MWAA Environment.
1687	Arn *string `min:"1" type:"string"`
1688
1689	// The Created At date of the Amazon MWAA Environment.
1690	CreatedAt *time.Time `type:"timestamp"`
1691
1692	// The Dags S3 Path of the Amazon MWAA Environment.
1693	DagS3Path *string `min:"1" type:"string"`
1694
1695	// The Environment Class (size) of the Amazon MWAA Environment.
1696	EnvironmentClass *string `min:"1" type:"string"`
1697
1698	// The Execution Role ARN of the Amazon MWAA Environment.
1699	ExecutionRoleArn *string `min:"1" type:"string"`
1700
1701	// The Kms Key of the Amazon MWAA Environment.
1702	KmsKey *string `min:"1" type:"string"`
1703
1704	// Last update information for the environment.
1705	LastUpdate *LastUpdate `type:"structure"`
1706
1707	// The Logging Configuration of the Amazon MWAA Environment.
1708	LoggingConfiguration *LoggingConfiguration `type:"structure"`
1709
1710	// The maximum number of workers to run in your Amazon MWAA Environment.
1711	MaxWorkers *int64 `min:"1" type:"integer"`
1712
1713	// The minimum number of workers to run in your Amazon MWAA Environment.
1714	MinWorkers *int64 `min:"1" type:"integer"`
1715
1716	// The name of the Amazon MWAA Environment.
1717	Name *string `min:"1" type:"string"`
1718
1719	// Provide the security group and subnet IDs for the workers and scheduler.
1720	NetworkConfiguration *NetworkConfiguration `type:"structure"`
1721
1722	// The Plugins.zip S3 Object Version of the Amazon MWAA Environment.
1723	PluginsS3ObjectVersion *string `min:"1" type:"string"`
1724
1725	// The Plugins.zip S3 Path of the Amazon MWAA Environment.
1726	PluginsS3Path *string `min:"1" type:"string"`
1727
1728	// The Requirements.txt file S3 Object Version of the Amazon MWAA Environment.
1729	RequirementsS3ObjectVersion *string `min:"1" type:"string"`
1730
1731	// The Requirement.txt S3 Path of the Amazon MWAA Environment.
1732	RequirementsS3Path *string `min:"1" type:"string"`
1733
1734	// The Service Role ARN of the Amazon MWAA Environment.
1735	ServiceRoleArn *string `min:"1" type:"string"`
1736
1737	// The Source S3 Bucket ARN of the Amazon MWAA Environment.
1738	SourceBucketArn *string `min:"1" type:"string"`
1739
1740	// The status of the Amazon MWAA Environment.
1741	Status *string `type:"string" enum:"EnvironmentStatus"`
1742
1743	// The Tags of the Amazon MWAA Environment.
1744	Tags map[string]*string `min:"1" type:"map"`
1745
1746	// The Webserver Access Mode of the Amazon MWAA Environment (public or private
1747	// only).
1748	WebserverAccessMode *string `type:"string" enum:"WebserverAccessMode"`
1749
1750	// The Webserver URL of the Amazon MWAA Environment.
1751	WebserverUrl *string `min:"1" type:"string"`
1752
1753	// The Weekly Maintenance Window Start of the Amazon MWAA Environment.
1754	WeeklyMaintenanceWindowStart *string `min:"1" type:"string"`
1755}
1756
1757// String returns the string representation
1758func (s Environment) String() string {
1759	return awsutil.Prettify(s)
1760}
1761
1762// GoString returns the string representation
1763func (s Environment) GoString() string {
1764	return s.String()
1765}
1766
1767// SetAirflowConfigurationOptions sets the AirflowConfigurationOptions field's value.
1768func (s *Environment) SetAirflowConfigurationOptions(v map[string]*string) *Environment {
1769	s.AirflowConfigurationOptions = v
1770	return s
1771}
1772
1773// SetAirflowVersion sets the AirflowVersion field's value.
1774func (s *Environment) SetAirflowVersion(v string) *Environment {
1775	s.AirflowVersion = &v
1776	return s
1777}
1778
1779// SetArn sets the Arn field's value.
1780func (s *Environment) SetArn(v string) *Environment {
1781	s.Arn = &v
1782	return s
1783}
1784
1785// SetCreatedAt sets the CreatedAt field's value.
1786func (s *Environment) SetCreatedAt(v time.Time) *Environment {
1787	s.CreatedAt = &v
1788	return s
1789}
1790
1791// SetDagS3Path sets the DagS3Path field's value.
1792func (s *Environment) SetDagS3Path(v string) *Environment {
1793	s.DagS3Path = &v
1794	return s
1795}
1796
1797// SetEnvironmentClass sets the EnvironmentClass field's value.
1798func (s *Environment) SetEnvironmentClass(v string) *Environment {
1799	s.EnvironmentClass = &v
1800	return s
1801}
1802
1803// SetExecutionRoleArn sets the ExecutionRoleArn field's value.
1804func (s *Environment) SetExecutionRoleArn(v string) *Environment {
1805	s.ExecutionRoleArn = &v
1806	return s
1807}
1808
1809// SetKmsKey sets the KmsKey field's value.
1810func (s *Environment) SetKmsKey(v string) *Environment {
1811	s.KmsKey = &v
1812	return s
1813}
1814
1815// SetLastUpdate sets the LastUpdate field's value.
1816func (s *Environment) SetLastUpdate(v *LastUpdate) *Environment {
1817	s.LastUpdate = v
1818	return s
1819}
1820
1821// SetLoggingConfiguration sets the LoggingConfiguration field's value.
1822func (s *Environment) SetLoggingConfiguration(v *LoggingConfiguration) *Environment {
1823	s.LoggingConfiguration = v
1824	return s
1825}
1826
1827// SetMaxWorkers sets the MaxWorkers field's value.
1828func (s *Environment) SetMaxWorkers(v int64) *Environment {
1829	s.MaxWorkers = &v
1830	return s
1831}
1832
1833// SetMinWorkers sets the MinWorkers field's value.
1834func (s *Environment) SetMinWorkers(v int64) *Environment {
1835	s.MinWorkers = &v
1836	return s
1837}
1838
1839// SetName sets the Name field's value.
1840func (s *Environment) SetName(v string) *Environment {
1841	s.Name = &v
1842	return s
1843}
1844
1845// SetNetworkConfiguration sets the NetworkConfiguration field's value.
1846func (s *Environment) SetNetworkConfiguration(v *NetworkConfiguration) *Environment {
1847	s.NetworkConfiguration = v
1848	return s
1849}
1850
1851// SetPluginsS3ObjectVersion sets the PluginsS3ObjectVersion field's value.
1852func (s *Environment) SetPluginsS3ObjectVersion(v string) *Environment {
1853	s.PluginsS3ObjectVersion = &v
1854	return s
1855}
1856
1857// SetPluginsS3Path sets the PluginsS3Path field's value.
1858func (s *Environment) SetPluginsS3Path(v string) *Environment {
1859	s.PluginsS3Path = &v
1860	return s
1861}
1862
1863// SetRequirementsS3ObjectVersion sets the RequirementsS3ObjectVersion field's value.
1864func (s *Environment) SetRequirementsS3ObjectVersion(v string) *Environment {
1865	s.RequirementsS3ObjectVersion = &v
1866	return s
1867}
1868
1869// SetRequirementsS3Path sets the RequirementsS3Path field's value.
1870func (s *Environment) SetRequirementsS3Path(v string) *Environment {
1871	s.RequirementsS3Path = &v
1872	return s
1873}
1874
1875// SetServiceRoleArn sets the ServiceRoleArn field's value.
1876func (s *Environment) SetServiceRoleArn(v string) *Environment {
1877	s.ServiceRoleArn = &v
1878	return s
1879}
1880
1881// SetSourceBucketArn sets the SourceBucketArn field's value.
1882func (s *Environment) SetSourceBucketArn(v string) *Environment {
1883	s.SourceBucketArn = &v
1884	return s
1885}
1886
1887// SetStatus sets the Status field's value.
1888func (s *Environment) SetStatus(v string) *Environment {
1889	s.Status = &v
1890	return s
1891}
1892
1893// SetTags sets the Tags field's value.
1894func (s *Environment) SetTags(v map[string]*string) *Environment {
1895	s.Tags = v
1896	return s
1897}
1898
1899// SetWebserverAccessMode sets the WebserverAccessMode field's value.
1900func (s *Environment) SetWebserverAccessMode(v string) *Environment {
1901	s.WebserverAccessMode = &v
1902	return s
1903}
1904
1905// SetWebserverUrl sets the WebserverUrl field's value.
1906func (s *Environment) SetWebserverUrl(v string) *Environment {
1907	s.WebserverUrl = &v
1908	return s
1909}
1910
1911// SetWeeklyMaintenanceWindowStart sets the WeeklyMaintenanceWindowStart field's value.
1912func (s *Environment) SetWeeklyMaintenanceWindowStart(v string) *Environment {
1913	s.WeeklyMaintenanceWindowStart = &v
1914	return s
1915}
1916
1917type GetEnvironmentInput struct {
1918	_ struct{} `type:"structure"`
1919
1920	// The name of the environment to retrieve.
1921	//
1922	// Name is a required field
1923	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
1924}
1925
1926// String returns the string representation
1927func (s GetEnvironmentInput) String() string {
1928	return awsutil.Prettify(s)
1929}
1930
1931// GoString returns the string representation
1932func (s GetEnvironmentInput) GoString() string {
1933	return s.String()
1934}
1935
1936// Validate inspects the fields of the type to determine if they are valid.
1937func (s *GetEnvironmentInput) Validate() error {
1938	invalidParams := request.ErrInvalidParams{Context: "GetEnvironmentInput"}
1939	if s.Name == nil {
1940		invalidParams.Add(request.NewErrParamRequired("Name"))
1941	}
1942	if s.Name != nil && len(*s.Name) < 1 {
1943		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
1944	}
1945
1946	if invalidParams.Len() > 0 {
1947		return invalidParams
1948	}
1949	return nil
1950}
1951
1952// SetName sets the Name field's value.
1953func (s *GetEnvironmentInput) SetName(v string) *GetEnvironmentInput {
1954	s.Name = &v
1955	return s
1956}
1957
1958type GetEnvironmentOutput struct {
1959	_ struct{} `type:"structure"`
1960
1961	// A JSON blob with environment details.
1962	Environment *Environment `type:"structure"`
1963}
1964
1965// String returns the string representation
1966func (s GetEnvironmentOutput) String() string {
1967	return awsutil.Prettify(s)
1968}
1969
1970// GoString returns the string representation
1971func (s GetEnvironmentOutput) GoString() string {
1972	return s.String()
1973}
1974
1975// SetEnvironment sets the Environment field's value.
1976func (s *GetEnvironmentOutput) SetEnvironment(v *Environment) *GetEnvironmentOutput {
1977	s.Environment = v
1978	return s
1979}
1980
1981// InternalServerException: An internal error has occurred.
1982type InternalServerException struct {
1983	_            struct{}                  `type:"structure"`
1984	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1985
1986	Message_ *string `locationName:"message" type:"string"`
1987}
1988
1989// String returns the string representation
1990func (s InternalServerException) String() string {
1991	return awsutil.Prettify(s)
1992}
1993
1994// GoString returns the string representation
1995func (s InternalServerException) GoString() string {
1996	return s.String()
1997}
1998
1999func newErrorInternalServerException(v protocol.ResponseMetadata) error {
2000	return &InternalServerException{
2001		RespMetadata: v,
2002	}
2003}
2004
2005// Code returns the exception type name.
2006func (s *InternalServerException) Code() string {
2007	return "InternalServerException"
2008}
2009
2010// Message returns the exception's message.
2011func (s *InternalServerException) Message() string {
2012	if s.Message_ != nil {
2013		return *s.Message_
2014	}
2015	return ""
2016}
2017
2018// OrigErr always returns nil, satisfies awserr.Error interface.
2019func (s *InternalServerException) OrigErr() error {
2020	return nil
2021}
2022
2023func (s *InternalServerException) Error() string {
2024	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2025}
2026
2027// Status code returns the HTTP status code for the request's response error.
2028func (s *InternalServerException) StatusCode() int {
2029	return s.RespMetadata.StatusCode
2030}
2031
2032// RequestID returns the service's response RequestID for request.
2033func (s *InternalServerException) RequestID() string {
2034	return s.RespMetadata.RequestID
2035}
2036
2037// Last update information for the environment.
2038type LastUpdate struct {
2039	_ struct{} `type:"structure"`
2040
2041	// Time that last update occurred.
2042	CreatedAt *time.Time `type:"timestamp"`
2043
2044	// Error string of last update, if applicable.
2045	Error *UpdateError `type:"structure"`
2046
2047	// Status of last update of SUCCESS, FAILED, CREATING, DELETING.
2048	Status *string `type:"string" enum:"UpdateStatus"`
2049}
2050
2051// String returns the string representation
2052func (s LastUpdate) String() string {
2053	return awsutil.Prettify(s)
2054}
2055
2056// GoString returns the string representation
2057func (s LastUpdate) GoString() string {
2058	return s.String()
2059}
2060
2061// SetCreatedAt sets the CreatedAt field's value.
2062func (s *LastUpdate) SetCreatedAt(v time.Time) *LastUpdate {
2063	s.CreatedAt = &v
2064	return s
2065}
2066
2067// SetError sets the Error field's value.
2068func (s *LastUpdate) SetError(v *UpdateError) *LastUpdate {
2069	s.Error = v
2070	return s
2071}
2072
2073// SetStatus sets the Status field's value.
2074func (s *LastUpdate) SetStatus(v string) *LastUpdate {
2075	s.Status = &v
2076	return s
2077}
2078
2079type ListEnvironmentsInput struct {
2080	_ struct{} `type:"structure"`
2081
2082	// The maximum results when listing MWAA environments.
2083	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
2084
2085	// The Next Token when listing MWAA environments.
2086	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
2087}
2088
2089// String returns the string representation
2090func (s ListEnvironmentsInput) String() string {
2091	return awsutil.Prettify(s)
2092}
2093
2094// GoString returns the string representation
2095func (s ListEnvironmentsInput) GoString() string {
2096	return s.String()
2097}
2098
2099// Validate inspects the fields of the type to determine if they are valid.
2100func (s *ListEnvironmentsInput) Validate() error {
2101	invalidParams := request.ErrInvalidParams{Context: "ListEnvironmentsInput"}
2102	if s.MaxResults != nil && *s.MaxResults < 1 {
2103		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
2104	}
2105
2106	if invalidParams.Len() > 0 {
2107		return invalidParams
2108	}
2109	return nil
2110}
2111
2112// SetMaxResults sets the MaxResults field's value.
2113func (s *ListEnvironmentsInput) SetMaxResults(v int64) *ListEnvironmentsInput {
2114	s.MaxResults = &v
2115	return s
2116}
2117
2118// SetNextToken sets the NextToken field's value.
2119func (s *ListEnvironmentsInput) SetNextToken(v string) *ListEnvironmentsInput {
2120	s.NextToken = &v
2121	return s
2122}
2123
2124type ListEnvironmentsOutput struct {
2125	_ struct{} `type:"structure"`
2126
2127	// The list of Amazon MWAA Environments.
2128	//
2129	// Environments is a required field
2130	Environments []*string `type:"list" required:"true"`
2131
2132	// The Next Token when listing MWAA environments.
2133	NextToken *string `type:"string"`
2134}
2135
2136// String returns the string representation
2137func (s ListEnvironmentsOutput) String() string {
2138	return awsutil.Prettify(s)
2139}
2140
2141// GoString returns the string representation
2142func (s ListEnvironmentsOutput) GoString() string {
2143	return s.String()
2144}
2145
2146// SetEnvironments sets the Environments field's value.
2147func (s *ListEnvironmentsOutput) SetEnvironments(v []*string) *ListEnvironmentsOutput {
2148	s.Environments = v
2149	return s
2150}
2151
2152// SetNextToken sets the NextToken field's value.
2153func (s *ListEnvironmentsOutput) SetNextToken(v string) *ListEnvironmentsOutput {
2154	s.NextToken = &v
2155	return s
2156}
2157
2158type ListTagsForResourceInput struct {
2159	_ struct{} `type:"structure"`
2160
2161	// The ARN of the MWAA environment.
2162	//
2163	// ResourceArn is a required field
2164	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"1" type:"string" required:"true"`
2165}
2166
2167// String returns the string representation
2168func (s ListTagsForResourceInput) String() string {
2169	return awsutil.Prettify(s)
2170}
2171
2172// GoString returns the string representation
2173func (s ListTagsForResourceInput) GoString() string {
2174	return s.String()
2175}
2176
2177// Validate inspects the fields of the type to determine if they are valid.
2178func (s *ListTagsForResourceInput) Validate() error {
2179	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
2180	if s.ResourceArn == nil {
2181		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
2182	}
2183	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
2184		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
2185	}
2186
2187	if invalidParams.Len() > 0 {
2188		return invalidParams
2189	}
2190	return nil
2191}
2192
2193// SetResourceArn sets the ResourceArn field's value.
2194func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
2195	s.ResourceArn = &v
2196	return s
2197}
2198
2199type ListTagsForResourceOutput struct {
2200	_ struct{} `type:"structure"`
2201
2202	// The tags of the MWAA environments.
2203	Tags map[string]*string `min:"1" type:"map"`
2204}
2205
2206// String returns the string representation
2207func (s ListTagsForResourceOutput) String() string {
2208	return awsutil.Prettify(s)
2209}
2210
2211// GoString returns the string representation
2212func (s ListTagsForResourceOutput) GoString() string {
2213	return s.String()
2214}
2215
2216// SetTags sets the Tags field's value.
2217func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
2218	s.Tags = v
2219	return s
2220}
2221
2222// The Logging Configuration of your Amazon MWAA environment.
2223type LoggingConfiguration struct {
2224	_ struct{} `type:"structure"`
2225
2226	// A JSON blob that provides configuration to use for logging with respect to
2227	// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2228	// WebserverLogs, and WorkerLogs.
2229	DagProcessingLogs *ModuleLoggingConfiguration `type:"structure"`
2230
2231	// A JSON blob that provides configuration to use for logging with respect to
2232	// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2233	// WebserverLogs, and WorkerLogs.
2234	SchedulerLogs *ModuleLoggingConfiguration `type:"structure"`
2235
2236	// A JSON blob that provides configuration to use for logging with respect to
2237	// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2238	// WebserverLogs, and WorkerLogs.
2239	TaskLogs *ModuleLoggingConfiguration `type:"structure"`
2240
2241	// A JSON blob that provides configuration to use for logging with respect to
2242	// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2243	// WebserverLogs, and WorkerLogs.
2244	WebserverLogs *ModuleLoggingConfiguration `type:"structure"`
2245
2246	// A JSON blob that provides configuration to use for logging with respect to
2247	// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2248	// WebserverLogs, and WorkerLogs.
2249	WorkerLogs *ModuleLoggingConfiguration `type:"structure"`
2250}
2251
2252// String returns the string representation
2253func (s LoggingConfiguration) String() string {
2254	return awsutil.Prettify(s)
2255}
2256
2257// GoString returns the string representation
2258func (s LoggingConfiguration) GoString() string {
2259	return s.String()
2260}
2261
2262// SetDagProcessingLogs sets the DagProcessingLogs field's value.
2263func (s *LoggingConfiguration) SetDagProcessingLogs(v *ModuleLoggingConfiguration) *LoggingConfiguration {
2264	s.DagProcessingLogs = v
2265	return s
2266}
2267
2268// SetSchedulerLogs sets the SchedulerLogs field's value.
2269func (s *LoggingConfiguration) SetSchedulerLogs(v *ModuleLoggingConfiguration) *LoggingConfiguration {
2270	s.SchedulerLogs = v
2271	return s
2272}
2273
2274// SetTaskLogs sets the TaskLogs field's value.
2275func (s *LoggingConfiguration) SetTaskLogs(v *ModuleLoggingConfiguration) *LoggingConfiguration {
2276	s.TaskLogs = v
2277	return s
2278}
2279
2280// SetWebserverLogs sets the WebserverLogs field's value.
2281func (s *LoggingConfiguration) SetWebserverLogs(v *ModuleLoggingConfiguration) *LoggingConfiguration {
2282	s.WebserverLogs = v
2283	return s
2284}
2285
2286// SetWorkerLogs sets the WorkerLogs field's value.
2287func (s *LoggingConfiguration) SetWorkerLogs(v *ModuleLoggingConfiguration) *LoggingConfiguration {
2288	s.WorkerLogs = v
2289	return s
2290}
2291
2292// The Logging Configuration of your Amazon MWAA environment.
2293type LoggingConfigurationInput struct {
2294	_ struct{} `type:"structure"`
2295
2296	// A JSON blob that provides configuration to use for logging with respect to
2297	// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2298	// WebserverLogs, and WorkerLogs.
2299	DagProcessingLogs *ModuleLoggingConfigurationInput `type:"structure"`
2300
2301	// A JSON blob that provides configuration to use for logging with respect to
2302	// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2303	// WebserverLogs, and WorkerLogs.
2304	SchedulerLogs *ModuleLoggingConfigurationInput `type:"structure"`
2305
2306	// A JSON blob that provides configuration to use for logging with respect to
2307	// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2308	// WebserverLogs, and WorkerLogs.
2309	TaskLogs *ModuleLoggingConfigurationInput `type:"structure"`
2310
2311	// A JSON blob that provides configuration to use for logging with respect to
2312	// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2313	// WebserverLogs, and WorkerLogs.
2314	WebserverLogs *ModuleLoggingConfigurationInput `type:"structure"`
2315
2316	// A JSON blob that provides configuration to use for logging with respect to
2317	// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2318	// WebserverLogs, and WorkerLogs.
2319	WorkerLogs *ModuleLoggingConfigurationInput `type:"structure"`
2320}
2321
2322// String returns the string representation
2323func (s LoggingConfigurationInput) String() string {
2324	return awsutil.Prettify(s)
2325}
2326
2327// GoString returns the string representation
2328func (s LoggingConfigurationInput) GoString() string {
2329	return s.String()
2330}
2331
2332// Validate inspects the fields of the type to determine if they are valid.
2333func (s *LoggingConfigurationInput) Validate() error {
2334	invalidParams := request.ErrInvalidParams{Context: "LoggingConfigurationInput"}
2335	if s.DagProcessingLogs != nil {
2336		if err := s.DagProcessingLogs.Validate(); err != nil {
2337			invalidParams.AddNested("DagProcessingLogs", err.(request.ErrInvalidParams))
2338		}
2339	}
2340	if s.SchedulerLogs != nil {
2341		if err := s.SchedulerLogs.Validate(); err != nil {
2342			invalidParams.AddNested("SchedulerLogs", err.(request.ErrInvalidParams))
2343		}
2344	}
2345	if s.TaskLogs != nil {
2346		if err := s.TaskLogs.Validate(); err != nil {
2347			invalidParams.AddNested("TaskLogs", err.(request.ErrInvalidParams))
2348		}
2349	}
2350	if s.WebserverLogs != nil {
2351		if err := s.WebserverLogs.Validate(); err != nil {
2352			invalidParams.AddNested("WebserverLogs", err.(request.ErrInvalidParams))
2353		}
2354	}
2355	if s.WorkerLogs != nil {
2356		if err := s.WorkerLogs.Validate(); err != nil {
2357			invalidParams.AddNested("WorkerLogs", err.(request.ErrInvalidParams))
2358		}
2359	}
2360
2361	if invalidParams.Len() > 0 {
2362		return invalidParams
2363	}
2364	return nil
2365}
2366
2367// SetDagProcessingLogs sets the DagProcessingLogs field's value.
2368func (s *LoggingConfigurationInput) SetDagProcessingLogs(v *ModuleLoggingConfigurationInput) *LoggingConfigurationInput {
2369	s.DagProcessingLogs = v
2370	return s
2371}
2372
2373// SetSchedulerLogs sets the SchedulerLogs field's value.
2374func (s *LoggingConfigurationInput) SetSchedulerLogs(v *ModuleLoggingConfigurationInput) *LoggingConfigurationInput {
2375	s.SchedulerLogs = v
2376	return s
2377}
2378
2379// SetTaskLogs sets the TaskLogs field's value.
2380func (s *LoggingConfigurationInput) SetTaskLogs(v *ModuleLoggingConfigurationInput) *LoggingConfigurationInput {
2381	s.TaskLogs = v
2382	return s
2383}
2384
2385// SetWebserverLogs sets the WebserverLogs field's value.
2386func (s *LoggingConfigurationInput) SetWebserverLogs(v *ModuleLoggingConfigurationInput) *LoggingConfigurationInput {
2387	s.WebserverLogs = v
2388	return s
2389}
2390
2391// SetWorkerLogs sets the WorkerLogs field's value.
2392func (s *LoggingConfigurationInput) SetWorkerLogs(v *ModuleLoggingConfigurationInput) *LoggingConfigurationInput {
2393	s.WorkerLogs = v
2394	return s
2395}
2396
2397// Internal only API.
2398type MetricDatum struct {
2399	_ struct{} `type:"structure"`
2400
2401	// Internal only API.
2402	Dimensions []*Dimension `type:"list"`
2403
2404	// Internal only API.
2405	//
2406	// MetricName is a required field
2407	MetricName *string `type:"string" required:"true"`
2408
2409	// Internal only API.
2410	StatisticValues *StatisticSet `type:"structure"`
2411
2412	// Internal only API.
2413	//
2414	// Timestamp is a required field
2415	Timestamp *time.Time `type:"timestamp" required:"true"`
2416
2417	// Unit
2418	Unit *string `type:"string" enum:"Unit"`
2419
2420	// Internal only API.
2421	Value *float64 `type:"double"`
2422}
2423
2424// String returns the string representation
2425func (s MetricDatum) String() string {
2426	return awsutil.Prettify(s)
2427}
2428
2429// GoString returns the string representation
2430func (s MetricDatum) GoString() string {
2431	return s.String()
2432}
2433
2434// Validate inspects the fields of the type to determine if they are valid.
2435func (s *MetricDatum) Validate() error {
2436	invalidParams := request.ErrInvalidParams{Context: "MetricDatum"}
2437	if s.MetricName == nil {
2438		invalidParams.Add(request.NewErrParamRequired("MetricName"))
2439	}
2440	if s.Timestamp == nil {
2441		invalidParams.Add(request.NewErrParamRequired("Timestamp"))
2442	}
2443	if s.Dimensions != nil {
2444		for i, v := range s.Dimensions {
2445			if v == nil {
2446				continue
2447			}
2448			if err := v.Validate(); err != nil {
2449				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
2450			}
2451		}
2452	}
2453
2454	if invalidParams.Len() > 0 {
2455		return invalidParams
2456	}
2457	return nil
2458}
2459
2460// SetDimensions sets the Dimensions field's value.
2461func (s *MetricDatum) SetDimensions(v []*Dimension) *MetricDatum {
2462	s.Dimensions = v
2463	return s
2464}
2465
2466// SetMetricName sets the MetricName field's value.
2467func (s *MetricDatum) SetMetricName(v string) *MetricDatum {
2468	s.MetricName = &v
2469	return s
2470}
2471
2472// SetStatisticValues sets the StatisticValues field's value.
2473func (s *MetricDatum) SetStatisticValues(v *StatisticSet) *MetricDatum {
2474	s.StatisticValues = v
2475	return s
2476}
2477
2478// SetTimestamp sets the Timestamp field's value.
2479func (s *MetricDatum) SetTimestamp(v time.Time) *MetricDatum {
2480	s.Timestamp = &v
2481	return s
2482}
2483
2484// SetUnit sets the Unit field's value.
2485func (s *MetricDatum) SetUnit(v string) *MetricDatum {
2486	s.Unit = &v
2487	return s
2488}
2489
2490// SetValue sets the Value field's value.
2491func (s *MetricDatum) SetValue(v float64) *MetricDatum {
2492	s.Value = &v
2493	return s
2494}
2495
2496// A JSON blob that provides configuration to use for logging with respect to
2497// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2498// WebserverLogs, and WorkerLogs.
2499type ModuleLoggingConfiguration struct {
2500	_ struct{} `type:"structure"`
2501
2502	// Provides the ARN for the CloudWatch group where the logs will be published.
2503	CloudWatchLogGroupArn *string `min:"1" type:"string"`
2504
2505	// Defines that the logging module is enabled.
2506	Enabled *bool `type:"boolean"`
2507
2508	// Defines the log level, which can be CRITICAL, ERROR, WARNING, or INFO.
2509	LogLevel *string `type:"string" enum:"LoggingLevel"`
2510}
2511
2512// String returns the string representation
2513func (s ModuleLoggingConfiguration) String() string {
2514	return awsutil.Prettify(s)
2515}
2516
2517// GoString returns the string representation
2518func (s ModuleLoggingConfiguration) GoString() string {
2519	return s.String()
2520}
2521
2522// SetCloudWatchLogGroupArn sets the CloudWatchLogGroupArn field's value.
2523func (s *ModuleLoggingConfiguration) SetCloudWatchLogGroupArn(v string) *ModuleLoggingConfiguration {
2524	s.CloudWatchLogGroupArn = &v
2525	return s
2526}
2527
2528// SetEnabled sets the Enabled field's value.
2529func (s *ModuleLoggingConfiguration) SetEnabled(v bool) *ModuleLoggingConfiguration {
2530	s.Enabled = &v
2531	return s
2532}
2533
2534// SetLogLevel sets the LogLevel field's value.
2535func (s *ModuleLoggingConfiguration) SetLogLevel(v string) *ModuleLoggingConfiguration {
2536	s.LogLevel = &v
2537	return s
2538}
2539
2540// A JSON blob that provides configuration to use for logging with respect to
2541// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2542// WebserverLogs, and WorkerLogs.
2543type ModuleLoggingConfigurationInput struct {
2544	_ struct{} `type:"structure"`
2545
2546	// Defines that the logging module is enabled.
2547	//
2548	// Enabled is a required field
2549	Enabled *bool `type:"boolean" required:"true"`
2550
2551	// Defines the log level, which can be CRITICAL, ERROR, WARNING, or INFO.
2552	//
2553	// LogLevel is a required field
2554	LogLevel *string `type:"string" required:"true" enum:"LoggingLevel"`
2555}
2556
2557// String returns the string representation
2558func (s ModuleLoggingConfigurationInput) String() string {
2559	return awsutil.Prettify(s)
2560}
2561
2562// GoString returns the string representation
2563func (s ModuleLoggingConfigurationInput) GoString() string {
2564	return s.String()
2565}
2566
2567// Validate inspects the fields of the type to determine if they are valid.
2568func (s *ModuleLoggingConfigurationInput) Validate() error {
2569	invalidParams := request.ErrInvalidParams{Context: "ModuleLoggingConfigurationInput"}
2570	if s.Enabled == nil {
2571		invalidParams.Add(request.NewErrParamRequired("Enabled"))
2572	}
2573	if s.LogLevel == nil {
2574		invalidParams.Add(request.NewErrParamRequired("LogLevel"))
2575	}
2576
2577	if invalidParams.Len() > 0 {
2578		return invalidParams
2579	}
2580	return nil
2581}
2582
2583// SetEnabled sets the Enabled field's value.
2584func (s *ModuleLoggingConfigurationInput) SetEnabled(v bool) *ModuleLoggingConfigurationInput {
2585	s.Enabled = &v
2586	return s
2587}
2588
2589// SetLogLevel sets the LogLevel field's value.
2590func (s *ModuleLoggingConfigurationInput) SetLogLevel(v string) *ModuleLoggingConfigurationInput {
2591	s.LogLevel = &v
2592	return s
2593}
2594
2595// Provide the security group and subnet IDs for the workers and scheduler.
2596type NetworkConfiguration struct {
2597	_ struct{} `type:"structure"`
2598
2599	// A JSON list of 1 or more security groups IDs by name, in the same VPC as
2600	// the subnets.
2601	SecurityGroupIds []*string `min:"1" type:"list"`
2602
2603	// Provide a JSON list of 2 subnet IDs by name. These must be private subnets,
2604	// in the same VPC, in two different availability zones.
2605	SubnetIds []*string `min:"2" type:"list"`
2606}
2607
2608// String returns the string representation
2609func (s NetworkConfiguration) String() string {
2610	return awsutil.Prettify(s)
2611}
2612
2613// GoString returns the string representation
2614func (s NetworkConfiguration) GoString() string {
2615	return s.String()
2616}
2617
2618// Validate inspects the fields of the type to determine if they are valid.
2619func (s *NetworkConfiguration) Validate() error {
2620	invalidParams := request.ErrInvalidParams{Context: "NetworkConfiguration"}
2621	if s.SecurityGroupIds != nil && len(s.SecurityGroupIds) < 1 {
2622		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIds", 1))
2623	}
2624	if s.SubnetIds != nil && len(s.SubnetIds) < 2 {
2625		invalidParams.Add(request.NewErrParamMinLen("SubnetIds", 2))
2626	}
2627
2628	if invalidParams.Len() > 0 {
2629		return invalidParams
2630	}
2631	return nil
2632}
2633
2634// SetSecurityGroupIds sets the SecurityGroupIds field's value.
2635func (s *NetworkConfiguration) SetSecurityGroupIds(v []*string) *NetworkConfiguration {
2636	s.SecurityGroupIds = v
2637	return s
2638}
2639
2640// SetSubnetIds sets the SubnetIds field's value.
2641func (s *NetworkConfiguration) SetSubnetIds(v []*string) *NetworkConfiguration {
2642	s.SubnetIds = v
2643	return s
2644}
2645
2646type PublishMetricsInput struct {
2647	_ struct{} `type:"structure"`
2648
2649	// Publishes environment metric data to Amazon CloudWatch.
2650	//
2651	// EnvironmentName is a required field
2652	EnvironmentName *string `location:"uri" locationName:"EnvironmentName" min:"1" type:"string" required:"true"`
2653
2654	// Publishes metric data points to Amazon CloudWatch. CloudWatch associates
2655	// the data points with the specified metrica.
2656	//
2657	// MetricData is a required field
2658	MetricData []*MetricDatum `type:"list" required:"true"`
2659}
2660
2661// String returns the string representation
2662func (s PublishMetricsInput) String() string {
2663	return awsutil.Prettify(s)
2664}
2665
2666// GoString returns the string representation
2667func (s PublishMetricsInput) GoString() string {
2668	return s.String()
2669}
2670
2671// Validate inspects the fields of the type to determine if they are valid.
2672func (s *PublishMetricsInput) Validate() error {
2673	invalidParams := request.ErrInvalidParams{Context: "PublishMetricsInput"}
2674	if s.EnvironmentName == nil {
2675		invalidParams.Add(request.NewErrParamRequired("EnvironmentName"))
2676	}
2677	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 1 {
2678		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 1))
2679	}
2680	if s.MetricData == nil {
2681		invalidParams.Add(request.NewErrParamRequired("MetricData"))
2682	}
2683	if s.MetricData != nil {
2684		for i, v := range s.MetricData {
2685			if v == nil {
2686				continue
2687			}
2688			if err := v.Validate(); err != nil {
2689				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MetricData", i), err.(request.ErrInvalidParams))
2690			}
2691		}
2692	}
2693
2694	if invalidParams.Len() > 0 {
2695		return invalidParams
2696	}
2697	return nil
2698}
2699
2700// SetEnvironmentName sets the EnvironmentName field's value.
2701func (s *PublishMetricsInput) SetEnvironmentName(v string) *PublishMetricsInput {
2702	s.EnvironmentName = &v
2703	return s
2704}
2705
2706// SetMetricData sets the MetricData field's value.
2707func (s *PublishMetricsInput) SetMetricData(v []*MetricDatum) *PublishMetricsInput {
2708	s.MetricData = v
2709	return s
2710}
2711
2712type PublishMetricsOutput struct {
2713	_ struct{} `type:"structure"`
2714}
2715
2716// String returns the string representation
2717func (s PublishMetricsOutput) String() string {
2718	return awsutil.Prettify(s)
2719}
2720
2721// GoString returns the string representation
2722func (s PublishMetricsOutput) GoString() string {
2723	return s.String()
2724}
2725
2726// ResourceNotFoundException: The resource is not available.
2727type ResourceNotFoundException struct {
2728	_            struct{}                  `type:"structure"`
2729	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2730
2731	Message_ *string `locationName:"message" type:"string"`
2732}
2733
2734// String returns the string representation
2735func (s ResourceNotFoundException) String() string {
2736	return awsutil.Prettify(s)
2737}
2738
2739// GoString returns the string representation
2740func (s ResourceNotFoundException) GoString() string {
2741	return s.String()
2742}
2743
2744func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
2745	return &ResourceNotFoundException{
2746		RespMetadata: v,
2747	}
2748}
2749
2750// Code returns the exception type name.
2751func (s *ResourceNotFoundException) Code() string {
2752	return "ResourceNotFoundException"
2753}
2754
2755// Message returns the exception's message.
2756func (s *ResourceNotFoundException) Message() string {
2757	if s.Message_ != nil {
2758		return *s.Message_
2759	}
2760	return ""
2761}
2762
2763// OrigErr always returns nil, satisfies awserr.Error interface.
2764func (s *ResourceNotFoundException) OrigErr() error {
2765	return nil
2766}
2767
2768func (s *ResourceNotFoundException) Error() string {
2769	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2770}
2771
2772// Status code returns the HTTP status code for the request's response error.
2773func (s *ResourceNotFoundException) StatusCode() int {
2774	return s.RespMetadata.StatusCode
2775}
2776
2777// RequestID returns the service's response RequestID for request.
2778func (s *ResourceNotFoundException) RequestID() string {
2779	return s.RespMetadata.RequestID
2780}
2781
2782// Internal only API.
2783type StatisticSet struct {
2784	_ struct{} `type:"structure"`
2785
2786	// Internal only API.
2787	Maximum *float64 `type:"double"`
2788
2789	// Internal only API.
2790	Minimum *float64 `type:"double"`
2791
2792	// Internal only API.
2793	SampleCount *int64 `type:"integer"`
2794
2795	// Internal only API.
2796	Sum *float64 `type:"double"`
2797}
2798
2799// String returns the string representation
2800func (s StatisticSet) String() string {
2801	return awsutil.Prettify(s)
2802}
2803
2804// GoString returns the string representation
2805func (s StatisticSet) GoString() string {
2806	return s.String()
2807}
2808
2809// SetMaximum sets the Maximum field's value.
2810func (s *StatisticSet) SetMaximum(v float64) *StatisticSet {
2811	s.Maximum = &v
2812	return s
2813}
2814
2815// SetMinimum sets the Minimum field's value.
2816func (s *StatisticSet) SetMinimum(v float64) *StatisticSet {
2817	s.Minimum = &v
2818	return s
2819}
2820
2821// SetSampleCount sets the SampleCount field's value.
2822func (s *StatisticSet) SetSampleCount(v int64) *StatisticSet {
2823	s.SampleCount = &v
2824	return s
2825}
2826
2827// SetSum sets the Sum field's value.
2828func (s *StatisticSet) SetSum(v float64) *StatisticSet {
2829	s.Sum = &v
2830	return s
2831}
2832
2833type TagResourceInput struct {
2834	_ struct{} `type:"structure"`
2835
2836	// The tag resource ARN of the MWAA environments.
2837	//
2838	// ResourceArn is a required field
2839	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"1" type:"string" required:"true"`
2840
2841	// The tag resource tag of the MWAA environments.
2842	//
2843	// Tags is a required field
2844	Tags map[string]*string `min:"1" type:"map" required:"true"`
2845}
2846
2847// String returns the string representation
2848func (s TagResourceInput) String() string {
2849	return awsutil.Prettify(s)
2850}
2851
2852// GoString returns the string representation
2853func (s TagResourceInput) GoString() string {
2854	return s.String()
2855}
2856
2857// Validate inspects the fields of the type to determine if they are valid.
2858func (s *TagResourceInput) Validate() error {
2859	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
2860	if s.ResourceArn == nil {
2861		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
2862	}
2863	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
2864		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
2865	}
2866	if s.Tags == nil {
2867		invalidParams.Add(request.NewErrParamRequired("Tags"))
2868	}
2869	if s.Tags != nil && len(s.Tags) < 1 {
2870		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
2871	}
2872
2873	if invalidParams.Len() > 0 {
2874		return invalidParams
2875	}
2876	return nil
2877}
2878
2879// SetResourceArn sets the ResourceArn field's value.
2880func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
2881	s.ResourceArn = &v
2882	return s
2883}
2884
2885// SetTags sets the Tags field's value.
2886func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
2887	s.Tags = v
2888	return s
2889}
2890
2891type TagResourceOutput struct {
2892	_ struct{} `type:"structure"`
2893}
2894
2895// String returns the string representation
2896func (s TagResourceOutput) String() string {
2897	return awsutil.Prettify(s)
2898}
2899
2900// GoString returns the string representation
2901func (s TagResourceOutput) GoString() string {
2902	return s.String()
2903}
2904
2905type UntagResourceInput struct {
2906	_ struct{} `type:"structure"`
2907
2908	// The tag resource ARN of the MWAA environments.
2909	//
2910	// ResourceArn is a required field
2911	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"1" type:"string" required:"true"`
2912
2913	// The tag resource key of the MWAA environments.
2914	//
2915	// TagKeys is a required field
2916	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
2917}
2918
2919// String returns the string representation
2920func (s UntagResourceInput) String() string {
2921	return awsutil.Prettify(s)
2922}
2923
2924// GoString returns the string representation
2925func (s UntagResourceInput) GoString() string {
2926	return s.String()
2927}
2928
2929// Validate inspects the fields of the type to determine if they are valid.
2930func (s *UntagResourceInput) Validate() error {
2931	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
2932	if s.ResourceArn == nil {
2933		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
2934	}
2935	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
2936		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
2937	}
2938	if s.TagKeys == nil {
2939		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
2940	}
2941
2942	if invalidParams.Len() > 0 {
2943		return invalidParams
2944	}
2945	return nil
2946}
2947
2948// SetResourceArn sets the ResourceArn field's value.
2949func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
2950	s.ResourceArn = &v
2951	return s
2952}
2953
2954// SetTagKeys sets the TagKeys field's value.
2955func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
2956	s.TagKeys = v
2957	return s
2958}
2959
2960type UntagResourceOutput struct {
2961	_ struct{} `type:"structure"`
2962}
2963
2964// String returns the string representation
2965func (s UntagResourceOutput) String() string {
2966	return awsutil.Prettify(s)
2967}
2968
2969// GoString returns the string representation
2970func (s UntagResourceOutput) GoString() string {
2971	return s.String()
2972}
2973
2974type UpdateEnvironmentInput struct {
2975	_ struct{} `type:"structure"`
2976
2977	// The Airflow Configuration Options to update of your Amazon MWAA environment.
2978	AirflowConfigurationOptions map[string]*string `type:"map" sensitive:"true"`
2979
2980	// The Airflow Version to update of your Amazon MWAA environment.
2981	AirflowVersion *string `min:"1" type:"string"`
2982
2983	// The Dags folder S3 Path to update of your Amazon MWAA environment.
2984	DagS3Path *string `min:"1" type:"string"`
2985
2986	// The Environment Class to update of your Amazon MWAA environment.
2987	EnvironmentClass *string `min:"1" type:"string"`
2988
2989	// The Executio Role ARN to update of your Amazon MWAA environment.
2990	ExecutionRoleArn *string `min:"1" type:"string"`
2991
2992	// The Logging Configuration to update of your Amazon MWAA environment.
2993	LoggingConfiguration *LoggingConfigurationInput `type:"structure"`
2994
2995	// The maximum number of workers to update of your Amazon MWAA environment.
2996	MaxWorkers *int64 `min:"1" type:"integer"`
2997
2998	// The minimum number of workers to update of your Amazon MWAA environment.
2999	MinWorkers *int64 `min:"1" type:"integer"`
3000
3001	// The name of your Amazon MWAA environment that you wish to update.
3002	//
3003	// Name is a required field
3004	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
3005
3006	// The Network Configuration to update of your Amazon MWAA environment.
3007	NetworkConfiguration *UpdateNetworkConfigurationInput `type:"structure"`
3008
3009	// The Plugins.zip S3 Object Version to update of your Amazon MWAA environment.
3010	PluginsS3ObjectVersion *string `min:"1" type:"string"`
3011
3012	// The Plugins.zip S3 Path to update of your Amazon MWAA environment.
3013	PluginsS3Path *string `min:"1" type:"string"`
3014
3015	// The Requirements.txt S3 ObjectV ersion to update of your Amazon MWAA environment.
3016	RequirementsS3ObjectVersion *string `min:"1" type:"string"`
3017
3018	// The Requirements.txt S3 Path to update of your Amazon MWAA environment.
3019	RequirementsS3Path *string `min:"1" type:"string"`
3020
3021	// The S3 Source Bucket ARN to update of your Amazon MWAA environment.
3022	SourceBucketArn *string `min:"1" type:"string"`
3023
3024	// The Webserver Access Mode to update of your Amazon MWAA environment.
3025	WebserverAccessMode *string `type:"string" enum:"WebserverAccessMode"`
3026
3027	// The Weekly Maintenance Window Start to update of your Amazon MWAA environment.
3028	WeeklyMaintenanceWindowStart *string `min:"1" type:"string"`
3029}
3030
3031// String returns the string representation
3032func (s UpdateEnvironmentInput) String() string {
3033	return awsutil.Prettify(s)
3034}
3035
3036// GoString returns the string representation
3037func (s UpdateEnvironmentInput) GoString() string {
3038	return s.String()
3039}
3040
3041// Validate inspects the fields of the type to determine if they are valid.
3042func (s *UpdateEnvironmentInput) Validate() error {
3043	invalidParams := request.ErrInvalidParams{Context: "UpdateEnvironmentInput"}
3044	if s.AirflowVersion != nil && len(*s.AirflowVersion) < 1 {
3045		invalidParams.Add(request.NewErrParamMinLen("AirflowVersion", 1))
3046	}
3047	if s.DagS3Path != nil && len(*s.DagS3Path) < 1 {
3048		invalidParams.Add(request.NewErrParamMinLen("DagS3Path", 1))
3049	}
3050	if s.EnvironmentClass != nil && len(*s.EnvironmentClass) < 1 {
3051		invalidParams.Add(request.NewErrParamMinLen("EnvironmentClass", 1))
3052	}
3053	if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 1 {
3054		invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 1))
3055	}
3056	if s.MaxWorkers != nil && *s.MaxWorkers < 1 {
3057		invalidParams.Add(request.NewErrParamMinValue("MaxWorkers", 1))
3058	}
3059	if s.MinWorkers != nil && *s.MinWorkers < 1 {
3060		invalidParams.Add(request.NewErrParamMinValue("MinWorkers", 1))
3061	}
3062	if s.Name == nil {
3063		invalidParams.Add(request.NewErrParamRequired("Name"))
3064	}
3065	if s.Name != nil && len(*s.Name) < 1 {
3066		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
3067	}
3068	if s.PluginsS3ObjectVersion != nil && len(*s.PluginsS3ObjectVersion) < 1 {
3069		invalidParams.Add(request.NewErrParamMinLen("PluginsS3ObjectVersion", 1))
3070	}
3071	if s.PluginsS3Path != nil && len(*s.PluginsS3Path) < 1 {
3072		invalidParams.Add(request.NewErrParamMinLen("PluginsS3Path", 1))
3073	}
3074	if s.RequirementsS3ObjectVersion != nil && len(*s.RequirementsS3ObjectVersion) < 1 {
3075		invalidParams.Add(request.NewErrParamMinLen("RequirementsS3ObjectVersion", 1))
3076	}
3077	if s.RequirementsS3Path != nil && len(*s.RequirementsS3Path) < 1 {
3078		invalidParams.Add(request.NewErrParamMinLen("RequirementsS3Path", 1))
3079	}
3080	if s.SourceBucketArn != nil && len(*s.SourceBucketArn) < 1 {
3081		invalidParams.Add(request.NewErrParamMinLen("SourceBucketArn", 1))
3082	}
3083	if s.WeeklyMaintenanceWindowStart != nil && len(*s.WeeklyMaintenanceWindowStart) < 1 {
3084		invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceWindowStart", 1))
3085	}
3086	if s.LoggingConfiguration != nil {
3087		if err := s.LoggingConfiguration.Validate(); err != nil {
3088			invalidParams.AddNested("LoggingConfiguration", err.(request.ErrInvalidParams))
3089		}
3090	}
3091	if s.NetworkConfiguration != nil {
3092		if err := s.NetworkConfiguration.Validate(); err != nil {
3093			invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams))
3094		}
3095	}
3096
3097	if invalidParams.Len() > 0 {
3098		return invalidParams
3099	}
3100	return nil
3101}
3102
3103// SetAirflowConfigurationOptions sets the AirflowConfigurationOptions field's value.
3104func (s *UpdateEnvironmentInput) SetAirflowConfigurationOptions(v map[string]*string) *UpdateEnvironmentInput {
3105	s.AirflowConfigurationOptions = v
3106	return s
3107}
3108
3109// SetAirflowVersion sets the AirflowVersion field's value.
3110func (s *UpdateEnvironmentInput) SetAirflowVersion(v string) *UpdateEnvironmentInput {
3111	s.AirflowVersion = &v
3112	return s
3113}
3114
3115// SetDagS3Path sets the DagS3Path field's value.
3116func (s *UpdateEnvironmentInput) SetDagS3Path(v string) *UpdateEnvironmentInput {
3117	s.DagS3Path = &v
3118	return s
3119}
3120
3121// SetEnvironmentClass sets the EnvironmentClass field's value.
3122func (s *UpdateEnvironmentInput) SetEnvironmentClass(v string) *UpdateEnvironmentInput {
3123	s.EnvironmentClass = &v
3124	return s
3125}
3126
3127// SetExecutionRoleArn sets the ExecutionRoleArn field's value.
3128func (s *UpdateEnvironmentInput) SetExecutionRoleArn(v string) *UpdateEnvironmentInput {
3129	s.ExecutionRoleArn = &v
3130	return s
3131}
3132
3133// SetLoggingConfiguration sets the LoggingConfiguration field's value.
3134func (s *UpdateEnvironmentInput) SetLoggingConfiguration(v *LoggingConfigurationInput) *UpdateEnvironmentInput {
3135	s.LoggingConfiguration = v
3136	return s
3137}
3138
3139// SetMaxWorkers sets the MaxWorkers field's value.
3140func (s *UpdateEnvironmentInput) SetMaxWorkers(v int64) *UpdateEnvironmentInput {
3141	s.MaxWorkers = &v
3142	return s
3143}
3144
3145// SetMinWorkers sets the MinWorkers field's value.
3146func (s *UpdateEnvironmentInput) SetMinWorkers(v int64) *UpdateEnvironmentInput {
3147	s.MinWorkers = &v
3148	return s
3149}
3150
3151// SetName sets the Name field's value.
3152func (s *UpdateEnvironmentInput) SetName(v string) *UpdateEnvironmentInput {
3153	s.Name = &v
3154	return s
3155}
3156
3157// SetNetworkConfiguration sets the NetworkConfiguration field's value.
3158func (s *UpdateEnvironmentInput) SetNetworkConfiguration(v *UpdateNetworkConfigurationInput) *UpdateEnvironmentInput {
3159	s.NetworkConfiguration = v
3160	return s
3161}
3162
3163// SetPluginsS3ObjectVersion sets the PluginsS3ObjectVersion field's value.
3164func (s *UpdateEnvironmentInput) SetPluginsS3ObjectVersion(v string) *UpdateEnvironmentInput {
3165	s.PluginsS3ObjectVersion = &v
3166	return s
3167}
3168
3169// SetPluginsS3Path sets the PluginsS3Path field's value.
3170func (s *UpdateEnvironmentInput) SetPluginsS3Path(v string) *UpdateEnvironmentInput {
3171	s.PluginsS3Path = &v
3172	return s
3173}
3174
3175// SetRequirementsS3ObjectVersion sets the RequirementsS3ObjectVersion field's value.
3176func (s *UpdateEnvironmentInput) SetRequirementsS3ObjectVersion(v string) *UpdateEnvironmentInput {
3177	s.RequirementsS3ObjectVersion = &v
3178	return s
3179}
3180
3181// SetRequirementsS3Path sets the RequirementsS3Path field's value.
3182func (s *UpdateEnvironmentInput) SetRequirementsS3Path(v string) *UpdateEnvironmentInput {
3183	s.RequirementsS3Path = &v
3184	return s
3185}
3186
3187// SetSourceBucketArn sets the SourceBucketArn field's value.
3188func (s *UpdateEnvironmentInput) SetSourceBucketArn(v string) *UpdateEnvironmentInput {
3189	s.SourceBucketArn = &v
3190	return s
3191}
3192
3193// SetWebserverAccessMode sets the WebserverAccessMode field's value.
3194func (s *UpdateEnvironmentInput) SetWebserverAccessMode(v string) *UpdateEnvironmentInput {
3195	s.WebserverAccessMode = &v
3196	return s
3197}
3198
3199// SetWeeklyMaintenanceWindowStart sets the WeeklyMaintenanceWindowStart field's value.
3200func (s *UpdateEnvironmentInput) SetWeeklyMaintenanceWindowStart(v string) *UpdateEnvironmentInput {
3201	s.WeeklyMaintenanceWindowStart = &v
3202	return s
3203}
3204
3205type UpdateEnvironmentOutput struct {
3206	_ struct{} `type:"structure"`
3207
3208	// The ARN to update of your Amazon MWAA environment.
3209	Arn *string `min:"1" type:"string"`
3210}
3211
3212// String returns the string representation
3213func (s UpdateEnvironmentOutput) String() string {
3214	return awsutil.Prettify(s)
3215}
3216
3217// GoString returns the string representation
3218func (s UpdateEnvironmentOutput) GoString() string {
3219	return s.String()
3220}
3221
3222// SetArn sets the Arn field's value.
3223func (s *UpdateEnvironmentOutput) SetArn(v string) *UpdateEnvironmentOutput {
3224	s.Arn = &v
3225	return s
3226}
3227
3228// Error information of update, if applicable.
3229type UpdateError struct {
3230	_ struct{} `type:"structure"`
3231
3232	// Error code of update.
3233	ErrorCode *string `type:"string"`
3234
3235	// Error message of update.
3236	ErrorMessage *string `min:"1" type:"string"`
3237}
3238
3239// String returns the string representation
3240func (s UpdateError) String() string {
3241	return awsutil.Prettify(s)
3242}
3243
3244// GoString returns the string representation
3245func (s UpdateError) GoString() string {
3246	return s.String()
3247}
3248
3249// SetErrorCode sets the ErrorCode field's value.
3250func (s *UpdateError) SetErrorCode(v string) *UpdateError {
3251	s.ErrorCode = &v
3252	return s
3253}
3254
3255// SetErrorMessage sets the ErrorMessage field's value.
3256func (s *UpdateError) SetErrorMessage(v string) *UpdateError {
3257	s.ErrorMessage = &v
3258	return s
3259}
3260
3261// Provide the security group and subnet IDs for the workers and scheduler.
3262type UpdateNetworkConfigurationInput struct {
3263	_ struct{} `type:"structure"`
3264
3265	// Provide a JSON list of 1 or more security groups IDs by name, in the same
3266	// VPC as the subnets.
3267	//
3268	// SecurityGroupIds is a required field
3269	SecurityGroupIds []*string `min:"1" type:"list" required:"true"`
3270}
3271
3272// String returns the string representation
3273func (s UpdateNetworkConfigurationInput) String() string {
3274	return awsutil.Prettify(s)
3275}
3276
3277// GoString returns the string representation
3278func (s UpdateNetworkConfigurationInput) GoString() string {
3279	return s.String()
3280}
3281
3282// Validate inspects the fields of the type to determine if they are valid.
3283func (s *UpdateNetworkConfigurationInput) Validate() error {
3284	invalidParams := request.ErrInvalidParams{Context: "UpdateNetworkConfigurationInput"}
3285	if s.SecurityGroupIds == nil {
3286		invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds"))
3287	}
3288	if s.SecurityGroupIds != nil && len(s.SecurityGroupIds) < 1 {
3289		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIds", 1))
3290	}
3291
3292	if invalidParams.Len() > 0 {
3293		return invalidParams
3294	}
3295	return nil
3296}
3297
3298// SetSecurityGroupIds sets the SecurityGroupIds field's value.
3299func (s *UpdateNetworkConfigurationInput) SetSecurityGroupIds(v []*string) *UpdateNetworkConfigurationInput {
3300	s.SecurityGroupIds = v
3301	return s
3302}
3303
3304// ValidationException: The provided input is not valid.
3305type ValidationException struct {
3306	_            struct{}                  `type:"structure"`
3307	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3308
3309	Message_ *string `locationName:"message" type:"string"`
3310}
3311
3312// String returns the string representation
3313func (s ValidationException) String() string {
3314	return awsutil.Prettify(s)
3315}
3316
3317// GoString returns the string representation
3318func (s ValidationException) GoString() string {
3319	return s.String()
3320}
3321
3322func newErrorValidationException(v protocol.ResponseMetadata) error {
3323	return &ValidationException{
3324		RespMetadata: v,
3325	}
3326}
3327
3328// Code returns the exception type name.
3329func (s *ValidationException) Code() string {
3330	return "ValidationException"
3331}
3332
3333// Message returns the exception's message.
3334func (s *ValidationException) Message() string {
3335	if s.Message_ != nil {
3336		return *s.Message_
3337	}
3338	return ""
3339}
3340
3341// OrigErr always returns nil, satisfies awserr.Error interface.
3342func (s *ValidationException) OrigErr() error {
3343	return nil
3344}
3345
3346func (s *ValidationException) Error() string {
3347	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3348}
3349
3350// Status code returns the HTTP status code for the request's response error.
3351func (s *ValidationException) StatusCode() int {
3352	return s.RespMetadata.StatusCode
3353}
3354
3355// RequestID returns the service's response RequestID for request.
3356func (s *ValidationException) RequestID() string {
3357	return s.RespMetadata.RequestID
3358}
3359
3360const (
3361	// EnvironmentStatusCreating is a EnvironmentStatus enum value
3362	EnvironmentStatusCreating = "CREATING"
3363
3364	// EnvironmentStatusCreateFailed is a EnvironmentStatus enum value
3365	EnvironmentStatusCreateFailed = "CREATE_FAILED"
3366
3367	// EnvironmentStatusAvailable is a EnvironmentStatus enum value
3368	EnvironmentStatusAvailable = "AVAILABLE"
3369
3370	// EnvironmentStatusUpdating is a EnvironmentStatus enum value
3371	EnvironmentStatusUpdating = "UPDATING"
3372
3373	// EnvironmentStatusDeleting is a EnvironmentStatus enum value
3374	EnvironmentStatusDeleting = "DELETING"
3375
3376	// EnvironmentStatusDeleted is a EnvironmentStatus enum value
3377	EnvironmentStatusDeleted = "DELETED"
3378
3379	// EnvironmentStatusUnavailable is a EnvironmentStatus enum value
3380	EnvironmentStatusUnavailable = "UNAVAILABLE"
3381
3382	// EnvironmentStatusUpdateFailed is a EnvironmentStatus enum value
3383	EnvironmentStatusUpdateFailed = "UPDATE_FAILED"
3384)
3385
3386// EnvironmentStatus_Values returns all elements of the EnvironmentStatus enum
3387func EnvironmentStatus_Values() []string {
3388	return []string{
3389		EnvironmentStatusCreating,
3390		EnvironmentStatusCreateFailed,
3391		EnvironmentStatusAvailable,
3392		EnvironmentStatusUpdating,
3393		EnvironmentStatusDeleting,
3394		EnvironmentStatusDeleted,
3395		EnvironmentStatusUnavailable,
3396		EnvironmentStatusUpdateFailed,
3397	}
3398}
3399
3400const (
3401	// LoggingLevelCritical is a LoggingLevel enum value
3402	LoggingLevelCritical = "CRITICAL"
3403
3404	// LoggingLevelError is a LoggingLevel enum value
3405	LoggingLevelError = "ERROR"
3406
3407	// LoggingLevelWarning is a LoggingLevel enum value
3408	LoggingLevelWarning = "WARNING"
3409
3410	// LoggingLevelInfo is a LoggingLevel enum value
3411	LoggingLevelInfo = "INFO"
3412
3413	// LoggingLevelDebug is a LoggingLevel enum value
3414	LoggingLevelDebug = "DEBUG"
3415)
3416
3417// LoggingLevel_Values returns all elements of the LoggingLevel enum
3418func LoggingLevel_Values() []string {
3419	return []string{
3420		LoggingLevelCritical,
3421		LoggingLevelError,
3422		LoggingLevelWarning,
3423		LoggingLevelInfo,
3424		LoggingLevelDebug,
3425	}
3426}
3427
3428// Unit
3429const (
3430	// UnitSeconds is a Unit enum value
3431	UnitSeconds = "Seconds"
3432
3433	// UnitMicroseconds is a Unit enum value
3434	UnitMicroseconds = "Microseconds"
3435
3436	// UnitMilliseconds is a Unit enum value
3437	UnitMilliseconds = "Milliseconds"
3438
3439	// UnitBytes is a Unit enum value
3440	UnitBytes = "Bytes"
3441
3442	// UnitKilobytes is a Unit enum value
3443	UnitKilobytes = "Kilobytes"
3444
3445	// UnitMegabytes is a Unit enum value
3446	UnitMegabytes = "Megabytes"
3447
3448	// UnitGigabytes is a Unit enum value
3449	UnitGigabytes = "Gigabytes"
3450
3451	// UnitTerabytes is a Unit enum value
3452	UnitTerabytes = "Terabytes"
3453
3454	// UnitBits is a Unit enum value
3455	UnitBits = "Bits"
3456
3457	// UnitKilobits is a Unit enum value
3458	UnitKilobits = "Kilobits"
3459
3460	// UnitMegabits is a Unit enum value
3461	UnitMegabits = "Megabits"
3462
3463	// UnitGigabits is a Unit enum value
3464	UnitGigabits = "Gigabits"
3465
3466	// UnitTerabits is a Unit enum value
3467	UnitTerabits = "Terabits"
3468
3469	// UnitPercent is a Unit enum value
3470	UnitPercent = "Percent"
3471
3472	// UnitCount is a Unit enum value
3473	UnitCount = "Count"
3474
3475	// UnitBytesSecond is a Unit enum value
3476	UnitBytesSecond = "Bytes/Second"
3477
3478	// UnitKilobytesSecond is a Unit enum value
3479	UnitKilobytesSecond = "Kilobytes/Second"
3480
3481	// UnitMegabytesSecond is a Unit enum value
3482	UnitMegabytesSecond = "Megabytes/Second"
3483
3484	// UnitGigabytesSecond is a Unit enum value
3485	UnitGigabytesSecond = "Gigabytes/Second"
3486
3487	// UnitTerabytesSecond is a Unit enum value
3488	UnitTerabytesSecond = "Terabytes/Second"
3489
3490	// UnitBitsSecond is a Unit enum value
3491	UnitBitsSecond = "Bits/Second"
3492
3493	// UnitKilobitsSecond is a Unit enum value
3494	UnitKilobitsSecond = "Kilobits/Second"
3495
3496	// UnitMegabitsSecond is a Unit enum value
3497	UnitMegabitsSecond = "Megabits/Second"
3498
3499	// UnitGigabitsSecond is a Unit enum value
3500	UnitGigabitsSecond = "Gigabits/Second"
3501
3502	// UnitTerabitsSecond is a Unit enum value
3503	UnitTerabitsSecond = "Terabits/Second"
3504
3505	// UnitCountSecond is a Unit enum value
3506	UnitCountSecond = "Count/Second"
3507
3508	// UnitNone is a Unit enum value
3509	UnitNone = "None"
3510)
3511
3512// Unit_Values returns all elements of the Unit enum
3513func Unit_Values() []string {
3514	return []string{
3515		UnitSeconds,
3516		UnitMicroseconds,
3517		UnitMilliseconds,
3518		UnitBytes,
3519		UnitKilobytes,
3520		UnitMegabytes,
3521		UnitGigabytes,
3522		UnitTerabytes,
3523		UnitBits,
3524		UnitKilobits,
3525		UnitMegabits,
3526		UnitGigabits,
3527		UnitTerabits,
3528		UnitPercent,
3529		UnitCount,
3530		UnitBytesSecond,
3531		UnitKilobytesSecond,
3532		UnitMegabytesSecond,
3533		UnitGigabytesSecond,
3534		UnitTerabytesSecond,
3535		UnitBitsSecond,
3536		UnitKilobitsSecond,
3537		UnitMegabitsSecond,
3538		UnitGigabitsSecond,
3539		UnitTerabitsSecond,
3540		UnitCountSecond,
3541		UnitNone,
3542	}
3543}
3544
3545const (
3546	// UpdateStatusSuccess is a UpdateStatus enum value
3547	UpdateStatusSuccess = "SUCCESS"
3548
3549	// UpdateStatusPending is a UpdateStatus enum value
3550	UpdateStatusPending = "PENDING"
3551
3552	// UpdateStatusFailed is a UpdateStatus enum value
3553	UpdateStatusFailed = "FAILED"
3554)
3555
3556// UpdateStatus_Values returns all elements of the UpdateStatus enum
3557func UpdateStatus_Values() []string {
3558	return []string{
3559		UpdateStatusSuccess,
3560		UpdateStatusPending,
3561		UpdateStatusFailed,
3562	}
3563}
3564
3565const (
3566	// WebserverAccessModePrivateOnly is a WebserverAccessMode enum value
3567	WebserverAccessModePrivateOnly = "PRIVATE_ONLY"
3568
3569	// WebserverAccessModePublicOnly is a WebserverAccessMode enum value
3570	WebserverAccessModePublicOnly = "PUBLIC_ONLY"
3571)
3572
3573// WebserverAccessMode_Values returns all elements of the WebserverAccessMode enum
3574func WebserverAccessMode_Values() []string {
3575	return []string{
3576		WebserverAccessModePrivateOnly,
3577		WebserverAccessModePublicOnly,
3578	}
3579}
3580