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// Creates an Amazon Managed Workflows for Apache Airflow (MWAA) environment.
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// Deletes an Amazon Managed Workflows for Apache Airflow (MWAA) 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// Retrieves the details of an Amazon Managed Workflows for Apache Airflow (MWAA)
408// environment.
409//
410// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
411// with awserr.Error's Code and Message methods to get detailed information about
412// the error.
413//
414// See the AWS API reference guide for AmazonMWAA's
415// API operation GetEnvironment for usage and error information.
416//
417// Returned Error Types:
418//   * ResourceNotFoundException
419//   ResourceNotFoundException: The resource is not available.
420//
421//   * ValidationException
422//   ValidationException: The provided input is not valid.
423//
424//   * InternalServerException
425//   InternalServerException: An internal error has occurred.
426//
427// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/GetEnvironment
428func (c *MWAA) GetEnvironment(input *GetEnvironmentInput) (*GetEnvironmentOutput, error) {
429	req, out := c.GetEnvironmentRequest(input)
430	return out, req.Send()
431}
432
433// GetEnvironmentWithContext is the same as GetEnvironment with the addition of
434// the ability to pass a context and additional request options.
435//
436// See GetEnvironment for details on how to use this API operation.
437//
438// The context must be non-nil and will be used for request cancellation. If
439// the context is nil a panic will occur. In the future the SDK may create
440// sub-contexts for http.Requests. See https://golang.org/pkg/context/
441// for more information on using Contexts.
442func (c *MWAA) GetEnvironmentWithContext(ctx aws.Context, input *GetEnvironmentInput, opts ...request.Option) (*GetEnvironmentOutput, error) {
443	req, out := c.GetEnvironmentRequest(input)
444	req.SetContext(ctx)
445	req.ApplyOptions(opts...)
446	return out, req.Send()
447}
448
449const opListEnvironments = "ListEnvironments"
450
451// ListEnvironmentsRequest generates a "aws/request.Request" representing the
452// client's request for the ListEnvironments operation. The "output" return
453// value will be populated with the request's response once the request completes
454// successfully.
455//
456// Use "Send" method on the returned Request to send the API call to the service.
457// the "output" return value is not valid until after Send returns without error.
458//
459// See ListEnvironments for more information on using the ListEnvironments
460// API call, and error handling.
461//
462// This method is useful when you want to inject custom logic or configuration
463// into the SDK's request lifecycle. Such as custom headers, or retry logic.
464//
465//
466//    // Example sending a request using the ListEnvironmentsRequest method.
467//    req, resp := client.ListEnvironmentsRequest(params)
468//
469//    err := req.Send()
470//    if err == nil { // resp is now filled
471//        fmt.Println(resp)
472//    }
473//
474// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/ListEnvironments
475func (c *MWAA) ListEnvironmentsRequest(input *ListEnvironmentsInput) (req *request.Request, output *ListEnvironmentsOutput) {
476	op := &request.Operation{
477		Name:       opListEnvironments,
478		HTTPMethod: "GET",
479		HTTPPath:   "/environments",
480		Paginator: &request.Paginator{
481			InputTokens:     []string{"NextToken"},
482			OutputTokens:    []string{"NextToken"},
483			LimitToken:      "MaxResults",
484			TruncationToken: "",
485		},
486	}
487
488	if input == nil {
489		input = &ListEnvironmentsInput{}
490	}
491
492	output = &ListEnvironmentsOutput{}
493	req = c.newRequest(op, input, output)
494	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
495	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
496	return
497}
498
499// ListEnvironments API operation for AmazonMWAA.
500//
501// Lists the Amazon Managed Workflows for Apache Airflow (MWAA) environments.
502//
503// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
504// with awserr.Error's Code and Message methods to get detailed information about
505// the error.
506//
507// See the AWS API reference guide for AmazonMWAA's
508// API operation ListEnvironments for usage and error information.
509//
510// Returned Error Types:
511//   * ValidationException
512//   ValidationException: The provided input is not valid.
513//
514//   * InternalServerException
515//   InternalServerException: An internal error has occurred.
516//
517// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/ListEnvironments
518func (c *MWAA) ListEnvironments(input *ListEnvironmentsInput) (*ListEnvironmentsOutput, error) {
519	req, out := c.ListEnvironmentsRequest(input)
520	return out, req.Send()
521}
522
523// ListEnvironmentsWithContext is the same as ListEnvironments with the addition of
524// the ability to pass a context and additional request options.
525//
526// See ListEnvironments for details on how to use this API operation.
527//
528// The context must be non-nil and will be used for request cancellation. If
529// the context is nil a panic will occur. In the future the SDK may create
530// sub-contexts for http.Requests. See https://golang.org/pkg/context/
531// for more information on using Contexts.
532func (c *MWAA) ListEnvironmentsWithContext(ctx aws.Context, input *ListEnvironmentsInput, opts ...request.Option) (*ListEnvironmentsOutput, error) {
533	req, out := c.ListEnvironmentsRequest(input)
534	req.SetContext(ctx)
535	req.ApplyOptions(opts...)
536	return out, req.Send()
537}
538
539// ListEnvironmentsPages iterates over the pages of a ListEnvironments operation,
540// calling the "fn" function with the response data for each page. To stop
541// iterating, return false from the fn function.
542//
543// See ListEnvironments method for more information on how to use this operation.
544//
545// Note: This operation can generate multiple requests to a service.
546//
547//    // Example iterating over at most 3 pages of a ListEnvironments operation.
548//    pageNum := 0
549//    err := client.ListEnvironmentsPages(params,
550//        func(page *mwaa.ListEnvironmentsOutput, lastPage bool) bool {
551//            pageNum++
552//            fmt.Println(page)
553//            return pageNum <= 3
554//        })
555//
556func (c *MWAA) ListEnvironmentsPages(input *ListEnvironmentsInput, fn func(*ListEnvironmentsOutput, bool) bool) error {
557	return c.ListEnvironmentsPagesWithContext(aws.BackgroundContext(), input, fn)
558}
559
560// ListEnvironmentsPagesWithContext same as ListEnvironmentsPages except
561// it takes a Context and allows setting request options on the pages.
562//
563// The context must be non-nil and will be used for request cancellation. If
564// the context is nil a panic will occur. In the future the SDK may create
565// sub-contexts for http.Requests. See https://golang.org/pkg/context/
566// for more information on using Contexts.
567func (c *MWAA) ListEnvironmentsPagesWithContext(ctx aws.Context, input *ListEnvironmentsInput, fn func(*ListEnvironmentsOutput, bool) bool, opts ...request.Option) error {
568	p := request.Pagination{
569		NewRequest: func() (*request.Request, error) {
570			var inCpy *ListEnvironmentsInput
571			if input != nil {
572				tmp := *input
573				inCpy = &tmp
574			}
575			req, _ := c.ListEnvironmentsRequest(inCpy)
576			req.SetContext(ctx)
577			req.ApplyOptions(opts...)
578			return req, nil
579		},
580	}
581
582	for p.Next() {
583		if !fn(p.Page().(*ListEnvironmentsOutput), !p.HasNextPage()) {
584			break
585		}
586	}
587
588	return p.Err()
589}
590
591const opListTagsForResource = "ListTagsForResource"
592
593// ListTagsForResourceRequest generates a "aws/request.Request" representing the
594// client's request for the ListTagsForResource operation. The "output" return
595// value will be populated with the request's response once the request completes
596// successfully.
597//
598// Use "Send" method on the returned Request to send the API call to the service.
599// the "output" return value is not valid until after Send returns without error.
600//
601// See ListTagsForResource for more information on using the ListTagsForResource
602// API call, and error handling.
603//
604// This method is useful when you want to inject custom logic or configuration
605// into the SDK's request lifecycle. Such as custom headers, or retry logic.
606//
607//
608//    // Example sending a request using the ListTagsForResourceRequest method.
609//    req, resp := client.ListTagsForResourceRequest(params)
610//
611//    err := req.Send()
612//    if err == nil { // resp is now filled
613//        fmt.Println(resp)
614//    }
615//
616// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/ListTagsForResource
617func (c *MWAA) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
618	op := &request.Operation{
619		Name:       opListTagsForResource,
620		HTTPMethod: "GET",
621		HTTPPath:   "/tags/{ResourceArn}",
622	}
623
624	if input == nil {
625		input = &ListTagsForResourceInput{}
626	}
627
628	output = &ListTagsForResourceOutput{}
629	req = c.newRequest(op, input, output)
630	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
631	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
632	return
633}
634
635// ListTagsForResource API operation for AmazonMWAA.
636//
637// Lists the key-value tag pairs associated to the Amazon Managed Workflows
638// for Apache Airflow (MWAA) environment. For example, "Environment": "Staging".
639//
640// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
641// with awserr.Error's Code and Message methods to get detailed information about
642// the error.
643//
644// See the AWS API reference guide for AmazonMWAA's
645// API operation ListTagsForResource for usage and error information.
646//
647// Returned Error Types:
648//   * ResourceNotFoundException
649//   ResourceNotFoundException: The resource is not available.
650//
651//   * ValidationException
652//   ValidationException: The provided input is not valid.
653//
654//   * InternalServerException
655//   InternalServerException: An internal error has occurred.
656//
657// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/ListTagsForResource
658func (c *MWAA) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
659	req, out := c.ListTagsForResourceRequest(input)
660	return out, req.Send()
661}
662
663// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
664// the ability to pass a context and additional request options.
665//
666// See ListTagsForResource for details on how to use this API operation.
667//
668// The context must be non-nil and will be used for request cancellation. If
669// the context is nil a panic will occur. In the future the SDK may create
670// sub-contexts for http.Requests. See https://golang.org/pkg/context/
671// for more information on using Contexts.
672func (c *MWAA) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
673	req, out := c.ListTagsForResourceRequest(input)
674	req.SetContext(ctx)
675	req.ApplyOptions(opts...)
676	return out, req.Send()
677}
678
679const opPublishMetrics = "PublishMetrics"
680
681// PublishMetricsRequest generates a "aws/request.Request" representing the
682// client's request for the PublishMetrics operation. The "output" return
683// value will be populated with the request's response once the request completes
684// successfully.
685//
686// Use "Send" method on the returned Request to send the API call to the service.
687// the "output" return value is not valid until after Send returns without error.
688//
689// See PublishMetrics for more information on using the PublishMetrics
690// API call, and error handling.
691//
692// This method is useful when you want to inject custom logic or configuration
693// into the SDK's request lifecycle. Such as custom headers, or retry logic.
694//
695//
696//    // Example sending a request using the PublishMetricsRequest method.
697//    req, resp := client.PublishMetricsRequest(params)
698//
699//    err := req.Send()
700//    if err == nil { // resp is now filled
701//        fmt.Println(resp)
702//    }
703//
704// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/PublishMetrics
705func (c *MWAA) PublishMetricsRequest(input *PublishMetricsInput) (req *request.Request, output *PublishMetricsOutput) {
706	op := &request.Operation{
707		Name:       opPublishMetrics,
708		HTTPMethod: "POST",
709		HTTPPath:   "/metrics/environments/{EnvironmentName}",
710	}
711
712	if input == nil {
713		input = &PublishMetricsInput{}
714	}
715
716	output = &PublishMetricsOutput{}
717	req = c.newRequest(op, input, output)
718	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
719	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("ops.", nil))
720	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
721	return
722}
723
724// PublishMetrics API operation for AmazonMWAA.
725//
726// An operation for publishing metrics from the customers to the Ops plane.
727//
728// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
729// with awserr.Error's Code and Message methods to get detailed information about
730// the error.
731//
732// See the AWS API reference guide for AmazonMWAA's
733// API operation PublishMetrics for usage and error information.
734//
735// Returned Error Types:
736//   * ValidationException
737//   ValidationException: The provided input is not valid.
738//
739//   * InternalServerException
740//   InternalServerException: An internal error has occurred.
741//
742// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/PublishMetrics
743func (c *MWAA) PublishMetrics(input *PublishMetricsInput) (*PublishMetricsOutput, error) {
744	req, out := c.PublishMetricsRequest(input)
745	return out, req.Send()
746}
747
748// PublishMetricsWithContext is the same as PublishMetrics with the addition of
749// the ability to pass a context and additional request options.
750//
751// See PublishMetrics for details on how to use this API operation.
752//
753// The context must be non-nil and will be used for request cancellation. If
754// the context is nil a panic will occur. In the future the SDK may create
755// sub-contexts for http.Requests. See https://golang.org/pkg/context/
756// for more information on using Contexts.
757func (c *MWAA) PublishMetricsWithContext(ctx aws.Context, input *PublishMetricsInput, opts ...request.Option) (*PublishMetricsOutput, error) {
758	req, out := c.PublishMetricsRequest(input)
759	req.SetContext(ctx)
760	req.ApplyOptions(opts...)
761	return out, req.Send()
762}
763
764const opTagResource = "TagResource"
765
766// TagResourceRequest generates a "aws/request.Request" representing the
767// client's request for the TagResource operation. The "output" return
768// value will be populated with the request's response once the request completes
769// successfully.
770//
771// Use "Send" method on the returned Request to send the API call to the service.
772// the "output" return value is not valid until after Send returns without error.
773//
774// See TagResource for more information on using the TagResource
775// API call, and error handling.
776//
777// This method is useful when you want to inject custom logic or configuration
778// into the SDK's request lifecycle. Such as custom headers, or retry logic.
779//
780//
781//    // Example sending a request using the TagResourceRequest method.
782//    req, resp := client.TagResourceRequest(params)
783//
784//    err := req.Send()
785//    if err == nil { // resp is now filled
786//        fmt.Println(resp)
787//    }
788//
789// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/TagResource
790func (c *MWAA) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
791	op := &request.Operation{
792		Name:       opTagResource,
793		HTTPMethod: "POST",
794		HTTPPath:   "/tags/{ResourceArn}",
795	}
796
797	if input == nil {
798		input = &TagResourceInput{}
799	}
800
801	output = &TagResourceOutput{}
802	req = c.newRequest(op, input, output)
803	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
804	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
805	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
806	return
807}
808
809// TagResource API operation for AmazonMWAA.
810//
811// Associates key-value tag pairs to your Amazon Managed Workflows for Apache
812// Airflow (MWAA) environment.
813//
814// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
815// with awserr.Error's Code and Message methods to get detailed information about
816// the error.
817//
818// See the AWS API reference guide for AmazonMWAA's
819// API operation TagResource for usage and error information.
820//
821// Returned Error Types:
822//   * ResourceNotFoundException
823//   ResourceNotFoundException: The resource is not available.
824//
825//   * ValidationException
826//   ValidationException: The provided input is not valid.
827//
828//   * InternalServerException
829//   InternalServerException: An internal error has occurred.
830//
831// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/TagResource
832func (c *MWAA) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
833	req, out := c.TagResourceRequest(input)
834	return out, req.Send()
835}
836
837// TagResourceWithContext is the same as TagResource with the addition of
838// the ability to pass a context and additional request options.
839//
840// See TagResource for details on how to use this API operation.
841//
842// The context must be non-nil and will be used for request cancellation. If
843// the context is nil a panic will occur. In the future the SDK may create
844// sub-contexts for http.Requests. See https://golang.org/pkg/context/
845// for more information on using Contexts.
846func (c *MWAA) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
847	req, out := c.TagResourceRequest(input)
848	req.SetContext(ctx)
849	req.ApplyOptions(opts...)
850	return out, req.Send()
851}
852
853const opUntagResource = "UntagResource"
854
855// UntagResourceRequest generates a "aws/request.Request" representing the
856// client's request for the UntagResource operation. The "output" return
857// value will be populated with the request's response once the request completes
858// successfully.
859//
860// Use "Send" method on the returned Request to send the API call to the service.
861// the "output" return value is not valid until after Send returns without error.
862//
863// See UntagResource for more information on using the UntagResource
864// API call, and error handling.
865//
866// This method is useful when you want to inject custom logic or configuration
867// into the SDK's request lifecycle. Such as custom headers, or retry logic.
868//
869//
870//    // Example sending a request using the UntagResourceRequest method.
871//    req, resp := client.UntagResourceRequest(params)
872//
873//    err := req.Send()
874//    if err == nil { // resp is now filled
875//        fmt.Println(resp)
876//    }
877//
878// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/UntagResource
879func (c *MWAA) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
880	op := &request.Operation{
881		Name:       opUntagResource,
882		HTTPMethod: "DELETE",
883		HTTPPath:   "/tags/{ResourceArn}",
884	}
885
886	if input == nil {
887		input = &UntagResourceInput{}
888	}
889
890	output = &UntagResourceOutput{}
891	req = c.newRequest(op, input, output)
892	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
893	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
894	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
895	return
896}
897
898// UntagResource API operation for AmazonMWAA.
899//
900// Removes key-value tag pairs associated to your Amazon Managed Workflows for
901// Apache Airflow (MWAA) environment. For example, "Environment": "Staging".
902//
903// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
904// with awserr.Error's Code and Message methods to get detailed information about
905// the error.
906//
907// See the AWS API reference guide for AmazonMWAA's
908// API operation UntagResource for usage and error information.
909//
910// Returned Error Types:
911//   * ResourceNotFoundException
912//   ResourceNotFoundException: The resource is not available.
913//
914//   * ValidationException
915//   ValidationException: The provided input is not valid.
916//
917//   * InternalServerException
918//   InternalServerException: An internal error has occurred.
919//
920// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/UntagResource
921func (c *MWAA) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
922	req, out := c.UntagResourceRequest(input)
923	return out, req.Send()
924}
925
926// UntagResourceWithContext is the same as UntagResource with the addition of
927// the ability to pass a context and additional request options.
928//
929// See UntagResource for details on how to use this API operation.
930//
931// The context must be non-nil and will be used for request cancellation. If
932// the context is nil a panic will occur. In the future the SDK may create
933// sub-contexts for http.Requests. See https://golang.org/pkg/context/
934// for more information on using Contexts.
935func (c *MWAA) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
936	req, out := c.UntagResourceRequest(input)
937	req.SetContext(ctx)
938	req.ApplyOptions(opts...)
939	return out, req.Send()
940}
941
942const opUpdateEnvironment = "UpdateEnvironment"
943
944// UpdateEnvironmentRequest generates a "aws/request.Request" representing the
945// client's request for the UpdateEnvironment operation. The "output" return
946// value will be populated with the request's response once the request completes
947// successfully.
948//
949// Use "Send" method on the returned Request to send the API call to the service.
950// the "output" return value is not valid until after Send returns without error.
951//
952// See UpdateEnvironment for more information on using the UpdateEnvironment
953// API call, and error handling.
954//
955// This method is useful when you want to inject custom logic or configuration
956// into the SDK's request lifecycle. Such as custom headers, or retry logic.
957//
958//
959//    // Example sending a request using the UpdateEnvironmentRequest method.
960//    req, resp := client.UpdateEnvironmentRequest(params)
961//
962//    err := req.Send()
963//    if err == nil { // resp is now filled
964//        fmt.Println(resp)
965//    }
966//
967// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/UpdateEnvironment
968func (c *MWAA) UpdateEnvironmentRequest(input *UpdateEnvironmentInput) (req *request.Request, output *UpdateEnvironmentOutput) {
969	op := &request.Operation{
970		Name:       opUpdateEnvironment,
971		HTTPMethod: "PATCH",
972		HTTPPath:   "/environments/{Name}",
973	}
974
975	if input == nil {
976		input = &UpdateEnvironmentInput{}
977	}
978
979	output = &UpdateEnvironmentOutput{}
980	req = c.newRequest(op, input, output)
981	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
982	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
983	return
984}
985
986// UpdateEnvironment API operation for AmazonMWAA.
987//
988// Updates an Amazon Managed Workflows for Apache Airflow (MWAA) environment.
989//
990// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
991// with awserr.Error's Code and Message methods to get detailed information about
992// the error.
993//
994// See the AWS API reference guide for AmazonMWAA's
995// API operation UpdateEnvironment for usage and error information.
996//
997// Returned Error Types:
998//   * ResourceNotFoundException
999//   ResourceNotFoundException: The resource is not available.
1000//
1001//   * ValidationException
1002//   ValidationException: The provided input is not valid.
1003//
1004//   * InternalServerException
1005//   InternalServerException: An internal error has occurred.
1006//
1007// See also, https://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/UpdateEnvironment
1008func (c *MWAA) UpdateEnvironment(input *UpdateEnvironmentInput) (*UpdateEnvironmentOutput, error) {
1009	req, out := c.UpdateEnvironmentRequest(input)
1010	return out, req.Send()
1011}
1012
1013// UpdateEnvironmentWithContext is the same as UpdateEnvironment with the addition of
1014// the ability to pass a context and additional request options.
1015//
1016// See UpdateEnvironment for details on how to use this API operation.
1017//
1018// The context must be non-nil and will be used for request cancellation. If
1019// the context is nil a panic will occur. In the future the SDK may create
1020// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1021// for more information on using Contexts.
1022func (c *MWAA) UpdateEnvironmentWithContext(ctx aws.Context, input *UpdateEnvironmentInput, opts ...request.Option) (*UpdateEnvironmentOutput, error) {
1023	req, out := c.UpdateEnvironmentRequest(input)
1024	req.SetContext(ctx)
1025	req.ApplyOptions(opts...)
1026	return out, req.Send()
1027}
1028
1029// Access to the Airflow Web UI or CLI has been Denied. Please follow the MWAA
1030// user guide to setup permissions to access the Web UI and CLI functionality.
1031type AccessDeniedException struct {
1032	_            struct{}                  `type:"structure"`
1033	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
1034
1035	Message_ *string `locationName:"Message" type:"string"`
1036}
1037
1038// String returns the string representation.
1039//
1040// API parameter values that are decorated as "sensitive" in the API will not
1041// be included in the string output. The member name will be present, but the
1042// value will be replaced with "sensitive".
1043func (s AccessDeniedException) String() string {
1044	return awsutil.Prettify(s)
1045}
1046
1047// GoString returns the string representation.
1048//
1049// API parameter values that are decorated as "sensitive" in the API will not
1050// be included in the string output. The member name will be present, but the
1051// value will be replaced with "sensitive".
1052func (s AccessDeniedException) GoString() string {
1053	return s.String()
1054}
1055
1056func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
1057	return &AccessDeniedException{
1058		RespMetadata: v,
1059	}
1060}
1061
1062// Code returns the exception type name.
1063func (s *AccessDeniedException) Code() string {
1064	return "AccessDeniedException"
1065}
1066
1067// Message returns the exception's message.
1068func (s *AccessDeniedException) Message() string {
1069	if s.Message_ != nil {
1070		return *s.Message_
1071	}
1072	return ""
1073}
1074
1075// OrigErr always returns nil, satisfies awserr.Error interface.
1076func (s *AccessDeniedException) OrigErr() error {
1077	return nil
1078}
1079
1080func (s *AccessDeniedException) Error() string {
1081	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
1082}
1083
1084// Status code returns the HTTP status code for the request's response error.
1085func (s *AccessDeniedException) StatusCode() int {
1086	return s.RespMetadata.StatusCode
1087}
1088
1089// RequestID returns the service's response RequestID for request.
1090func (s *AccessDeniedException) RequestID() string {
1091	return s.RespMetadata.RequestID
1092}
1093
1094type CreateCliTokenInput struct {
1095	_ struct{} `type:"structure" nopayload:"true"`
1096
1097	// Create a CLI token request for a MWAA environment.
1098	//
1099	// Name is a required field
1100	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
1101}
1102
1103// String returns the string representation.
1104//
1105// API parameter values that are decorated as "sensitive" in the API will not
1106// be included in the string output. The member name will be present, but the
1107// value will be replaced with "sensitive".
1108func (s CreateCliTokenInput) String() string {
1109	return awsutil.Prettify(s)
1110}
1111
1112// GoString returns the string representation.
1113//
1114// API parameter values that are decorated as "sensitive" in the API will not
1115// be included in the string output. The member name will be present, but the
1116// value will be replaced with "sensitive".
1117func (s CreateCliTokenInput) GoString() string {
1118	return s.String()
1119}
1120
1121// Validate inspects the fields of the type to determine if they are valid.
1122func (s *CreateCliTokenInput) Validate() error {
1123	invalidParams := request.ErrInvalidParams{Context: "CreateCliTokenInput"}
1124	if s.Name == nil {
1125		invalidParams.Add(request.NewErrParamRequired("Name"))
1126	}
1127	if s.Name != nil && len(*s.Name) < 1 {
1128		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
1129	}
1130
1131	if invalidParams.Len() > 0 {
1132		return invalidParams
1133	}
1134	return nil
1135}
1136
1137// SetName sets the Name field's value.
1138func (s *CreateCliTokenInput) SetName(v string) *CreateCliTokenInput {
1139	s.Name = &v
1140	return s
1141}
1142
1143type CreateCliTokenOutput struct {
1144	_ struct{} `type:"structure"`
1145
1146	// Create an Airflow CLI login token response for the provided JWT token.
1147	//
1148	// CliToken is a sensitive parameter and its value will be
1149	// replaced with "sensitive" in string returned by CreateCliTokenOutput's
1150	// String and GoString methods.
1151	CliToken *string `type:"string" sensitive:"true"`
1152
1153	// Create an Airflow CLI login token response for the provided webserver hostname.
1154	WebServerHostname *string `min:"1" type:"string"`
1155}
1156
1157// String returns the string representation.
1158//
1159// API parameter values that are decorated as "sensitive" in the API will not
1160// be included in the string output. The member name will be present, but the
1161// value will be replaced with "sensitive".
1162func (s CreateCliTokenOutput) String() string {
1163	return awsutil.Prettify(s)
1164}
1165
1166// GoString returns the string representation.
1167//
1168// API parameter values that are decorated as "sensitive" in the API will not
1169// be included in the string output. The member name will be present, but the
1170// value will be replaced with "sensitive".
1171func (s CreateCliTokenOutput) GoString() string {
1172	return s.String()
1173}
1174
1175// SetCliToken sets the CliToken field's value.
1176func (s *CreateCliTokenOutput) SetCliToken(v string) *CreateCliTokenOutput {
1177	s.CliToken = &v
1178	return s
1179}
1180
1181// SetWebServerHostname sets the WebServerHostname field's value.
1182func (s *CreateCliTokenOutput) SetWebServerHostname(v string) *CreateCliTokenOutput {
1183	s.WebServerHostname = &v
1184	return s
1185}
1186
1187// This section contains the Amazon Managed Workflows for Apache Airflow (MWAA)
1188// API reference documentation to create an environment. For more information,
1189// see Get started with Amazon Managed Workflows for Apache Airflow (https://docs.aws.amazon.com/mwaa/latest/userguide/get-started.html).
1190type CreateEnvironmentInput struct {
1191	_ struct{} `type:"structure"`
1192
1193	// A list of key-value pairs containing the Apache Airflow configuration options
1194	// you want to attach to your environment. To learn more, see Apache Airflow
1195	// configuration options (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html).
1196	//
1197	// AirflowConfigurationOptions is a sensitive parameter and its value will be
1198	// replaced with "sensitive" in string returned by CreateEnvironmentInput's
1199	// String and GoString methods.
1200	AirflowConfigurationOptions map[string]*string `type:"map" sensitive:"true"`
1201
1202	// The Apache Airflow version for your environment. For example, v1.10.12. If
1203	// no value is specified, defaults to the latest version. Valid values: v1.10.12.
1204	AirflowVersion *string `min:"1" type:"string"`
1205
1206	// The relative path to the DAGs folder on your Amazon S3 bucket. For example,
1207	// dags. To learn more, see Adding or updating DAGs (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html).
1208	//
1209	// DagS3Path is a required field
1210	DagS3Path *string `min:"1" type:"string" required:"true"`
1211
1212	// The environment class type. Valid values: mw1.small, mw1.medium, mw1.large.
1213	// To learn more, see Amazon MWAA environment class (https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html).
1214	EnvironmentClass *string `min:"1" type:"string"`
1215
1216	// The Amazon Resource Name (ARN) of the execution role for your environment.
1217	// An execution role is an AWS Identity and Access Management (IAM) role that
1218	// grants MWAA permission to access AWS services and resources used by your
1219	// environment. For example, arn:aws:iam::123456789:role/my-execution-role.
1220	// To learn more, see Amazon MWAA Execution role (https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html).
1221	//
1222	// ExecutionRoleArn is a required field
1223	ExecutionRoleArn *string `min:"1" type:"string" required:"true"`
1224
1225	// The AWS Key Management Service (KMS) key to encrypt the data in your environment.
1226	// You can use an AWS owned CMK, or a Customer managed CMK (advanced). To learn
1227	// more, see Get started with Amazon Managed Workflows for Apache Airflow (https://docs.aws.amazon.com/mwaa/latest/userguide/get-started.html).
1228	KmsKey *string `min:"1" type:"string"`
1229
1230	// Defines the Apache Airflow logs to send to CloudWatch Logs: DagProcessingLogs,
1231	// SchedulerLogs, TaskLogs, WebserverLogs, WorkerLogs.
1232	LoggingConfiguration *LoggingConfigurationInput `type:"structure"`
1233
1234	// The maximum number of workers that you want to run in your environment. MWAA
1235	// scales the number of Apache Airflow workers up to the number you specify
1236	// in the MaxWorkers field. For example, 20. When there are no more tasks running,
1237	// and no more in the queue, MWAA disposes of the extra workers leaving the
1238	// one worker that is included with your environment, or the number you specify
1239	// in MinWorkers.
1240	MaxWorkers *int64 `min:"1" type:"integer"`
1241
1242	// The minimum number of workers that you want to run in your environment. MWAA
1243	// scales the number of Apache Airflow workers up to the number you specify
1244	// in the MaxWorkers field. When there are no more tasks running, and no more
1245	// in the queue, MWAA disposes of the extra workers leaving the worker count
1246	// you specify in the MinWorkers field. For example, 2.
1247	MinWorkers *int64 `min:"1" type:"integer"`
1248
1249	// The name of the Amazon MWAA environment. For example, MyMWAAEnvironment.
1250	//
1251	// Name is a required field
1252	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
1253
1254	// The VPC networking components used to secure and enable network traffic between
1255	// the AWS resources for your environment. To learn more, see About networking
1256	// on Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html).
1257	//
1258	// NetworkConfiguration is a required field
1259	NetworkConfiguration *NetworkConfiguration `type:"structure" required:"true"`
1260
1261	// The version of the plugins.zip file on your Amazon S3 bucket. A version must
1262	// be specified each time a plugins.zip file is updated. To learn more, see
1263	// How S3 Versioning works (https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html).
1264	PluginsS3ObjectVersion *string `min:"1" type:"string"`
1265
1266	// The relative path to the plugins.zip file on your Amazon S3 bucket. For example,
1267	// plugins.zip. If specified, then the plugins.zip version is required. To learn
1268	// more, see Installing custom plugins (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html).
1269	PluginsS3Path *string `min:"1" type:"string"`
1270
1271	// The version of the requirements.txt file on your Amazon S3 bucket. A version
1272	// must be specified each time a requirements.txt file is updated. To learn
1273	// more, see How S3 Versioning works (https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html).
1274	RequirementsS3ObjectVersion *string `min:"1" type:"string"`
1275
1276	// The relative path to the requirements.txt file on your Amazon S3 bucket.
1277	// For example, requirements.txt. If specified, then a file version is required.
1278	// To learn more, see Installing Python dependencies (https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html).
1279	RequirementsS3Path *string `min:"1" type:"string"`
1280
1281	// The number of Apache Airflow schedulers to run in your environment.
1282	Schedulers *int64 `type:"integer"`
1283
1284	// The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code
1285	// and supporting files are stored. For example, arn:aws:s3:::my-airflow-bucket-unique-name.
1286	// To learn more, see Create an Amazon S3 bucket for Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html).
1287	//
1288	// SourceBucketArn is a required field
1289	SourceBucketArn *string `min:"1" type:"string" required:"true"`
1290
1291	// The key-value tag pairs you want to associate to your environment. For example,
1292	// "Environment": "Staging". To learn more, see Tagging AWS resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html).
1293	Tags map[string]*string `min:"1" type:"map"`
1294
1295	// The Apache Airflow Web server access mode. To learn more, see Apache Airflow
1296	// access modes (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html).
1297	WebserverAccessMode *string `type:"string" enum:"WebserverAccessMode"`
1298
1299	// The day and time of the week to start weekly maintenance updates of your
1300	// environment in the following format: DAY:HH:MM. For example: TUE:03:30. You
1301	// can specify a start time in 30 minute increments only. Supported input includes
1302	// the following:
1303	//
1304	//    * MON|TUE|WED|THU|FRI|SAT|SUN:([01]\\d|2[0-3]):(00|30)
1305	WeeklyMaintenanceWindowStart *string `min:"1" type:"string"`
1306}
1307
1308// String returns the string representation.
1309//
1310// API parameter values that are decorated as "sensitive" in the API will not
1311// be included in the string output. The member name will be present, but the
1312// value will be replaced with "sensitive".
1313func (s CreateEnvironmentInput) String() string {
1314	return awsutil.Prettify(s)
1315}
1316
1317// GoString returns the string representation.
1318//
1319// API parameter values that are decorated as "sensitive" in the API will not
1320// be included in the string output. The member name will be present, but the
1321// value will be replaced with "sensitive".
1322func (s CreateEnvironmentInput) GoString() string {
1323	return s.String()
1324}
1325
1326// Validate inspects the fields of the type to determine if they are valid.
1327func (s *CreateEnvironmentInput) Validate() error {
1328	invalidParams := request.ErrInvalidParams{Context: "CreateEnvironmentInput"}
1329	if s.AirflowVersion != nil && len(*s.AirflowVersion) < 1 {
1330		invalidParams.Add(request.NewErrParamMinLen("AirflowVersion", 1))
1331	}
1332	if s.DagS3Path == nil {
1333		invalidParams.Add(request.NewErrParamRequired("DagS3Path"))
1334	}
1335	if s.DagS3Path != nil && len(*s.DagS3Path) < 1 {
1336		invalidParams.Add(request.NewErrParamMinLen("DagS3Path", 1))
1337	}
1338	if s.EnvironmentClass != nil && len(*s.EnvironmentClass) < 1 {
1339		invalidParams.Add(request.NewErrParamMinLen("EnvironmentClass", 1))
1340	}
1341	if s.ExecutionRoleArn == nil {
1342		invalidParams.Add(request.NewErrParamRequired("ExecutionRoleArn"))
1343	}
1344	if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 1 {
1345		invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 1))
1346	}
1347	if s.KmsKey != nil && len(*s.KmsKey) < 1 {
1348		invalidParams.Add(request.NewErrParamMinLen("KmsKey", 1))
1349	}
1350	if s.MaxWorkers != nil && *s.MaxWorkers < 1 {
1351		invalidParams.Add(request.NewErrParamMinValue("MaxWorkers", 1))
1352	}
1353	if s.MinWorkers != nil && *s.MinWorkers < 1 {
1354		invalidParams.Add(request.NewErrParamMinValue("MinWorkers", 1))
1355	}
1356	if s.Name == nil {
1357		invalidParams.Add(request.NewErrParamRequired("Name"))
1358	}
1359	if s.Name != nil && len(*s.Name) < 1 {
1360		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
1361	}
1362	if s.NetworkConfiguration == nil {
1363		invalidParams.Add(request.NewErrParamRequired("NetworkConfiguration"))
1364	}
1365	if s.PluginsS3ObjectVersion != nil && len(*s.PluginsS3ObjectVersion) < 1 {
1366		invalidParams.Add(request.NewErrParamMinLen("PluginsS3ObjectVersion", 1))
1367	}
1368	if s.PluginsS3Path != nil && len(*s.PluginsS3Path) < 1 {
1369		invalidParams.Add(request.NewErrParamMinLen("PluginsS3Path", 1))
1370	}
1371	if s.RequirementsS3ObjectVersion != nil && len(*s.RequirementsS3ObjectVersion) < 1 {
1372		invalidParams.Add(request.NewErrParamMinLen("RequirementsS3ObjectVersion", 1))
1373	}
1374	if s.RequirementsS3Path != nil && len(*s.RequirementsS3Path) < 1 {
1375		invalidParams.Add(request.NewErrParamMinLen("RequirementsS3Path", 1))
1376	}
1377	if s.SourceBucketArn == nil {
1378		invalidParams.Add(request.NewErrParamRequired("SourceBucketArn"))
1379	}
1380	if s.SourceBucketArn != nil && len(*s.SourceBucketArn) < 1 {
1381		invalidParams.Add(request.NewErrParamMinLen("SourceBucketArn", 1))
1382	}
1383	if s.Tags != nil && len(s.Tags) < 1 {
1384		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
1385	}
1386	if s.WeeklyMaintenanceWindowStart != nil && len(*s.WeeklyMaintenanceWindowStart) < 1 {
1387		invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceWindowStart", 1))
1388	}
1389	if s.LoggingConfiguration != nil {
1390		if err := s.LoggingConfiguration.Validate(); err != nil {
1391			invalidParams.AddNested("LoggingConfiguration", err.(request.ErrInvalidParams))
1392		}
1393	}
1394	if s.NetworkConfiguration != nil {
1395		if err := s.NetworkConfiguration.Validate(); err != nil {
1396			invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams))
1397		}
1398	}
1399
1400	if invalidParams.Len() > 0 {
1401		return invalidParams
1402	}
1403	return nil
1404}
1405
1406// SetAirflowConfigurationOptions sets the AirflowConfigurationOptions field's value.
1407func (s *CreateEnvironmentInput) SetAirflowConfigurationOptions(v map[string]*string) *CreateEnvironmentInput {
1408	s.AirflowConfigurationOptions = v
1409	return s
1410}
1411
1412// SetAirflowVersion sets the AirflowVersion field's value.
1413func (s *CreateEnvironmentInput) SetAirflowVersion(v string) *CreateEnvironmentInput {
1414	s.AirflowVersion = &v
1415	return s
1416}
1417
1418// SetDagS3Path sets the DagS3Path field's value.
1419func (s *CreateEnvironmentInput) SetDagS3Path(v string) *CreateEnvironmentInput {
1420	s.DagS3Path = &v
1421	return s
1422}
1423
1424// SetEnvironmentClass sets the EnvironmentClass field's value.
1425func (s *CreateEnvironmentInput) SetEnvironmentClass(v string) *CreateEnvironmentInput {
1426	s.EnvironmentClass = &v
1427	return s
1428}
1429
1430// SetExecutionRoleArn sets the ExecutionRoleArn field's value.
1431func (s *CreateEnvironmentInput) SetExecutionRoleArn(v string) *CreateEnvironmentInput {
1432	s.ExecutionRoleArn = &v
1433	return s
1434}
1435
1436// SetKmsKey sets the KmsKey field's value.
1437func (s *CreateEnvironmentInput) SetKmsKey(v string) *CreateEnvironmentInput {
1438	s.KmsKey = &v
1439	return s
1440}
1441
1442// SetLoggingConfiguration sets the LoggingConfiguration field's value.
1443func (s *CreateEnvironmentInput) SetLoggingConfiguration(v *LoggingConfigurationInput) *CreateEnvironmentInput {
1444	s.LoggingConfiguration = v
1445	return s
1446}
1447
1448// SetMaxWorkers sets the MaxWorkers field's value.
1449func (s *CreateEnvironmentInput) SetMaxWorkers(v int64) *CreateEnvironmentInput {
1450	s.MaxWorkers = &v
1451	return s
1452}
1453
1454// SetMinWorkers sets the MinWorkers field's value.
1455func (s *CreateEnvironmentInput) SetMinWorkers(v int64) *CreateEnvironmentInput {
1456	s.MinWorkers = &v
1457	return s
1458}
1459
1460// SetName sets the Name field's value.
1461func (s *CreateEnvironmentInput) SetName(v string) *CreateEnvironmentInput {
1462	s.Name = &v
1463	return s
1464}
1465
1466// SetNetworkConfiguration sets the NetworkConfiguration field's value.
1467func (s *CreateEnvironmentInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateEnvironmentInput {
1468	s.NetworkConfiguration = v
1469	return s
1470}
1471
1472// SetPluginsS3ObjectVersion sets the PluginsS3ObjectVersion field's value.
1473func (s *CreateEnvironmentInput) SetPluginsS3ObjectVersion(v string) *CreateEnvironmentInput {
1474	s.PluginsS3ObjectVersion = &v
1475	return s
1476}
1477
1478// SetPluginsS3Path sets the PluginsS3Path field's value.
1479func (s *CreateEnvironmentInput) SetPluginsS3Path(v string) *CreateEnvironmentInput {
1480	s.PluginsS3Path = &v
1481	return s
1482}
1483
1484// SetRequirementsS3ObjectVersion sets the RequirementsS3ObjectVersion field's value.
1485func (s *CreateEnvironmentInput) SetRequirementsS3ObjectVersion(v string) *CreateEnvironmentInput {
1486	s.RequirementsS3ObjectVersion = &v
1487	return s
1488}
1489
1490// SetRequirementsS3Path sets the RequirementsS3Path field's value.
1491func (s *CreateEnvironmentInput) SetRequirementsS3Path(v string) *CreateEnvironmentInput {
1492	s.RequirementsS3Path = &v
1493	return s
1494}
1495
1496// SetSchedulers sets the Schedulers field's value.
1497func (s *CreateEnvironmentInput) SetSchedulers(v int64) *CreateEnvironmentInput {
1498	s.Schedulers = &v
1499	return s
1500}
1501
1502// SetSourceBucketArn sets the SourceBucketArn field's value.
1503func (s *CreateEnvironmentInput) SetSourceBucketArn(v string) *CreateEnvironmentInput {
1504	s.SourceBucketArn = &v
1505	return s
1506}
1507
1508// SetTags sets the Tags field's value.
1509func (s *CreateEnvironmentInput) SetTags(v map[string]*string) *CreateEnvironmentInput {
1510	s.Tags = v
1511	return s
1512}
1513
1514// SetWebserverAccessMode sets the WebserverAccessMode field's value.
1515func (s *CreateEnvironmentInput) SetWebserverAccessMode(v string) *CreateEnvironmentInput {
1516	s.WebserverAccessMode = &v
1517	return s
1518}
1519
1520// SetWeeklyMaintenanceWindowStart sets the WeeklyMaintenanceWindowStart field's value.
1521func (s *CreateEnvironmentInput) SetWeeklyMaintenanceWindowStart(v string) *CreateEnvironmentInput {
1522	s.WeeklyMaintenanceWindowStart = &v
1523	return s
1524}
1525
1526type CreateEnvironmentOutput struct {
1527	_ struct{} `type:"structure"`
1528
1529	// The Amazon Resource Name (ARN) returned in the response for the environment.
1530	Arn *string `min:"1" type:"string"`
1531}
1532
1533// String returns the string representation.
1534//
1535// API parameter values that are decorated as "sensitive" in the API will not
1536// be included in the string output. The member name will be present, but the
1537// value will be replaced with "sensitive".
1538func (s CreateEnvironmentOutput) String() string {
1539	return awsutil.Prettify(s)
1540}
1541
1542// GoString returns the string representation.
1543//
1544// API parameter values that are decorated as "sensitive" in the API will not
1545// be included in the string output. The member name will be present, but the
1546// value will be replaced with "sensitive".
1547func (s CreateEnvironmentOutput) GoString() string {
1548	return s.String()
1549}
1550
1551// SetArn sets the Arn field's value.
1552func (s *CreateEnvironmentOutput) SetArn(v string) *CreateEnvironmentOutput {
1553	s.Arn = &v
1554	return s
1555}
1556
1557type CreateWebLoginTokenInput struct {
1558	_ struct{} `type:"structure" nopayload:"true"`
1559
1560	// Create an Airflow Web UI login token request for a MWAA environment.
1561	//
1562	// Name is a required field
1563	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
1564}
1565
1566// String returns the string representation.
1567//
1568// API parameter values that are decorated as "sensitive" in the API will not
1569// be included in the string output. The member name will be present, but the
1570// value will be replaced with "sensitive".
1571func (s CreateWebLoginTokenInput) String() string {
1572	return awsutil.Prettify(s)
1573}
1574
1575// GoString returns the string representation.
1576//
1577// API parameter values that are decorated as "sensitive" in the API will not
1578// be included in the string output. The member name will be present, but the
1579// value will be replaced with "sensitive".
1580func (s CreateWebLoginTokenInput) GoString() string {
1581	return s.String()
1582}
1583
1584// Validate inspects the fields of the type to determine if they are valid.
1585func (s *CreateWebLoginTokenInput) Validate() error {
1586	invalidParams := request.ErrInvalidParams{Context: "CreateWebLoginTokenInput"}
1587	if s.Name == nil {
1588		invalidParams.Add(request.NewErrParamRequired("Name"))
1589	}
1590	if s.Name != nil && len(*s.Name) < 1 {
1591		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
1592	}
1593
1594	if invalidParams.Len() > 0 {
1595		return invalidParams
1596	}
1597	return nil
1598}
1599
1600// SetName sets the Name field's value.
1601func (s *CreateWebLoginTokenInput) SetName(v string) *CreateWebLoginTokenInput {
1602	s.Name = &v
1603	return s
1604}
1605
1606type CreateWebLoginTokenOutput struct {
1607	_ struct{} `type:"structure"`
1608
1609	// Create an Airflow Web UI login token response for the provided webserver
1610	// hostname.
1611	WebServerHostname *string `min:"1" type:"string"`
1612
1613	// Create an Airflow Web UI login token response for the provided JWT token.
1614	//
1615	// WebToken is a sensitive parameter and its value will be
1616	// replaced with "sensitive" in string returned by CreateWebLoginTokenOutput's
1617	// String and GoString methods.
1618	WebToken *string `type:"string" sensitive:"true"`
1619}
1620
1621// String returns the string representation.
1622//
1623// API parameter values that are decorated as "sensitive" in the API will not
1624// be included in the string output. The member name will be present, but the
1625// value will be replaced with "sensitive".
1626func (s CreateWebLoginTokenOutput) String() string {
1627	return awsutil.Prettify(s)
1628}
1629
1630// GoString returns the string representation.
1631//
1632// API parameter values that are decorated as "sensitive" in the API will not
1633// be included in the string output. The member name will be present, but the
1634// value will be replaced with "sensitive".
1635func (s CreateWebLoginTokenOutput) GoString() string {
1636	return s.String()
1637}
1638
1639// SetWebServerHostname sets the WebServerHostname field's value.
1640func (s *CreateWebLoginTokenOutput) SetWebServerHostname(v string) *CreateWebLoginTokenOutput {
1641	s.WebServerHostname = &v
1642	return s
1643}
1644
1645// SetWebToken sets the WebToken field's value.
1646func (s *CreateWebLoginTokenOutput) SetWebToken(v string) *CreateWebLoginTokenOutput {
1647	s.WebToken = &v
1648	return s
1649}
1650
1651type DeleteEnvironmentInput struct {
1652	_ struct{} `type:"structure" nopayload:"true"`
1653
1654	// The name of the Amazon MWAA environment. For example, MyMWAAEnvironment.
1655	//
1656	// Name is a required field
1657	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
1658}
1659
1660// String returns the string representation.
1661//
1662// API parameter values that are decorated as "sensitive" in the API will not
1663// be included in the string output. The member name will be present, but the
1664// value will be replaced with "sensitive".
1665func (s DeleteEnvironmentInput) String() string {
1666	return awsutil.Prettify(s)
1667}
1668
1669// GoString returns the string representation.
1670//
1671// API parameter values that are decorated as "sensitive" in the API will not
1672// be included in the string output. The member name will be present, but the
1673// value will be replaced with "sensitive".
1674func (s DeleteEnvironmentInput) GoString() string {
1675	return s.String()
1676}
1677
1678// Validate inspects the fields of the type to determine if they are valid.
1679func (s *DeleteEnvironmentInput) Validate() error {
1680	invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentInput"}
1681	if s.Name == nil {
1682		invalidParams.Add(request.NewErrParamRequired("Name"))
1683	}
1684	if s.Name != nil && len(*s.Name) < 1 {
1685		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
1686	}
1687
1688	if invalidParams.Len() > 0 {
1689		return invalidParams
1690	}
1691	return nil
1692}
1693
1694// SetName sets the Name field's value.
1695func (s *DeleteEnvironmentInput) SetName(v string) *DeleteEnvironmentInput {
1696	s.Name = &v
1697	return s
1698}
1699
1700type DeleteEnvironmentOutput struct {
1701	_ struct{} `type:"structure"`
1702}
1703
1704// String returns the string representation.
1705//
1706// API parameter values that are decorated as "sensitive" in the API will not
1707// be included in the string output. The member name will be present, but the
1708// value will be replaced with "sensitive".
1709func (s DeleteEnvironmentOutput) String() string {
1710	return awsutil.Prettify(s)
1711}
1712
1713// GoString returns the string representation.
1714//
1715// API parameter values that are decorated as "sensitive" in the API will not
1716// be included in the string output. The member name will be present, but the
1717// value will be replaced with "sensitive".
1718func (s DeleteEnvironmentOutput) GoString() string {
1719	return s.String()
1720}
1721
1722// Internal only API.
1723type Dimension struct {
1724	_ struct{} `type:"structure"`
1725
1726	// Internal only API.
1727	//
1728	// Name is a required field
1729	Name *string `type:"string" required:"true"`
1730
1731	// Internal only API.
1732	//
1733	// Value is a required field
1734	Value *string `type:"string" required:"true"`
1735}
1736
1737// String returns the string representation.
1738//
1739// API parameter values that are decorated as "sensitive" in the API will not
1740// be included in the string output. The member name will be present, but the
1741// value will be replaced with "sensitive".
1742func (s Dimension) String() string {
1743	return awsutil.Prettify(s)
1744}
1745
1746// GoString returns the string representation.
1747//
1748// API parameter values that are decorated as "sensitive" in the API will not
1749// be included in the string output. The member name will be present, but the
1750// value will be replaced with "sensitive".
1751func (s Dimension) GoString() string {
1752	return s.String()
1753}
1754
1755// Validate inspects the fields of the type to determine if they are valid.
1756func (s *Dimension) Validate() error {
1757	invalidParams := request.ErrInvalidParams{Context: "Dimension"}
1758	if s.Name == nil {
1759		invalidParams.Add(request.NewErrParamRequired("Name"))
1760	}
1761	if s.Value == nil {
1762		invalidParams.Add(request.NewErrParamRequired("Value"))
1763	}
1764
1765	if invalidParams.Len() > 0 {
1766		return invalidParams
1767	}
1768	return nil
1769}
1770
1771// SetName sets the Name field's value.
1772func (s *Dimension) SetName(v string) *Dimension {
1773	s.Name = &v
1774	return s
1775}
1776
1777// SetValue sets the Value field's value.
1778func (s *Dimension) SetValue(v string) *Dimension {
1779	s.Value = &v
1780	return s
1781}
1782
1783// The Amazon Managed Workflows for Apache Airflow (MWAA) environment.
1784type Environment struct {
1785	_ struct{} `type:"structure"`
1786
1787	// A list of key-value pairs containing the Apache Airflow configuration options
1788	// attached to your environment. To learn more, see Apache Airflow configuration
1789	// options (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html).
1790	AirflowConfigurationOptions map[string]*string `type:"map"`
1791
1792	// The Apache Airflow version on your environment. For example, v1.10.12.
1793	AirflowVersion *string `min:"1" type:"string"`
1794
1795	// The Amazon Resource Name (ARN) of the Amazon MWAA environment.
1796	Arn *string `min:"1" type:"string"`
1797
1798	// The day and time the environment was created.
1799	CreatedAt *time.Time `type:"timestamp"`
1800
1801	// The relative path to the DAGs folder on your Amazon S3 bucket. For example,
1802	// dags. To learn more, see Adding or updating DAGs (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html).
1803	DagS3Path *string `min:"1" type:"string"`
1804
1805	// The environment class type. Valid values: mw1.small, mw1.medium, mw1.large.
1806	// To learn more, see Amazon MWAA environment class (https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html).
1807	EnvironmentClass *string `min:"1" type:"string"`
1808
1809	// The Amazon Resource Name (ARN) of the execution role in IAM that allows MWAA
1810	// to access AWS resources in your environment. For example, arn:aws:iam::123456789:role/my-execution-role.
1811	// To learn more, see Amazon MWAA Execution role (https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html).
1812	ExecutionRoleArn *string `min:"1" type:"string"`
1813
1814	// The Key Management Service (KMS) encryption key used to encrypt the data
1815	// in your environment.
1816	KmsKey *string `min:"1" type:"string"`
1817
1818	// The status of the last update on the environment, and any errors that were
1819	// encountered.
1820	LastUpdate *LastUpdate `type:"structure"`
1821
1822	// The Apache Airflow logs being sent to CloudWatch Logs: DagProcessingLogs,
1823	// SchedulerLogs, TaskLogs, WebserverLogs, WorkerLogs.
1824	LoggingConfiguration *LoggingConfiguration `type:"structure"`
1825
1826	// The maximum number of workers that run in your environment. For example,
1827	// 20.
1828	MaxWorkers *int64 `min:"1" type:"integer"`
1829
1830	// The minimum number of workers that run in your environment. For example,
1831	// 2.
1832	MinWorkers *int64 `min:"1" type:"integer"`
1833
1834	// The name of the Amazon MWAA environment. For example, MyMWAAEnvironment.
1835	Name *string `min:"1" type:"string"`
1836
1837	// The VPC networking components used to secure and enable network traffic between
1838	// the AWS resources for your environment. To learn more, see About networking
1839	// on Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html).
1840	NetworkConfiguration *NetworkConfiguration `type:"structure"`
1841
1842	// The version of the plugins.zip file on your Amazon S3 bucket. To learn more,
1843	// see Installing custom plugins (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html).
1844	PluginsS3ObjectVersion *string `min:"1" type:"string"`
1845
1846	// The relative path to the plugins.zip file on your Amazon S3 bucket. For example,
1847	// plugins.zip. To learn more, see Installing custom plugins (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html).
1848	PluginsS3Path *string `min:"1" type:"string"`
1849
1850	// The version of the requirements.txt file on your Amazon S3 bucket. To learn
1851	// more, see Installing Python dependencies (https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html).
1852	RequirementsS3ObjectVersion *string `min:"1" type:"string"`
1853
1854	// The relative path to the requirements.txt file on your Amazon S3 bucket.
1855	// For example, requirements.txt. To learn more, see Installing Python dependencies
1856	// (https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html).
1857	RequirementsS3Path *string `min:"1" type:"string"`
1858
1859	// The number of Apache Airflow schedulers that run in your Amazon MWAA environment.
1860	Schedulers *int64 `type:"integer"`
1861
1862	// The Amazon Resource Name (ARN) for the service-linked role of the environment.
1863	// To learn more, see Amazon MWAA Service-linked role (https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-slr.html).
1864	ServiceRoleArn *string `min:"1" type:"string"`
1865
1866	// The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code
1867	// and supporting files are stored. For example, arn:aws:s3:::my-airflow-bucket-unique-name.
1868	// To learn more, see Create an Amazon S3 bucket for Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html).
1869	SourceBucketArn *string `min:"1" type:"string"`
1870
1871	// The status of the Amazon MWAA environment. Valid values:
1872	//
1873	//    * CREATING - Indicates the request to create the environment is in progress.
1874	//
1875	//    * CREATE_FAILED - Indicates the request to create the environment failed,
1876	//    and the environment could not be created.
1877	//
1878	//    * AVAILABLE - Indicates the request was successful and the environment
1879	//    is ready to use.
1880	//
1881	//    * UPDATING - Indicates the request to update the environment is in progress.
1882	//
1883	//    * DELETING - Indicates the request to delete the environment is in progress.
1884	//
1885	//    * DELETED - Indicates the request to delete the environment is complete,
1886	//    and the environment has been deleted.
1887	//
1888	//    * UNAVAILABLE - Indicates the request failed, but the environment was
1889	//    unable to rollback and is not in a stable state.
1890	//
1891	//    * UPDATE_FAILED - Indicates the request to update the environment failed,
1892	//    and the environment has rolled back successfully and is ready to use.
1893	//
1894	// We recommend reviewing our troubleshooting guide for a list of common errors
1895	// and their solutions. To learn more, see Amazon MWAA troubleshooting (https://docs.aws.amazon.com/mwaa/latest/userguide/troubleshooting.html).
1896	Status *string `type:"string" enum:"EnvironmentStatus"`
1897
1898	// The key-value tag pairs associated to your environment. For example, "Environment":
1899	// "Staging". To learn more, see Tagging AWS resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html).
1900	Tags map[string]*string `min:"1" type:"map"`
1901
1902	// The Apache Airflow Web server access mode. To learn more, see Apache Airflow
1903	// access modes (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html).
1904	WebserverAccessMode *string `type:"string" enum:"WebserverAccessMode"`
1905
1906	// The Apache Airflow Web server host name for the Amazon MWAA environment.
1907	// To learn more, see Accessing the Apache Airflow UI (https://docs.aws.amazon.com/mwaa/latest/userguide/access-airflow-ui.html).
1908	WebserverUrl *string `min:"1" type:"string"`
1909
1910	// The day and time of the week that weekly maintenance updates are scheduled.
1911	// For example: TUE:03:30.
1912	WeeklyMaintenanceWindowStart *string `min:"1" type:"string"`
1913}
1914
1915// String returns the string representation.
1916//
1917// API parameter values that are decorated as "sensitive" in the API will not
1918// be included in the string output. The member name will be present, but the
1919// value will be replaced with "sensitive".
1920func (s Environment) String() string {
1921	return awsutil.Prettify(s)
1922}
1923
1924// GoString returns the string representation.
1925//
1926// API parameter values that are decorated as "sensitive" in the API will not
1927// be included in the string output. The member name will be present, but the
1928// value will be replaced with "sensitive".
1929func (s Environment) GoString() string {
1930	return s.String()
1931}
1932
1933// SetAirflowConfigurationOptions sets the AirflowConfigurationOptions field's value.
1934func (s *Environment) SetAirflowConfigurationOptions(v map[string]*string) *Environment {
1935	s.AirflowConfigurationOptions = v
1936	return s
1937}
1938
1939// SetAirflowVersion sets the AirflowVersion field's value.
1940func (s *Environment) SetAirflowVersion(v string) *Environment {
1941	s.AirflowVersion = &v
1942	return s
1943}
1944
1945// SetArn sets the Arn field's value.
1946func (s *Environment) SetArn(v string) *Environment {
1947	s.Arn = &v
1948	return s
1949}
1950
1951// SetCreatedAt sets the CreatedAt field's value.
1952func (s *Environment) SetCreatedAt(v time.Time) *Environment {
1953	s.CreatedAt = &v
1954	return s
1955}
1956
1957// SetDagS3Path sets the DagS3Path field's value.
1958func (s *Environment) SetDagS3Path(v string) *Environment {
1959	s.DagS3Path = &v
1960	return s
1961}
1962
1963// SetEnvironmentClass sets the EnvironmentClass field's value.
1964func (s *Environment) SetEnvironmentClass(v string) *Environment {
1965	s.EnvironmentClass = &v
1966	return s
1967}
1968
1969// SetExecutionRoleArn sets the ExecutionRoleArn field's value.
1970func (s *Environment) SetExecutionRoleArn(v string) *Environment {
1971	s.ExecutionRoleArn = &v
1972	return s
1973}
1974
1975// SetKmsKey sets the KmsKey field's value.
1976func (s *Environment) SetKmsKey(v string) *Environment {
1977	s.KmsKey = &v
1978	return s
1979}
1980
1981// SetLastUpdate sets the LastUpdate field's value.
1982func (s *Environment) SetLastUpdate(v *LastUpdate) *Environment {
1983	s.LastUpdate = v
1984	return s
1985}
1986
1987// SetLoggingConfiguration sets the LoggingConfiguration field's value.
1988func (s *Environment) SetLoggingConfiguration(v *LoggingConfiguration) *Environment {
1989	s.LoggingConfiguration = v
1990	return s
1991}
1992
1993// SetMaxWorkers sets the MaxWorkers field's value.
1994func (s *Environment) SetMaxWorkers(v int64) *Environment {
1995	s.MaxWorkers = &v
1996	return s
1997}
1998
1999// SetMinWorkers sets the MinWorkers field's value.
2000func (s *Environment) SetMinWorkers(v int64) *Environment {
2001	s.MinWorkers = &v
2002	return s
2003}
2004
2005// SetName sets the Name field's value.
2006func (s *Environment) SetName(v string) *Environment {
2007	s.Name = &v
2008	return s
2009}
2010
2011// SetNetworkConfiguration sets the NetworkConfiguration field's value.
2012func (s *Environment) SetNetworkConfiguration(v *NetworkConfiguration) *Environment {
2013	s.NetworkConfiguration = v
2014	return s
2015}
2016
2017// SetPluginsS3ObjectVersion sets the PluginsS3ObjectVersion field's value.
2018func (s *Environment) SetPluginsS3ObjectVersion(v string) *Environment {
2019	s.PluginsS3ObjectVersion = &v
2020	return s
2021}
2022
2023// SetPluginsS3Path sets the PluginsS3Path field's value.
2024func (s *Environment) SetPluginsS3Path(v string) *Environment {
2025	s.PluginsS3Path = &v
2026	return s
2027}
2028
2029// SetRequirementsS3ObjectVersion sets the RequirementsS3ObjectVersion field's value.
2030func (s *Environment) SetRequirementsS3ObjectVersion(v string) *Environment {
2031	s.RequirementsS3ObjectVersion = &v
2032	return s
2033}
2034
2035// SetRequirementsS3Path sets the RequirementsS3Path field's value.
2036func (s *Environment) SetRequirementsS3Path(v string) *Environment {
2037	s.RequirementsS3Path = &v
2038	return s
2039}
2040
2041// SetSchedulers sets the Schedulers field's value.
2042func (s *Environment) SetSchedulers(v int64) *Environment {
2043	s.Schedulers = &v
2044	return s
2045}
2046
2047// SetServiceRoleArn sets the ServiceRoleArn field's value.
2048func (s *Environment) SetServiceRoleArn(v string) *Environment {
2049	s.ServiceRoleArn = &v
2050	return s
2051}
2052
2053// SetSourceBucketArn sets the SourceBucketArn field's value.
2054func (s *Environment) SetSourceBucketArn(v string) *Environment {
2055	s.SourceBucketArn = &v
2056	return s
2057}
2058
2059// SetStatus sets the Status field's value.
2060func (s *Environment) SetStatus(v string) *Environment {
2061	s.Status = &v
2062	return s
2063}
2064
2065// SetTags sets the Tags field's value.
2066func (s *Environment) SetTags(v map[string]*string) *Environment {
2067	s.Tags = v
2068	return s
2069}
2070
2071// SetWebserverAccessMode sets the WebserverAccessMode field's value.
2072func (s *Environment) SetWebserverAccessMode(v string) *Environment {
2073	s.WebserverAccessMode = &v
2074	return s
2075}
2076
2077// SetWebserverUrl sets the WebserverUrl field's value.
2078func (s *Environment) SetWebserverUrl(v string) *Environment {
2079	s.WebserverUrl = &v
2080	return s
2081}
2082
2083// SetWeeklyMaintenanceWindowStart sets the WeeklyMaintenanceWindowStart field's value.
2084func (s *Environment) SetWeeklyMaintenanceWindowStart(v string) *Environment {
2085	s.WeeklyMaintenanceWindowStart = &v
2086	return s
2087}
2088
2089type GetEnvironmentInput struct {
2090	_ struct{} `type:"structure" nopayload:"true"`
2091
2092	// The name of the Amazon MWAA environment. For example, MyMWAAEnvironment.
2093	//
2094	// Name is a required field
2095	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
2096}
2097
2098// String returns the string representation.
2099//
2100// API parameter values that are decorated as "sensitive" in the API will not
2101// be included in the string output. The member name will be present, but the
2102// value will be replaced with "sensitive".
2103func (s GetEnvironmentInput) String() string {
2104	return awsutil.Prettify(s)
2105}
2106
2107// GoString returns the string representation.
2108//
2109// API parameter values that are decorated as "sensitive" in the API will not
2110// be included in the string output. The member name will be present, but the
2111// value will be replaced with "sensitive".
2112func (s GetEnvironmentInput) GoString() string {
2113	return s.String()
2114}
2115
2116// Validate inspects the fields of the type to determine if they are valid.
2117func (s *GetEnvironmentInput) Validate() error {
2118	invalidParams := request.ErrInvalidParams{Context: "GetEnvironmentInput"}
2119	if s.Name == nil {
2120		invalidParams.Add(request.NewErrParamRequired("Name"))
2121	}
2122	if s.Name != nil && len(*s.Name) < 1 {
2123		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
2124	}
2125
2126	if invalidParams.Len() > 0 {
2127		return invalidParams
2128	}
2129	return nil
2130}
2131
2132// SetName sets the Name field's value.
2133func (s *GetEnvironmentInput) SetName(v string) *GetEnvironmentInput {
2134	s.Name = &v
2135	return s
2136}
2137
2138type GetEnvironmentOutput struct {
2139	_ struct{} `type:"structure"`
2140
2141	// An object containing all available details about the environment.
2142	Environment *Environment `type:"structure"`
2143}
2144
2145// String returns the string representation.
2146//
2147// API parameter values that are decorated as "sensitive" in the API will not
2148// be included in the string output. The member name will be present, but the
2149// value will be replaced with "sensitive".
2150func (s GetEnvironmentOutput) String() string {
2151	return awsutil.Prettify(s)
2152}
2153
2154// GoString returns the string representation.
2155//
2156// API parameter values that are decorated as "sensitive" in the API will not
2157// be included in the string output. The member name will be present, but the
2158// value will be replaced with "sensitive".
2159func (s GetEnvironmentOutput) GoString() string {
2160	return s.String()
2161}
2162
2163// SetEnvironment sets the Environment field's value.
2164func (s *GetEnvironmentOutput) SetEnvironment(v *Environment) *GetEnvironmentOutput {
2165	s.Environment = v
2166	return s
2167}
2168
2169// InternalServerException: An internal error has occurred.
2170type InternalServerException struct {
2171	_            struct{}                  `type:"structure"`
2172	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2173
2174	Message_ *string `locationName:"message" type:"string"`
2175}
2176
2177// String returns the string representation.
2178//
2179// API parameter values that are decorated as "sensitive" in the API will not
2180// be included in the string output. The member name will be present, but the
2181// value will be replaced with "sensitive".
2182func (s InternalServerException) String() string {
2183	return awsutil.Prettify(s)
2184}
2185
2186// GoString returns the string representation.
2187//
2188// API parameter values that are decorated as "sensitive" in the API will not
2189// be included in the string output. The member name will be present, but the
2190// value will be replaced with "sensitive".
2191func (s InternalServerException) GoString() string {
2192	return s.String()
2193}
2194
2195func newErrorInternalServerException(v protocol.ResponseMetadata) error {
2196	return &InternalServerException{
2197		RespMetadata: v,
2198	}
2199}
2200
2201// Code returns the exception type name.
2202func (s *InternalServerException) Code() string {
2203	return "InternalServerException"
2204}
2205
2206// Message returns the exception's message.
2207func (s *InternalServerException) Message() string {
2208	if s.Message_ != nil {
2209		return *s.Message_
2210	}
2211	return ""
2212}
2213
2214// OrigErr always returns nil, satisfies awserr.Error interface.
2215func (s *InternalServerException) OrigErr() error {
2216	return nil
2217}
2218
2219func (s *InternalServerException) Error() string {
2220	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2221}
2222
2223// Status code returns the HTTP status code for the request's response error.
2224func (s *InternalServerException) StatusCode() int {
2225	return s.RespMetadata.StatusCode
2226}
2227
2228// RequestID returns the service's response RequestID for request.
2229func (s *InternalServerException) RequestID() string {
2230	return s.RespMetadata.RequestID
2231}
2232
2233// The status of the last update on the environment, and any errors that were
2234// encountered.
2235type LastUpdate struct {
2236	_ struct{} `type:"structure"`
2237
2238	// The day and time of the last update on the environment.
2239	CreatedAt *time.Time `type:"timestamp"`
2240
2241	// The error that was encountered during the last update of the environment.
2242	Error *UpdateError `type:"structure"`
2243
2244	// The status of the last update on the environment. Valid values: SUCCESS,
2245	// PENDING, FAILED.
2246	Status *string `type:"string" enum:"UpdateStatus"`
2247}
2248
2249// String returns the string representation.
2250//
2251// API parameter values that are decorated as "sensitive" in the API will not
2252// be included in the string output. The member name will be present, but the
2253// value will be replaced with "sensitive".
2254func (s LastUpdate) String() string {
2255	return awsutil.Prettify(s)
2256}
2257
2258// GoString returns the string representation.
2259//
2260// API parameter values that are decorated as "sensitive" in the API will not
2261// be included in the string output. The member name will be present, but the
2262// value will be replaced with "sensitive".
2263func (s LastUpdate) GoString() string {
2264	return s.String()
2265}
2266
2267// SetCreatedAt sets the CreatedAt field's value.
2268func (s *LastUpdate) SetCreatedAt(v time.Time) *LastUpdate {
2269	s.CreatedAt = &v
2270	return s
2271}
2272
2273// SetError sets the Error field's value.
2274func (s *LastUpdate) SetError(v *UpdateError) *LastUpdate {
2275	s.Error = v
2276	return s
2277}
2278
2279// SetStatus sets the Status field's value.
2280func (s *LastUpdate) SetStatus(v string) *LastUpdate {
2281	s.Status = &v
2282	return s
2283}
2284
2285type ListEnvironmentsInput struct {
2286	_ struct{} `type:"structure" nopayload:"true"`
2287
2288	// The maximum number of results to retrieve per page. For example, 5 environments
2289	// per page.
2290	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
2291
2292	// Retrieves the next page of the results.
2293	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
2294}
2295
2296// String returns the string representation.
2297//
2298// API parameter values that are decorated as "sensitive" in the API will not
2299// be included in the string output. The member name will be present, but the
2300// value will be replaced with "sensitive".
2301func (s ListEnvironmentsInput) String() string {
2302	return awsutil.Prettify(s)
2303}
2304
2305// GoString returns the string representation.
2306//
2307// API parameter values that are decorated as "sensitive" in the API will not
2308// be included in the string output. The member name will be present, but the
2309// value will be replaced with "sensitive".
2310func (s ListEnvironmentsInput) GoString() string {
2311	return s.String()
2312}
2313
2314// Validate inspects the fields of the type to determine if they are valid.
2315func (s *ListEnvironmentsInput) Validate() error {
2316	invalidParams := request.ErrInvalidParams{Context: "ListEnvironmentsInput"}
2317	if s.MaxResults != nil && *s.MaxResults < 1 {
2318		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
2319	}
2320
2321	if invalidParams.Len() > 0 {
2322		return invalidParams
2323	}
2324	return nil
2325}
2326
2327// SetMaxResults sets the MaxResults field's value.
2328func (s *ListEnvironmentsInput) SetMaxResults(v int64) *ListEnvironmentsInput {
2329	s.MaxResults = &v
2330	return s
2331}
2332
2333// SetNextToken sets the NextToken field's value.
2334func (s *ListEnvironmentsInput) SetNextToken(v string) *ListEnvironmentsInput {
2335	s.NextToken = &v
2336	return s
2337}
2338
2339type ListEnvironmentsOutput struct {
2340	_ struct{} `type:"structure"`
2341
2342	// Returns the list of Amazon MWAA environments.
2343	//
2344	// Environments is a required field
2345	Environments []*string `type:"list" required:"true"`
2346
2347	// Retrieves the next page of the results.
2348	NextToken *string `type:"string"`
2349}
2350
2351// String returns the string representation.
2352//
2353// API parameter values that are decorated as "sensitive" in the API will not
2354// be included in the string output. The member name will be present, but the
2355// value will be replaced with "sensitive".
2356func (s ListEnvironmentsOutput) String() string {
2357	return awsutil.Prettify(s)
2358}
2359
2360// GoString returns the string representation.
2361//
2362// API parameter values that are decorated as "sensitive" in the API will not
2363// be included in the string output. The member name will be present, but the
2364// value will be replaced with "sensitive".
2365func (s ListEnvironmentsOutput) GoString() string {
2366	return s.String()
2367}
2368
2369// SetEnvironments sets the Environments field's value.
2370func (s *ListEnvironmentsOutput) SetEnvironments(v []*string) *ListEnvironmentsOutput {
2371	s.Environments = v
2372	return s
2373}
2374
2375// SetNextToken sets the NextToken field's value.
2376func (s *ListEnvironmentsOutput) SetNextToken(v string) *ListEnvironmentsOutput {
2377	s.NextToken = &v
2378	return s
2379}
2380
2381type ListTagsForResourceInput struct {
2382	_ struct{} `type:"structure" nopayload:"true"`
2383
2384	// The Amazon Resource Name (ARN) of the Amazon MWAA environment. For example,
2385	// arn:aws:airflow:us-east-1:123456789012:environment/MyMWAAEnvironment.
2386	//
2387	// ResourceArn is a required field
2388	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"1" type:"string" required:"true"`
2389}
2390
2391// String returns the string representation.
2392//
2393// API parameter values that are decorated as "sensitive" in the API will not
2394// be included in the string output. The member name will be present, but the
2395// value will be replaced with "sensitive".
2396func (s ListTagsForResourceInput) String() string {
2397	return awsutil.Prettify(s)
2398}
2399
2400// GoString returns the string representation.
2401//
2402// API parameter values that are decorated as "sensitive" in the API will not
2403// be included in the string output. The member name will be present, but the
2404// value will be replaced with "sensitive".
2405func (s ListTagsForResourceInput) GoString() string {
2406	return s.String()
2407}
2408
2409// Validate inspects the fields of the type to determine if they are valid.
2410func (s *ListTagsForResourceInput) Validate() error {
2411	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
2412	if s.ResourceArn == nil {
2413		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
2414	}
2415	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
2416		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
2417	}
2418
2419	if invalidParams.Len() > 0 {
2420		return invalidParams
2421	}
2422	return nil
2423}
2424
2425// SetResourceArn sets the ResourceArn field's value.
2426func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
2427	s.ResourceArn = &v
2428	return s
2429}
2430
2431type ListTagsForResourceOutput struct {
2432	_ struct{} `type:"structure"`
2433
2434	// The key-value tag pairs associated to your environment. To learn more, see
2435	// Tagging AWS resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html).
2436	Tags map[string]*string `min:"1" type:"map"`
2437}
2438
2439// String returns the string representation.
2440//
2441// API parameter values that are decorated as "sensitive" in the API will not
2442// be included in the string output. The member name will be present, but the
2443// value will be replaced with "sensitive".
2444func (s ListTagsForResourceOutput) String() string {
2445	return awsutil.Prettify(s)
2446}
2447
2448// GoString returns the string representation.
2449//
2450// API parameter values that are decorated as "sensitive" in the API will not
2451// be included in the string output. The member name will be present, but the
2452// value will be replaced with "sensitive".
2453func (s ListTagsForResourceOutput) GoString() string {
2454	return s.String()
2455}
2456
2457// SetTags sets the Tags field's value.
2458func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
2459	s.Tags = v
2460	return s
2461}
2462
2463// Defines the Apache Airflow logs to send to CloudWatch Logs: DagProcessingLogs,
2464// SchedulerLogs, TaskLogs, WebserverLogs, WorkerLogs.
2465type LoggingConfiguration struct {
2466	_ struct{} `type:"structure"`
2467
2468	// Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs).
2469	// Valid values: CloudWatchLogGroupArn, Enabled, LogLevel.
2470	DagProcessingLogs *ModuleLoggingConfiguration `type:"structure"`
2471
2472	// Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs).
2473	// Valid values: CloudWatchLogGroupArn, Enabled, LogLevel.
2474	SchedulerLogs *ModuleLoggingConfiguration `type:"structure"`
2475
2476	// Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs).
2477	// Valid values: CloudWatchLogGroupArn, Enabled, LogLevel.
2478	TaskLogs *ModuleLoggingConfiguration `type:"structure"`
2479
2480	// Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs).
2481	// Valid values: CloudWatchLogGroupArn, Enabled, LogLevel.
2482	WebserverLogs *ModuleLoggingConfiguration `type:"structure"`
2483
2484	// Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs).
2485	// Valid values: CloudWatchLogGroupArn, Enabled, LogLevel.
2486	WorkerLogs *ModuleLoggingConfiguration `type:"structure"`
2487}
2488
2489// String returns the string representation.
2490//
2491// API parameter values that are decorated as "sensitive" in the API will not
2492// be included in the string output. The member name will be present, but the
2493// value will be replaced with "sensitive".
2494func (s LoggingConfiguration) String() string {
2495	return awsutil.Prettify(s)
2496}
2497
2498// GoString returns the string representation.
2499//
2500// API parameter values that are decorated as "sensitive" in the API will not
2501// be included in the string output. The member name will be present, but the
2502// value will be replaced with "sensitive".
2503func (s LoggingConfiguration) GoString() string {
2504	return s.String()
2505}
2506
2507// SetDagProcessingLogs sets the DagProcessingLogs field's value.
2508func (s *LoggingConfiguration) SetDagProcessingLogs(v *ModuleLoggingConfiguration) *LoggingConfiguration {
2509	s.DagProcessingLogs = v
2510	return s
2511}
2512
2513// SetSchedulerLogs sets the SchedulerLogs field's value.
2514func (s *LoggingConfiguration) SetSchedulerLogs(v *ModuleLoggingConfiguration) *LoggingConfiguration {
2515	s.SchedulerLogs = v
2516	return s
2517}
2518
2519// SetTaskLogs sets the TaskLogs field's value.
2520func (s *LoggingConfiguration) SetTaskLogs(v *ModuleLoggingConfiguration) *LoggingConfiguration {
2521	s.TaskLogs = v
2522	return s
2523}
2524
2525// SetWebserverLogs sets the WebserverLogs field's value.
2526func (s *LoggingConfiguration) SetWebserverLogs(v *ModuleLoggingConfiguration) *LoggingConfiguration {
2527	s.WebserverLogs = v
2528	return s
2529}
2530
2531// SetWorkerLogs sets the WorkerLogs field's value.
2532func (s *LoggingConfiguration) SetWorkerLogs(v *ModuleLoggingConfiguration) *LoggingConfiguration {
2533	s.WorkerLogs = v
2534	return s
2535}
2536
2537// Defines the Apache Airflow logs to send to CloudWatch Logs: DagProcessingLogs,
2538// SchedulerLogs, TaskLogs, WebserverLogs, WorkerLogs.
2539type LoggingConfigurationInput struct {
2540	_ struct{} `type:"structure"`
2541
2542	// Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs).
2543	// Valid values: CloudWatchLogGroupArn, Enabled, LogLevel.
2544	DagProcessingLogs *ModuleLoggingConfigurationInput `type:"structure"`
2545
2546	// Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs).
2547	// Valid values: CloudWatchLogGroupArn, Enabled, LogLevel.
2548	SchedulerLogs *ModuleLoggingConfigurationInput `type:"structure"`
2549
2550	// Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs).
2551	// Valid values: CloudWatchLogGroupArn, Enabled, LogLevel.
2552	TaskLogs *ModuleLoggingConfigurationInput `type:"structure"`
2553
2554	// Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs).
2555	// Valid values: CloudWatchLogGroupArn, Enabled, LogLevel.
2556	WebserverLogs *ModuleLoggingConfigurationInput `type:"structure"`
2557
2558	// Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs).
2559	// Valid values: CloudWatchLogGroupArn, Enabled, LogLevel.
2560	WorkerLogs *ModuleLoggingConfigurationInput `type:"structure"`
2561}
2562
2563// String returns the string representation.
2564//
2565// API parameter values that are decorated as "sensitive" in the API will not
2566// be included in the string output. The member name will be present, but the
2567// value will be replaced with "sensitive".
2568func (s LoggingConfigurationInput) String() string {
2569	return awsutil.Prettify(s)
2570}
2571
2572// GoString returns the string representation.
2573//
2574// API parameter values that are decorated as "sensitive" in the API will not
2575// be included in the string output. The member name will be present, but the
2576// value will be replaced with "sensitive".
2577func (s LoggingConfigurationInput) GoString() string {
2578	return s.String()
2579}
2580
2581// Validate inspects the fields of the type to determine if they are valid.
2582func (s *LoggingConfigurationInput) Validate() error {
2583	invalidParams := request.ErrInvalidParams{Context: "LoggingConfigurationInput"}
2584	if s.DagProcessingLogs != nil {
2585		if err := s.DagProcessingLogs.Validate(); err != nil {
2586			invalidParams.AddNested("DagProcessingLogs", err.(request.ErrInvalidParams))
2587		}
2588	}
2589	if s.SchedulerLogs != nil {
2590		if err := s.SchedulerLogs.Validate(); err != nil {
2591			invalidParams.AddNested("SchedulerLogs", err.(request.ErrInvalidParams))
2592		}
2593	}
2594	if s.TaskLogs != nil {
2595		if err := s.TaskLogs.Validate(); err != nil {
2596			invalidParams.AddNested("TaskLogs", err.(request.ErrInvalidParams))
2597		}
2598	}
2599	if s.WebserverLogs != nil {
2600		if err := s.WebserverLogs.Validate(); err != nil {
2601			invalidParams.AddNested("WebserverLogs", err.(request.ErrInvalidParams))
2602		}
2603	}
2604	if s.WorkerLogs != nil {
2605		if err := s.WorkerLogs.Validate(); err != nil {
2606			invalidParams.AddNested("WorkerLogs", err.(request.ErrInvalidParams))
2607		}
2608	}
2609
2610	if invalidParams.Len() > 0 {
2611		return invalidParams
2612	}
2613	return nil
2614}
2615
2616// SetDagProcessingLogs sets the DagProcessingLogs field's value.
2617func (s *LoggingConfigurationInput) SetDagProcessingLogs(v *ModuleLoggingConfigurationInput) *LoggingConfigurationInput {
2618	s.DagProcessingLogs = v
2619	return s
2620}
2621
2622// SetSchedulerLogs sets the SchedulerLogs field's value.
2623func (s *LoggingConfigurationInput) SetSchedulerLogs(v *ModuleLoggingConfigurationInput) *LoggingConfigurationInput {
2624	s.SchedulerLogs = v
2625	return s
2626}
2627
2628// SetTaskLogs sets the TaskLogs field's value.
2629func (s *LoggingConfigurationInput) SetTaskLogs(v *ModuleLoggingConfigurationInput) *LoggingConfigurationInput {
2630	s.TaskLogs = v
2631	return s
2632}
2633
2634// SetWebserverLogs sets the WebserverLogs field's value.
2635func (s *LoggingConfigurationInput) SetWebserverLogs(v *ModuleLoggingConfigurationInput) *LoggingConfigurationInput {
2636	s.WebserverLogs = v
2637	return s
2638}
2639
2640// SetWorkerLogs sets the WorkerLogs field's value.
2641func (s *LoggingConfigurationInput) SetWorkerLogs(v *ModuleLoggingConfigurationInput) *LoggingConfigurationInput {
2642	s.WorkerLogs = v
2643	return s
2644}
2645
2646// Internal only API.
2647type MetricDatum struct {
2648	_ struct{} `type:"structure"`
2649
2650	// Internal only API.
2651	Dimensions []*Dimension `type:"list"`
2652
2653	// Internal only API.
2654	//
2655	// MetricName is a required field
2656	MetricName *string `type:"string" required:"true"`
2657
2658	// Internal only API.
2659	StatisticValues *StatisticSet `type:"structure"`
2660
2661	// Internal only API.
2662	//
2663	// Timestamp is a required field
2664	Timestamp *time.Time `type:"timestamp" required:"true"`
2665
2666	// Unit
2667	Unit *string `type:"string" enum:"Unit"`
2668
2669	// Internal only API.
2670	Value *float64 `type:"double"`
2671}
2672
2673// String returns the string representation.
2674//
2675// API parameter values that are decorated as "sensitive" in the API will not
2676// be included in the string output. The member name will be present, but the
2677// value will be replaced with "sensitive".
2678func (s MetricDatum) String() string {
2679	return awsutil.Prettify(s)
2680}
2681
2682// GoString returns the string representation.
2683//
2684// API parameter values that are decorated as "sensitive" in the API will not
2685// be included in the string output. The member name will be present, but the
2686// value will be replaced with "sensitive".
2687func (s MetricDatum) GoString() string {
2688	return s.String()
2689}
2690
2691// Validate inspects the fields of the type to determine if they are valid.
2692func (s *MetricDatum) Validate() error {
2693	invalidParams := request.ErrInvalidParams{Context: "MetricDatum"}
2694	if s.MetricName == nil {
2695		invalidParams.Add(request.NewErrParamRequired("MetricName"))
2696	}
2697	if s.Timestamp == nil {
2698		invalidParams.Add(request.NewErrParamRequired("Timestamp"))
2699	}
2700	if s.Dimensions != nil {
2701		for i, v := range s.Dimensions {
2702			if v == nil {
2703				continue
2704			}
2705			if err := v.Validate(); err != nil {
2706				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Dimensions", i), err.(request.ErrInvalidParams))
2707			}
2708		}
2709	}
2710
2711	if invalidParams.Len() > 0 {
2712		return invalidParams
2713	}
2714	return nil
2715}
2716
2717// SetDimensions sets the Dimensions field's value.
2718func (s *MetricDatum) SetDimensions(v []*Dimension) *MetricDatum {
2719	s.Dimensions = v
2720	return s
2721}
2722
2723// SetMetricName sets the MetricName field's value.
2724func (s *MetricDatum) SetMetricName(v string) *MetricDatum {
2725	s.MetricName = &v
2726	return s
2727}
2728
2729// SetStatisticValues sets the StatisticValues field's value.
2730func (s *MetricDatum) SetStatisticValues(v *StatisticSet) *MetricDatum {
2731	s.StatisticValues = v
2732	return s
2733}
2734
2735// SetTimestamp sets the Timestamp field's value.
2736func (s *MetricDatum) SetTimestamp(v time.Time) *MetricDatum {
2737	s.Timestamp = &v
2738	return s
2739}
2740
2741// SetUnit sets the Unit field's value.
2742func (s *MetricDatum) SetUnit(v string) *MetricDatum {
2743	s.Unit = &v
2744	return s
2745}
2746
2747// SetValue sets the Value field's value.
2748func (s *MetricDatum) SetValue(v float64) *MetricDatum {
2749	s.Value = &v
2750	return s
2751}
2752
2753// Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs).
2754// Valid values: CloudWatchLogGroupArn, Enabled, LogLevel.
2755type ModuleLoggingConfiguration struct {
2756	_ struct{} `type:"structure"`
2757
2758	// The Amazon Resource Name (ARN) for the CloudWatch Logs group where the Apache
2759	// Airflow log type (e.g. DagProcessingLogs) is published. For example, arn:aws:logs:us-east-1:123456789012:log-group:airflow-MyMWAAEnvironment-MwaaEnvironment-DAGProcessing:*.
2760	CloudWatchLogGroupArn *string `min:"1" type:"string"`
2761
2762	// Indicates whether to enable the Apache Airflow log type (e.g. DagProcessingLogs)
2763	// in CloudWatch Logs.
2764	Enabled *bool `type:"boolean"`
2765
2766	// Defines the Apache Airflow logs to send for the log type (e.g. DagProcessingLogs)
2767	// to CloudWatch Logs. Valid values: CRITICAL, ERROR, WARNING, INFO.
2768	LogLevel *string `type:"string" enum:"LoggingLevel"`
2769}
2770
2771// String returns the string representation.
2772//
2773// API parameter values that are decorated as "sensitive" in the API will not
2774// be included in the string output. The member name will be present, but the
2775// value will be replaced with "sensitive".
2776func (s ModuleLoggingConfiguration) String() string {
2777	return awsutil.Prettify(s)
2778}
2779
2780// GoString returns the string representation.
2781//
2782// API parameter values that are decorated as "sensitive" in the API will not
2783// be included in the string output. The member name will be present, but the
2784// value will be replaced with "sensitive".
2785func (s ModuleLoggingConfiguration) GoString() string {
2786	return s.String()
2787}
2788
2789// SetCloudWatchLogGroupArn sets the CloudWatchLogGroupArn field's value.
2790func (s *ModuleLoggingConfiguration) SetCloudWatchLogGroupArn(v string) *ModuleLoggingConfiguration {
2791	s.CloudWatchLogGroupArn = &v
2792	return s
2793}
2794
2795// SetEnabled sets the Enabled field's value.
2796func (s *ModuleLoggingConfiguration) SetEnabled(v bool) *ModuleLoggingConfiguration {
2797	s.Enabled = &v
2798	return s
2799}
2800
2801// SetLogLevel sets the LogLevel field's value.
2802func (s *ModuleLoggingConfiguration) SetLogLevel(v string) *ModuleLoggingConfiguration {
2803	s.LogLevel = &v
2804	return s
2805}
2806
2807// Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs).
2808// Valid values: CloudWatchLogGroupArn, Enabled, LogLevel.
2809type ModuleLoggingConfigurationInput struct {
2810	_ struct{} `type:"structure"`
2811
2812	// Indicates whether to enable the Apache Airflow log type (e.g. DagProcessingLogs)
2813	// in CloudWatch Logs.
2814	//
2815	// Enabled is a required field
2816	Enabled *bool `type:"boolean" required:"true"`
2817
2818	// Defines the Apache Airflow logs to send for the log type (e.g. DagProcessingLogs)
2819	// to CloudWatch Logs. Valid values: CRITICAL, ERROR, WARNING, INFO.
2820	//
2821	// LogLevel is a required field
2822	LogLevel *string `type:"string" required:"true" enum:"LoggingLevel"`
2823}
2824
2825// String returns the string representation.
2826//
2827// API parameter values that are decorated as "sensitive" in the API will not
2828// be included in the string output. The member name will be present, but the
2829// value will be replaced with "sensitive".
2830func (s ModuleLoggingConfigurationInput) String() string {
2831	return awsutil.Prettify(s)
2832}
2833
2834// GoString returns the string representation.
2835//
2836// API parameter values that are decorated as "sensitive" in the API will not
2837// be included in the string output. The member name will be present, but the
2838// value will be replaced with "sensitive".
2839func (s ModuleLoggingConfigurationInput) GoString() string {
2840	return s.String()
2841}
2842
2843// Validate inspects the fields of the type to determine if they are valid.
2844func (s *ModuleLoggingConfigurationInput) Validate() error {
2845	invalidParams := request.ErrInvalidParams{Context: "ModuleLoggingConfigurationInput"}
2846	if s.Enabled == nil {
2847		invalidParams.Add(request.NewErrParamRequired("Enabled"))
2848	}
2849	if s.LogLevel == nil {
2850		invalidParams.Add(request.NewErrParamRequired("LogLevel"))
2851	}
2852
2853	if invalidParams.Len() > 0 {
2854		return invalidParams
2855	}
2856	return nil
2857}
2858
2859// SetEnabled sets the Enabled field's value.
2860func (s *ModuleLoggingConfigurationInput) SetEnabled(v bool) *ModuleLoggingConfigurationInput {
2861	s.Enabled = &v
2862	return s
2863}
2864
2865// SetLogLevel sets the LogLevel field's value.
2866func (s *ModuleLoggingConfigurationInput) SetLogLevel(v string) *ModuleLoggingConfigurationInput {
2867	s.LogLevel = &v
2868	return s
2869}
2870
2871// The VPC networking components used to secure and enable network traffic between
2872// the AWS resources for your environment. To learn more, see About networking
2873// on Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html).
2874type NetworkConfiguration struct {
2875	_ struct{} `type:"structure"`
2876
2877	// A list of 1 or more security group IDs. Accepts up to 5 security group IDs.
2878	// A security group must be attached to the same VPC as the subnets. To learn
2879	// more, see Security in your VPC on Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/vpc-security.html).
2880	SecurityGroupIds []*string `min:"1" type:"list"`
2881
2882	// A list of 2 subnet IDs. Required to create an environment. Must be private
2883	// subnets in two different availability zones. A subnet must be attached to
2884	// the same VPC as the security group.
2885	SubnetIds []*string `min:"2" type:"list"`
2886}
2887
2888// String returns the string representation.
2889//
2890// API parameter values that are decorated as "sensitive" in the API will not
2891// be included in the string output. The member name will be present, but the
2892// value will be replaced with "sensitive".
2893func (s NetworkConfiguration) String() string {
2894	return awsutil.Prettify(s)
2895}
2896
2897// GoString returns the string representation.
2898//
2899// API parameter values that are decorated as "sensitive" in the API will not
2900// be included in the string output. The member name will be present, but the
2901// value will be replaced with "sensitive".
2902func (s NetworkConfiguration) GoString() string {
2903	return s.String()
2904}
2905
2906// Validate inspects the fields of the type to determine if they are valid.
2907func (s *NetworkConfiguration) Validate() error {
2908	invalidParams := request.ErrInvalidParams{Context: "NetworkConfiguration"}
2909	if s.SecurityGroupIds != nil && len(s.SecurityGroupIds) < 1 {
2910		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIds", 1))
2911	}
2912	if s.SubnetIds != nil && len(s.SubnetIds) < 2 {
2913		invalidParams.Add(request.NewErrParamMinLen("SubnetIds", 2))
2914	}
2915
2916	if invalidParams.Len() > 0 {
2917		return invalidParams
2918	}
2919	return nil
2920}
2921
2922// SetSecurityGroupIds sets the SecurityGroupIds field's value.
2923func (s *NetworkConfiguration) SetSecurityGroupIds(v []*string) *NetworkConfiguration {
2924	s.SecurityGroupIds = v
2925	return s
2926}
2927
2928// SetSubnetIds sets the SubnetIds field's value.
2929func (s *NetworkConfiguration) SetSubnetIds(v []*string) *NetworkConfiguration {
2930	s.SubnetIds = v
2931	return s
2932}
2933
2934type PublishMetricsInput struct {
2935	_ struct{} `type:"structure"`
2936
2937	// Publishes environment metric data to Amazon CloudWatch.
2938	//
2939	// EnvironmentName is a required field
2940	EnvironmentName *string `location:"uri" locationName:"EnvironmentName" min:"1" type:"string" required:"true"`
2941
2942	// Publishes metric data points to Amazon CloudWatch. CloudWatch associates
2943	// the data points with the specified metrica.
2944	//
2945	// MetricData is a required field
2946	MetricData []*MetricDatum `type:"list" required:"true"`
2947}
2948
2949// String returns the string representation.
2950//
2951// API parameter values that are decorated as "sensitive" in the API will not
2952// be included in the string output. The member name will be present, but the
2953// value will be replaced with "sensitive".
2954func (s PublishMetricsInput) String() string {
2955	return awsutil.Prettify(s)
2956}
2957
2958// GoString returns the string representation.
2959//
2960// API parameter values that are decorated as "sensitive" in the API will not
2961// be included in the string output. The member name will be present, but the
2962// value will be replaced with "sensitive".
2963func (s PublishMetricsInput) GoString() string {
2964	return s.String()
2965}
2966
2967// Validate inspects the fields of the type to determine if they are valid.
2968func (s *PublishMetricsInput) Validate() error {
2969	invalidParams := request.ErrInvalidParams{Context: "PublishMetricsInput"}
2970	if s.EnvironmentName == nil {
2971		invalidParams.Add(request.NewErrParamRequired("EnvironmentName"))
2972	}
2973	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 1 {
2974		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 1))
2975	}
2976	if s.MetricData == nil {
2977		invalidParams.Add(request.NewErrParamRequired("MetricData"))
2978	}
2979	if s.MetricData != nil {
2980		for i, v := range s.MetricData {
2981			if v == nil {
2982				continue
2983			}
2984			if err := v.Validate(); err != nil {
2985				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MetricData", i), err.(request.ErrInvalidParams))
2986			}
2987		}
2988	}
2989
2990	if invalidParams.Len() > 0 {
2991		return invalidParams
2992	}
2993	return nil
2994}
2995
2996// SetEnvironmentName sets the EnvironmentName field's value.
2997func (s *PublishMetricsInput) SetEnvironmentName(v string) *PublishMetricsInput {
2998	s.EnvironmentName = &v
2999	return s
3000}
3001
3002// SetMetricData sets the MetricData field's value.
3003func (s *PublishMetricsInput) SetMetricData(v []*MetricDatum) *PublishMetricsInput {
3004	s.MetricData = v
3005	return s
3006}
3007
3008type PublishMetricsOutput struct {
3009	_ struct{} `type:"structure"`
3010}
3011
3012// String returns the string representation.
3013//
3014// API parameter values that are decorated as "sensitive" in the API will not
3015// be included in the string output. The member name will be present, but the
3016// value will be replaced with "sensitive".
3017func (s PublishMetricsOutput) String() string {
3018	return awsutil.Prettify(s)
3019}
3020
3021// GoString returns the string representation.
3022//
3023// API parameter values that are decorated as "sensitive" in the API will not
3024// be included in the string output. The member name will be present, but the
3025// value will be replaced with "sensitive".
3026func (s PublishMetricsOutput) GoString() string {
3027	return s.String()
3028}
3029
3030// ResourceNotFoundException: The resource is not available.
3031type ResourceNotFoundException struct {
3032	_            struct{}                  `type:"structure"`
3033	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3034
3035	Message_ *string `locationName:"message" type:"string"`
3036}
3037
3038// String returns the string representation.
3039//
3040// API parameter values that are decorated as "sensitive" in the API will not
3041// be included in the string output. The member name will be present, but the
3042// value will be replaced with "sensitive".
3043func (s ResourceNotFoundException) String() string {
3044	return awsutil.Prettify(s)
3045}
3046
3047// GoString returns the string representation.
3048//
3049// API parameter values that are decorated as "sensitive" in the API will not
3050// be included in the string output. The member name will be present, but the
3051// value will be replaced with "sensitive".
3052func (s ResourceNotFoundException) GoString() string {
3053	return s.String()
3054}
3055
3056func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
3057	return &ResourceNotFoundException{
3058		RespMetadata: v,
3059	}
3060}
3061
3062// Code returns the exception type name.
3063func (s *ResourceNotFoundException) Code() string {
3064	return "ResourceNotFoundException"
3065}
3066
3067// Message returns the exception's message.
3068func (s *ResourceNotFoundException) Message() string {
3069	if s.Message_ != nil {
3070		return *s.Message_
3071	}
3072	return ""
3073}
3074
3075// OrigErr always returns nil, satisfies awserr.Error interface.
3076func (s *ResourceNotFoundException) OrigErr() error {
3077	return nil
3078}
3079
3080func (s *ResourceNotFoundException) Error() string {
3081	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3082}
3083
3084// Status code returns the HTTP status code for the request's response error.
3085func (s *ResourceNotFoundException) StatusCode() int {
3086	return s.RespMetadata.StatusCode
3087}
3088
3089// RequestID returns the service's response RequestID for request.
3090func (s *ResourceNotFoundException) RequestID() string {
3091	return s.RespMetadata.RequestID
3092}
3093
3094// Internal only API.
3095type StatisticSet struct {
3096	_ struct{} `type:"structure"`
3097
3098	// Internal only API.
3099	Maximum *float64 `type:"double"`
3100
3101	// Internal only API.
3102	Minimum *float64 `type:"double"`
3103
3104	// Internal only API.
3105	SampleCount *int64 `type:"integer"`
3106
3107	// Internal only API.
3108	Sum *float64 `type:"double"`
3109}
3110
3111// String returns the string representation.
3112//
3113// API parameter values that are decorated as "sensitive" in the API will not
3114// be included in the string output. The member name will be present, but the
3115// value will be replaced with "sensitive".
3116func (s StatisticSet) String() string {
3117	return awsutil.Prettify(s)
3118}
3119
3120// GoString returns the string representation.
3121//
3122// API parameter values that are decorated as "sensitive" in the API will not
3123// be included in the string output. The member name will be present, but the
3124// value will be replaced with "sensitive".
3125func (s StatisticSet) GoString() string {
3126	return s.String()
3127}
3128
3129// SetMaximum sets the Maximum field's value.
3130func (s *StatisticSet) SetMaximum(v float64) *StatisticSet {
3131	s.Maximum = &v
3132	return s
3133}
3134
3135// SetMinimum sets the Minimum field's value.
3136func (s *StatisticSet) SetMinimum(v float64) *StatisticSet {
3137	s.Minimum = &v
3138	return s
3139}
3140
3141// SetSampleCount sets the SampleCount field's value.
3142func (s *StatisticSet) SetSampleCount(v int64) *StatisticSet {
3143	s.SampleCount = &v
3144	return s
3145}
3146
3147// SetSum sets the Sum field's value.
3148func (s *StatisticSet) SetSum(v float64) *StatisticSet {
3149	s.Sum = &v
3150	return s
3151}
3152
3153type TagResourceInput struct {
3154	_ struct{} `type:"structure"`
3155
3156	// The Amazon Resource Name (ARN) of the Amazon MWAA environment. For example,
3157	// arn:aws:airflow:us-east-1:123456789012:environment/MyMWAAEnvironment.
3158	//
3159	// ResourceArn is a required field
3160	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"1" type:"string" required:"true"`
3161
3162	// The key-value tag pairs you want to associate to your environment. For example,
3163	// "Environment": "Staging". To learn more, see Tagging AWS resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html).
3164	//
3165	// Tags is a required field
3166	Tags map[string]*string `min:"1" type:"map" required:"true"`
3167}
3168
3169// String returns the string representation.
3170//
3171// API parameter values that are decorated as "sensitive" in the API will not
3172// be included in the string output. The member name will be present, but the
3173// value will be replaced with "sensitive".
3174func (s TagResourceInput) String() string {
3175	return awsutil.Prettify(s)
3176}
3177
3178// GoString returns the string representation.
3179//
3180// API parameter values that are decorated as "sensitive" in the API will not
3181// be included in the string output. The member name will be present, but the
3182// value will be replaced with "sensitive".
3183func (s TagResourceInput) GoString() string {
3184	return s.String()
3185}
3186
3187// Validate inspects the fields of the type to determine if they are valid.
3188func (s *TagResourceInput) Validate() error {
3189	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
3190	if s.ResourceArn == nil {
3191		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
3192	}
3193	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
3194		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
3195	}
3196	if s.Tags == nil {
3197		invalidParams.Add(request.NewErrParamRequired("Tags"))
3198	}
3199	if s.Tags != nil && len(s.Tags) < 1 {
3200		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
3201	}
3202
3203	if invalidParams.Len() > 0 {
3204		return invalidParams
3205	}
3206	return nil
3207}
3208
3209// SetResourceArn sets the ResourceArn field's value.
3210func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
3211	s.ResourceArn = &v
3212	return s
3213}
3214
3215// SetTags sets the Tags field's value.
3216func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
3217	s.Tags = v
3218	return s
3219}
3220
3221type TagResourceOutput struct {
3222	_ struct{} `type:"structure"`
3223}
3224
3225// String returns the string representation.
3226//
3227// API parameter values that are decorated as "sensitive" in the API will not
3228// be included in the string output. The member name will be present, but the
3229// value will be replaced with "sensitive".
3230func (s TagResourceOutput) String() string {
3231	return awsutil.Prettify(s)
3232}
3233
3234// GoString returns the string representation.
3235//
3236// API parameter values that are decorated as "sensitive" in the API will not
3237// be included in the string output. The member name will be present, but the
3238// value will be replaced with "sensitive".
3239func (s TagResourceOutput) GoString() string {
3240	return s.String()
3241}
3242
3243type UntagResourceInput struct {
3244	_ struct{} `type:"structure" nopayload:"true"`
3245
3246	// The Amazon Resource Name (ARN) of the Amazon MWAA environment. For example,
3247	// arn:aws:airflow:us-east-1:123456789012:environment/MyMWAAEnvironment.
3248	//
3249	// ResourceArn is a required field
3250	ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"1" type:"string" required:"true"`
3251
3252	// The key-value tag pair you want to remove. For example, "Environment": "Staging".
3253	//
3254	// TagKeys is a required field
3255	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
3256}
3257
3258// String returns the string representation.
3259//
3260// API parameter values that are decorated as "sensitive" in the API will not
3261// be included in the string output. The member name will be present, but the
3262// value will be replaced with "sensitive".
3263func (s UntagResourceInput) String() string {
3264	return awsutil.Prettify(s)
3265}
3266
3267// GoString returns the string representation.
3268//
3269// API parameter values that are decorated as "sensitive" in the API will not
3270// be included in the string output. The member name will be present, but the
3271// value will be replaced with "sensitive".
3272func (s UntagResourceInput) GoString() string {
3273	return s.String()
3274}
3275
3276// Validate inspects the fields of the type to determine if they are valid.
3277func (s *UntagResourceInput) Validate() error {
3278	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
3279	if s.ResourceArn == nil {
3280		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
3281	}
3282	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
3283		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
3284	}
3285	if s.TagKeys == nil {
3286		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
3287	}
3288
3289	if invalidParams.Len() > 0 {
3290		return invalidParams
3291	}
3292	return nil
3293}
3294
3295// SetResourceArn sets the ResourceArn field's value.
3296func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
3297	s.ResourceArn = &v
3298	return s
3299}
3300
3301// SetTagKeys sets the TagKeys field's value.
3302func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
3303	s.TagKeys = v
3304	return s
3305}
3306
3307type UntagResourceOutput struct {
3308	_ struct{} `type:"structure"`
3309}
3310
3311// String returns the string representation.
3312//
3313// API parameter values that are decorated as "sensitive" in the API will not
3314// be included in the string output. The member name will be present, but the
3315// value will be replaced with "sensitive".
3316func (s UntagResourceOutput) String() string {
3317	return awsutil.Prettify(s)
3318}
3319
3320// GoString returns the string representation.
3321//
3322// API parameter values that are decorated as "sensitive" in the API will not
3323// be included in the string output. The member name will be present, but the
3324// value will be replaced with "sensitive".
3325func (s UntagResourceOutput) GoString() string {
3326	return s.String()
3327}
3328
3329type UpdateEnvironmentInput struct {
3330	_ struct{} `type:"structure"`
3331
3332	// A list of key-value pairs containing the Apache Airflow configuration options
3333	// you want to attach to your environment. To learn more, see Apache Airflow
3334	// configuration options (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html).
3335	//
3336	// AirflowConfigurationOptions is a sensitive parameter and its value will be
3337	// replaced with "sensitive" in string returned by UpdateEnvironmentInput's
3338	// String and GoString methods.
3339	AirflowConfigurationOptions map[string]*string `type:"map" sensitive:"true"`
3340
3341	// The Apache Airflow version for your environment. For example, v1.10.12. If
3342	// no value is specified, defaults to the latest version. Valid values: v1.10.12.
3343	AirflowVersion *string `min:"1" type:"string"`
3344
3345	// The relative path to the DAGs folder on your Amazon S3 bucket. For example,
3346	// dags. To learn more, see Adding or updating DAGs (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html).
3347	DagS3Path *string `min:"1" type:"string"`
3348
3349	// The environment class type. Valid values: mw1.small, mw1.medium, mw1.large.
3350	// To learn more, see Amazon MWAA environment class (https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html).
3351	EnvironmentClass *string `min:"1" type:"string"`
3352
3353	// The Amazon Resource Name (ARN) of the execution role in IAM that allows MWAA
3354	// to access AWS resources in your environment. For example, arn:aws:iam::123456789:role/my-execution-role.
3355	// To learn more, see Amazon MWAA Execution role (https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html).
3356	ExecutionRoleArn *string `min:"1" type:"string"`
3357
3358	// Defines the Apache Airflow logs to send to CloudWatch Logs: DagProcessingLogs,
3359	// SchedulerLogs, TaskLogs, WebserverLogs, WorkerLogs.
3360	LoggingConfiguration *LoggingConfigurationInput `type:"structure"`
3361
3362	// The maximum number of workers that you want to run in your environment. MWAA
3363	// scales the number of Apache Airflow workers up to the number you specify
3364	// in the MaxWorkers field. For example, 20. When there are no more tasks running,
3365	// and no more in the queue, MWAA disposes of the extra workers leaving the
3366	// one worker that is included with your environment, or the number you specify
3367	// in MinWorkers.
3368	MaxWorkers *int64 `min:"1" type:"integer"`
3369
3370	// The minimum number of workers that you want to run in your environment. MWAA
3371	// scales the number of Apache Airflow workers up to the number you specify
3372	// in the MaxWorkers field. When there are no more tasks running, and no more
3373	// in the queue, MWAA disposes of the extra workers leaving the worker count
3374	// you specify in the MinWorkers field. For example, 2.
3375	MinWorkers *int64 `min:"1" type:"integer"`
3376
3377	// The name of your Amazon MWAA environment. For example, MyMWAAEnvironment.
3378	//
3379	// Name is a required field
3380	Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"`
3381
3382	// The VPC networking components used to secure and enable network traffic between
3383	// the AWS resources for your environment. To learn more, see About networking
3384	// on Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html).
3385	NetworkConfiguration *UpdateNetworkConfigurationInput `type:"structure"`
3386
3387	// The version of the plugins.zip file on your Amazon S3 bucket. A version must
3388	// be specified each time a plugins.zip file is updated. To learn more, see
3389	// How S3 Versioning works (https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html).
3390	PluginsS3ObjectVersion *string `min:"1" type:"string"`
3391
3392	// The relative path to the plugins.zip file on your Amazon S3 bucket. For example,
3393	// plugins.zip. If specified, then the plugins.zip version is required. To learn
3394	// more, see Installing custom plugins (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html).
3395	PluginsS3Path *string `min:"1" type:"string"`
3396
3397	// The version of the requirements.txt file on your Amazon S3 bucket. A version
3398	// must be specified each time a requirements.txt file is updated. To learn
3399	// more, see How S3 Versioning works (https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html).
3400	RequirementsS3ObjectVersion *string `min:"1" type:"string"`
3401
3402	// The relative path to the requirements.txt file on your Amazon S3 bucket.
3403	// For example, requirements.txt. If specified, then a file version is required.
3404	// To learn more, see Installing Python dependencies (https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html).
3405	RequirementsS3Path *string `min:"1" type:"string"`
3406
3407	// The number of Apache Airflow schedulers to run in your Amazon MWAA environment.
3408	Schedulers *int64 `type:"integer"`
3409
3410	// The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code
3411	// and supporting files are stored. For example, arn:aws:s3:::my-airflow-bucket-unique-name.
3412	// To learn more, see Create an Amazon S3 bucket for Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html).
3413	SourceBucketArn *string `min:"1" type:"string"`
3414
3415	// The Apache Airflow Web server access mode. To learn more, see Apache Airflow
3416	// access modes (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html).
3417	WebserverAccessMode *string `type:"string" enum:"WebserverAccessMode"`
3418
3419	// The day and time of the week to start weekly maintenance updates of your
3420	// environment in the following format: DAY:HH:MM. For example: TUE:03:30. You
3421	// can specify a start time in 30 minute increments only. Supported input includes
3422	// the following:
3423	//
3424	//    * MON|TUE|WED|THU|FRI|SAT|SUN:([01]\\d|2[0-3]):(00|30)
3425	WeeklyMaintenanceWindowStart *string `min:"1" type:"string"`
3426}
3427
3428// String returns the string representation.
3429//
3430// API parameter values that are decorated as "sensitive" in the API will not
3431// be included in the string output. The member name will be present, but the
3432// value will be replaced with "sensitive".
3433func (s UpdateEnvironmentInput) String() string {
3434	return awsutil.Prettify(s)
3435}
3436
3437// GoString returns the string representation.
3438//
3439// API parameter values that are decorated as "sensitive" in the API will not
3440// be included in the string output. The member name will be present, but the
3441// value will be replaced with "sensitive".
3442func (s UpdateEnvironmentInput) GoString() string {
3443	return s.String()
3444}
3445
3446// Validate inspects the fields of the type to determine if they are valid.
3447func (s *UpdateEnvironmentInput) Validate() error {
3448	invalidParams := request.ErrInvalidParams{Context: "UpdateEnvironmentInput"}
3449	if s.AirflowVersion != nil && len(*s.AirflowVersion) < 1 {
3450		invalidParams.Add(request.NewErrParamMinLen("AirflowVersion", 1))
3451	}
3452	if s.DagS3Path != nil && len(*s.DagS3Path) < 1 {
3453		invalidParams.Add(request.NewErrParamMinLen("DagS3Path", 1))
3454	}
3455	if s.EnvironmentClass != nil && len(*s.EnvironmentClass) < 1 {
3456		invalidParams.Add(request.NewErrParamMinLen("EnvironmentClass", 1))
3457	}
3458	if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 1 {
3459		invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 1))
3460	}
3461	if s.MaxWorkers != nil && *s.MaxWorkers < 1 {
3462		invalidParams.Add(request.NewErrParamMinValue("MaxWorkers", 1))
3463	}
3464	if s.MinWorkers != nil && *s.MinWorkers < 1 {
3465		invalidParams.Add(request.NewErrParamMinValue("MinWorkers", 1))
3466	}
3467	if s.Name == nil {
3468		invalidParams.Add(request.NewErrParamRequired("Name"))
3469	}
3470	if s.Name != nil && len(*s.Name) < 1 {
3471		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
3472	}
3473	if s.PluginsS3ObjectVersion != nil && len(*s.PluginsS3ObjectVersion) < 1 {
3474		invalidParams.Add(request.NewErrParamMinLen("PluginsS3ObjectVersion", 1))
3475	}
3476	if s.PluginsS3Path != nil && len(*s.PluginsS3Path) < 1 {
3477		invalidParams.Add(request.NewErrParamMinLen("PluginsS3Path", 1))
3478	}
3479	if s.RequirementsS3ObjectVersion != nil && len(*s.RequirementsS3ObjectVersion) < 1 {
3480		invalidParams.Add(request.NewErrParamMinLen("RequirementsS3ObjectVersion", 1))
3481	}
3482	if s.RequirementsS3Path != nil && len(*s.RequirementsS3Path) < 1 {
3483		invalidParams.Add(request.NewErrParamMinLen("RequirementsS3Path", 1))
3484	}
3485	if s.SourceBucketArn != nil && len(*s.SourceBucketArn) < 1 {
3486		invalidParams.Add(request.NewErrParamMinLen("SourceBucketArn", 1))
3487	}
3488	if s.WeeklyMaintenanceWindowStart != nil && len(*s.WeeklyMaintenanceWindowStart) < 1 {
3489		invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceWindowStart", 1))
3490	}
3491	if s.LoggingConfiguration != nil {
3492		if err := s.LoggingConfiguration.Validate(); err != nil {
3493			invalidParams.AddNested("LoggingConfiguration", err.(request.ErrInvalidParams))
3494		}
3495	}
3496	if s.NetworkConfiguration != nil {
3497		if err := s.NetworkConfiguration.Validate(); err != nil {
3498			invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams))
3499		}
3500	}
3501
3502	if invalidParams.Len() > 0 {
3503		return invalidParams
3504	}
3505	return nil
3506}
3507
3508// SetAirflowConfigurationOptions sets the AirflowConfigurationOptions field's value.
3509func (s *UpdateEnvironmentInput) SetAirflowConfigurationOptions(v map[string]*string) *UpdateEnvironmentInput {
3510	s.AirflowConfigurationOptions = v
3511	return s
3512}
3513
3514// SetAirflowVersion sets the AirflowVersion field's value.
3515func (s *UpdateEnvironmentInput) SetAirflowVersion(v string) *UpdateEnvironmentInput {
3516	s.AirflowVersion = &v
3517	return s
3518}
3519
3520// SetDagS3Path sets the DagS3Path field's value.
3521func (s *UpdateEnvironmentInput) SetDagS3Path(v string) *UpdateEnvironmentInput {
3522	s.DagS3Path = &v
3523	return s
3524}
3525
3526// SetEnvironmentClass sets the EnvironmentClass field's value.
3527func (s *UpdateEnvironmentInput) SetEnvironmentClass(v string) *UpdateEnvironmentInput {
3528	s.EnvironmentClass = &v
3529	return s
3530}
3531
3532// SetExecutionRoleArn sets the ExecutionRoleArn field's value.
3533func (s *UpdateEnvironmentInput) SetExecutionRoleArn(v string) *UpdateEnvironmentInput {
3534	s.ExecutionRoleArn = &v
3535	return s
3536}
3537
3538// SetLoggingConfiguration sets the LoggingConfiguration field's value.
3539func (s *UpdateEnvironmentInput) SetLoggingConfiguration(v *LoggingConfigurationInput) *UpdateEnvironmentInput {
3540	s.LoggingConfiguration = v
3541	return s
3542}
3543
3544// SetMaxWorkers sets the MaxWorkers field's value.
3545func (s *UpdateEnvironmentInput) SetMaxWorkers(v int64) *UpdateEnvironmentInput {
3546	s.MaxWorkers = &v
3547	return s
3548}
3549
3550// SetMinWorkers sets the MinWorkers field's value.
3551func (s *UpdateEnvironmentInput) SetMinWorkers(v int64) *UpdateEnvironmentInput {
3552	s.MinWorkers = &v
3553	return s
3554}
3555
3556// SetName sets the Name field's value.
3557func (s *UpdateEnvironmentInput) SetName(v string) *UpdateEnvironmentInput {
3558	s.Name = &v
3559	return s
3560}
3561
3562// SetNetworkConfiguration sets the NetworkConfiguration field's value.
3563func (s *UpdateEnvironmentInput) SetNetworkConfiguration(v *UpdateNetworkConfigurationInput) *UpdateEnvironmentInput {
3564	s.NetworkConfiguration = v
3565	return s
3566}
3567
3568// SetPluginsS3ObjectVersion sets the PluginsS3ObjectVersion field's value.
3569func (s *UpdateEnvironmentInput) SetPluginsS3ObjectVersion(v string) *UpdateEnvironmentInput {
3570	s.PluginsS3ObjectVersion = &v
3571	return s
3572}
3573
3574// SetPluginsS3Path sets the PluginsS3Path field's value.
3575func (s *UpdateEnvironmentInput) SetPluginsS3Path(v string) *UpdateEnvironmentInput {
3576	s.PluginsS3Path = &v
3577	return s
3578}
3579
3580// SetRequirementsS3ObjectVersion sets the RequirementsS3ObjectVersion field's value.
3581func (s *UpdateEnvironmentInput) SetRequirementsS3ObjectVersion(v string) *UpdateEnvironmentInput {
3582	s.RequirementsS3ObjectVersion = &v
3583	return s
3584}
3585
3586// SetRequirementsS3Path sets the RequirementsS3Path field's value.
3587func (s *UpdateEnvironmentInput) SetRequirementsS3Path(v string) *UpdateEnvironmentInput {
3588	s.RequirementsS3Path = &v
3589	return s
3590}
3591
3592// SetSchedulers sets the Schedulers field's value.
3593func (s *UpdateEnvironmentInput) SetSchedulers(v int64) *UpdateEnvironmentInput {
3594	s.Schedulers = &v
3595	return s
3596}
3597
3598// SetSourceBucketArn sets the SourceBucketArn field's value.
3599func (s *UpdateEnvironmentInput) SetSourceBucketArn(v string) *UpdateEnvironmentInput {
3600	s.SourceBucketArn = &v
3601	return s
3602}
3603
3604// SetWebserverAccessMode sets the WebserverAccessMode field's value.
3605func (s *UpdateEnvironmentInput) SetWebserverAccessMode(v string) *UpdateEnvironmentInput {
3606	s.WebserverAccessMode = &v
3607	return s
3608}
3609
3610// SetWeeklyMaintenanceWindowStart sets the WeeklyMaintenanceWindowStart field's value.
3611func (s *UpdateEnvironmentInput) SetWeeklyMaintenanceWindowStart(v string) *UpdateEnvironmentInput {
3612	s.WeeklyMaintenanceWindowStart = &v
3613	return s
3614}
3615
3616type UpdateEnvironmentOutput struct {
3617	_ struct{} `type:"structure"`
3618
3619	// The Amazon Resource Name (ARN) of the Amazon MWAA environment. For example,
3620	// arn:aws:airflow:us-east-1:123456789012:environment/MyMWAAEnvironment.
3621	Arn *string `min:"1" type:"string"`
3622}
3623
3624// String returns the string representation.
3625//
3626// API parameter values that are decorated as "sensitive" in the API will not
3627// be included in the string output. The member name will be present, but the
3628// value will be replaced with "sensitive".
3629func (s UpdateEnvironmentOutput) String() string {
3630	return awsutil.Prettify(s)
3631}
3632
3633// GoString returns the string representation.
3634//
3635// API parameter values that are decorated as "sensitive" in the API will not
3636// be included in the string output. The member name will be present, but the
3637// value will be replaced with "sensitive".
3638func (s UpdateEnvironmentOutput) GoString() string {
3639	return s.String()
3640}
3641
3642// SetArn sets the Arn field's value.
3643func (s *UpdateEnvironmentOutput) SetArn(v string) *UpdateEnvironmentOutput {
3644	s.Arn = &v
3645	return s
3646}
3647
3648// An object containing the error encountered with the last update: ErrorCode,
3649// ErrorMessage.
3650type UpdateError struct {
3651	_ struct{} `type:"structure"`
3652
3653	// The error code that corresponds to the error with the last update.
3654	ErrorCode *string `type:"string"`
3655
3656	// The error message that corresponds to the error code.
3657	ErrorMessage *string `min:"1" type:"string"`
3658}
3659
3660// String returns the string representation.
3661//
3662// API parameter values that are decorated as "sensitive" in the API will not
3663// be included in the string output. The member name will be present, but the
3664// value will be replaced with "sensitive".
3665func (s UpdateError) String() string {
3666	return awsutil.Prettify(s)
3667}
3668
3669// GoString returns the string representation.
3670//
3671// API parameter values that are decorated as "sensitive" in the API will not
3672// be included in the string output. The member name will be present, but the
3673// value will be replaced with "sensitive".
3674func (s UpdateError) GoString() string {
3675	return s.String()
3676}
3677
3678// SetErrorCode sets the ErrorCode field's value.
3679func (s *UpdateError) SetErrorCode(v string) *UpdateError {
3680	s.ErrorCode = &v
3681	return s
3682}
3683
3684// SetErrorMessage sets the ErrorMessage field's value.
3685func (s *UpdateError) SetErrorMessage(v string) *UpdateError {
3686	s.ErrorMessage = &v
3687	return s
3688}
3689
3690// The VPC networking components used to secure and enable network traffic between
3691// the AWS resources for your environment. To learn more, see About networking
3692// on Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html).
3693type UpdateNetworkConfigurationInput struct {
3694	_ struct{} `type:"structure"`
3695
3696	// A list of 1 or more security group IDs. Accepts up to 5 security group IDs.
3697	// A security group must be attached to the same VPC as the subnets. To learn
3698	// more, see Security in your VPC on Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/vpc-security.html).
3699	//
3700	// SecurityGroupIds is a required field
3701	SecurityGroupIds []*string `min:"1" type:"list" required:"true"`
3702}
3703
3704// String returns the string representation.
3705//
3706// API parameter values that are decorated as "sensitive" in the API will not
3707// be included in the string output. The member name will be present, but the
3708// value will be replaced with "sensitive".
3709func (s UpdateNetworkConfigurationInput) String() string {
3710	return awsutil.Prettify(s)
3711}
3712
3713// GoString returns the string representation.
3714//
3715// API parameter values that are decorated as "sensitive" in the API will not
3716// be included in the string output. The member name will be present, but the
3717// value will be replaced with "sensitive".
3718func (s UpdateNetworkConfigurationInput) GoString() string {
3719	return s.String()
3720}
3721
3722// Validate inspects the fields of the type to determine if they are valid.
3723func (s *UpdateNetworkConfigurationInput) Validate() error {
3724	invalidParams := request.ErrInvalidParams{Context: "UpdateNetworkConfigurationInput"}
3725	if s.SecurityGroupIds == nil {
3726		invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds"))
3727	}
3728	if s.SecurityGroupIds != nil && len(s.SecurityGroupIds) < 1 {
3729		invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIds", 1))
3730	}
3731
3732	if invalidParams.Len() > 0 {
3733		return invalidParams
3734	}
3735	return nil
3736}
3737
3738// SetSecurityGroupIds sets the SecurityGroupIds field's value.
3739func (s *UpdateNetworkConfigurationInput) SetSecurityGroupIds(v []*string) *UpdateNetworkConfigurationInput {
3740	s.SecurityGroupIds = v
3741	return s
3742}
3743
3744// ValidationException: The provided input is not valid.
3745type ValidationException struct {
3746	_            struct{}                  `type:"structure"`
3747	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3748
3749	Message_ *string `locationName:"message" type:"string"`
3750}
3751
3752// String returns the string representation.
3753//
3754// API parameter values that are decorated as "sensitive" in the API will not
3755// be included in the string output. The member name will be present, but the
3756// value will be replaced with "sensitive".
3757func (s ValidationException) String() string {
3758	return awsutil.Prettify(s)
3759}
3760
3761// GoString returns the string representation.
3762//
3763// API parameter values that are decorated as "sensitive" in the API will not
3764// be included in the string output. The member name will be present, but the
3765// value will be replaced with "sensitive".
3766func (s ValidationException) GoString() string {
3767	return s.String()
3768}
3769
3770func newErrorValidationException(v protocol.ResponseMetadata) error {
3771	return &ValidationException{
3772		RespMetadata: v,
3773	}
3774}
3775
3776// Code returns the exception type name.
3777func (s *ValidationException) Code() string {
3778	return "ValidationException"
3779}
3780
3781// Message returns the exception's message.
3782func (s *ValidationException) Message() string {
3783	if s.Message_ != nil {
3784		return *s.Message_
3785	}
3786	return ""
3787}
3788
3789// OrigErr always returns nil, satisfies awserr.Error interface.
3790func (s *ValidationException) OrigErr() error {
3791	return nil
3792}
3793
3794func (s *ValidationException) Error() string {
3795	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3796}
3797
3798// Status code returns the HTTP status code for the request's response error.
3799func (s *ValidationException) StatusCode() int {
3800	return s.RespMetadata.StatusCode
3801}
3802
3803// RequestID returns the service's response RequestID for request.
3804func (s *ValidationException) RequestID() string {
3805	return s.RespMetadata.RequestID
3806}
3807
3808const (
3809	// EnvironmentStatusCreating is a EnvironmentStatus enum value
3810	EnvironmentStatusCreating = "CREATING"
3811
3812	// EnvironmentStatusCreateFailed is a EnvironmentStatus enum value
3813	EnvironmentStatusCreateFailed = "CREATE_FAILED"
3814
3815	// EnvironmentStatusAvailable is a EnvironmentStatus enum value
3816	EnvironmentStatusAvailable = "AVAILABLE"
3817
3818	// EnvironmentStatusUpdating is a EnvironmentStatus enum value
3819	EnvironmentStatusUpdating = "UPDATING"
3820
3821	// EnvironmentStatusDeleting is a EnvironmentStatus enum value
3822	EnvironmentStatusDeleting = "DELETING"
3823
3824	// EnvironmentStatusDeleted is a EnvironmentStatus enum value
3825	EnvironmentStatusDeleted = "DELETED"
3826
3827	// EnvironmentStatusUnavailable is a EnvironmentStatus enum value
3828	EnvironmentStatusUnavailable = "UNAVAILABLE"
3829
3830	// EnvironmentStatusUpdateFailed is a EnvironmentStatus enum value
3831	EnvironmentStatusUpdateFailed = "UPDATE_FAILED"
3832)
3833
3834// EnvironmentStatus_Values returns all elements of the EnvironmentStatus enum
3835func EnvironmentStatus_Values() []string {
3836	return []string{
3837		EnvironmentStatusCreating,
3838		EnvironmentStatusCreateFailed,
3839		EnvironmentStatusAvailable,
3840		EnvironmentStatusUpdating,
3841		EnvironmentStatusDeleting,
3842		EnvironmentStatusDeleted,
3843		EnvironmentStatusUnavailable,
3844		EnvironmentStatusUpdateFailed,
3845	}
3846}
3847
3848const (
3849	// LoggingLevelCritical is a LoggingLevel enum value
3850	LoggingLevelCritical = "CRITICAL"
3851
3852	// LoggingLevelError is a LoggingLevel enum value
3853	LoggingLevelError = "ERROR"
3854
3855	// LoggingLevelWarning is a LoggingLevel enum value
3856	LoggingLevelWarning = "WARNING"
3857
3858	// LoggingLevelInfo is a LoggingLevel enum value
3859	LoggingLevelInfo = "INFO"
3860
3861	// LoggingLevelDebug is a LoggingLevel enum value
3862	LoggingLevelDebug = "DEBUG"
3863)
3864
3865// LoggingLevel_Values returns all elements of the LoggingLevel enum
3866func LoggingLevel_Values() []string {
3867	return []string{
3868		LoggingLevelCritical,
3869		LoggingLevelError,
3870		LoggingLevelWarning,
3871		LoggingLevelInfo,
3872		LoggingLevelDebug,
3873	}
3874}
3875
3876// Unit
3877const (
3878	// UnitSeconds is a Unit enum value
3879	UnitSeconds = "Seconds"
3880
3881	// UnitMicroseconds is a Unit enum value
3882	UnitMicroseconds = "Microseconds"
3883
3884	// UnitMilliseconds is a Unit enum value
3885	UnitMilliseconds = "Milliseconds"
3886
3887	// UnitBytes is a Unit enum value
3888	UnitBytes = "Bytes"
3889
3890	// UnitKilobytes is a Unit enum value
3891	UnitKilobytes = "Kilobytes"
3892
3893	// UnitMegabytes is a Unit enum value
3894	UnitMegabytes = "Megabytes"
3895
3896	// UnitGigabytes is a Unit enum value
3897	UnitGigabytes = "Gigabytes"
3898
3899	// UnitTerabytes is a Unit enum value
3900	UnitTerabytes = "Terabytes"
3901
3902	// UnitBits is a Unit enum value
3903	UnitBits = "Bits"
3904
3905	// UnitKilobits is a Unit enum value
3906	UnitKilobits = "Kilobits"
3907
3908	// UnitMegabits is a Unit enum value
3909	UnitMegabits = "Megabits"
3910
3911	// UnitGigabits is a Unit enum value
3912	UnitGigabits = "Gigabits"
3913
3914	// UnitTerabits is a Unit enum value
3915	UnitTerabits = "Terabits"
3916
3917	// UnitPercent is a Unit enum value
3918	UnitPercent = "Percent"
3919
3920	// UnitCount is a Unit enum value
3921	UnitCount = "Count"
3922
3923	// UnitBytesSecond is a Unit enum value
3924	UnitBytesSecond = "Bytes/Second"
3925
3926	// UnitKilobytesSecond is a Unit enum value
3927	UnitKilobytesSecond = "Kilobytes/Second"
3928
3929	// UnitMegabytesSecond is a Unit enum value
3930	UnitMegabytesSecond = "Megabytes/Second"
3931
3932	// UnitGigabytesSecond is a Unit enum value
3933	UnitGigabytesSecond = "Gigabytes/Second"
3934
3935	// UnitTerabytesSecond is a Unit enum value
3936	UnitTerabytesSecond = "Terabytes/Second"
3937
3938	// UnitBitsSecond is a Unit enum value
3939	UnitBitsSecond = "Bits/Second"
3940
3941	// UnitKilobitsSecond is a Unit enum value
3942	UnitKilobitsSecond = "Kilobits/Second"
3943
3944	// UnitMegabitsSecond is a Unit enum value
3945	UnitMegabitsSecond = "Megabits/Second"
3946
3947	// UnitGigabitsSecond is a Unit enum value
3948	UnitGigabitsSecond = "Gigabits/Second"
3949
3950	// UnitTerabitsSecond is a Unit enum value
3951	UnitTerabitsSecond = "Terabits/Second"
3952
3953	// UnitCountSecond is a Unit enum value
3954	UnitCountSecond = "Count/Second"
3955
3956	// UnitNone is a Unit enum value
3957	UnitNone = "None"
3958)
3959
3960// Unit_Values returns all elements of the Unit enum
3961func Unit_Values() []string {
3962	return []string{
3963		UnitSeconds,
3964		UnitMicroseconds,
3965		UnitMilliseconds,
3966		UnitBytes,
3967		UnitKilobytes,
3968		UnitMegabytes,
3969		UnitGigabytes,
3970		UnitTerabytes,
3971		UnitBits,
3972		UnitKilobits,
3973		UnitMegabits,
3974		UnitGigabits,
3975		UnitTerabits,
3976		UnitPercent,
3977		UnitCount,
3978		UnitBytesSecond,
3979		UnitKilobytesSecond,
3980		UnitMegabytesSecond,
3981		UnitGigabytesSecond,
3982		UnitTerabytesSecond,
3983		UnitBitsSecond,
3984		UnitKilobitsSecond,
3985		UnitMegabitsSecond,
3986		UnitGigabitsSecond,
3987		UnitTerabitsSecond,
3988		UnitCountSecond,
3989		UnitNone,
3990	}
3991}
3992
3993const (
3994	// UpdateStatusSuccess is a UpdateStatus enum value
3995	UpdateStatusSuccess = "SUCCESS"
3996
3997	// UpdateStatusPending is a UpdateStatus enum value
3998	UpdateStatusPending = "PENDING"
3999
4000	// UpdateStatusFailed is a UpdateStatus enum value
4001	UpdateStatusFailed = "FAILED"
4002)
4003
4004// UpdateStatus_Values returns all elements of the UpdateStatus enum
4005func UpdateStatus_Values() []string {
4006	return []string{
4007		UpdateStatusSuccess,
4008		UpdateStatusPending,
4009		UpdateStatusFailed,
4010	}
4011}
4012
4013const (
4014	// WebserverAccessModePrivateOnly is a WebserverAccessMode enum value
4015	WebserverAccessModePrivateOnly = "PRIVATE_ONLY"
4016
4017	// WebserverAccessModePublicOnly is a WebserverAccessMode enum value
4018	WebserverAccessModePublicOnly = "PUBLIC_ONLY"
4019)
4020
4021// WebserverAccessMode_Values returns all elements of the WebserverAccessMode enum
4022func WebserverAccessMode_Values() []string {
4023	return []string{
4024		WebserverAccessModePrivateOnly,
4025		WebserverAccessModePublicOnly,
4026	}
4027}
4028