github.com/aavshr/aws-sdk-go@v1.41.3/service/mwaa/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package mwaa
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    14  )
    15  
    16  const 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
    42  func (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
    76  func (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.
    90  func (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  
    97  const 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
   123  func (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
   160  func (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.
   174  func (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  
   181  const 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
   207  func (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
   252  func (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.
   266  func (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  
   273  const 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
   299  func (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
   340  func (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.
   354  func (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  
   361  const 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
   387  func (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
   428  func (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.
   442  func (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  
   449  const 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
   475  func (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
   518  func (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.
   532  func (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  //
   556  func (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.
   567  func (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  
   591  const 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
   617  func (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
   658  func (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.
   672  func (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  
   679  const 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
   705  func (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
   743  func (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.
   757  func (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  
   764  const 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
   790  func (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
   832  func (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.
   846  func (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  
   853  const 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
   879  func (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
   921  func (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.
   935  func (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  
   942  const 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
   968  func (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
  1008  func (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.
  1022  func (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.
  1031  type 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".
  1043  func (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".
  1052  func (s AccessDeniedException) GoString() string {
  1053  	return s.String()
  1054  }
  1055  
  1056  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  1057  	return &AccessDeniedException{
  1058  		RespMetadata: v,
  1059  	}
  1060  }
  1061  
  1062  // Code returns the exception type name.
  1063  func (s *AccessDeniedException) Code() string {
  1064  	return "AccessDeniedException"
  1065  }
  1066  
  1067  // Message returns the exception's message.
  1068  func (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.
  1076  func (s *AccessDeniedException) OrigErr() error {
  1077  	return nil
  1078  }
  1079  
  1080  func (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.
  1085  func (s *AccessDeniedException) StatusCode() int {
  1086  	return s.RespMetadata.StatusCode
  1087  }
  1088  
  1089  // RequestID returns the service's response RequestID for request.
  1090  func (s *AccessDeniedException) RequestID() string {
  1091  	return s.RespMetadata.RequestID
  1092  }
  1093  
  1094  type 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".
  1108  func (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".
  1117  func (s CreateCliTokenInput) GoString() string {
  1118  	return s.String()
  1119  }
  1120  
  1121  // Validate inspects the fields of the type to determine if they are valid.
  1122  func (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.
  1138  func (s *CreateCliTokenInput) SetName(v string) *CreateCliTokenInput {
  1139  	s.Name = &v
  1140  	return s
  1141  }
  1142  
  1143  type 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".
  1162  func (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".
  1171  func (s CreateCliTokenOutput) GoString() string {
  1172  	return s.String()
  1173  }
  1174  
  1175  // SetCliToken sets the CliToken field's value.
  1176  func (s *CreateCliTokenOutput) SetCliToken(v string) *CreateCliTokenOutput {
  1177  	s.CliToken = &v
  1178  	return s
  1179  }
  1180  
  1181  // SetWebServerHostname sets the WebServerHostname field's value.
  1182  func (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).
  1190  type 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".
  1313  func (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".
  1322  func (s CreateEnvironmentInput) GoString() string {
  1323  	return s.String()
  1324  }
  1325  
  1326  // Validate inspects the fields of the type to determine if they are valid.
  1327  func (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.
  1407  func (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.
  1413  func (s *CreateEnvironmentInput) SetAirflowVersion(v string) *CreateEnvironmentInput {
  1414  	s.AirflowVersion = &v
  1415  	return s
  1416  }
  1417  
  1418  // SetDagS3Path sets the DagS3Path field's value.
  1419  func (s *CreateEnvironmentInput) SetDagS3Path(v string) *CreateEnvironmentInput {
  1420  	s.DagS3Path = &v
  1421  	return s
  1422  }
  1423  
  1424  // SetEnvironmentClass sets the EnvironmentClass field's value.
  1425  func (s *CreateEnvironmentInput) SetEnvironmentClass(v string) *CreateEnvironmentInput {
  1426  	s.EnvironmentClass = &v
  1427  	return s
  1428  }
  1429  
  1430  // SetExecutionRoleArn sets the ExecutionRoleArn field's value.
  1431  func (s *CreateEnvironmentInput) SetExecutionRoleArn(v string) *CreateEnvironmentInput {
  1432  	s.ExecutionRoleArn = &v
  1433  	return s
  1434  }
  1435  
  1436  // SetKmsKey sets the KmsKey field's value.
  1437  func (s *CreateEnvironmentInput) SetKmsKey(v string) *CreateEnvironmentInput {
  1438  	s.KmsKey = &v
  1439  	return s
  1440  }
  1441  
  1442  // SetLoggingConfiguration sets the LoggingConfiguration field's value.
  1443  func (s *CreateEnvironmentInput) SetLoggingConfiguration(v *LoggingConfigurationInput) *CreateEnvironmentInput {
  1444  	s.LoggingConfiguration = v
  1445  	return s
  1446  }
  1447  
  1448  // SetMaxWorkers sets the MaxWorkers field's value.
  1449  func (s *CreateEnvironmentInput) SetMaxWorkers(v int64) *CreateEnvironmentInput {
  1450  	s.MaxWorkers = &v
  1451  	return s
  1452  }
  1453  
  1454  // SetMinWorkers sets the MinWorkers field's value.
  1455  func (s *CreateEnvironmentInput) SetMinWorkers(v int64) *CreateEnvironmentInput {
  1456  	s.MinWorkers = &v
  1457  	return s
  1458  }
  1459  
  1460  // SetName sets the Name field's value.
  1461  func (s *CreateEnvironmentInput) SetName(v string) *CreateEnvironmentInput {
  1462  	s.Name = &v
  1463  	return s
  1464  }
  1465  
  1466  // SetNetworkConfiguration sets the NetworkConfiguration field's value.
  1467  func (s *CreateEnvironmentInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateEnvironmentInput {
  1468  	s.NetworkConfiguration = v
  1469  	return s
  1470  }
  1471  
  1472  // SetPluginsS3ObjectVersion sets the PluginsS3ObjectVersion field's value.
  1473  func (s *CreateEnvironmentInput) SetPluginsS3ObjectVersion(v string) *CreateEnvironmentInput {
  1474  	s.PluginsS3ObjectVersion = &v
  1475  	return s
  1476  }
  1477  
  1478  // SetPluginsS3Path sets the PluginsS3Path field's value.
  1479  func (s *CreateEnvironmentInput) SetPluginsS3Path(v string) *CreateEnvironmentInput {
  1480  	s.PluginsS3Path = &v
  1481  	return s
  1482  }
  1483  
  1484  // SetRequirementsS3ObjectVersion sets the RequirementsS3ObjectVersion field's value.
  1485  func (s *CreateEnvironmentInput) SetRequirementsS3ObjectVersion(v string) *CreateEnvironmentInput {
  1486  	s.RequirementsS3ObjectVersion = &v
  1487  	return s
  1488  }
  1489  
  1490  // SetRequirementsS3Path sets the RequirementsS3Path field's value.
  1491  func (s *CreateEnvironmentInput) SetRequirementsS3Path(v string) *CreateEnvironmentInput {
  1492  	s.RequirementsS3Path = &v
  1493  	return s
  1494  }
  1495  
  1496  // SetSchedulers sets the Schedulers field's value.
  1497  func (s *CreateEnvironmentInput) SetSchedulers(v int64) *CreateEnvironmentInput {
  1498  	s.Schedulers = &v
  1499  	return s
  1500  }
  1501  
  1502  // SetSourceBucketArn sets the SourceBucketArn field's value.
  1503  func (s *CreateEnvironmentInput) SetSourceBucketArn(v string) *CreateEnvironmentInput {
  1504  	s.SourceBucketArn = &v
  1505  	return s
  1506  }
  1507  
  1508  // SetTags sets the Tags field's value.
  1509  func (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.
  1515  func (s *CreateEnvironmentInput) SetWebserverAccessMode(v string) *CreateEnvironmentInput {
  1516  	s.WebserverAccessMode = &v
  1517  	return s
  1518  }
  1519  
  1520  // SetWeeklyMaintenanceWindowStart sets the WeeklyMaintenanceWindowStart field's value.
  1521  func (s *CreateEnvironmentInput) SetWeeklyMaintenanceWindowStart(v string) *CreateEnvironmentInput {
  1522  	s.WeeklyMaintenanceWindowStart = &v
  1523  	return s
  1524  }
  1525  
  1526  type 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".
  1538  func (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".
  1547  func (s CreateEnvironmentOutput) GoString() string {
  1548  	return s.String()
  1549  }
  1550  
  1551  // SetArn sets the Arn field's value.
  1552  func (s *CreateEnvironmentOutput) SetArn(v string) *CreateEnvironmentOutput {
  1553  	s.Arn = &v
  1554  	return s
  1555  }
  1556  
  1557  type 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".
  1571  func (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".
  1580  func (s CreateWebLoginTokenInput) GoString() string {
  1581  	return s.String()
  1582  }
  1583  
  1584  // Validate inspects the fields of the type to determine if they are valid.
  1585  func (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.
  1601  func (s *CreateWebLoginTokenInput) SetName(v string) *CreateWebLoginTokenInput {
  1602  	s.Name = &v
  1603  	return s
  1604  }
  1605  
  1606  type 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".
  1626  func (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".
  1635  func (s CreateWebLoginTokenOutput) GoString() string {
  1636  	return s.String()
  1637  }
  1638  
  1639  // SetWebServerHostname sets the WebServerHostname field's value.
  1640  func (s *CreateWebLoginTokenOutput) SetWebServerHostname(v string) *CreateWebLoginTokenOutput {
  1641  	s.WebServerHostname = &v
  1642  	return s
  1643  }
  1644  
  1645  // SetWebToken sets the WebToken field's value.
  1646  func (s *CreateWebLoginTokenOutput) SetWebToken(v string) *CreateWebLoginTokenOutput {
  1647  	s.WebToken = &v
  1648  	return s
  1649  }
  1650  
  1651  type 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".
  1665  func (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".
  1674  func (s DeleteEnvironmentInput) GoString() string {
  1675  	return s.String()
  1676  }
  1677  
  1678  // Validate inspects the fields of the type to determine if they are valid.
  1679  func (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.
  1695  func (s *DeleteEnvironmentInput) SetName(v string) *DeleteEnvironmentInput {
  1696  	s.Name = &v
  1697  	return s
  1698  }
  1699  
  1700  type DeleteEnvironmentOutput struct {
  1701  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  1709  func (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".
  1718  func (s DeleteEnvironmentOutput) GoString() string {
  1719  	return s.String()
  1720  }
  1721  
  1722  // Internal only API.
  1723  type 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".
  1742  func (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".
  1751  func (s Dimension) GoString() string {
  1752  	return s.String()
  1753  }
  1754  
  1755  // Validate inspects the fields of the type to determine if they are valid.
  1756  func (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.
  1772  func (s *Dimension) SetName(v string) *Dimension {
  1773  	s.Name = &v
  1774  	return s
  1775  }
  1776  
  1777  // SetValue sets the Value field's value.
  1778  func (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.
  1784  type 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".
  1920  func (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".
  1929  func (s Environment) GoString() string {
  1930  	return s.String()
  1931  }
  1932  
  1933  // SetAirflowConfigurationOptions sets the AirflowConfigurationOptions field's value.
  1934  func (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.
  1940  func (s *Environment) SetAirflowVersion(v string) *Environment {
  1941  	s.AirflowVersion = &v
  1942  	return s
  1943  }
  1944  
  1945  // SetArn sets the Arn field's value.
  1946  func (s *Environment) SetArn(v string) *Environment {
  1947  	s.Arn = &v
  1948  	return s
  1949  }
  1950  
  1951  // SetCreatedAt sets the CreatedAt field's value.
  1952  func (s *Environment) SetCreatedAt(v time.Time) *Environment {
  1953  	s.CreatedAt = &v
  1954  	return s
  1955  }
  1956  
  1957  // SetDagS3Path sets the DagS3Path field's value.
  1958  func (s *Environment) SetDagS3Path(v string) *Environment {
  1959  	s.DagS3Path = &v
  1960  	return s
  1961  }
  1962  
  1963  // SetEnvironmentClass sets the EnvironmentClass field's value.
  1964  func (s *Environment) SetEnvironmentClass(v string) *Environment {
  1965  	s.EnvironmentClass = &v
  1966  	return s
  1967  }
  1968  
  1969  // SetExecutionRoleArn sets the ExecutionRoleArn field's value.
  1970  func (s *Environment) SetExecutionRoleArn(v string) *Environment {
  1971  	s.ExecutionRoleArn = &v
  1972  	return s
  1973  }
  1974  
  1975  // SetKmsKey sets the KmsKey field's value.
  1976  func (s *Environment) SetKmsKey(v string) *Environment {
  1977  	s.KmsKey = &v
  1978  	return s
  1979  }
  1980  
  1981  // SetLastUpdate sets the LastUpdate field's value.
  1982  func (s *Environment) SetLastUpdate(v *LastUpdate) *Environment {
  1983  	s.LastUpdate = v
  1984  	return s
  1985  }
  1986  
  1987  // SetLoggingConfiguration sets the LoggingConfiguration field's value.
  1988  func (s *Environment) SetLoggingConfiguration(v *LoggingConfiguration) *Environment {
  1989  	s.LoggingConfiguration = v
  1990  	return s
  1991  }
  1992  
  1993  // SetMaxWorkers sets the MaxWorkers field's value.
  1994  func (s *Environment) SetMaxWorkers(v int64) *Environment {
  1995  	s.MaxWorkers = &v
  1996  	return s
  1997  }
  1998  
  1999  // SetMinWorkers sets the MinWorkers field's value.
  2000  func (s *Environment) SetMinWorkers(v int64) *Environment {
  2001  	s.MinWorkers = &v
  2002  	return s
  2003  }
  2004  
  2005  // SetName sets the Name field's value.
  2006  func (s *Environment) SetName(v string) *Environment {
  2007  	s.Name = &v
  2008  	return s
  2009  }
  2010  
  2011  // SetNetworkConfiguration sets the NetworkConfiguration field's value.
  2012  func (s *Environment) SetNetworkConfiguration(v *NetworkConfiguration) *Environment {
  2013  	s.NetworkConfiguration = v
  2014  	return s
  2015  }
  2016  
  2017  // SetPluginsS3ObjectVersion sets the PluginsS3ObjectVersion field's value.
  2018  func (s *Environment) SetPluginsS3ObjectVersion(v string) *Environment {
  2019  	s.PluginsS3ObjectVersion = &v
  2020  	return s
  2021  }
  2022  
  2023  // SetPluginsS3Path sets the PluginsS3Path field's value.
  2024  func (s *Environment) SetPluginsS3Path(v string) *Environment {
  2025  	s.PluginsS3Path = &v
  2026  	return s
  2027  }
  2028  
  2029  // SetRequirementsS3ObjectVersion sets the RequirementsS3ObjectVersion field's value.
  2030  func (s *Environment) SetRequirementsS3ObjectVersion(v string) *Environment {
  2031  	s.RequirementsS3ObjectVersion = &v
  2032  	return s
  2033  }
  2034  
  2035  // SetRequirementsS3Path sets the RequirementsS3Path field's value.
  2036  func (s *Environment) SetRequirementsS3Path(v string) *Environment {
  2037  	s.RequirementsS3Path = &v
  2038  	return s
  2039  }
  2040  
  2041  // SetSchedulers sets the Schedulers field's value.
  2042  func (s *Environment) SetSchedulers(v int64) *Environment {
  2043  	s.Schedulers = &v
  2044  	return s
  2045  }
  2046  
  2047  // SetServiceRoleArn sets the ServiceRoleArn field's value.
  2048  func (s *Environment) SetServiceRoleArn(v string) *Environment {
  2049  	s.ServiceRoleArn = &v
  2050  	return s
  2051  }
  2052  
  2053  // SetSourceBucketArn sets the SourceBucketArn field's value.
  2054  func (s *Environment) SetSourceBucketArn(v string) *Environment {
  2055  	s.SourceBucketArn = &v
  2056  	return s
  2057  }
  2058  
  2059  // SetStatus sets the Status field's value.
  2060  func (s *Environment) SetStatus(v string) *Environment {
  2061  	s.Status = &v
  2062  	return s
  2063  }
  2064  
  2065  // SetTags sets the Tags field's value.
  2066  func (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.
  2072  func (s *Environment) SetWebserverAccessMode(v string) *Environment {
  2073  	s.WebserverAccessMode = &v
  2074  	return s
  2075  }
  2076  
  2077  // SetWebserverUrl sets the WebserverUrl field's value.
  2078  func (s *Environment) SetWebserverUrl(v string) *Environment {
  2079  	s.WebserverUrl = &v
  2080  	return s
  2081  }
  2082  
  2083  // SetWeeklyMaintenanceWindowStart sets the WeeklyMaintenanceWindowStart field's value.
  2084  func (s *Environment) SetWeeklyMaintenanceWindowStart(v string) *Environment {
  2085  	s.WeeklyMaintenanceWindowStart = &v
  2086  	return s
  2087  }
  2088  
  2089  type 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".
  2103  func (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".
  2112  func (s GetEnvironmentInput) GoString() string {
  2113  	return s.String()
  2114  }
  2115  
  2116  // Validate inspects the fields of the type to determine if they are valid.
  2117  func (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.
  2133  func (s *GetEnvironmentInput) SetName(v string) *GetEnvironmentInput {
  2134  	s.Name = &v
  2135  	return s
  2136  }
  2137  
  2138  type 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".
  2150  func (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".
  2159  func (s GetEnvironmentOutput) GoString() string {
  2160  	return s.String()
  2161  }
  2162  
  2163  // SetEnvironment sets the Environment field's value.
  2164  func (s *GetEnvironmentOutput) SetEnvironment(v *Environment) *GetEnvironmentOutput {
  2165  	s.Environment = v
  2166  	return s
  2167  }
  2168  
  2169  // InternalServerException: An internal error has occurred.
  2170  type 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".
  2182  func (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".
  2191  func (s InternalServerException) GoString() string {
  2192  	return s.String()
  2193  }
  2194  
  2195  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
  2196  	return &InternalServerException{
  2197  		RespMetadata: v,
  2198  	}
  2199  }
  2200  
  2201  // Code returns the exception type name.
  2202  func (s *InternalServerException) Code() string {
  2203  	return "InternalServerException"
  2204  }
  2205  
  2206  // Message returns the exception's message.
  2207  func (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.
  2215  func (s *InternalServerException) OrigErr() error {
  2216  	return nil
  2217  }
  2218  
  2219  func (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.
  2224  func (s *InternalServerException) StatusCode() int {
  2225  	return s.RespMetadata.StatusCode
  2226  }
  2227  
  2228  // RequestID returns the service's response RequestID for request.
  2229  func (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.
  2235  type 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".
  2254  func (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".
  2263  func (s LastUpdate) GoString() string {
  2264  	return s.String()
  2265  }
  2266  
  2267  // SetCreatedAt sets the CreatedAt field's value.
  2268  func (s *LastUpdate) SetCreatedAt(v time.Time) *LastUpdate {
  2269  	s.CreatedAt = &v
  2270  	return s
  2271  }
  2272  
  2273  // SetError sets the Error field's value.
  2274  func (s *LastUpdate) SetError(v *UpdateError) *LastUpdate {
  2275  	s.Error = v
  2276  	return s
  2277  }
  2278  
  2279  // SetStatus sets the Status field's value.
  2280  func (s *LastUpdate) SetStatus(v string) *LastUpdate {
  2281  	s.Status = &v
  2282  	return s
  2283  }
  2284  
  2285  type 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".
  2301  func (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".
  2310  func (s ListEnvironmentsInput) GoString() string {
  2311  	return s.String()
  2312  }
  2313  
  2314  // Validate inspects the fields of the type to determine if they are valid.
  2315  func (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.
  2328  func (s *ListEnvironmentsInput) SetMaxResults(v int64) *ListEnvironmentsInput {
  2329  	s.MaxResults = &v
  2330  	return s
  2331  }
  2332  
  2333  // SetNextToken sets the NextToken field's value.
  2334  func (s *ListEnvironmentsInput) SetNextToken(v string) *ListEnvironmentsInput {
  2335  	s.NextToken = &v
  2336  	return s
  2337  }
  2338  
  2339  type 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".
  2356  func (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".
  2365  func (s ListEnvironmentsOutput) GoString() string {
  2366  	return s.String()
  2367  }
  2368  
  2369  // SetEnvironments sets the Environments field's value.
  2370  func (s *ListEnvironmentsOutput) SetEnvironments(v []*string) *ListEnvironmentsOutput {
  2371  	s.Environments = v
  2372  	return s
  2373  }
  2374  
  2375  // SetNextToken sets the NextToken field's value.
  2376  func (s *ListEnvironmentsOutput) SetNextToken(v string) *ListEnvironmentsOutput {
  2377  	s.NextToken = &v
  2378  	return s
  2379  }
  2380  
  2381  type 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".
  2396  func (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".
  2405  func (s ListTagsForResourceInput) GoString() string {
  2406  	return s.String()
  2407  }
  2408  
  2409  // Validate inspects the fields of the type to determine if they are valid.
  2410  func (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.
  2426  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  2427  	s.ResourceArn = &v
  2428  	return s
  2429  }
  2430  
  2431  type 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".
  2444  func (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".
  2453  func (s ListTagsForResourceOutput) GoString() string {
  2454  	return s.String()
  2455  }
  2456  
  2457  // SetTags sets the Tags field's value.
  2458  func (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.
  2465  type 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".
  2494  func (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".
  2503  func (s LoggingConfiguration) GoString() string {
  2504  	return s.String()
  2505  }
  2506  
  2507  // SetDagProcessingLogs sets the DagProcessingLogs field's value.
  2508  func (s *LoggingConfiguration) SetDagProcessingLogs(v *ModuleLoggingConfiguration) *LoggingConfiguration {
  2509  	s.DagProcessingLogs = v
  2510  	return s
  2511  }
  2512  
  2513  // SetSchedulerLogs sets the SchedulerLogs field's value.
  2514  func (s *LoggingConfiguration) SetSchedulerLogs(v *ModuleLoggingConfiguration) *LoggingConfiguration {
  2515  	s.SchedulerLogs = v
  2516  	return s
  2517  }
  2518  
  2519  // SetTaskLogs sets the TaskLogs field's value.
  2520  func (s *LoggingConfiguration) SetTaskLogs(v *ModuleLoggingConfiguration) *LoggingConfiguration {
  2521  	s.TaskLogs = v
  2522  	return s
  2523  }
  2524  
  2525  // SetWebserverLogs sets the WebserverLogs field's value.
  2526  func (s *LoggingConfiguration) SetWebserverLogs(v *ModuleLoggingConfiguration) *LoggingConfiguration {
  2527  	s.WebserverLogs = v
  2528  	return s
  2529  }
  2530  
  2531  // SetWorkerLogs sets the WorkerLogs field's value.
  2532  func (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.
  2539  type 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".
  2568  func (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".
  2577  func (s LoggingConfigurationInput) GoString() string {
  2578  	return s.String()
  2579  }
  2580  
  2581  // Validate inspects the fields of the type to determine if they are valid.
  2582  func (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.
  2617  func (s *LoggingConfigurationInput) SetDagProcessingLogs(v *ModuleLoggingConfigurationInput) *LoggingConfigurationInput {
  2618  	s.DagProcessingLogs = v
  2619  	return s
  2620  }
  2621  
  2622  // SetSchedulerLogs sets the SchedulerLogs field's value.
  2623  func (s *LoggingConfigurationInput) SetSchedulerLogs(v *ModuleLoggingConfigurationInput) *LoggingConfigurationInput {
  2624  	s.SchedulerLogs = v
  2625  	return s
  2626  }
  2627  
  2628  // SetTaskLogs sets the TaskLogs field's value.
  2629  func (s *LoggingConfigurationInput) SetTaskLogs(v *ModuleLoggingConfigurationInput) *LoggingConfigurationInput {
  2630  	s.TaskLogs = v
  2631  	return s
  2632  }
  2633  
  2634  // SetWebserverLogs sets the WebserverLogs field's value.
  2635  func (s *LoggingConfigurationInput) SetWebserverLogs(v *ModuleLoggingConfigurationInput) *LoggingConfigurationInput {
  2636  	s.WebserverLogs = v
  2637  	return s
  2638  }
  2639  
  2640  // SetWorkerLogs sets the WorkerLogs field's value.
  2641  func (s *LoggingConfigurationInput) SetWorkerLogs(v *ModuleLoggingConfigurationInput) *LoggingConfigurationInput {
  2642  	s.WorkerLogs = v
  2643  	return s
  2644  }
  2645  
  2646  // Internal only API.
  2647  type 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".
  2678  func (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".
  2687  func (s MetricDatum) GoString() string {
  2688  	return s.String()
  2689  }
  2690  
  2691  // Validate inspects the fields of the type to determine if they are valid.
  2692  func (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.
  2718  func (s *MetricDatum) SetDimensions(v []*Dimension) *MetricDatum {
  2719  	s.Dimensions = v
  2720  	return s
  2721  }
  2722  
  2723  // SetMetricName sets the MetricName field's value.
  2724  func (s *MetricDatum) SetMetricName(v string) *MetricDatum {
  2725  	s.MetricName = &v
  2726  	return s
  2727  }
  2728  
  2729  // SetStatisticValues sets the StatisticValues field's value.
  2730  func (s *MetricDatum) SetStatisticValues(v *StatisticSet) *MetricDatum {
  2731  	s.StatisticValues = v
  2732  	return s
  2733  }
  2734  
  2735  // SetTimestamp sets the Timestamp field's value.
  2736  func (s *MetricDatum) SetTimestamp(v time.Time) *MetricDatum {
  2737  	s.Timestamp = &v
  2738  	return s
  2739  }
  2740  
  2741  // SetUnit sets the Unit field's value.
  2742  func (s *MetricDatum) SetUnit(v string) *MetricDatum {
  2743  	s.Unit = &v
  2744  	return s
  2745  }
  2746  
  2747  // SetValue sets the Value field's value.
  2748  func (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.
  2755  type 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".
  2776  func (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".
  2785  func (s ModuleLoggingConfiguration) GoString() string {
  2786  	return s.String()
  2787  }
  2788  
  2789  // SetCloudWatchLogGroupArn sets the CloudWatchLogGroupArn field's value.
  2790  func (s *ModuleLoggingConfiguration) SetCloudWatchLogGroupArn(v string) *ModuleLoggingConfiguration {
  2791  	s.CloudWatchLogGroupArn = &v
  2792  	return s
  2793  }
  2794  
  2795  // SetEnabled sets the Enabled field's value.
  2796  func (s *ModuleLoggingConfiguration) SetEnabled(v bool) *ModuleLoggingConfiguration {
  2797  	s.Enabled = &v
  2798  	return s
  2799  }
  2800  
  2801  // SetLogLevel sets the LogLevel field's value.
  2802  func (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.
  2809  type 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".
  2830  func (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".
  2839  func (s ModuleLoggingConfigurationInput) GoString() string {
  2840  	return s.String()
  2841  }
  2842  
  2843  // Validate inspects the fields of the type to determine if they are valid.
  2844  func (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.
  2860  func (s *ModuleLoggingConfigurationInput) SetEnabled(v bool) *ModuleLoggingConfigurationInput {
  2861  	s.Enabled = &v
  2862  	return s
  2863  }
  2864  
  2865  // SetLogLevel sets the LogLevel field's value.
  2866  func (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).
  2874  type 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".
  2893  func (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".
  2902  func (s NetworkConfiguration) GoString() string {
  2903  	return s.String()
  2904  }
  2905  
  2906  // Validate inspects the fields of the type to determine if they are valid.
  2907  func (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.
  2923  func (s *NetworkConfiguration) SetSecurityGroupIds(v []*string) *NetworkConfiguration {
  2924  	s.SecurityGroupIds = v
  2925  	return s
  2926  }
  2927  
  2928  // SetSubnetIds sets the SubnetIds field's value.
  2929  func (s *NetworkConfiguration) SetSubnetIds(v []*string) *NetworkConfiguration {
  2930  	s.SubnetIds = v
  2931  	return s
  2932  }
  2933  
  2934  type 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".
  2954  func (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".
  2963  func (s PublishMetricsInput) GoString() string {
  2964  	return s.String()
  2965  }
  2966  
  2967  // Validate inspects the fields of the type to determine if they are valid.
  2968  func (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.
  2997  func (s *PublishMetricsInput) SetEnvironmentName(v string) *PublishMetricsInput {
  2998  	s.EnvironmentName = &v
  2999  	return s
  3000  }
  3001  
  3002  // SetMetricData sets the MetricData field's value.
  3003  func (s *PublishMetricsInput) SetMetricData(v []*MetricDatum) *PublishMetricsInput {
  3004  	s.MetricData = v
  3005  	return s
  3006  }
  3007  
  3008  type PublishMetricsOutput struct {
  3009  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  3017  func (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".
  3026  func (s PublishMetricsOutput) GoString() string {
  3027  	return s.String()
  3028  }
  3029  
  3030  // ResourceNotFoundException: The resource is not available.
  3031  type 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".
  3043  func (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".
  3052  func (s ResourceNotFoundException) GoString() string {
  3053  	return s.String()
  3054  }
  3055  
  3056  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  3057  	return &ResourceNotFoundException{
  3058  		RespMetadata: v,
  3059  	}
  3060  }
  3061  
  3062  // Code returns the exception type name.
  3063  func (s *ResourceNotFoundException) Code() string {
  3064  	return "ResourceNotFoundException"
  3065  }
  3066  
  3067  // Message returns the exception's message.
  3068  func (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.
  3076  func (s *ResourceNotFoundException) OrigErr() error {
  3077  	return nil
  3078  }
  3079  
  3080  func (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.
  3085  func (s *ResourceNotFoundException) StatusCode() int {
  3086  	return s.RespMetadata.StatusCode
  3087  }
  3088  
  3089  // RequestID returns the service's response RequestID for request.
  3090  func (s *ResourceNotFoundException) RequestID() string {
  3091  	return s.RespMetadata.RequestID
  3092  }
  3093  
  3094  // Internal only API.
  3095  type 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".
  3116  func (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".
  3125  func (s StatisticSet) GoString() string {
  3126  	return s.String()
  3127  }
  3128  
  3129  // SetMaximum sets the Maximum field's value.
  3130  func (s *StatisticSet) SetMaximum(v float64) *StatisticSet {
  3131  	s.Maximum = &v
  3132  	return s
  3133  }
  3134  
  3135  // SetMinimum sets the Minimum field's value.
  3136  func (s *StatisticSet) SetMinimum(v float64) *StatisticSet {
  3137  	s.Minimum = &v
  3138  	return s
  3139  }
  3140  
  3141  // SetSampleCount sets the SampleCount field's value.
  3142  func (s *StatisticSet) SetSampleCount(v int64) *StatisticSet {
  3143  	s.SampleCount = &v
  3144  	return s
  3145  }
  3146  
  3147  // SetSum sets the Sum field's value.
  3148  func (s *StatisticSet) SetSum(v float64) *StatisticSet {
  3149  	s.Sum = &v
  3150  	return s
  3151  }
  3152  
  3153  type 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".
  3174  func (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".
  3183  func (s TagResourceInput) GoString() string {
  3184  	return s.String()
  3185  }
  3186  
  3187  // Validate inspects the fields of the type to determine if they are valid.
  3188  func (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.
  3210  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  3211  	s.ResourceArn = &v
  3212  	return s
  3213  }
  3214  
  3215  // SetTags sets the Tags field's value.
  3216  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
  3217  	s.Tags = v
  3218  	return s
  3219  }
  3220  
  3221  type TagResourceOutput struct {
  3222  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  3230  func (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".
  3239  func (s TagResourceOutput) GoString() string {
  3240  	return s.String()
  3241  }
  3242  
  3243  type 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".
  3263  func (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".
  3272  func (s UntagResourceInput) GoString() string {
  3273  	return s.String()
  3274  }
  3275  
  3276  // Validate inspects the fields of the type to determine if they are valid.
  3277  func (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.
  3296  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
  3297  	s.ResourceArn = &v
  3298  	return s
  3299  }
  3300  
  3301  // SetTagKeys sets the TagKeys field's value.
  3302  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  3303  	s.TagKeys = v
  3304  	return s
  3305  }
  3306  
  3307  type UntagResourceOutput struct {
  3308  	_ struct{} `type:"structure" nopayload:"true"`
  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".
  3316  func (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".
  3325  func (s UntagResourceOutput) GoString() string {
  3326  	return s.String()
  3327  }
  3328  
  3329  type 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".
  3433  func (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".
  3442  func (s UpdateEnvironmentInput) GoString() string {
  3443  	return s.String()
  3444  }
  3445  
  3446  // Validate inspects the fields of the type to determine if they are valid.
  3447  func (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.
  3509  func (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.
  3515  func (s *UpdateEnvironmentInput) SetAirflowVersion(v string) *UpdateEnvironmentInput {
  3516  	s.AirflowVersion = &v
  3517  	return s
  3518  }
  3519  
  3520  // SetDagS3Path sets the DagS3Path field's value.
  3521  func (s *UpdateEnvironmentInput) SetDagS3Path(v string) *UpdateEnvironmentInput {
  3522  	s.DagS3Path = &v
  3523  	return s
  3524  }
  3525  
  3526  // SetEnvironmentClass sets the EnvironmentClass field's value.
  3527  func (s *UpdateEnvironmentInput) SetEnvironmentClass(v string) *UpdateEnvironmentInput {
  3528  	s.EnvironmentClass = &v
  3529  	return s
  3530  }
  3531  
  3532  // SetExecutionRoleArn sets the ExecutionRoleArn field's value.
  3533  func (s *UpdateEnvironmentInput) SetExecutionRoleArn(v string) *UpdateEnvironmentInput {
  3534  	s.ExecutionRoleArn = &v
  3535  	return s
  3536  }
  3537  
  3538  // SetLoggingConfiguration sets the LoggingConfiguration field's value.
  3539  func (s *UpdateEnvironmentInput) SetLoggingConfiguration(v *LoggingConfigurationInput) *UpdateEnvironmentInput {
  3540  	s.LoggingConfiguration = v
  3541  	return s
  3542  }
  3543  
  3544  // SetMaxWorkers sets the MaxWorkers field's value.
  3545  func (s *UpdateEnvironmentInput) SetMaxWorkers(v int64) *UpdateEnvironmentInput {
  3546  	s.MaxWorkers = &v
  3547  	return s
  3548  }
  3549  
  3550  // SetMinWorkers sets the MinWorkers field's value.
  3551  func (s *UpdateEnvironmentInput) SetMinWorkers(v int64) *UpdateEnvironmentInput {
  3552  	s.MinWorkers = &v
  3553  	return s
  3554  }
  3555  
  3556  // SetName sets the Name field's value.
  3557  func (s *UpdateEnvironmentInput) SetName(v string) *UpdateEnvironmentInput {
  3558  	s.Name = &v
  3559  	return s
  3560  }
  3561  
  3562  // SetNetworkConfiguration sets the NetworkConfiguration field's value.
  3563  func (s *UpdateEnvironmentInput) SetNetworkConfiguration(v *UpdateNetworkConfigurationInput) *UpdateEnvironmentInput {
  3564  	s.NetworkConfiguration = v
  3565  	return s
  3566  }
  3567  
  3568  // SetPluginsS3ObjectVersion sets the PluginsS3ObjectVersion field's value.
  3569  func (s *UpdateEnvironmentInput) SetPluginsS3ObjectVersion(v string) *UpdateEnvironmentInput {
  3570  	s.PluginsS3ObjectVersion = &v
  3571  	return s
  3572  }
  3573  
  3574  // SetPluginsS3Path sets the PluginsS3Path field's value.
  3575  func (s *UpdateEnvironmentInput) SetPluginsS3Path(v string) *UpdateEnvironmentInput {
  3576  	s.PluginsS3Path = &v
  3577  	return s
  3578  }
  3579  
  3580  // SetRequirementsS3ObjectVersion sets the RequirementsS3ObjectVersion field's value.
  3581  func (s *UpdateEnvironmentInput) SetRequirementsS3ObjectVersion(v string) *UpdateEnvironmentInput {
  3582  	s.RequirementsS3ObjectVersion = &v
  3583  	return s
  3584  }
  3585  
  3586  // SetRequirementsS3Path sets the RequirementsS3Path field's value.
  3587  func (s *UpdateEnvironmentInput) SetRequirementsS3Path(v string) *UpdateEnvironmentInput {
  3588  	s.RequirementsS3Path = &v
  3589  	return s
  3590  }
  3591  
  3592  // SetSchedulers sets the Schedulers field's value.
  3593  func (s *UpdateEnvironmentInput) SetSchedulers(v int64) *UpdateEnvironmentInput {
  3594  	s.Schedulers = &v
  3595  	return s
  3596  }
  3597  
  3598  // SetSourceBucketArn sets the SourceBucketArn field's value.
  3599  func (s *UpdateEnvironmentInput) SetSourceBucketArn(v string) *UpdateEnvironmentInput {
  3600  	s.SourceBucketArn = &v
  3601  	return s
  3602  }
  3603  
  3604  // SetWebserverAccessMode sets the WebserverAccessMode field's value.
  3605  func (s *UpdateEnvironmentInput) SetWebserverAccessMode(v string) *UpdateEnvironmentInput {
  3606  	s.WebserverAccessMode = &v
  3607  	return s
  3608  }
  3609  
  3610  // SetWeeklyMaintenanceWindowStart sets the WeeklyMaintenanceWindowStart field's value.
  3611  func (s *UpdateEnvironmentInput) SetWeeklyMaintenanceWindowStart(v string) *UpdateEnvironmentInput {
  3612  	s.WeeklyMaintenanceWindowStart = &v
  3613  	return s
  3614  }
  3615  
  3616  type 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".
  3629  func (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".
  3638  func (s UpdateEnvironmentOutput) GoString() string {
  3639  	return s.String()
  3640  }
  3641  
  3642  // SetArn sets the Arn field's value.
  3643  func (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.
  3650  type 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".
  3665  func (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".
  3674  func (s UpdateError) GoString() string {
  3675  	return s.String()
  3676  }
  3677  
  3678  // SetErrorCode sets the ErrorCode field's value.
  3679  func (s *UpdateError) SetErrorCode(v string) *UpdateError {
  3680  	s.ErrorCode = &v
  3681  	return s
  3682  }
  3683  
  3684  // SetErrorMessage sets the ErrorMessage field's value.
  3685  func (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).
  3693  type 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".
  3709  func (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".
  3718  func (s UpdateNetworkConfigurationInput) GoString() string {
  3719  	return s.String()
  3720  }
  3721  
  3722  // Validate inspects the fields of the type to determine if they are valid.
  3723  func (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.
  3739  func (s *UpdateNetworkConfigurationInput) SetSecurityGroupIds(v []*string) *UpdateNetworkConfigurationInput {
  3740  	s.SecurityGroupIds = v
  3741  	return s
  3742  }
  3743  
  3744  // ValidationException: The provided input is not valid.
  3745  type 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".
  3757  func (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".
  3766  func (s ValidationException) GoString() string {
  3767  	return s.String()
  3768  }
  3769  
  3770  func newErrorValidationException(v protocol.ResponseMetadata) error {
  3771  	return &ValidationException{
  3772  		RespMetadata: v,
  3773  	}
  3774  }
  3775  
  3776  // Code returns the exception type name.
  3777  func (s *ValidationException) Code() string {
  3778  	return "ValidationException"
  3779  }
  3780  
  3781  // Message returns the exception's message.
  3782  func (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.
  3790  func (s *ValidationException) OrigErr() error {
  3791  	return nil
  3792  }
  3793  
  3794  func (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.
  3799  func (s *ValidationException) StatusCode() int {
  3800  	return s.RespMetadata.StatusCode
  3801  }
  3802  
  3803  // RequestID returns the service's response RequestID for request.
  3804  func (s *ValidationException) RequestID() string {
  3805  	return s.RespMetadata.RequestID
  3806  }
  3807  
  3808  const (
  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
  3835  func 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  
  3848  const (
  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
  3866  func LoggingLevel_Values() []string {
  3867  	return []string{
  3868  		LoggingLevelCritical,
  3869  		LoggingLevelError,
  3870  		LoggingLevelWarning,
  3871  		LoggingLevelInfo,
  3872  		LoggingLevelDebug,
  3873  	}
  3874  }
  3875  
  3876  // Unit
  3877  const (
  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
  3961  func 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  
  3993  const (
  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
  4005  func UpdateStatus_Values() []string {
  4006  	return []string{
  4007  		UpdateStatusSuccess,
  4008  		UpdateStatusPending,
  4009  		UpdateStatusFailed,
  4010  	}
  4011  }
  4012  
  4013  const (
  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
  4022  func WebserverAccessMode_Values() []string {
  4023  	return []string{
  4024  		WebserverAccessModePrivateOnly,
  4025  		WebserverAccessModePublicOnly,
  4026  	}
  4027  }