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 name of your MWAA environment.
1207	//
1208	// Name is a required field
1209	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
1210
1211	// The VPC networking components you want to use for your environment. At least
1212	// two private subnet identifiers and one VPC security group identifier are
1213	// required to create an environment. For more information, see Creating the
1214	// VPC network for a MWAA environment (https://docs.aws.amazon.com/mwaa/latest/userguide/vpc-mwaa.html).
1215	//
1216	// NetworkConfiguration is a required field
1217	NetworkConfiguration *NetworkConfiguration `type:"structure" required:"true"`
1218
1219	// The plugins.zip file version you want to use.
1220	PluginsS3ObjectVersion *string `min:"1" type:"string"`
1221
1222	// The relative path to the plugins.zip file on your Amazon S3 storage bucket.
1223	// For example, plugins.zip. If a relative path is provided in the request,
1224	// then PluginsS3ObjectVersion is required. For more information, see Importing
1225	// DAGs on Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html).
1226	PluginsS3Path *string `min:"1" type:"string"`
1227
1228	// The requirements.txt file version you want to use.
1229	RequirementsS3ObjectVersion *string `min:"1" type:"string"`
1230
1231	// The relative path to the requirements.txt file on your Amazon S3 storage
1232	// bucket. For example, requirements.txt. If a relative path is provided in
1233	// the request, then RequirementsS3ObjectVersion is required. For more information,
1234	// see Importing DAGs on Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html).
1235	RequirementsS3Path *string `min:"1" type:"string"`
1236
1237	// The Amazon Resource Name (ARN) of your Amazon S3 storage bucket. For example,
1238	// arn:aws:s3:::airflow-mybucketname.
1239	//
1240	// SourceBucketArn is a required field
1241	SourceBucketArn *string `min:"1" type:"string" required:"true"`
1242
1243	// The metadata tags you want to attach to your environment. For more information,
1244	// see Tagging AWS resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html).
1245	Tags map[string]*string `min:"1" type:"map"`
1246
1247	// The networking access of your Apache Airflow web server. A public network
1248	// allows your Airflow UI to be accessed over the Internet by users granted
1249	// access in your IAM policy. A private network limits access of your Airflow
1250	// UI to users within your VPC. For more information, see Creating the VPC network
1251	// for a MWAA environment (https://docs.aws.amazon.com/mwaa/latest/userguide/vpc-mwaa.html).
1252	WebserverAccessMode *string `type:"string" enum:"WebserverAccessMode"`
1253
1254	// The day and time you want MWAA to start weekly maintenance updates on your
1255	// environment.
1256	WeeklyMaintenanceWindowStart *string `min:"1" type:"string"`
1257}
1258
1259// String returns the string representation
1260func (s CreateEnvironmentInput) String() string {
1261	return awsutil.Prettify(s)
1262}
1263
1264// GoString returns the string representation
1265func (s CreateEnvironmentInput) GoString() string {
1266	return s.String()
1267}
1268
1269// Validate inspects the fields of the type to determine if they are valid.
1270func (s *CreateEnvironmentInput) Validate() error {
1271	invalidParams := request.ErrInvalidParams{Context: "CreateEnvironmentInput"}
1272	if s.AirflowVersion != nil && len(*s.AirflowVersion) < 1 {
1273		invalidParams.Add(request.NewErrParamMinLen("AirflowVersion", 1))
1274	}
1275	if s.DagS3Path == nil {
1276		invalidParams.Add(request.NewErrParamRequired("DagS3Path"))
1277	}
1278	if s.DagS3Path != nil && len(*s.DagS3Path) < 1 {
1279		invalidParams.Add(request.NewErrParamMinLen("DagS3Path", 1))
1280	}
1281	if s.EnvironmentClass != nil && len(*s.EnvironmentClass) < 1 {
1282		invalidParams.Add(request.NewErrParamMinLen("EnvironmentClass", 1))
1283	}
1284	if s.ExecutionRoleArn == nil {
1285		invalidParams.Add(request.NewErrParamRequired("ExecutionRoleArn"))
1286	}
1287	if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 1 {
1288		invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 1))
1289	}
1290	if s.KmsKey != nil && len(*s.KmsKey) < 1 {
1291		invalidParams.Add(request.NewErrParamMinLen("KmsKey", 1))
1292	}
1293	if s.MaxWorkers != nil && *s.MaxWorkers < 1 {
1294		invalidParams.Add(request.NewErrParamMinValue("MaxWorkers", 1))
1295	}
1296	if s.Name == nil {
1297		invalidParams.Add(request.NewErrParamRequired("Name"))
1298	}
1299	if s.Name != nil && len(*s.Name) < 1 {
1300		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
1301	}
1302	if s.NetworkConfiguration == nil {
1303		invalidParams.Add(request.NewErrParamRequired("NetworkConfiguration"))
1304	}
1305	if s.PluginsS3ObjectVersion != nil && len(*s.PluginsS3ObjectVersion) < 1 {
1306		invalidParams.Add(request.NewErrParamMinLen("PluginsS3ObjectVersion", 1))
1307	}
1308	if s.PluginsS3Path != nil && len(*s.PluginsS3Path) < 1 {
1309		invalidParams.Add(request.NewErrParamMinLen("PluginsS3Path", 1))
1310	}
1311	if s.RequirementsS3ObjectVersion != nil && len(*s.RequirementsS3ObjectVersion) < 1 {
1312		invalidParams.Add(request.NewErrParamMinLen("RequirementsS3ObjectVersion", 1))
1313	}
1314	if s.RequirementsS3Path != nil && len(*s.RequirementsS3Path) < 1 {
1315		invalidParams.Add(request.NewErrParamMinLen("RequirementsS3Path", 1))
1316	}
1317	if s.SourceBucketArn == nil {
1318		invalidParams.Add(request.NewErrParamRequired("SourceBucketArn"))
1319	}
1320	if s.SourceBucketArn != nil && len(*s.SourceBucketArn) < 1 {
1321		invalidParams.Add(request.NewErrParamMinLen("SourceBucketArn", 1))
1322	}
1323	if s.Tags != nil && len(s.Tags) < 1 {
1324		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
1325	}
1326	if s.WeeklyMaintenanceWindowStart != nil && len(*s.WeeklyMaintenanceWindowStart) < 1 {
1327		invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceWindowStart", 1))
1328	}
1329	if s.LoggingConfiguration != nil {
1330		if err := s.LoggingConfiguration.Validate(); err != nil {
1331			invalidParams.AddNested("LoggingConfiguration", err.(request.ErrInvalidParams))
1332		}
1333	}
1334	if s.NetworkConfiguration != nil {
1335		if err := s.NetworkConfiguration.Validate(); err != nil {
1336			invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams))
1337		}
1338	}
1339
1340	if invalidParams.Len() > 0 {
1341		return invalidParams
1342	}
1343	return nil
1344}
1345
1346// SetAirflowConfigurationOptions sets the AirflowConfigurationOptions field's value.
1347func (s *CreateEnvironmentInput) SetAirflowConfigurationOptions(v map[string]*string) *CreateEnvironmentInput {
1348	s.AirflowConfigurationOptions = v
1349	return s
1350}
1351
1352// SetAirflowVersion sets the AirflowVersion field's value.
1353func (s *CreateEnvironmentInput) SetAirflowVersion(v string) *CreateEnvironmentInput {
1354	s.AirflowVersion = &v
1355	return s
1356}
1357
1358// SetDagS3Path sets the DagS3Path field's value.
1359func (s *CreateEnvironmentInput) SetDagS3Path(v string) *CreateEnvironmentInput {
1360	s.DagS3Path = &v
1361	return s
1362}
1363
1364// SetEnvironmentClass sets the EnvironmentClass field's value.
1365func (s *CreateEnvironmentInput) SetEnvironmentClass(v string) *CreateEnvironmentInput {
1366	s.EnvironmentClass = &v
1367	return s
1368}
1369
1370// SetExecutionRoleArn sets the ExecutionRoleArn field's value.
1371func (s *CreateEnvironmentInput) SetExecutionRoleArn(v string) *CreateEnvironmentInput {
1372	s.ExecutionRoleArn = &v
1373	return s
1374}
1375
1376// SetKmsKey sets the KmsKey field's value.
1377func (s *CreateEnvironmentInput) SetKmsKey(v string) *CreateEnvironmentInput {
1378	s.KmsKey = &v
1379	return s
1380}
1381
1382// SetLoggingConfiguration sets the LoggingConfiguration field's value.
1383func (s *CreateEnvironmentInput) SetLoggingConfiguration(v *LoggingConfigurationInput) *CreateEnvironmentInput {
1384	s.LoggingConfiguration = v
1385	return s
1386}
1387
1388// SetMaxWorkers sets the MaxWorkers field's value.
1389func (s *CreateEnvironmentInput) SetMaxWorkers(v int64) *CreateEnvironmentInput {
1390	s.MaxWorkers = &v
1391	return s
1392}
1393
1394// SetName sets the Name field's value.
1395func (s *CreateEnvironmentInput) SetName(v string) *CreateEnvironmentInput {
1396	s.Name = &v
1397	return s
1398}
1399
1400// SetNetworkConfiguration sets the NetworkConfiguration field's value.
1401func (s *CreateEnvironmentInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateEnvironmentInput {
1402	s.NetworkConfiguration = v
1403	return s
1404}
1405
1406// SetPluginsS3ObjectVersion sets the PluginsS3ObjectVersion field's value.
1407func (s *CreateEnvironmentInput) SetPluginsS3ObjectVersion(v string) *CreateEnvironmentInput {
1408	s.PluginsS3ObjectVersion = &v
1409	return s
1410}
1411
1412// SetPluginsS3Path sets the PluginsS3Path field's value.
1413func (s *CreateEnvironmentInput) SetPluginsS3Path(v string) *CreateEnvironmentInput {
1414	s.PluginsS3Path = &v
1415	return s
1416}
1417
1418// SetRequirementsS3ObjectVersion sets the RequirementsS3ObjectVersion field's value.
1419func (s *CreateEnvironmentInput) SetRequirementsS3ObjectVersion(v string) *CreateEnvironmentInput {
1420	s.RequirementsS3ObjectVersion = &v
1421	return s
1422}
1423
1424// SetRequirementsS3Path sets the RequirementsS3Path field's value.
1425func (s *CreateEnvironmentInput) SetRequirementsS3Path(v string) *CreateEnvironmentInput {
1426	s.RequirementsS3Path = &v
1427	return s
1428}
1429
1430// SetSourceBucketArn sets the SourceBucketArn field's value.
1431func (s *CreateEnvironmentInput) SetSourceBucketArn(v string) *CreateEnvironmentInput {
1432	s.SourceBucketArn = &v
1433	return s
1434}
1435
1436// SetTags sets the Tags field's value.
1437func (s *CreateEnvironmentInput) SetTags(v map[string]*string) *CreateEnvironmentInput {
1438	s.Tags = v
1439	return s
1440}
1441
1442// SetWebserverAccessMode sets the WebserverAccessMode field's value.
1443func (s *CreateEnvironmentInput) SetWebserverAccessMode(v string) *CreateEnvironmentInput {
1444	s.WebserverAccessMode = &v
1445	return s
1446}
1447
1448// SetWeeklyMaintenanceWindowStart sets the WeeklyMaintenanceWindowStart field's value.
1449func (s *CreateEnvironmentInput) SetWeeklyMaintenanceWindowStart(v string) *CreateEnvironmentInput {
1450	s.WeeklyMaintenanceWindowStart = &v
1451	return s
1452}
1453
1454type CreateEnvironmentOutput struct {
1455	_ struct{} `type:"structure"`
1456
1457	// The resulting Amazon MWAA envirnonment ARN.
1458	Arn *string `min:"1" type:"string"`
1459}
1460
1461// String returns the string representation
1462func (s CreateEnvironmentOutput) String() string {
1463	return awsutil.Prettify(s)
1464}
1465
1466// GoString returns the string representation
1467func (s CreateEnvironmentOutput) GoString() string {
1468	return s.String()
1469}
1470
1471// SetArn sets the Arn field's value.
1472func (s *CreateEnvironmentOutput) SetArn(v string) *CreateEnvironmentOutput {
1473	s.Arn = &v
1474	return s
1475}
1476
1477type CreateWebLoginTokenInput struct {
1478	_ struct{} `type:"structure"`
1479
1480	// Create an Airflow Web UI login token request for a MWAA environment.
1481	//
1482	// Name is a required field
1483	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
1484}
1485
1486// String returns the string representation
1487func (s CreateWebLoginTokenInput) String() string {
1488	return awsutil.Prettify(s)
1489}
1490
1491// GoString returns the string representation
1492func (s CreateWebLoginTokenInput) GoString() string {
1493	return s.String()
1494}
1495
1496// Validate inspects the fields of the type to determine if they are valid.
1497func (s *CreateWebLoginTokenInput) Validate() error {
1498	invalidParams := request.ErrInvalidParams{Context: "CreateWebLoginTokenInput"}
1499	if s.Name == nil {
1500		invalidParams.Add(request.NewErrParamRequired("Name"))
1501	}
1502	if s.Name != nil && len(*s.Name) < 1 {
1503		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
1504	}
1505
1506	if invalidParams.Len() > 0 {
1507		return invalidParams
1508	}
1509	return nil
1510}
1511
1512// SetName sets the Name field's value.
1513func (s *CreateWebLoginTokenInput) SetName(v string) *CreateWebLoginTokenInput {
1514	s.Name = &v
1515	return s
1516}
1517
1518type CreateWebLoginTokenOutput struct {
1519	_ struct{} `type:"structure"`
1520
1521	// Create an Airflow Web UI login token response for the provided webserver
1522	// hostname.
1523	WebServerHostname *string `min:"1" type:"string"`
1524
1525	// Create an Airflow Web UI login token response for the provided JWT token.
1526	WebToken *string `type:"string" sensitive:"true"`
1527}
1528
1529// String returns the string representation
1530func (s CreateWebLoginTokenOutput) String() string {
1531	return awsutil.Prettify(s)
1532}
1533
1534// GoString returns the string representation
1535func (s CreateWebLoginTokenOutput) GoString() string {
1536	return s.String()
1537}
1538
1539// SetWebServerHostname sets the WebServerHostname field's value.
1540func (s *CreateWebLoginTokenOutput) SetWebServerHostname(v string) *CreateWebLoginTokenOutput {
1541	s.WebServerHostname = &v
1542	return s
1543}
1544
1545// SetWebToken sets the WebToken field's value.
1546func (s *CreateWebLoginTokenOutput) SetWebToken(v string) *CreateWebLoginTokenOutput {
1547	s.WebToken = &v
1548	return s
1549}
1550
1551type DeleteEnvironmentInput struct {
1552	_ struct{} `type:"structure"`
1553
1554	// The name of the environment to delete.
1555	//
1556	// Name is a required field
1557	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
1558}
1559
1560// String returns the string representation
1561func (s DeleteEnvironmentInput) String() string {
1562	return awsutil.Prettify(s)
1563}
1564
1565// GoString returns the string representation
1566func (s DeleteEnvironmentInput) GoString() string {
1567	return s.String()
1568}
1569
1570// Validate inspects the fields of the type to determine if they are valid.
1571func (s *DeleteEnvironmentInput) Validate() error {
1572	invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentInput"}
1573	if s.Name == nil {
1574		invalidParams.Add(request.NewErrParamRequired("Name"))
1575	}
1576	if s.Name != nil && len(*s.Name) < 1 {
1577		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
1578	}
1579
1580	if invalidParams.Len() > 0 {
1581		return invalidParams
1582	}
1583	return nil
1584}
1585
1586// SetName sets the Name field's value.
1587func (s *DeleteEnvironmentInput) SetName(v string) *DeleteEnvironmentInput {
1588	s.Name = &v
1589	return s
1590}
1591
1592type DeleteEnvironmentOutput struct {
1593	_ struct{} `type:"structure"`
1594}
1595
1596// String returns the string representation
1597func (s DeleteEnvironmentOutput) String() string {
1598	return awsutil.Prettify(s)
1599}
1600
1601// GoString returns the string representation
1602func (s DeleteEnvironmentOutput) GoString() string {
1603	return s.String()
1604}
1605
1606// Internal only API.
1607type Dimension struct {
1608	_ struct{} `type:"structure"`
1609
1610	// Internal only API.
1611	//
1612	// Name is a required field
1613	Name *string `type:"string" required:"true"`
1614
1615	// Internal only API.
1616	//
1617	// Value is a required field
1618	Value *string `type:"string" required:"true"`
1619}
1620
1621// String returns the string representation
1622func (s Dimension) String() string {
1623	return awsutil.Prettify(s)
1624}
1625
1626// GoString returns the string representation
1627func (s Dimension) GoString() string {
1628	return s.String()
1629}
1630
1631// Validate inspects the fields of the type to determine if they are valid.
1632func (s *Dimension) Validate() error {
1633	invalidParams := request.ErrInvalidParams{Context: "Dimension"}
1634	if s.Name == nil {
1635		invalidParams.Add(request.NewErrParamRequired("Name"))
1636	}
1637	if s.Value == nil {
1638		invalidParams.Add(request.NewErrParamRequired("Value"))
1639	}
1640
1641	if invalidParams.Len() > 0 {
1642		return invalidParams
1643	}
1644	return nil
1645}
1646
1647// SetName sets the Name field's value.
1648func (s *Dimension) SetName(v string) *Dimension {
1649	s.Name = &v
1650	return s
1651}
1652
1653// SetValue sets the Value field's value.
1654func (s *Dimension) SetValue(v string) *Dimension {
1655	s.Value = &v
1656	return s
1657}
1658
1659// An Amazon MWAA environment.
1660type Environment struct {
1661	_ struct{} `type:"structure"`
1662
1663	// The Airflow Configuration Options of the Amazon MWAA Environment.
1664	AirflowConfigurationOptions map[string]*string `type:"map"`
1665
1666	// The AirflowV ersion of the Amazon MWAA Environment.
1667	AirflowVersion *string `min:"1" type:"string"`
1668
1669	// The ARN of the Amazon MWAA Environment.
1670	Arn *string `min:"1" type:"string"`
1671
1672	// The Created At date of the Amazon MWAA Environment.
1673	CreatedAt *time.Time `type:"timestamp"`
1674
1675	// The Dags S3 Path of the Amazon MWAA Environment.
1676	DagS3Path *string `min:"1" type:"string"`
1677
1678	// The Environment Class (size) of the Amazon MWAA Environment.
1679	EnvironmentClass *string `min:"1" type:"string"`
1680
1681	// The Execution Role ARN of the Amazon MWAA Environment.
1682	ExecutionRoleArn *string `min:"1" type:"string"`
1683
1684	// The Kms Key of the Amazon MWAA Environment.
1685	KmsKey *string `min:"1" type:"string"`
1686
1687	// Last update information for the environment.
1688	LastUpdate *LastUpdate `type:"structure"`
1689
1690	// The Logging Configuration of the Amazon MWAA Environment.
1691	LoggingConfiguration *LoggingConfiguration `type:"structure"`
1692
1693	// The Maximum Workers of the Amazon MWAA Environment.
1694	MaxWorkers *int64 `min:"1" type:"integer"`
1695
1696	// The name of the Amazon MWAA Environment.
1697	Name *string `min:"1" type:"string"`
1698
1699	// Provide the security group and subnet IDs for the workers and scheduler.
1700	NetworkConfiguration *NetworkConfiguration `type:"structure"`
1701
1702	// The Plugins.zip S3 Object Version of the Amazon MWAA Environment.
1703	PluginsS3ObjectVersion *string `min:"1" type:"string"`
1704
1705	// The Plugins.zip S3 Path of the Amazon MWAA Environment.
1706	PluginsS3Path *string `min:"1" type:"string"`
1707
1708	// The Requirements.txt file S3 Object Version of the Amazon MWAA Environment.
1709	RequirementsS3ObjectVersion *string `min:"1" type:"string"`
1710
1711	// The Requirement.txt S3 Path of the Amazon MWAA Environment.
1712	RequirementsS3Path *string `min:"1" type:"string"`
1713
1714	// The Service Role ARN of the Amazon MWAA Environment.
1715	ServiceRoleArn *string `min:"1" type:"string"`
1716
1717	// The Source S3 Bucket ARN of the Amazon MWAA Environment.
1718	SourceBucketArn *string `min:"1" type:"string"`
1719
1720	// The status of the Amazon MWAA Environment.
1721	Status *string `type:"string" enum:"EnvironmentStatus"`
1722
1723	// The Tags of the Amazon MWAA Environment.
1724	Tags map[string]*string `min:"1" type:"map"`
1725
1726	// The Webserver Access Mode of the Amazon MWAA Environment (public or private
1727	// only).
1728	WebserverAccessMode *string `type:"string" enum:"WebserverAccessMode"`
1729
1730	// The Webserver URL of the Amazon MWAA Environment.
1731	WebserverUrl *string `min:"1" type:"string"`
1732
1733	// The Weekly Maintenance Window Start of the Amazon MWAA Environment.
1734	WeeklyMaintenanceWindowStart *string `min:"1" type:"string"`
1735}
1736
1737// String returns the string representation
1738func (s Environment) String() string {
1739	return awsutil.Prettify(s)
1740}
1741
1742// GoString returns the string representation
1743func (s Environment) GoString() string {
1744	return s.String()
1745}
1746
1747// SetAirflowConfigurationOptions sets the AirflowConfigurationOptions field's value.
1748func (s *Environment) SetAirflowConfigurationOptions(v map[string]*string) *Environment {
1749	s.AirflowConfigurationOptions = v
1750	return s
1751}
1752
1753// SetAirflowVersion sets the AirflowVersion field's value.
1754func (s *Environment) SetAirflowVersion(v string) *Environment {
1755	s.AirflowVersion = &v
1756	return s
1757}
1758
1759// SetArn sets the Arn field's value.
1760func (s *Environment) SetArn(v string) *Environment {
1761	s.Arn = &v
1762	return s
1763}
1764
1765// SetCreatedAt sets the CreatedAt field's value.
1766func (s *Environment) SetCreatedAt(v time.Time) *Environment {
1767	s.CreatedAt = &v
1768	return s
1769}
1770
1771// SetDagS3Path sets the DagS3Path field's value.
1772func (s *Environment) SetDagS3Path(v string) *Environment {
1773	s.DagS3Path = &v
1774	return s
1775}
1776
1777// SetEnvironmentClass sets the EnvironmentClass field's value.
1778func (s *Environment) SetEnvironmentClass(v string) *Environment {
1779	s.EnvironmentClass = &v
1780	return s
1781}
1782
1783// SetExecutionRoleArn sets the ExecutionRoleArn field's value.
1784func (s *Environment) SetExecutionRoleArn(v string) *Environment {
1785	s.ExecutionRoleArn = &v
1786	return s
1787}
1788
1789// SetKmsKey sets the KmsKey field's value.
1790func (s *Environment) SetKmsKey(v string) *Environment {
1791	s.KmsKey = &v
1792	return s
1793}
1794
1795// SetLastUpdate sets the LastUpdate field's value.
1796func (s *Environment) SetLastUpdate(v *LastUpdate) *Environment {
1797	s.LastUpdate = v
1798	return s
1799}
1800
1801// SetLoggingConfiguration sets the LoggingConfiguration field's value.
1802func (s *Environment) SetLoggingConfiguration(v *LoggingConfiguration) *Environment {
1803	s.LoggingConfiguration = v
1804	return s
1805}
1806
1807// SetMaxWorkers sets the MaxWorkers field's value.
1808func (s *Environment) SetMaxWorkers(v int64) *Environment {
1809	s.MaxWorkers = &v
1810	return s
1811}
1812
1813// SetName sets the Name field's value.
1814func (s *Environment) SetName(v string) *Environment {
1815	s.Name = &v
1816	return s
1817}
1818
1819// SetNetworkConfiguration sets the NetworkConfiguration field's value.
1820func (s *Environment) SetNetworkConfiguration(v *NetworkConfiguration) *Environment {
1821	s.NetworkConfiguration = v
1822	return s
1823}
1824
1825// SetPluginsS3ObjectVersion sets the PluginsS3ObjectVersion field's value.
1826func (s *Environment) SetPluginsS3ObjectVersion(v string) *Environment {
1827	s.PluginsS3ObjectVersion = &v
1828	return s
1829}
1830
1831// SetPluginsS3Path sets the PluginsS3Path field's value.
1832func (s *Environment) SetPluginsS3Path(v string) *Environment {
1833	s.PluginsS3Path = &v
1834	return s
1835}
1836
1837// SetRequirementsS3ObjectVersion sets the RequirementsS3ObjectVersion field's value.
1838func (s *Environment) SetRequirementsS3ObjectVersion(v string) *Environment {
1839	s.RequirementsS3ObjectVersion = &v
1840	return s
1841}
1842
1843// SetRequirementsS3Path sets the RequirementsS3Path field's value.
1844func (s *Environment) SetRequirementsS3Path(v string) *Environment {
1845	s.RequirementsS3Path = &v
1846	return s
1847}
1848
1849// SetServiceRoleArn sets the ServiceRoleArn field's value.
1850func (s *Environment) SetServiceRoleArn(v string) *Environment {
1851	s.ServiceRoleArn = &v
1852	return s
1853}
1854
1855// SetSourceBucketArn sets the SourceBucketArn field's value.
1856func (s *Environment) SetSourceBucketArn(v string) *Environment {
1857	s.SourceBucketArn = &v
1858	return s
1859}
1860
1861// SetStatus sets the Status field's value.
1862func (s *Environment) SetStatus(v string) *Environment {
1863	s.Status = &v
1864	return s
1865}
1866
1867// SetTags sets the Tags field's value.
1868func (s *Environment) SetTags(v map[string]*string) *Environment {
1869	s.Tags = v
1870	return s
1871}
1872
1873// SetWebserverAccessMode sets the WebserverAccessMode field's value.
1874func (s *Environment) SetWebserverAccessMode(v string) *Environment {
1875	s.WebserverAccessMode = &v
1876	return s
1877}
1878
1879// SetWebserverUrl sets the WebserverUrl field's value.
1880func (s *Environment) SetWebserverUrl(v string) *Environment {
1881	s.WebserverUrl = &v
1882	return s
1883}
1884
1885// SetWeeklyMaintenanceWindowStart sets the WeeklyMaintenanceWindowStart field's value.
1886func (s *Environment) SetWeeklyMaintenanceWindowStart(v string) *Environment {
1887	s.WeeklyMaintenanceWindowStart = &v
1888	return s
1889}
1890
1891type GetEnvironmentInput struct {
1892	_ struct{} `type:"structure"`
1893
1894	// The name of the environment to retrieve.
1895	//
1896	// Name is a required field
1897	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
1898}
1899
1900// String returns the string representation
1901func (s GetEnvironmentInput) String() string {
1902	return awsutil.Prettify(s)
1903}
1904
1905// GoString returns the string representation
1906func (s GetEnvironmentInput) GoString() string {
1907	return s.String()
1908}
1909
1910// Validate inspects the fields of the type to determine if they are valid.
1911func (s *GetEnvironmentInput) Validate() error {
1912	invalidParams := request.ErrInvalidParams{Context: "GetEnvironmentInput"}
1913	if s.Name == nil {
1914		invalidParams.Add(request.NewErrParamRequired("Name"))
1915	}
1916	if s.Name != nil && len(*s.Name) < 1 {
1917		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
1918	}
1919
1920	if invalidParams.Len() > 0 {
1921		return invalidParams
1922	}
1923	return nil
1924}
1925
1926// SetName sets the Name field's value.
1927func (s *GetEnvironmentInput) SetName(v string) *GetEnvironmentInput {
1928	s.Name = &v
1929	return s
1930}
1931
1932type GetEnvironmentOutput struct {
1933	_ struct{} `type:"structure"`
1934
1935	// A JSON blob with environment details.
1936	Environment *Environment `type:"structure"`
1937}
1938
1939// String returns the string representation
1940func (s GetEnvironmentOutput) String() string {
1941	return awsutil.Prettify(s)
1942}
1943
1944// GoString returns the string representation
1945func (s GetEnvironmentOutput) GoString() string {
1946	return s.String()
1947}
1948
1949// SetEnvironment sets the Environment field's value.
1950func (s *GetEnvironmentOutput) SetEnvironment(v *Environment) *GetEnvironmentOutput {
1951	s.Environment = v
1952	return s
1953}
1954
1955// InternalServerException: An internal error has occurred.
1956type InternalServerException struct {
1957	_            struct{}                  `type:"structure"`
1958	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1959
1960	Message_ *string `locationName:"message" type:"string"`
1961}
1962
1963// String returns the string representation
1964func (s InternalServerException) String() string {
1965	return awsutil.Prettify(s)
1966}
1967
1968// GoString returns the string representation
1969func (s InternalServerException) GoString() string {
1970	return s.String()
1971}
1972
1973func newErrorInternalServerException(v protocol.ResponseMetadata) error {
1974	return &InternalServerException{
1975		RespMetadata: v,
1976	}
1977}
1978
1979// Code returns the exception type name.
1980func (s *InternalServerException) Code() string {
1981	return "InternalServerException"
1982}
1983
1984// Message returns the exception's message.
1985func (s *InternalServerException) Message() string {
1986	if s.Message_ != nil {
1987		return *s.Message_
1988	}
1989	return ""
1990}
1991
1992// OrigErr always returns nil, satisfies awserr.Error interface.
1993func (s *InternalServerException) OrigErr() error {
1994	return nil
1995}
1996
1997func (s *InternalServerException) Error() string {
1998	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1999}
2000
2001// Status code returns the HTTP status code for the request's response error.
2002func (s *InternalServerException) StatusCode() int {
2003	return s.RespMetadata.StatusCode
2004}
2005
2006// RequestID returns the service's response RequestID for request.
2007func (s *InternalServerException) RequestID() string {
2008	return s.RespMetadata.RequestID
2009}
2010
2011// Last update information for the environment.
2012type LastUpdate struct {
2013	_ struct{} `type:"structure"`
2014
2015	// Time that last update occurred.
2016	CreatedAt *time.Time `type:"timestamp"`
2017
2018	// Error string of last update, if applicable.
2019	Error *UpdateError `type:"structure"`
2020
2021	// Status of last update of SUCCESS, FAILED, CREATING, DELETING.
2022	Status *string `type:"string" enum:"UpdateStatus"`
2023}
2024
2025// String returns the string representation
2026func (s LastUpdate) String() string {
2027	return awsutil.Prettify(s)
2028}
2029
2030// GoString returns the string representation
2031func (s LastUpdate) GoString() string {
2032	return s.String()
2033}
2034
2035// SetCreatedAt sets the CreatedAt field's value.
2036func (s *LastUpdate) SetCreatedAt(v time.Time) *LastUpdate {
2037	s.CreatedAt = &v
2038	return s
2039}
2040
2041// SetError sets the Error field's value.
2042func (s *LastUpdate) SetError(v *UpdateError) *LastUpdate {
2043	s.Error = v
2044	return s
2045}
2046
2047// SetStatus sets the Status field's value.
2048func (s *LastUpdate) SetStatus(v string) *LastUpdate {
2049	s.Status = &v
2050	return s
2051}
2052
2053type ListEnvironmentsInput struct {
2054	_ struct{} `type:"structure"`
2055
2056	// The maximum results when listing MWAA environments.
2057	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
2058
2059	// The Next Token when listing MWAA environments.
2060	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
2061}
2062
2063// String returns the string representation
2064func (s ListEnvironmentsInput) String() string {
2065	return awsutil.Prettify(s)
2066}
2067
2068// GoString returns the string representation
2069func (s ListEnvironmentsInput) GoString() string {
2070	return s.String()
2071}
2072
2073// Validate inspects the fields of the type to determine if they are valid.
2074func (s *ListEnvironmentsInput) Validate() error {
2075	invalidParams := request.ErrInvalidParams{Context: "ListEnvironmentsInput"}
2076	if s.MaxResults != nil && *s.MaxResults < 1 {
2077		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
2078	}
2079
2080	if invalidParams.Len() > 0 {
2081		return invalidParams
2082	}
2083	return nil
2084}
2085
2086// SetMaxResults sets the MaxResults field's value.
2087func (s *ListEnvironmentsInput) SetMaxResults(v int64) *ListEnvironmentsInput {
2088	s.MaxResults = &v
2089	return s
2090}
2091
2092// SetNextToken sets the NextToken field's value.
2093func (s *ListEnvironmentsInput) SetNextToken(v string) *ListEnvironmentsInput {
2094	s.NextToken = &v
2095	return s
2096}
2097
2098type ListEnvironmentsOutput struct {
2099	_ struct{} `type:"structure"`
2100
2101	// The list of Amazon MWAA Environments.
2102	//
2103	// Environments is a required field
2104	Environments []*string `type:"list" required:"true"`
2105
2106	// The Next Token when listing MWAA environments.
2107	NextToken *string `type:"string"`
2108}
2109
2110// String returns the string representation
2111func (s ListEnvironmentsOutput) String() string {
2112	return awsutil.Prettify(s)
2113}
2114
2115// GoString returns the string representation
2116func (s ListEnvironmentsOutput) GoString() string {
2117	return s.String()
2118}
2119
2120// SetEnvironments sets the Environments field's value.
2121func (s *ListEnvironmentsOutput) SetEnvironments(v []*string) *ListEnvironmentsOutput {
2122	s.Environments = v
2123	return s
2124}
2125
2126// SetNextToken sets the NextToken field's value.
2127func (s *ListEnvironmentsOutput) SetNextToken(v string) *ListEnvironmentsOutput {
2128	s.NextToken = &v
2129	return s
2130}
2131
2132type ListTagsForResourceInput struct {
2133	_ struct{} `type:"structure"`
2134
2135	// The ARN of the MWAA environment.
2136	//
2137	// ResourceArn is a required field
2138	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"1" type:"string" required:"true"`
2139}
2140
2141// String returns the string representation
2142func (s ListTagsForResourceInput) String() string {
2143	return awsutil.Prettify(s)
2144}
2145
2146// GoString returns the string representation
2147func (s ListTagsForResourceInput) GoString() string {
2148	return s.String()
2149}
2150
2151// Validate inspects the fields of the type to determine if they are valid.
2152func (s *ListTagsForResourceInput) Validate() error {
2153	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
2154	if s.ResourceArn == nil {
2155		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
2156	}
2157	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
2158		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
2159	}
2160
2161	if invalidParams.Len() > 0 {
2162		return invalidParams
2163	}
2164	return nil
2165}
2166
2167// SetResourceArn sets the ResourceArn field's value.
2168func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
2169	s.ResourceArn = &v
2170	return s
2171}
2172
2173type ListTagsForResourceOutput struct {
2174	_ struct{} `type:"structure"`
2175
2176	// The tags of the MWAA environments.
2177	Tags map[string]*string `min:"1" type:"map"`
2178}
2179
2180// String returns the string representation
2181func (s ListTagsForResourceOutput) String() string {
2182	return awsutil.Prettify(s)
2183}
2184
2185// GoString returns the string representation
2186func (s ListTagsForResourceOutput) GoString() string {
2187	return s.String()
2188}
2189
2190// SetTags sets the Tags field's value.
2191func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
2192	s.Tags = v
2193	return s
2194}
2195
2196// The Logging Configuration of your Amazon MWAA environment.
2197type LoggingConfiguration struct {
2198	_ struct{} `type:"structure"`
2199
2200	// A JSON blob that provides configuration to use for logging with respect to
2201	// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2202	// WebserverLogs, and WorkerLogs.
2203	DagProcessingLogs *ModuleLoggingConfiguration `type:"structure"`
2204
2205	// A JSON blob that provides configuration to use for logging with respect to
2206	// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2207	// WebserverLogs, and WorkerLogs.
2208	SchedulerLogs *ModuleLoggingConfiguration `type:"structure"`
2209
2210	// A JSON blob that provides configuration to use for logging with respect to
2211	// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2212	// WebserverLogs, and WorkerLogs.
2213	TaskLogs *ModuleLoggingConfiguration `type:"structure"`
2214
2215	// A JSON blob that provides configuration to use for logging with respect to
2216	// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2217	// WebserverLogs, and WorkerLogs.
2218	WebserverLogs *ModuleLoggingConfiguration `type:"structure"`
2219
2220	// A JSON blob that provides configuration to use for logging with respect to
2221	// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2222	// WebserverLogs, and WorkerLogs.
2223	WorkerLogs *ModuleLoggingConfiguration `type:"structure"`
2224}
2225
2226// String returns the string representation
2227func (s LoggingConfiguration) String() string {
2228	return awsutil.Prettify(s)
2229}
2230
2231// GoString returns the string representation
2232func (s LoggingConfiguration) GoString() string {
2233	return s.String()
2234}
2235
2236// SetDagProcessingLogs sets the DagProcessingLogs field's value.
2237func (s *LoggingConfiguration) SetDagProcessingLogs(v *ModuleLoggingConfiguration) *LoggingConfiguration {
2238	s.DagProcessingLogs = v
2239	return s
2240}
2241
2242// SetSchedulerLogs sets the SchedulerLogs field's value.
2243func (s *LoggingConfiguration) SetSchedulerLogs(v *ModuleLoggingConfiguration) *LoggingConfiguration {
2244	s.SchedulerLogs = v
2245	return s
2246}
2247
2248// SetTaskLogs sets the TaskLogs field's value.
2249func (s *LoggingConfiguration) SetTaskLogs(v *ModuleLoggingConfiguration) *LoggingConfiguration {
2250	s.TaskLogs = v
2251	return s
2252}
2253
2254// SetWebserverLogs sets the WebserverLogs field's value.
2255func (s *LoggingConfiguration) SetWebserverLogs(v *ModuleLoggingConfiguration) *LoggingConfiguration {
2256	s.WebserverLogs = v
2257	return s
2258}
2259
2260// SetWorkerLogs sets the WorkerLogs field's value.
2261func (s *LoggingConfiguration) SetWorkerLogs(v *ModuleLoggingConfiguration) *LoggingConfiguration {
2262	s.WorkerLogs = v
2263	return s
2264}
2265
2266// The Logging Configuration of your Amazon MWAA environment.
2267type LoggingConfigurationInput struct {
2268	_ struct{} `type:"structure"`
2269
2270	// A JSON blob that provides configuration to use for logging with respect to
2271	// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2272	// WebserverLogs, and WorkerLogs.
2273	DagProcessingLogs *ModuleLoggingConfigurationInput `type:"structure"`
2274
2275	// A JSON blob that provides configuration to use for logging with respect to
2276	// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2277	// WebserverLogs, and WorkerLogs.
2278	SchedulerLogs *ModuleLoggingConfigurationInput `type:"structure"`
2279
2280	// A JSON blob that provides configuration to use for logging with respect to
2281	// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2282	// WebserverLogs, and WorkerLogs.
2283	TaskLogs *ModuleLoggingConfigurationInput `type:"structure"`
2284
2285	// A JSON blob that provides configuration to use for logging with respect to
2286	// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2287	// WebserverLogs, and WorkerLogs.
2288	WebserverLogs *ModuleLoggingConfigurationInput `type:"structure"`
2289
2290	// A JSON blob that provides configuration to use for logging with respect to
2291	// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2292	// WebserverLogs, and WorkerLogs.
2293	WorkerLogs *ModuleLoggingConfigurationInput `type:"structure"`
2294}
2295
2296// String returns the string representation
2297func (s LoggingConfigurationInput) String() string {
2298	return awsutil.Prettify(s)
2299}
2300
2301// GoString returns the string representation
2302func (s LoggingConfigurationInput) GoString() string {
2303	return s.String()
2304}
2305
2306// Validate inspects the fields of the type to determine if they are valid.
2307func (s *LoggingConfigurationInput) Validate() error {
2308	invalidParams := request.ErrInvalidParams{Context: "LoggingConfigurationInput"}
2309	if s.DagProcessingLogs != nil {
2310		if err := s.DagProcessingLogs.Validate(); err != nil {
2311			invalidParams.AddNested("DagProcessingLogs", err.(request.ErrInvalidParams))
2312		}
2313	}
2314	if s.SchedulerLogs != nil {
2315		if err := s.SchedulerLogs.Validate(); err != nil {
2316			invalidParams.AddNested("SchedulerLogs", err.(request.ErrInvalidParams))
2317		}
2318	}
2319	if s.TaskLogs != nil {
2320		if err := s.TaskLogs.Validate(); err != nil {
2321			invalidParams.AddNested("TaskLogs", err.(request.ErrInvalidParams))
2322		}
2323	}
2324	if s.WebserverLogs != nil {
2325		if err := s.WebserverLogs.Validate(); err != nil {
2326			invalidParams.AddNested("WebserverLogs", err.(request.ErrInvalidParams))
2327		}
2328	}
2329	if s.WorkerLogs != nil {
2330		if err := s.WorkerLogs.Validate(); err != nil {
2331			invalidParams.AddNested("WorkerLogs", err.(request.ErrInvalidParams))
2332		}
2333	}
2334
2335	if invalidParams.Len() > 0 {
2336		return invalidParams
2337	}
2338	return nil
2339}
2340
2341// SetDagProcessingLogs sets the DagProcessingLogs field's value.
2342func (s *LoggingConfigurationInput) SetDagProcessingLogs(v *ModuleLoggingConfigurationInput) *LoggingConfigurationInput {
2343	s.DagProcessingLogs = v
2344	return s
2345}
2346
2347// SetSchedulerLogs sets the SchedulerLogs field's value.
2348func (s *LoggingConfigurationInput) SetSchedulerLogs(v *ModuleLoggingConfigurationInput) *LoggingConfigurationInput {
2349	s.SchedulerLogs = v
2350	return s
2351}
2352
2353// SetTaskLogs sets the TaskLogs field's value.
2354func (s *LoggingConfigurationInput) SetTaskLogs(v *ModuleLoggingConfigurationInput) *LoggingConfigurationInput {
2355	s.TaskLogs = v
2356	return s
2357}
2358
2359// SetWebserverLogs sets the WebserverLogs field's value.
2360func (s *LoggingConfigurationInput) SetWebserverLogs(v *ModuleLoggingConfigurationInput) *LoggingConfigurationInput {
2361	s.WebserverLogs = v
2362	return s
2363}
2364
2365// SetWorkerLogs sets the WorkerLogs field's value.
2366func (s *LoggingConfigurationInput) SetWorkerLogs(v *ModuleLoggingConfigurationInput) *LoggingConfigurationInput {
2367	s.WorkerLogs = v
2368	return s
2369}
2370
2371// Internal only API.
2372type MetricDatum struct {
2373	_ struct{} `type:"structure"`
2374
2375	// Internal only API.
2376	Dimensions []*Dimension `type:"list"`
2377
2378	// Internal only API.
2379	//
2380	// MetricName is a required field
2381	MetricName *string `type:"string" required:"true"`
2382
2383	// Internal only API.
2384	StatisticValues *StatisticSet `type:"structure"`
2385
2386	// Internal only API.
2387	//
2388	// Timestamp is a required field
2389	Timestamp *time.Time `type:"timestamp" required:"true"`
2390
2391	// Unit
2392	Unit *string `type:"string" enum:"Unit"`
2393
2394	// Internal only API.
2395	Value *float64 `type:"double"`
2396}
2397
2398// String returns the string representation
2399func (s MetricDatum) String() string {
2400	return awsutil.Prettify(s)
2401}
2402
2403// GoString returns the string representation
2404func (s MetricDatum) GoString() string {
2405	return s.String()
2406}
2407
2408// Validate inspects the fields of the type to determine if they are valid.
2409func (s *MetricDatum) Validate() error {
2410	invalidParams := request.ErrInvalidParams{Context: "MetricDatum"}
2411	if s.MetricName == nil {
2412		invalidParams.Add(request.NewErrParamRequired("MetricName"))
2413	}
2414	if s.Timestamp == nil {
2415		invalidParams.Add(request.NewErrParamRequired("Timestamp"))
2416	}
2417	if s.Dimensions != nil {
2418		for i, v := range s.Dimensions {
2419			if v == nil {
2420				continue
2421			}
2422			if err := v.Validate(); err != nil {
2423				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
2424			}
2425		}
2426	}
2427
2428	if invalidParams.Len() > 0 {
2429		return invalidParams
2430	}
2431	return nil
2432}
2433
2434// SetDimensions sets the Dimensions field's value.
2435func (s *MetricDatum) SetDimensions(v []*Dimension) *MetricDatum {
2436	s.Dimensions = v
2437	return s
2438}
2439
2440// SetMetricName sets the MetricName field's value.
2441func (s *MetricDatum) SetMetricName(v string) *MetricDatum {
2442	s.MetricName = &v
2443	return s
2444}
2445
2446// SetStatisticValues sets the StatisticValues field's value.
2447func (s *MetricDatum) SetStatisticValues(v *StatisticSet) *MetricDatum {
2448	s.StatisticValues = v
2449	return s
2450}
2451
2452// SetTimestamp sets the Timestamp field's value.
2453func (s *MetricDatum) SetTimestamp(v time.Time) *MetricDatum {
2454	s.Timestamp = &v
2455	return s
2456}
2457
2458// SetUnit sets the Unit field's value.
2459func (s *MetricDatum) SetUnit(v string) *MetricDatum {
2460	s.Unit = &v
2461	return s
2462}
2463
2464// SetValue sets the Value field's value.
2465func (s *MetricDatum) SetValue(v float64) *MetricDatum {
2466	s.Value = &v
2467	return s
2468}
2469
2470// A JSON blob that provides configuration to use for logging with respect to
2471// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2472// WebserverLogs, and WorkerLogs.
2473type ModuleLoggingConfiguration struct {
2474	_ struct{} `type:"structure"`
2475
2476	// Provides the ARN for the CloudWatch group where the logs will be published.
2477	CloudWatchLogGroupArn *string `min:"1" type:"string"`
2478
2479	// Defines that the logging module is enabled.
2480	Enabled *bool `type:"boolean"`
2481
2482	// Defines the log level, which can be CRITICAL, ERROR, WARNING, or INFO.
2483	LogLevel *string `type:"string" enum:"LoggingLevel"`
2484}
2485
2486// String returns the string representation
2487func (s ModuleLoggingConfiguration) String() string {
2488	return awsutil.Prettify(s)
2489}
2490
2491// GoString returns the string representation
2492func (s ModuleLoggingConfiguration) GoString() string {
2493	return s.String()
2494}
2495
2496// SetCloudWatchLogGroupArn sets the CloudWatchLogGroupArn field's value.
2497func (s *ModuleLoggingConfiguration) SetCloudWatchLogGroupArn(v string) *ModuleLoggingConfiguration {
2498	s.CloudWatchLogGroupArn = &v
2499	return s
2500}
2501
2502// SetEnabled sets the Enabled field's value.
2503func (s *ModuleLoggingConfiguration) SetEnabled(v bool) *ModuleLoggingConfiguration {
2504	s.Enabled = &v
2505	return s
2506}
2507
2508// SetLogLevel sets the LogLevel field's value.
2509func (s *ModuleLoggingConfiguration) SetLogLevel(v string) *ModuleLoggingConfiguration {
2510	s.LogLevel = &v
2511	return s
2512}
2513
2514// A JSON blob that provides configuration to use for logging with respect to
2515// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs,
2516// WebserverLogs, and WorkerLogs.
2517type ModuleLoggingConfigurationInput struct {
2518	_ struct{} `type:"structure"`
2519
2520	// Defines that the logging module is enabled.
2521	//
2522	// Enabled is a required field
2523	Enabled *bool `type:"boolean" required:"true"`
2524
2525	// Defines the log level, which can be CRITICAL, ERROR, WARNING, or INFO.
2526	//
2527	// LogLevel is a required field
2528	LogLevel *string `type:"string" required:"true" enum:"LoggingLevel"`
2529}
2530
2531// String returns the string representation
2532func (s ModuleLoggingConfigurationInput) String() string {
2533	return awsutil.Prettify(s)
2534}
2535
2536// GoString returns the string representation
2537func (s ModuleLoggingConfigurationInput) GoString() string {
2538	return s.String()
2539}
2540
2541// Validate inspects the fields of the type to determine if they are valid.
2542func (s *ModuleLoggingConfigurationInput) Validate() error {
2543	invalidParams := request.ErrInvalidParams{Context: "ModuleLoggingConfigurationInput"}
2544	if s.Enabled == nil {
2545		invalidParams.Add(request.NewErrParamRequired("Enabled"))
2546	}
2547	if s.LogLevel == nil {
2548		invalidParams.Add(request.NewErrParamRequired("LogLevel"))
2549	}
2550
2551	if invalidParams.Len() > 0 {
2552		return invalidParams
2553	}
2554	return nil
2555}
2556
2557// SetEnabled sets the Enabled field's value.
2558func (s *ModuleLoggingConfigurationInput) SetEnabled(v bool) *ModuleLoggingConfigurationInput {
2559	s.Enabled = &v
2560	return s
2561}
2562
2563// SetLogLevel sets the LogLevel field's value.
2564func (s *ModuleLoggingConfigurationInput) SetLogLevel(v string) *ModuleLoggingConfigurationInput {
2565	s.LogLevel = &v
2566	return s
2567}
2568
2569// Provide the security group and subnet IDs for the workers and scheduler.
2570type NetworkConfiguration struct {
2571	_ struct{} `type:"structure"`
2572
2573	// A JSON list of 1 or more security groups IDs by name, in the same VPC as
2574	// the subnets.
2575	SecurityGroupIds []*string `min:"1" type:"list"`
2576
2577	// Provide a JSON list of 2 subnet IDs by name. These must be private subnets,
2578	// in the same VPC, in two different availability zones.
2579	SubnetIds []*string `min:"2" type:"list"`
2580}
2581
2582// String returns the string representation
2583func (s NetworkConfiguration) String() string {
2584	return awsutil.Prettify(s)
2585}
2586
2587// GoString returns the string representation
2588func (s NetworkConfiguration) GoString() string {
2589	return s.String()
2590}
2591
2592// Validate inspects the fields of the type to determine if they are valid.
2593func (s *NetworkConfiguration) Validate() error {
2594	invalidParams := request.ErrInvalidParams{Context: "NetworkConfiguration"}
2595	if s.SecurityGroupIds != nil && len(s.SecurityGroupIds) < 1 {
2596		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIds", 1))
2597	}
2598	if s.SubnetIds != nil && len(s.SubnetIds) < 2 {
2599		invalidParams.Add(request.NewErrParamMinLen("SubnetIds", 2))
2600	}
2601
2602	if invalidParams.Len() > 0 {
2603		return invalidParams
2604	}
2605	return nil
2606}
2607
2608// SetSecurityGroupIds sets the SecurityGroupIds field's value.
2609func (s *NetworkConfiguration) SetSecurityGroupIds(v []*string) *NetworkConfiguration {
2610	s.SecurityGroupIds = v
2611	return s
2612}
2613
2614// SetSubnetIds sets the SubnetIds field's value.
2615func (s *NetworkConfiguration) SetSubnetIds(v []*string) *NetworkConfiguration {
2616	s.SubnetIds = v
2617	return s
2618}
2619
2620type PublishMetricsInput struct {
2621	_ struct{} `type:"structure"`
2622
2623	// Publishes environment metric data to Amazon CloudWatch.
2624	//
2625	// EnvironmentName is a required field
2626	EnvironmentName *string `location:"uri" locationName:"EnvironmentName" min:"1" type:"string" required:"true"`
2627
2628	// Publishes metric data points to Amazon CloudWatch. CloudWatch associates
2629	// the data points with the specified metrica.
2630	//
2631	// MetricData is a required field
2632	MetricData []*MetricDatum `type:"list" required:"true"`
2633}
2634
2635// String returns the string representation
2636func (s PublishMetricsInput) String() string {
2637	return awsutil.Prettify(s)
2638}
2639
2640// GoString returns the string representation
2641func (s PublishMetricsInput) GoString() string {
2642	return s.String()
2643}
2644
2645// Validate inspects the fields of the type to determine if they are valid.
2646func (s *PublishMetricsInput) Validate() error {
2647	invalidParams := request.ErrInvalidParams{Context: "PublishMetricsInput"}
2648	if s.EnvironmentName == nil {
2649		invalidParams.Add(request.NewErrParamRequired("EnvironmentName"))
2650	}
2651	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 1 {
2652		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 1))
2653	}
2654	if s.MetricData == nil {
2655		invalidParams.Add(request.NewErrParamRequired("MetricData"))
2656	}
2657	if s.MetricData != nil {
2658		for i, v := range s.MetricData {
2659			if v == nil {
2660				continue
2661			}
2662			if err := v.Validate(); err != nil {
2663				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MetricData", i), err.(request.ErrInvalidParams))
2664			}
2665		}
2666	}
2667
2668	if invalidParams.Len() > 0 {
2669		return invalidParams
2670	}
2671	return nil
2672}
2673
2674// SetEnvironmentName sets the EnvironmentName field's value.
2675func (s *PublishMetricsInput) SetEnvironmentName(v string) *PublishMetricsInput {
2676	s.EnvironmentName = &v
2677	return s
2678}
2679
2680// SetMetricData sets the MetricData field's value.
2681func (s *PublishMetricsInput) SetMetricData(v []*MetricDatum) *PublishMetricsInput {
2682	s.MetricData = v
2683	return s
2684}
2685
2686type PublishMetricsOutput struct {
2687	_ struct{} `type:"structure"`
2688}
2689
2690// String returns the string representation
2691func (s PublishMetricsOutput) String() string {
2692	return awsutil.Prettify(s)
2693}
2694
2695// GoString returns the string representation
2696func (s PublishMetricsOutput) GoString() string {
2697	return s.String()
2698}
2699
2700// ResourceNotFoundException: The resource is not available.
2701type ResourceNotFoundException struct {
2702	_            struct{}                  `type:"structure"`
2703	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2704
2705	Message_ *string `locationName:"message" type:"string"`
2706}
2707
2708// String returns the string representation
2709func (s ResourceNotFoundException) String() string {
2710	return awsutil.Prettify(s)
2711}
2712
2713// GoString returns the string representation
2714func (s ResourceNotFoundException) GoString() string {
2715	return s.String()
2716}
2717
2718func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
2719	return &ResourceNotFoundException{
2720		RespMetadata: v,
2721	}
2722}
2723
2724// Code returns the exception type name.
2725func (s *ResourceNotFoundException) Code() string {
2726	return "ResourceNotFoundException"
2727}
2728
2729// Message returns the exception's message.
2730func (s *ResourceNotFoundException) Message() string {
2731	if s.Message_ != nil {
2732		return *s.Message_
2733	}
2734	return ""
2735}
2736
2737// OrigErr always returns nil, satisfies awserr.Error interface.
2738func (s *ResourceNotFoundException) OrigErr() error {
2739	return nil
2740}
2741
2742func (s *ResourceNotFoundException) Error() string {
2743	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2744}
2745
2746// Status code returns the HTTP status code for the request's response error.
2747func (s *ResourceNotFoundException) StatusCode() int {
2748	return s.RespMetadata.StatusCode
2749}
2750
2751// RequestID returns the service's response RequestID for request.
2752func (s *ResourceNotFoundException) RequestID() string {
2753	return s.RespMetadata.RequestID
2754}
2755
2756// Internal only API.
2757type StatisticSet struct {
2758	_ struct{} `type:"structure"`
2759
2760	// Internal only API.
2761	Maximum *float64 `type:"double"`
2762
2763	// Internal only API.
2764	Minimum *float64 `type:"double"`
2765
2766	// Internal only API.
2767	SampleCount *int64 `type:"integer"`
2768
2769	// Internal only API.
2770	Sum *float64 `type:"double"`
2771}
2772
2773// String returns the string representation
2774func (s StatisticSet) String() string {
2775	return awsutil.Prettify(s)
2776}
2777
2778// GoString returns the string representation
2779func (s StatisticSet) GoString() string {
2780	return s.String()
2781}
2782
2783// SetMaximum sets the Maximum field's value.
2784func (s *StatisticSet) SetMaximum(v float64) *StatisticSet {
2785	s.Maximum = &v
2786	return s
2787}
2788
2789// SetMinimum sets the Minimum field's value.
2790func (s *StatisticSet) SetMinimum(v float64) *StatisticSet {
2791	s.Minimum = &v
2792	return s
2793}
2794
2795// SetSampleCount sets the SampleCount field's value.
2796func (s *StatisticSet) SetSampleCount(v int64) *StatisticSet {
2797	s.SampleCount = &v
2798	return s
2799}
2800
2801// SetSum sets the Sum field's value.
2802func (s *StatisticSet) SetSum(v float64) *StatisticSet {
2803	s.Sum = &v
2804	return s
2805}
2806
2807type TagResourceInput struct {
2808	_ struct{} `type:"structure"`
2809
2810	// The tag resource ARN of the MWAA environments.
2811	//
2812	// ResourceArn is a required field
2813	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"1" type:"string" required:"true"`
2814
2815	// The tag resource tag of the MWAA environments.
2816	//
2817	// Tags is a required field
2818	Tags map[string]*string `min:"1" type:"map" required:"true"`
2819}
2820
2821// String returns the string representation
2822func (s TagResourceInput) String() string {
2823	return awsutil.Prettify(s)
2824}
2825
2826// GoString returns the string representation
2827func (s TagResourceInput) GoString() string {
2828	return s.String()
2829}
2830
2831// Validate inspects the fields of the type to determine if they are valid.
2832func (s *TagResourceInput) Validate() error {
2833	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
2834	if s.ResourceArn == nil {
2835		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
2836	}
2837	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
2838		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
2839	}
2840	if s.Tags == nil {
2841		invalidParams.Add(request.NewErrParamRequired("Tags"))
2842	}
2843	if s.Tags != nil && len(s.Tags) < 1 {
2844		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
2845	}
2846
2847	if invalidParams.Len() > 0 {
2848		return invalidParams
2849	}
2850	return nil
2851}
2852
2853// SetResourceArn sets the ResourceArn field's value.
2854func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
2855	s.ResourceArn = &v
2856	return s
2857}
2858
2859// SetTags sets the Tags field's value.
2860func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
2861	s.Tags = v
2862	return s
2863}
2864
2865type TagResourceOutput struct {
2866	_ struct{} `type:"structure"`
2867}
2868
2869// String returns the string representation
2870func (s TagResourceOutput) String() string {
2871	return awsutil.Prettify(s)
2872}
2873
2874// GoString returns the string representation
2875func (s TagResourceOutput) GoString() string {
2876	return s.String()
2877}
2878
2879type UntagResourceInput struct {
2880	_ struct{} `type:"structure"`
2881
2882	// The tag resource ARN of the MWAA environments.
2883	//
2884	// ResourceArn is a required field
2885	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"1" type:"string" required:"true"`
2886
2887	// The tag resource key of the MWAA environments.
2888	//
2889	// TagKeys is a required field
2890	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
2891}
2892
2893// String returns the string representation
2894func (s UntagResourceInput) String() string {
2895	return awsutil.Prettify(s)
2896}
2897
2898// GoString returns the string representation
2899func (s UntagResourceInput) GoString() string {
2900	return s.String()
2901}
2902
2903// Validate inspects the fields of the type to determine if they are valid.
2904func (s *UntagResourceInput) Validate() error {
2905	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
2906	if s.ResourceArn == nil {
2907		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
2908	}
2909	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
2910		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
2911	}
2912	if s.TagKeys == nil {
2913		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
2914	}
2915
2916	if invalidParams.Len() > 0 {
2917		return invalidParams
2918	}
2919	return nil
2920}
2921
2922// SetResourceArn sets the ResourceArn field's value.
2923func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
2924	s.ResourceArn = &v
2925	return s
2926}
2927
2928// SetTagKeys sets the TagKeys field's value.
2929func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
2930	s.TagKeys = v
2931	return s
2932}
2933
2934type UntagResourceOutput struct {
2935	_ struct{} `type:"structure"`
2936}
2937
2938// String returns the string representation
2939func (s UntagResourceOutput) String() string {
2940	return awsutil.Prettify(s)
2941}
2942
2943// GoString returns the string representation
2944func (s UntagResourceOutput) GoString() string {
2945	return s.String()
2946}
2947
2948type UpdateEnvironmentInput struct {
2949	_ struct{} `type:"structure"`
2950
2951	// The Airflow Configuration Options to update of your Amazon MWAA environment.
2952	AirflowConfigurationOptions map[string]*string `type:"map" sensitive:"true"`
2953
2954	// The Airflow Version to update of your Amazon MWAA environment.
2955	AirflowVersion *string `min:"1" type:"string"`
2956
2957	// The Dags folder S3 Path to update of your Amazon MWAA environment.
2958	DagS3Path *string `min:"1" type:"string"`
2959
2960	// The Environment Class to update of your Amazon MWAA environment.
2961	EnvironmentClass *string `min:"1" type:"string"`
2962
2963	// The Executio Role ARN to update of your Amazon MWAA environment.
2964	ExecutionRoleArn *string `min:"1" type:"string"`
2965
2966	// The Logging Configuration to update of your Amazon MWAA environment.
2967	LoggingConfiguration *LoggingConfigurationInput `type:"structure"`
2968
2969	// The Maximum Workers to update of your Amazon MWAA environment.
2970	MaxWorkers *int64 `min:"1" type:"integer"`
2971
2972	// The name of your Amazon MWAA environment that you wish to update.
2973	//
2974	// Name is a required field
2975	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
2976
2977	// The Network Configuration to update of your Amazon MWAA environment.
2978	NetworkConfiguration *UpdateNetworkConfigurationInput `type:"structure"`
2979
2980	// The Plugins.zip S3 Object Version to update of your Amazon MWAA environment.
2981	PluginsS3ObjectVersion *string `min:"1" type:"string"`
2982
2983	// The Plugins.zip S3 Path to update of your Amazon MWAA environment.
2984	PluginsS3Path *string `min:"1" type:"string"`
2985
2986	// The Requirements.txt S3 ObjectV ersion to update of your Amazon MWAA environment.
2987	RequirementsS3ObjectVersion *string `min:"1" type:"string"`
2988
2989	// The Requirements.txt S3 Path to update of your Amazon MWAA environment.
2990	RequirementsS3Path *string `min:"1" type:"string"`
2991
2992	// The S3 Source Bucket ARN to update of your Amazon MWAA environment.
2993	SourceBucketArn *string `min:"1" type:"string"`
2994
2995	// The Webserver Access Mode to update of your Amazon MWAA environment.
2996	WebserverAccessMode *string `type:"string" enum:"WebserverAccessMode"`
2997
2998	// The Weekly Maintenance Window Start to update of your Amazon MWAA environment.
2999	WeeklyMaintenanceWindowStart *string `min:"1" type:"string"`
3000}
3001
3002// String returns the string representation
3003func (s UpdateEnvironmentInput) String() string {
3004	return awsutil.Prettify(s)
3005}
3006
3007// GoString returns the string representation
3008func (s UpdateEnvironmentInput) GoString() string {
3009	return s.String()
3010}
3011
3012// Validate inspects the fields of the type to determine if they are valid.
3013func (s *UpdateEnvironmentInput) Validate() error {
3014	invalidParams := request.ErrInvalidParams{Context: "UpdateEnvironmentInput"}
3015	if s.AirflowVersion != nil && len(*s.AirflowVersion) < 1 {
3016		invalidParams.Add(request.NewErrParamMinLen("AirflowVersion", 1))
3017	}
3018	if s.DagS3Path != nil && len(*s.DagS3Path) < 1 {
3019		invalidParams.Add(request.NewErrParamMinLen("DagS3Path", 1))
3020	}
3021	if s.EnvironmentClass != nil && len(*s.EnvironmentClass) < 1 {
3022		invalidParams.Add(request.NewErrParamMinLen("EnvironmentClass", 1))
3023	}
3024	if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 1 {
3025		invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 1))
3026	}
3027	if s.MaxWorkers != nil && *s.MaxWorkers < 1 {
3028		invalidParams.Add(request.NewErrParamMinValue("MaxWorkers", 1))
3029	}
3030	if s.Name == nil {
3031		invalidParams.Add(request.NewErrParamRequired("Name"))
3032	}
3033	if s.Name != nil && len(*s.Name) < 1 {
3034		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
3035	}
3036	if s.PluginsS3ObjectVersion != nil && len(*s.PluginsS3ObjectVersion) < 1 {
3037		invalidParams.Add(request.NewErrParamMinLen("PluginsS3ObjectVersion", 1))
3038	}
3039	if s.PluginsS3Path != nil && len(*s.PluginsS3Path) < 1 {
3040		invalidParams.Add(request.NewErrParamMinLen("PluginsS3Path", 1))
3041	}
3042	if s.RequirementsS3ObjectVersion != nil && len(*s.RequirementsS3ObjectVersion) < 1 {
3043		invalidParams.Add(request.NewErrParamMinLen("RequirementsS3ObjectVersion", 1))
3044	}
3045	if s.RequirementsS3Path != nil && len(*s.RequirementsS3Path) < 1 {
3046		invalidParams.Add(request.NewErrParamMinLen("RequirementsS3Path", 1))
3047	}
3048	if s.SourceBucketArn != nil && len(*s.SourceBucketArn) < 1 {
3049		invalidParams.Add(request.NewErrParamMinLen("SourceBucketArn", 1))
3050	}
3051	if s.WeeklyMaintenanceWindowStart != nil && len(*s.WeeklyMaintenanceWindowStart) < 1 {
3052		invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceWindowStart", 1))
3053	}
3054	if s.LoggingConfiguration != nil {
3055		if err := s.LoggingConfiguration.Validate(); err != nil {
3056			invalidParams.AddNested("LoggingConfiguration", err.(request.ErrInvalidParams))
3057		}
3058	}
3059	if s.NetworkConfiguration != nil {
3060		if err := s.NetworkConfiguration.Validate(); err != nil {
3061			invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams))
3062		}
3063	}
3064
3065	if invalidParams.Len() > 0 {
3066		return invalidParams
3067	}
3068	return nil
3069}
3070
3071// SetAirflowConfigurationOptions sets the AirflowConfigurationOptions field's value.
3072func (s *UpdateEnvironmentInput) SetAirflowConfigurationOptions(v map[string]*string) *UpdateEnvironmentInput {
3073	s.AirflowConfigurationOptions = v
3074	return s
3075}
3076
3077// SetAirflowVersion sets the AirflowVersion field's value.
3078func (s *UpdateEnvironmentInput) SetAirflowVersion(v string) *UpdateEnvironmentInput {
3079	s.AirflowVersion = &v
3080	return s
3081}
3082
3083// SetDagS3Path sets the DagS3Path field's value.
3084func (s *UpdateEnvironmentInput) SetDagS3Path(v string) *UpdateEnvironmentInput {
3085	s.DagS3Path = &v
3086	return s
3087}
3088
3089// SetEnvironmentClass sets the EnvironmentClass field's value.
3090func (s *UpdateEnvironmentInput) SetEnvironmentClass(v string) *UpdateEnvironmentInput {
3091	s.EnvironmentClass = &v
3092	return s
3093}
3094
3095// SetExecutionRoleArn sets the ExecutionRoleArn field's value.
3096func (s *UpdateEnvironmentInput) SetExecutionRoleArn(v string) *UpdateEnvironmentInput {
3097	s.ExecutionRoleArn = &v
3098	return s
3099}
3100
3101// SetLoggingConfiguration sets the LoggingConfiguration field's value.
3102func (s *UpdateEnvironmentInput) SetLoggingConfiguration(v *LoggingConfigurationInput) *UpdateEnvironmentInput {
3103	s.LoggingConfiguration = v
3104	return s
3105}
3106
3107// SetMaxWorkers sets the MaxWorkers field's value.
3108func (s *UpdateEnvironmentInput) SetMaxWorkers(v int64) *UpdateEnvironmentInput {
3109	s.MaxWorkers = &v
3110	return s
3111}
3112
3113// SetName sets the Name field's value.
3114func (s *UpdateEnvironmentInput) SetName(v string) *UpdateEnvironmentInput {
3115	s.Name = &v
3116	return s
3117}
3118
3119// SetNetworkConfiguration sets the NetworkConfiguration field's value.
3120func (s *UpdateEnvironmentInput) SetNetworkConfiguration(v *UpdateNetworkConfigurationInput) *UpdateEnvironmentInput {
3121	s.NetworkConfiguration = v
3122	return s
3123}
3124
3125// SetPluginsS3ObjectVersion sets the PluginsS3ObjectVersion field's value.
3126func (s *UpdateEnvironmentInput) SetPluginsS3ObjectVersion(v string) *UpdateEnvironmentInput {
3127	s.PluginsS3ObjectVersion = &v
3128	return s
3129}
3130
3131// SetPluginsS3Path sets the PluginsS3Path field's value.
3132func (s *UpdateEnvironmentInput) SetPluginsS3Path(v string) *UpdateEnvironmentInput {
3133	s.PluginsS3Path = &v
3134	return s
3135}
3136
3137// SetRequirementsS3ObjectVersion sets the RequirementsS3ObjectVersion field's value.
3138func (s *UpdateEnvironmentInput) SetRequirementsS3ObjectVersion(v string) *UpdateEnvironmentInput {
3139	s.RequirementsS3ObjectVersion = &v
3140	return s
3141}
3142
3143// SetRequirementsS3Path sets the RequirementsS3Path field's value.
3144func (s *UpdateEnvironmentInput) SetRequirementsS3Path(v string) *UpdateEnvironmentInput {
3145	s.RequirementsS3Path = &v
3146	return s
3147}
3148
3149// SetSourceBucketArn sets the SourceBucketArn field's value.
3150func (s *UpdateEnvironmentInput) SetSourceBucketArn(v string) *UpdateEnvironmentInput {
3151	s.SourceBucketArn = &v
3152	return s
3153}
3154
3155// SetWebserverAccessMode sets the WebserverAccessMode field's value.
3156func (s *UpdateEnvironmentInput) SetWebserverAccessMode(v string) *UpdateEnvironmentInput {
3157	s.WebserverAccessMode = &v
3158	return s
3159}
3160
3161// SetWeeklyMaintenanceWindowStart sets the WeeklyMaintenanceWindowStart field's value.
3162func (s *UpdateEnvironmentInput) SetWeeklyMaintenanceWindowStart(v string) *UpdateEnvironmentInput {
3163	s.WeeklyMaintenanceWindowStart = &v
3164	return s
3165}
3166
3167type UpdateEnvironmentOutput struct {
3168	_ struct{} `type:"structure"`
3169
3170	// The ARN to update of your Amazon MWAA environment.
3171	Arn *string `min:"1" type:"string"`
3172}
3173
3174// String returns the string representation
3175func (s UpdateEnvironmentOutput) String() string {
3176	return awsutil.Prettify(s)
3177}
3178
3179// GoString returns the string representation
3180func (s UpdateEnvironmentOutput) GoString() string {
3181	return s.String()
3182}
3183
3184// SetArn sets the Arn field's value.
3185func (s *UpdateEnvironmentOutput) SetArn(v string) *UpdateEnvironmentOutput {
3186	s.Arn = &v
3187	return s
3188}
3189
3190// Error information of update, if applicable.
3191type UpdateError struct {
3192	_ struct{} `type:"structure"`
3193
3194	// Error code of update.
3195	ErrorCode *string `type:"string"`
3196
3197	// Error message of update.
3198	ErrorMessage *string `min:"1" type:"string"`
3199}
3200
3201// String returns the string representation
3202func (s UpdateError) String() string {
3203	return awsutil.Prettify(s)
3204}
3205
3206// GoString returns the string representation
3207func (s UpdateError) GoString() string {
3208	return s.String()
3209}
3210
3211// SetErrorCode sets the ErrorCode field's value.
3212func (s *UpdateError) SetErrorCode(v string) *UpdateError {
3213	s.ErrorCode = &v
3214	return s
3215}
3216
3217// SetErrorMessage sets the ErrorMessage field's value.
3218func (s *UpdateError) SetErrorMessage(v string) *UpdateError {
3219	s.ErrorMessage = &v
3220	return s
3221}
3222
3223// Provide the security group and subnet IDs for the workers and scheduler.
3224type UpdateNetworkConfigurationInput struct {
3225	_ struct{} `type:"structure"`
3226
3227	// Provide a JSON list of 1 or more security groups IDs by name, in the same
3228	// VPC as the subnets.
3229	//
3230	// SecurityGroupIds is a required field
3231	SecurityGroupIds []*string `min:"1" type:"list" required:"true"`
3232}
3233
3234// String returns the string representation
3235func (s UpdateNetworkConfigurationInput) String() string {
3236	return awsutil.Prettify(s)
3237}
3238
3239// GoString returns the string representation
3240func (s UpdateNetworkConfigurationInput) GoString() string {
3241	return s.String()
3242}
3243
3244// Validate inspects the fields of the type to determine if they are valid.
3245func (s *UpdateNetworkConfigurationInput) Validate() error {
3246	invalidParams := request.ErrInvalidParams{Context: "UpdateNetworkConfigurationInput"}
3247	if s.SecurityGroupIds == nil {
3248		invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds"))
3249	}
3250	if s.SecurityGroupIds != nil && len(s.SecurityGroupIds) < 1 {
3251		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIds", 1))
3252	}
3253
3254	if invalidParams.Len() > 0 {
3255		return invalidParams
3256	}
3257	return nil
3258}
3259
3260// SetSecurityGroupIds sets the SecurityGroupIds field's value.
3261func (s *UpdateNetworkConfigurationInput) SetSecurityGroupIds(v []*string) *UpdateNetworkConfigurationInput {
3262	s.SecurityGroupIds = v
3263	return s
3264}
3265
3266// ValidationException: The provided input is not valid.
3267type ValidationException struct {
3268	_            struct{}                  `type:"structure"`
3269	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3270
3271	Message_ *string `locationName:"message" type:"string"`
3272}
3273
3274// String returns the string representation
3275func (s ValidationException) String() string {
3276	return awsutil.Prettify(s)
3277}
3278
3279// GoString returns the string representation
3280func (s ValidationException) GoString() string {
3281	return s.String()
3282}
3283
3284func newErrorValidationException(v protocol.ResponseMetadata) error {
3285	return &ValidationException{
3286		RespMetadata: v,
3287	}
3288}
3289
3290// Code returns the exception type name.
3291func (s *ValidationException) Code() string {
3292	return "ValidationException"
3293}
3294
3295// Message returns the exception's message.
3296func (s *ValidationException) Message() string {
3297	if s.Message_ != nil {
3298		return *s.Message_
3299	}
3300	return ""
3301}
3302
3303// OrigErr always returns nil, satisfies awserr.Error interface.
3304func (s *ValidationException) OrigErr() error {
3305	return nil
3306}
3307
3308func (s *ValidationException) Error() string {
3309	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3310}
3311
3312// Status code returns the HTTP status code for the request's response error.
3313func (s *ValidationException) StatusCode() int {
3314	return s.RespMetadata.StatusCode
3315}
3316
3317// RequestID returns the service's response RequestID for request.
3318func (s *ValidationException) RequestID() string {
3319	return s.RespMetadata.RequestID
3320}
3321
3322const (
3323	// EnvironmentStatusCreating is a EnvironmentStatus enum value
3324	EnvironmentStatusCreating = "CREATING"
3325
3326	// EnvironmentStatusCreateFailed is a EnvironmentStatus enum value
3327	EnvironmentStatusCreateFailed = "CREATE_FAILED"
3328
3329	// EnvironmentStatusAvailable is a EnvironmentStatus enum value
3330	EnvironmentStatusAvailable = "AVAILABLE"
3331
3332	// EnvironmentStatusUpdating is a EnvironmentStatus enum value
3333	EnvironmentStatusUpdating = "UPDATING"
3334
3335	// EnvironmentStatusDeleting is a EnvironmentStatus enum value
3336	EnvironmentStatusDeleting = "DELETING"
3337
3338	// EnvironmentStatusDeleted is a EnvironmentStatus enum value
3339	EnvironmentStatusDeleted = "DELETED"
3340)
3341
3342// EnvironmentStatus_Values returns all elements of the EnvironmentStatus enum
3343func EnvironmentStatus_Values() []string {
3344	return []string{
3345		EnvironmentStatusCreating,
3346		EnvironmentStatusCreateFailed,
3347		EnvironmentStatusAvailable,
3348		EnvironmentStatusUpdating,
3349		EnvironmentStatusDeleting,
3350		EnvironmentStatusDeleted,
3351	}
3352}
3353
3354const (
3355	// LoggingLevelCritical is a LoggingLevel enum value
3356	LoggingLevelCritical = "CRITICAL"
3357
3358	// LoggingLevelError is a LoggingLevel enum value
3359	LoggingLevelError = "ERROR"
3360
3361	// LoggingLevelWarning is a LoggingLevel enum value
3362	LoggingLevelWarning = "WARNING"
3363
3364	// LoggingLevelInfo is a LoggingLevel enum value
3365	LoggingLevelInfo = "INFO"
3366
3367	// LoggingLevelDebug is a LoggingLevel enum value
3368	LoggingLevelDebug = "DEBUG"
3369)
3370
3371// LoggingLevel_Values returns all elements of the LoggingLevel enum
3372func LoggingLevel_Values() []string {
3373	return []string{
3374		LoggingLevelCritical,
3375		LoggingLevelError,
3376		LoggingLevelWarning,
3377		LoggingLevelInfo,
3378		LoggingLevelDebug,
3379	}
3380}
3381
3382// Unit
3383const (
3384	// UnitSeconds is a Unit enum value
3385	UnitSeconds = "Seconds"
3386
3387	// UnitMicroseconds is a Unit enum value
3388	UnitMicroseconds = "Microseconds"
3389
3390	// UnitMilliseconds is a Unit enum value
3391	UnitMilliseconds = "Milliseconds"
3392
3393	// UnitBytes is a Unit enum value
3394	UnitBytes = "Bytes"
3395
3396	// UnitKilobytes is a Unit enum value
3397	UnitKilobytes = "Kilobytes"
3398
3399	// UnitMegabytes is a Unit enum value
3400	UnitMegabytes = "Megabytes"
3401
3402	// UnitGigabytes is a Unit enum value
3403	UnitGigabytes = "Gigabytes"
3404
3405	// UnitTerabytes is a Unit enum value
3406	UnitTerabytes = "Terabytes"
3407
3408	// UnitBits is a Unit enum value
3409	UnitBits = "Bits"
3410
3411	// UnitKilobits is a Unit enum value
3412	UnitKilobits = "Kilobits"
3413
3414	// UnitMegabits is a Unit enum value
3415	UnitMegabits = "Megabits"
3416
3417	// UnitGigabits is a Unit enum value
3418	UnitGigabits = "Gigabits"
3419
3420	// UnitTerabits is a Unit enum value
3421	UnitTerabits = "Terabits"
3422
3423	// UnitPercent is a Unit enum value
3424	UnitPercent = "Percent"
3425
3426	// UnitCount is a Unit enum value
3427	UnitCount = "Count"
3428
3429	// UnitBytesSecond is a Unit enum value
3430	UnitBytesSecond = "Bytes/Second"
3431
3432	// UnitKilobytesSecond is a Unit enum value
3433	UnitKilobytesSecond = "Kilobytes/Second"
3434
3435	// UnitMegabytesSecond is a Unit enum value
3436	UnitMegabytesSecond = "Megabytes/Second"
3437
3438	// UnitGigabytesSecond is a Unit enum value
3439	UnitGigabytesSecond = "Gigabytes/Second"
3440
3441	// UnitTerabytesSecond is a Unit enum value
3442	UnitTerabytesSecond = "Terabytes/Second"
3443
3444	// UnitBitsSecond is a Unit enum value
3445	UnitBitsSecond = "Bits/Second"
3446
3447	// UnitKilobitsSecond is a Unit enum value
3448	UnitKilobitsSecond = "Kilobits/Second"
3449
3450	// UnitMegabitsSecond is a Unit enum value
3451	UnitMegabitsSecond = "Megabits/Second"
3452
3453	// UnitGigabitsSecond is a Unit enum value
3454	UnitGigabitsSecond = "Gigabits/Second"
3455
3456	// UnitTerabitsSecond is a Unit enum value
3457	UnitTerabitsSecond = "Terabits/Second"
3458
3459	// UnitCountSecond is a Unit enum value
3460	UnitCountSecond = "Count/Second"
3461
3462	// UnitNone is a Unit enum value
3463	UnitNone = "None"
3464)
3465
3466// Unit_Values returns all elements of the Unit enum
3467func Unit_Values() []string {
3468	return []string{
3469		UnitSeconds,
3470		UnitMicroseconds,
3471		UnitMilliseconds,
3472		UnitBytes,
3473		UnitKilobytes,
3474		UnitMegabytes,
3475		UnitGigabytes,
3476		UnitTerabytes,
3477		UnitBits,
3478		UnitKilobits,
3479		UnitMegabits,
3480		UnitGigabits,
3481		UnitTerabits,
3482		UnitPercent,
3483		UnitCount,
3484		UnitBytesSecond,
3485		UnitKilobytesSecond,
3486		UnitMegabytesSecond,
3487		UnitGigabytesSecond,
3488		UnitTerabytesSecond,
3489		UnitBitsSecond,
3490		UnitKilobitsSecond,
3491		UnitMegabitsSecond,
3492		UnitGigabitsSecond,
3493		UnitTerabitsSecond,
3494		UnitCountSecond,
3495		UnitNone,
3496	}
3497}
3498
3499const (
3500	// UpdateStatusSuccess is a UpdateStatus enum value
3501	UpdateStatusSuccess = "SUCCESS"
3502
3503	// UpdateStatusPending is a UpdateStatus enum value
3504	UpdateStatusPending = "PENDING"
3505
3506	// UpdateStatusFailed is a UpdateStatus enum value
3507	UpdateStatusFailed = "FAILED"
3508)
3509
3510// UpdateStatus_Values returns all elements of the UpdateStatus enum
3511func UpdateStatus_Values() []string {
3512	return []string{
3513		UpdateStatusSuccess,
3514		UpdateStatusPending,
3515		UpdateStatusFailed,
3516	}
3517}
3518
3519const (
3520	// WebserverAccessModePrivateOnly is a WebserverAccessMode enum value
3521	WebserverAccessModePrivateOnly = "PRIVATE_ONLY"
3522
3523	// WebserverAccessModePublicOnly is a WebserverAccessMode enum value
3524	WebserverAccessModePublicOnly = "PUBLIC_ONLY"
3525)
3526
3527// WebserverAccessMode_Values returns all elements of the WebserverAccessMode enum
3528func WebserverAccessMode_Values() []string {
3529	return []string{
3530		WebserverAccessModePrivateOnly,
3531		WebserverAccessModePublicOnly,
3532	}
3533}
3534