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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package proton
     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/jsonrpc"
    14  )
    15  
    16  const opAcceptEnvironmentAccountConnection = "AcceptEnvironmentAccountConnection"
    17  
    18  // AcceptEnvironmentAccountConnectionRequest generates a "aws/request.Request" representing the
    19  // client's request for the AcceptEnvironmentAccountConnection 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 AcceptEnvironmentAccountConnection for more information on using the AcceptEnvironmentAccountConnection
    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 AcceptEnvironmentAccountConnectionRequest method.
    34  //    req, resp := client.AcceptEnvironmentAccountConnectionRequest(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/proton-2020-07-20/AcceptEnvironmentAccountConnection
    42  func (c *Proton) AcceptEnvironmentAccountConnectionRequest(input *AcceptEnvironmentAccountConnectionInput) (req *request.Request, output *AcceptEnvironmentAccountConnectionOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAcceptEnvironmentAccountConnection,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AcceptEnvironmentAccountConnectionInput{}
    51  	}
    52  
    53  	output = &AcceptEnvironmentAccountConnectionOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // AcceptEnvironmentAccountConnection API operation for AWS Proton.
    59  //
    60  // In a management account, an environment account connection request is accepted.
    61  // When the environment account connection request is accepted, AWS Proton can
    62  // use the associated IAM role to provision environment infrastructure resources
    63  // in the associated environment account.
    64  //
    65  // For more information, see Environment account connections (https://docs.aws.amazon.com/proton/latest/adminguide/ag-env-account-connections.html)
    66  // in the AWS Proton Administrator guide.
    67  //
    68  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    69  // with awserr.Error's Code and Message methods to get detailed information about
    70  // the error.
    71  //
    72  // See the AWS API reference guide for AWS Proton's
    73  // API operation AcceptEnvironmentAccountConnection for usage and error information.
    74  //
    75  // Returned Error Types:
    76  //   * ValidationException
    77  //   The input is invalid or an out-of-range value was supplied for the input
    78  //   parameter.
    79  //
    80  //   * AccessDeniedException
    81  //   There isn't sufficient access for performing this action.
    82  //
    83  //   * ThrottlingException
    84  //   The request was denied due to request throttling.
    85  //
    86  //   * ConflictException
    87  //   The request couldn't be made due to a conflicting operation or resource.
    88  //
    89  //   * ResourceNotFoundException
    90  //   The requested resource wasn't found.
    91  //
    92  //   * InternalServerException
    93  //   The request failed to register with the service.
    94  //
    95  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/AcceptEnvironmentAccountConnection
    96  func (c *Proton) AcceptEnvironmentAccountConnection(input *AcceptEnvironmentAccountConnectionInput) (*AcceptEnvironmentAccountConnectionOutput, error) {
    97  	req, out := c.AcceptEnvironmentAccountConnectionRequest(input)
    98  	return out, req.Send()
    99  }
   100  
   101  // AcceptEnvironmentAccountConnectionWithContext is the same as AcceptEnvironmentAccountConnection with the addition of
   102  // the ability to pass a context and additional request options.
   103  //
   104  // See AcceptEnvironmentAccountConnection for details on how to use this API operation.
   105  //
   106  // The context must be non-nil and will be used for request cancellation. If
   107  // the context is nil a panic will occur. In the future the SDK may create
   108  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   109  // for more information on using Contexts.
   110  func (c *Proton) AcceptEnvironmentAccountConnectionWithContext(ctx aws.Context, input *AcceptEnvironmentAccountConnectionInput, opts ...request.Option) (*AcceptEnvironmentAccountConnectionOutput, error) {
   111  	req, out := c.AcceptEnvironmentAccountConnectionRequest(input)
   112  	req.SetContext(ctx)
   113  	req.ApplyOptions(opts...)
   114  	return out, req.Send()
   115  }
   116  
   117  const opCancelEnvironmentDeployment = "CancelEnvironmentDeployment"
   118  
   119  // CancelEnvironmentDeploymentRequest generates a "aws/request.Request" representing the
   120  // client's request for the CancelEnvironmentDeployment operation. The "output" return
   121  // value will be populated with the request's response once the request completes
   122  // successfully.
   123  //
   124  // Use "Send" method on the returned Request to send the API call to the service.
   125  // the "output" return value is not valid until after Send returns without error.
   126  //
   127  // See CancelEnvironmentDeployment for more information on using the CancelEnvironmentDeployment
   128  // API call, and error handling.
   129  //
   130  // This method is useful when you want to inject custom logic or configuration
   131  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   132  //
   133  //
   134  //    // Example sending a request using the CancelEnvironmentDeploymentRequest method.
   135  //    req, resp := client.CancelEnvironmentDeploymentRequest(params)
   136  //
   137  //    err := req.Send()
   138  //    if err == nil { // resp is now filled
   139  //        fmt.Println(resp)
   140  //    }
   141  //
   142  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CancelEnvironmentDeployment
   143  func (c *Proton) CancelEnvironmentDeploymentRequest(input *CancelEnvironmentDeploymentInput) (req *request.Request, output *CancelEnvironmentDeploymentOutput) {
   144  	op := &request.Operation{
   145  		Name:       opCancelEnvironmentDeployment,
   146  		HTTPMethod: "POST",
   147  		HTTPPath:   "/",
   148  	}
   149  
   150  	if input == nil {
   151  		input = &CancelEnvironmentDeploymentInput{}
   152  	}
   153  
   154  	output = &CancelEnvironmentDeploymentOutput{}
   155  	req = c.newRequest(op, input, output)
   156  	return
   157  }
   158  
   159  // CancelEnvironmentDeployment API operation for AWS Proton.
   160  //
   161  // Attempts to cancel an environment deployment on an UpdateEnvironment action,
   162  // if the deployment is IN_PROGRESS. For more information, see Update an environment
   163  // (https://docs.aws.amazon.com/proton/latest/adminguide/ag-env-update.html)
   164  // in the AWS Proton Administrator guide.
   165  //
   166  // The following list includes potential cancellation scenarios.
   167  //
   168  //    * If the cancellation attempt succeeds, the resulting deployment state
   169  //    is CANCELLED.
   170  //
   171  //    * If the cancellation attempt fails, the resulting deployment state is
   172  //    FAILED.
   173  //
   174  //    * If the current UpdateEnvironment action succeeds before the cancellation
   175  //    attempt starts, the resulting deployment state is SUCCEEDED and the cancellation
   176  //    attempt has no effect.
   177  //
   178  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   179  // with awserr.Error's Code and Message methods to get detailed information about
   180  // the error.
   181  //
   182  // See the AWS API reference guide for AWS Proton's
   183  // API operation CancelEnvironmentDeployment for usage and error information.
   184  //
   185  // Returned Error Types:
   186  //   * ValidationException
   187  //   The input is invalid or an out-of-range value was supplied for the input
   188  //   parameter.
   189  //
   190  //   * AccessDeniedException
   191  //   There isn't sufficient access for performing this action.
   192  //
   193  //   * ThrottlingException
   194  //   The request was denied due to request throttling.
   195  //
   196  //   * ConflictException
   197  //   The request couldn't be made due to a conflicting operation or resource.
   198  //
   199  //   * ResourceNotFoundException
   200  //   The requested resource wasn't found.
   201  //
   202  //   * InternalServerException
   203  //   The request failed to register with the service.
   204  //
   205  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CancelEnvironmentDeployment
   206  func (c *Proton) CancelEnvironmentDeployment(input *CancelEnvironmentDeploymentInput) (*CancelEnvironmentDeploymentOutput, error) {
   207  	req, out := c.CancelEnvironmentDeploymentRequest(input)
   208  	return out, req.Send()
   209  }
   210  
   211  // CancelEnvironmentDeploymentWithContext is the same as CancelEnvironmentDeployment with the addition of
   212  // the ability to pass a context and additional request options.
   213  //
   214  // See CancelEnvironmentDeployment for details on how to use this API operation.
   215  //
   216  // The context must be non-nil and will be used for request cancellation. If
   217  // the context is nil a panic will occur. In the future the SDK may create
   218  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   219  // for more information on using Contexts.
   220  func (c *Proton) CancelEnvironmentDeploymentWithContext(ctx aws.Context, input *CancelEnvironmentDeploymentInput, opts ...request.Option) (*CancelEnvironmentDeploymentOutput, error) {
   221  	req, out := c.CancelEnvironmentDeploymentRequest(input)
   222  	req.SetContext(ctx)
   223  	req.ApplyOptions(opts...)
   224  	return out, req.Send()
   225  }
   226  
   227  const opCancelServiceInstanceDeployment = "CancelServiceInstanceDeployment"
   228  
   229  // CancelServiceInstanceDeploymentRequest generates a "aws/request.Request" representing the
   230  // client's request for the CancelServiceInstanceDeployment operation. The "output" return
   231  // value will be populated with the request's response once the request completes
   232  // successfully.
   233  //
   234  // Use "Send" method on the returned Request to send the API call to the service.
   235  // the "output" return value is not valid until after Send returns without error.
   236  //
   237  // See CancelServiceInstanceDeployment for more information on using the CancelServiceInstanceDeployment
   238  // API call, and error handling.
   239  //
   240  // This method is useful when you want to inject custom logic or configuration
   241  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   242  //
   243  //
   244  //    // Example sending a request using the CancelServiceInstanceDeploymentRequest method.
   245  //    req, resp := client.CancelServiceInstanceDeploymentRequest(params)
   246  //
   247  //    err := req.Send()
   248  //    if err == nil { // resp is now filled
   249  //        fmt.Println(resp)
   250  //    }
   251  //
   252  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CancelServiceInstanceDeployment
   253  func (c *Proton) CancelServiceInstanceDeploymentRequest(input *CancelServiceInstanceDeploymentInput) (req *request.Request, output *CancelServiceInstanceDeploymentOutput) {
   254  	op := &request.Operation{
   255  		Name:       opCancelServiceInstanceDeployment,
   256  		HTTPMethod: "POST",
   257  		HTTPPath:   "/",
   258  	}
   259  
   260  	if input == nil {
   261  		input = &CancelServiceInstanceDeploymentInput{}
   262  	}
   263  
   264  	output = &CancelServiceInstanceDeploymentOutput{}
   265  	req = c.newRequest(op, input, output)
   266  	return
   267  }
   268  
   269  // CancelServiceInstanceDeployment API operation for AWS Proton.
   270  //
   271  // Attempts to cancel a service instance deployment on an UpdateServiceInstance
   272  // action, if the deployment is IN_PROGRESS. For more information, see Update
   273  // a service instance in the AWS Proton Administrator guide (https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-instance-update.html)
   274  // or the AWS Proton User guide (https://docs.aws.amazon.com/proton/latest/userguide/ug-svc-instance-update.html).
   275  //
   276  // The following list includes potential cancellation scenarios.
   277  //
   278  //    * If the cancellation attempt succeeds, the resulting deployment state
   279  //    is CANCELLED.
   280  //
   281  //    * If the cancellation attempt fails, the resulting deployment state is
   282  //    FAILED.
   283  //
   284  //    * If the current UpdateServiceInstance action succeeds before the cancellation
   285  //    attempt starts, the resulting deployment state is SUCCEEDED and the cancellation
   286  //    attempt has no effect.
   287  //
   288  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   289  // with awserr.Error's Code and Message methods to get detailed information about
   290  // the error.
   291  //
   292  // See the AWS API reference guide for AWS Proton's
   293  // API operation CancelServiceInstanceDeployment for usage and error information.
   294  //
   295  // Returned Error Types:
   296  //   * ValidationException
   297  //   The input is invalid or an out-of-range value was supplied for the input
   298  //   parameter.
   299  //
   300  //   * AccessDeniedException
   301  //   There isn't sufficient access for performing this action.
   302  //
   303  //   * ThrottlingException
   304  //   The request was denied due to request throttling.
   305  //
   306  //   * ConflictException
   307  //   The request couldn't be made due to a conflicting operation or resource.
   308  //
   309  //   * ResourceNotFoundException
   310  //   The requested resource wasn't found.
   311  //
   312  //   * InternalServerException
   313  //   The request failed to register with the service.
   314  //
   315  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CancelServiceInstanceDeployment
   316  func (c *Proton) CancelServiceInstanceDeployment(input *CancelServiceInstanceDeploymentInput) (*CancelServiceInstanceDeploymentOutput, error) {
   317  	req, out := c.CancelServiceInstanceDeploymentRequest(input)
   318  	return out, req.Send()
   319  }
   320  
   321  // CancelServiceInstanceDeploymentWithContext is the same as CancelServiceInstanceDeployment with the addition of
   322  // the ability to pass a context and additional request options.
   323  //
   324  // See CancelServiceInstanceDeployment for details on how to use this API operation.
   325  //
   326  // The context must be non-nil and will be used for request cancellation. If
   327  // the context is nil a panic will occur. In the future the SDK may create
   328  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   329  // for more information on using Contexts.
   330  func (c *Proton) CancelServiceInstanceDeploymentWithContext(ctx aws.Context, input *CancelServiceInstanceDeploymentInput, opts ...request.Option) (*CancelServiceInstanceDeploymentOutput, error) {
   331  	req, out := c.CancelServiceInstanceDeploymentRequest(input)
   332  	req.SetContext(ctx)
   333  	req.ApplyOptions(opts...)
   334  	return out, req.Send()
   335  }
   336  
   337  const opCancelServicePipelineDeployment = "CancelServicePipelineDeployment"
   338  
   339  // CancelServicePipelineDeploymentRequest generates a "aws/request.Request" representing the
   340  // client's request for the CancelServicePipelineDeployment operation. The "output" return
   341  // value will be populated with the request's response once the request completes
   342  // successfully.
   343  //
   344  // Use "Send" method on the returned Request to send the API call to the service.
   345  // the "output" return value is not valid until after Send returns without error.
   346  //
   347  // See CancelServicePipelineDeployment for more information on using the CancelServicePipelineDeployment
   348  // API call, and error handling.
   349  //
   350  // This method is useful when you want to inject custom logic or configuration
   351  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   352  //
   353  //
   354  //    // Example sending a request using the CancelServicePipelineDeploymentRequest method.
   355  //    req, resp := client.CancelServicePipelineDeploymentRequest(params)
   356  //
   357  //    err := req.Send()
   358  //    if err == nil { // resp is now filled
   359  //        fmt.Println(resp)
   360  //    }
   361  //
   362  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CancelServicePipelineDeployment
   363  func (c *Proton) CancelServicePipelineDeploymentRequest(input *CancelServicePipelineDeploymentInput) (req *request.Request, output *CancelServicePipelineDeploymentOutput) {
   364  	op := &request.Operation{
   365  		Name:       opCancelServicePipelineDeployment,
   366  		HTTPMethod: "POST",
   367  		HTTPPath:   "/",
   368  	}
   369  
   370  	if input == nil {
   371  		input = &CancelServicePipelineDeploymentInput{}
   372  	}
   373  
   374  	output = &CancelServicePipelineDeploymentOutput{}
   375  	req = c.newRequest(op, input, output)
   376  	return
   377  }
   378  
   379  // CancelServicePipelineDeployment API operation for AWS Proton.
   380  //
   381  // Attempts to cancel a service pipeline deployment on an UpdateServicePipeline
   382  // action, if the deployment is IN_PROGRESS. For more information, see Update
   383  // a service pipeline in the AWS Proton Administrator guide (https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-pipeline-update.html)
   384  // or the AWS Proton User guide (https://docs.aws.amazon.com/proton/latest/userguide/ug-svc-pipeline-update.html).
   385  //
   386  // The following list includes potential cancellation scenarios.
   387  //
   388  //    * If the cancellation attempt succeeds, the resulting deployment state
   389  //    is CANCELLED.
   390  //
   391  //    * If the cancellation attempt fails, the resulting deployment state is
   392  //    FAILED.
   393  //
   394  //    * If the current UpdateServicePipeline action succeeds before the cancellation
   395  //    attempt starts, the resulting deployment state is SUCCEEDED and the cancellation
   396  //    attempt has no effect.
   397  //
   398  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   399  // with awserr.Error's Code and Message methods to get detailed information about
   400  // the error.
   401  //
   402  // See the AWS API reference guide for AWS Proton's
   403  // API operation CancelServicePipelineDeployment for usage and error information.
   404  //
   405  // Returned Error Types:
   406  //   * ValidationException
   407  //   The input is invalid or an out-of-range value was supplied for the input
   408  //   parameter.
   409  //
   410  //   * AccessDeniedException
   411  //   There isn't sufficient access for performing this action.
   412  //
   413  //   * ThrottlingException
   414  //   The request was denied due to request throttling.
   415  //
   416  //   * ConflictException
   417  //   The request couldn't be made due to a conflicting operation or resource.
   418  //
   419  //   * ResourceNotFoundException
   420  //   The requested resource wasn't found.
   421  //
   422  //   * InternalServerException
   423  //   The request failed to register with the service.
   424  //
   425  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CancelServicePipelineDeployment
   426  func (c *Proton) CancelServicePipelineDeployment(input *CancelServicePipelineDeploymentInput) (*CancelServicePipelineDeploymentOutput, error) {
   427  	req, out := c.CancelServicePipelineDeploymentRequest(input)
   428  	return out, req.Send()
   429  }
   430  
   431  // CancelServicePipelineDeploymentWithContext is the same as CancelServicePipelineDeployment with the addition of
   432  // the ability to pass a context and additional request options.
   433  //
   434  // See CancelServicePipelineDeployment for details on how to use this API operation.
   435  //
   436  // The context must be non-nil and will be used for request cancellation. If
   437  // the context is nil a panic will occur. In the future the SDK may create
   438  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   439  // for more information on using Contexts.
   440  func (c *Proton) CancelServicePipelineDeploymentWithContext(ctx aws.Context, input *CancelServicePipelineDeploymentInput, opts ...request.Option) (*CancelServicePipelineDeploymentOutput, error) {
   441  	req, out := c.CancelServicePipelineDeploymentRequest(input)
   442  	req.SetContext(ctx)
   443  	req.ApplyOptions(opts...)
   444  	return out, req.Send()
   445  }
   446  
   447  const opCreateEnvironment = "CreateEnvironment"
   448  
   449  // CreateEnvironmentRequest generates a "aws/request.Request" representing the
   450  // client's request for the CreateEnvironment operation. The "output" return
   451  // value will be populated with the request's response once the request completes
   452  // successfully.
   453  //
   454  // Use "Send" method on the returned Request to send the API call to the service.
   455  // the "output" return value is not valid until after Send returns without error.
   456  //
   457  // See CreateEnvironment for more information on using the CreateEnvironment
   458  // API call, and error handling.
   459  //
   460  // This method is useful when you want to inject custom logic or configuration
   461  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   462  //
   463  //
   464  //    // Example sending a request using the CreateEnvironmentRequest method.
   465  //    req, resp := client.CreateEnvironmentRequest(params)
   466  //
   467  //    err := req.Send()
   468  //    if err == nil { // resp is now filled
   469  //        fmt.Println(resp)
   470  //    }
   471  //
   472  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CreateEnvironment
   473  func (c *Proton) CreateEnvironmentRequest(input *CreateEnvironmentInput) (req *request.Request, output *CreateEnvironmentOutput) {
   474  	op := &request.Operation{
   475  		Name:       opCreateEnvironment,
   476  		HTTPMethod: "POST",
   477  		HTTPPath:   "/",
   478  	}
   479  
   480  	if input == nil {
   481  		input = &CreateEnvironmentInput{}
   482  	}
   483  
   484  	output = &CreateEnvironmentOutput{}
   485  	req = c.newRequest(op, input, output)
   486  	return
   487  }
   488  
   489  // CreateEnvironment API operation for AWS Proton.
   490  //
   491  // Deploy a new environment. An AWS Proton environment is created from an environment
   492  // template that defines infrastructure and resources that can be shared across
   493  // services. For more information, see the Environments (https://docs.aws.amazon.com/proton/latest/adminguide/ag-environments.html)
   494  // in the AWS Proton Administrator Guide.
   495  //
   496  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   497  // with awserr.Error's Code and Message methods to get detailed information about
   498  // the error.
   499  //
   500  // See the AWS API reference guide for AWS Proton's
   501  // API operation CreateEnvironment for usage and error information.
   502  //
   503  // Returned Error Types:
   504  //   * ServiceQuotaExceededException
   505  //   A quota was exceeded. For more information, see AWS Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html)
   506  //   in the AWS Proton Administrator Guide.
   507  //
   508  //   * ValidationException
   509  //   The input is invalid or an out-of-range value was supplied for the input
   510  //   parameter.
   511  //
   512  //   * AccessDeniedException
   513  //   There isn't sufficient access for performing this action.
   514  //
   515  //   * ThrottlingException
   516  //   The request was denied due to request throttling.
   517  //
   518  //   * ConflictException
   519  //   The request couldn't be made due to a conflicting operation or resource.
   520  //
   521  //   * ResourceNotFoundException
   522  //   The requested resource wasn't found.
   523  //
   524  //   * InternalServerException
   525  //   The request failed to register with the service.
   526  //
   527  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CreateEnvironment
   528  func (c *Proton) CreateEnvironment(input *CreateEnvironmentInput) (*CreateEnvironmentOutput, error) {
   529  	req, out := c.CreateEnvironmentRequest(input)
   530  	return out, req.Send()
   531  }
   532  
   533  // CreateEnvironmentWithContext is the same as CreateEnvironment with the addition of
   534  // the ability to pass a context and additional request options.
   535  //
   536  // See CreateEnvironment for details on how to use this API operation.
   537  //
   538  // The context must be non-nil and will be used for request cancellation. If
   539  // the context is nil a panic will occur. In the future the SDK may create
   540  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   541  // for more information on using Contexts.
   542  func (c *Proton) CreateEnvironmentWithContext(ctx aws.Context, input *CreateEnvironmentInput, opts ...request.Option) (*CreateEnvironmentOutput, error) {
   543  	req, out := c.CreateEnvironmentRequest(input)
   544  	req.SetContext(ctx)
   545  	req.ApplyOptions(opts...)
   546  	return out, req.Send()
   547  }
   548  
   549  const opCreateEnvironmentAccountConnection = "CreateEnvironmentAccountConnection"
   550  
   551  // CreateEnvironmentAccountConnectionRequest generates a "aws/request.Request" representing the
   552  // client's request for the CreateEnvironmentAccountConnection operation. The "output" return
   553  // value will be populated with the request's response once the request completes
   554  // successfully.
   555  //
   556  // Use "Send" method on the returned Request to send the API call to the service.
   557  // the "output" return value is not valid until after Send returns without error.
   558  //
   559  // See CreateEnvironmentAccountConnection for more information on using the CreateEnvironmentAccountConnection
   560  // API call, and error handling.
   561  //
   562  // This method is useful when you want to inject custom logic or configuration
   563  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   564  //
   565  //
   566  //    // Example sending a request using the CreateEnvironmentAccountConnectionRequest method.
   567  //    req, resp := client.CreateEnvironmentAccountConnectionRequest(params)
   568  //
   569  //    err := req.Send()
   570  //    if err == nil { // resp is now filled
   571  //        fmt.Println(resp)
   572  //    }
   573  //
   574  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CreateEnvironmentAccountConnection
   575  func (c *Proton) CreateEnvironmentAccountConnectionRequest(input *CreateEnvironmentAccountConnectionInput) (req *request.Request, output *CreateEnvironmentAccountConnectionOutput) {
   576  	op := &request.Operation{
   577  		Name:       opCreateEnvironmentAccountConnection,
   578  		HTTPMethod: "POST",
   579  		HTTPPath:   "/",
   580  	}
   581  
   582  	if input == nil {
   583  		input = &CreateEnvironmentAccountConnectionInput{}
   584  	}
   585  
   586  	output = &CreateEnvironmentAccountConnectionOutput{}
   587  	req = c.newRequest(op, input, output)
   588  	return
   589  }
   590  
   591  // CreateEnvironmentAccountConnection API operation for AWS Proton.
   592  //
   593  // Create an environment account connection in an environment account so that
   594  // environment infrastructure resources can be provisioned in the environment
   595  // account from a management account.
   596  //
   597  // An environment account connection is a secure bi-directional connection between
   598  // a management account and an environment account that maintains authorization
   599  // and permissions. For more information, see Environment account connections
   600  // (https://docs.aws.amazon.com/proton/latest/adminguide/ag-env-account-connections.html)
   601  // in the AWS Proton Administrator guide.
   602  //
   603  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   604  // with awserr.Error's Code and Message methods to get detailed information about
   605  // the error.
   606  //
   607  // See the AWS API reference guide for AWS Proton's
   608  // API operation CreateEnvironmentAccountConnection for usage and error information.
   609  //
   610  // Returned Error Types:
   611  //   * ServiceQuotaExceededException
   612  //   A quota was exceeded. For more information, see AWS Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html)
   613  //   in the AWS Proton Administrator Guide.
   614  //
   615  //   * ValidationException
   616  //   The input is invalid or an out-of-range value was supplied for the input
   617  //   parameter.
   618  //
   619  //   * AccessDeniedException
   620  //   There isn't sufficient access for performing this action.
   621  //
   622  //   * ThrottlingException
   623  //   The request was denied due to request throttling.
   624  //
   625  //   * ConflictException
   626  //   The request couldn't be made due to a conflicting operation or resource.
   627  //
   628  //   * InternalServerException
   629  //   The request failed to register with the service.
   630  //
   631  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CreateEnvironmentAccountConnection
   632  func (c *Proton) CreateEnvironmentAccountConnection(input *CreateEnvironmentAccountConnectionInput) (*CreateEnvironmentAccountConnectionOutput, error) {
   633  	req, out := c.CreateEnvironmentAccountConnectionRequest(input)
   634  	return out, req.Send()
   635  }
   636  
   637  // CreateEnvironmentAccountConnectionWithContext is the same as CreateEnvironmentAccountConnection with the addition of
   638  // the ability to pass a context and additional request options.
   639  //
   640  // See CreateEnvironmentAccountConnection for details on how to use this API operation.
   641  //
   642  // The context must be non-nil and will be used for request cancellation. If
   643  // the context is nil a panic will occur. In the future the SDK may create
   644  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   645  // for more information on using Contexts.
   646  func (c *Proton) CreateEnvironmentAccountConnectionWithContext(ctx aws.Context, input *CreateEnvironmentAccountConnectionInput, opts ...request.Option) (*CreateEnvironmentAccountConnectionOutput, error) {
   647  	req, out := c.CreateEnvironmentAccountConnectionRequest(input)
   648  	req.SetContext(ctx)
   649  	req.ApplyOptions(opts...)
   650  	return out, req.Send()
   651  }
   652  
   653  const opCreateEnvironmentTemplate = "CreateEnvironmentTemplate"
   654  
   655  // CreateEnvironmentTemplateRequest generates a "aws/request.Request" representing the
   656  // client's request for the CreateEnvironmentTemplate operation. The "output" return
   657  // value will be populated with the request's response once the request completes
   658  // successfully.
   659  //
   660  // Use "Send" method on the returned Request to send the API call to the service.
   661  // the "output" return value is not valid until after Send returns without error.
   662  //
   663  // See CreateEnvironmentTemplate for more information on using the CreateEnvironmentTemplate
   664  // API call, and error handling.
   665  //
   666  // This method is useful when you want to inject custom logic or configuration
   667  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   668  //
   669  //
   670  //    // Example sending a request using the CreateEnvironmentTemplateRequest method.
   671  //    req, resp := client.CreateEnvironmentTemplateRequest(params)
   672  //
   673  //    err := req.Send()
   674  //    if err == nil { // resp is now filled
   675  //        fmt.Println(resp)
   676  //    }
   677  //
   678  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CreateEnvironmentTemplate
   679  func (c *Proton) CreateEnvironmentTemplateRequest(input *CreateEnvironmentTemplateInput) (req *request.Request, output *CreateEnvironmentTemplateOutput) {
   680  	op := &request.Operation{
   681  		Name:       opCreateEnvironmentTemplate,
   682  		HTTPMethod: "POST",
   683  		HTTPPath:   "/",
   684  	}
   685  
   686  	if input == nil {
   687  		input = &CreateEnvironmentTemplateInput{}
   688  	}
   689  
   690  	output = &CreateEnvironmentTemplateOutput{}
   691  	req = c.newRequest(op, input, output)
   692  	return
   693  }
   694  
   695  // CreateEnvironmentTemplate API operation for AWS Proton.
   696  //
   697  // Create an environment template for AWS Proton. For more information, see
   698  // Environment Templates (https://docs.aws.amazon.com/proton/latest/adminguide/ag-templates.html)
   699  // in the AWS Proton Administrator Guide.
   700  //
   701  // You can create an environment template in one of the two following ways:
   702  //
   703  //    * Register and publish a standard environment template that instructs
   704  //    AWS Proton to deploy and manage environment infrastructure.
   705  //
   706  //    * Register and publish a customer managed environment template that connects
   707  //    AWS Proton to your existing provisioned infrastructure that you manage.
   708  //    AWS Proton doesn't manage your existing provisioned infrastructure. To
   709  //    create an environment template for customer provisioned and managed infrastructure,
   710  //    include the provisioning parameter and set the value to CUSTOMER_MANAGED.
   711  //    For more information, see Register and publish an environment template
   712  //    (https://docs.aws.amazon.com/proton/latest/adminguide/template-create.html)
   713  //    in the AWS Proton Administrator Guide.
   714  //
   715  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   716  // with awserr.Error's Code and Message methods to get detailed information about
   717  // the error.
   718  //
   719  // See the AWS API reference guide for AWS Proton's
   720  // API operation CreateEnvironmentTemplate for usage and error information.
   721  //
   722  // Returned Error Types:
   723  //   * ServiceQuotaExceededException
   724  //   A quota was exceeded. For more information, see AWS Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html)
   725  //   in the AWS Proton Administrator Guide.
   726  //
   727  //   * ValidationException
   728  //   The input is invalid or an out-of-range value was supplied for the input
   729  //   parameter.
   730  //
   731  //   * AccessDeniedException
   732  //   There isn't sufficient access for performing this action.
   733  //
   734  //   * ThrottlingException
   735  //   The request was denied due to request throttling.
   736  //
   737  //   * ConflictException
   738  //   The request couldn't be made due to a conflicting operation or resource.
   739  //
   740  //   * InternalServerException
   741  //   The request failed to register with the service.
   742  //
   743  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CreateEnvironmentTemplate
   744  func (c *Proton) CreateEnvironmentTemplate(input *CreateEnvironmentTemplateInput) (*CreateEnvironmentTemplateOutput, error) {
   745  	req, out := c.CreateEnvironmentTemplateRequest(input)
   746  	return out, req.Send()
   747  }
   748  
   749  // CreateEnvironmentTemplateWithContext is the same as CreateEnvironmentTemplate with the addition of
   750  // the ability to pass a context and additional request options.
   751  //
   752  // See CreateEnvironmentTemplate for details on how to use this API operation.
   753  //
   754  // The context must be non-nil and will be used for request cancellation. If
   755  // the context is nil a panic will occur. In the future the SDK may create
   756  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   757  // for more information on using Contexts.
   758  func (c *Proton) CreateEnvironmentTemplateWithContext(ctx aws.Context, input *CreateEnvironmentTemplateInput, opts ...request.Option) (*CreateEnvironmentTemplateOutput, error) {
   759  	req, out := c.CreateEnvironmentTemplateRequest(input)
   760  	req.SetContext(ctx)
   761  	req.ApplyOptions(opts...)
   762  	return out, req.Send()
   763  }
   764  
   765  const opCreateEnvironmentTemplateVersion = "CreateEnvironmentTemplateVersion"
   766  
   767  // CreateEnvironmentTemplateVersionRequest generates a "aws/request.Request" representing the
   768  // client's request for the CreateEnvironmentTemplateVersion operation. The "output" return
   769  // value will be populated with the request's response once the request completes
   770  // successfully.
   771  //
   772  // Use "Send" method on the returned Request to send the API call to the service.
   773  // the "output" return value is not valid until after Send returns without error.
   774  //
   775  // See CreateEnvironmentTemplateVersion for more information on using the CreateEnvironmentTemplateVersion
   776  // API call, and error handling.
   777  //
   778  // This method is useful when you want to inject custom logic or configuration
   779  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   780  //
   781  //
   782  //    // Example sending a request using the CreateEnvironmentTemplateVersionRequest method.
   783  //    req, resp := client.CreateEnvironmentTemplateVersionRequest(params)
   784  //
   785  //    err := req.Send()
   786  //    if err == nil { // resp is now filled
   787  //        fmt.Println(resp)
   788  //    }
   789  //
   790  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CreateEnvironmentTemplateVersion
   791  func (c *Proton) CreateEnvironmentTemplateVersionRequest(input *CreateEnvironmentTemplateVersionInput) (req *request.Request, output *CreateEnvironmentTemplateVersionOutput) {
   792  	op := &request.Operation{
   793  		Name:       opCreateEnvironmentTemplateVersion,
   794  		HTTPMethod: "POST",
   795  		HTTPPath:   "/",
   796  	}
   797  
   798  	if input == nil {
   799  		input = &CreateEnvironmentTemplateVersionInput{}
   800  	}
   801  
   802  	output = &CreateEnvironmentTemplateVersionOutput{}
   803  	req = c.newRequest(op, input, output)
   804  	return
   805  }
   806  
   807  // CreateEnvironmentTemplateVersion API operation for AWS Proton.
   808  //
   809  // Create a new major or minor version of an environment template. A major version
   810  // of an environment template is a version that isn't backwards compatible.
   811  // A minor version of an environment template is a version that's backwards
   812  // compatible within its major version.
   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 AWS Proton's
   819  // API operation CreateEnvironmentTemplateVersion for usage and error information.
   820  //
   821  // Returned Error Types:
   822  //   * ServiceQuotaExceededException
   823  //   A quota was exceeded. For more information, see AWS Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html)
   824  //   in the AWS Proton Administrator Guide.
   825  //
   826  //   * ValidationException
   827  //   The input is invalid or an out-of-range value was supplied for the input
   828  //   parameter.
   829  //
   830  //   * AccessDeniedException
   831  //   There isn't sufficient access for performing this action.
   832  //
   833  //   * ThrottlingException
   834  //   The request was denied due to request throttling.
   835  //
   836  //   * ConflictException
   837  //   The request couldn't be made due to a conflicting operation or resource.
   838  //
   839  //   * ResourceNotFoundException
   840  //   The requested resource wasn't found.
   841  //
   842  //   * InternalServerException
   843  //   The request failed to register with the service.
   844  //
   845  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CreateEnvironmentTemplateVersion
   846  func (c *Proton) CreateEnvironmentTemplateVersion(input *CreateEnvironmentTemplateVersionInput) (*CreateEnvironmentTemplateVersionOutput, error) {
   847  	req, out := c.CreateEnvironmentTemplateVersionRequest(input)
   848  	return out, req.Send()
   849  }
   850  
   851  // CreateEnvironmentTemplateVersionWithContext is the same as CreateEnvironmentTemplateVersion with the addition of
   852  // the ability to pass a context and additional request options.
   853  //
   854  // See CreateEnvironmentTemplateVersion for details on how to use this API operation.
   855  //
   856  // The context must be non-nil and will be used for request cancellation. If
   857  // the context is nil a panic will occur. In the future the SDK may create
   858  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   859  // for more information on using Contexts.
   860  func (c *Proton) CreateEnvironmentTemplateVersionWithContext(ctx aws.Context, input *CreateEnvironmentTemplateVersionInput, opts ...request.Option) (*CreateEnvironmentTemplateVersionOutput, error) {
   861  	req, out := c.CreateEnvironmentTemplateVersionRequest(input)
   862  	req.SetContext(ctx)
   863  	req.ApplyOptions(opts...)
   864  	return out, req.Send()
   865  }
   866  
   867  const opCreateService = "CreateService"
   868  
   869  // CreateServiceRequest generates a "aws/request.Request" representing the
   870  // client's request for the CreateService operation. The "output" return
   871  // value will be populated with the request's response once the request completes
   872  // successfully.
   873  //
   874  // Use "Send" method on the returned Request to send the API call to the service.
   875  // the "output" return value is not valid until after Send returns without error.
   876  //
   877  // See CreateService for more information on using the CreateService
   878  // API call, and error handling.
   879  //
   880  // This method is useful when you want to inject custom logic or configuration
   881  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   882  //
   883  //
   884  //    // Example sending a request using the CreateServiceRequest method.
   885  //    req, resp := client.CreateServiceRequest(params)
   886  //
   887  //    err := req.Send()
   888  //    if err == nil { // resp is now filled
   889  //        fmt.Println(resp)
   890  //    }
   891  //
   892  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CreateService
   893  func (c *Proton) CreateServiceRequest(input *CreateServiceInput) (req *request.Request, output *CreateServiceOutput) {
   894  	op := &request.Operation{
   895  		Name:       opCreateService,
   896  		HTTPMethod: "POST",
   897  		HTTPPath:   "/",
   898  	}
   899  
   900  	if input == nil {
   901  		input = &CreateServiceInput{}
   902  	}
   903  
   904  	output = &CreateServiceOutput{}
   905  	req = c.newRequest(op, input, output)
   906  	return
   907  }
   908  
   909  // CreateService API operation for AWS Proton.
   910  //
   911  // Create an AWS Proton service. An AWS Proton service is an instantiation of
   912  // a service template and often includes several service instances and pipeline.
   913  // For more information, see Services (https://docs.aws.amazon.com/proton/latest/adminguide/ag-services.html)
   914  // in the AWS Proton Administrator Guide and Services (https://docs.aws.amazon.com/proton/latest/userguide/ug-service.html)
   915  // in the AWS Proton User Guide.
   916  //
   917  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   918  // with awserr.Error's Code and Message methods to get detailed information about
   919  // the error.
   920  //
   921  // See the AWS API reference guide for AWS Proton's
   922  // API operation CreateService for usage and error information.
   923  //
   924  // Returned Error Types:
   925  //   * ServiceQuotaExceededException
   926  //   A quota was exceeded. For more information, see AWS Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html)
   927  //   in the AWS Proton Administrator Guide.
   928  //
   929  //   * ValidationException
   930  //   The input is invalid or an out-of-range value was supplied for the input
   931  //   parameter.
   932  //
   933  //   * AccessDeniedException
   934  //   There isn't sufficient access for performing this action.
   935  //
   936  //   * ThrottlingException
   937  //   The request was denied due to request throttling.
   938  //
   939  //   * ConflictException
   940  //   The request couldn't be made due to a conflicting operation or resource.
   941  //
   942  //   * ResourceNotFoundException
   943  //   The requested resource wasn't found.
   944  //
   945  //   * InternalServerException
   946  //   The request failed to register with the service.
   947  //
   948  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CreateService
   949  func (c *Proton) CreateService(input *CreateServiceInput) (*CreateServiceOutput, error) {
   950  	req, out := c.CreateServiceRequest(input)
   951  	return out, req.Send()
   952  }
   953  
   954  // CreateServiceWithContext is the same as CreateService with the addition of
   955  // the ability to pass a context and additional request options.
   956  //
   957  // See CreateService for details on how to use this API operation.
   958  //
   959  // The context must be non-nil and will be used for request cancellation. If
   960  // the context is nil a panic will occur. In the future the SDK may create
   961  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   962  // for more information on using Contexts.
   963  func (c *Proton) CreateServiceWithContext(ctx aws.Context, input *CreateServiceInput, opts ...request.Option) (*CreateServiceOutput, error) {
   964  	req, out := c.CreateServiceRequest(input)
   965  	req.SetContext(ctx)
   966  	req.ApplyOptions(opts...)
   967  	return out, req.Send()
   968  }
   969  
   970  const opCreateServiceTemplate = "CreateServiceTemplate"
   971  
   972  // CreateServiceTemplateRequest generates a "aws/request.Request" representing the
   973  // client's request for the CreateServiceTemplate operation. The "output" return
   974  // value will be populated with the request's response once the request completes
   975  // successfully.
   976  //
   977  // Use "Send" method on the returned Request to send the API call to the service.
   978  // the "output" return value is not valid until after Send returns without error.
   979  //
   980  // See CreateServiceTemplate for more information on using the CreateServiceTemplate
   981  // API call, and error handling.
   982  //
   983  // This method is useful when you want to inject custom logic or configuration
   984  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   985  //
   986  //
   987  //    // Example sending a request using the CreateServiceTemplateRequest method.
   988  //    req, resp := client.CreateServiceTemplateRequest(params)
   989  //
   990  //    err := req.Send()
   991  //    if err == nil { // resp is now filled
   992  //        fmt.Println(resp)
   993  //    }
   994  //
   995  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CreateServiceTemplate
   996  func (c *Proton) CreateServiceTemplateRequest(input *CreateServiceTemplateInput) (req *request.Request, output *CreateServiceTemplateOutput) {
   997  	op := &request.Operation{
   998  		Name:       opCreateServiceTemplate,
   999  		HTTPMethod: "POST",
  1000  		HTTPPath:   "/",
  1001  	}
  1002  
  1003  	if input == nil {
  1004  		input = &CreateServiceTemplateInput{}
  1005  	}
  1006  
  1007  	output = &CreateServiceTemplateOutput{}
  1008  	req = c.newRequest(op, input, output)
  1009  	return
  1010  }
  1011  
  1012  // CreateServiceTemplate API operation for AWS Proton.
  1013  //
  1014  // Create a service template. The administrator creates a service template to
  1015  // define standardized infrastructure and an optional CICD service pipeline.
  1016  // Developers, in turn, select the service template from AWS Proton. If the
  1017  // selected service template includes a service pipeline definition, they provide
  1018  // a link to their source code repository. AWS Proton then deploys and manages
  1019  // the infrastructure defined by the selected service template. For more information,
  1020  // see Service Templates (https://docs.aws.amazon.com/proton/latest/adminguide/managing-svc-templates.html)
  1021  // in the AWS Proton Administrator Guide.
  1022  //
  1023  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1024  // with awserr.Error's Code and Message methods to get detailed information about
  1025  // the error.
  1026  //
  1027  // See the AWS API reference guide for AWS Proton's
  1028  // API operation CreateServiceTemplate for usage and error information.
  1029  //
  1030  // Returned Error Types:
  1031  //   * ServiceQuotaExceededException
  1032  //   A quota was exceeded. For more information, see AWS Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html)
  1033  //   in the AWS Proton Administrator Guide.
  1034  //
  1035  //   * ValidationException
  1036  //   The input is invalid or an out-of-range value was supplied for the input
  1037  //   parameter.
  1038  //
  1039  //   * AccessDeniedException
  1040  //   There isn't sufficient access for performing this action.
  1041  //
  1042  //   * ThrottlingException
  1043  //   The request was denied due to request throttling.
  1044  //
  1045  //   * ConflictException
  1046  //   The request couldn't be made due to a conflicting operation or resource.
  1047  //
  1048  //   * InternalServerException
  1049  //   The request failed to register with the service.
  1050  //
  1051  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CreateServiceTemplate
  1052  func (c *Proton) CreateServiceTemplate(input *CreateServiceTemplateInput) (*CreateServiceTemplateOutput, error) {
  1053  	req, out := c.CreateServiceTemplateRequest(input)
  1054  	return out, req.Send()
  1055  }
  1056  
  1057  // CreateServiceTemplateWithContext is the same as CreateServiceTemplate with the addition of
  1058  // the ability to pass a context and additional request options.
  1059  //
  1060  // See CreateServiceTemplate for details on how to use this API operation.
  1061  //
  1062  // The context must be non-nil and will be used for request cancellation. If
  1063  // the context is nil a panic will occur. In the future the SDK may create
  1064  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1065  // for more information on using Contexts.
  1066  func (c *Proton) CreateServiceTemplateWithContext(ctx aws.Context, input *CreateServiceTemplateInput, opts ...request.Option) (*CreateServiceTemplateOutput, error) {
  1067  	req, out := c.CreateServiceTemplateRequest(input)
  1068  	req.SetContext(ctx)
  1069  	req.ApplyOptions(opts...)
  1070  	return out, req.Send()
  1071  }
  1072  
  1073  const opCreateServiceTemplateVersion = "CreateServiceTemplateVersion"
  1074  
  1075  // CreateServiceTemplateVersionRequest generates a "aws/request.Request" representing the
  1076  // client's request for the CreateServiceTemplateVersion operation. The "output" return
  1077  // value will be populated with the request's response once the request completes
  1078  // successfully.
  1079  //
  1080  // Use "Send" method on the returned Request to send the API call to the service.
  1081  // the "output" return value is not valid until after Send returns without error.
  1082  //
  1083  // See CreateServiceTemplateVersion for more information on using the CreateServiceTemplateVersion
  1084  // API call, and error handling.
  1085  //
  1086  // This method is useful when you want to inject custom logic or configuration
  1087  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1088  //
  1089  //
  1090  //    // Example sending a request using the CreateServiceTemplateVersionRequest method.
  1091  //    req, resp := client.CreateServiceTemplateVersionRequest(params)
  1092  //
  1093  //    err := req.Send()
  1094  //    if err == nil { // resp is now filled
  1095  //        fmt.Println(resp)
  1096  //    }
  1097  //
  1098  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CreateServiceTemplateVersion
  1099  func (c *Proton) CreateServiceTemplateVersionRequest(input *CreateServiceTemplateVersionInput) (req *request.Request, output *CreateServiceTemplateVersionOutput) {
  1100  	op := &request.Operation{
  1101  		Name:       opCreateServiceTemplateVersion,
  1102  		HTTPMethod: "POST",
  1103  		HTTPPath:   "/",
  1104  	}
  1105  
  1106  	if input == nil {
  1107  		input = &CreateServiceTemplateVersionInput{}
  1108  	}
  1109  
  1110  	output = &CreateServiceTemplateVersionOutput{}
  1111  	req = c.newRequest(op, input, output)
  1112  	return
  1113  }
  1114  
  1115  // CreateServiceTemplateVersion API operation for AWS Proton.
  1116  //
  1117  // Create a new major or minor version of a service template. A major version
  1118  // of a service template is a version that isn't backwards compatible. A minor
  1119  // version of a service template is a version that's backwards compatible within
  1120  // its major version.
  1121  //
  1122  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1123  // with awserr.Error's Code and Message methods to get detailed information about
  1124  // the error.
  1125  //
  1126  // See the AWS API reference guide for AWS Proton's
  1127  // API operation CreateServiceTemplateVersion for usage and error information.
  1128  //
  1129  // Returned Error Types:
  1130  //   * ServiceQuotaExceededException
  1131  //   A quota was exceeded. For more information, see AWS Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html)
  1132  //   in the AWS Proton Administrator Guide.
  1133  //
  1134  //   * ValidationException
  1135  //   The input is invalid or an out-of-range value was supplied for the input
  1136  //   parameter.
  1137  //
  1138  //   * AccessDeniedException
  1139  //   There isn't sufficient access for performing this action.
  1140  //
  1141  //   * ThrottlingException
  1142  //   The request was denied due to request throttling.
  1143  //
  1144  //   * ConflictException
  1145  //   The request couldn't be made due to a conflicting operation or resource.
  1146  //
  1147  //   * ResourceNotFoundException
  1148  //   The requested resource wasn't found.
  1149  //
  1150  //   * InternalServerException
  1151  //   The request failed to register with the service.
  1152  //
  1153  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CreateServiceTemplateVersion
  1154  func (c *Proton) CreateServiceTemplateVersion(input *CreateServiceTemplateVersionInput) (*CreateServiceTemplateVersionOutput, error) {
  1155  	req, out := c.CreateServiceTemplateVersionRequest(input)
  1156  	return out, req.Send()
  1157  }
  1158  
  1159  // CreateServiceTemplateVersionWithContext is the same as CreateServiceTemplateVersion with the addition of
  1160  // the ability to pass a context and additional request options.
  1161  //
  1162  // See CreateServiceTemplateVersion for details on how to use this API operation.
  1163  //
  1164  // The context must be non-nil and will be used for request cancellation. If
  1165  // the context is nil a panic will occur. In the future the SDK may create
  1166  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1167  // for more information on using Contexts.
  1168  func (c *Proton) CreateServiceTemplateVersionWithContext(ctx aws.Context, input *CreateServiceTemplateVersionInput, opts ...request.Option) (*CreateServiceTemplateVersionOutput, error) {
  1169  	req, out := c.CreateServiceTemplateVersionRequest(input)
  1170  	req.SetContext(ctx)
  1171  	req.ApplyOptions(opts...)
  1172  	return out, req.Send()
  1173  }
  1174  
  1175  const opDeleteEnvironment = "DeleteEnvironment"
  1176  
  1177  // DeleteEnvironmentRequest generates a "aws/request.Request" representing the
  1178  // client's request for the DeleteEnvironment operation. The "output" return
  1179  // value will be populated with the request's response once the request completes
  1180  // successfully.
  1181  //
  1182  // Use "Send" method on the returned Request to send the API call to the service.
  1183  // the "output" return value is not valid until after Send returns without error.
  1184  //
  1185  // See DeleteEnvironment for more information on using the DeleteEnvironment
  1186  // API call, and error handling.
  1187  //
  1188  // This method is useful when you want to inject custom logic or configuration
  1189  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1190  //
  1191  //
  1192  //    // Example sending a request using the DeleteEnvironmentRequest method.
  1193  //    req, resp := client.DeleteEnvironmentRequest(params)
  1194  //
  1195  //    err := req.Send()
  1196  //    if err == nil { // resp is now filled
  1197  //        fmt.Println(resp)
  1198  //    }
  1199  //
  1200  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/DeleteEnvironment
  1201  func (c *Proton) DeleteEnvironmentRequest(input *DeleteEnvironmentInput) (req *request.Request, output *DeleteEnvironmentOutput) {
  1202  	op := &request.Operation{
  1203  		Name:       opDeleteEnvironment,
  1204  		HTTPMethod: "POST",
  1205  		HTTPPath:   "/",
  1206  	}
  1207  
  1208  	if input == nil {
  1209  		input = &DeleteEnvironmentInput{}
  1210  	}
  1211  
  1212  	output = &DeleteEnvironmentOutput{}
  1213  	req = c.newRequest(op, input, output)
  1214  	return
  1215  }
  1216  
  1217  // DeleteEnvironment API operation for AWS Proton.
  1218  //
  1219  // Delete an environment.
  1220  //
  1221  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1222  // with awserr.Error's Code and Message methods to get detailed information about
  1223  // the error.
  1224  //
  1225  // See the AWS API reference guide for AWS Proton's
  1226  // API operation DeleteEnvironment for usage and error information.
  1227  //
  1228  // Returned Error Types:
  1229  //   * ValidationException
  1230  //   The input is invalid or an out-of-range value was supplied for the input
  1231  //   parameter.
  1232  //
  1233  //   * AccessDeniedException
  1234  //   There isn't sufficient access for performing this action.
  1235  //
  1236  //   * ThrottlingException
  1237  //   The request was denied due to request throttling.
  1238  //
  1239  //   * ConflictException
  1240  //   The request couldn't be made due to a conflicting operation or resource.
  1241  //
  1242  //   * ResourceNotFoundException
  1243  //   The requested resource wasn't found.
  1244  //
  1245  //   * InternalServerException
  1246  //   The request failed to register with the service.
  1247  //
  1248  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/DeleteEnvironment
  1249  func (c *Proton) DeleteEnvironment(input *DeleteEnvironmentInput) (*DeleteEnvironmentOutput, error) {
  1250  	req, out := c.DeleteEnvironmentRequest(input)
  1251  	return out, req.Send()
  1252  }
  1253  
  1254  // DeleteEnvironmentWithContext is the same as DeleteEnvironment with the addition of
  1255  // the ability to pass a context and additional request options.
  1256  //
  1257  // See DeleteEnvironment for details on how to use this API operation.
  1258  //
  1259  // The context must be non-nil and will be used for request cancellation. If
  1260  // the context is nil a panic will occur. In the future the SDK may create
  1261  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1262  // for more information on using Contexts.
  1263  func (c *Proton) DeleteEnvironmentWithContext(ctx aws.Context, input *DeleteEnvironmentInput, opts ...request.Option) (*DeleteEnvironmentOutput, error) {
  1264  	req, out := c.DeleteEnvironmentRequest(input)
  1265  	req.SetContext(ctx)
  1266  	req.ApplyOptions(opts...)
  1267  	return out, req.Send()
  1268  }
  1269  
  1270  const opDeleteEnvironmentAccountConnection = "DeleteEnvironmentAccountConnection"
  1271  
  1272  // DeleteEnvironmentAccountConnectionRequest generates a "aws/request.Request" representing the
  1273  // client's request for the DeleteEnvironmentAccountConnection operation. The "output" return
  1274  // value will be populated with the request's response once the request completes
  1275  // successfully.
  1276  //
  1277  // Use "Send" method on the returned Request to send the API call to the service.
  1278  // the "output" return value is not valid until after Send returns without error.
  1279  //
  1280  // See DeleteEnvironmentAccountConnection for more information on using the DeleteEnvironmentAccountConnection
  1281  // API call, and error handling.
  1282  //
  1283  // This method is useful when you want to inject custom logic or configuration
  1284  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1285  //
  1286  //
  1287  //    // Example sending a request using the DeleteEnvironmentAccountConnectionRequest method.
  1288  //    req, resp := client.DeleteEnvironmentAccountConnectionRequest(params)
  1289  //
  1290  //    err := req.Send()
  1291  //    if err == nil { // resp is now filled
  1292  //        fmt.Println(resp)
  1293  //    }
  1294  //
  1295  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/DeleteEnvironmentAccountConnection
  1296  func (c *Proton) DeleteEnvironmentAccountConnectionRequest(input *DeleteEnvironmentAccountConnectionInput) (req *request.Request, output *DeleteEnvironmentAccountConnectionOutput) {
  1297  	op := &request.Operation{
  1298  		Name:       opDeleteEnvironmentAccountConnection,
  1299  		HTTPMethod: "POST",
  1300  		HTTPPath:   "/",
  1301  	}
  1302  
  1303  	if input == nil {
  1304  		input = &DeleteEnvironmentAccountConnectionInput{}
  1305  	}
  1306  
  1307  	output = &DeleteEnvironmentAccountConnectionOutput{}
  1308  	req = c.newRequest(op, input, output)
  1309  	return
  1310  }
  1311  
  1312  // DeleteEnvironmentAccountConnection API operation for AWS Proton.
  1313  //
  1314  // In an environment account, delete an environment account connection.
  1315  //
  1316  // After you delete an environment account connection that’s in use by an
  1317  // AWS Proton environment, AWS Proton can’t manage the environment infrastructure
  1318  // resources until a new environment account connection is accepted for the
  1319  // environment account and associated environment. You're responsible for cleaning
  1320  // up provisioned resources that remain without an environment connection.
  1321  //
  1322  // For more information, see Environment account connections (https://docs.aws.amazon.com/proton/latest/adminguide/ag-env-account-connections.html)
  1323  // in the AWS Proton Administrator guide.
  1324  //
  1325  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1326  // with awserr.Error's Code and Message methods to get detailed information about
  1327  // the error.
  1328  //
  1329  // See the AWS API reference guide for AWS Proton's
  1330  // API operation DeleteEnvironmentAccountConnection for usage and error information.
  1331  //
  1332  // Returned Error Types:
  1333  //   * ValidationException
  1334  //   The input is invalid or an out-of-range value was supplied for the input
  1335  //   parameter.
  1336  //
  1337  //   * AccessDeniedException
  1338  //   There isn't sufficient access for performing this action.
  1339  //
  1340  //   * ThrottlingException
  1341  //   The request was denied due to request throttling.
  1342  //
  1343  //   * ConflictException
  1344  //   The request couldn't be made due to a conflicting operation or resource.
  1345  //
  1346  //   * ResourceNotFoundException
  1347  //   The requested resource wasn't found.
  1348  //
  1349  //   * InternalServerException
  1350  //   The request failed to register with the service.
  1351  //
  1352  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/DeleteEnvironmentAccountConnection
  1353  func (c *Proton) DeleteEnvironmentAccountConnection(input *DeleteEnvironmentAccountConnectionInput) (*DeleteEnvironmentAccountConnectionOutput, error) {
  1354  	req, out := c.DeleteEnvironmentAccountConnectionRequest(input)
  1355  	return out, req.Send()
  1356  }
  1357  
  1358  // DeleteEnvironmentAccountConnectionWithContext is the same as DeleteEnvironmentAccountConnection with the addition of
  1359  // the ability to pass a context and additional request options.
  1360  //
  1361  // See DeleteEnvironmentAccountConnection for details on how to use this API operation.
  1362  //
  1363  // The context must be non-nil and will be used for request cancellation. If
  1364  // the context is nil a panic will occur. In the future the SDK may create
  1365  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1366  // for more information on using Contexts.
  1367  func (c *Proton) DeleteEnvironmentAccountConnectionWithContext(ctx aws.Context, input *DeleteEnvironmentAccountConnectionInput, opts ...request.Option) (*DeleteEnvironmentAccountConnectionOutput, error) {
  1368  	req, out := c.DeleteEnvironmentAccountConnectionRequest(input)
  1369  	req.SetContext(ctx)
  1370  	req.ApplyOptions(opts...)
  1371  	return out, req.Send()
  1372  }
  1373  
  1374  const opDeleteEnvironmentTemplate = "DeleteEnvironmentTemplate"
  1375  
  1376  // DeleteEnvironmentTemplateRequest generates a "aws/request.Request" representing the
  1377  // client's request for the DeleteEnvironmentTemplate operation. The "output" return
  1378  // value will be populated with the request's response once the request completes
  1379  // successfully.
  1380  //
  1381  // Use "Send" method on the returned Request to send the API call to the service.
  1382  // the "output" return value is not valid until after Send returns without error.
  1383  //
  1384  // See DeleteEnvironmentTemplate for more information on using the DeleteEnvironmentTemplate
  1385  // API call, and error handling.
  1386  //
  1387  // This method is useful when you want to inject custom logic or configuration
  1388  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1389  //
  1390  //
  1391  //    // Example sending a request using the DeleteEnvironmentTemplateRequest method.
  1392  //    req, resp := client.DeleteEnvironmentTemplateRequest(params)
  1393  //
  1394  //    err := req.Send()
  1395  //    if err == nil { // resp is now filled
  1396  //        fmt.Println(resp)
  1397  //    }
  1398  //
  1399  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/DeleteEnvironmentTemplate
  1400  func (c *Proton) DeleteEnvironmentTemplateRequest(input *DeleteEnvironmentTemplateInput) (req *request.Request, output *DeleteEnvironmentTemplateOutput) {
  1401  	op := &request.Operation{
  1402  		Name:       opDeleteEnvironmentTemplate,
  1403  		HTTPMethod: "POST",
  1404  		HTTPPath:   "/",
  1405  	}
  1406  
  1407  	if input == nil {
  1408  		input = &DeleteEnvironmentTemplateInput{}
  1409  	}
  1410  
  1411  	output = &DeleteEnvironmentTemplateOutput{}
  1412  	req = c.newRequest(op, input, output)
  1413  	return
  1414  }
  1415  
  1416  // DeleteEnvironmentTemplate API operation for AWS Proton.
  1417  //
  1418  // If no other major or minor versions of an environment template exist, delete
  1419  // the environment template.
  1420  //
  1421  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1422  // with awserr.Error's Code and Message methods to get detailed information about
  1423  // the error.
  1424  //
  1425  // See the AWS API reference guide for AWS Proton's
  1426  // API operation DeleteEnvironmentTemplate for usage and error information.
  1427  //
  1428  // Returned Error Types:
  1429  //   * ValidationException
  1430  //   The input is invalid or an out-of-range value was supplied for the input
  1431  //   parameter.
  1432  //
  1433  //   * AccessDeniedException
  1434  //   There isn't sufficient access for performing this action.
  1435  //
  1436  //   * ThrottlingException
  1437  //   The request was denied due to request throttling.
  1438  //
  1439  //   * ConflictException
  1440  //   The request couldn't be made due to a conflicting operation or resource.
  1441  //
  1442  //   * ResourceNotFoundException
  1443  //   The requested resource wasn't found.
  1444  //
  1445  //   * InternalServerException
  1446  //   The request failed to register with the service.
  1447  //
  1448  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/DeleteEnvironmentTemplate
  1449  func (c *Proton) DeleteEnvironmentTemplate(input *DeleteEnvironmentTemplateInput) (*DeleteEnvironmentTemplateOutput, error) {
  1450  	req, out := c.DeleteEnvironmentTemplateRequest(input)
  1451  	return out, req.Send()
  1452  }
  1453  
  1454  // DeleteEnvironmentTemplateWithContext is the same as DeleteEnvironmentTemplate with the addition of
  1455  // the ability to pass a context and additional request options.
  1456  //
  1457  // See DeleteEnvironmentTemplate for details on how to use this API operation.
  1458  //
  1459  // The context must be non-nil and will be used for request cancellation. If
  1460  // the context is nil a panic will occur. In the future the SDK may create
  1461  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1462  // for more information on using Contexts.
  1463  func (c *Proton) DeleteEnvironmentTemplateWithContext(ctx aws.Context, input *DeleteEnvironmentTemplateInput, opts ...request.Option) (*DeleteEnvironmentTemplateOutput, error) {
  1464  	req, out := c.DeleteEnvironmentTemplateRequest(input)
  1465  	req.SetContext(ctx)
  1466  	req.ApplyOptions(opts...)
  1467  	return out, req.Send()
  1468  }
  1469  
  1470  const opDeleteEnvironmentTemplateVersion = "DeleteEnvironmentTemplateVersion"
  1471  
  1472  // DeleteEnvironmentTemplateVersionRequest generates a "aws/request.Request" representing the
  1473  // client's request for the DeleteEnvironmentTemplateVersion operation. The "output" return
  1474  // value will be populated with the request's response once the request completes
  1475  // successfully.
  1476  //
  1477  // Use "Send" method on the returned Request to send the API call to the service.
  1478  // the "output" return value is not valid until after Send returns without error.
  1479  //
  1480  // See DeleteEnvironmentTemplateVersion for more information on using the DeleteEnvironmentTemplateVersion
  1481  // API call, and error handling.
  1482  //
  1483  // This method is useful when you want to inject custom logic or configuration
  1484  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1485  //
  1486  //
  1487  //    // Example sending a request using the DeleteEnvironmentTemplateVersionRequest method.
  1488  //    req, resp := client.DeleteEnvironmentTemplateVersionRequest(params)
  1489  //
  1490  //    err := req.Send()
  1491  //    if err == nil { // resp is now filled
  1492  //        fmt.Println(resp)
  1493  //    }
  1494  //
  1495  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/DeleteEnvironmentTemplateVersion
  1496  func (c *Proton) DeleteEnvironmentTemplateVersionRequest(input *DeleteEnvironmentTemplateVersionInput) (req *request.Request, output *DeleteEnvironmentTemplateVersionOutput) {
  1497  	op := &request.Operation{
  1498  		Name:       opDeleteEnvironmentTemplateVersion,
  1499  		HTTPMethod: "POST",
  1500  		HTTPPath:   "/",
  1501  	}
  1502  
  1503  	if input == nil {
  1504  		input = &DeleteEnvironmentTemplateVersionInput{}
  1505  	}
  1506  
  1507  	output = &DeleteEnvironmentTemplateVersionOutput{}
  1508  	req = c.newRequest(op, input, output)
  1509  	return
  1510  }
  1511  
  1512  // DeleteEnvironmentTemplateVersion API operation for AWS Proton.
  1513  //
  1514  // If no other minor versions of an environment template exist, delete a major
  1515  // version of the environment template if it's not the Recommended version.
  1516  // Delete the Recommended version of the environment template if no other major
  1517  // versions or minor versions of the environment template exist. A major version
  1518  // of an environment template is a version that's not backwards compatible.
  1519  //
  1520  // Delete a minor version of an environment template if it isn't the Recommended
  1521  // version. Delete a Recommended minor version of the environment template if
  1522  // no other minor versions of the environment template exist. A minor version
  1523  // of an environment template is a version that's backwards compatible.
  1524  //
  1525  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1526  // with awserr.Error's Code and Message methods to get detailed information about
  1527  // the error.
  1528  //
  1529  // See the AWS API reference guide for AWS Proton's
  1530  // API operation DeleteEnvironmentTemplateVersion for usage and error information.
  1531  //
  1532  // Returned Error Types:
  1533  //   * ValidationException
  1534  //   The input is invalid or an out-of-range value was supplied for the input
  1535  //   parameter.
  1536  //
  1537  //   * AccessDeniedException
  1538  //   There isn't sufficient access for performing this action.
  1539  //
  1540  //   * ThrottlingException
  1541  //   The request was denied due to request throttling.
  1542  //
  1543  //   * ConflictException
  1544  //   The request couldn't be made due to a conflicting operation or resource.
  1545  //
  1546  //   * ResourceNotFoundException
  1547  //   The requested resource wasn't found.
  1548  //
  1549  //   * InternalServerException
  1550  //   The request failed to register with the service.
  1551  //
  1552  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/DeleteEnvironmentTemplateVersion
  1553  func (c *Proton) DeleteEnvironmentTemplateVersion(input *DeleteEnvironmentTemplateVersionInput) (*DeleteEnvironmentTemplateVersionOutput, error) {
  1554  	req, out := c.DeleteEnvironmentTemplateVersionRequest(input)
  1555  	return out, req.Send()
  1556  }
  1557  
  1558  // DeleteEnvironmentTemplateVersionWithContext is the same as DeleteEnvironmentTemplateVersion with the addition of
  1559  // the ability to pass a context and additional request options.
  1560  //
  1561  // See DeleteEnvironmentTemplateVersion for details on how to use this API operation.
  1562  //
  1563  // The context must be non-nil and will be used for request cancellation. If
  1564  // the context is nil a panic will occur. In the future the SDK may create
  1565  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1566  // for more information on using Contexts.
  1567  func (c *Proton) DeleteEnvironmentTemplateVersionWithContext(ctx aws.Context, input *DeleteEnvironmentTemplateVersionInput, opts ...request.Option) (*DeleteEnvironmentTemplateVersionOutput, error) {
  1568  	req, out := c.DeleteEnvironmentTemplateVersionRequest(input)
  1569  	req.SetContext(ctx)
  1570  	req.ApplyOptions(opts...)
  1571  	return out, req.Send()
  1572  }
  1573  
  1574  const opDeleteService = "DeleteService"
  1575  
  1576  // DeleteServiceRequest generates a "aws/request.Request" representing the
  1577  // client's request for the DeleteService operation. The "output" return
  1578  // value will be populated with the request's response once the request completes
  1579  // successfully.
  1580  //
  1581  // Use "Send" method on the returned Request to send the API call to the service.
  1582  // the "output" return value is not valid until after Send returns without error.
  1583  //
  1584  // See DeleteService for more information on using the DeleteService
  1585  // API call, and error handling.
  1586  //
  1587  // This method is useful when you want to inject custom logic or configuration
  1588  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1589  //
  1590  //
  1591  //    // Example sending a request using the DeleteServiceRequest method.
  1592  //    req, resp := client.DeleteServiceRequest(params)
  1593  //
  1594  //    err := req.Send()
  1595  //    if err == nil { // resp is now filled
  1596  //        fmt.Println(resp)
  1597  //    }
  1598  //
  1599  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/DeleteService
  1600  func (c *Proton) DeleteServiceRequest(input *DeleteServiceInput) (req *request.Request, output *DeleteServiceOutput) {
  1601  	op := &request.Operation{
  1602  		Name:       opDeleteService,
  1603  		HTTPMethod: "POST",
  1604  		HTTPPath:   "/",
  1605  	}
  1606  
  1607  	if input == nil {
  1608  		input = &DeleteServiceInput{}
  1609  	}
  1610  
  1611  	output = &DeleteServiceOutput{}
  1612  	req = c.newRequest(op, input, output)
  1613  	return
  1614  }
  1615  
  1616  // DeleteService API operation for AWS Proton.
  1617  //
  1618  // Delete a service.
  1619  //
  1620  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1621  // with awserr.Error's Code and Message methods to get detailed information about
  1622  // the error.
  1623  //
  1624  // See the AWS API reference guide for AWS Proton's
  1625  // API operation DeleteService for usage and error information.
  1626  //
  1627  // Returned Error Types:
  1628  //   * ValidationException
  1629  //   The input is invalid or an out-of-range value was supplied for the input
  1630  //   parameter.
  1631  //
  1632  //   * AccessDeniedException
  1633  //   There isn't sufficient access for performing this action.
  1634  //
  1635  //   * ThrottlingException
  1636  //   The request was denied due to request throttling.
  1637  //
  1638  //   * ConflictException
  1639  //   The request couldn't be made due to a conflicting operation or resource.
  1640  //
  1641  //   * ResourceNotFoundException
  1642  //   The requested resource wasn't found.
  1643  //
  1644  //   * InternalServerException
  1645  //   The request failed to register with the service.
  1646  //
  1647  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/DeleteService
  1648  func (c *Proton) DeleteService(input *DeleteServiceInput) (*DeleteServiceOutput, error) {
  1649  	req, out := c.DeleteServiceRequest(input)
  1650  	return out, req.Send()
  1651  }
  1652  
  1653  // DeleteServiceWithContext is the same as DeleteService with the addition of
  1654  // the ability to pass a context and additional request options.
  1655  //
  1656  // See DeleteService for details on how to use this API operation.
  1657  //
  1658  // The context must be non-nil and will be used for request cancellation. If
  1659  // the context is nil a panic will occur. In the future the SDK may create
  1660  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1661  // for more information on using Contexts.
  1662  func (c *Proton) DeleteServiceWithContext(ctx aws.Context, input *DeleteServiceInput, opts ...request.Option) (*DeleteServiceOutput, error) {
  1663  	req, out := c.DeleteServiceRequest(input)
  1664  	req.SetContext(ctx)
  1665  	req.ApplyOptions(opts...)
  1666  	return out, req.Send()
  1667  }
  1668  
  1669  const opDeleteServiceTemplate = "DeleteServiceTemplate"
  1670  
  1671  // DeleteServiceTemplateRequest generates a "aws/request.Request" representing the
  1672  // client's request for the DeleteServiceTemplate operation. The "output" return
  1673  // value will be populated with the request's response once the request completes
  1674  // successfully.
  1675  //
  1676  // Use "Send" method on the returned Request to send the API call to the service.
  1677  // the "output" return value is not valid until after Send returns without error.
  1678  //
  1679  // See DeleteServiceTemplate for more information on using the DeleteServiceTemplate
  1680  // API call, and error handling.
  1681  //
  1682  // This method is useful when you want to inject custom logic or configuration
  1683  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1684  //
  1685  //
  1686  //    // Example sending a request using the DeleteServiceTemplateRequest method.
  1687  //    req, resp := client.DeleteServiceTemplateRequest(params)
  1688  //
  1689  //    err := req.Send()
  1690  //    if err == nil { // resp is now filled
  1691  //        fmt.Println(resp)
  1692  //    }
  1693  //
  1694  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/DeleteServiceTemplate
  1695  func (c *Proton) DeleteServiceTemplateRequest(input *DeleteServiceTemplateInput) (req *request.Request, output *DeleteServiceTemplateOutput) {
  1696  	op := &request.Operation{
  1697  		Name:       opDeleteServiceTemplate,
  1698  		HTTPMethod: "POST",
  1699  		HTTPPath:   "/",
  1700  	}
  1701  
  1702  	if input == nil {
  1703  		input = &DeleteServiceTemplateInput{}
  1704  	}
  1705  
  1706  	output = &DeleteServiceTemplateOutput{}
  1707  	req = c.newRequest(op, input, output)
  1708  	return
  1709  }
  1710  
  1711  // DeleteServiceTemplate API operation for AWS Proton.
  1712  //
  1713  // If no other major or minor versions of the service template exist, delete
  1714  // the service template.
  1715  //
  1716  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1717  // with awserr.Error's Code and Message methods to get detailed information about
  1718  // the error.
  1719  //
  1720  // See the AWS API reference guide for AWS Proton's
  1721  // API operation DeleteServiceTemplate for usage and error information.
  1722  //
  1723  // Returned Error Types:
  1724  //   * ValidationException
  1725  //   The input is invalid or an out-of-range value was supplied for the input
  1726  //   parameter.
  1727  //
  1728  //   * AccessDeniedException
  1729  //   There isn't sufficient access for performing this action.
  1730  //
  1731  //   * ThrottlingException
  1732  //   The request was denied due to request throttling.
  1733  //
  1734  //   * ConflictException
  1735  //   The request couldn't be made due to a conflicting operation or resource.
  1736  //
  1737  //   * ResourceNotFoundException
  1738  //   The requested resource wasn't found.
  1739  //
  1740  //   * InternalServerException
  1741  //   The request failed to register with the service.
  1742  //
  1743  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/DeleteServiceTemplate
  1744  func (c *Proton) DeleteServiceTemplate(input *DeleteServiceTemplateInput) (*DeleteServiceTemplateOutput, error) {
  1745  	req, out := c.DeleteServiceTemplateRequest(input)
  1746  	return out, req.Send()
  1747  }
  1748  
  1749  // DeleteServiceTemplateWithContext is the same as DeleteServiceTemplate with the addition of
  1750  // the ability to pass a context and additional request options.
  1751  //
  1752  // See DeleteServiceTemplate for details on how to use this API operation.
  1753  //
  1754  // The context must be non-nil and will be used for request cancellation. If
  1755  // the context is nil a panic will occur. In the future the SDK may create
  1756  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1757  // for more information on using Contexts.
  1758  func (c *Proton) DeleteServiceTemplateWithContext(ctx aws.Context, input *DeleteServiceTemplateInput, opts ...request.Option) (*DeleteServiceTemplateOutput, error) {
  1759  	req, out := c.DeleteServiceTemplateRequest(input)
  1760  	req.SetContext(ctx)
  1761  	req.ApplyOptions(opts...)
  1762  	return out, req.Send()
  1763  }
  1764  
  1765  const opDeleteServiceTemplateVersion = "DeleteServiceTemplateVersion"
  1766  
  1767  // DeleteServiceTemplateVersionRequest generates a "aws/request.Request" representing the
  1768  // client's request for the DeleteServiceTemplateVersion operation. The "output" return
  1769  // value will be populated with the request's response once the request completes
  1770  // successfully.
  1771  //
  1772  // Use "Send" method on the returned Request to send the API call to the service.
  1773  // the "output" return value is not valid until after Send returns without error.
  1774  //
  1775  // See DeleteServiceTemplateVersion for more information on using the DeleteServiceTemplateVersion
  1776  // API call, and error handling.
  1777  //
  1778  // This method is useful when you want to inject custom logic or configuration
  1779  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1780  //
  1781  //
  1782  //    // Example sending a request using the DeleteServiceTemplateVersionRequest method.
  1783  //    req, resp := client.DeleteServiceTemplateVersionRequest(params)
  1784  //
  1785  //    err := req.Send()
  1786  //    if err == nil { // resp is now filled
  1787  //        fmt.Println(resp)
  1788  //    }
  1789  //
  1790  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/DeleteServiceTemplateVersion
  1791  func (c *Proton) DeleteServiceTemplateVersionRequest(input *DeleteServiceTemplateVersionInput) (req *request.Request, output *DeleteServiceTemplateVersionOutput) {
  1792  	op := &request.Operation{
  1793  		Name:       opDeleteServiceTemplateVersion,
  1794  		HTTPMethod: "POST",
  1795  		HTTPPath:   "/",
  1796  	}
  1797  
  1798  	if input == nil {
  1799  		input = &DeleteServiceTemplateVersionInput{}
  1800  	}
  1801  
  1802  	output = &DeleteServiceTemplateVersionOutput{}
  1803  	req = c.newRequest(op, input, output)
  1804  	return
  1805  }
  1806  
  1807  // DeleteServiceTemplateVersion API operation for AWS Proton.
  1808  //
  1809  // If no other minor versions of a service template exist, delete a major version
  1810  // of the service template if it's not the Recommended version. Delete the Recommended
  1811  // version of the service template if no other major versions or minor versions
  1812  // of the service template exist. A major version of a service template is a
  1813  // version that isn't backwards compatible.
  1814  //
  1815  // Delete a minor version of a service template if it's not the Recommended
  1816  // version. Delete a Recommended minor version of the service template if no
  1817  // other minor versions of the service template exist. A minor version of a
  1818  // service template is a version that's backwards compatible.
  1819  //
  1820  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1821  // with awserr.Error's Code and Message methods to get detailed information about
  1822  // the error.
  1823  //
  1824  // See the AWS API reference guide for AWS Proton's
  1825  // API operation DeleteServiceTemplateVersion for usage and error information.
  1826  //
  1827  // Returned Error Types:
  1828  //   * ValidationException
  1829  //   The input is invalid or an out-of-range value was supplied for the input
  1830  //   parameter.
  1831  //
  1832  //   * AccessDeniedException
  1833  //   There isn't sufficient access for performing this action.
  1834  //
  1835  //   * ThrottlingException
  1836  //   The request was denied due to request throttling.
  1837  //
  1838  //   * ConflictException
  1839  //   The request couldn't be made due to a conflicting operation or resource.
  1840  //
  1841  //   * ResourceNotFoundException
  1842  //   The requested resource wasn't found.
  1843  //
  1844  //   * InternalServerException
  1845  //   The request failed to register with the service.
  1846  //
  1847  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/DeleteServiceTemplateVersion
  1848  func (c *Proton) DeleteServiceTemplateVersion(input *DeleteServiceTemplateVersionInput) (*DeleteServiceTemplateVersionOutput, error) {
  1849  	req, out := c.DeleteServiceTemplateVersionRequest(input)
  1850  	return out, req.Send()
  1851  }
  1852  
  1853  // DeleteServiceTemplateVersionWithContext is the same as DeleteServiceTemplateVersion with the addition of
  1854  // the ability to pass a context and additional request options.
  1855  //
  1856  // See DeleteServiceTemplateVersion for details on how to use this API operation.
  1857  //
  1858  // The context must be non-nil and will be used for request cancellation. If
  1859  // the context is nil a panic will occur. In the future the SDK may create
  1860  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1861  // for more information on using Contexts.
  1862  func (c *Proton) DeleteServiceTemplateVersionWithContext(ctx aws.Context, input *DeleteServiceTemplateVersionInput, opts ...request.Option) (*DeleteServiceTemplateVersionOutput, error) {
  1863  	req, out := c.DeleteServiceTemplateVersionRequest(input)
  1864  	req.SetContext(ctx)
  1865  	req.ApplyOptions(opts...)
  1866  	return out, req.Send()
  1867  }
  1868  
  1869  const opGetAccountSettings = "GetAccountSettings"
  1870  
  1871  // GetAccountSettingsRequest generates a "aws/request.Request" representing the
  1872  // client's request for the GetAccountSettings operation. The "output" return
  1873  // value will be populated with the request's response once the request completes
  1874  // successfully.
  1875  //
  1876  // Use "Send" method on the returned Request to send the API call to the service.
  1877  // the "output" return value is not valid until after Send returns without error.
  1878  //
  1879  // See GetAccountSettings for more information on using the GetAccountSettings
  1880  // API call, and error handling.
  1881  //
  1882  // This method is useful when you want to inject custom logic or configuration
  1883  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1884  //
  1885  //
  1886  //    // Example sending a request using the GetAccountSettingsRequest method.
  1887  //    req, resp := client.GetAccountSettingsRequest(params)
  1888  //
  1889  //    err := req.Send()
  1890  //    if err == nil { // resp is now filled
  1891  //        fmt.Println(resp)
  1892  //    }
  1893  //
  1894  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetAccountSettings
  1895  func (c *Proton) GetAccountSettingsRequest(input *GetAccountSettingsInput) (req *request.Request, output *GetAccountSettingsOutput) {
  1896  	op := &request.Operation{
  1897  		Name:       opGetAccountSettings,
  1898  		HTTPMethod: "POST",
  1899  		HTTPPath:   "/",
  1900  	}
  1901  
  1902  	if input == nil {
  1903  		input = &GetAccountSettingsInput{}
  1904  	}
  1905  
  1906  	output = &GetAccountSettingsOutput{}
  1907  	req = c.newRequest(op, input, output)
  1908  	return
  1909  }
  1910  
  1911  // GetAccountSettings API operation for AWS Proton.
  1912  //
  1913  // Get detail data for the AWS Proton pipeline service role.
  1914  //
  1915  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1916  // with awserr.Error's Code and Message methods to get detailed information about
  1917  // the error.
  1918  //
  1919  // See the AWS API reference guide for AWS Proton's
  1920  // API operation GetAccountSettings for usage and error information.
  1921  //
  1922  // Returned Error Types:
  1923  //   * ValidationException
  1924  //   The input is invalid or an out-of-range value was supplied for the input
  1925  //   parameter.
  1926  //
  1927  //   * AccessDeniedException
  1928  //   There isn't sufficient access for performing this action.
  1929  //
  1930  //   * ThrottlingException
  1931  //   The request was denied due to request throttling.
  1932  //
  1933  //   * ResourceNotFoundException
  1934  //   The requested resource wasn't found.
  1935  //
  1936  //   * InternalServerException
  1937  //   The request failed to register with the service.
  1938  //
  1939  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetAccountSettings
  1940  func (c *Proton) GetAccountSettings(input *GetAccountSettingsInput) (*GetAccountSettingsOutput, error) {
  1941  	req, out := c.GetAccountSettingsRequest(input)
  1942  	return out, req.Send()
  1943  }
  1944  
  1945  // GetAccountSettingsWithContext is the same as GetAccountSettings with the addition of
  1946  // the ability to pass a context and additional request options.
  1947  //
  1948  // See GetAccountSettings for details on how to use this API operation.
  1949  //
  1950  // The context must be non-nil and will be used for request cancellation. If
  1951  // the context is nil a panic will occur. In the future the SDK may create
  1952  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1953  // for more information on using Contexts.
  1954  func (c *Proton) GetAccountSettingsWithContext(ctx aws.Context, input *GetAccountSettingsInput, opts ...request.Option) (*GetAccountSettingsOutput, error) {
  1955  	req, out := c.GetAccountSettingsRequest(input)
  1956  	req.SetContext(ctx)
  1957  	req.ApplyOptions(opts...)
  1958  	return out, req.Send()
  1959  }
  1960  
  1961  const opGetEnvironment = "GetEnvironment"
  1962  
  1963  // GetEnvironmentRequest generates a "aws/request.Request" representing the
  1964  // client's request for the GetEnvironment operation. The "output" return
  1965  // value will be populated with the request's response once the request completes
  1966  // successfully.
  1967  //
  1968  // Use "Send" method on the returned Request to send the API call to the service.
  1969  // the "output" return value is not valid until after Send returns without error.
  1970  //
  1971  // See GetEnvironment for more information on using the GetEnvironment
  1972  // API call, and error handling.
  1973  //
  1974  // This method is useful when you want to inject custom logic or configuration
  1975  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1976  //
  1977  //
  1978  //    // Example sending a request using the GetEnvironmentRequest method.
  1979  //    req, resp := client.GetEnvironmentRequest(params)
  1980  //
  1981  //    err := req.Send()
  1982  //    if err == nil { // resp is now filled
  1983  //        fmt.Println(resp)
  1984  //    }
  1985  //
  1986  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetEnvironment
  1987  func (c *Proton) GetEnvironmentRequest(input *GetEnvironmentInput) (req *request.Request, output *GetEnvironmentOutput) {
  1988  	op := &request.Operation{
  1989  		Name:       opGetEnvironment,
  1990  		HTTPMethod: "POST",
  1991  		HTTPPath:   "/",
  1992  	}
  1993  
  1994  	if input == nil {
  1995  		input = &GetEnvironmentInput{}
  1996  	}
  1997  
  1998  	output = &GetEnvironmentOutput{}
  1999  	req = c.newRequest(op, input, output)
  2000  	return
  2001  }
  2002  
  2003  // GetEnvironment API operation for AWS Proton.
  2004  //
  2005  // Get detail data for an environment.
  2006  //
  2007  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2008  // with awserr.Error's Code and Message methods to get detailed information about
  2009  // the error.
  2010  //
  2011  // See the AWS API reference guide for AWS Proton's
  2012  // API operation GetEnvironment for usage and error information.
  2013  //
  2014  // Returned Error Types:
  2015  //   * ValidationException
  2016  //   The input is invalid or an out-of-range value was supplied for the input
  2017  //   parameter.
  2018  //
  2019  //   * AccessDeniedException
  2020  //   There isn't sufficient access for performing this action.
  2021  //
  2022  //   * ThrottlingException
  2023  //   The request was denied due to request throttling.
  2024  //
  2025  //   * ResourceNotFoundException
  2026  //   The requested resource wasn't found.
  2027  //
  2028  //   * InternalServerException
  2029  //   The request failed to register with the service.
  2030  //
  2031  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetEnvironment
  2032  func (c *Proton) GetEnvironment(input *GetEnvironmentInput) (*GetEnvironmentOutput, error) {
  2033  	req, out := c.GetEnvironmentRequest(input)
  2034  	return out, req.Send()
  2035  }
  2036  
  2037  // GetEnvironmentWithContext is the same as GetEnvironment with the addition of
  2038  // the ability to pass a context and additional request options.
  2039  //
  2040  // See GetEnvironment for details on how to use this API operation.
  2041  //
  2042  // The context must be non-nil and will be used for request cancellation. If
  2043  // the context is nil a panic will occur. In the future the SDK may create
  2044  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2045  // for more information on using Contexts.
  2046  func (c *Proton) GetEnvironmentWithContext(ctx aws.Context, input *GetEnvironmentInput, opts ...request.Option) (*GetEnvironmentOutput, error) {
  2047  	req, out := c.GetEnvironmentRequest(input)
  2048  	req.SetContext(ctx)
  2049  	req.ApplyOptions(opts...)
  2050  	return out, req.Send()
  2051  }
  2052  
  2053  const opGetEnvironmentAccountConnection = "GetEnvironmentAccountConnection"
  2054  
  2055  // GetEnvironmentAccountConnectionRequest generates a "aws/request.Request" representing the
  2056  // client's request for the GetEnvironmentAccountConnection operation. The "output" return
  2057  // value will be populated with the request's response once the request completes
  2058  // successfully.
  2059  //
  2060  // Use "Send" method on the returned Request to send the API call to the service.
  2061  // the "output" return value is not valid until after Send returns without error.
  2062  //
  2063  // See GetEnvironmentAccountConnection for more information on using the GetEnvironmentAccountConnection
  2064  // API call, and error handling.
  2065  //
  2066  // This method is useful when you want to inject custom logic or configuration
  2067  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2068  //
  2069  //
  2070  //    // Example sending a request using the GetEnvironmentAccountConnectionRequest method.
  2071  //    req, resp := client.GetEnvironmentAccountConnectionRequest(params)
  2072  //
  2073  //    err := req.Send()
  2074  //    if err == nil { // resp is now filled
  2075  //        fmt.Println(resp)
  2076  //    }
  2077  //
  2078  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetEnvironmentAccountConnection
  2079  func (c *Proton) GetEnvironmentAccountConnectionRequest(input *GetEnvironmentAccountConnectionInput) (req *request.Request, output *GetEnvironmentAccountConnectionOutput) {
  2080  	op := &request.Operation{
  2081  		Name:       opGetEnvironmentAccountConnection,
  2082  		HTTPMethod: "POST",
  2083  		HTTPPath:   "/",
  2084  	}
  2085  
  2086  	if input == nil {
  2087  		input = &GetEnvironmentAccountConnectionInput{}
  2088  	}
  2089  
  2090  	output = &GetEnvironmentAccountConnectionOutput{}
  2091  	req = c.newRequest(op, input, output)
  2092  	return
  2093  }
  2094  
  2095  // GetEnvironmentAccountConnection API operation for AWS Proton.
  2096  //
  2097  // In an environment account, view the detail data for an environment account
  2098  // connection.
  2099  //
  2100  // For more information, see Environment account connections (https://docs.aws.amazon.com/proton/latest/adminguide/ag-env-account-connections.html)
  2101  // in the AWS Proton Administrator guide.
  2102  //
  2103  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2104  // with awserr.Error's Code and Message methods to get detailed information about
  2105  // the error.
  2106  //
  2107  // See the AWS API reference guide for AWS Proton's
  2108  // API operation GetEnvironmentAccountConnection for usage and error information.
  2109  //
  2110  // Returned Error Types:
  2111  //   * ValidationException
  2112  //   The input is invalid or an out-of-range value was supplied for the input
  2113  //   parameter.
  2114  //
  2115  //   * AccessDeniedException
  2116  //   There isn't sufficient access for performing this action.
  2117  //
  2118  //   * ThrottlingException
  2119  //   The request was denied due to request throttling.
  2120  //
  2121  //   * ResourceNotFoundException
  2122  //   The requested resource wasn't found.
  2123  //
  2124  //   * InternalServerException
  2125  //   The request failed to register with the service.
  2126  //
  2127  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetEnvironmentAccountConnection
  2128  func (c *Proton) GetEnvironmentAccountConnection(input *GetEnvironmentAccountConnectionInput) (*GetEnvironmentAccountConnectionOutput, error) {
  2129  	req, out := c.GetEnvironmentAccountConnectionRequest(input)
  2130  	return out, req.Send()
  2131  }
  2132  
  2133  // GetEnvironmentAccountConnectionWithContext is the same as GetEnvironmentAccountConnection with the addition of
  2134  // the ability to pass a context and additional request options.
  2135  //
  2136  // See GetEnvironmentAccountConnection for details on how to use this API operation.
  2137  //
  2138  // The context must be non-nil and will be used for request cancellation. If
  2139  // the context is nil a panic will occur. In the future the SDK may create
  2140  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2141  // for more information on using Contexts.
  2142  func (c *Proton) GetEnvironmentAccountConnectionWithContext(ctx aws.Context, input *GetEnvironmentAccountConnectionInput, opts ...request.Option) (*GetEnvironmentAccountConnectionOutput, error) {
  2143  	req, out := c.GetEnvironmentAccountConnectionRequest(input)
  2144  	req.SetContext(ctx)
  2145  	req.ApplyOptions(opts...)
  2146  	return out, req.Send()
  2147  }
  2148  
  2149  const opGetEnvironmentTemplate = "GetEnvironmentTemplate"
  2150  
  2151  // GetEnvironmentTemplateRequest generates a "aws/request.Request" representing the
  2152  // client's request for the GetEnvironmentTemplate operation. The "output" return
  2153  // value will be populated with the request's response once the request completes
  2154  // successfully.
  2155  //
  2156  // Use "Send" method on the returned Request to send the API call to the service.
  2157  // the "output" return value is not valid until after Send returns without error.
  2158  //
  2159  // See GetEnvironmentTemplate for more information on using the GetEnvironmentTemplate
  2160  // API call, and error handling.
  2161  //
  2162  // This method is useful when you want to inject custom logic or configuration
  2163  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2164  //
  2165  //
  2166  //    // Example sending a request using the GetEnvironmentTemplateRequest method.
  2167  //    req, resp := client.GetEnvironmentTemplateRequest(params)
  2168  //
  2169  //    err := req.Send()
  2170  //    if err == nil { // resp is now filled
  2171  //        fmt.Println(resp)
  2172  //    }
  2173  //
  2174  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetEnvironmentTemplate
  2175  func (c *Proton) GetEnvironmentTemplateRequest(input *GetEnvironmentTemplateInput) (req *request.Request, output *GetEnvironmentTemplateOutput) {
  2176  	op := &request.Operation{
  2177  		Name:       opGetEnvironmentTemplate,
  2178  		HTTPMethod: "POST",
  2179  		HTTPPath:   "/",
  2180  	}
  2181  
  2182  	if input == nil {
  2183  		input = &GetEnvironmentTemplateInput{}
  2184  	}
  2185  
  2186  	output = &GetEnvironmentTemplateOutput{}
  2187  	req = c.newRequest(op, input, output)
  2188  	return
  2189  }
  2190  
  2191  // GetEnvironmentTemplate API operation for AWS Proton.
  2192  //
  2193  // Get detail data for an environment template.
  2194  //
  2195  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2196  // with awserr.Error's Code and Message methods to get detailed information about
  2197  // the error.
  2198  //
  2199  // See the AWS API reference guide for AWS Proton's
  2200  // API operation GetEnvironmentTemplate for usage and error information.
  2201  //
  2202  // Returned Error Types:
  2203  //   * ValidationException
  2204  //   The input is invalid or an out-of-range value was supplied for the input
  2205  //   parameter.
  2206  //
  2207  //   * AccessDeniedException
  2208  //   There isn't sufficient access for performing this action.
  2209  //
  2210  //   * ThrottlingException
  2211  //   The request was denied due to request throttling.
  2212  //
  2213  //   * ResourceNotFoundException
  2214  //   The requested resource wasn't found.
  2215  //
  2216  //   * InternalServerException
  2217  //   The request failed to register with the service.
  2218  //
  2219  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetEnvironmentTemplate
  2220  func (c *Proton) GetEnvironmentTemplate(input *GetEnvironmentTemplateInput) (*GetEnvironmentTemplateOutput, error) {
  2221  	req, out := c.GetEnvironmentTemplateRequest(input)
  2222  	return out, req.Send()
  2223  }
  2224  
  2225  // GetEnvironmentTemplateWithContext is the same as GetEnvironmentTemplate with the addition of
  2226  // the ability to pass a context and additional request options.
  2227  //
  2228  // See GetEnvironmentTemplate for details on how to use this API operation.
  2229  //
  2230  // The context must be non-nil and will be used for request cancellation. If
  2231  // the context is nil a panic will occur. In the future the SDK may create
  2232  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2233  // for more information on using Contexts.
  2234  func (c *Proton) GetEnvironmentTemplateWithContext(ctx aws.Context, input *GetEnvironmentTemplateInput, opts ...request.Option) (*GetEnvironmentTemplateOutput, error) {
  2235  	req, out := c.GetEnvironmentTemplateRequest(input)
  2236  	req.SetContext(ctx)
  2237  	req.ApplyOptions(opts...)
  2238  	return out, req.Send()
  2239  }
  2240  
  2241  const opGetEnvironmentTemplateVersion = "GetEnvironmentTemplateVersion"
  2242  
  2243  // GetEnvironmentTemplateVersionRequest generates a "aws/request.Request" representing the
  2244  // client's request for the GetEnvironmentTemplateVersion operation. The "output" return
  2245  // value will be populated with the request's response once the request completes
  2246  // successfully.
  2247  //
  2248  // Use "Send" method on the returned Request to send the API call to the service.
  2249  // the "output" return value is not valid until after Send returns without error.
  2250  //
  2251  // See GetEnvironmentTemplateVersion for more information on using the GetEnvironmentTemplateVersion
  2252  // API call, and error handling.
  2253  //
  2254  // This method is useful when you want to inject custom logic or configuration
  2255  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2256  //
  2257  //
  2258  //    // Example sending a request using the GetEnvironmentTemplateVersionRequest method.
  2259  //    req, resp := client.GetEnvironmentTemplateVersionRequest(params)
  2260  //
  2261  //    err := req.Send()
  2262  //    if err == nil { // resp is now filled
  2263  //        fmt.Println(resp)
  2264  //    }
  2265  //
  2266  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetEnvironmentTemplateVersion
  2267  func (c *Proton) GetEnvironmentTemplateVersionRequest(input *GetEnvironmentTemplateVersionInput) (req *request.Request, output *GetEnvironmentTemplateVersionOutput) {
  2268  	op := &request.Operation{
  2269  		Name:       opGetEnvironmentTemplateVersion,
  2270  		HTTPMethod: "POST",
  2271  		HTTPPath:   "/",
  2272  	}
  2273  
  2274  	if input == nil {
  2275  		input = &GetEnvironmentTemplateVersionInput{}
  2276  	}
  2277  
  2278  	output = &GetEnvironmentTemplateVersionOutput{}
  2279  	req = c.newRequest(op, input, output)
  2280  	return
  2281  }
  2282  
  2283  // GetEnvironmentTemplateVersion API operation for AWS Proton.
  2284  //
  2285  // View detail data for a major or minor version of an environment template.
  2286  //
  2287  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2288  // with awserr.Error's Code and Message methods to get detailed information about
  2289  // the error.
  2290  //
  2291  // See the AWS API reference guide for AWS Proton's
  2292  // API operation GetEnvironmentTemplateVersion for usage and error information.
  2293  //
  2294  // Returned Error Types:
  2295  //   * ValidationException
  2296  //   The input is invalid or an out-of-range value was supplied for the input
  2297  //   parameter.
  2298  //
  2299  //   * AccessDeniedException
  2300  //   There isn't sufficient access for performing this action.
  2301  //
  2302  //   * ThrottlingException
  2303  //   The request was denied due to request throttling.
  2304  //
  2305  //   * ResourceNotFoundException
  2306  //   The requested resource wasn't found.
  2307  //
  2308  //   * InternalServerException
  2309  //   The request failed to register with the service.
  2310  //
  2311  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetEnvironmentTemplateVersion
  2312  func (c *Proton) GetEnvironmentTemplateVersion(input *GetEnvironmentTemplateVersionInput) (*GetEnvironmentTemplateVersionOutput, error) {
  2313  	req, out := c.GetEnvironmentTemplateVersionRequest(input)
  2314  	return out, req.Send()
  2315  }
  2316  
  2317  // GetEnvironmentTemplateVersionWithContext is the same as GetEnvironmentTemplateVersion with the addition of
  2318  // the ability to pass a context and additional request options.
  2319  //
  2320  // See GetEnvironmentTemplateVersion for details on how to use this API operation.
  2321  //
  2322  // The context must be non-nil and will be used for request cancellation. If
  2323  // the context is nil a panic will occur. In the future the SDK may create
  2324  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2325  // for more information on using Contexts.
  2326  func (c *Proton) GetEnvironmentTemplateVersionWithContext(ctx aws.Context, input *GetEnvironmentTemplateVersionInput, opts ...request.Option) (*GetEnvironmentTemplateVersionOutput, error) {
  2327  	req, out := c.GetEnvironmentTemplateVersionRequest(input)
  2328  	req.SetContext(ctx)
  2329  	req.ApplyOptions(opts...)
  2330  	return out, req.Send()
  2331  }
  2332  
  2333  const opGetService = "GetService"
  2334  
  2335  // GetServiceRequest generates a "aws/request.Request" representing the
  2336  // client's request for the GetService operation. The "output" return
  2337  // value will be populated with the request's response once the request completes
  2338  // successfully.
  2339  //
  2340  // Use "Send" method on the returned Request to send the API call to the service.
  2341  // the "output" return value is not valid until after Send returns without error.
  2342  //
  2343  // See GetService for more information on using the GetService
  2344  // API call, and error handling.
  2345  //
  2346  // This method is useful when you want to inject custom logic or configuration
  2347  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2348  //
  2349  //
  2350  //    // Example sending a request using the GetServiceRequest method.
  2351  //    req, resp := client.GetServiceRequest(params)
  2352  //
  2353  //    err := req.Send()
  2354  //    if err == nil { // resp is now filled
  2355  //        fmt.Println(resp)
  2356  //    }
  2357  //
  2358  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetService
  2359  func (c *Proton) GetServiceRequest(input *GetServiceInput) (req *request.Request, output *GetServiceOutput) {
  2360  	op := &request.Operation{
  2361  		Name:       opGetService,
  2362  		HTTPMethod: "POST",
  2363  		HTTPPath:   "/",
  2364  	}
  2365  
  2366  	if input == nil {
  2367  		input = &GetServiceInput{}
  2368  	}
  2369  
  2370  	output = &GetServiceOutput{}
  2371  	req = c.newRequest(op, input, output)
  2372  	return
  2373  }
  2374  
  2375  // GetService API operation for AWS Proton.
  2376  //
  2377  // Get detail data for a service.
  2378  //
  2379  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2380  // with awserr.Error's Code and Message methods to get detailed information about
  2381  // the error.
  2382  //
  2383  // See the AWS API reference guide for AWS Proton's
  2384  // API operation GetService for usage and error information.
  2385  //
  2386  // Returned Error Types:
  2387  //   * ValidationException
  2388  //   The input is invalid or an out-of-range value was supplied for the input
  2389  //   parameter.
  2390  //
  2391  //   * AccessDeniedException
  2392  //   There isn't sufficient access for performing this action.
  2393  //
  2394  //   * ThrottlingException
  2395  //   The request was denied due to request throttling.
  2396  //
  2397  //   * ResourceNotFoundException
  2398  //   The requested resource wasn't found.
  2399  //
  2400  //   * InternalServerException
  2401  //   The request failed to register with the service.
  2402  //
  2403  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetService
  2404  func (c *Proton) GetService(input *GetServiceInput) (*GetServiceOutput, error) {
  2405  	req, out := c.GetServiceRequest(input)
  2406  	return out, req.Send()
  2407  }
  2408  
  2409  // GetServiceWithContext is the same as GetService with the addition of
  2410  // the ability to pass a context and additional request options.
  2411  //
  2412  // See GetService for details on how to use this API operation.
  2413  //
  2414  // The context must be non-nil and will be used for request cancellation. If
  2415  // the context is nil a panic will occur. In the future the SDK may create
  2416  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2417  // for more information on using Contexts.
  2418  func (c *Proton) GetServiceWithContext(ctx aws.Context, input *GetServiceInput, opts ...request.Option) (*GetServiceOutput, error) {
  2419  	req, out := c.GetServiceRequest(input)
  2420  	req.SetContext(ctx)
  2421  	req.ApplyOptions(opts...)
  2422  	return out, req.Send()
  2423  }
  2424  
  2425  const opGetServiceInstance = "GetServiceInstance"
  2426  
  2427  // GetServiceInstanceRequest generates a "aws/request.Request" representing the
  2428  // client's request for the GetServiceInstance operation. The "output" return
  2429  // value will be populated with the request's response once the request completes
  2430  // successfully.
  2431  //
  2432  // Use "Send" method on the returned Request to send the API call to the service.
  2433  // the "output" return value is not valid until after Send returns without error.
  2434  //
  2435  // See GetServiceInstance for more information on using the GetServiceInstance
  2436  // API call, and error handling.
  2437  //
  2438  // This method is useful when you want to inject custom logic or configuration
  2439  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2440  //
  2441  //
  2442  //    // Example sending a request using the GetServiceInstanceRequest method.
  2443  //    req, resp := client.GetServiceInstanceRequest(params)
  2444  //
  2445  //    err := req.Send()
  2446  //    if err == nil { // resp is now filled
  2447  //        fmt.Println(resp)
  2448  //    }
  2449  //
  2450  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetServiceInstance
  2451  func (c *Proton) GetServiceInstanceRequest(input *GetServiceInstanceInput) (req *request.Request, output *GetServiceInstanceOutput) {
  2452  	op := &request.Operation{
  2453  		Name:       opGetServiceInstance,
  2454  		HTTPMethod: "POST",
  2455  		HTTPPath:   "/",
  2456  	}
  2457  
  2458  	if input == nil {
  2459  		input = &GetServiceInstanceInput{}
  2460  	}
  2461  
  2462  	output = &GetServiceInstanceOutput{}
  2463  	req = c.newRequest(op, input, output)
  2464  	return
  2465  }
  2466  
  2467  // GetServiceInstance API operation for AWS Proton.
  2468  //
  2469  // Get detail data for a service instance. A service instance is an instantiation
  2470  // of service template, which is running in a specific environment.
  2471  //
  2472  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2473  // with awserr.Error's Code and Message methods to get detailed information about
  2474  // the error.
  2475  //
  2476  // See the AWS API reference guide for AWS Proton's
  2477  // API operation GetServiceInstance for usage and error information.
  2478  //
  2479  // Returned Error Types:
  2480  //   * ValidationException
  2481  //   The input is invalid or an out-of-range value was supplied for the input
  2482  //   parameter.
  2483  //
  2484  //   * AccessDeniedException
  2485  //   There isn't sufficient access for performing this action.
  2486  //
  2487  //   * ThrottlingException
  2488  //   The request was denied due to request throttling.
  2489  //
  2490  //   * ResourceNotFoundException
  2491  //   The requested resource wasn't found.
  2492  //
  2493  //   * InternalServerException
  2494  //   The request failed to register with the service.
  2495  //
  2496  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetServiceInstance
  2497  func (c *Proton) GetServiceInstance(input *GetServiceInstanceInput) (*GetServiceInstanceOutput, error) {
  2498  	req, out := c.GetServiceInstanceRequest(input)
  2499  	return out, req.Send()
  2500  }
  2501  
  2502  // GetServiceInstanceWithContext is the same as GetServiceInstance with the addition of
  2503  // the ability to pass a context and additional request options.
  2504  //
  2505  // See GetServiceInstance for details on how to use this API operation.
  2506  //
  2507  // The context must be non-nil and will be used for request cancellation. If
  2508  // the context is nil a panic will occur. In the future the SDK may create
  2509  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2510  // for more information on using Contexts.
  2511  func (c *Proton) GetServiceInstanceWithContext(ctx aws.Context, input *GetServiceInstanceInput, opts ...request.Option) (*GetServiceInstanceOutput, error) {
  2512  	req, out := c.GetServiceInstanceRequest(input)
  2513  	req.SetContext(ctx)
  2514  	req.ApplyOptions(opts...)
  2515  	return out, req.Send()
  2516  }
  2517  
  2518  const opGetServiceTemplate = "GetServiceTemplate"
  2519  
  2520  // GetServiceTemplateRequest generates a "aws/request.Request" representing the
  2521  // client's request for the GetServiceTemplate operation. The "output" return
  2522  // value will be populated with the request's response once the request completes
  2523  // successfully.
  2524  //
  2525  // Use "Send" method on the returned Request to send the API call to the service.
  2526  // the "output" return value is not valid until after Send returns without error.
  2527  //
  2528  // See GetServiceTemplate for more information on using the GetServiceTemplate
  2529  // API call, and error handling.
  2530  //
  2531  // This method is useful when you want to inject custom logic or configuration
  2532  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2533  //
  2534  //
  2535  //    // Example sending a request using the GetServiceTemplateRequest method.
  2536  //    req, resp := client.GetServiceTemplateRequest(params)
  2537  //
  2538  //    err := req.Send()
  2539  //    if err == nil { // resp is now filled
  2540  //        fmt.Println(resp)
  2541  //    }
  2542  //
  2543  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetServiceTemplate
  2544  func (c *Proton) GetServiceTemplateRequest(input *GetServiceTemplateInput) (req *request.Request, output *GetServiceTemplateOutput) {
  2545  	op := &request.Operation{
  2546  		Name:       opGetServiceTemplate,
  2547  		HTTPMethod: "POST",
  2548  		HTTPPath:   "/",
  2549  	}
  2550  
  2551  	if input == nil {
  2552  		input = &GetServiceTemplateInput{}
  2553  	}
  2554  
  2555  	output = &GetServiceTemplateOutput{}
  2556  	req = c.newRequest(op, input, output)
  2557  	return
  2558  }
  2559  
  2560  // GetServiceTemplate API operation for AWS Proton.
  2561  //
  2562  // Get detail data for a service template.
  2563  //
  2564  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2565  // with awserr.Error's Code and Message methods to get detailed information about
  2566  // the error.
  2567  //
  2568  // See the AWS API reference guide for AWS Proton's
  2569  // API operation GetServiceTemplate for usage and error information.
  2570  //
  2571  // Returned Error Types:
  2572  //   * ValidationException
  2573  //   The input is invalid or an out-of-range value was supplied for the input
  2574  //   parameter.
  2575  //
  2576  //   * AccessDeniedException
  2577  //   There isn't sufficient access for performing this action.
  2578  //
  2579  //   * ThrottlingException
  2580  //   The request was denied due to request throttling.
  2581  //
  2582  //   * ResourceNotFoundException
  2583  //   The requested resource wasn't found.
  2584  //
  2585  //   * InternalServerException
  2586  //   The request failed to register with the service.
  2587  //
  2588  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetServiceTemplate
  2589  func (c *Proton) GetServiceTemplate(input *GetServiceTemplateInput) (*GetServiceTemplateOutput, error) {
  2590  	req, out := c.GetServiceTemplateRequest(input)
  2591  	return out, req.Send()
  2592  }
  2593  
  2594  // GetServiceTemplateWithContext is the same as GetServiceTemplate with the addition of
  2595  // the ability to pass a context and additional request options.
  2596  //
  2597  // See GetServiceTemplate for details on how to use this API operation.
  2598  //
  2599  // The context must be non-nil and will be used for request cancellation. If
  2600  // the context is nil a panic will occur. In the future the SDK may create
  2601  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2602  // for more information on using Contexts.
  2603  func (c *Proton) GetServiceTemplateWithContext(ctx aws.Context, input *GetServiceTemplateInput, opts ...request.Option) (*GetServiceTemplateOutput, error) {
  2604  	req, out := c.GetServiceTemplateRequest(input)
  2605  	req.SetContext(ctx)
  2606  	req.ApplyOptions(opts...)
  2607  	return out, req.Send()
  2608  }
  2609  
  2610  const opGetServiceTemplateVersion = "GetServiceTemplateVersion"
  2611  
  2612  // GetServiceTemplateVersionRequest generates a "aws/request.Request" representing the
  2613  // client's request for the GetServiceTemplateVersion operation. The "output" return
  2614  // value will be populated with the request's response once the request completes
  2615  // successfully.
  2616  //
  2617  // Use "Send" method on the returned Request to send the API call to the service.
  2618  // the "output" return value is not valid until after Send returns without error.
  2619  //
  2620  // See GetServiceTemplateVersion for more information on using the GetServiceTemplateVersion
  2621  // API call, and error handling.
  2622  //
  2623  // This method is useful when you want to inject custom logic or configuration
  2624  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2625  //
  2626  //
  2627  //    // Example sending a request using the GetServiceTemplateVersionRequest method.
  2628  //    req, resp := client.GetServiceTemplateVersionRequest(params)
  2629  //
  2630  //    err := req.Send()
  2631  //    if err == nil { // resp is now filled
  2632  //        fmt.Println(resp)
  2633  //    }
  2634  //
  2635  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetServiceTemplateVersion
  2636  func (c *Proton) GetServiceTemplateVersionRequest(input *GetServiceTemplateVersionInput) (req *request.Request, output *GetServiceTemplateVersionOutput) {
  2637  	op := &request.Operation{
  2638  		Name:       opGetServiceTemplateVersion,
  2639  		HTTPMethod: "POST",
  2640  		HTTPPath:   "/",
  2641  	}
  2642  
  2643  	if input == nil {
  2644  		input = &GetServiceTemplateVersionInput{}
  2645  	}
  2646  
  2647  	output = &GetServiceTemplateVersionOutput{}
  2648  	req = c.newRequest(op, input, output)
  2649  	return
  2650  }
  2651  
  2652  // GetServiceTemplateVersion API operation for AWS Proton.
  2653  //
  2654  // View detail data for a major or minor version of a service template.
  2655  //
  2656  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2657  // with awserr.Error's Code and Message methods to get detailed information about
  2658  // the error.
  2659  //
  2660  // See the AWS API reference guide for AWS Proton's
  2661  // API operation GetServiceTemplateVersion for usage and error information.
  2662  //
  2663  // Returned Error Types:
  2664  //   * ValidationException
  2665  //   The input is invalid or an out-of-range value was supplied for the input
  2666  //   parameter.
  2667  //
  2668  //   * AccessDeniedException
  2669  //   There isn't sufficient access for performing this action.
  2670  //
  2671  //   * ThrottlingException
  2672  //   The request was denied due to request throttling.
  2673  //
  2674  //   * ResourceNotFoundException
  2675  //   The requested resource wasn't found.
  2676  //
  2677  //   * InternalServerException
  2678  //   The request failed to register with the service.
  2679  //
  2680  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/GetServiceTemplateVersion
  2681  func (c *Proton) GetServiceTemplateVersion(input *GetServiceTemplateVersionInput) (*GetServiceTemplateVersionOutput, error) {
  2682  	req, out := c.GetServiceTemplateVersionRequest(input)
  2683  	return out, req.Send()
  2684  }
  2685  
  2686  // GetServiceTemplateVersionWithContext is the same as GetServiceTemplateVersion with the addition of
  2687  // the ability to pass a context and additional request options.
  2688  //
  2689  // See GetServiceTemplateVersion for details on how to use this API operation.
  2690  //
  2691  // The context must be non-nil and will be used for request cancellation. If
  2692  // the context is nil a panic will occur. In the future the SDK may create
  2693  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2694  // for more information on using Contexts.
  2695  func (c *Proton) GetServiceTemplateVersionWithContext(ctx aws.Context, input *GetServiceTemplateVersionInput, opts ...request.Option) (*GetServiceTemplateVersionOutput, error) {
  2696  	req, out := c.GetServiceTemplateVersionRequest(input)
  2697  	req.SetContext(ctx)
  2698  	req.ApplyOptions(opts...)
  2699  	return out, req.Send()
  2700  }
  2701  
  2702  const opListEnvironmentAccountConnections = "ListEnvironmentAccountConnections"
  2703  
  2704  // ListEnvironmentAccountConnectionsRequest generates a "aws/request.Request" representing the
  2705  // client's request for the ListEnvironmentAccountConnections operation. The "output" return
  2706  // value will be populated with the request's response once the request completes
  2707  // successfully.
  2708  //
  2709  // Use "Send" method on the returned Request to send the API call to the service.
  2710  // the "output" return value is not valid until after Send returns without error.
  2711  //
  2712  // See ListEnvironmentAccountConnections for more information on using the ListEnvironmentAccountConnections
  2713  // API call, and error handling.
  2714  //
  2715  // This method is useful when you want to inject custom logic or configuration
  2716  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2717  //
  2718  //
  2719  //    // Example sending a request using the ListEnvironmentAccountConnectionsRequest method.
  2720  //    req, resp := client.ListEnvironmentAccountConnectionsRequest(params)
  2721  //
  2722  //    err := req.Send()
  2723  //    if err == nil { // resp is now filled
  2724  //        fmt.Println(resp)
  2725  //    }
  2726  //
  2727  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListEnvironmentAccountConnections
  2728  func (c *Proton) ListEnvironmentAccountConnectionsRequest(input *ListEnvironmentAccountConnectionsInput) (req *request.Request, output *ListEnvironmentAccountConnectionsOutput) {
  2729  	op := &request.Operation{
  2730  		Name:       opListEnvironmentAccountConnections,
  2731  		HTTPMethod: "POST",
  2732  		HTTPPath:   "/",
  2733  		Paginator: &request.Paginator{
  2734  			InputTokens:     []string{"nextToken"},
  2735  			OutputTokens:    []string{"nextToken"},
  2736  			LimitToken:      "maxResults",
  2737  			TruncationToken: "",
  2738  		},
  2739  	}
  2740  
  2741  	if input == nil {
  2742  		input = &ListEnvironmentAccountConnectionsInput{}
  2743  	}
  2744  
  2745  	output = &ListEnvironmentAccountConnectionsOutput{}
  2746  	req = c.newRequest(op, input, output)
  2747  	return
  2748  }
  2749  
  2750  // ListEnvironmentAccountConnections API operation for AWS Proton.
  2751  //
  2752  // View a list of environment account connections.
  2753  //
  2754  // For more information, see Environment account connections (https://docs.aws.amazon.com/proton/latest/adminguide/ag-env-account-connections.html)
  2755  // in the AWS Proton Administrator guide.
  2756  //
  2757  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2758  // with awserr.Error's Code and Message methods to get detailed information about
  2759  // the error.
  2760  //
  2761  // See the AWS API reference guide for AWS Proton's
  2762  // API operation ListEnvironmentAccountConnections for usage and error information.
  2763  //
  2764  // Returned Error Types:
  2765  //   * ValidationException
  2766  //   The input is invalid or an out-of-range value was supplied for the input
  2767  //   parameter.
  2768  //
  2769  //   * AccessDeniedException
  2770  //   There isn't sufficient access for performing this action.
  2771  //
  2772  //   * ThrottlingException
  2773  //   The request was denied due to request throttling.
  2774  //
  2775  //   * InternalServerException
  2776  //   The request failed to register with the service.
  2777  //
  2778  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListEnvironmentAccountConnections
  2779  func (c *Proton) ListEnvironmentAccountConnections(input *ListEnvironmentAccountConnectionsInput) (*ListEnvironmentAccountConnectionsOutput, error) {
  2780  	req, out := c.ListEnvironmentAccountConnectionsRequest(input)
  2781  	return out, req.Send()
  2782  }
  2783  
  2784  // ListEnvironmentAccountConnectionsWithContext is the same as ListEnvironmentAccountConnections with the addition of
  2785  // the ability to pass a context and additional request options.
  2786  //
  2787  // See ListEnvironmentAccountConnections for details on how to use this API operation.
  2788  //
  2789  // The context must be non-nil and will be used for request cancellation. If
  2790  // the context is nil a panic will occur. In the future the SDK may create
  2791  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2792  // for more information on using Contexts.
  2793  func (c *Proton) ListEnvironmentAccountConnectionsWithContext(ctx aws.Context, input *ListEnvironmentAccountConnectionsInput, opts ...request.Option) (*ListEnvironmentAccountConnectionsOutput, error) {
  2794  	req, out := c.ListEnvironmentAccountConnectionsRequest(input)
  2795  	req.SetContext(ctx)
  2796  	req.ApplyOptions(opts...)
  2797  	return out, req.Send()
  2798  }
  2799  
  2800  // ListEnvironmentAccountConnectionsPages iterates over the pages of a ListEnvironmentAccountConnections operation,
  2801  // calling the "fn" function with the response data for each page. To stop
  2802  // iterating, return false from the fn function.
  2803  //
  2804  // See ListEnvironmentAccountConnections method for more information on how to use this operation.
  2805  //
  2806  // Note: This operation can generate multiple requests to a service.
  2807  //
  2808  //    // Example iterating over at most 3 pages of a ListEnvironmentAccountConnections operation.
  2809  //    pageNum := 0
  2810  //    err := client.ListEnvironmentAccountConnectionsPages(params,
  2811  //        func(page *proton.ListEnvironmentAccountConnectionsOutput, lastPage bool) bool {
  2812  //            pageNum++
  2813  //            fmt.Println(page)
  2814  //            return pageNum <= 3
  2815  //        })
  2816  //
  2817  func (c *Proton) ListEnvironmentAccountConnectionsPages(input *ListEnvironmentAccountConnectionsInput, fn func(*ListEnvironmentAccountConnectionsOutput, bool) bool) error {
  2818  	return c.ListEnvironmentAccountConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
  2819  }
  2820  
  2821  // ListEnvironmentAccountConnectionsPagesWithContext same as ListEnvironmentAccountConnectionsPages except
  2822  // it takes a Context and allows setting request options on the pages.
  2823  //
  2824  // The context must be non-nil and will be used for request cancellation. If
  2825  // the context is nil a panic will occur. In the future the SDK may create
  2826  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2827  // for more information on using Contexts.
  2828  func (c *Proton) ListEnvironmentAccountConnectionsPagesWithContext(ctx aws.Context, input *ListEnvironmentAccountConnectionsInput, fn func(*ListEnvironmentAccountConnectionsOutput, bool) bool, opts ...request.Option) error {
  2829  	p := request.Pagination{
  2830  		NewRequest: func() (*request.Request, error) {
  2831  			var inCpy *ListEnvironmentAccountConnectionsInput
  2832  			if input != nil {
  2833  				tmp := *input
  2834  				inCpy = &tmp
  2835  			}
  2836  			req, _ := c.ListEnvironmentAccountConnectionsRequest(inCpy)
  2837  			req.SetContext(ctx)
  2838  			req.ApplyOptions(opts...)
  2839  			return req, nil
  2840  		},
  2841  	}
  2842  
  2843  	for p.Next() {
  2844  		if !fn(p.Page().(*ListEnvironmentAccountConnectionsOutput), !p.HasNextPage()) {
  2845  			break
  2846  		}
  2847  	}
  2848  
  2849  	return p.Err()
  2850  }
  2851  
  2852  const opListEnvironmentTemplateVersions = "ListEnvironmentTemplateVersions"
  2853  
  2854  // ListEnvironmentTemplateVersionsRequest generates a "aws/request.Request" representing the
  2855  // client's request for the ListEnvironmentTemplateVersions operation. The "output" return
  2856  // value will be populated with the request's response once the request completes
  2857  // successfully.
  2858  //
  2859  // Use "Send" method on the returned Request to send the API call to the service.
  2860  // the "output" return value is not valid until after Send returns without error.
  2861  //
  2862  // See ListEnvironmentTemplateVersions for more information on using the ListEnvironmentTemplateVersions
  2863  // API call, and error handling.
  2864  //
  2865  // This method is useful when you want to inject custom logic or configuration
  2866  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2867  //
  2868  //
  2869  //    // Example sending a request using the ListEnvironmentTemplateVersionsRequest method.
  2870  //    req, resp := client.ListEnvironmentTemplateVersionsRequest(params)
  2871  //
  2872  //    err := req.Send()
  2873  //    if err == nil { // resp is now filled
  2874  //        fmt.Println(resp)
  2875  //    }
  2876  //
  2877  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListEnvironmentTemplateVersions
  2878  func (c *Proton) ListEnvironmentTemplateVersionsRequest(input *ListEnvironmentTemplateVersionsInput) (req *request.Request, output *ListEnvironmentTemplateVersionsOutput) {
  2879  	op := &request.Operation{
  2880  		Name:       opListEnvironmentTemplateVersions,
  2881  		HTTPMethod: "POST",
  2882  		HTTPPath:   "/",
  2883  		Paginator: &request.Paginator{
  2884  			InputTokens:     []string{"nextToken"},
  2885  			OutputTokens:    []string{"nextToken"},
  2886  			LimitToken:      "maxResults",
  2887  			TruncationToken: "",
  2888  		},
  2889  	}
  2890  
  2891  	if input == nil {
  2892  		input = &ListEnvironmentTemplateVersionsInput{}
  2893  	}
  2894  
  2895  	output = &ListEnvironmentTemplateVersionsOutput{}
  2896  	req = c.newRequest(op, input, output)
  2897  	return
  2898  }
  2899  
  2900  // ListEnvironmentTemplateVersions API operation for AWS Proton.
  2901  //
  2902  // List major or minor versions of an environment template with detail data.
  2903  //
  2904  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2905  // with awserr.Error's Code and Message methods to get detailed information about
  2906  // the error.
  2907  //
  2908  // See the AWS API reference guide for AWS Proton's
  2909  // API operation ListEnvironmentTemplateVersions for usage and error information.
  2910  //
  2911  // Returned Error Types:
  2912  //   * ValidationException
  2913  //   The input is invalid or an out-of-range value was supplied for the input
  2914  //   parameter.
  2915  //
  2916  //   * AccessDeniedException
  2917  //   There isn't sufficient access for performing this action.
  2918  //
  2919  //   * ThrottlingException
  2920  //   The request was denied due to request throttling.
  2921  //
  2922  //   * ResourceNotFoundException
  2923  //   The requested resource wasn't found.
  2924  //
  2925  //   * InternalServerException
  2926  //   The request failed to register with the service.
  2927  //
  2928  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListEnvironmentTemplateVersions
  2929  func (c *Proton) ListEnvironmentTemplateVersions(input *ListEnvironmentTemplateVersionsInput) (*ListEnvironmentTemplateVersionsOutput, error) {
  2930  	req, out := c.ListEnvironmentTemplateVersionsRequest(input)
  2931  	return out, req.Send()
  2932  }
  2933  
  2934  // ListEnvironmentTemplateVersionsWithContext is the same as ListEnvironmentTemplateVersions with the addition of
  2935  // the ability to pass a context and additional request options.
  2936  //
  2937  // See ListEnvironmentTemplateVersions for details on how to use this API operation.
  2938  //
  2939  // The context must be non-nil and will be used for request cancellation. If
  2940  // the context is nil a panic will occur. In the future the SDK may create
  2941  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2942  // for more information on using Contexts.
  2943  func (c *Proton) ListEnvironmentTemplateVersionsWithContext(ctx aws.Context, input *ListEnvironmentTemplateVersionsInput, opts ...request.Option) (*ListEnvironmentTemplateVersionsOutput, error) {
  2944  	req, out := c.ListEnvironmentTemplateVersionsRequest(input)
  2945  	req.SetContext(ctx)
  2946  	req.ApplyOptions(opts...)
  2947  	return out, req.Send()
  2948  }
  2949  
  2950  // ListEnvironmentTemplateVersionsPages iterates over the pages of a ListEnvironmentTemplateVersions operation,
  2951  // calling the "fn" function with the response data for each page. To stop
  2952  // iterating, return false from the fn function.
  2953  //
  2954  // See ListEnvironmentTemplateVersions method for more information on how to use this operation.
  2955  //
  2956  // Note: This operation can generate multiple requests to a service.
  2957  //
  2958  //    // Example iterating over at most 3 pages of a ListEnvironmentTemplateVersions operation.
  2959  //    pageNum := 0
  2960  //    err := client.ListEnvironmentTemplateVersionsPages(params,
  2961  //        func(page *proton.ListEnvironmentTemplateVersionsOutput, lastPage bool) bool {
  2962  //            pageNum++
  2963  //            fmt.Println(page)
  2964  //            return pageNum <= 3
  2965  //        })
  2966  //
  2967  func (c *Proton) ListEnvironmentTemplateVersionsPages(input *ListEnvironmentTemplateVersionsInput, fn func(*ListEnvironmentTemplateVersionsOutput, bool) bool) error {
  2968  	return c.ListEnvironmentTemplateVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
  2969  }
  2970  
  2971  // ListEnvironmentTemplateVersionsPagesWithContext same as ListEnvironmentTemplateVersionsPages except
  2972  // it takes a Context and allows setting request options on the pages.
  2973  //
  2974  // The context must be non-nil and will be used for request cancellation. If
  2975  // the context is nil a panic will occur. In the future the SDK may create
  2976  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2977  // for more information on using Contexts.
  2978  func (c *Proton) ListEnvironmentTemplateVersionsPagesWithContext(ctx aws.Context, input *ListEnvironmentTemplateVersionsInput, fn func(*ListEnvironmentTemplateVersionsOutput, bool) bool, opts ...request.Option) error {
  2979  	p := request.Pagination{
  2980  		NewRequest: func() (*request.Request, error) {
  2981  			var inCpy *ListEnvironmentTemplateVersionsInput
  2982  			if input != nil {
  2983  				tmp := *input
  2984  				inCpy = &tmp
  2985  			}
  2986  			req, _ := c.ListEnvironmentTemplateVersionsRequest(inCpy)
  2987  			req.SetContext(ctx)
  2988  			req.ApplyOptions(opts...)
  2989  			return req, nil
  2990  		},
  2991  	}
  2992  
  2993  	for p.Next() {
  2994  		if !fn(p.Page().(*ListEnvironmentTemplateVersionsOutput), !p.HasNextPage()) {
  2995  			break
  2996  		}
  2997  	}
  2998  
  2999  	return p.Err()
  3000  }
  3001  
  3002  const opListEnvironmentTemplates = "ListEnvironmentTemplates"
  3003  
  3004  // ListEnvironmentTemplatesRequest generates a "aws/request.Request" representing the
  3005  // client's request for the ListEnvironmentTemplates operation. The "output" return
  3006  // value will be populated with the request's response once the request completes
  3007  // successfully.
  3008  //
  3009  // Use "Send" method on the returned Request to send the API call to the service.
  3010  // the "output" return value is not valid until after Send returns without error.
  3011  //
  3012  // See ListEnvironmentTemplates for more information on using the ListEnvironmentTemplates
  3013  // API call, and error handling.
  3014  //
  3015  // This method is useful when you want to inject custom logic or configuration
  3016  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3017  //
  3018  //
  3019  //    // Example sending a request using the ListEnvironmentTemplatesRequest method.
  3020  //    req, resp := client.ListEnvironmentTemplatesRequest(params)
  3021  //
  3022  //    err := req.Send()
  3023  //    if err == nil { // resp is now filled
  3024  //        fmt.Println(resp)
  3025  //    }
  3026  //
  3027  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListEnvironmentTemplates
  3028  func (c *Proton) ListEnvironmentTemplatesRequest(input *ListEnvironmentTemplatesInput) (req *request.Request, output *ListEnvironmentTemplatesOutput) {
  3029  	op := &request.Operation{
  3030  		Name:       opListEnvironmentTemplates,
  3031  		HTTPMethod: "POST",
  3032  		HTTPPath:   "/",
  3033  		Paginator: &request.Paginator{
  3034  			InputTokens:     []string{"nextToken"},
  3035  			OutputTokens:    []string{"nextToken"},
  3036  			LimitToken:      "maxResults",
  3037  			TruncationToken: "",
  3038  		},
  3039  	}
  3040  
  3041  	if input == nil {
  3042  		input = &ListEnvironmentTemplatesInput{}
  3043  	}
  3044  
  3045  	output = &ListEnvironmentTemplatesOutput{}
  3046  	req = c.newRequest(op, input, output)
  3047  	return
  3048  }
  3049  
  3050  // ListEnvironmentTemplates API operation for AWS Proton.
  3051  //
  3052  // List environment templates.
  3053  //
  3054  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3055  // with awserr.Error's Code and Message methods to get detailed information about
  3056  // the error.
  3057  //
  3058  // See the AWS API reference guide for AWS Proton's
  3059  // API operation ListEnvironmentTemplates for usage and error information.
  3060  //
  3061  // Returned Error Types:
  3062  //   * ValidationException
  3063  //   The input is invalid or an out-of-range value was supplied for the input
  3064  //   parameter.
  3065  //
  3066  //   * AccessDeniedException
  3067  //   There isn't sufficient access for performing this action.
  3068  //
  3069  //   * ThrottlingException
  3070  //   The request was denied due to request throttling.
  3071  //
  3072  //   * InternalServerException
  3073  //   The request failed to register with the service.
  3074  //
  3075  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListEnvironmentTemplates
  3076  func (c *Proton) ListEnvironmentTemplates(input *ListEnvironmentTemplatesInput) (*ListEnvironmentTemplatesOutput, error) {
  3077  	req, out := c.ListEnvironmentTemplatesRequest(input)
  3078  	return out, req.Send()
  3079  }
  3080  
  3081  // ListEnvironmentTemplatesWithContext is the same as ListEnvironmentTemplates with the addition of
  3082  // the ability to pass a context and additional request options.
  3083  //
  3084  // See ListEnvironmentTemplates for details on how to use this API operation.
  3085  //
  3086  // The context must be non-nil and will be used for request cancellation. If
  3087  // the context is nil a panic will occur. In the future the SDK may create
  3088  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3089  // for more information on using Contexts.
  3090  func (c *Proton) ListEnvironmentTemplatesWithContext(ctx aws.Context, input *ListEnvironmentTemplatesInput, opts ...request.Option) (*ListEnvironmentTemplatesOutput, error) {
  3091  	req, out := c.ListEnvironmentTemplatesRequest(input)
  3092  	req.SetContext(ctx)
  3093  	req.ApplyOptions(opts...)
  3094  	return out, req.Send()
  3095  }
  3096  
  3097  // ListEnvironmentTemplatesPages iterates over the pages of a ListEnvironmentTemplates operation,
  3098  // calling the "fn" function with the response data for each page. To stop
  3099  // iterating, return false from the fn function.
  3100  //
  3101  // See ListEnvironmentTemplates method for more information on how to use this operation.
  3102  //
  3103  // Note: This operation can generate multiple requests to a service.
  3104  //
  3105  //    // Example iterating over at most 3 pages of a ListEnvironmentTemplates operation.
  3106  //    pageNum := 0
  3107  //    err := client.ListEnvironmentTemplatesPages(params,
  3108  //        func(page *proton.ListEnvironmentTemplatesOutput, lastPage bool) bool {
  3109  //            pageNum++
  3110  //            fmt.Println(page)
  3111  //            return pageNum <= 3
  3112  //        })
  3113  //
  3114  func (c *Proton) ListEnvironmentTemplatesPages(input *ListEnvironmentTemplatesInput, fn func(*ListEnvironmentTemplatesOutput, bool) bool) error {
  3115  	return c.ListEnvironmentTemplatesPagesWithContext(aws.BackgroundContext(), input, fn)
  3116  }
  3117  
  3118  // ListEnvironmentTemplatesPagesWithContext same as ListEnvironmentTemplatesPages except
  3119  // it takes a Context and allows setting request options on the pages.
  3120  //
  3121  // The context must be non-nil and will be used for request cancellation. If
  3122  // the context is nil a panic will occur. In the future the SDK may create
  3123  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3124  // for more information on using Contexts.
  3125  func (c *Proton) ListEnvironmentTemplatesPagesWithContext(ctx aws.Context, input *ListEnvironmentTemplatesInput, fn func(*ListEnvironmentTemplatesOutput, bool) bool, opts ...request.Option) error {
  3126  	p := request.Pagination{
  3127  		NewRequest: func() (*request.Request, error) {
  3128  			var inCpy *ListEnvironmentTemplatesInput
  3129  			if input != nil {
  3130  				tmp := *input
  3131  				inCpy = &tmp
  3132  			}
  3133  			req, _ := c.ListEnvironmentTemplatesRequest(inCpy)
  3134  			req.SetContext(ctx)
  3135  			req.ApplyOptions(opts...)
  3136  			return req, nil
  3137  		},
  3138  	}
  3139  
  3140  	for p.Next() {
  3141  		if !fn(p.Page().(*ListEnvironmentTemplatesOutput), !p.HasNextPage()) {
  3142  			break
  3143  		}
  3144  	}
  3145  
  3146  	return p.Err()
  3147  }
  3148  
  3149  const opListEnvironments = "ListEnvironments"
  3150  
  3151  // ListEnvironmentsRequest generates a "aws/request.Request" representing the
  3152  // client's request for the ListEnvironments operation. The "output" return
  3153  // value will be populated with the request's response once the request completes
  3154  // successfully.
  3155  //
  3156  // Use "Send" method on the returned Request to send the API call to the service.
  3157  // the "output" return value is not valid until after Send returns without error.
  3158  //
  3159  // See ListEnvironments for more information on using the ListEnvironments
  3160  // API call, and error handling.
  3161  //
  3162  // This method is useful when you want to inject custom logic or configuration
  3163  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3164  //
  3165  //
  3166  //    // Example sending a request using the ListEnvironmentsRequest method.
  3167  //    req, resp := client.ListEnvironmentsRequest(params)
  3168  //
  3169  //    err := req.Send()
  3170  //    if err == nil { // resp is now filled
  3171  //        fmt.Println(resp)
  3172  //    }
  3173  //
  3174  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListEnvironments
  3175  func (c *Proton) ListEnvironmentsRequest(input *ListEnvironmentsInput) (req *request.Request, output *ListEnvironmentsOutput) {
  3176  	op := &request.Operation{
  3177  		Name:       opListEnvironments,
  3178  		HTTPMethod: "POST",
  3179  		HTTPPath:   "/",
  3180  		Paginator: &request.Paginator{
  3181  			InputTokens:     []string{"nextToken"},
  3182  			OutputTokens:    []string{"nextToken"},
  3183  			LimitToken:      "maxResults",
  3184  			TruncationToken: "",
  3185  		},
  3186  	}
  3187  
  3188  	if input == nil {
  3189  		input = &ListEnvironmentsInput{}
  3190  	}
  3191  
  3192  	output = &ListEnvironmentsOutput{}
  3193  	req = c.newRequest(op, input, output)
  3194  	return
  3195  }
  3196  
  3197  // ListEnvironments API operation for AWS Proton.
  3198  //
  3199  // List environments with detail data summaries.
  3200  //
  3201  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3202  // with awserr.Error's Code and Message methods to get detailed information about
  3203  // the error.
  3204  //
  3205  // See the AWS API reference guide for AWS Proton's
  3206  // API operation ListEnvironments for usage and error information.
  3207  //
  3208  // Returned Error Types:
  3209  //   * ValidationException
  3210  //   The input is invalid or an out-of-range value was supplied for the input
  3211  //   parameter.
  3212  //
  3213  //   * AccessDeniedException
  3214  //   There isn't sufficient access for performing this action.
  3215  //
  3216  //   * ThrottlingException
  3217  //   The request was denied due to request throttling.
  3218  //
  3219  //   * ResourceNotFoundException
  3220  //   The requested resource wasn't found.
  3221  //
  3222  //   * InternalServerException
  3223  //   The request failed to register with the service.
  3224  //
  3225  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListEnvironments
  3226  func (c *Proton) ListEnvironments(input *ListEnvironmentsInput) (*ListEnvironmentsOutput, error) {
  3227  	req, out := c.ListEnvironmentsRequest(input)
  3228  	return out, req.Send()
  3229  }
  3230  
  3231  // ListEnvironmentsWithContext is the same as ListEnvironments with the addition of
  3232  // the ability to pass a context and additional request options.
  3233  //
  3234  // See ListEnvironments for details on how to use this API operation.
  3235  //
  3236  // The context must be non-nil and will be used for request cancellation. If
  3237  // the context is nil a panic will occur. In the future the SDK may create
  3238  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3239  // for more information on using Contexts.
  3240  func (c *Proton) ListEnvironmentsWithContext(ctx aws.Context, input *ListEnvironmentsInput, opts ...request.Option) (*ListEnvironmentsOutput, error) {
  3241  	req, out := c.ListEnvironmentsRequest(input)
  3242  	req.SetContext(ctx)
  3243  	req.ApplyOptions(opts...)
  3244  	return out, req.Send()
  3245  }
  3246  
  3247  // ListEnvironmentsPages iterates over the pages of a ListEnvironments operation,
  3248  // calling the "fn" function with the response data for each page. To stop
  3249  // iterating, return false from the fn function.
  3250  //
  3251  // See ListEnvironments method for more information on how to use this operation.
  3252  //
  3253  // Note: This operation can generate multiple requests to a service.
  3254  //
  3255  //    // Example iterating over at most 3 pages of a ListEnvironments operation.
  3256  //    pageNum := 0
  3257  //    err := client.ListEnvironmentsPages(params,
  3258  //        func(page *proton.ListEnvironmentsOutput, lastPage bool) bool {
  3259  //            pageNum++
  3260  //            fmt.Println(page)
  3261  //            return pageNum <= 3
  3262  //        })
  3263  //
  3264  func (c *Proton) ListEnvironmentsPages(input *ListEnvironmentsInput, fn func(*ListEnvironmentsOutput, bool) bool) error {
  3265  	return c.ListEnvironmentsPagesWithContext(aws.BackgroundContext(), input, fn)
  3266  }
  3267  
  3268  // ListEnvironmentsPagesWithContext same as ListEnvironmentsPages except
  3269  // it takes a Context and allows setting request options on the pages.
  3270  //
  3271  // The context must be non-nil and will be used for request cancellation. If
  3272  // the context is nil a panic will occur. In the future the SDK may create
  3273  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3274  // for more information on using Contexts.
  3275  func (c *Proton) ListEnvironmentsPagesWithContext(ctx aws.Context, input *ListEnvironmentsInput, fn func(*ListEnvironmentsOutput, bool) bool, opts ...request.Option) error {
  3276  	p := request.Pagination{
  3277  		NewRequest: func() (*request.Request, error) {
  3278  			var inCpy *ListEnvironmentsInput
  3279  			if input != nil {
  3280  				tmp := *input
  3281  				inCpy = &tmp
  3282  			}
  3283  			req, _ := c.ListEnvironmentsRequest(inCpy)
  3284  			req.SetContext(ctx)
  3285  			req.ApplyOptions(opts...)
  3286  			return req, nil
  3287  		},
  3288  	}
  3289  
  3290  	for p.Next() {
  3291  		if !fn(p.Page().(*ListEnvironmentsOutput), !p.HasNextPage()) {
  3292  			break
  3293  		}
  3294  	}
  3295  
  3296  	return p.Err()
  3297  }
  3298  
  3299  const opListServiceInstances = "ListServiceInstances"
  3300  
  3301  // ListServiceInstancesRequest generates a "aws/request.Request" representing the
  3302  // client's request for the ListServiceInstances operation. The "output" return
  3303  // value will be populated with the request's response once the request completes
  3304  // successfully.
  3305  //
  3306  // Use "Send" method on the returned Request to send the API call to the service.
  3307  // the "output" return value is not valid until after Send returns without error.
  3308  //
  3309  // See ListServiceInstances for more information on using the ListServiceInstances
  3310  // API call, and error handling.
  3311  //
  3312  // This method is useful when you want to inject custom logic or configuration
  3313  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3314  //
  3315  //
  3316  //    // Example sending a request using the ListServiceInstancesRequest method.
  3317  //    req, resp := client.ListServiceInstancesRequest(params)
  3318  //
  3319  //    err := req.Send()
  3320  //    if err == nil { // resp is now filled
  3321  //        fmt.Println(resp)
  3322  //    }
  3323  //
  3324  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListServiceInstances
  3325  func (c *Proton) ListServiceInstancesRequest(input *ListServiceInstancesInput) (req *request.Request, output *ListServiceInstancesOutput) {
  3326  	op := &request.Operation{
  3327  		Name:       opListServiceInstances,
  3328  		HTTPMethod: "POST",
  3329  		HTTPPath:   "/",
  3330  		Paginator: &request.Paginator{
  3331  			InputTokens:     []string{"nextToken"},
  3332  			OutputTokens:    []string{"nextToken"},
  3333  			LimitToken:      "maxResults",
  3334  			TruncationToken: "",
  3335  		},
  3336  	}
  3337  
  3338  	if input == nil {
  3339  		input = &ListServiceInstancesInput{}
  3340  	}
  3341  
  3342  	output = &ListServiceInstancesOutput{}
  3343  	req = c.newRequest(op, input, output)
  3344  	return
  3345  }
  3346  
  3347  // ListServiceInstances API operation for AWS Proton.
  3348  //
  3349  // List service instances with summaries of detail data.
  3350  //
  3351  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3352  // with awserr.Error's Code and Message methods to get detailed information about
  3353  // the error.
  3354  //
  3355  // See the AWS API reference guide for AWS Proton's
  3356  // API operation ListServiceInstances for usage and error information.
  3357  //
  3358  // Returned Error Types:
  3359  //   * ValidationException
  3360  //   The input is invalid or an out-of-range value was supplied for the input
  3361  //   parameter.
  3362  //
  3363  //   * AccessDeniedException
  3364  //   There isn't sufficient access for performing this action.
  3365  //
  3366  //   * ThrottlingException
  3367  //   The request was denied due to request throttling.
  3368  //
  3369  //   * ResourceNotFoundException
  3370  //   The requested resource wasn't found.
  3371  //
  3372  //   * InternalServerException
  3373  //   The request failed to register with the service.
  3374  //
  3375  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListServiceInstances
  3376  func (c *Proton) ListServiceInstances(input *ListServiceInstancesInput) (*ListServiceInstancesOutput, error) {
  3377  	req, out := c.ListServiceInstancesRequest(input)
  3378  	return out, req.Send()
  3379  }
  3380  
  3381  // ListServiceInstancesWithContext is the same as ListServiceInstances with the addition of
  3382  // the ability to pass a context and additional request options.
  3383  //
  3384  // See ListServiceInstances for details on how to use this API operation.
  3385  //
  3386  // The context must be non-nil and will be used for request cancellation. If
  3387  // the context is nil a panic will occur. In the future the SDK may create
  3388  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3389  // for more information on using Contexts.
  3390  func (c *Proton) ListServiceInstancesWithContext(ctx aws.Context, input *ListServiceInstancesInput, opts ...request.Option) (*ListServiceInstancesOutput, error) {
  3391  	req, out := c.ListServiceInstancesRequest(input)
  3392  	req.SetContext(ctx)
  3393  	req.ApplyOptions(opts...)
  3394  	return out, req.Send()
  3395  }
  3396  
  3397  // ListServiceInstancesPages iterates over the pages of a ListServiceInstances operation,
  3398  // calling the "fn" function with the response data for each page. To stop
  3399  // iterating, return false from the fn function.
  3400  //
  3401  // See ListServiceInstances method for more information on how to use this operation.
  3402  //
  3403  // Note: This operation can generate multiple requests to a service.
  3404  //
  3405  //    // Example iterating over at most 3 pages of a ListServiceInstances operation.
  3406  //    pageNum := 0
  3407  //    err := client.ListServiceInstancesPages(params,
  3408  //        func(page *proton.ListServiceInstancesOutput, lastPage bool) bool {
  3409  //            pageNum++
  3410  //            fmt.Println(page)
  3411  //            return pageNum <= 3
  3412  //        })
  3413  //
  3414  func (c *Proton) ListServiceInstancesPages(input *ListServiceInstancesInput, fn func(*ListServiceInstancesOutput, bool) bool) error {
  3415  	return c.ListServiceInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
  3416  }
  3417  
  3418  // ListServiceInstancesPagesWithContext same as ListServiceInstancesPages except
  3419  // it takes a Context and allows setting request options on the pages.
  3420  //
  3421  // The context must be non-nil and will be used for request cancellation. If
  3422  // the context is nil a panic will occur. In the future the SDK may create
  3423  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3424  // for more information on using Contexts.
  3425  func (c *Proton) ListServiceInstancesPagesWithContext(ctx aws.Context, input *ListServiceInstancesInput, fn func(*ListServiceInstancesOutput, bool) bool, opts ...request.Option) error {
  3426  	p := request.Pagination{
  3427  		NewRequest: func() (*request.Request, error) {
  3428  			var inCpy *ListServiceInstancesInput
  3429  			if input != nil {
  3430  				tmp := *input
  3431  				inCpy = &tmp
  3432  			}
  3433  			req, _ := c.ListServiceInstancesRequest(inCpy)
  3434  			req.SetContext(ctx)
  3435  			req.ApplyOptions(opts...)
  3436  			return req, nil
  3437  		},
  3438  	}
  3439  
  3440  	for p.Next() {
  3441  		if !fn(p.Page().(*ListServiceInstancesOutput), !p.HasNextPage()) {
  3442  			break
  3443  		}
  3444  	}
  3445  
  3446  	return p.Err()
  3447  }
  3448  
  3449  const opListServiceTemplateVersions = "ListServiceTemplateVersions"
  3450  
  3451  // ListServiceTemplateVersionsRequest generates a "aws/request.Request" representing the
  3452  // client's request for the ListServiceTemplateVersions operation. The "output" return
  3453  // value will be populated with the request's response once the request completes
  3454  // successfully.
  3455  //
  3456  // Use "Send" method on the returned Request to send the API call to the service.
  3457  // the "output" return value is not valid until after Send returns without error.
  3458  //
  3459  // See ListServiceTemplateVersions for more information on using the ListServiceTemplateVersions
  3460  // API call, and error handling.
  3461  //
  3462  // This method is useful when you want to inject custom logic or configuration
  3463  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3464  //
  3465  //
  3466  //    // Example sending a request using the ListServiceTemplateVersionsRequest method.
  3467  //    req, resp := client.ListServiceTemplateVersionsRequest(params)
  3468  //
  3469  //    err := req.Send()
  3470  //    if err == nil { // resp is now filled
  3471  //        fmt.Println(resp)
  3472  //    }
  3473  //
  3474  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListServiceTemplateVersions
  3475  func (c *Proton) ListServiceTemplateVersionsRequest(input *ListServiceTemplateVersionsInput) (req *request.Request, output *ListServiceTemplateVersionsOutput) {
  3476  	op := &request.Operation{
  3477  		Name:       opListServiceTemplateVersions,
  3478  		HTTPMethod: "POST",
  3479  		HTTPPath:   "/",
  3480  		Paginator: &request.Paginator{
  3481  			InputTokens:     []string{"nextToken"},
  3482  			OutputTokens:    []string{"nextToken"},
  3483  			LimitToken:      "maxResults",
  3484  			TruncationToken: "",
  3485  		},
  3486  	}
  3487  
  3488  	if input == nil {
  3489  		input = &ListServiceTemplateVersionsInput{}
  3490  	}
  3491  
  3492  	output = &ListServiceTemplateVersionsOutput{}
  3493  	req = c.newRequest(op, input, output)
  3494  	return
  3495  }
  3496  
  3497  // ListServiceTemplateVersions API operation for AWS Proton.
  3498  //
  3499  // List major or minor versions of a service template with detail data.
  3500  //
  3501  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3502  // with awserr.Error's Code and Message methods to get detailed information about
  3503  // the error.
  3504  //
  3505  // See the AWS API reference guide for AWS Proton's
  3506  // API operation ListServiceTemplateVersions for usage and error information.
  3507  //
  3508  // Returned Error Types:
  3509  //   * ValidationException
  3510  //   The input is invalid or an out-of-range value was supplied for the input
  3511  //   parameter.
  3512  //
  3513  //   * AccessDeniedException
  3514  //   There isn't sufficient access for performing this action.
  3515  //
  3516  //   * ThrottlingException
  3517  //   The request was denied due to request throttling.
  3518  //
  3519  //   * ResourceNotFoundException
  3520  //   The requested resource wasn't found.
  3521  //
  3522  //   * InternalServerException
  3523  //   The request failed to register with the service.
  3524  //
  3525  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListServiceTemplateVersions
  3526  func (c *Proton) ListServiceTemplateVersions(input *ListServiceTemplateVersionsInput) (*ListServiceTemplateVersionsOutput, error) {
  3527  	req, out := c.ListServiceTemplateVersionsRequest(input)
  3528  	return out, req.Send()
  3529  }
  3530  
  3531  // ListServiceTemplateVersionsWithContext is the same as ListServiceTemplateVersions with the addition of
  3532  // the ability to pass a context and additional request options.
  3533  //
  3534  // See ListServiceTemplateVersions for details on how to use this API operation.
  3535  //
  3536  // The context must be non-nil and will be used for request cancellation. If
  3537  // the context is nil a panic will occur. In the future the SDK may create
  3538  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3539  // for more information on using Contexts.
  3540  func (c *Proton) ListServiceTemplateVersionsWithContext(ctx aws.Context, input *ListServiceTemplateVersionsInput, opts ...request.Option) (*ListServiceTemplateVersionsOutput, error) {
  3541  	req, out := c.ListServiceTemplateVersionsRequest(input)
  3542  	req.SetContext(ctx)
  3543  	req.ApplyOptions(opts...)
  3544  	return out, req.Send()
  3545  }
  3546  
  3547  // ListServiceTemplateVersionsPages iterates over the pages of a ListServiceTemplateVersions operation,
  3548  // calling the "fn" function with the response data for each page. To stop
  3549  // iterating, return false from the fn function.
  3550  //
  3551  // See ListServiceTemplateVersions method for more information on how to use this operation.
  3552  //
  3553  // Note: This operation can generate multiple requests to a service.
  3554  //
  3555  //    // Example iterating over at most 3 pages of a ListServiceTemplateVersions operation.
  3556  //    pageNum := 0
  3557  //    err := client.ListServiceTemplateVersionsPages(params,
  3558  //        func(page *proton.ListServiceTemplateVersionsOutput, lastPage bool) bool {
  3559  //            pageNum++
  3560  //            fmt.Println(page)
  3561  //            return pageNum <= 3
  3562  //        })
  3563  //
  3564  func (c *Proton) ListServiceTemplateVersionsPages(input *ListServiceTemplateVersionsInput, fn func(*ListServiceTemplateVersionsOutput, bool) bool) error {
  3565  	return c.ListServiceTemplateVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
  3566  }
  3567  
  3568  // ListServiceTemplateVersionsPagesWithContext same as ListServiceTemplateVersionsPages except
  3569  // it takes a Context and allows setting request options on the pages.
  3570  //
  3571  // The context must be non-nil and will be used for request cancellation. If
  3572  // the context is nil a panic will occur. In the future the SDK may create
  3573  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3574  // for more information on using Contexts.
  3575  func (c *Proton) ListServiceTemplateVersionsPagesWithContext(ctx aws.Context, input *ListServiceTemplateVersionsInput, fn func(*ListServiceTemplateVersionsOutput, bool) bool, opts ...request.Option) error {
  3576  	p := request.Pagination{
  3577  		NewRequest: func() (*request.Request, error) {
  3578  			var inCpy *ListServiceTemplateVersionsInput
  3579  			if input != nil {
  3580  				tmp := *input
  3581  				inCpy = &tmp
  3582  			}
  3583  			req, _ := c.ListServiceTemplateVersionsRequest(inCpy)
  3584  			req.SetContext(ctx)
  3585  			req.ApplyOptions(opts...)
  3586  			return req, nil
  3587  		},
  3588  	}
  3589  
  3590  	for p.Next() {
  3591  		if !fn(p.Page().(*ListServiceTemplateVersionsOutput), !p.HasNextPage()) {
  3592  			break
  3593  		}
  3594  	}
  3595  
  3596  	return p.Err()
  3597  }
  3598  
  3599  const opListServiceTemplates = "ListServiceTemplates"
  3600  
  3601  // ListServiceTemplatesRequest generates a "aws/request.Request" representing the
  3602  // client's request for the ListServiceTemplates operation. The "output" return
  3603  // value will be populated with the request's response once the request completes
  3604  // successfully.
  3605  //
  3606  // Use "Send" method on the returned Request to send the API call to the service.
  3607  // the "output" return value is not valid until after Send returns without error.
  3608  //
  3609  // See ListServiceTemplates for more information on using the ListServiceTemplates
  3610  // API call, and error handling.
  3611  //
  3612  // This method is useful when you want to inject custom logic or configuration
  3613  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3614  //
  3615  //
  3616  //    // Example sending a request using the ListServiceTemplatesRequest method.
  3617  //    req, resp := client.ListServiceTemplatesRequest(params)
  3618  //
  3619  //    err := req.Send()
  3620  //    if err == nil { // resp is now filled
  3621  //        fmt.Println(resp)
  3622  //    }
  3623  //
  3624  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListServiceTemplates
  3625  func (c *Proton) ListServiceTemplatesRequest(input *ListServiceTemplatesInput) (req *request.Request, output *ListServiceTemplatesOutput) {
  3626  	op := &request.Operation{
  3627  		Name:       opListServiceTemplates,
  3628  		HTTPMethod: "POST",
  3629  		HTTPPath:   "/",
  3630  		Paginator: &request.Paginator{
  3631  			InputTokens:     []string{"nextToken"},
  3632  			OutputTokens:    []string{"nextToken"},
  3633  			LimitToken:      "maxResults",
  3634  			TruncationToken: "",
  3635  		},
  3636  	}
  3637  
  3638  	if input == nil {
  3639  		input = &ListServiceTemplatesInput{}
  3640  	}
  3641  
  3642  	output = &ListServiceTemplatesOutput{}
  3643  	req = c.newRequest(op, input, output)
  3644  	return
  3645  }
  3646  
  3647  // ListServiceTemplates API operation for AWS Proton.
  3648  //
  3649  // List service templates with detail data.
  3650  //
  3651  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3652  // with awserr.Error's Code and Message methods to get detailed information about
  3653  // the error.
  3654  //
  3655  // See the AWS API reference guide for AWS Proton's
  3656  // API operation ListServiceTemplates for usage and error information.
  3657  //
  3658  // Returned Error Types:
  3659  //   * ValidationException
  3660  //   The input is invalid or an out-of-range value was supplied for the input
  3661  //   parameter.
  3662  //
  3663  //   * AccessDeniedException
  3664  //   There isn't sufficient access for performing this action.
  3665  //
  3666  //   * ThrottlingException
  3667  //   The request was denied due to request throttling.
  3668  //
  3669  //   * InternalServerException
  3670  //   The request failed to register with the service.
  3671  //
  3672  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListServiceTemplates
  3673  func (c *Proton) ListServiceTemplates(input *ListServiceTemplatesInput) (*ListServiceTemplatesOutput, error) {
  3674  	req, out := c.ListServiceTemplatesRequest(input)
  3675  	return out, req.Send()
  3676  }
  3677  
  3678  // ListServiceTemplatesWithContext is the same as ListServiceTemplates with the addition of
  3679  // the ability to pass a context and additional request options.
  3680  //
  3681  // See ListServiceTemplates for details on how to use this API operation.
  3682  //
  3683  // The context must be non-nil and will be used for request cancellation. If
  3684  // the context is nil a panic will occur. In the future the SDK may create
  3685  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3686  // for more information on using Contexts.
  3687  func (c *Proton) ListServiceTemplatesWithContext(ctx aws.Context, input *ListServiceTemplatesInput, opts ...request.Option) (*ListServiceTemplatesOutput, error) {
  3688  	req, out := c.ListServiceTemplatesRequest(input)
  3689  	req.SetContext(ctx)
  3690  	req.ApplyOptions(opts...)
  3691  	return out, req.Send()
  3692  }
  3693  
  3694  // ListServiceTemplatesPages iterates over the pages of a ListServiceTemplates operation,
  3695  // calling the "fn" function with the response data for each page. To stop
  3696  // iterating, return false from the fn function.
  3697  //
  3698  // See ListServiceTemplates method for more information on how to use this operation.
  3699  //
  3700  // Note: This operation can generate multiple requests to a service.
  3701  //
  3702  //    // Example iterating over at most 3 pages of a ListServiceTemplates operation.
  3703  //    pageNum := 0
  3704  //    err := client.ListServiceTemplatesPages(params,
  3705  //        func(page *proton.ListServiceTemplatesOutput, lastPage bool) bool {
  3706  //            pageNum++
  3707  //            fmt.Println(page)
  3708  //            return pageNum <= 3
  3709  //        })
  3710  //
  3711  func (c *Proton) ListServiceTemplatesPages(input *ListServiceTemplatesInput, fn func(*ListServiceTemplatesOutput, bool) bool) error {
  3712  	return c.ListServiceTemplatesPagesWithContext(aws.BackgroundContext(), input, fn)
  3713  }
  3714  
  3715  // ListServiceTemplatesPagesWithContext same as ListServiceTemplatesPages except
  3716  // it takes a Context and allows setting request options on the pages.
  3717  //
  3718  // The context must be non-nil and will be used for request cancellation. If
  3719  // the context is nil a panic will occur. In the future the SDK may create
  3720  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3721  // for more information on using Contexts.
  3722  func (c *Proton) ListServiceTemplatesPagesWithContext(ctx aws.Context, input *ListServiceTemplatesInput, fn func(*ListServiceTemplatesOutput, bool) bool, opts ...request.Option) error {
  3723  	p := request.Pagination{
  3724  		NewRequest: func() (*request.Request, error) {
  3725  			var inCpy *ListServiceTemplatesInput
  3726  			if input != nil {
  3727  				tmp := *input
  3728  				inCpy = &tmp
  3729  			}
  3730  			req, _ := c.ListServiceTemplatesRequest(inCpy)
  3731  			req.SetContext(ctx)
  3732  			req.ApplyOptions(opts...)
  3733  			return req, nil
  3734  		},
  3735  	}
  3736  
  3737  	for p.Next() {
  3738  		if !fn(p.Page().(*ListServiceTemplatesOutput), !p.HasNextPage()) {
  3739  			break
  3740  		}
  3741  	}
  3742  
  3743  	return p.Err()
  3744  }
  3745  
  3746  const opListServices = "ListServices"
  3747  
  3748  // ListServicesRequest generates a "aws/request.Request" representing the
  3749  // client's request for the ListServices operation. The "output" return
  3750  // value will be populated with the request's response once the request completes
  3751  // successfully.
  3752  //
  3753  // Use "Send" method on the returned Request to send the API call to the service.
  3754  // the "output" return value is not valid until after Send returns without error.
  3755  //
  3756  // See ListServices for more information on using the ListServices
  3757  // API call, and error handling.
  3758  //
  3759  // This method is useful when you want to inject custom logic or configuration
  3760  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3761  //
  3762  //
  3763  //    // Example sending a request using the ListServicesRequest method.
  3764  //    req, resp := client.ListServicesRequest(params)
  3765  //
  3766  //    err := req.Send()
  3767  //    if err == nil { // resp is now filled
  3768  //        fmt.Println(resp)
  3769  //    }
  3770  //
  3771  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListServices
  3772  func (c *Proton) ListServicesRequest(input *ListServicesInput) (req *request.Request, output *ListServicesOutput) {
  3773  	op := &request.Operation{
  3774  		Name:       opListServices,
  3775  		HTTPMethod: "POST",
  3776  		HTTPPath:   "/",
  3777  		Paginator: &request.Paginator{
  3778  			InputTokens:     []string{"nextToken"},
  3779  			OutputTokens:    []string{"nextToken"},
  3780  			LimitToken:      "maxResults",
  3781  			TruncationToken: "",
  3782  		},
  3783  	}
  3784  
  3785  	if input == nil {
  3786  		input = &ListServicesInput{}
  3787  	}
  3788  
  3789  	output = &ListServicesOutput{}
  3790  	req = c.newRequest(op, input, output)
  3791  	return
  3792  }
  3793  
  3794  // ListServices API operation for AWS Proton.
  3795  //
  3796  // List services with summaries of detail data.
  3797  //
  3798  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3799  // with awserr.Error's Code and Message methods to get detailed information about
  3800  // the error.
  3801  //
  3802  // See the AWS API reference guide for AWS Proton's
  3803  // API operation ListServices for usage and error information.
  3804  //
  3805  // Returned Error Types:
  3806  //   * ValidationException
  3807  //   The input is invalid or an out-of-range value was supplied for the input
  3808  //   parameter.
  3809  //
  3810  //   * AccessDeniedException
  3811  //   There isn't sufficient access for performing this action.
  3812  //
  3813  //   * ThrottlingException
  3814  //   The request was denied due to request throttling.
  3815  //
  3816  //   * InternalServerException
  3817  //   The request failed to register with the service.
  3818  //
  3819  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListServices
  3820  func (c *Proton) ListServices(input *ListServicesInput) (*ListServicesOutput, error) {
  3821  	req, out := c.ListServicesRequest(input)
  3822  	return out, req.Send()
  3823  }
  3824  
  3825  // ListServicesWithContext is the same as ListServices with the addition of
  3826  // the ability to pass a context and additional request options.
  3827  //
  3828  // See ListServices for details on how to use this API operation.
  3829  //
  3830  // The context must be non-nil and will be used for request cancellation. If
  3831  // the context is nil a panic will occur. In the future the SDK may create
  3832  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3833  // for more information on using Contexts.
  3834  func (c *Proton) ListServicesWithContext(ctx aws.Context, input *ListServicesInput, opts ...request.Option) (*ListServicesOutput, error) {
  3835  	req, out := c.ListServicesRequest(input)
  3836  	req.SetContext(ctx)
  3837  	req.ApplyOptions(opts...)
  3838  	return out, req.Send()
  3839  }
  3840  
  3841  // ListServicesPages iterates over the pages of a ListServices operation,
  3842  // calling the "fn" function with the response data for each page. To stop
  3843  // iterating, return false from the fn function.
  3844  //
  3845  // See ListServices method for more information on how to use this operation.
  3846  //
  3847  // Note: This operation can generate multiple requests to a service.
  3848  //
  3849  //    // Example iterating over at most 3 pages of a ListServices operation.
  3850  //    pageNum := 0
  3851  //    err := client.ListServicesPages(params,
  3852  //        func(page *proton.ListServicesOutput, lastPage bool) bool {
  3853  //            pageNum++
  3854  //            fmt.Println(page)
  3855  //            return pageNum <= 3
  3856  //        })
  3857  //
  3858  func (c *Proton) ListServicesPages(input *ListServicesInput, fn func(*ListServicesOutput, bool) bool) error {
  3859  	return c.ListServicesPagesWithContext(aws.BackgroundContext(), input, fn)
  3860  }
  3861  
  3862  // ListServicesPagesWithContext same as ListServicesPages except
  3863  // it takes a Context and allows setting request options on the pages.
  3864  //
  3865  // The context must be non-nil and will be used for request cancellation. If
  3866  // the context is nil a panic will occur. In the future the SDK may create
  3867  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3868  // for more information on using Contexts.
  3869  func (c *Proton) ListServicesPagesWithContext(ctx aws.Context, input *ListServicesInput, fn func(*ListServicesOutput, bool) bool, opts ...request.Option) error {
  3870  	p := request.Pagination{
  3871  		NewRequest: func() (*request.Request, error) {
  3872  			var inCpy *ListServicesInput
  3873  			if input != nil {
  3874  				tmp := *input
  3875  				inCpy = &tmp
  3876  			}
  3877  			req, _ := c.ListServicesRequest(inCpy)
  3878  			req.SetContext(ctx)
  3879  			req.ApplyOptions(opts...)
  3880  			return req, nil
  3881  		},
  3882  	}
  3883  
  3884  	for p.Next() {
  3885  		if !fn(p.Page().(*ListServicesOutput), !p.HasNextPage()) {
  3886  			break
  3887  		}
  3888  	}
  3889  
  3890  	return p.Err()
  3891  }
  3892  
  3893  const opListTagsForResource = "ListTagsForResource"
  3894  
  3895  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  3896  // client's request for the ListTagsForResource operation. The "output" return
  3897  // value will be populated with the request's response once the request completes
  3898  // successfully.
  3899  //
  3900  // Use "Send" method on the returned Request to send the API call to the service.
  3901  // the "output" return value is not valid until after Send returns without error.
  3902  //
  3903  // See ListTagsForResource for more information on using the ListTagsForResource
  3904  // API call, and error handling.
  3905  //
  3906  // This method is useful when you want to inject custom logic or configuration
  3907  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3908  //
  3909  //
  3910  //    // Example sending a request using the ListTagsForResourceRequest method.
  3911  //    req, resp := client.ListTagsForResourceRequest(params)
  3912  //
  3913  //    err := req.Send()
  3914  //    if err == nil { // resp is now filled
  3915  //        fmt.Println(resp)
  3916  //    }
  3917  //
  3918  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListTagsForResource
  3919  func (c *Proton) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  3920  	op := &request.Operation{
  3921  		Name:       opListTagsForResource,
  3922  		HTTPMethod: "POST",
  3923  		HTTPPath:   "/",
  3924  		Paginator: &request.Paginator{
  3925  			InputTokens:     []string{"nextToken"},
  3926  			OutputTokens:    []string{"nextToken"},
  3927  			LimitToken:      "maxResults",
  3928  			TruncationToken: "",
  3929  		},
  3930  	}
  3931  
  3932  	if input == nil {
  3933  		input = &ListTagsForResourceInput{}
  3934  	}
  3935  
  3936  	output = &ListTagsForResourceOutput{}
  3937  	req = c.newRequest(op, input, output)
  3938  	return
  3939  }
  3940  
  3941  // ListTagsForResource API operation for AWS Proton.
  3942  //
  3943  // List tags for a resource. For more information, see AWS Proton resources
  3944  // and tagging in the AWS Proton Administrator Guide (https://docs.aws.amazon.com/proton/latest/adminguide/resources.html)
  3945  // or AWS Proton User Guide (https://docs.aws.amazon.com/proton/latest/userguide/resources.html).
  3946  //
  3947  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3948  // with awserr.Error's Code and Message methods to get detailed information about
  3949  // the error.
  3950  //
  3951  // See the AWS API reference guide for AWS Proton's
  3952  // API operation ListTagsForResource for usage and error information.
  3953  //
  3954  // Returned Error Types:
  3955  //   * ValidationException
  3956  //   The input is invalid or an out-of-range value was supplied for the input
  3957  //   parameter.
  3958  //
  3959  //   * AccessDeniedException
  3960  //   There isn't sufficient access for performing this action.
  3961  //
  3962  //   * ThrottlingException
  3963  //   The request was denied due to request throttling.
  3964  //
  3965  //   * ResourceNotFoundException
  3966  //   The requested resource wasn't found.
  3967  //
  3968  //   * InternalServerException
  3969  //   The request failed to register with the service.
  3970  //
  3971  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/ListTagsForResource
  3972  func (c *Proton) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  3973  	req, out := c.ListTagsForResourceRequest(input)
  3974  	return out, req.Send()
  3975  }
  3976  
  3977  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  3978  // the ability to pass a context and additional request options.
  3979  //
  3980  // See ListTagsForResource for details on how to use this API operation.
  3981  //
  3982  // The context must be non-nil and will be used for request cancellation. If
  3983  // the context is nil a panic will occur. In the future the SDK may create
  3984  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3985  // for more information on using Contexts.
  3986  func (c *Proton) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  3987  	req, out := c.ListTagsForResourceRequest(input)
  3988  	req.SetContext(ctx)
  3989  	req.ApplyOptions(opts...)
  3990  	return out, req.Send()
  3991  }
  3992  
  3993  // ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation,
  3994  // calling the "fn" function with the response data for each page. To stop
  3995  // iterating, return false from the fn function.
  3996  //
  3997  // See ListTagsForResource method for more information on how to use this operation.
  3998  //
  3999  // Note: This operation can generate multiple requests to a service.
  4000  //
  4001  //    // Example iterating over at most 3 pages of a ListTagsForResource operation.
  4002  //    pageNum := 0
  4003  //    err := client.ListTagsForResourcePages(params,
  4004  //        func(page *proton.ListTagsForResourceOutput, lastPage bool) bool {
  4005  //            pageNum++
  4006  //            fmt.Println(page)
  4007  //            return pageNum <= 3
  4008  //        })
  4009  //
  4010  func (c *Proton) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error {
  4011  	return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn)
  4012  }
  4013  
  4014  // ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except
  4015  // it takes a Context and allows setting request options on the pages.
  4016  //
  4017  // The context must be non-nil and will be used for request cancellation. If
  4018  // the context is nil a panic will occur. In the future the SDK may create
  4019  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4020  // for more information on using Contexts.
  4021  func (c *Proton) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error {
  4022  	p := request.Pagination{
  4023  		NewRequest: func() (*request.Request, error) {
  4024  			var inCpy *ListTagsForResourceInput
  4025  			if input != nil {
  4026  				tmp := *input
  4027  				inCpy = &tmp
  4028  			}
  4029  			req, _ := c.ListTagsForResourceRequest(inCpy)
  4030  			req.SetContext(ctx)
  4031  			req.ApplyOptions(opts...)
  4032  			return req, nil
  4033  		},
  4034  	}
  4035  
  4036  	for p.Next() {
  4037  		if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) {
  4038  			break
  4039  		}
  4040  	}
  4041  
  4042  	return p.Err()
  4043  }
  4044  
  4045  const opRejectEnvironmentAccountConnection = "RejectEnvironmentAccountConnection"
  4046  
  4047  // RejectEnvironmentAccountConnectionRequest generates a "aws/request.Request" representing the
  4048  // client's request for the RejectEnvironmentAccountConnection operation. The "output" return
  4049  // value will be populated with the request's response once the request completes
  4050  // successfully.
  4051  //
  4052  // Use "Send" method on the returned Request to send the API call to the service.
  4053  // the "output" return value is not valid until after Send returns without error.
  4054  //
  4055  // See RejectEnvironmentAccountConnection for more information on using the RejectEnvironmentAccountConnection
  4056  // API call, and error handling.
  4057  //
  4058  // This method is useful when you want to inject custom logic or configuration
  4059  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4060  //
  4061  //
  4062  //    // Example sending a request using the RejectEnvironmentAccountConnectionRequest method.
  4063  //    req, resp := client.RejectEnvironmentAccountConnectionRequest(params)
  4064  //
  4065  //    err := req.Send()
  4066  //    if err == nil { // resp is now filled
  4067  //        fmt.Println(resp)
  4068  //    }
  4069  //
  4070  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/RejectEnvironmentAccountConnection
  4071  func (c *Proton) RejectEnvironmentAccountConnectionRequest(input *RejectEnvironmentAccountConnectionInput) (req *request.Request, output *RejectEnvironmentAccountConnectionOutput) {
  4072  	op := &request.Operation{
  4073  		Name:       opRejectEnvironmentAccountConnection,
  4074  		HTTPMethod: "POST",
  4075  		HTTPPath:   "/",
  4076  	}
  4077  
  4078  	if input == nil {
  4079  		input = &RejectEnvironmentAccountConnectionInput{}
  4080  	}
  4081  
  4082  	output = &RejectEnvironmentAccountConnectionOutput{}
  4083  	req = c.newRequest(op, input, output)
  4084  	return
  4085  }
  4086  
  4087  // RejectEnvironmentAccountConnection API operation for AWS Proton.
  4088  //
  4089  // In a management account, reject an environment account connection from another
  4090  // environment account.
  4091  //
  4092  // After you reject an environment account connection request, you won’t be
  4093  // able to accept or use the rejected environment account connection.
  4094  //
  4095  // You can’t reject an environment account connection that is connected to
  4096  // an environment.
  4097  //
  4098  // For more information, see Environment account connections (https://docs.aws.amazon.com/proton/latest/adminguide/ag-env-account-connections.html)
  4099  // in the AWS Proton Administrator guide.
  4100  //
  4101  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4102  // with awserr.Error's Code and Message methods to get detailed information about
  4103  // the error.
  4104  //
  4105  // See the AWS API reference guide for AWS Proton's
  4106  // API operation RejectEnvironmentAccountConnection for usage and error information.
  4107  //
  4108  // Returned Error Types:
  4109  //   * ValidationException
  4110  //   The input is invalid or an out-of-range value was supplied for the input
  4111  //   parameter.
  4112  //
  4113  //   * AccessDeniedException
  4114  //   There isn't sufficient access for performing this action.
  4115  //
  4116  //   * ThrottlingException
  4117  //   The request was denied due to request throttling.
  4118  //
  4119  //   * ConflictException
  4120  //   The request couldn't be made due to a conflicting operation or resource.
  4121  //
  4122  //   * ResourceNotFoundException
  4123  //   The requested resource wasn't found.
  4124  //
  4125  //   * InternalServerException
  4126  //   The request failed to register with the service.
  4127  //
  4128  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/RejectEnvironmentAccountConnection
  4129  func (c *Proton) RejectEnvironmentAccountConnection(input *RejectEnvironmentAccountConnectionInput) (*RejectEnvironmentAccountConnectionOutput, error) {
  4130  	req, out := c.RejectEnvironmentAccountConnectionRequest(input)
  4131  	return out, req.Send()
  4132  }
  4133  
  4134  // RejectEnvironmentAccountConnectionWithContext is the same as RejectEnvironmentAccountConnection with the addition of
  4135  // the ability to pass a context and additional request options.
  4136  //
  4137  // See RejectEnvironmentAccountConnection for details on how to use this API operation.
  4138  //
  4139  // The context must be non-nil and will be used for request cancellation. If
  4140  // the context is nil a panic will occur. In the future the SDK may create
  4141  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4142  // for more information on using Contexts.
  4143  func (c *Proton) RejectEnvironmentAccountConnectionWithContext(ctx aws.Context, input *RejectEnvironmentAccountConnectionInput, opts ...request.Option) (*RejectEnvironmentAccountConnectionOutput, error) {
  4144  	req, out := c.RejectEnvironmentAccountConnectionRequest(input)
  4145  	req.SetContext(ctx)
  4146  	req.ApplyOptions(opts...)
  4147  	return out, req.Send()
  4148  }
  4149  
  4150  const opTagResource = "TagResource"
  4151  
  4152  // TagResourceRequest generates a "aws/request.Request" representing the
  4153  // client's request for the TagResource operation. The "output" return
  4154  // value will be populated with the request's response once the request completes
  4155  // successfully.
  4156  //
  4157  // Use "Send" method on the returned Request to send the API call to the service.
  4158  // the "output" return value is not valid until after Send returns without error.
  4159  //
  4160  // See TagResource for more information on using the TagResource
  4161  // API call, and error handling.
  4162  //
  4163  // This method is useful when you want to inject custom logic or configuration
  4164  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4165  //
  4166  //
  4167  //    // Example sending a request using the TagResourceRequest method.
  4168  //    req, resp := client.TagResourceRequest(params)
  4169  //
  4170  //    err := req.Send()
  4171  //    if err == nil { // resp is now filled
  4172  //        fmt.Println(resp)
  4173  //    }
  4174  //
  4175  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/TagResource
  4176  func (c *Proton) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  4177  	op := &request.Operation{
  4178  		Name:       opTagResource,
  4179  		HTTPMethod: "POST",
  4180  		HTTPPath:   "/",
  4181  	}
  4182  
  4183  	if input == nil {
  4184  		input = &TagResourceInput{}
  4185  	}
  4186  
  4187  	output = &TagResourceOutput{}
  4188  	req = c.newRequest(op, input, output)
  4189  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4190  	return
  4191  }
  4192  
  4193  // TagResource API operation for AWS Proton.
  4194  //
  4195  // Tag a resource. For more information, see AWS Proton resources and tagging
  4196  // in the AWS Proton Administrator Guide (https://docs.aws.amazon.com/proton/latest/adminguide/resources.html)
  4197  // or AWS Proton User Guide (https://docs.aws.amazon.com/proton/latest/userguide/resources.html).
  4198  //
  4199  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4200  // with awserr.Error's Code and Message methods to get detailed information about
  4201  // the error.
  4202  //
  4203  // See the AWS API reference guide for AWS Proton's
  4204  // API operation TagResource for usage and error information.
  4205  //
  4206  // Returned Error Types:
  4207  //   * ValidationException
  4208  //   The input is invalid or an out-of-range value was supplied for the input
  4209  //   parameter.
  4210  //
  4211  //   * AccessDeniedException
  4212  //   There isn't sufficient access for performing this action.
  4213  //
  4214  //   * ThrottlingException
  4215  //   The request was denied due to request throttling.
  4216  //
  4217  //   * ConflictException
  4218  //   The request couldn't be made due to a conflicting operation or resource.
  4219  //
  4220  //   * ResourceNotFoundException
  4221  //   The requested resource wasn't found.
  4222  //
  4223  //   * InternalServerException
  4224  //   The request failed to register with the service.
  4225  //
  4226  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/TagResource
  4227  func (c *Proton) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  4228  	req, out := c.TagResourceRequest(input)
  4229  	return out, req.Send()
  4230  }
  4231  
  4232  // TagResourceWithContext is the same as TagResource with the addition of
  4233  // the ability to pass a context and additional request options.
  4234  //
  4235  // See TagResource for details on how to use this API operation.
  4236  //
  4237  // The context must be non-nil and will be used for request cancellation. If
  4238  // the context is nil a panic will occur. In the future the SDK may create
  4239  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4240  // for more information on using Contexts.
  4241  func (c *Proton) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  4242  	req, out := c.TagResourceRequest(input)
  4243  	req.SetContext(ctx)
  4244  	req.ApplyOptions(opts...)
  4245  	return out, req.Send()
  4246  }
  4247  
  4248  const opUntagResource = "UntagResource"
  4249  
  4250  // UntagResourceRequest generates a "aws/request.Request" representing the
  4251  // client's request for the UntagResource operation. The "output" return
  4252  // value will be populated with the request's response once the request completes
  4253  // successfully.
  4254  //
  4255  // Use "Send" method on the returned Request to send the API call to the service.
  4256  // the "output" return value is not valid until after Send returns without error.
  4257  //
  4258  // See UntagResource for more information on using the UntagResource
  4259  // API call, and error handling.
  4260  //
  4261  // This method is useful when you want to inject custom logic or configuration
  4262  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4263  //
  4264  //
  4265  //    // Example sending a request using the UntagResourceRequest method.
  4266  //    req, resp := client.UntagResourceRequest(params)
  4267  //
  4268  //    err := req.Send()
  4269  //    if err == nil { // resp is now filled
  4270  //        fmt.Println(resp)
  4271  //    }
  4272  //
  4273  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UntagResource
  4274  func (c *Proton) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  4275  	op := &request.Operation{
  4276  		Name:       opUntagResource,
  4277  		HTTPMethod: "POST",
  4278  		HTTPPath:   "/",
  4279  	}
  4280  
  4281  	if input == nil {
  4282  		input = &UntagResourceInput{}
  4283  	}
  4284  
  4285  	output = &UntagResourceOutput{}
  4286  	req = c.newRequest(op, input, output)
  4287  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4288  	return
  4289  }
  4290  
  4291  // UntagResource API operation for AWS Proton.
  4292  //
  4293  // Remove a tag from a resource. For more information, see AWS Proton resources
  4294  // and tagging in the AWS Proton Administrator Guide (https://docs.aws.amazon.com/proton/latest/adminguide/resources.html)
  4295  // or AWS Proton User Guide (https://docs.aws.amazon.com/proton/latest/userguide/resources.html).
  4296  //
  4297  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4298  // with awserr.Error's Code and Message methods to get detailed information about
  4299  // the error.
  4300  //
  4301  // See the AWS API reference guide for AWS Proton's
  4302  // API operation UntagResource for usage and error information.
  4303  //
  4304  // Returned Error Types:
  4305  //   * ValidationException
  4306  //   The input is invalid or an out-of-range value was supplied for the input
  4307  //   parameter.
  4308  //
  4309  //   * AccessDeniedException
  4310  //   There isn't sufficient access for performing this action.
  4311  //
  4312  //   * ThrottlingException
  4313  //   The request was denied due to request throttling.
  4314  //
  4315  //   * ConflictException
  4316  //   The request couldn't be made due to a conflicting operation or resource.
  4317  //
  4318  //   * ResourceNotFoundException
  4319  //   The requested resource wasn't found.
  4320  //
  4321  //   * InternalServerException
  4322  //   The request failed to register with the service.
  4323  //
  4324  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UntagResource
  4325  func (c *Proton) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  4326  	req, out := c.UntagResourceRequest(input)
  4327  	return out, req.Send()
  4328  }
  4329  
  4330  // UntagResourceWithContext is the same as UntagResource with the addition of
  4331  // the ability to pass a context and additional request options.
  4332  //
  4333  // See UntagResource for details on how to use this API operation.
  4334  //
  4335  // The context must be non-nil and will be used for request cancellation. If
  4336  // the context is nil a panic will occur. In the future the SDK may create
  4337  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4338  // for more information on using Contexts.
  4339  func (c *Proton) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  4340  	req, out := c.UntagResourceRequest(input)
  4341  	req.SetContext(ctx)
  4342  	req.ApplyOptions(opts...)
  4343  	return out, req.Send()
  4344  }
  4345  
  4346  const opUpdateAccountSettings = "UpdateAccountSettings"
  4347  
  4348  // UpdateAccountSettingsRequest generates a "aws/request.Request" representing the
  4349  // client's request for the UpdateAccountSettings operation. The "output" return
  4350  // value will be populated with the request's response once the request completes
  4351  // successfully.
  4352  //
  4353  // Use "Send" method on the returned Request to send the API call to the service.
  4354  // the "output" return value is not valid until after Send returns without error.
  4355  //
  4356  // See UpdateAccountSettings for more information on using the UpdateAccountSettings
  4357  // API call, and error handling.
  4358  //
  4359  // This method is useful when you want to inject custom logic or configuration
  4360  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4361  //
  4362  //
  4363  //    // Example sending a request using the UpdateAccountSettingsRequest method.
  4364  //    req, resp := client.UpdateAccountSettingsRequest(params)
  4365  //
  4366  //    err := req.Send()
  4367  //    if err == nil { // resp is now filled
  4368  //        fmt.Println(resp)
  4369  //    }
  4370  //
  4371  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateAccountSettings
  4372  func (c *Proton) UpdateAccountSettingsRequest(input *UpdateAccountSettingsInput) (req *request.Request, output *UpdateAccountSettingsOutput) {
  4373  	op := &request.Operation{
  4374  		Name:       opUpdateAccountSettings,
  4375  		HTTPMethod: "POST",
  4376  		HTTPPath:   "/",
  4377  	}
  4378  
  4379  	if input == nil {
  4380  		input = &UpdateAccountSettingsInput{}
  4381  	}
  4382  
  4383  	output = &UpdateAccountSettingsOutput{}
  4384  	req = c.newRequest(op, input, output)
  4385  	return
  4386  }
  4387  
  4388  // UpdateAccountSettings API operation for AWS Proton.
  4389  //
  4390  // Update the AWS Proton pipeline service account settings.
  4391  //
  4392  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4393  // with awserr.Error's Code and Message methods to get detailed information about
  4394  // the error.
  4395  //
  4396  // See the AWS API reference guide for AWS Proton's
  4397  // API operation UpdateAccountSettings for usage and error information.
  4398  //
  4399  // Returned Error Types:
  4400  //   * ValidationException
  4401  //   The input is invalid or an out-of-range value was supplied for the input
  4402  //   parameter.
  4403  //
  4404  //   * AccessDeniedException
  4405  //   There isn't sufficient access for performing this action.
  4406  //
  4407  //   * ThrottlingException
  4408  //   The request was denied due to request throttling.
  4409  //
  4410  //   * ConflictException
  4411  //   The request couldn't be made due to a conflicting operation or resource.
  4412  //
  4413  //   * InternalServerException
  4414  //   The request failed to register with the service.
  4415  //
  4416  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateAccountSettings
  4417  func (c *Proton) UpdateAccountSettings(input *UpdateAccountSettingsInput) (*UpdateAccountSettingsOutput, error) {
  4418  	req, out := c.UpdateAccountSettingsRequest(input)
  4419  	return out, req.Send()
  4420  }
  4421  
  4422  // UpdateAccountSettingsWithContext is the same as UpdateAccountSettings with the addition of
  4423  // the ability to pass a context and additional request options.
  4424  //
  4425  // See UpdateAccountSettings for details on how to use this API operation.
  4426  //
  4427  // The context must be non-nil and will be used for request cancellation. If
  4428  // the context is nil a panic will occur. In the future the SDK may create
  4429  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4430  // for more information on using Contexts.
  4431  func (c *Proton) UpdateAccountSettingsWithContext(ctx aws.Context, input *UpdateAccountSettingsInput, opts ...request.Option) (*UpdateAccountSettingsOutput, error) {
  4432  	req, out := c.UpdateAccountSettingsRequest(input)
  4433  	req.SetContext(ctx)
  4434  	req.ApplyOptions(opts...)
  4435  	return out, req.Send()
  4436  }
  4437  
  4438  const opUpdateEnvironment = "UpdateEnvironment"
  4439  
  4440  // UpdateEnvironmentRequest generates a "aws/request.Request" representing the
  4441  // client's request for the UpdateEnvironment operation. The "output" return
  4442  // value will be populated with the request's response once the request completes
  4443  // successfully.
  4444  //
  4445  // Use "Send" method on the returned Request to send the API call to the service.
  4446  // the "output" return value is not valid until after Send returns without error.
  4447  //
  4448  // See UpdateEnvironment for more information on using the UpdateEnvironment
  4449  // API call, and error handling.
  4450  //
  4451  // This method is useful when you want to inject custom logic or configuration
  4452  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4453  //
  4454  //
  4455  //    // Example sending a request using the UpdateEnvironmentRequest method.
  4456  //    req, resp := client.UpdateEnvironmentRequest(params)
  4457  //
  4458  //    err := req.Send()
  4459  //    if err == nil { // resp is now filled
  4460  //        fmt.Println(resp)
  4461  //    }
  4462  //
  4463  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateEnvironment
  4464  func (c *Proton) UpdateEnvironmentRequest(input *UpdateEnvironmentInput) (req *request.Request, output *UpdateEnvironmentOutput) {
  4465  	op := &request.Operation{
  4466  		Name:       opUpdateEnvironment,
  4467  		HTTPMethod: "POST",
  4468  		HTTPPath:   "/",
  4469  	}
  4470  
  4471  	if input == nil {
  4472  		input = &UpdateEnvironmentInput{}
  4473  	}
  4474  
  4475  	output = &UpdateEnvironmentOutput{}
  4476  	req = c.newRequest(op, input, output)
  4477  	return
  4478  }
  4479  
  4480  // UpdateEnvironment API operation for AWS Proton.
  4481  //
  4482  // Update an environment.
  4483  //
  4484  // If the environment is associated with an environment account connection,
  4485  // don't update or include the protonServiceRoleArn parameter to update or connect
  4486  // to an environment account connection.
  4487  //
  4488  // You can only update to a new environment account connection if it was created
  4489  // in the same environment account that the current environment account connection
  4490  // was created in and is associated with the current environment.
  4491  //
  4492  // If the environment isn't associated with an environment account connection,
  4493  // don't update or include the environmentAccountConnectionId parameter to update
  4494  // or connect to an environment account connection.
  4495  //
  4496  // You can update either the environmentAccountConnectionId or protonServiceRoleArn
  4497  // parameter and value. You can’t update both.
  4498  //
  4499  // There are four modes for updating an environment as described in the following.
  4500  // The deploymentType field defines the mode.
  4501  //
  4502  // NONE
  4503  //
  4504  // In this mode, a deployment doesn't occur. Only the requested metadata parameters
  4505  // are updated.
  4506  //
  4507  // CURRENT_VERSION
  4508  //
  4509  // In this mode, the environment is deployed and updated with the new spec that
  4510  // you provide. Only requested parameters are updated. Don’t include minor
  4511  // or major version parameters when you use this deployment-type.
  4512  //
  4513  // MINOR_VERSION
  4514  //
  4515  // In this mode, the environment is deployed and updated with the published,
  4516  // recommended (latest) minor version of the current major version in use, by
  4517  // default. You can also specify a different minor version of the current major
  4518  // version in use.
  4519  //
  4520  // MAJOR_VERSION
  4521  //
  4522  // In this mode, the environment is deployed and updated with the published,
  4523  // recommended (latest) major and minor version of the current template, by
  4524  // default. You can also specify a different major version that's higher than
  4525  // the major version in use and a minor version (optional).
  4526  //
  4527  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4528  // with awserr.Error's Code and Message methods to get detailed information about
  4529  // the error.
  4530  //
  4531  // See the AWS API reference guide for AWS Proton's
  4532  // API operation UpdateEnvironment for usage and error information.
  4533  //
  4534  // Returned Error Types:
  4535  //   * ValidationException
  4536  //   The input is invalid or an out-of-range value was supplied for the input
  4537  //   parameter.
  4538  //
  4539  //   * AccessDeniedException
  4540  //   There isn't sufficient access for performing this action.
  4541  //
  4542  //   * ThrottlingException
  4543  //   The request was denied due to request throttling.
  4544  //
  4545  //   * ConflictException
  4546  //   The request couldn't be made due to a conflicting operation or resource.
  4547  //
  4548  //   * ResourceNotFoundException
  4549  //   The requested resource wasn't found.
  4550  //
  4551  //   * InternalServerException
  4552  //   The request failed to register with the service.
  4553  //
  4554  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateEnvironment
  4555  func (c *Proton) UpdateEnvironment(input *UpdateEnvironmentInput) (*UpdateEnvironmentOutput, error) {
  4556  	req, out := c.UpdateEnvironmentRequest(input)
  4557  	return out, req.Send()
  4558  }
  4559  
  4560  // UpdateEnvironmentWithContext is the same as UpdateEnvironment with the addition of
  4561  // the ability to pass a context and additional request options.
  4562  //
  4563  // See UpdateEnvironment for details on how to use this API operation.
  4564  //
  4565  // The context must be non-nil and will be used for request cancellation. If
  4566  // the context is nil a panic will occur. In the future the SDK may create
  4567  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4568  // for more information on using Contexts.
  4569  func (c *Proton) UpdateEnvironmentWithContext(ctx aws.Context, input *UpdateEnvironmentInput, opts ...request.Option) (*UpdateEnvironmentOutput, error) {
  4570  	req, out := c.UpdateEnvironmentRequest(input)
  4571  	req.SetContext(ctx)
  4572  	req.ApplyOptions(opts...)
  4573  	return out, req.Send()
  4574  }
  4575  
  4576  const opUpdateEnvironmentAccountConnection = "UpdateEnvironmentAccountConnection"
  4577  
  4578  // UpdateEnvironmentAccountConnectionRequest generates a "aws/request.Request" representing the
  4579  // client's request for the UpdateEnvironmentAccountConnection operation. The "output" return
  4580  // value will be populated with the request's response once the request completes
  4581  // successfully.
  4582  //
  4583  // Use "Send" method on the returned Request to send the API call to the service.
  4584  // the "output" return value is not valid until after Send returns without error.
  4585  //
  4586  // See UpdateEnvironmentAccountConnection for more information on using the UpdateEnvironmentAccountConnection
  4587  // API call, and error handling.
  4588  //
  4589  // This method is useful when you want to inject custom logic or configuration
  4590  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4591  //
  4592  //
  4593  //    // Example sending a request using the UpdateEnvironmentAccountConnectionRequest method.
  4594  //    req, resp := client.UpdateEnvironmentAccountConnectionRequest(params)
  4595  //
  4596  //    err := req.Send()
  4597  //    if err == nil { // resp is now filled
  4598  //        fmt.Println(resp)
  4599  //    }
  4600  //
  4601  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateEnvironmentAccountConnection
  4602  func (c *Proton) UpdateEnvironmentAccountConnectionRequest(input *UpdateEnvironmentAccountConnectionInput) (req *request.Request, output *UpdateEnvironmentAccountConnectionOutput) {
  4603  	op := &request.Operation{
  4604  		Name:       opUpdateEnvironmentAccountConnection,
  4605  		HTTPMethod: "POST",
  4606  		HTTPPath:   "/",
  4607  	}
  4608  
  4609  	if input == nil {
  4610  		input = &UpdateEnvironmentAccountConnectionInput{}
  4611  	}
  4612  
  4613  	output = &UpdateEnvironmentAccountConnectionOutput{}
  4614  	req = c.newRequest(op, input, output)
  4615  	return
  4616  }
  4617  
  4618  // UpdateEnvironmentAccountConnection API operation for AWS Proton.
  4619  //
  4620  // In an environment account, update an environment account connection to use
  4621  // a new IAM role.
  4622  //
  4623  // For more information, see Environment account connections (https://docs.aws.amazon.com/proton/latest/adminguide/ag-env-account-connections.html)
  4624  // in the AWS Proton Administrator guide.
  4625  //
  4626  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4627  // with awserr.Error's Code and Message methods to get detailed information about
  4628  // the error.
  4629  //
  4630  // See the AWS API reference guide for AWS Proton's
  4631  // API operation UpdateEnvironmentAccountConnection for usage and error information.
  4632  //
  4633  // Returned Error Types:
  4634  //   * ValidationException
  4635  //   The input is invalid or an out-of-range value was supplied for the input
  4636  //   parameter.
  4637  //
  4638  //   * AccessDeniedException
  4639  //   There isn't sufficient access for performing this action.
  4640  //
  4641  //   * ThrottlingException
  4642  //   The request was denied due to request throttling.
  4643  //
  4644  //   * ConflictException
  4645  //   The request couldn't be made due to a conflicting operation or resource.
  4646  //
  4647  //   * ResourceNotFoundException
  4648  //   The requested resource wasn't found.
  4649  //
  4650  //   * InternalServerException
  4651  //   The request failed to register with the service.
  4652  //
  4653  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateEnvironmentAccountConnection
  4654  func (c *Proton) UpdateEnvironmentAccountConnection(input *UpdateEnvironmentAccountConnectionInput) (*UpdateEnvironmentAccountConnectionOutput, error) {
  4655  	req, out := c.UpdateEnvironmentAccountConnectionRequest(input)
  4656  	return out, req.Send()
  4657  }
  4658  
  4659  // UpdateEnvironmentAccountConnectionWithContext is the same as UpdateEnvironmentAccountConnection with the addition of
  4660  // the ability to pass a context and additional request options.
  4661  //
  4662  // See UpdateEnvironmentAccountConnection for details on how to use this API operation.
  4663  //
  4664  // The context must be non-nil and will be used for request cancellation. If
  4665  // the context is nil a panic will occur. In the future the SDK may create
  4666  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4667  // for more information on using Contexts.
  4668  func (c *Proton) UpdateEnvironmentAccountConnectionWithContext(ctx aws.Context, input *UpdateEnvironmentAccountConnectionInput, opts ...request.Option) (*UpdateEnvironmentAccountConnectionOutput, error) {
  4669  	req, out := c.UpdateEnvironmentAccountConnectionRequest(input)
  4670  	req.SetContext(ctx)
  4671  	req.ApplyOptions(opts...)
  4672  	return out, req.Send()
  4673  }
  4674  
  4675  const opUpdateEnvironmentTemplate = "UpdateEnvironmentTemplate"
  4676  
  4677  // UpdateEnvironmentTemplateRequest generates a "aws/request.Request" representing the
  4678  // client's request for the UpdateEnvironmentTemplate operation. The "output" return
  4679  // value will be populated with the request's response once the request completes
  4680  // successfully.
  4681  //
  4682  // Use "Send" method on the returned Request to send the API call to the service.
  4683  // the "output" return value is not valid until after Send returns without error.
  4684  //
  4685  // See UpdateEnvironmentTemplate for more information on using the UpdateEnvironmentTemplate
  4686  // API call, and error handling.
  4687  //
  4688  // This method is useful when you want to inject custom logic or configuration
  4689  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4690  //
  4691  //
  4692  //    // Example sending a request using the UpdateEnvironmentTemplateRequest method.
  4693  //    req, resp := client.UpdateEnvironmentTemplateRequest(params)
  4694  //
  4695  //    err := req.Send()
  4696  //    if err == nil { // resp is now filled
  4697  //        fmt.Println(resp)
  4698  //    }
  4699  //
  4700  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateEnvironmentTemplate
  4701  func (c *Proton) UpdateEnvironmentTemplateRequest(input *UpdateEnvironmentTemplateInput) (req *request.Request, output *UpdateEnvironmentTemplateOutput) {
  4702  	op := &request.Operation{
  4703  		Name:       opUpdateEnvironmentTemplate,
  4704  		HTTPMethod: "POST",
  4705  		HTTPPath:   "/",
  4706  	}
  4707  
  4708  	if input == nil {
  4709  		input = &UpdateEnvironmentTemplateInput{}
  4710  	}
  4711  
  4712  	output = &UpdateEnvironmentTemplateOutput{}
  4713  	req = c.newRequest(op, input, output)
  4714  	return
  4715  }
  4716  
  4717  // UpdateEnvironmentTemplate API operation for AWS Proton.
  4718  //
  4719  // Update an environment template.
  4720  //
  4721  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4722  // with awserr.Error's Code and Message methods to get detailed information about
  4723  // the error.
  4724  //
  4725  // See the AWS API reference guide for AWS Proton's
  4726  // API operation UpdateEnvironmentTemplate for usage and error information.
  4727  //
  4728  // Returned Error Types:
  4729  //   * ValidationException
  4730  //   The input is invalid or an out-of-range value was supplied for the input
  4731  //   parameter.
  4732  //
  4733  //   * AccessDeniedException
  4734  //   There isn't sufficient access for performing this action.
  4735  //
  4736  //   * ThrottlingException
  4737  //   The request was denied due to request throttling.
  4738  //
  4739  //   * ConflictException
  4740  //   The request couldn't be made due to a conflicting operation or resource.
  4741  //
  4742  //   * ResourceNotFoundException
  4743  //   The requested resource wasn't found.
  4744  //
  4745  //   * InternalServerException
  4746  //   The request failed to register with the service.
  4747  //
  4748  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateEnvironmentTemplate
  4749  func (c *Proton) UpdateEnvironmentTemplate(input *UpdateEnvironmentTemplateInput) (*UpdateEnvironmentTemplateOutput, error) {
  4750  	req, out := c.UpdateEnvironmentTemplateRequest(input)
  4751  	return out, req.Send()
  4752  }
  4753  
  4754  // UpdateEnvironmentTemplateWithContext is the same as UpdateEnvironmentTemplate with the addition of
  4755  // the ability to pass a context and additional request options.
  4756  //
  4757  // See UpdateEnvironmentTemplate for details on how to use this API operation.
  4758  //
  4759  // The context must be non-nil and will be used for request cancellation. If
  4760  // the context is nil a panic will occur. In the future the SDK may create
  4761  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4762  // for more information on using Contexts.
  4763  func (c *Proton) UpdateEnvironmentTemplateWithContext(ctx aws.Context, input *UpdateEnvironmentTemplateInput, opts ...request.Option) (*UpdateEnvironmentTemplateOutput, error) {
  4764  	req, out := c.UpdateEnvironmentTemplateRequest(input)
  4765  	req.SetContext(ctx)
  4766  	req.ApplyOptions(opts...)
  4767  	return out, req.Send()
  4768  }
  4769  
  4770  const opUpdateEnvironmentTemplateVersion = "UpdateEnvironmentTemplateVersion"
  4771  
  4772  // UpdateEnvironmentTemplateVersionRequest generates a "aws/request.Request" representing the
  4773  // client's request for the UpdateEnvironmentTemplateVersion operation. The "output" return
  4774  // value will be populated with the request's response once the request completes
  4775  // successfully.
  4776  //
  4777  // Use "Send" method on the returned Request to send the API call to the service.
  4778  // the "output" return value is not valid until after Send returns without error.
  4779  //
  4780  // See UpdateEnvironmentTemplateVersion for more information on using the UpdateEnvironmentTemplateVersion
  4781  // API call, and error handling.
  4782  //
  4783  // This method is useful when you want to inject custom logic or configuration
  4784  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4785  //
  4786  //
  4787  //    // Example sending a request using the UpdateEnvironmentTemplateVersionRequest method.
  4788  //    req, resp := client.UpdateEnvironmentTemplateVersionRequest(params)
  4789  //
  4790  //    err := req.Send()
  4791  //    if err == nil { // resp is now filled
  4792  //        fmt.Println(resp)
  4793  //    }
  4794  //
  4795  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateEnvironmentTemplateVersion
  4796  func (c *Proton) UpdateEnvironmentTemplateVersionRequest(input *UpdateEnvironmentTemplateVersionInput) (req *request.Request, output *UpdateEnvironmentTemplateVersionOutput) {
  4797  	op := &request.Operation{
  4798  		Name:       opUpdateEnvironmentTemplateVersion,
  4799  		HTTPMethod: "POST",
  4800  		HTTPPath:   "/",
  4801  	}
  4802  
  4803  	if input == nil {
  4804  		input = &UpdateEnvironmentTemplateVersionInput{}
  4805  	}
  4806  
  4807  	output = &UpdateEnvironmentTemplateVersionOutput{}
  4808  	req = c.newRequest(op, input, output)
  4809  	return
  4810  }
  4811  
  4812  // UpdateEnvironmentTemplateVersion API operation for AWS Proton.
  4813  //
  4814  // Update a major or minor version of an environment template.
  4815  //
  4816  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4817  // with awserr.Error's Code and Message methods to get detailed information about
  4818  // the error.
  4819  //
  4820  // See the AWS API reference guide for AWS Proton's
  4821  // API operation UpdateEnvironmentTemplateVersion for usage and error information.
  4822  //
  4823  // Returned Error Types:
  4824  //   * ValidationException
  4825  //   The input is invalid or an out-of-range value was supplied for the input
  4826  //   parameter.
  4827  //
  4828  //   * AccessDeniedException
  4829  //   There isn't sufficient access for performing this action.
  4830  //
  4831  //   * ThrottlingException
  4832  //   The request was denied due to request throttling.
  4833  //
  4834  //   * ConflictException
  4835  //   The request couldn't be made due to a conflicting operation or resource.
  4836  //
  4837  //   * ResourceNotFoundException
  4838  //   The requested resource wasn't found.
  4839  //
  4840  //   * InternalServerException
  4841  //   The request failed to register with the service.
  4842  //
  4843  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateEnvironmentTemplateVersion
  4844  func (c *Proton) UpdateEnvironmentTemplateVersion(input *UpdateEnvironmentTemplateVersionInput) (*UpdateEnvironmentTemplateVersionOutput, error) {
  4845  	req, out := c.UpdateEnvironmentTemplateVersionRequest(input)
  4846  	return out, req.Send()
  4847  }
  4848  
  4849  // UpdateEnvironmentTemplateVersionWithContext is the same as UpdateEnvironmentTemplateVersion with the addition of
  4850  // the ability to pass a context and additional request options.
  4851  //
  4852  // See UpdateEnvironmentTemplateVersion for details on how to use this API operation.
  4853  //
  4854  // The context must be non-nil and will be used for request cancellation. If
  4855  // the context is nil a panic will occur. In the future the SDK may create
  4856  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4857  // for more information on using Contexts.
  4858  func (c *Proton) UpdateEnvironmentTemplateVersionWithContext(ctx aws.Context, input *UpdateEnvironmentTemplateVersionInput, opts ...request.Option) (*UpdateEnvironmentTemplateVersionOutput, error) {
  4859  	req, out := c.UpdateEnvironmentTemplateVersionRequest(input)
  4860  	req.SetContext(ctx)
  4861  	req.ApplyOptions(opts...)
  4862  	return out, req.Send()
  4863  }
  4864  
  4865  const opUpdateService = "UpdateService"
  4866  
  4867  // UpdateServiceRequest generates a "aws/request.Request" representing the
  4868  // client's request for the UpdateService operation. The "output" return
  4869  // value will be populated with the request's response once the request completes
  4870  // successfully.
  4871  //
  4872  // Use "Send" method on the returned Request to send the API call to the service.
  4873  // the "output" return value is not valid until after Send returns without error.
  4874  //
  4875  // See UpdateService for more information on using the UpdateService
  4876  // API call, and error handling.
  4877  //
  4878  // This method is useful when you want to inject custom logic or configuration
  4879  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4880  //
  4881  //
  4882  //    // Example sending a request using the UpdateServiceRequest method.
  4883  //    req, resp := client.UpdateServiceRequest(params)
  4884  //
  4885  //    err := req.Send()
  4886  //    if err == nil { // resp is now filled
  4887  //        fmt.Println(resp)
  4888  //    }
  4889  //
  4890  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateService
  4891  func (c *Proton) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Request, output *UpdateServiceOutput) {
  4892  	op := &request.Operation{
  4893  		Name:       opUpdateService,
  4894  		HTTPMethod: "POST",
  4895  		HTTPPath:   "/",
  4896  	}
  4897  
  4898  	if input == nil {
  4899  		input = &UpdateServiceInput{}
  4900  	}
  4901  
  4902  	output = &UpdateServiceOutput{}
  4903  	req = c.newRequest(op, input, output)
  4904  	return
  4905  }
  4906  
  4907  // UpdateService API operation for AWS Proton.
  4908  //
  4909  // Edit a service description or use a spec to add and delete service instances.
  4910  //
  4911  // Existing service instances and the service pipeline can't be edited using
  4912  // this API. They can only be deleted.
  4913  //
  4914  // Use the description parameter to modify the description.
  4915  //
  4916  // Edit the spec parameter to add or delete instances.
  4917  //
  4918  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4919  // with awserr.Error's Code and Message methods to get detailed information about
  4920  // the error.
  4921  //
  4922  // See the AWS API reference guide for AWS Proton's
  4923  // API operation UpdateService for usage and error information.
  4924  //
  4925  // Returned Error Types:
  4926  //   * ServiceQuotaExceededException
  4927  //   A quota was exceeded. For more information, see AWS Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html)
  4928  //   in the AWS Proton Administrator Guide.
  4929  //
  4930  //   * ValidationException
  4931  //   The input is invalid or an out-of-range value was supplied for the input
  4932  //   parameter.
  4933  //
  4934  //   * AccessDeniedException
  4935  //   There isn't sufficient access for performing this action.
  4936  //
  4937  //   * ThrottlingException
  4938  //   The request was denied due to request throttling.
  4939  //
  4940  //   * ConflictException
  4941  //   The request couldn't be made due to a conflicting operation or resource.
  4942  //
  4943  //   * ResourceNotFoundException
  4944  //   The requested resource wasn't found.
  4945  //
  4946  //   * InternalServerException
  4947  //   The request failed to register with the service.
  4948  //
  4949  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateService
  4950  func (c *Proton) UpdateService(input *UpdateServiceInput) (*UpdateServiceOutput, error) {
  4951  	req, out := c.UpdateServiceRequest(input)
  4952  	return out, req.Send()
  4953  }
  4954  
  4955  // UpdateServiceWithContext is the same as UpdateService with the addition of
  4956  // the ability to pass a context and additional request options.
  4957  //
  4958  // See UpdateService for details on how to use this API operation.
  4959  //
  4960  // The context must be non-nil and will be used for request cancellation. If
  4961  // the context is nil a panic will occur. In the future the SDK may create
  4962  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4963  // for more information on using Contexts.
  4964  func (c *Proton) UpdateServiceWithContext(ctx aws.Context, input *UpdateServiceInput, opts ...request.Option) (*UpdateServiceOutput, error) {
  4965  	req, out := c.UpdateServiceRequest(input)
  4966  	req.SetContext(ctx)
  4967  	req.ApplyOptions(opts...)
  4968  	return out, req.Send()
  4969  }
  4970  
  4971  const opUpdateServiceInstance = "UpdateServiceInstance"
  4972  
  4973  // UpdateServiceInstanceRequest generates a "aws/request.Request" representing the
  4974  // client's request for the UpdateServiceInstance operation. The "output" return
  4975  // value will be populated with the request's response once the request completes
  4976  // successfully.
  4977  //
  4978  // Use "Send" method on the returned Request to send the API call to the service.
  4979  // the "output" return value is not valid until after Send returns without error.
  4980  //
  4981  // See UpdateServiceInstance for more information on using the UpdateServiceInstance
  4982  // API call, and error handling.
  4983  //
  4984  // This method is useful when you want to inject custom logic or configuration
  4985  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4986  //
  4987  //
  4988  //    // Example sending a request using the UpdateServiceInstanceRequest method.
  4989  //    req, resp := client.UpdateServiceInstanceRequest(params)
  4990  //
  4991  //    err := req.Send()
  4992  //    if err == nil { // resp is now filled
  4993  //        fmt.Println(resp)
  4994  //    }
  4995  //
  4996  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateServiceInstance
  4997  func (c *Proton) UpdateServiceInstanceRequest(input *UpdateServiceInstanceInput) (req *request.Request, output *UpdateServiceInstanceOutput) {
  4998  	op := &request.Operation{
  4999  		Name:       opUpdateServiceInstance,
  5000  		HTTPMethod: "POST",
  5001  		HTTPPath:   "/",
  5002  	}
  5003  
  5004  	if input == nil {
  5005  		input = &UpdateServiceInstanceInput{}
  5006  	}
  5007  
  5008  	output = &UpdateServiceInstanceOutput{}
  5009  	req = c.newRequest(op, input, output)
  5010  	return
  5011  }
  5012  
  5013  // UpdateServiceInstance API operation for AWS Proton.
  5014  //
  5015  // Update a service instance.
  5016  //
  5017  // There are four modes for updating a service instance as described in the
  5018  // following. The deploymentType field defines the mode.
  5019  //
  5020  // NONE
  5021  //
  5022  // In this mode, a deployment doesn't occur. Only the requested metadata parameters
  5023  // are updated.
  5024  //
  5025  // CURRENT_VERSION
  5026  //
  5027  // In this mode, the service instance is deployed and updated with the new spec
  5028  // that you provide. Only requested parameters are updated. Don’t include
  5029  // minor or major version parameters when you use this deployment-type.
  5030  //
  5031  // MINOR_VERSION
  5032  //
  5033  // In this mode, the service instance is deployed and updated with the published,
  5034  // recommended (latest) minor version of the current major version in use, by
  5035  // default. You can also specify a different minor version of the current major
  5036  // version in use.
  5037  //
  5038  // MAJOR_VERSION
  5039  //
  5040  // In this mode, the service instance is deployed and updated with the published,
  5041  // recommended (latest) major and minor version of the current template, by
  5042  // default. You can also specify a different major version that is higher than
  5043  // the major version in use and a minor version (optional).
  5044  //
  5045  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5046  // with awserr.Error's Code and Message methods to get detailed information about
  5047  // the error.
  5048  //
  5049  // See the AWS API reference guide for AWS Proton's
  5050  // API operation UpdateServiceInstance for usage and error information.
  5051  //
  5052  // Returned Error Types:
  5053  //   * ValidationException
  5054  //   The input is invalid or an out-of-range value was supplied for the input
  5055  //   parameter.
  5056  //
  5057  //   * AccessDeniedException
  5058  //   There isn't sufficient access for performing this action.
  5059  //
  5060  //   * ThrottlingException
  5061  //   The request was denied due to request throttling.
  5062  //
  5063  //   * ConflictException
  5064  //   The request couldn't be made due to a conflicting operation or resource.
  5065  //
  5066  //   * ResourceNotFoundException
  5067  //   The requested resource wasn't found.
  5068  //
  5069  //   * InternalServerException
  5070  //   The request failed to register with the service.
  5071  //
  5072  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateServiceInstance
  5073  func (c *Proton) UpdateServiceInstance(input *UpdateServiceInstanceInput) (*UpdateServiceInstanceOutput, error) {
  5074  	req, out := c.UpdateServiceInstanceRequest(input)
  5075  	return out, req.Send()
  5076  }
  5077  
  5078  // UpdateServiceInstanceWithContext is the same as UpdateServiceInstance with the addition of
  5079  // the ability to pass a context and additional request options.
  5080  //
  5081  // See UpdateServiceInstance for details on how to use this API operation.
  5082  //
  5083  // The context must be non-nil and will be used for request cancellation. If
  5084  // the context is nil a panic will occur. In the future the SDK may create
  5085  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5086  // for more information on using Contexts.
  5087  func (c *Proton) UpdateServiceInstanceWithContext(ctx aws.Context, input *UpdateServiceInstanceInput, opts ...request.Option) (*UpdateServiceInstanceOutput, error) {
  5088  	req, out := c.UpdateServiceInstanceRequest(input)
  5089  	req.SetContext(ctx)
  5090  	req.ApplyOptions(opts...)
  5091  	return out, req.Send()
  5092  }
  5093  
  5094  const opUpdateServicePipeline = "UpdateServicePipeline"
  5095  
  5096  // UpdateServicePipelineRequest generates a "aws/request.Request" representing the
  5097  // client's request for the UpdateServicePipeline operation. The "output" return
  5098  // value will be populated with the request's response once the request completes
  5099  // successfully.
  5100  //
  5101  // Use "Send" method on the returned Request to send the API call to the service.
  5102  // the "output" return value is not valid until after Send returns without error.
  5103  //
  5104  // See UpdateServicePipeline for more information on using the UpdateServicePipeline
  5105  // API call, and error handling.
  5106  //
  5107  // This method is useful when you want to inject custom logic or configuration
  5108  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5109  //
  5110  //
  5111  //    // Example sending a request using the UpdateServicePipelineRequest method.
  5112  //    req, resp := client.UpdateServicePipelineRequest(params)
  5113  //
  5114  //    err := req.Send()
  5115  //    if err == nil { // resp is now filled
  5116  //        fmt.Println(resp)
  5117  //    }
  5118  //
  5119  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateServicePipeline
  5120  func (c *Proton) UpdateServicePipelineRequest(input *UpdateServicePipelineInput) (req *request.Request, output *UpdateServicePipelineOutput) {
  5121  	op := &request.Operation{
  5122  		Name:       opUpdateServicePipeline,
  5123  		HTTPMethod: "POST",
  5124  		HTTPPath:   "/",
  5125  	}
  5126  
  5127  	if input == nil {
  5128  		input = &UpdateServicePipelineInput{}
  5129  	}
  5130  
  5131  	output = &UpdateServicePipelineOutput{}
  5132  	req = c.newRequest(op, input, output)
  5133  	return
  5134  }
  5135  
  5136  // UpdateServicePipeline API operation for AWS Proton.
  5137  //
  5138  // Update the service pipeline.
  5139  //
  5140  // There are four modes for updating a service pipeline as described in the
  5141  // following. The deploymentType field defines the mode.
  5142  //
  5143  // NONE
  5144  //
  5145  // In this mode, a deployment doesn't occur. Only the requested metadata parameters
  5146  // are updated.
  5147  //
  5148  // CURRENT_VERSION
  5149  //
  5150  // In this mode, the service pipeline is deployed and updated with the new spec
  5151  // that you provide. Only requested parameters are updated. Don’t include
  5152  // minor or major version parameters when you use this deployment-type.
  5153  //
  5154  // MINOR_VERSION
  5155  //
  5156  // In this mode, the service pipeline is deployed and updated with the published,
  5157  // recommended (latest) minor version of the current major version in use, by
  5158  // default. You can also specify a different minor version of the current major
  5159  // version in use.
  5160  //
  5161  // MAJOR_VERSION
  5162  //
  5163  // In this mode, the service pipeline is deployed and updated with the published,
  5164  // recommended (latest) major and minor version of the current template by default.
  5165  // You can also specify a different major version that is higher than the major
  5166  // version in use and a minor version (optional).
  5167  //
  5168  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5169  // with awserr.Error's Code and Message methods to get detailed information about
  5170  // the error.
  5171  //
  5172  // See the AWS API reference guide for AWS Proton's
  5173  // API operation UpdateServicePipeline for usage and error information.
  5174  //
  5175  // Returned Error Types:
  5176  //   * ValidationException
  5177  //   The input is invalid or an out-of-range value was supplied for the input
  5178  //   parameter.
  5179  //
  5180  //   * AccessDeniedException
  5181  //   There isn't sufficient access for performing this action.
  5182  //
  5183  //   * ThrottlingException
  5184  //   The request was denied due to request throttling.
  5185  //
  5186  //   * ConflictException
  5187  //   The request couldn't be made due to a conflicting operation or resource.
  5188  //
  5189  //   * ResourceNotFoundException
  5190  //   The requested resource wasn't found.
  5191  //
  5192  //   * InternalServerException
  5193  //   The request failed to register with the service.
  5194  //
  5195  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateServicePipeline
  5196  func (c *Proton) UpdateServicePipeline(input *UpdateServicePipelineInput) (*UpdateServicePipelineOutput, error) {
  5197  	req, out := c.UpdateServicePipelineRequest(input)
  5198  	return out, req.Send()
  5199  }
  5200  
  5201  // UpdateServicePipelineWithContext is the same as UpdateServicePipeline with the addition of
  5202  // the ability to pass a context and additional request options.
  5203  //
  5204  // See UpdateServicePipeline for details on how to use this API operation.
  5205  //
  5206  // The context must be non-nil and will be used for request cancellation. If
  5207  // the context is nil a panic will occur. In the future the SDK may create
  5208  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5209  // for more information on using Contexts.
  5210  func (c *Proton) UpdateServicePipelineWithContext(ctx aws.Context, input *UpdateServicePipelineInput, opts ...request.Option) (*UpdateServicePipelineOutput, error) {
  5211  	req, out := c.UpdateServicePipelineRequest(input)
  5212  	req.SetContext(ctx)
  5213  	req.ApplyOptions(opts...)
  5214  	return out, req.Send()
  5215  }
  5216  
  5217  const opUpdateServiceTemplate = "UpdateServiceTemplate"
  5218  
  5219  // UpdateServiceTemplateRequest generates a "aws/request.Request" representing the
  5220  // client's request for the UpdateServiceTemplate operation. The "output" return
  5221  // value will be populated with the request's response once the request completes
  5222  // successfully.
  5223  //
  5224  // Use "Send" method on the returned Request to send the API call to the service.
  5225  // the "output" return value is not valid until after Send returns without error.
  5226  //
  5227  // See UpdateServiceTemplate for more information on using the UpdateServiceTemplate
  5228  // API call, and error handling.
  5229  //
  5230  // This method is useful when you want to inject custom logic or configuration
  5231  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5232  //
  5233  //
  5234  //    // Example sending a request using the UpdateServiceTemplateRequest method.
  5235  //    req, resp := client.UpdateServiceTemplateRequest(params)
  5236  //
  5237  //    err := req.Send()
  5238  //    if err == nil { // resp is now filled
  5239  //        fmt.Println(resp)
  5240  //    }
  5241  //
  5242  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateServiceTemplate
  5243  func (c *Proton) UpdateServiceTemplateRequest(input *UpdateServiceTemplateInput) (req *request.Request, output *UpdateServiceTemplateOutput) {
  5244  	op := &request.Operation{
  5245  		Name:       opUpdateServiceTemplate,
  5246  		HTTPMethod: "POST",
  5247  		HTTPPath:   "/",
  5248  	}
  5249  
  5250  	if input == nil {
  5251  		input = &UpdateServiceTemplateInput{}
  5252  	}
  5253  
  5254  	output = &UpdateServiceTemplateOutput{}
  5255  	req = c.newRequest(op, input, output)
  5256  	return
  5257  }
  5258  
  5259  // UpdateServiceTemplate API operation for AWS Proton.
  5260  //
  5261  // Update a service template.
  5262  //
  5263  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5264  // with awserr.Error's Code and Message methods to get detailed information about
  5265  // the error.
  5266  //
  5267  // See the AWS API reference guide for AWS Proton's
  5268  // API operation UpdateServiceTemplate for usage and error information.
  5269  //
  5270  // Returned Error Types:
  5271  //   * ValidationException
  5272  //   The input is invalid or an out-of-range value was supplied for the input
  5273  //   parameter.
  5274  //
  5275  //   * AccessDeniedException
  5276  //   There isn't sufficient access for performing this action.
  5277  //
  5278  //   * ThrottlingException
  5279  //   The request was denied due to request throttling.
  5280  //
  5281  //   * ConflictException
  5282  //   The request couldn't be made due to a conflicting operation or resource.
  5283  //
  5284  //   * ResourceNotFoundException
  5285  //   The requested resource wasn't found.
  5286  //
  5287  //   * InternalServerException
  5288  //   The request failed to register with the service.
  5289  //
  5290  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateServiceTemplate
  5291  func (c *Proton) UpdateServiceTemplate(input *UpdateServiceTemplateInput) (*UpdateServiceTemplateOutput, error) {
  5292  	req, out := c.UpdateServiceTemplateRequest(input)
  5293  	return out, req.Send()
  5294  }
  5295  
  5296  // UpdateServiceTemplateWithContext is the same as UpdateServiceTemplate with the addition of
  5297  // the ability to pass a context and additional request options.
  5298  //
  5299  // See UpdateServiceTemplate for details on how to use this API operation.
  5300  //
  5301  // The context must be non-nil and will be used for request cancellation. If
  5302  // the context is nil a panic will occur. In the future the SDK may create
  5303  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5304  // for more information on using Contexts.
  5305  func (c *Proton) UpdateServiceTemplateWithContext(ctx aws.Context, input *UpdateServiceTemplateInput, opts ...request.Option) (*UpdateServiceTemplateOutput, error) {
  5306  	req, out := c.UpdateServiceTemplateRequest(input)
  5307  	req.SetContext(ctx)
  5308  	req.ApplyOptions(opts...)
  5309  	return out, req.Send()
  5310  }
  5311  
  5312  const opUpdateServiceTemplateVersion = "UpdateServiceTemplateVersion"
  5313  
  5314  // UpdateServiceTemplateVersionRequest generates a "aws/request.Request" representing the
  5315  // client's request for the UpdateServiceTemplateVersion operation. The "output" return
  5316  // value will be populated with the request's response once the request completes
  5317  // successfully.
  5318  //
  5319  // Use "Send" method on the returned Request to send the API call to the service.
  5320  // the "output" return value is not valid until after Send returns without error.
  5321  //
  5322  // See UpdateServiceTemplateVersion for more information on using the UpdateServiceTemplateVersion
  5323  // API call, and error handling.
  5324  //
  5325  // This method is useful when you want to inject custom logic or configuration
  5326  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5327  //
  5328  //
  5329  //    // Example sending a request using the UpdateServiceTemplateVersionRequest method.
  5330  //    req, resp := client.UpdateServiceTemplateVersionRequest(params)
  5331  //
  5332  //    err := req.Send()
  5333  //    if err == nil { // resp is now filled
  5334  //        fmt.Println(resp)
  5335  //    }
  5336  //
  5337  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateServiceTemplateVersion
  5338  func (c *Proton) UpdateServiceTemplateVersionRequest(input *UpdateServiceTemplateVersionInput) (req *request.Request, output *UpdateServiceTemplateVersionOutput) {
  5339  	op := &request.Operation{
  5340  		Name:       opUpdateServiceTemplateVersion,
  5341  		HTTPMethod: "POST",
  5342  		HTTPPath:   "/",
  5343  	}
  5344  
  5345  	if input == nil {
  5346  		input = &UpdateServiceTemplateVersionInput{}
  5347  	}
  5348  
  5349  	output = &UpdateServiceTemplateVersionOutput{}
  5350  	req = c.newRequest(op, input, output)
  5351  	return
  5352  }
  5353  
  5354  // UpdateServiceTemplateVersion API operation for AWS Proton.
  5355  //
  5356  // Update a major or minor version of a service template.
  5357  //
  5358  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5359  // with awserr.Error's Code and Message methods to get detailed information about
  5360  // the error.
  5361  //
  5362  // See the AWS API reference guide for AWS Proton's
  5363  // API operation UpdateServiceTemplateVersion for usage and error information.
  5364  //
  5365  // Returned Error Types:
  5366  //   * ValidationException
  5367  //   The input is invalid or an out-of-range value was supplied for the input
  5368  //   parameter.
  5369  //
  5370  //   * AccessDeniedException
  5371  //   There isn't sufficient access for performing this action.
  5372  //
  5373  //   * ThrottlingException
  5374  //   The request was denied due to request throttling.
  5375  //
  5376  //   * ConflictException
  5377  //   The request couldn't be made due to a conflicting operation or resource.
  5378  //
  5379  //   * ResourceNotFoundException
  5380  //   The requested resource wasn't found.
  5381  //
  5382  //   * InternalServerException
  5383  //   The request failed to register with the service.
  5384  //
  5385  // See also, https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/UpdateServiceTemplateVersion
  5386  func (c *Proton) UpdateServiceTemplateVersion(input *UpdateServiceTemplateVersionInput) (*UpdateServiceTemplateVersionOutput, error) {
  5387  	req, out := c.UpdateServiceTemplateVersionRequest(input)
  5388  	return out, req.Send()
  5389  }
  5390  
  5391  // UpdateServiceTemplateVersionWithContext is the same as UpdateServiceTemplateVersion with the addition of
  5392  // the ability to pass a context and additional request options.
  5393  //
  5394  // See UpdateServiceTemplateVersion for details on how to use this API operation.
  5395  //
  5396  // The context must be non-nil and will be used for request cancellation. If
  5397  // the context is nil a panic will occur. In the future the SDK may create
  5398  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5399  // for more information on using Contexts.
  5400  func (c *Proton) UpdateServiceTemplateVersionWithContext(ctx aws.Context, input *UpdateServiceTemplateVersionInput, opts ...request.Option) (*UpdateServiceTemplateVersionOutput, error) {
  5401  	req, out := c.UpdateServiceTemplateVersionRequest(input)
  5402  	req.SetContext(ctx)
  5403  	req.ApplyOptions(opts...)
  5404  	return out, req.Send()
  5405  }
  5406  
  5407  type AcceptEnvironmentAccountConnectionInput struct {
  5408  	_ struct{} `type:"structure"`
  5409  
  5410  	// The ID of the environment account connection.
  5411  	//
  5412  	// Id is a required field
  5413  	Id *string `locationName:"id" type:"string" required:"true"`
  5414  }
  5415  
  5416  // String returns the string representation.
  5417  //
  5418  // API parameter values that are decorated as "sensitive" in the API will not
  5419  // be included in the string output. The member name will be present, but the
  5420  // value will be replaced with "sensitive".
  5421  func (s AcceptEnvironmentAccountConnectionInput) String() string {
  5422  	return awsutil.Prettify(s)
  5423  }
  5424  
  5425  // GoString returns the string representation.
  5426  //
  5427  // API parameter values that are decorated as "sensitive" in the API will not
  5428  // be included in the string output. The member name will be present, but the
  5429  // value will be replaced with "sensitive".
  5430  func (s AcceptEnvironmentAccountConnectionInput) GoString() string {
  5431  	return s.String()
  5432  }
  5433  
  5434  // Validate inspects the fields of the type to determine if they are valid.
  5435  func (s *AcceptEnvironmentAccountConnectionInput) Validate() error {
  5436  	invalidParams := request.ErrInvalidParams{Context: "AcceptEnvironmentAccountConnectionInput"}
  5437  	if s.Id == nil {
  5438  		invalidParams.Add(request.NewErrParamRequired("Id"))
  5439  	}
  5440  
  5441  	if invalidParams.Len() > 0 {
  5442  		return invalidParams
  5443  	}
  5444  	return nil
  5445  }
  5446  
  5447  // SetId sets the Id field's value.
  5448  func (s *AcceptEnvironmentAccountConnectionInput) SetId(v string) *AcceptEnvironmentAccountConnectionInput {
  5449  	s.Id = &v
  5450  	return s
  5451  }
  5452  
  5453  type AcceptEnvironmentAccountConnectionOutput struct {
  5454  	_ struct{} `type:"structure"`
  5455  
  5456  	// The environment account connection data that's returned by AWS Proton.
  5457  	//
  5458  	// EnvironmentAccountConnection is a required field
  5459  	EnvironmentAccountConnection *EnvironmentAccountConnection `locationName:"environmentAccountConnection" type:"structure" required:"true"`
  5460  }
  5461  
  5462  // String returns the string representation.
  5463  //
  5464  // API parameter values that are decorated as "sensitive" in the API will not
  5465  // be included in the string output. The member name will be present, but the
  5466  // value will be replaced with "sensitive".
  5467  func (s AcceptEnvironmentAccountConnectionOutput) String() string {
  5468  	return awsutil.Prettify(s)
  5469  }
  5470  
  5471  // GoString returns the string representation.
  5472  //
  5473  // API parameter values that are decorated as "sensitive" in the API will not
  5474  // be included in the string output. The member name will be present, but the
  5475  // value will be replaced with "sensitive".
  5476  func (s AcceptEnvironmentAccountConnectionOutput) GoString() string {
  5477  	return s.String()
  5478  }
  5479  
  5480  // SetEnvironmentAccountConnection sets the EnvironmentAccountConnection field's value.
  5481  func (s *AcceptEnvironmentAccountConnectionOutput) SetEnvironmentAccountConnection(v *EnvironmentAccountConnection) *AcceptEnvironmentAccountConnectionOutput {
  5482  	s.EnvironmentAccountConnection = v
  5483  	return s
  5484  }
  5485  
  5486  // There isn't sufficient access for performing this action.
  5487  type AccessDeniedException struct {
  5488  	_            struct{}                  `type:"structure"`
  5489  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5490  
  5491  	// Message_ is a sensitive parameter and its value will be
  5492  	// replaced with "sensitive" in string returned by AccessDeniedException's
  5493  	// String and GoString methods.
  5494  	Message_ *string `locationName:"message" type:"string" sensitive:"true"`
  5495  }
  5496  
  5497  // String returns the string representation.
  5498  //
  5499  // API parameter values that are decorated as "sensitive" in the API will not
  5500  // be included in the string output. The member name will be present, but the
  5501  // value will be replaced with "sensitive".
  5502  func (s AccessDeniedException) String() string {
  5503  	return awsutil.Prettify(s)
  5504  }
  5505  
  5506  // GoString returns the string representation.
  5507  //
  5508  // API parameter values that are decorated as "sensitive" in the API will not
  5509  // be included in the string output. The member name will be present, but the
  5510  // value will be replaced with "sensitive".
  5511  func (s AccessDeniedException) GoString() string {
  5512  	return s.String()
  5513  }
  5514  
  5515  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  5516  	return &AccessDeniedException{
  5517  		RespMetadata: v,
  5518  	}
  5519  }
  5520  
  5521  // Code returns the exception type name.
  5522  func (s *AccessDeniedException) Code() string {
  5523  	return "AccessDeniedException"
  5524  }
  5525  
  5526  // Message returns the exception's message.
  5527  func (s *AccessDeniedException) Message() string {
  5528  	if s.Message_ != nil {
  5529  		return *s.Message_
  5530  	}
  5531  	return ""
  5532  }
  5533  
  5534  // OrigErr always returns nil, satisfies awserr.Error interface.
  5535  func (s *AccessDeniedException) OrigErr() error {
  5536  	return nil
  5537  }
  5538  
  5539  func (s *AccessDeniedException) Error() string {
  5540  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5541  }
  5542  
  5543  // Status code returns the HTTP status code for the request's response error.
  5544  func (s *AccessDeniedException) StatusCode() int {
  5545  	return s.RespMetadata.StatusCode
  5546  }
  5547  
  5548  // RequestID returns the service's response RequestID for request.
  5549  func (s *AccessDeniedException) RequestID() string {
  5550  	return s.RespMetadata.RequestID
  5551  }
  5552  
  5553  // The AWS Proton pipeline service role data.
  5554  type AccountSettings struct {
  5555  	_ struct{} `type:"structure"`
  5556  
  5557  	// The Amazon Resource Name (ARN) of the AWS Proton pipeline service role.
  5558  	PipelineServiceRoleArn *string `locationName:"pipelineServiceRoleArn" min:"1" type:"string"`
  5559  }
  5560  
  5561  // String returns the string representation.
  5562  //
  5563  // API parameter values that are decorated as "sensitive" in the API will not
  5564  // be included in the string output. The member name will be present, but the
  5565  // value will be replaced with "sensitive".
  5566  func (s AccountSettings) String() string {
  5567  	return awsutil.Prettify(s)
  5568  }
  5569  
  5570  // GoString returns the string representation.
  5571  //
  5572  // API parameter values that are decorated as "sensitive" in the API will not
  5573  // be included in the string output. The member name will be present, but the
  5574  // value will be replaced with "sensitive".
  5575  func (s AccountSettings) GoString() string {
  5576  	return s.String()
  5577  }
  5578  
  5579  // SetPipelineServiceRoleArn sets the PipelineServiceRoleArn field's value.
  5580  func (s *AccountSettings) SetPipelineServiceRoleArn(v string) *AccountSettings {
  5581  	s.PipelineServiceRoleArn = &v
  5582  	return s
  5583  }
  5584  
  5585  type CancelEnvironmentDeploymentInput struct {
  5586  	_ struct{} `type:"structure"`
  5587  
  5588  	// The name of the environment with the deployment to cancel.
  5589  	//
  5590  	// EnvironmentName is a required field
  5591  	EnvironmentName *string `locationName:"environmentName" min:"1" type:"string" required:"true"`
  5592  }
  5593  
  5594  // String returns the string representation.
  5595  //
  5596  // API parameter values that are decorated as "sensitive" in the API will not
  5597  // be included in the string output. The member name will be present, but the
  5598  // value will be replaced with "sensitive".
  5599  func (s CancelEnvironmentDeploymentInput) String() string {
  5600  	return awsutil.Prettify(s)
  5601  }
  5602  
  5603  // GoString returns the string representation.
  5604  //
  5605  // API parameter values that are decorated as "sensitive" in the API will not
  5606  // be included in the string output. The member name will be present, but the
  5607  // value will be replaced with "sensitive".
  5608  func (s CancelEnvironmentDeploymentInput) GoString() string {
  5609  	return s.String()
  5610  }
  5611  
  5612  // Validate inspects the fields of the type to determine if they are valid.
  5613  func (s *CancelEnvironmentDeploymentInput) Validate() error {
  5614  	invalidParams := request.ErrInvalidParams{Context: "CancelEnvironmentDeploymentInput"}
  5615  	if s.EnvironmentName == nil {
  5616  		invalidParams.Add(request.NewErrParamRequired("EnvironmentName"))
  5617  	}
  5618  	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 1 {
  5619  		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 1))
  5620  	}
  5621  
  5622  	if invalidParams.Len() > 0 {
  5623  		return invalidParams
  5624  	}
  5625  	return nil
  5626  }
  5627  
  5628  // SetEnvironmentName sets the EnvironmentName field's value.
  5629  func (s *CancelEnvironmentDeploymentInput) SetEnvironmentName(v string) *CancelEnvironmentDeploymentInput {
  5630  	s.EnvironmentName = &v
  5631  	return s
  5632  }
  5633  
  5634  type CancelEnvironmentDeploymentOutput struct {
  5635  	_ struct{} `type:"structure"`
  5636  
  5637  	// The environment summary data that's returned by AWS Proton.
  5638  	//
  5639  	// Environment is a required field
  5640  	Environment *Environment `locationName:"environment" type:"structure" required:"true"`
  5641  }
  5642  
  5643  // String returns the string representation.
  5644  //
  5645  // API parameter values that are decorated as "sensitive" in the API will not
  5646  // be included in the string output. The member name will be present, but the
  5647  // value will be replaced with "sensitive".
  5648  func (s CancelEnvironmentDeploymentOutput) String() string {
  5649  	return awsutil.Prettify(s)
  5650  }
  5651  
  5652  // GoString returns the string representation.
  5653  //
  5654  // API parameter values that are decorated as "sensitive" in the API will not
  5655  // be included in the string output. The member name will be present, but the
  5656  // value will be replaced with "sensitive".
  5657  func (s CancelEnvironmentDeploymentOutput) GoString() string {
  5658  	return s.String()
  5659  }
  5660  
  5661  // SetEnvironment sets the Environment field's value.
  5662  func (s *CancelEnvironmentDeploymentOutput) SetEnvironment(v *Environment) *CancelEnvironmentDeploymentOutput {
  5663  	s.Environment = v
  5664  	return s
  5665  }
  5666  
  5667  type CancelServiceInstanceDeploymentInput struct {
  5668  	_ struct{} `type:"structure"`
  5669  
  5670  	// The name of the service instance with the deployment to cancel.
  5671  	//
  5672  	// ServiceInstanceName is a required field
  5673  	ServiceInstanceName *string `locationName:"serviceInstanceName" min:"1" type:"string" required:"true"`
  5674  
  5675  	// The name of the service with the service instance deployment to cancel.
  5676  	//
  5677  	// ServiceName is a required field
  5678  	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
  5679  }
  5680  
  5681  // String returns the string representation.
  5682  //
  5683  // API parameter values that are decorated as "sensitive" in the API will not
  5684  // be included in the string output. The member name will be present, but the
  5685  // value will be replaced with "sensitive".
  5686  func (s CancelServiceInstanceDeploymentInput) String() string {
  5687  	return awsutil.Prettify(s)
  5688  }
  5689  
  5690  // GoString returns the string representation.
  5691  //
  5692  // API parameter values that are decorated as "sensitive" in the API will not
  5693  // be included in the string output. The member name will be present, but the
  5694  // value will be replaced with "sensitive".
  5695  func (s CancelServiceInstanceDeploymentInput) GoString() string {
  5696  	return s.String()
  5697  }
  5698  
  5699  // Validate inspects the fields of the type to determine if they are valid.
  5700  func (s *CancelServiceInstanceDeploymentInput) Validate() error {
  5701  	invalidParams := request.ErrInvalidParams{Context: "CancelServiceInstanceDeploymentInput"}
  5702  	if s.ServiceInstanceName == nil {
  5703  		invalidParams.Add(request.NewErrParamRequired("ServiceInstanceName"))
  5704  	}
  5705  	if s.ServiceInstanceName != nil && len(*s.ServiceInstanceName) < 1 {
  5706  		invalidParams.Add(request.NewErrParamMinLen("ServiceInstanceName", 1))
  5707  	}
  5708  	if s.ServiceName == nil {
  5709  		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
  5710  	}
  5711  	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
  5712  		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
  5713  	}
  5714  
  5715  	if invalidParams.Len() > 0 {
  5716  		return invalidParams
  5717  	}
  5718  	return nil
  5719  }
  5720  
  5721  // SetServiceInstanceName sets the ServiceInstanceName field's value.
  5722  func (s *CancelServiceInstanceDeploymentInput) SetServiceInstanceName(v string) *CancelServiceInstanceDeploymentInput {
  5723  	s.ServiceInstanceName = &v
  5724  	return s
  5725  }
  5726  
  5727  // SetServiceName sets the ServiceName field's value.
  5728  func (s *CancelServiceInstanceDeploymentInput) SetServiceName(v string) *CancelServiceInstanceDeploymentInput {
  5729  	s.ServiceName = &v
  5730  	return s
  5731  }
  5732  
  5733  type CancelServiceInstanceDeploymentOutput struct {
  5734  	_ struct{} `type:"structure"`
  5735  
  5736  	// The service instance summary data that's returned by AWS Proton.
  5737  	//
  5738  	// ServiceInstance is a required field
  5739  	ServiceInstance *ServiceInstance `locationName:"serviceInstance" type:"structure" required:"true"`
  5740  }
  5741  
  5742  // String returns the string representation.
  5743  //
  5744  // API parameter values that are decorated as "sensitive" in the API will not
  5745  // be included in the string output. The member name will be present, but the
  5746  // value will be replaced with "sensitive".
  5747  func (s CancelServiceInstanceDeploymentOutput) String() string {
  5748  	return awsutil.Prettify(s)
  5749  }
  5750  
  5751  // GoString returns the string representation.
  5752  //
  5753  // API parameter values that are decorated as "sensitive" in the API will not
  5754  // be included in the string output. The member name will be present, but the
  5755  // value will be replaced with "sensitive".
  5756  func (s CancelServiceInstanceDeploymentOutput) GoString() string {
  5757  	return s.String()
  5758  }
  5759  
  5760  // SetServiceInstance sets the ServiceInstance field's value.
  5761  func (s *CancelServiceInstanceDeploymentOutput) SetServiceInstance(v *ServiceInstance) *CancelServiceInstanceDeploymentOutput {
  5762  	s.ServiceInstance = v
  5763  	return s
  5764  }
  5765  
  5766  type CancelServicePipelineDeploymentInput struct {
  5767  	_ struct{} `type:"structure"`
  5768  
  5769  	// The name of the service with the service pipeline deployment to cancel.
  5770  	//
  5771  	// ServiceName is a required field
  5772  	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
  5773  }
  5774  
  5775  // String returns the string representation.
  5776  //
  5777  // API parameter values that are decorated as "sensitive" in the API will not
  5778  // be included in the string output. The member name will be present, but the
  5779  // value will be replaced with "sensitive".
  5780  func (s CancelServicePipelineDeploymentInput) String() string {
  5781  	return awsutil.Prettify(s)
  5782  }
  5783  
  5784  // GoString returns the string representation.
  5785  //
  5786  // API parameter values that are decorated as "sensitive" in the API will not
  5787  // be included in the string output. The member name will be present, but the
  5788  // value will be replaced with "sensitive".
  5789  func (s CancelServicePipelineDeploymentInput) GoString() string {
  5790  	return s.String()
  5791  }
  5792  
  5793  // Validate inspects the fields of the type to determine if they are valid.
  5794  func (s *CancelServicePipelineDeploymentInput) Validate() error {
  5795  	invalidParams := request.ErrInvalidParams{Context: "CancelServicePipelineDeploymentInput"}
  5796  	if s.ServiceName == nil {
  5797  		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
  5798  	}
  5799  	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
  5800  		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
  5801  	}
  5802  
  5803  	if invalidParams.Len() > 0 {
  5804  		return invalidParams
  5805  	}
  5806  	return nil
  5807  }
  5808  
  5809  // SetServiceName sets the ServiceName field's value.
  5810  func (s *CancelServicePipelineDeploymentInput) SetServiceName(v string) *CancelServicePipelineDeploymentInput {
  5811  	s.ServiceName = &v
  5812  	return s
  5813  }
  5814  
  5815  type CancelServicePipelineDeploymentOutput struct {
  5816  	_ struct{} `type:"structure"`
  5817  
  5818  	// The service pipeline detail data that's returned by AWS Proton.
  5819  	//
  5820  	// Pipeline is a required field
  5821  	Pipeline *ServicePipeline `locationName:"pipeline" type:"structure" required:"true"`
  5822  }
  5823  
  5824  // String returns the string representation.
  5825  //
  5826  // API parameter values that are decorated as "sensitive" in the API will not
  5827  // be included in the string output. The member name will be present, but the
  5828  // value will be replaced with "sensitive".
  5829  func (s CancelServicePipelineDeploymentOutput) String() string {
  5830  	return awsutil.Prettify(s)
  5831  }
  5832  
  5833  // GoString returns the string representation.
  5834  //
  5835  // API parameter values that are decorated as "sensitive" in the API will not
  5836  // be included in the string output. The member name will be present, but the
  5837  // value will be replaced with "sensitive".
  5838  func (s CancelServicePipelineDeploymentOutput) GoString() string {
  5839  	return s.String()
  5840  }
  5841  
  5842  // SetPipeline sets the Pipeline field's value.
  5843  func (s *CancelServicePipelineDeploymentOutput) SetPipeline(v *ServicePipeline) *CancelServicePipelineDeploymentOutput {
  5844  	s.Pipeline = v
  5845  	return s
  5846  }
  5847  
  5848  // Compatible environment template data.
  5849  type CompatibleEnvironmentTemplate struct {
  5850  	_ struct{} `type:"structure"`
  5851  
  5852  	// The major version of the compatible environment template.
  5853  	//
  5854  	// MajorVersion is a required field
  5855  	MajorVersion *string `locationName:"majorVersion" min:"1" type:"string" required:"true"`
  5856  
  5857  	// The compatible environment template name.
  5858  	//
  5859  	// TemplateName is a required field
  5860  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
  5861  }
  5862  
  5863  // String returns the string representation.
  5864  //
  5865  // API parameter values that are decorated as "sensitive" in the API will not
  5866  // be included in the string output. The member name will be present, but the
  5867  // value will be replaced with "sensitive".
  5868  func (s CompatibleEnvironmentTemplate) String() string {
  5869  	return awsutil.Prettify(s)
  5870  }
  5871  
  5872  // GoString returns the string representation.
  5873  //
  5874  // API parameter values that are decorated as "sensitive" in the API will not
  5875  // be included in the string output. The member name will be present, but the
  5876  // value will be replaced with "sensitive".
  5877  func (s CompatibleEnvironmentTemplate) GoString() string {
  5878  	return s.String()
  5879  }
  5880  
  5881  // SetMajorVersion sets the MajorVersion field's value.
  5882  func (s *CompatibleEnvironmentTemplate) SetMajorVersion(v string) *CompatibleEnvironmentTemplate {
  5883  	s.MajorVersion = &v
  5884  	return s
  5885  }
  5886  
  5887  // SetTemplateName sets the TemplateName field's value.
  5888  func (s *CompatibleEnvironmentTemplate) SetTemplateName(v string) *CompatibleEnvironmentTemplate {
  5889  	s.TemplateName = &v
  5890  	return s
  5891  }
  5892  
  5893  // Compatible environment template data.
  5894  type CompatibleEnvironmentTemplateInput struct {
  5895  	_ struct{} `type:"structure"`
  5896  
  5897  	// The major version of the compatible environment template.
  5898  	//
  5899  	// MajorVersion is a required field
  5900  	MajorVersion *string `locationName:"majorVersion" min:"1" type:"string" required:"true"`
  5901  
  5902  	// The compatible environment template name.
  5903  	//
  5904  	// TemplateName is a required field
  5905  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
  5906  }
  5907  
  5908  // String returns the string representation.
  5909  //
  5910  // API parameter values that are decorated as "sensitive" in the API will not
  5911  // be included in the string output. The member name will be present, but the
  5912  // value will be replaced with "sensitive".
  5913  func (s CompatibleEnvironmentTemplateInput) String() string {
  5914  	return awsutil.Prettify(s)
  5915  }
  5916  
  5917  // GoString returns the string representation.
  5918  //
  5919  // API parameter values that are decorated as "sensitive" in the API will not
  5920  // be included in the string output. The member name will be present, but the
  5921  // value will be replaced with "sensitive".
  5922  func (s CompatibleEnvironmentTemplateInput) GoString() string {
  5923  	return s.String()
  5924  }
  5925  
  5926  // Validate inspects the fields of the type to determine if they are valid.
  5927  func (s *CompatibleEnvironmentTemplateInput) Validate() error {
  5928  	invalidParams := request.ErrInvalidParams{Context: "CompatibleEnvironmentTemplateInput"}
  5929  	if s.MajorVersion == nil {
  5930  		invalidParams.Add(request.NewErrParamRequired("MajorVersion"))
  5931  	}
  5932  	if s.MajorVersion != nil && len(*s.MajorVersion) < 1 {
  5933  		invalidParams.Add(request.NewErrParamMinLen("MajorVersion", 1))
  5934  	}
  5935  	if s.TemplateName == nil {
  5936  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
  5937  	}
  5938  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
  5939  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
  5940  	}
  5941  
  5942  	if invalidParams.Len() > 0 {
  5943  		return invalidParams
  5944  	}
  5945  	return nil
  5946  }
  5947  
  5948  // SetMajorVersion sets the MajorVersion field's value.
  5949  func (s *CompatibleEnvironmentTemplateInput) SetMajorVersion(v string) *CompatibleEnvironmentTemplateInput {
  5950  	s.MajorVersion = &v
  5951  	return s
  5952  }
  5953  
  5954  // SetTemplateName sets the TemplateName field's value.
  5955  func (s *CompatibleEnvironmentTemplateInput) SetTemplateName(v string) *CompatibleEnvironmentTemplateInput {
  5956  	s.TemplateName = &v
  5957  	return s
  5958  }
  5959  
  5960  // The request couldn't be made due to a conflicting operation or resource.
  5961  type ConflictException struct {
  5962  	_            struct{}                  `type:"structure"`
  5963  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5964  
  5965  	// Message_ is a sensitive parameter and its value will be
  5966  	// replaced with "sensitive" in string returned by ConflictException's
  5967  	// String and GoString methods.
  5968  	Message_ *string `locationName:"message" type:"string" sensitive:"true"`
  5969  }
  5970  
  5971  // String returns the string representation.
  5972  //
  5973  // API parameter values that are decorated as "sensitive" in the API will not
  5974  // be included in the string output. The member name will be present, but the
  5975  // value will be replaced with "sensitive".
  5976  func (s ConflictException) String() string {
  5977  	return awsutil.Prettify(s)
  5978  }
  5979  
  5980  // GoString returns the string representation.
  5981  //
  5982  // API parameter values that are decorated as "sensitive" in the API will not
  5983  // be included in the string output. The member name will be present, but the
  5984  // value will be replaced with "sensitive".
  5985  func (s ConflictException) GoString() string {
  5986  	return s.String()
  5987  }
  5988  
  5989  func newErrorConflictException(v protocol.ResponseMetadata) error {
  5990  	return &ConflictException{
  5991  		RespMetadata: v,
  5992  	}
  5993  }
  5994  
  5995  // Code returns the exception type name.
  5996  func (s *ConflictException) Code() string {
  5997  	return "ConflictException"
  5998  }
  5999  
  6000  // Message returns the exception's message.
  6001  func (s *ConflictException) Message() string {
  6002  	if s.Message_ != nil {
  6003  		return *s.Message_
  6004  	}
  6005  	return ""
  6006  }
  6007  
  6008  // OrigErr always returns nil, satisfies awserr.Error interface.
  6009  func (s *ConflictException) OrigErr() error {
  6010  	return nil
  6011  }
  6012  
  6013  func (s *ConflictException) Error() string {
  6014  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6015  }
  6016  
  6017  // Status code returns the HTTP status code for the request's response error.
  6018  func (s *ConflictException) StatusCode() int {
  6019  	return s.RespMetadata.StatusCode
  6020  }
  6021  
  6022  // RequestID returns the service's response RequestID for request.
  6023  func (s *ConflictException) RequestID() string {
  6024  	return s.RespMetadata.RequestID
  6025  }
  6026  
  6027  type CreateEnvironmentAccountConnectionInput struct {
  6028  	_ struct{} `type:"structure"`
  6029  
  6030  	// When included, if two identicial requests are made with the same client token,
  6031  	// AWS Proton returns the environment account connection that the first request
  6032  	// created.
  6033  	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
  6034  
  6035  	// The name of the AWS Proton environment that's created in the associated management
  6036  	// account.
  6037  	//
  6038  	// EnvironmentName is a required field
  6039  	EnvironmentName *string `locationName:"environmentName" min:"1" type:"string" required:"true"`
  6040  
  6041  	// The ID of the management account that accepts or rejects the environment
  6042  	// account connection. You create an manage the AWS Proton environment in this
  6043  	// account. If the management account accepts the environment account connection,
  6044  	// AWS Proton can use the associated IAM role to provision environment infrastructure
  6045  	// resources in the associated environment account.
  6046  	//
  6047  	// ManagementAccountId is a required field
  6048  	ManagementAccountId *string `locationName:"managementAccountId" type:"string" required:"true"`
  6049  
  6050  	// The Amazon Resource Name (ARN) of the IAM service role that's created in
  6051  	// the environment account. AWS Proton uses this role to provision infrastructure
  6052  	// resources in the associated environment account.
  6053  	//
  6054  	// RoleArn is a required field
  6055  	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
  6056  }
  6057  
  6058  // String returns the string representation.
  6059  //
  6060  // API parameter values that are decorated as "sensitive" in the API will not
  6061  // be included in the string output. The member name will be present, but the
  6062  // value will be replaced with "sensitive".
  6063  func (s CreateEnvironmentAccountConnectionInput) String() string {
  6064  	return awsutil.Prettify(s)
  6065  }
  6066  
  6067  // GoString returns the string representation.
  6068  //
  6069  // API parameter values that are decorated as "sensitive" in the API will not
  6070  // be included in the string output. The member name will be present, but the
  6071  // value will be replaced with "sensitive".
  6072  func (s CreateEnvironmentAccountConnectionInput) GoString() string {
  6073  	return s.String()
  6074  }
  6075  
  6076  // Validate inspects the fields of the type to determine if they are valid.
  6077  func (s *CreateEnvironmentAccountConnectionInput) Validate() error {
  6078  	invalidParams := request.ErrInvalidParams{Context: "CreateEnvironmentAccountConnectionInput"}
  6079  	if s.EnvironmentName == nil {
  6080  		invalidParams.Add(request.NewErrParamRequired("EnvironmentName"))
  6081  	}
  6082  	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 1 {
  6083  		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 1))
  6084  	}
  6085  	if s.ManagementAccountId == nil {
  6086  		invalidParams.Add(request.NewErrParamRequired("ManagementAccountId"))
  6087  	}
  6088  	if s.RoleArn == nil {
  6089  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  6090  	}
  6091  	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
  6092  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
  6093  	}
  6094  
  6095  	if invalidParams.Len() > 0 {
  6096  		return invalidParams
  6097  	}
  6098  	return nil
  6099  }
  6100  
  6101  // SetClientToken sets the ClientToken field's value.
  6102  func (s *CreateEnvironmentAccountConnectionInput) SetClientToken(v string) *CreateEnvironmentAccountConnectionInput {
  6103  	s.ClientToken = &v
  6104  	return s
  6105  }
  6106  
  6107  // SetEnvironmentName sets the EnvironmentName field's value.
  6108  func (s *CreateEnvironmentAccountConnectionInput) SetEnvironmentName(v string) *CreateEnvironmentAccountConnectionInput {
  6109  	s.EnvironmentName = &v
  6110  	return s
  6111  }
  6112  
  6113  // SetManagementAccountId sets the ManagementAccountId field's value.
  6114  func (s *CreateEnvironmentAccountConnectionInput) SetManagementAccountId(v string) *CreateEnvironmentAccountConnectionInput {
  6115  	s.ManagementAccountId = &v
  6116  	return s
  6117  }
  6118  
  6119  // SetRoleArn sets the RoleArn field's value.
  6120  func (s *CreateEnvironmentAccountConnectionInput) SetRoleArn(v string) *CreateEnvironmentAccountConnectionInput {
  6121  	s.RoleArn = &v
  6122  	return s
  6123  }
  6124  
  6125  type CreateEnvironmentAccountConnectionOutput struct {
  6126  	_ struct{} `type:"structure"`
  6127  
  6128  	// The environment account connection detail data that's returned by AWS Proton.
  6129  	//
  6130  	// EnvironmentAccountConnection is a required field
  6131  	EnvironmentAccountConnection *EnvironmentAccountConnection `locationName:"environmentAccountConnection" type:"structure" required:"true"`
  6132  }
  6133  
  6134  // String returns the string representation.
  6135  //
  6136  // API parameter values that are decorated as "sensitive" in the API will not
  6137  // be included in the string output. The member name will be present, but the
  6138  // value will be replaced with "sensitive".
  6139  func (s CreateEnvironmentAccountConnectionOutput) String() string {
  6140  	return awsutil.Prettify(s)
  6141  }
  6142  
  6143  // GoString returns the string representation.
  6144  //
  6145  // API parameter values that are decorated as "sensitive" in the API will not
  6146  // be included in the string output. The member name will be present, but the
  6147  // value will be replaced with "sensitive".
  6148  func (s CreateEnvironmentAccountConnectionOutput) GoString() string {
  6149  	return s.String()
  6150  }
  6151  
  6152  // SetEnvironmentAccountConnection sets the EnvironmentAccountConnection field's value.
  6153  func (s *CreateEnvironmentAccountConnectionOutput) SetEnvironmentAccountConnection(v *EnvironmentAccountConnection) *CreateEnvironmentAccountConnectionOutput {
  6154  	s.EnvironmentAccountConnection = v
  6155  	return s
  6156  }
  6157  
  6158  type CreateEnvironmentInput struct {
  6159  	_ struct{} `type:"structure"`
  6160  
  6161  	// A description of the environment that's being created and deployed.
  6162  	//
  6163  	// Description is a sensitive parameter and its value will be
  6164  	// replaced with "sensitive" in string returned by CreateEnvironmentInput's
  6165  	// String and GoString methods.
  6166  	Description *string `locationName:"description" type:"string" sensitive:"true"`
  6167  
  6168  	// The ID of the environment account connection that you provide if you're provisioning
  6169  	// your environment infrastructure resources to an environment account. You
  6170  	// must include either the environmentAccountConnectionId or protonServiceRoleArn
  6171  	// parameter and value. For more information, see Environment account connections
  6172  	// (https://docs.aws.amazon.com/proton/latest/adminguide/ag-env-account-connections.html)
  6173  	// in the AWS Proton Administrator guide.
  6174  	EnvironmentAccountConnectionId *string `locationName:"environmentAccountConnectionId" type:"string"`
  6175  
  6176  	// The name of the environment.
  6177  	//
  6178  	// Name is a required field
  6179  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  6180  
  6181  	// The Amazon Resource Name (ARN) of the AWS Proton service role that allows
  6182  	// AWS Proton to make calls to other services on your behalf. You must include
  6183  	// either the environmentAccountConnectionId or protonServiceRoleArn parameter
  6184  	// and value.
  6185  	ProtonServiceRoleArn *string `locationName:"protonServiceRoleArn" min:"1" type:"string"`
  6186  
  6187  	// A link to a YAML formatted spec file that provides inputs as defined in the
  6188  	// environment template bundle schema file. For more information, see Environments
  6189  	// (https://docs.aws.amazon.com/proton/latest/adminguide/ag-environments.html)
  6190  	// in the AWS Proton Administrator Guide.
  6191  	//
  6192  	// Spec is a sensitive parameter and its value will be
  6193  	// replaced with "sensitive" in string returned by CreateEnvironmentInput's
  6194  	// String and GoString methods.
  6195  	//
  6196  	// Spec is a required field
  6197  	Spec *string `locationName:"spec" min:"1" type:"string" required:"true" sensitive:"true"`
  6198  
  6199  	// Create tags for your environment. For more information, see AWS Proton resources
  6200  	// and tagging in the AWS Proton Administrator Guide (https://docs.aws.amazon.com/proton/latest/adminguide/resources.html)
  6201  	// or AWS Proton User Guide (https://docs.aws.amazon.com/proton/latest/userguide/resources.html).
  6202  	Tags []*Tag `locationName:"tags" type:"list"`
  6203  
  6204  	// The ID of the major version of the environment template.
  6205  	//
  6206  	// TemplateMajorVersion is a required field
  6207  	TemplateMajorVersion *string `locationName:"templateMajorVersion" min:"1" type:"string" required:"true"`
  6208  
  6209  	// The ID of the minor version of the environment template.
  6210  	TemplateMinorVersion *string `locationName:"templateMinorVersion" min:"1" type:"string"`
  6211  
  6212  	// The name of the environment template. For more information, see Environment
  6213  	// Templates (https://docs.aws.amazon.com/proton/latest/adminguide/ag-templates.html)
  6214  	// in the AWS Proton Administrator Guide.
  6215  	//
  6216  	// TemplateName is a required field
  6217  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
  6218  }
  6219  
  6220  // String returns the string representation.
  6221  //
  6222  // API parameter values that are decorated as "sensitive" in the API will not
  6223  // be included in the string output. The member name will be present, but the
  6224  // value will be replaced with "sensitive".
  6225  func (s CreateEnvironmentInput) String() string {
  6226  	return awsutil.Prettify(s)
  6227  }
  6228  
  6229  // GoString returns the string representation.
  6230  //
  6231  // API parameter values that are decorated as "sensitive" in the API will not
  6232  // be included in the string output. The member name will be present, but the
  6233  // value will be replaced with "sensitive".
  6234  func (s CreateEnvironmentInput) GoString() string {
  6235  	return s.String()
  6236  }
  6237  
  6238  // Validate inspects the fields of the type to determine if they are valid.
  6239  func (s *CreateEnvironmentInput) Validate() error {
  6240  	invalidParams := request.ErrInvalidParams{Context: "CreateEnvironmentInput"}
  6241  	if s.Name == nil {
  6242  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6243  	}
  6244  	if s.Name != nil && len(*s.Name) < 1 {
  6245  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6246  	}
  6247  	if s.ProtonServiceRoleArn != nil && len(*s.ProtonServiceRoleArn) < 1 {
  6248  		invalidParams.Add(request.NewErrParamMinLen("ProtonServiceRoleArn", 1))
  6249  	}
  6250  	if s.Spec == nil {
  6251  		invalidParams.Add(request.NewErrParamRequired("Spec"))
  6252  	}
  6253  	if s.Spec != nil && len(*s.Spec) < 1 {
  6254  		invalidParams.Add(request.NewErrParamMinLen("Spec", 1))
  6255  	}
  6256  	if s.TemplateMajorVersion == nil {
  6257  		invalidParams.Add(request.NewErrParamRequired("TemplateMajorVersion"))
  6258  	}
  6259  	if s.TemplateMajorVersion != nil && len(*s.TemplateMajorVersion) < 1 {
  6260  		invalidParams.Add(request.NewErrParamMinLen("TemplateMajorVersion", 1))
  6261  	}
  6262  	if s.TemplateMinorVersion != nil && len(*s.TemplateMinorVersion) < 1 {
  6263  		invalidParams.Add(request.NewErrParamMinLen("TemplateMinorVersion", 1))
  6264  	}
  6265  	if s.TemplateName == nil {
  6266  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
  6267  	}
  6268  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
  6269  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
  6270  	}
  6271  	if s.Tags != nil {
  6272  		for i, v := range s.Tags {
  6273  			if v == nil {
  6274  				continue
  6275  			}
  6276  			if err := v.Validate(); err != nil {
  6277  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  6278  			}
  6279  		}
  6280  	}
  6281  
  6282  	if invalidParams.Len() > 0 {
  6283  		return invalidParams
  6284  	}
  6285  	return nil
  6286  }
  6287  
  6288  // SetDescription sets the Description field's value.
  6289  func (s *CreateEnvironmentInput) SetDescription(v string) *CreateEnvironmentInput {
  6290  	s.Description = &v
  6291  	return s
  6292  }
  6293  
  6294  // SetEnvironmentAccountConnectionId sets the EnvironmentAccountConnectionId field's value.
  6295  func (s *CreateEnvironmentInput) SetEnvironmentAccountConnectionId(v string) *CreateEnvironmentInput {
  6296  	s.EnvironmentAccountConnectionId = &v
  6297  	return s
  6298  }
  6299  
  6300  // SetName sets the Name field's value.
  6301  func (s *CreateEnvironmentInput) SetName(v string) *CreateEnvironmentInput {
  6302  	s.Name = &v
  6303  	return s
  6304  }
  6305  
  6306  // SetProtonServiceRoleArn sets the ProtonServiceRoleArn field's value.
  6307  func (s *CreateEnvironmentInput) SetProtonServiceRoleArn(v string) *CreateEnvironmentInput {
  6308  	s.ProtonServiceRoleArn = &v
  6309  	return s
  6310  }
  6311  
  6312  // SetSpec sets the Spec field's value.
  6313  func (s *CreateEnvironmentInput) SetSpec(v string) *CreateEnvironmentInput {
  6314  	s.Spec = &v
  6315  	return s
  6316  }
  6317  
  6318  // SetTags sets the Tags field's value.
  6319  func (s *CreateEnvironmentInput) SetTags(v []*Tag) *CreateEnvironmentInput {
  6320  	s.Tags = v
  6321  	return s
  6322  }
  6323  
  6324  // SetTemplateMajorVersion sets the TemplateMajorVersion field's value.
  6325  func (s *CreateEnvironmentInput) SetTemplateMajorVersion(v string) *CreateEnvironmentInput {
  6326  	s.TemplateMajorVersion = &v
  6327  	return s
  6328  }
  6329  
  6330  // SetTemplateMinorVersion sets the TemplateMinorVersion field's value.
  6331  func (s *CreateEnvironmentInput) SetTemplateMinorVersion(v string) *CreateEnvironmentInput {
  6332  	s.TemplateMinorVersion = &v
  6333  	return s
  6334  }
  6335  
  6336  // SetTemplateName sets the TemplateName field's value.
  6337  func (s *CreateEnvironmentInput) SetTemplateName(v string) *CreateEnvironmentInput {
  6338  	s.TemplateName = &v
  6339  	return s
  6340  }
  6341  
  6342  type CreateEnvironmentOutput struct {
  6343  	_ struct{} `type:"structure"`
  6344  
  6345  	// The environment detail data that's returned by AWS Proton.
  6346  	//
  6347  	// Environment is a required field
  6348  	Environment *Environment `locationName:"environment" type:"structure" required:"true"`
  6349  }
  6350  
  6351  // String returns the string representation.
  6352  //
  6353  // API parameter values that are decorated as "sensitive" in the API will not
  6354  // be included in the string output. The member name will be present, but the
  6355  // value will be replaced with "sensitive".
  6356  func (s CreateEnvironmentOutput) String() string {
  6357  	return awsutil.Prettify(s)
  6358  }
  6359  
  6360  // GoString returns the string representation.
  6361  //
  6362  // API parameter values that are decorated as "sensitive" in the API will not
  6363  // be included in the string output. The member name will be present, but the
  6364  // value will be replaced with "sensitive".
  6365  func (s CreateEnvironmentOutput) GoString() string {
  6366  	return s.String()
  6367  }
  6368  
  6369  // SetEnvironment sets the Environment field's value.
  6370  func (s *CreateEnvironmentOutput) SetEnvironment(v *Environment) *CreateEnvironmentOutput {
  6371  	s.Environment = v
  6372  	return s
  6373  }
  6374  
  6375  type CreateEnvironmentTemplateInput struct {
  6376  	_ struct{} `type:"structure"`
  6377  
  6378  	// A description of the environment template.
  6379  	//
  6380  	// Description is a sensitive parameter and its value will be
  6381  	// replaced with "sensitive" in string returned by CreateEnvironmentTemplateInput's
  6382  	// String and GoString methods.
  6383  	Description *string `locationName:"description" type:"string" sensitive:"true"`
  6384  
  6385  	// The environment template name as displayed in the developer interface.
  6386  	//
  6387  	// DisplayName is a sensitive parameter and its value will be
  6388  	// replaced with "sensitive" in string returned by CreateEnvironmentTemplateInput's
  6389  	// String and GoString methods.
  6390  	DisplayName *string `locationName:"displayName" min:"1" type:"string" sensitive:"true"`
  6391  
  6392  	// A customer provided encryption key that AWS Proton uses to encrypt data.
  6393  	EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"`
  6394  
  6395  	// The name of the environment template.
  6396  	//
  6397  	// Name is a required field
  6398  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  6399  
  6400  	// When included, indicates that the environment template is for customer provisioned
  6401  	// and managed infrastructure.
  6402  	Provisioning *string `locationName:"provisioning" type:"string" enum:"Provisioning"`
  6403  
  6404  	// Create tags for your environment template. For more information, see AWS
  6405  	// Proton resources and tagging in the AWS Proton Administrator Guide (https://docs.aws.amazon.com/proton/latest/adminguide/resources.html)
  6406  	// or AWS Proton User Guide (https://docs.aws.amazon.com/proton/latest/userguide/resources.html).
  6407  	Tags []*Tag `locationName:"tags" type:"list"`
  6408  }
  6409  
  6410  // String returns the string representation.
  6411  //
  6412  // API parameter values that are decorated as "sensitive" in the API will not
  6413  // be included in the string output. The member name will be present, but the
  6414  // value will be replaced with "sensitive".
  6415  func (s CreateEnvironmentTemplateInput) String() string {
  6416  	return awsutil.Prettify(s)
  6417  }
  6418  
  6419  // GoString returns the string representation.
  6420  //
  6421  // API parameter values that are decorated as "sensitive" in the API will not
  6422  // be included in the string output. The member name will be present, but the
  6423  // value will be replaced with "sensitive".
  6424  func (s CreateEnvironmentTemplateInput) GoString() string {
  6425  	return s.String()
  6426  }
  6427  
  6428  // Validate inspects the fields of the type to determine if they are valid.
  6429  func (s *CreateEnvironmentTemplateInput) Validate() error {
  6430  	invalidParams := request.ErrInvalidParams{Context: "CreateEnvironmentTemplateInput"}
  6431  	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
  6432  		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
  6433  	}
  6434  	if s.EncryptionKey != nil && len(*s.EncryptionKey) < 1 {
  6435  		invalidParams.Add(request.NewErrParamMinLen("EncryptionKey", 1))
  6436  	}
  6437  	if s.Name == nil {
  6438  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6439  	}
  6440  	if s.Name != nil && len(*s.Name) < 1 {
  6441  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6442  	}
  6443  	if s.Tags != nil {
  6444  		for i, v := range s.Tags {
  6445  			if v == nil {
  6446  				continue
  6447  			}
  6448  			if err := v.Validate(); err != nil {
  6449  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  6450  			}
  6451  		}
  6452  	}
  6453  
  6454  	if invalidParams.Len() > 0 {
  6455  		return invalidParams
  6456  	}
  6457  	return nil
  6458  }
  6459  
  6460  // SetDescription sets the Description field's value.
  6461  func (s *CreateEnvironmentTemplateInput) SetDescription(v string) *CreateEnvironmentTemplateInput {
  6462  	s.Description = &v
  6463  	return s
  6464  }
  6465  
  6466  // SetDisplayName sets the DisplayName field's value.
  6467  func (s *CreateEnvironmentTemplateInput) SetDisplayName(v string) *CreateEnvironmentTemplateInput {
  6468  	s.DisplayName = &v
  6469  	return s
  6470  }
  6471  
  6472  // SetEncryptionKey sets the EncryptionKey field's value.
  6473  func (s *CreateEnvironmentTemplateInput) SetEncryptionKey(v string) *CreateEnvironmentTemplateInput {
  6474  	s.EncryptionKey = &v
  6475  	return s
  6476  }
  6477  
  6478  // SetName sets the Name field's value.
  6479  func (s *CreateEnvironmentTemplateInput) SetName(v string) *CreateEnvironmentTemplateInput {
  6480  	s.Name = &v
  6481  	return s
  6482  }
  6483  
  6484  // SetProvisioning sets the Provisioning field's value.
  6485  func (s *CreateEnvironmentTemplateInput) SetProvisioning(v string) *CreateEnvironmentTemplateInput {
  6486  	s.Provisioning = &v
  6487  	return s
  6488  }
  6489  
  6490  // SetTags sets the Tags field's value.
  6491  func (s *CreateEnvironmentTemplateInput) SetTags(v []*Tag) *CreateEnvironmentTemplateInput {
  6492  	s.Tags = v
  6493  	return s
  6494  }
  6495  
  6496  type CreateEnvironmentTemplateOutput struct {
  6497  	_ struct{} `type:"structure"`
  6498  
  6499  	// The environment template detail data that's returned by AWS Proton.
  6500  	//
  6501  	// EnvironmentTemplate is a required field
  6502  	EnvironmentTemplate *EnvironmentTemplate `locationName:"environmentTemplate" type:"structure" required:"true"`
  6503  }
  6504  
  6505  // String returns the string representation.
  6506  //
  6507  // API parameter values that are decorated as "sensitive" in the API will not
  6508  // be included in the string output. The member name will be present, but the
  6509  // value will be replaced with "sensitive".
  6510  func (s CreateEnvironmentTemplateOutput) String() string {
  6511  	return awsutil.Prettify(s)
  6512  }
  6513  
  6514  // GoString returns the string representation.
  6515  //
  6516  // API parameter values that are decorated as "sensitive" in the API will not
  6517  // be included in the string output. The member name will be present, but the
  6518  // value will be replaced with "sensitive".
  6519  func (s CreateEnvironmentTemplateOutput) GoString() string {
  6520  	return s.String()
  6521  }
  6522  
  6523  // SetEnvironmentTemplate sets the EnvironmentTemplate field's value.
  6524  func (s *CreateEnvironmentTemplateOutput) SetEnvironmentTemplate(v *EnvironmentTemplate) *CreateEnvironmentTemplateOutput {
  6525  	s.EnvironmentTemplate = v
  6526  	return s
  6527  }
  6528  
  6529  type CreateEnvironmentTemplateVersionInput struct {
  6530  	_ struct{} `type:"structure"`
  6531  
  6532  	// When included, if two identicial requests are made with the same client token,
  6533  	// AWS Proton returns the environment template version that the first request
  6534  	// created.
  6535  	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
  6536  
  6537  	// A description of the new version of an environment template.
  6538  	//
  6539  	// Description is a sensitive parameter and its value will be
  6540  	// replaced with "sensitive" in string returned by CreateEnvironmentTemplateVersionInput's
  6541  	// String and GoString methods.
  6542  	Description *string `locationName:"description" type:"string" sensitive:"true"`
  6543  
  6544  	// To create a new minor version of the environment template, include a majorVersion.
  6545  	//
  6546  	// To create a new major and minor version of the environment template, exclude
  6547  	// majorVersion.
  6548  	MajorVersion *string `locationName:"majorVersion" min:"1" type:"string"`
  6549  
  6550  	// An object that includes the template bundle S3 bucket path and name for the
  6551  	// new version of an template.
  6552  	//
  6553  	// Source is a required field
  6554  	Source *TemplateVersionSourceInput `locationName:"source" type:"structure" required:"true"`
  6555  
  6556  	// Create tags for a new version of an environment template.
  6557  	Tags []*Tag `locationName:"tags" type:"list"`
  6558  
  6559  	// The name of the environment template.
  6560  	//
  6561  	// TemplateName is a required field
  6562  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
  6563  }
  6564  
  6565  // String returns the string representation.
  6566  //
  6567  // API parameter values that are decorated as "sensitive" in the API will not
  6568  // be included in the string output. The member name will be present, but the
  6569  // value will be replaced with "sensitive".
  6570  func (s CreateEnvironmentTemplateVersionInput) String() string {
  6571  	return awsutil.Prettify(s)
  6572  }
  6573  
  6574  // GoString returns the string representation.
  6575  //
  6576  // API parameter values that are decorated as "sensitive" in the API will not
  6577  // be included in the string output. The member name will be present, but the
  6578  // value will be replaced with "sensitive".
  6579  func (s CreateEnvironmentTemplateVersionInput) GoString() string {
  6580  	return s.String()
  6581  }
  6582  
  6583  // Validate inspects the fields of the type to determine if they are valid.
  6584  func (s *CreateEnvironmentTemplateVersionInput) Validate() error {
  6585  	invalidParams := request.ErrInvalidParams{Context: "CreateEnvironmentTemplateVersionInput"}
  6586  	if s.MajorVersion != nil && len(*s.MajorVersion) < 1 {
  6587  		invalidParams.Add(request.NewErrParamMinLen("MajorVersion", 1))
  6588  	}
  6589  	if s.Source == nil {
  6590  		invalidParams.Add(request.NewErrParamRequired("Source"))
  6591  	}
  6592  	if s.TemplateName == nil {
  6593  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
  6594  	}
  6595  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
  6596  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
  6597  	}
  6598  	if s.Source != nil {
  6599  		if err := s.Source.Validate(); err != nil {
  6600  			invalidParams.AddNested("Source", err.(request.ErrInvalidParams))
  6601  		}
  6602  	}
  6603  	if s.Tags != nil {
  6604  		for i, v := range s.Tags {
  6605  			if v == nil {
  6606  				continue
  6607  			}
  6608  			if err := v.Validate(); err != nil {
  6609  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  6610  			}
  6611  		}
  6612  	}
  6613  
  6614  	if invalidParams.Len() > 0 {
  6615  		return invalidParams
  6616  	}
  6617  	return nil
  6618  }
  6619  
  6620  // SetClientToken sets the ClientToken field's value.
  6621  func (s *CreateEnvironmentTemplateVersionInput) SetClientToken(v string) *CreateEnvironmentTemplateVersionInput {
  6622  	s.ClientToken = &v
  6623  	return s
  6624  }
  6625  
  6626  // SetDescription sets the Description field's value.
  6627  func (s *CreateEnvironmentTemplateVersionInput) SetDescription(v string) *CreateEnvironmentTemplateVersionInput {
  6628  	s.Description = &v
  6629  	return s
  6630  }
  6631  
  6632  // SetMajorVersion sets the MajorVersion field's value.
  6633  func (s *CreateEnvironmentTemplateVersionInput) SetMajorVersion(v string) *CreateEnvironmentTemplateVersionInput {
  6634  	s.MajorVersion = &v
  6635  	return s
  6636  }
  6637  
  6638  // SetSource sets the Source field's value.
  6639  func (s *CreateEnvironmentTemplateVersionInput) SetSource(v *TemplateVersionSourceInput) *CreateEnvironmentTemplateVersionInput {
  6640  	s.Source = v
  6641  	return s
  6642  }
  6643  
  6644  // SetTags sets the Tags field's value.
  6645  func (s *CreateEnvironmentTemplateVersionInput) SetTags(v []*Tag) *CreateEnvironmentTemplateVersionInput {
  6646  	s.Tags = v
  6647  	return s
  6648  }
  6649  
  6650  // SetTemplateName sets the TemplateName field's value.
  6651  func (s *CreateEnvironmentTemplateVersionInput) SetTemplateName(v string) *CreateEnvironmentTemplateVersionInput {
  6652  	s.TemplateName = &v
  6653  	return s
  6654  }
  6655  
  6656  type CreateEnvironmentTemplateVersionOutput struct {
  6657  	_ struct{} `type:"structure"`
  6658  
  6659  	// The environment template detail data that's returned by AWS Proton.
  6660  	//
  6661  	// EnvironmentTemplateVersion is a required field
  6662  	EnvironmentTemplateVersion *EnvironmentTemplateVersion `locationName:"environmentTemplateVersion" type:"structure" required:"true"`
  6663  }
  6664  
  6665  // String returns the string representation.
  6666  //
  6667  // API parameter values that are decorated as "sensitive" in the API will not
  6668  // be included in the string output. The member name will be present, but the
  6669  // value will be replaced with "sensitive".
  6670  func (s CreateEnvironmentTemplateVersionOutput) String() string {
  6671  	return awsutil.Prettify(s)
  6672  }
  6673  
  6674  // GoString returns the string representation.
  6675  //
  6676  // API parameter values that are decorated as "sensitive" in the API will not
  6677  // be included in the string output. The member name will be present, but the
  6678  // value will be replaced with "sensitive".
  6679  func (s CreateEnvironmentTemplateVersionOutput) GoString() string {
  6680  	return s.String()
  6681  }
  6682  
  6683  // SetEnvironmentTemplateVersion sets the EnvironmentTemplateVersion field's value.
  6684  func (s *CreateEnvironmentTemplateVersionOutput) SetEnvironmentTemplateVersion(v *EnvironmentTemplateVersion) *CreateEnvironmentTemplateVersionOutput {
  6685  	s.EnvironmentTemplateVersion = v
  6686  	return s
  6687  }
  6688  
  6689  type CreateServiceInput struct {
  6690  	_ struct{} `type:"structure"`
  6691  
  6692  	// The name of the code repository branch that holds the code that's deployed
  6693  	// in AWS Proton. Don't include this parameter if your service template doesn't
  6694  	// include a service pipeline.
  6695  	BranchName *string `locationName:"branchName" min:"1" type:"string"`
  6696  
  6697  	// A description of the AWS Proton service.
  6698  	//
  6699  	// Description is a sensitive parameter and its value will be
  6700  	// replaced with "sensitive" in string returned by CreateServiceInput's
  6701  	// String and GoString methods.
  6702  	Description *string `locationName:"description" type:"string" sensitive:"true"`
  6703  
  6704  	// The service name.
  6705  	//
  6706  	// Name is a required field
  6707  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  6708  
  6709  	// The Amazon Resource Name (ARN) of the repository connection. For more information,
  6710  	// see Set up repository connection (https://docs.aws.amazon.com/proton/latest/adminguide/setting-up-for-service.html#setting-up-vcontrol)
  6711  	// in the AWS Proton Administrator Guide and Setting up with AWS Proton (https://docs.aws.amazon.com/proton/latest/userguide/proton-setup.html#setup-repo-connection)
  6712  	// in the AWS Proton User Guide. Don't include this parameter if your service
  6713  	// template doesn't include a service pipeline.
  6714  	RepositoryConnectionArn *string `locationName:"repositoryConnectionArn" min:"1" type:"string"`
  6715  
  6716  	// The ID of the code repository. Don't include this parameter if your service
  6717  	// template doesn't include a service pipeline.
  6718  	RepositoryId *string `locationName:"repositoryId" min:"1" type:"string"`
  6719  
  6720  	// A link to a spec file that provides inputs as defined in the service template
  6721  	// bundle schema file. The spec file is in YAML format. Don’t include pipeline
  6722  	// inputs in the spec if your service template doesn’t include a service pipeline.
  6723  	// For more information, see Create a service (https://docs.aws.amazon.com/proton/latest/adminguide/ag-create-svc.html.html)
  6724  	// in the AWS Proton Administrator Guide and Create a service (https://docs.aws.amazon.com/proton/latest/userguide/ug-svc-create.html)
  6725  	// in the AWS Proton User Guide.
  6726  	//
  6727  	// Spec is a sensitive parameter and its value will be
  6728  	// replaced with "sensitive" in string returned by CreateServiceInput's
  6729  	// String and GoString methods.
  6730  	//
  6731  	// Spec is a required field
  6732  	Spec *string `locationName:"spec" min:"1" type:"string" required:"true" sensitive:"true"`
  6733  
  6734  	// Create tags for your service. For more information, see AWS Proton resources
  6735  	// and tagging in the AWS Proton Administrator Guide (https://docs.aws.amazon.com/proton/latest/adminguide/resources.html)
  6736  	// or AWS Proton User Guide (https://docs.aws.amazon.com/proton/latest/userguide/resources.html).
  6737  	Tags []*Tag `locationName:"tags" type:"list"`
  6738  
  6739  	// The ID of the major version of the service template that was used to create
  6740  	// the service.
  6741  	//
  6742  	// TemplateMajorVersion is a required field
  6743  	TemplateMajorVersion *string `locationName:"templateMajorVersion" min:"1" type:"string" required:"true"`
  6744  
  6745  	// The ID of the minor version of the service template that was used to create
  6746  	// the service.
  6747  	TemplateMinorVersion *string `locationName:"templateMinorVersion" min:"1" type:"string"`
  6748  
  6749  	// The name of the service template that's used to create the service.
  6750  	//
  6751  	// TemplateName is a required field
  6752  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
  6753  }
  6754  
  6755  // String returns the string representation.
  6756  //
  6757  // API parameter values that are decorated as "sensitive" in the API will not
  6758  // be included in the string output. The member name will be present, but the
  6759  // value will be replaced with "sensitive".
  6760  func (s CreateServiceInput) String() string {
  6761  	return awsutil.Prettify(s)
  6762  }
  6763  
  6764  // GoString returns the string representation.
  6765  //
  6766  // API parameter values that are decorated as "sensitive" in the API will not
  6767  // be included in the string output. The member name will be present, but the
  6768  // value will be replaced with "sensitive".
  6769  func (s CreateServiceInput) GoString() string {
  6770  	return s.String()
  6771  }
  6772  
  6773  // Validate inspects the fields of the type to determine if they are valid.
  6774  func (s *CreateServiceInput) Validate() error {
  6775  	invalidParams := request.ErrInvalidParams{Context: "CreateServiceInput"}
  6776  	if s.BranchName != nil && len(*s.BranchName) < 1 {
  6777  		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
  6778  	}
  6779  	if s.Name == nil {
  6780  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6781  	}
  6782  	if s.Name != nil && len(*s.Name) < 1 {
  6783  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6784  	}
  6785  	if s.RepositoryConnectionArn != nil && len(*s.RepositoryConnectionArn) < 1 {
  6786  		invalidParams.Add(request.NewErrParamMinLen("RepositoryConnectionArn", 1))
  6787  	}
  6788  	if s.RepositoryId != nil && len(*s.RepositoryId) < 1 {
  6789  		invalidParams.Add(request.NewErrParamMinLen("RepositoryId", 1))
  6790  	}
  6791  	if s.Spec == nil {
  6792  		invalidParams.Add(request.NewErrParamRequired("Spec"))
  6793  	}
  6794  	if s.Spec != nil && len(*s.Spec) < 1 {
  6795  		invalidParams.Add(request.NewErrParamMinLen("Spec", 1))
  6796  	}
  6797  	if s.TemplateMajorVersion == nil {
  6798  		invalidParams.Add(request.NewErrParamRequired("TemplateMajorVersion"))
  6799  	}
  6800  	if s.TemplateMajorVersion != nil && len(*s.TemplateMajorVersion) < 1 {
  6801  		invalidParams.Add(request.NewErrParamMinLen("TemplateMajorVersion", 1))
  6802  	}
  6803  	if s.TemplateMinorVersion != nil && len(*s.TemplateMinorVersion) < 1 {
  6804  		invalidParams.Add(request.NewErrParamMinLen("TemplateMinorVersion", 1))
  6805  	}
  6806  	if s.TemplateName == nil {
  6807  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
  6808  	}
  6809  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
  6810  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
  6811  	}
  6812  	if s.Tags != nil {
  6813  		for i, v := range s.Tags {
  6814  			if v == nil {
  6815  				continue
  6816  			}
  6817  			if err := v.Validate(); err != nil {
  6818  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  6819  			}
  6820  		}
  6821  	}
  6822  
  6823  	if invalidParams.Len() > 0 {
  6824  		return invalidParams
  6825  	}
  6826  	return nil
  6827  }
  6828  
  6829  // SetBranchName sets the BranchName field's value.
  6830  func (s *CreateServiceInput) SetBranchName(v string) *CreateServiceInput {
  6831  	s.BranchName = &v
  6832  	return s
  6833  }
  6834  
  6835  // SetDescription sets the Description field's value.
  6836  func (s *CreateServiceInput) SetDescription(v string) *CreateServiceInput {
  6837  	s.Description = &v
  6838  	return s
  6839  }
  6840  
  6841  // SetName sets the Name field's value.
  6842  func (s *CreateServiceInput) SetName(v string) *CreateServiceInput {
  6843  	s.Name = &v
  6844  	return s
  6845  }
  6846  
  6847  // SetRepositoryConnectionArn sets the RepositoryConnectionArn field's value.
  6848  func (s *CreateServiceInput) SetRepositoryConnectionArn(v string) *CreateServiceInput {
  6849  	s.RepositoryConnectionArn = &v
  6850  	return s
  6851  }
  6852  
  6853  // SetRepositoryId sets the RepositoryId field's value.
  6854  func (s *CreateServiceInput) SetRepositoryId(v string) *CreateServiceInput {
  6855  	s.RepositoryId = &v
  6856  	return s
  6857  }
  6858  
  6859  // SetSpec sets the Spec field's value.
  6860  func (s *CreateServiceInput) SetSpec(v string) *CreateServiceInput {
  6861  	s.Spec = &v
  6862  	return s
  6863  }
  6864  
  6865  // SetTags sets the Tags field's value.
  6866  func (s *CreateServiceInput) SetTags(v []*Tag) *CreateServiceInput {
  6867  	s.Tags = v
  6868  	return s
  6869  }
  6870  
  6871  // SetTemplateMajorVersion sets the TemplateMajorVersion field's value.
  6872  func (s *CreateServiceInput) SetTemplateMajorVersion(v string) *CreateServiceInput {
  6873  	s.TemplateMajorVersion = &v
  6874  	return s
  6875  }
  6876  
  6877  // SetTemplateMinorVersion sets the TemplateMinorVersion field's value.
  6878  func (s *CreateServiceInput) SetTemplateMinorVersion(v string) *CreateServiceInput {
  6879  	s.TemplateMinorVersion = &v
  6880  	return s
  6881  }
  6882  
  6883  // SetTemplateName sets the TemplateName field's value.
  6884  func (s *CreateServiceInput) SetTemplateName(v string) *CreateServiceInput {
  6885  	s.TemplateName = &v
  6886  	return s
  6887  }
  6888  
  6889  type CreateServiceOutput struct {
  6890  	_ struct{} `type:"structure"`
  6891  
  6892  	// The service detail data that's returned by AWS Proton.
  6893  	//
  6894  	// Service is a required field
  6895  	Service *Service `locationName:"service" type:"structure" required:"true"`
  6896  }
  6897  
  6898  // String returns the string representation.
  6899  //
  6900  // API parameter values that are decorated as "sensitive" in the API will not
  6901  // be included in the string output. The member name will be present, but the
  6902  // value will be replaced with "sensitive".
  6903  func (s CreateServiceOutput) String() string {
  6904  	return awsutil.Prettify(s)
  6905  }
  6906  
  6907  // GoString returns the string representation.
  6908  //
  6909  // API parameter values that are decorated as "sensitive" in the API will not
  6910  // be included in the string output. The member name will be present, but the
  6911  // value will be replaced with "sensitive".
  6912  func (s CreateServiceOutput) GoString() string {
  6913  	return s.String()
  6914  }
  6915  
  6916  // SetService sets the Service field's value.
  6917  func (s *CreateServiceOutput) SetService(v *Service) *CreateServiceOutput {
  6918  	s.Service = v
  6919  	return s
  6920  }
  6921  
  6922  type CreateServiceTemplateInput struct {
  6923  	_ struct{} `type:"structure"`
  6924  
  6925  	// A description of the service template.
  6926  	//
  6927  	// Description is a sensitive parameter and its value will be
  6928  	// replaced with "sensitive" in string returned by CreateServiceTemplateInput's
  6929  	// String and GoString methods.
  6930  	Description *string `locationName:"description" type:"string" sensitive:"true"`
  6931  
  6932  	// The name of the service template as displayed in the developer interface.
  6933  	//
  6934  	// DisplayName is a sensitive parameter and its value will be
  6935  	// replaced with "sensitive" in string returned by CreateServiceTemplateInput's
  6936  	// String and GoString methods.
  6937  	DisplayName *string `locationName:"displayName" min:"1" type:"string" sensitive:"true"`
  6938  
  6939  	// A customer provided encryption key that's used to encrypt data.
  6940  	EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"`
  6941  
  6942  	// The name of the service template.
  6943  	//
  6944  	// Name is a required field
  6945  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  6946  
  6947  	// AWS Proton includes a service pipeline for your service by default. When
  6948  	// included, this parameter indicates that an AWS Proton service pipeline won't
  6949  	// be included for your service. Once specified, this parameter can't be changed.
  6950  	// For more information, see Service template bundles (https://docs.aws.amazon.com/proton/latest/adminguide/ag-template-bundles.html)
  6951  	// in the AWS Proton Administrator Guide.
  6952  	PipelineProvisioning *string `locationName:"pipelineProvisioning" type:"string" enum:"Provisioning"`
  6953  
  6954  	// Create tags for your service template. For more information, see AWS Proton
  6955  	// resources and tagging in the AWS Proton Administrator Guide (https://docs.aws.amazon.com/proton/latest/adminguide/resources.html)
  6956  	// or AWS Proton User Guide (https://docs.aws.amazon.com/proton/latest/userguide/resources.html).
  6957  	Tags []*Tag `locationName:"tags" type:"list"`
  6958  }
  6959  
  6960  // String returns the string representation.
  6961  //
  6962  // API parameter values that are decorated as "sensitive" in the API will not
  6963  // be included in the string output. The member name will be present, but the
  6964  // value will be replaced with "sensitive".
  6965  func (s CreateServiceTemplateInput) String() string {
  6966  	return awsutil.Prettify(s)
  6967  }
  6968  
  6969  // GoString returns the string representation.
  6970  //
  6971  // API parameter values that are decorated as "sensitive" in the API will not
  6972  // be included in the string output. The member name will be present, but the
  6973  // value will be replaced with "sensitive".
  6974  func (s CreateServiceTemplateInput) GoString() string {
  6975  	return s.String()
  6976  }
  6977  
  6978  // Validate inspects the fields of the type to determine if they are valid.
  6979  func (s *CreateServiceTemplateInput) Validate() error {
  6980  	invalidParams := request.ErrInvalidParams{Context: "CreateServiceTemplateInput"}
  6981  	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
  6982  		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
  6983  	}
  6984  	if s.EncryptionKey != nil && len(*s.EncryptionKey) < 1 {
  6985  		invalidParams.Add(request.NewErrParamMinLen("EncryptionKey", 1))
  6986  	}
  6987  	if s.Name == nil {
  6988  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6989  	}
  6990  	if s.Name != nil && len(*s.Name) < 1 {
  6991  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6992  	}
  6993  	if s.Tags != nil {
  6994  		for i, v := range s.Tags {
  6995  			if v == nil {
  6996  				continue
  6997  			}
  6998  			if err := v.Validate(); err != nil {
  6999  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  7000  			}
  7001  		}
  7002  	}
  7003  
  7004  	if invalidParams.Len() > 0 {
  7005  		return invalidParams
  7006  	}
  7007  	return nil
  7008  }
  7009  
  7010  // SetDescription sets the Description field's value.
  7011  func (s *CreateServiceTemplateInput) SetDescription(v string) *CreateServiceTemplateInput {
  7012  	s.Description = &v
  7013  	return s
  7014  }
  7015  
  7016  // SetDisplayName sets the DisplayName field's value.
  7017  func (s *CreateServiceTemplateInput) SetDisplayName(v string) *CreateServiceTemplateInput {
  7018  	s.DisplayName = &v
  7019  	return s
  7020  }
  7021  
  7022  // SetEncryptionKey sets the EncryptionKey field's value.
  7023  func (s *CreateServiceTemplateInput) SetEncryptionKey(v string) *CreateServiceTemplateInput {
  7024  	s.EncryptionKey = &v
  7025  	return s
  7026  }
  7027  
  7028  // SetName sets the Name field's value.
  7029  func (s *CreateServiceTemplateInput) SetName(v string) *CreateServiceTemplateInput {
  7030  	s.Name = &v
  7031  	return s
  7032  }
  7033  
  7034  // SetPipelineProvisioning sets the PipelineProvisioning field's value.
  7035  func (s *CreateServiceTemplateInput) SetPipelineProvisioning(v string) *CreateServiceTemplateInput {
  7036  	s.PipelineProvisioning = &v
  7037  	return s
  7038  }
  7039  
  7040  // SetTags sets the Tags field's value.
  7041  func (s *CreateServiceTemplateInput) SetTags(v []*Tag) *CreateServiceTemplateInput {
  7042  	s.Tags = v
  7043  	return s
  7044  }
  7045  
  7046  type CreateServiceTemplateOutput struct {
  7047  	_ struct{} `type:"structure"`
  7048  
  7049  	// The service template detail data that's returned by AWS Proton.
  7050  	//
  7051  	// ServiceTemplate is a required field
  7052  	ServiceTemplate *ServiceTemplate `locationName:"serviceTemplate" type:"structure" required:"true"`
  7053  }
  7054  
  7055  // String returns the string representation.
  7056  //
  7057  // API parameter values that are decorated as "sensitive" in the API will not
  7058  // be included in the string output. The member name will be present, but the
  7059  // value will be replaced with "sensitive".
  7060  func (s CreateServiceTemplateOutput) String() string {
  7061  	return awsutil.Prettify(s)
  7062  }
  7063  
  7064  // GoString returns the string representation.
  7065  //
  7066  // API parameter values that are decorated as "sensitive" in the API will not
  7067  // be included in the string output. The member name will be present, but the
  7068  // value will be replaced with "sensitive".
  7069  func (s CreateServiceTemplateOutput) GoString() string {
  7070  	return s.String()
  7071  }
  7072  
  7073  // SetServiceTemplate sets the ServiceTemplate field's value.
  7074  func (s *CreateServiceTemplateOutput) SetServiceTemplate(v *ServiceTemplate) *CreateServiceTemplateOutput {
  7075  	s.ServiceTemplate = v
  7076  	return s
  7077  }
  7078  
  7079  type CreateServiceTemplateVersionInput struct {
  7080  	_ struct{} `type:"structure"`
  7081  
  7082  	// When included, if two identicial requests are made with the same client token,
  7083  	// AWS Proton returns the service template version that the first request created.
  7084  	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
  7085  
  7086  	// An array of compatible environment template objects for the new version of
  7087  	// a service template.
  7088  	//
  7089  	// CompatibleEnvironmentTemplates is a required field
  7090  	CompatibleEnvironmentTemplates []*CompatibleEnvironmentTemplateInput `locationName:"compatibleEnvironmentTemplates" min:"1" type:"list" required:"true"`
  7091  
  7092  	// A description of the new version of a service template.
  7093  	//
  7094  	// Description is a sensitive parameter and its value will be
  7095  	// replaced with "sensitive" in string returned by CreateServiceTemplateVersionInput's
  7096  	// String and GoString methods.
  7097  	Description *string `locationName:"description" type:"string" sensitive:"true"`
  7098  
  7099  	// To create a new minor version of the service template, include a majorVersion.
  7100  	//
  7101  	// To create a new major and minor version of the service template, exclude
  7102  	// majorVersion.
  7103  	MajorVersion *string `locationName:"majorVersion" min:"1" type:"string"`
  7104  
  7105  	// An object that includes the template bundle S3 bucket path and name for the
  7106  	// new version of a service template.
  7107  	//
  7108  	// Source is a required field
  7109  	Source *TemplateVersionSourceInput `locationName:"source" type:"structure" required:"true"`
  7110  
  7111  	// Create tags for a new version of a service template.
  7112  	Tags []*Tag `locationName:"tags" type:"list"`
  7113  
  7114  	// The name of the service template.
  7115  	//
  7116  	// TemplateName is a required field
  7117  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
  7118  }
  7119  
  7120  // String returns the string representation.
  7121  //
  7122  // API parameter values that are decorated as "sensitive" in the API will not
  7123  // be included in the string output. The member name will be present, but the
  7124  // value will be replaced with "sensitive".
  7125  func (s CreateServiceTemplateVersionInput) String() string {
  7126  	return awsutil.Prettify(s)
  7127  }
  7128  
  7129  // GoString returns the string representation.
  7130  //
  7131  // API parameter values that are decorated as "sensitive" in the API will not
  7132  // be included in the string output. The member name will be present, but the
  7133  // value will be replaced with "sensitive".
  7134  func (s CreateServiceTemplateVersionInput) GoString() string {
  7135  	return s.String()
  7136  }
  7137  
  7138  // Validate inspects the fields of the type to determine if they are valid.
  7139  func (s *CreateServiceTemplateVersionInput) Validate() error {
  7140  	invalidParams := request.ErrInvalidParams{Context: "CreateServiceTemplateVersionInput"}
  7141  	if s.CompatibleEnvironmentTemplates == nil {
  7142  		invalidParams.Add(request.NewErrParamRequired("CompatibleEnvironmentTemplates"))
  7143  	}
  7144  	if s.CompatibleEnvironmentTemplates != nil && len(s.CompatibleEnvironmentTemplates) < 1 {
  7145  		invalidParams.Add(request.NewErrParamMinLen("CompatibleEnvironmentTemplates", 1))
  7146  	}
  7147  	if s.MajorVersion != nil && len(*s.MajorVersion) < 1 {
  7148  		invalidParams.Add(request.NewErrParamMinLen("MajorVersion", 1))
  7149  	}
  7150  	if s.Source == nil {
  7151  		invalidParams.Add(request.NewErrParamRequired("Source"))
  7152  	}
  7153  	if s.TemplateName == nil {
  7154  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
  7155  	}
  7156  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
  7157  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
  7158  	}
  7159  	if s.CompatibleEnvironmentTemplates != nil {
  7160  		for i, v := range s.CompatibleEnvironmentTemplates {
  7161  			if v == nil {
  7162  				continue
  7163  			}
  7164  			if err := v.Validate(); err != nil {
  7165  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CompatibleEnvironmentTemplates", i), err.(request.ErrInvalidParams))
  7166  			}
  7167  		}
  7168  	}
  7169  	if s.Source != nil {
  7170  		if err := s.Source.Validate(); err != nil {
  7171  			invalidParams.AddNested("Source", err.(request.ErrInvalidParams))
  7172  		}
  7173  	}
  7174  	if s.Tags != nil {
  7175  		for i, v := range s.Tags {
  7176  			if v == nil {
  7177  				continue
  7178  			}
  7179  			if err := v.Validate(); err != nil {
  7180  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  7181  			}
  7182  		}
  7183  	}
  7184  
  7185  	if invalidParams.Len() > 0 {
  7186  		return invalidParams
  7187  	}
  7188  	return nil
  7189  }
  7190  
  7191  // SetClientToken sets the ClientToken field's value.
  7192  func (s *CreateServiceTemplateVersionInput) SetClientToken(v string) *CreateServiceTemplateVersionInput {
  7193  	s.ClientToken = &v
  7194  	return s
  7195  }
  7196  
  7197  // SetCompatibleEnvironmentTemplates sets the CompatibleEnvironmentTemplates field's value.
  7198  func (s *CreateServiceTemplateVersionInput) SetCompatibleEnvironmentTemplates(v []*CompatibleEnvironmentTemplateInput) *CreateServiceTemplateVersionInput {
  7199  	s.CompatibleEnvironmentTemplates = v
  7200  	return s
  7201  }
  7202  
  7203  // SetDescription sets the Description field's value.
  7204  func (s *CreateServiceTemplateVersionInput) SetDescription(v string) *CreateServiceTemplateVersionInput {
  7205  	s.Description = &v
  7206  	return s
  7207  }
  7208  
  7209  // SetMajorVersion sets the MajorVersion field's value.
  7210  func (s *CreateServiceTemplateVersionInput) SetMajorVersion(v string) *CreateServiceTemplateVersionInput {
  7211  	s.MajorVersion = &v
  7212  	return s
  7213  }
  7214  
  7215  // SetSource sets the Source field's value.
  7216  func (s *CreateServiceTemplateVersionInput) SetSource(v *TemplateVersionSourceInput) *CreateServiceTemplateVersionInput {
  7217  	s.Source = v
  7218  	return s
  7219  }
  7220  
  7221  // SetTags sets the Tags field's value.
  7222  func (s *CreateServiceTemplateVersionInput) SetTags(v []*Tag) *CreateServiceTemplateVersionInput {
  7223  	s.Tags = v
  7224  	return s
  7225  }
  7226  
  7227  // SetTemplateName sets the TemplateName field's value.
  7228  func (s *CreateServiceTemplateVersionInput) SetTemplateName(v string) *CreateServiceTemplateVersionInput {
  7229  	s.TemplateName = &v
  7230  	return s
  7231  }
  7232  
  7233  type CreateServiceTemplateVersionOutput struct {
  7234  	_ struct{} `type:"structure"`
  7235  
  7236  	// The service template version summary of detail data that's returned by AWS
  7237  	// Proton.
  7238  	//
  7239  	// ServiceTemplateVersion is a required field
  7240  	ServiceTemplateVersion *ServiceTemplateVersion `locationName:"serviceTemplateVersion" type:"structure" required:"true"`
  7241  }
  7242  
  7243  // String returns the string representation.
  7244  //
  7245  // API parameter values that are decorated as "sensitive" in the API will not
  7246  // be included in the string output. The member name will be present, but the
  7247  // value will be replaced with "sensitive".
  7248  func (s CreateServiceTemplateVersionOutput) String() string {
  7249  	return awsutil.Prettify(s)
  7250  }
  7251  
  7252  // GoString returns the string representation.
  7253  //
  7254  // API parameter values that are decorated as "sensitive" in the API will not
  7255  // be included in the string output. The member name will be present, but the
  7256  // value will be replaced with "sensitive".
  7257  func (s CreateServiceTemplateVersionOutput) GoString() string {
  7258  	return s.String()
  7259  }
  7260  
  7261  // SetServiceTemplateVersion sets the ServiceTemplateVersion field's value.
  7262  func (s *CreateServiceTemplateVersionOutput) SetServiceTemplateVersion(v *ServiceTemplateVersion) *CreateServiceTemplateVersionOutput {
  7263  	s.ServiceTemplateVersion = v
  7264  	return s
  7265  }
  7266  
  7267  type DeleteEnvironmentAccountConnectionInput struct {
  7268  	_ struct{} `type:"structure"`
  7269  
  7270  	// The ID of the environment account connection to delete.
  7271  	//
  7272  	// Id is a required field
  7273  	Id *string `locationName:"id" type:"string" required:"true"`
  7274  }
  7275  
  7276  // String returns the string representation.
  7277  //
  7278  // API parameter values that are decorated as "sensitive" in the API will not
  7279  // be included in the string output. The member name will be present, but the
  7280  // value will be replaced with "sensitive".
  7281  func (s DeleteEnvironmentAccountConnectionInput) String() string {
  7282  	return awsutil.Prettify(s)
  7283  }
  7284  
  7285  // GoString returns the string representation.
  7286  //
  7287  // API parameter values that are decorated as "sensitive" in the API will not
  7288  // be included in the string output. The member name will be present, but the
  7289  // value will be replaced with "sensitive".
  7290  func (s DeleteEnvironmentAccountConnectionInput) GoString() string {
  7291  	return s.String()
  7292  }
  7293  
  7294  // Validate inspects the fields of the type to determine if they are valid.
  7295  func (s *DeleteEnvironmentAccountConnectionInput) Validate() error {
  7296  	invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentAccountConnectionInput"}
  7297  	if s.Id == nil {
  7298  		invalidParams.Add(request.NewErrParamRequired("Id"))
  7299  	}
  7300  
  7301  	if invalidParams.Len() > 0 {
  7302  		return invalidParams
  7303  	}
  7304  	return nil
  7305  }
  7306  
  7307  // SetId sets the Id field's value.
  7308  func (s *DeleteEnvironmentAccountConnectionInput) SetId(v string) *DeleteEnvironmentAccountConnectionInput {
  7309  	s.Id = &v
  7310  	return s
  7311  }
  7312  
  7313  type DeleteEnvironmentAccountConnectionOutput struct {
  7314  	_ struct{} `type:"structure"`
  7315  
  7316  	// The environment account connection detail data that's returned by AWS Proton.
  7317  	EnvironmentAccountConnection *EnvironmentAccountConnection `locationName:"environmentAccountConnection" type:"structure"`
  7318  }
  7319  
  7320  // String returns the string representation.
  7321  //
  7322  // API parameter values that are decorated as "sensitive" in the API will not
  7323  // be included in the string output. The member name will be present, but the
  7324  // value will be replaced with "sensitive".
  7325  func (s DeleteEnvironmentAccountConnectionOutput) String() string {
  7326  	return awsutil.Prettify(s)
  7327  }
  7328  
  7329  // GoString returns the string representation.
  7330  //
  7331  // API parameter values that are decorated as "sensitive" in the API will not
  7332  // be included in the string output. The member name will be present, but the
  7333  // value will be replaced with "sensitive".
  7334  func (s DeleteEnvironmentAccountConnectionOutput) GoString() string {
  7335  	return s.String()
  7336  }
  7337  
  7338  // SetEnvironmentAccountConnection sets the EnvironmentAccountConnection field's value.
  7339  func (s *DeleteEnvironmentAccountConnectionOutput) SetEnvironmentAccountConnection(v *EnvironmentAccountConnection) *DeleteEnvironmentAccountConnectionOutput {
  7340  	s.EnvironmentAccountConnection = v
  7341  	return s
  7342  }
  7343  
  7344  type DeleteEnvironmentInput struct {
  7345  	_ struct{} `type:"structure"`
  7346  
  7347  	// The name of the environment to delete.
  7348  	//
  7349  	// Name is a required field
  7350  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  7351  }
  7352  
  7353  // String returns the string representation.
  7354  //
  7355  // API parameter values that are decorated as "sensitive" in the API will not
  7356  // be included in the string output. The member name will be present, but the
  7357  // value will be replaced with "sensitive".
  7358  func (s DeleteEnvironmentInput) String() string {
  7359  	return awsutil.Prettify(s)
  7360  }
  7361  
  7362  // GoString returns the string representation.
  7363  //
  7364  // API parameter values that are decorated as "sensitive" in the API will not
  7365  // be included in the string output. The member name will be present, but the
  7366  // value will be replaced with "sensitive".
  7367  func (s DeleteEnvironmentInput) GoString() string {
  7368  	return s.String()
  7369  }
  7370  
  7371  // Validate inspects the fields of the type to determine if they are valid.
  7372  func (s *DeleteEnvironmentInput) Validate() error {
  7373  	invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentInput"}
  7374  	if s.Name == nil {
  7375  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7376  	}
  7377  	if s.Name != nil && len(*s.Name) < 1 {
  7378  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7379  	}
  7380  
  7381  	if invalidParams.Len() > 0 {
  7382  		return invalidParams
  7383  	}
  7384  	return nil
  7385  }
  7386  
  7387  // SetName sets the Name field's value.
  7388  func (s *DeleteEnvironmentInput) SetName(v string) *DeleteEnvironmentInput {
  7389  	s.Name = &v
  7390  	return s
  7391  }
  7392  
  7393  type DeleteEnvironmentOutput struct {
  7394  	_ struct{} `type:"structure"`
  7395  
  7396  	// The environment detail data that's returned by AWS Proton.
  7397  	Environment *Environment `locationName:"environment" type:"structure"`
  7398  }
  7399  
  7400  // String returns the string representation.
  7401  //
  7402  // API parameter values that are decorated as "sensitive" in the API will not
  7403  // be included in the string output. The member name will be present, but the
  7404  // value will be replaced with "sensitive".
  7405  func (s DeleteEnvironmentOutput) String() string {
  7406  	return awsutil.Prettify(s)
  7407  }
  7408  
  7409  // GoString returns the string representation.
  7410  //
  7411  // API parameter values that are decorated as "sensitive" in the API will not
  7412  // be included in the string output. The member name will be present, but the
  7413  // value will be replaced with "sensitive".
  7414  func (s DeleteEnvironmentOutput) GoString() string {
  7415  	return s.String()
  7416  }
  7417  
  7418  // SetEnvironment sets the Environment field's value.
  7419  func (s *DeleteEnvironmentOutput) SetEnvironment(v *Environment) *DeleteEnvironmentOutput {
  7420  	s.Environment = v
  7421  	return s
  7422  }
  7423  
  7424  type DeleteEnvironmentTemplateInput struct {
  7425  	_ struct{} `type:"structure"`
  7426  
  7427  	// The name of the environment template to delete.
  7428  	//
  7429  	// Name is a required field
  7430  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  7431  }
  7432  
  7433  // String returns the string representation.
  7434  //
  7435  // API parameter values that are decorated as "sensitive" in the API will not
  7436  // be included in the string output. The member name will be present, but the
  7437  // value will be replaced with "sensitive".
  7438  func (s DeleteEnvironmentTemplateInput) String() string {
  7439  	return awsutil.Prettify(s)
  7440  }
  7441  
  7442  // GoString returns the string representation.
  7443  //
  7444  // API parameter values that are decorated as "sensitive" in the API will not
  7445  // be included in the string output. The member name will be present, but the
  7446  // value will be replaced with "sensitive".
  7447  func (s DeleteEnvironmentTemplateInput) GoString() string {
  7448  	return s.String()
  7449  }
  7450  
  7451  // Validate inspects the fields of the type to determine if they are valid.
  7452  func (s *DeleteEnvironmentTemplateInput) Validate() error {
  7453  	invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentTemplateInput"}
  7454  	if s.Name == nil {
  7455  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7456  	}
  7457  	if s.Name != nil && len(*s.Name) < 1 {
  7458  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7459  	}
  7460  
  7461  	if invalidParams.Len() > 0 {
  7462  		return invalidParams
  7463  	}
  7464  	return nil
  7465  }
  7466  
  7467  // SetName sets the Name field's value.
  7468  func (s *DeleteEnvironmentTemplateInput) SetName(v string) *DeleteEnvironmentTemplateInput {
  7469  	s.Name = &v
  7470  	return s
  7471  }
  7472  
  7473  type DeleteEnvironmentTemplateOutput struct {
  7474  	_ struct{} `type:"structure"`
  7475  
  7476  	// The environment template detail data that's returned by AWS Proton.
  7477  	EnvironmentTemplate *EnvironmentTemplate `locationName:"environmentTemplate" type:"structure"`
  7478  }
  7479  
  7480  // String returns the string representation.
  7481  //
  7482  // API parameter values that are decorated as "sensitive" in the API will not
  7483  // be included in the string output. The member name will be present, but the
  7484  // value will be replaced with "sensitive".
  7485  func (s DeleteEnvironmentTemplateOutput) String() string {
  7486  	return awsutil.Prettify(s)
  7487  }
  7488  
  7489  // GoString returns the string representation.
  7490  //
  7491  // API parameter values that are decorated as "sensitive" in the API will not
  7492  // be included in the string output. The member name will be present, but the
  7493  // value will be replaced with "sensitive".
  7494  func (s DeleteEnvironmentTemplateOutput) GoString() string {
  7495  	return s.String()
  7496  }
  7497  
  7498  // SetEnvironmentTemplate sets the EnvironmentTemplate field's value.
  7499  func (s *DeleteEnvironmentTemplateOutput) SetEnvironmentTemplate(v *EnvironmentTemplate) *DeleteEnvironmentTemplateOutput {
  7500  	s.EnvironmentTemplate = v
  7501  	return s
  7502  }
  7503  
  7504  type DeleteEnvironmentTemplateVersionInput struct {
  7505  	_ struct{} `type:"structure"`
  7506  
  7507  	// The environment template major version to delete.
  7508  	//
  7509  	// MajorVersion is a required field
  7510  	MajorVersion *string `locationName:"majorVersion" min:"1" type:"string" required:"true"`
  7511  
  7512  	// The environment template minor version to delete.
  7513  	//
  7514  	// MinorVersion is a required field
  7515  	MinorVersion *string `locationName:"minorVersion" min:"1" type:"string" required:"true"`
  7516  
  7517  	// The name of the environment template.
  7518  	//
  7519  	// TemplateName is a required field
  7520  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
  7521  }
  7522  
  7523  // String returns the string representation.
  7524  //
  7525  // API parameter values that are decorated as "sensitive" in the API will not
  7526  // be included in the string output. The member name will be present, but the
  7527  // value will be replaced with "sensitive".
  7528  func (s DeleteEnvironmentTemplateVersionInput) String() string {
  7529  	return awsutil.Prettify(s)
  7530  }
  7531  
  7532  // GoString returns the string representation.
  7533  //
  7534  // API parameter values that are decorated as "sensitive" in the API will not
  7535  // be included in the string output. The member name will be present, but the
  7536  // value will be replaced with "sensitive".
  7537  func (s DeleteEnvironmentTemplateVersionInput) GoString() string {
  7538  	return s.String()
  7539  }
  7540  
  7541  // Validate inspects the fields of the type to determine if they are valid.
  7542  func (s *DeleteEnvironmentTemplateVersionInput) Validate() error {
  7543  	invalidParams := request.ErrInvalidParams{Context: "DeleteEnvironmentTemplateVersionInput"}
  7544  	if s.MajorVersion == nil {
  7545  		invalidParams.Add(request.NewErrParamRequired("MajorVersion"))
  7546  	}
  7547  	if s.MajorVersion != nil && len(*s.MajorVersion) < 1 {
  7548  		invalidParams.Add(request.NewErrParamMinLen("MajorVersion", 1))
  7549  	}
  7550  	if s.MinorVersion == nil {
  7551  		invalidParams.Add(request.NewErrParamRequired("MinorVersion"))
  7552  	}
  7553  	if s.MinorVersion != nil && len(*s.MinorVersion) < 1 {
  7554  		invalidParams.Add(request.NewErrParamMinLen("MinorVersion", 1))
  7555  	}
  7556  	if s.TemplateName == nil {
  7557  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
  7558  	}
  7559  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
  7560  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
  7561  	}
  7562  
  7563  	if invalidParams.Len() > 0 {
  7564  		return invalidParams
  7565  	}
  7566  	return nil
  7567  }
  7568  
  7569  // SetMajorVersion sets the MajorVersion field's value.
  7570  func (s *DeleteEnvironmentTemplateVersionInput) SetMajorVersion(v string) *DeleteEnvironmentTemplateVersionInput {
  7571  	s.MajorVersion = &v
  7572  	return s
  7573  }
  7574  
  7575  // SetMinorVersion sets the MinorVersion field's value.
  7576  func (s *DeleteEnvironmentTemplateVersionInput) SetMinorVersion(v string) *DeleteEnvironmentTemplateVersionInput {
  7577  	s.MinorVersion = &v
  7578  	return s
  7579  }
  7580  
  7581  // SetTemplateName sets the TemplateName field's value.
  7582  func (s *DeleteEnvironmentTemplateVersionInput) SetTemplateName(v string) *DeleteEnvironmentTemplateVersionInput {
  7583  	s.TemplateName = &v
  7584  	return s
  7585  }
  7586  
  7587  type DeleteEnvironmentTemplateVersionOutput struct {
  7588  	_ struct{} `type:"structure"`
  7589  
  7590  	// The environment template version detail data that's returned by AWS Proton.
  7591  	EnvironmentTemplateVersion *EnvironmentTemplateVersion `locationName:"environmentTemplateVersion" type:"structure"`
  7592  }
  7593  
  7594  // String returns the string representation.
  7595  //
  7596  // API parameter values that are decorated as "sensitive" in the API will not
  7597  // be included in the string output. The member name will be present, but the
  7598  // value will be replaced with "sensitive".
  7599  func (s DeleteEnvironmentTemplateVersionOutput) String() string {
  7600  	return awsutil.Prettify(s)
  7601  }
  7602  
  7603  // GoString returns the string representation.
  7604  //
  7605  // API parameter values that are decorated as "sensitive" in the API will not
  7606  // be included in the string output. The member name will be present, but the
  7607  // value will be replaced with "sensitive".
  7608  func (s DeleteEnvironmentTemplateVersionOutput) GoString() string {
  7609  	return s.String()
  7610  }
  7611  
  7612  // SetEnvironmentTemplateVersion sets the EnvironmentTemplateVersion field's value.
  7613  func (s *DeleteEnvironmentTemplateVersionOutput) SetEnvironmentTemplateVersion(v *EnvironmentTemplateVersion) *DeleteEnvironmentTemplateVersionOutput {
  7614  	s.EnvironmentTemplateVersion = v
  7615  	return s
  7616  }
  7617  
  7618  type DeleteServiceInput struct {
  7619  	_ struct{} `type:"structure"`
  7620  
  7621  	// The name of the service to delete.
  7622  	//
  7623  	// Name is a required field
  7624  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  7625  }
  7626  
  7627  // String returns the string representation.
  7628  //
  7629  // API parameter values that are decorated as "sensitive" in the API will not
  7630  // be included in the string output. The member name will be present, but the
  7631  // value will be replaced with "sensitive".
  7632  func (s DeleteServiceInput) String() string {
  7633  	return awsutil.Prettify(s)
  7634  }
  7635  
  7636  // GoString returns the string representation.
  7637  //
  7638  // API parameter values that are decorated as "sensitive" in the API will not
  7639  // be included in the string output. The member name will be present, but the
  7640  // value will be replaced with "sensitive".
  7641  func (s DeleteServiceInput) GoString() string {
  7642  	return s.String()
  7643  }
  7644  
  7645  // Validate inspects the fields of the type to determine if they are valid.
  7646  func (s *DeleteServiceInput) Validate() error {
  7647  	invalidParams := request.ErrInvalidParams{Context: "DeleteServiceInput"}
  7648  	if s.Name == nil {
  7649  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7650  	}
  7651  	if s.Name != nil && len(*s.Name) < 1 {
  7652  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7653  	}
  7654  
  7655  	if invalidParams.Len() > 0 {
  7656  		return invalidParams
  7657  	}
  7658  	return nil
  7659  }
  7660  
  7661  // SetName sets the Name field's value.
  7662  func (s *DeleteServiceInput) SetName(v string) *DeleteServiceInput {
  7663  	s.Name = &v
  7664  	return s
  7665  }
  7666  
  7667  type DeleteServiceOutput struct {
  7668  	_ struct{} `type:"structure"`
  7669  
  7670  	// The service detail data that's returned by AWS Proton.
  7671  	Service *Service `locationName:"service" type:"structure"`
  7672  }
  7673  
  7674  // String returns the string representation.
  7675  //
  7676  // API parameter values that are decorated as "sensitive" in the API will not
  7677  // be included in the string output. The member name will be present, but the
  7678  // value will be replaced with "sensitive".
  7679  func (s DeleteServiceOutput) String() string {
  7680  	return awsutil.Prettify(s)
  7681  }
  7682  
  7683  // GoString returns the string representation.
  7684  //
  7685  // API parameter values that are decorated as "sensitive" in the API will not
  7686  // be included in the string output. The member name will be present, but the
  7687  // value will be replaced with "sensitive".
  7688  func (s DeleteServiceOutput) GoString() string {
  7689  	return s.String()
  7690  }
  7691  
  7692  // SetService sets the Service field's value.
  7693  func (s *DeleteServiceOutput) SetService(v *Service) *DeleteServiceOutput {
  7694  	s.Service = v
  7695  	return s
  7696  }
  7697  
  7698  type DeleteServiceTemplateInput struct {
  7699  	_ struct{} `type:"structure"`
  7700  
  7701  	// The name of the service template to delete.
  7702  	//
  7703  	// Name is a required field
  7704  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  7705  }
  7706  
  7707  // String returns the string representation.
  7708  //
  7709  // API parameter values that are decorated as "sensitive" in the API will not
  7710  // be included in the string output. The member name will be present, but the
  7711  // value will be replaced with "sensitive".
  7712  func (s DeleteServiceTemplateInput) String() string {
  7713  	return awsutil.Prettify(s)
  7714  }
  7715  
  7716  // GoString returns the string representation.
  7717  //
  7718  // API parameter values that are decorated as "sensitive" in the API will not
  7719  // be included in the string output. The member name will be present, but the
  7720  // value will be replaced with "sensitive".
  7721  func (s DeleteServiceTemplateInput) GoString() string {
  7722  	return s.String()
  7723  }
  7724  
  7725  // Validate inspects the fields of the type to determine if they are valid.
  7726  func (s *DeleteServiceTemplateInput) Validate() error {
  7727  	invalidParams := request.ErrInvalidParams{Context: "DeleteServiceTemplateInput"}
  7728  	if s.Name == nil {
  7729  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7730  	}
  7731  	if s.Name != nil && len(*s.Name) < 1 {
  7732  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7733  	}
  7734  
  7735  	if invalidParams.Len() > 0 {
  7736  		return invalidParams
  7737  	}
  7738  	return nil
  7739  }
  7740  
  7741  // SetName sets the Name field's value.
  7742  func (s *DeleteServiceTemplateInput) SetName(v string) *DeleteServiceTemplateInput {
  7743  	s.Name = &v
  7744  	return s
  7745  }
  7746  
  7747  type DeleteServiceTemplateOutput struct {
  7748  	_ struct{} `type:"structure"`
  7749  
  7750  	// The service template detail data that's returned by AWS Proton.
  7751  	ServiceTemplate *ServiceTemplate `locationName:"serviceTemplate" type:"structure"`
  7752  }
  7753  
  7754  // String returns the string representation.
  7755  //
  7756  // API parameter values that are decorated as "sensitive" in the API will not
  7757  // be included in the string output. The member name will be present, but the
  7758  // value will be replaced with "sensitive".
  7759  func (s DeleteServiceTemplateOutput) String() string {
  7760  	return awsutil.Prettify(s)
  7761  }
  7762  
  7763  // GoString returns the string representation.
  7764  //
  7765  // API parameter values that are decorated as "sensitive" in the API will not
  7766  // be included in the string output. The member name will be present, but the
  7767  // value will be replaced with "sensitive".
  7768  func (s DeleteServiceTemplateOutput) GoString() string {
  7769  	return s.String()
  7770  }
  7771  
  7772  // SetServiceTemplate sets the ServiceTemplate field's value.
  7773  func (s *DeleteServiceTemplateOutput) SetServiceTemplate(v *ServiceTemplate) *DeleteServiceTemplateOutput {
  7774  	s.ServiceTemplate = v
  7775  	return s
  7776  }
  7777  
  7778  type DeleteServiceTemplateVersionInput struct {
  7779  	_ struct{} `type:"structure"`
  7780  
  7781  	// The service template major version to delete.
  7782  	//
  7783  	// MajorVersion is a required field
  7784  	MajorVersion *string `locationName:"majorVersion" min:"1" type:"string" required:"true"`
  7785  
  7786  	// The service template minor version to delete.
  7787  	//
  7788  	// MinorVersion is a required field
  7789  	MinorVersion *string `locationName:"minorVersion" min:"1" type:"string" required:"true"`
  7790  
  7791  	// The name of the service template.
  7792  	//
  7793  	// TemplateName is a required field
  7794  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
  7795  }
  7796  
  7797  // String returns the string representation.
  7798  //
  7799  // API parameter values that are decorated as "sensitive" in the API will not
  7800  // be included in the string output. The member name will be present, but the
  7801  // value will be replaced with "sensitive".
  7802  func (s DeleteServiceTemplateVersionInput) String() string {
  7803  	return awsutil.Prettify(s)
  7804  }
  7805  
  7806  // GoString returns the string representation.
  7807  //
  7808  // API parameter values that are decorated as "sensitive" in the API will not
  7809  // be included in the string output. The member name will be present, but the
  7810  // value will be replaced with "sensitive".
  7811  func (s DeleteServiceTemplateVersionInput) GoString() string {
  7812  	return s.String()
  7813  }
  7814  
  7815  // Validate inspects the fields of the type to determine if they are valid.
  7816  func (s *DeleteServiceTemplateVersionInput) Validate() error {
  7817  	invalidParams := request.ErrInvalidParams{Context: "DeleteServiceTemplateVersionInput"}
  7818  	if s.MajorVersion == nil {
  7819  		invalidParams.Add(request.NewErrParamRequired("MajorVersion"))
  7820  	}
  7821  	if s.MajorVersion != nil && len(*s.MajorVersion) < 1 {
  7822  		invalidParams.Add(request.NewErrParamMinLen("MajorVersion", 1))
  7823  	}
  7824  	if s.MinorVersion == nil {
  7825  		invalidParams.Add(request.NewErrParamRequired("MinorVersion"))
  7826  	}
  7827  	if s.MinorVersion != nil && len(*s.MinorVersion) < 1 {
  7828  		invalidParams.Add(request.NewErrParamMinLen("MinorVersion", 1))
  7829  	}
  7830  	if s.TemplateName == nil {
  7831  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
  7832  	}
  7833  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
  7834  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
  7835  	}
  7836  
  7837  	if invalidParams.Len() > 0 {
  7838  		return invalidParams
  7839  	}
  7840  	return nil
  7841  }
  7842  
  7843  // SetMajorVersion sets the MajorVersion field's value.
  7844  func (s *DeleteServiceTemplateVersionInput) SetMajorVersion(v string) *DeleteServiceTemplateVersionInput {
  7845  	s.MajorVersion = &v
  7846  	return s
  7847  }
  7848  
  7849  // SetMinorVersion sets the MinorVersion field's value.
  7850  func (s *DeleteServiceTemplateVersionInput) SetMinorVersion(v string) *DeleteServiceTemplateVersionInput {
  7851  	s.MinorVersion = &v
  7852  	return s
  7853  }
  7854  
  7855  // SetTemplateName sets the TemplateName field's value.
  7856  func (s *DeleteServiceTemplateVersionInput) SetTemplateName(v string) *DeleteServiceTemplateVersionInput {
  7857  	s.TemplateName = &v
  7858  	return s
  7859  }
  7860  
  7861  type DeleteServiceTemplateVersionOutput struct {
  7862  	_ struct{} `type:"structure"`
  7863  
  7864  	// The service template version detail data that's returned by AWS Proton.
  7865  	ServiceTemplateVersion *ServiceTemplateVersion `locationName:"serviceTemplateVersion" type:"structure"`
  7866  }
  7867  
  7868  // String returns the string representation.
  7869  //
  7870  // API parameter values that are decorated as "sensitive" in the API will not
  7871  // be included in the string output. The member name will be present, but the
  7872  // value will be replaced with "sensitive".
  7873  func (s DeleteServiceTemplateVersionOutput) String() string {
  7874  	return awsutil.Prettify(s)
  7875  }
  7876  
  7877  // GoString returns the string representation.
  7878  //
  7879  // API parameter values that are decorated as "sensitive" in the API will not
  7880  // be included in the string output. The member name will be present, but the
  7881  // value will be replaced with "sensitive".
  7882  func (s DeleteServiceTemplateVersionOutput) GoString() string {
  7883  	return s.String()
  7884  }
  7885  
  7886  // SetServiceTemplateVersion sets the ServiceTemplateVersion field's value.
  7887  func (s *DeleteServiceTemplateVersionOutput) SetServiceTemplateVersion(v *ServiceTemplateVersion) *DeleteServiceTemplateVersionOutput {
  7888  	s.ServiceTemplateVersion = v
  7889  	return s
  7890  }
  7891  
  7892  // The environment detail data. An AWS Proton environment is a set resources
  7893  // shared across an AWS Proton service.
  7894  type Environment struct {
  7895  	_ struct{} `type:"structure"`
  7896  
  7897  	// The Amazon Resource Name (ARN) of the environment.
  7898  	//
  7899  	// Arn is a required field
  7900  	Arn *string `locationName:"arn" type:"string" required:"true"`
  7901  
  7902  	// The time when the environment was created.
  7903  	//
  7904  	// CreatedAt is a required field
  7905  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
  7906  
  7907  	// The environment deployment status.
  7908  	//
  7909  	// DeploymentStatus is a required field
  7910  	DeploymentStatus *string `locationName:"deploymentStatus" type:"string" required:"true" enum:"DeploymentStatus"`
  7911  
  7912  	// An environment deployment status message.
  7913  	//
  7914  	// DeploymentStatusMessage is a sensitive parameter and its value will be
  7915  	// replaced with "sensitive" in string returned by Environment's
  7916  	// String and GoString methods.
  7917  	DeploymentStatusMessage *string `locationName:"deploymentStatusMessage" type:"string" sensitive:"true"`
  7918  
  7919  	// The description of the environment.
  7920  	//
  7921  	// Description is a sensitive parameter and its value will be
  7922  	// replaced with "sensitive" in string returned by Environment's
  7923  	// String and GoString methods.
  7924  	Description *string `locationName:"description" type:"string" sensitive:"true"`
  7925  
  7926  	// The ID of the environment account connection that's used to provision infrastructure
  7927  	// resources in an environment account.
  7928  	EnvironmentAccountConnectionId *string `locationName:"environmentAccountConnectionId" type:"string"`
  7929  
  7930  	// The ID of the environment account that the environment infrastructure resources
  7931  	// are provisioned in.
  7932  	EnvironmentAccountId *string `locationName:"environmentAccountId" type:"string"`
  7933  
  7934  	// The time when a deployment of the environment was last attempted.
  7935  	//
  7936  	// LastDeploymentAttemptedAt is a required field
  7937  	LastDeploymentAttemptedAt *time.Time `locationName:"lastDeploymentAttemptedAt" type:"timestamp" required:"true"`
  7938  
  7939  	// The time when the environment was last deployed successfully.
  7940  	//
  7941  	// LastDeploymentSucceededAt is a required field
  7942  	LastDeploymentSucceededAt *time.Time `locationName:"lastDeploymentSucceededAt" type:"timestamp" required:"true"`
  7943  
  7944  	// The name of the environment.
  7945  	//
  7946  	// Name is a required field
  7947  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  7948  
  7949  	// The Amazon Resource Name (ARN) of the AWS Proton service role that allows
  7950  	// AWS Proton to make calls to other services on your behalf.
  7951  	ProtonServiceRoleArn *string `locationName:"protonServiceRoleArn" min:"1" type:"string"`
  7952  
  7953  	// When included, indicates that the environment template is for customer provisioned
  7954  	// and managed infrastructure.
  7955  	Provisioning *string `locationName:"provisioning" type:"string" enum:"Provisioning"`
  7956  
  7957  	// The environment spec.
  7958  	//
  7959  	// Spec is a sensitive parameter and its value will be
  7960  	// replaced with "sensitive" in string returned by Environment's
  7961  	// String and GoString methods.
  7962  	Spec *string `locationName:"spec" min:"1" type:"string" sensitive:"true"`
  7963  
  7964  	// The ID of the major version of the environment template.
  7965  	//
  7966  	// TemplateMajorVersion is a required field
  7967  	TemplateMajorVersion *string `locationName:"templateMajorVersion" min:"1" type:"string" required:"true"`
  7968  
  7969  	// The ID of the minor version of the environment template.
  7970  	//
  7971  	// TemplateMinorVersion is a required field
  7972  	TemplateMinorVersion *string `locationName:"templateMinorVersion" min:"1" type:"string" required:"true"`
  7973  
  7974  	// The Amazon Resource Name (ARN) of the environment template.
  7975  	//
  7976  	// TemplateName is a required field
  7977  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
  7978  }
  7979  
  7980  // String returns the string representation.
  7981  //
  7982  // API parameter values that are decorated as "sensitive" in the API will not
  7983  // be included in the string output. The member name will be present, but the
  7984  // value will be replaced with "sensitive".
  7985  func (s Environment) String() string {
  7986  	return awsutil.Prettify(s)
  7987  }
  7988  
  7989  // GoString returns the string representation.
  7990  //
  7991  // API parameter values that are decorated as "sensitive" in the API will not
  7992  // be included in the string output. The member name will be present, but the
  7993  // value will be replaced with "sensitive".
  7994  func (s Environment) GoString() string {
  7995  	return s.String()
  7996  }
  7997  
  7998  // SetArn sets the Arn field's value.
  7999  func (s *Environment) SetArn(v string) *Environment {
  8000  	s.Arn = &v
  8001  	return s
  8002  }
  8003  
  8004  // SetCreatedAt sets the CreatedAt field's value.
  8005  func (s *Environment) SetCreatedAt(v time.Time) *Environment {
  8006  	s.CreatedAt = &v
  8007  	return s
  8008  }
  8009  
  8010  // SetDeploymentStatus sets the DeploymentStatus field's value.
  8011  func (s *Environment) SetDeploymentStatus(v string) *Environment {
  8012  	s.DeploymentStatus = &v
  8013  	return s
  8014  }
  8015  
  8016  // SetDeploymentStatusMessage sets the DeploymentStatusMessage field's value.
  8017  func (s *Environment) SetDeploymentStatusMessage(v string) *Environment {
  8018  	s.DeploymentStatusMessage = &v
  8019  	return s
  8020  }
  8021  
  8022  // SetDescription sets the Description field's value.
  8023  func (s *Environment) SetDescription(v string) *Environment {
  8024  	s.Description = &v
  8025  	return s
  8026  }
  8027  
  8028  // SetEnvironmentAccountConnectionId sets the EnvironmentAccountConnectionId field's value.
  8029  func (s *Environment) SetEnvironmentAccountConnectionId(v string) *Environment {
  8030  	s.EnvironmentAccountConnectionId = &v
  8031  	return s
  8032  }
  8033  
  8034  // SetEnvironmentAccountId sets the EnvironmentAccountId field's value.
  8035  func (s *Environment) SetEnvironmentAccountId(v string) *Environment {
  8036  	s.EnvironmentAccountId = &v
  8037  	return s
  8038  }
  8039  
  8040  // SetLastDeploymentAttemptedAt sets the LastDeploymentAttemptedAt field's value.
  8041  func (s *Environment) SetLastDeploymentAttemptedAt(v time.Time) *Environment {
  8042  	s.LastDeploymentAttemptedAt = &v
  8043  	return s
  8044  }
  8045  
  8046  // SetLastDeploymentSucceededAt sets the LastDeploymentSucceededAt field's value.
  8047  func (s *Environment) SetLastDeploymentSucceededAt(v time.Time) *Environment {
  8048  	s.LastDeploymentSucceededAt = &v
  8049  	return s
  8050  }
  8051  
  8052  // SetName sets the Name field's value.
  8053  func (s *Environment) SetName(v string) *Environment {
  8054  	s.Name = &v
  8055  	return s
  8056  }
  8057  
  8058  // SetProtonServiceRoleArn sets the ProtonServiceRoleArn field's value.
  8059  func (s *Environment) SetProtonServiceRoleArn(v string) *Environment {
  8060  	s.ProtonServiceRoleArn = &v
  8061  	return s
  8062  }
  8063  
  8064  // SetProvisioning sets the Provisioning field's value.
  8065  func (s *Environment) SetProvisioning(v string) *Environment {
  8066  	s.Provisioning = &v
  8067  	return s
  8068  }
  8069  
  8070  // SetSpec sets the Spec field's value.
  8071  func (s *Environment) SetSpec(v string) *Environment {
  8072  	s.Spec = &v
  8073  	return s
  8074  }
  8075  
  8076  // SetTemplateMajorVersion sets the TemplateMajorVersion field's value.
  8077  func (s *Environment) SetTemplateMajorVersion(v string) *Environment {
  8078  	s.TemplateMajorVersion = &v
  8079  	return s
  8080  }
  8081  
  8082  // SetTemplateMinorVersion sets the TemplateMinorVersion field's value.
  8083  func (s *Environment) SetTemplateMinorVersion(v string) *Environment {
  8084  	s.TemplateMinorVersion = &v
  8085  	return s
  8086  }
  8087  
  8088  // SetTemplateName sets the TemplateName field's value.
  8089  func (s *Environment) SetTemplateName(v string) *Environment {
  8090  	s.TemplateName = &v
  8091  	return s
  8092  }
  8093  
  8094  // The environment account connection detail data.
  8095  type EnvironmentAccountConnection struct {
  8096  	_ struct{} `type:"structure"`
  8097  
  8098  	// The Amazon Resource Name (ARN) of the environment account connection.
  8099  	//
  8100  	// Arn is a required field
  8101  	Arn *string `locationName:"arn" type:"string" required:"true"`
  8102  
  8103  	// The environment account that's connected to the environment account connection.
  8104  	//
  8105  	// EnvironmentAccountId is a required field
  8106  	EnvironmentAccountId *string `locationName:"environmentAccountId" type:"string" required:"true"`
  8107  
  8108  	// The name of the environment that's associated with the environment account
  8109  	// connection.
  8110  	//
  8111  	// EnvironmentName is a required field
  8112  	EnvironmentName *string `locationName:"environmentName" min:"1" type:"string" required:"true"`
  8113  
  8114  	// The ID of the environment account connection.
  8115  	//
  8116  	// Id is a required field
  8117  	Id *string `locationName:"id" type:"string" required:"true"`
  8118  
  8119  	// The time when the environment account connection was last modified.
  8120  	//
  8121  	// LastModifiedAt is a required field
  8122  	LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp" required:"true"`
  8123  
  8124  	// The ID of the management account that's connected to the environment account
  8125  	// connection.
  8126  	//
  8127  	// ManagementAccountId is a required field
  8128  	ManagementAccountId *string `locationName:"managementAccountId" type:"string" required:"true"`
  8129  
  8130  	// The time when the environment account connection request was made.
  8131  	//
  8132  	// RequestedAt is a required field
  8133  	RequestedAt *time.Time `locationName:"requestedAt" type:"timestamp" required:"true"`
  8134  
  8135  	// The IAM service role that's associated with the environment account connection.
  8136  	//
  8137  	// RoleArn is a required field
  8138  	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
  8139  
  8140  	// The status of the environment account connection.
  8141  	//
  8142  	// Status is a required field
  8143  	Status *string `locationName:"status" type:"string" required:"true" enum:"EnvironmentAccountConnectionStatus"`
  8144  }
  8145  
  8146  // String returns the string representation.
  8147  //
  8148  // API parameter values that are decorated as "sensitive" in the API will not
  8149  // be included in the string output. The member name will be present, but the
  8150  // value will be replaced with "sensitive".
  8151  func (s EnvironmentAccountConnection) String() string {
  8152  	return awsutil.Prettify(s)
  8153  }
  8154  
  8155  // GoString returns the string representation.
  8156  //
  8157  // API parameter values that are decorated as "sensitive" in the API will not
  8158  // be included in the string output. The member name will be present, but the
  8159  // value will be replaced with "sensitive".
  8160  func (s EnvironmentAccountConnection) GoString() string {
  8161  	return s.String()
  8162  }
  8163  
  8164  // SetArn sets the Arn field's value.
  8165  func (s *EnvironmentAccountConnection) SetArn(v string) *EnvironmentAccountConnection {
  8166  	s.Arn = &v
  8167  	return s
  8168  }
  8169  
  8170  // SetEnvironmentAccountId sets the EnvironmentAccountId field's value.
  8171  func (s *EnvironmentAccountConnection) SetEnvironmentAccountId(v string) *EnvironmentAccountConnection {
  8172  	s.EnvironmentAccountId = &v
  8173  	return s
  8174  }
  8175  
  8176  // SetEnvironmentName sets the EnvironmentName field's value.
  8177  func (s *EnvironmentAccountConnection) SetEnvironmentName(v string) *EnvironmentAccountConnection {
  8178  	s.EnvironmentName = &v
  8179  	return s
  8180  }
  8181  
  8182  // SetId sets the Id field's value.
  8183  func (s *EnvironmentAccountConnection) SetId(v string) *EnvironmentAccountConnection {
  8184  	s.Id = &v
  8185  	return s
  8186  }
  8187  
  8188  // SetLastModifiedAt sets the LastModifiedAt field's value.
  8189  func (s *EnvironmentAccountConnection) SetLastModifiedAt(v time.Time) *EnvironmentAccountConnection {
  8190  	s.LastModifiedAt = &v
  8191  	return s
  8192  }
  8193  
  8194  // SetManagementAccountId sets the ManagementAccountId field's value.
  8195  func (s *EnvironmentAccountConnection) SetManagementAccountId(v string) *EnvironmentAccountConnection {
  8196  	s.ManagementAccountId = &v
  8197  	return s
  8198  }
  8199  
  8200  // SetRequestedAt sets the RequestedAt field's value.
  8201  func (s *EnvironmentAccountConnection) SetRequestedAt(v time.Time) *EnvironmentAccountConnection {
  8202  	s.RequestedAt = &v
  8203  	return s
  8204  }
  8205  
  8206  // SetRoleArn sets the RoleArn field's value.
  8207  func (s *EnvironmentAccountConnection) SetRoleArn(v string) *EnvironmentAccountConnection {
  8208  	s.RoleArn = &v
  8209  	return s
  8210  }
  8211  
  8212  // SetStatus sets the Status field's value.
  8213  func (s *EnvironmentAccountConnection) SetStatus(v string) *EnvironmentAccountConnection {
  8214  	s.Status = &v
  8215  	return s
  8216  }
  8217  
  8218  // A summary of the environment account connection detail data.
  8219  type EnvironmentAccountConnectionSummary struct {
  8220  	_ struct{} `type:"structure"`
  8221  
  8222  	// The Amazon Resource Name (ARN) of the environment account connection.
  8223  	//
  8224  	// Arn is a required field
  8225  	Arn *string `locationName:"arn" type:"string" required:"true"`
  8226  
  8227  	// The ID of the environment account that's connected to the environment account
  8228  	// connection.
  8229  	//
  8230  	// EnvironmentAccountId is a required field
  8231  	EnvironmentAccountId *string `locationName:"environmentAccountId" type:"string" required:"true"`
  8232  
  8233  	// The name of the environment that's associated with the environment account
  8234  	// connection.
  8235  	//
  8236  	// EnvironmentName is a required field
  8237  	EnvironmentName *string `locationName:"environmentName" min:"1" type:"string" required:"true"`
  8238  
  8239  	// The ID of the environment account connection.
  8240  	//
  8241  	// Id is a required field
  8242  	Id *string `locationName:"id" type:"string" required:"true"`
  8243  
  8244  	// The time when the environment account connection was last modified.
  8245  	//
  8246  	// LastModifiedAt is a required field
  8247  	LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp" required:"true"`
  8248  
  8249  	// The ID of the management account that's connected to the environment account
  8250  	// connection.
  8251  	//
  8252  	// ManagementAccountId is a required field
  8253  	ManagementAccountId *string `locationName:"managementAccountId" type:"string" required:"true"`
  8254  
  8255  	// The time when the environment account connection request was made.
  8256  	//
  8257  	// RequestedAt is a required field
  8258  	RequestedAt *time.Time `locationName:"requestedAt" type:"timestamp" required:"true"`
  8259  
  8260  	// The IAM service role that's associated with the environment account connection.
  8261  	//
  8262  	// RoleArn is a required field
  8263  	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
  8264  
  8265  	// The status of the environment account connection.
  8266  	//
  8267  	// Status is a required field
  8268  	Status *string `locationName:"status" type:"string" required:"true" enum:"EnvironmentAccountConnectionStatus"`
  8269  }
  8270  
  8271  // String returns the string representation.
  8272  //
  8273  // API parameter values that are decorated as "sensitive" in the API will not
  8274  // be included in the string output. The member name will be present, but the
  8275  // value will be replaced with "sensitive".
  8276  func (s EnvironmentAccountConnectionSummary) String() string {
  8277  	return awsutil.Prettify(s)
  8278  }
  8279  
  8280  // GoString returns the string representation.
  8281  //
  8282  // API parameter values that are decorated as "sensitive" in the API will not
  8283  // be included in the string output. The member name will be present, but the
  8284  // value will be replaced with "sensitive".
  8285  func (s EnvironmentAccountConnectionSummary) GoString() string {
  8286  	return s.String()
  8287  }
  8288  
  8289  // SetArn sets the Arn field's value.
  8290  func (s *EnvironmentAccountConnectionSummary) SetArn(v string) *EnvironmentAccountConnectionSummary {
  8291  	s.Arn = &v
  8292  	return s
  8293  }
  8294  
  8295  // SetEnvironmentAccountId sets the EnvironmentAccountId field's value.
  8296  func (s *EnvironmentAccountConnectionSummary) SetEnvironmentAccountId(v string) *EnvironmentAccountConnectionSummary {
  8297  	s.EnvironmentAccountId = &v
  8298  	return s
  8299  }
  8300  
  8301  // SetEnvironmentName sets the EnvironmentName field's value.
  8302  func (s *EnvironmentAccountConnectionSummary) SetEnvironmentName(v string) *EnvironmentAccountConnectionSummary {
  8303  	s.EnvironmentName = &v
  8304  	return s
  8305  }
  8306  
  8307  // SetId sets the Id field's value.
  8308  func (s *EnvironmentAccountConnectionSummary) SetId(v string) *EnvironmentAccountConnectionSummary {
  8309  	s.Id = &v
  8310  	return s
  8311  }
  8312  
  8313  // SetLastModifiedAt sets the LastModifiedAt field's value.
  8314  func (s *EnvironmentAccountConnectionSummary) SetLastModifiedAt(v time.Time) *EnvironmentAccountConnectionSummary {
  8315  	s.LastModifiedAt = &v
  8316  	return s
  8317  }
  8318  
  8319  // SetManagementAccountId sets the ManagementAccountId field's value.
  8320  func (s *EnvironmentAccountConnectionSummary) SetManagementAccountId(v string) *EnvironmentAccountConnectionSummary {
  8321  	s.ManagementAccountId = &v
  8322  	return s
  8323  }
  8324  
  8325  // SetRequestedAt sets the RequestedAt field's value.
  8326  func (s *EnvironmentAccountConnectionSummary) SetRequestedAt(v time.Time) *EnvironmentAccountConnectionSummary {
  8327  	s.RequestedAt = &v
  8328  	return s
  8329  }
  8330  
  8331  // SetRoleArn sets the RoleArn field's value.
  8332  func (s *EnvironmentAccountConnectionSummary) SetRoleArn(v string) *EnvironmentAccountConnectionSummary {
  8333  	s.RoleArn = &v
  8334  	return s
  8335  }
  8336  
  8337  // SetStatus sets the Status field's value.
  8338  func (s *EnvironmentAccountConnectionSummary) SetStatus(v string) *EnvironmentAccountConnectionSummary {
  8339  	s.Status = &v
  8340  	return s
  8341  }
  8342  
  8343  // A summary of the environment detail data.
  8344  type EnvironmentSummary struct {
  8345  	_ struct{} `type:"structure"`
  8346  
  8347  	// The Amazon Resource Name (ARN) of the environment.
  8348  	//
  8349  	// Arn is a required field
  8350  	Arn *string `locationName:"arn" type:"string" required:"true"`
  8351  
  8352  	// The time when the environment was created.
  8353  	//
  8354  	// CreatedAt is a required field
  8355  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
  8356  
  8357  	// The environment deployment status.
  8358  	//
  8359  	// DeploymentStatus is a required field
  8360  	DeploymentStatus *string `locationName:"deploymentStatus" type:"string" required:"true" enum:"DeploymentStatus"`
  8361  
  8362  	// An environment deployment status message.
  8363  	//
  8364  	// DeploymentStatusMessage is a sensitive parameter and its value will be
  8365  	// replaced with "sensitive" in string returned by EnvironmentSummary's
  8366  	// String and GoString methods.
  8367  	DeploymentStatusMessage *string `locationName:"deploymentStatusMessage" type:"string" sensitive:"true"`
  8368  
  8369  	// The description of the environment.
  8370  	//
  8371  	// Description is a sensitive parameter and its value will be
  8372  	// replaced with "sensitive" in string returned by EnvironmentSummary's
  8373  	// String and GoString methods.
  8374  	Description *string `locationName:"description" type:"string" sensitive:"true"`
  8375  
  8376  	// The ID of the environment account connection that the environment is associated
  8377  	// with.
  8378  	EnvironmentAccountConnectionId *string `locationName:"environmentAccountConnectionId" type:"string"`
  8379  
  8380  	// The ID of the environment account that the environment infrastructure resources
  8381  	// are provisioned in.
  8382  	EnvironmentAccountId *string `locationName:"environmentAccountId" type:"string"`
  8383  
  8384  	// The time when a deployment of the environment was last attempted.
  8385  	//
  8386  	// LastDeploymentAttemptedAt is a required field
  8387  	LastDeploymentAttemptedAt *time.Time `locationName:"lastDeploymentAttemptedAt" type:"timestamp" required:"true"`
  8388  
  8389  	// The time when the environment was last deployed successfully.
  8390  	//
  8391  	// LastDeploymentSucceededAt is a required field
  8392  	LastDeploymentSucceededAt *time.Time `locationName:"lastDeploymentSucceededAt" type:"timestamp" required:"true"`
  8393  
  8394  	// The name of the environment.
  8395  	//
  8396  	// Name is a required field
  8397  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  8398  
  8399  	// The Amazon Resource Name (ARN) of the AWS Proton service role that allows
  8400  	// AWS Proton to make calls to other services on your behalf.
  8401  	ProtonServiceRoleArn *string `locationName:"protonServiceRoleArn" min:"1" type:"string"`
  8402  
  8403  	// When included, indicates that the environment template is for customer provisioned
  8404  	// and managed infrastructure.
  8405  	Provisioning *string `locationName:"provisioning" type:"string" enum:"Provisioning"`
  8406  
  8407  	// The ID of the major version of the environment template.
  8408  	//
  8409  	// TemplateMajorVersion is a required field
  8410  	TemplateMajorVersion *string `locationName:"templateMajorVersion" min:"1" type:"string" required:"true"`
  8411  
  8412  	// The ID of the minor version of the environment template.
  8413  	//
  8414  	// TemplateMinorVersion is a required field
  8415  	TemplateMinorVersion *string `locationName:"templateMinorVersion" min:"1" type:"string" required:"true"`
  8416  
  8417  	// The name of the environment template.
  8418  	//
  8419  	// TemplateName is a required field
  8420  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
  8421  }
  8422  
  8423  // String returns the string representation.
  8424  //
  8425  // API parameter values that are decorated as "sensitive" in the API will not
  8426  // be included in the string output. The member name will be present, but the
  8427  // value will be replaced with "sensitive".
  8428  func (s EnvironmentSummary) String() string {
  8429  	return awsutil.Prettify(s)
  8430  }
  8431  
  8432  // GoString returns the string representation.
  8433  //
  8434  // API parameter values that are decorated as "sensitive" in the API will not
  8435  // be included in the string output. The member name will be present, but the
  8436  // value will be replaced with "sensitive".
  8437  func (s EnvironmentSummary) GoString() string {
  8438  	return s.String()
  8439  }
  8440  
  8441  // SetArn sets the Arn field's value.
  8442  func (s *EnvironmentSummary) SetArn(v string) *EnvironmentSummary {
  8443  	s.Arn = &v
  8444  	return s
  8445  }
  8446  
  8447  // SetCreatedAt sets the CreatedAt field's value.
  8448  func (s *EnvironmentSummary) SetCreatedAt(v time.Time) *EnvironmentSummary {
  8449  	s.CreatedAt = &v
  8450  	return s
  8451  }
  8452  
  8453  // SetDeploymentStatus sets the DeploymentStatus field's value.
  8454  func (s *EnvironmentSummary) SetDeploymentStatus(v string) *EnvironmentSummary {
  8455  	s.DeploymentStatus = &v
  8456  	return s
  8457  }
  8458  
  8459  // SetDeploymentStatusMessage sets the DeploymentStatusMessage field's value.
  8460  func (s *EnvironmentSummary) SetDeploymentStatusMessage(v string) *EnvironmentSummary {
  8461  	s.DeploymentStatusMessage = &v
  8462  	return s
  8463  }
  8464  
  8465  // SetDescription sets the Description field's value.
  8466  func (s *EnvironmentSummary) SetDescription(v string) *EnvironmentSummary {
  8467  	s.Description = &v
  8468  	return s
  8469  }
  8470  
  8471  // SetEnvironmentAccountConnectionId sets the EnvironmentAccountConnectionId field's value.
  8472  func (s *EnvironmentSummary) SetEnvironmentAccountConnectionId(v string) *EnvironmentSummary {
  8473  	s.EnvironmentAccountConnectionId = &v
  8474  	return s
  8475  }
  8476  
  8477  // SetEnvironmentAccountId sets the EnvironmentAccountId field's value.
  8478  func (s *EnvironmentSummary) SetEnvironmentAccountId(v string) *EnvironmentSummary {
  8479  	s.EnvironmentAccountId = &v
  8480  	return s
  8481  }
  8482  
  8483  // SetLastDeploymentAttemptedAt sets the LastDeploymentAttemptedAt field's value.
  8484  func (s *EnvironmentSummary) SetLastDeploymentAttemptedAt(v time.Time) *EnvironmentSummary {
  8485  	s.LastDeploymentAttemptedAt = &v
  8486  	return s
  8487  }
  8488  
  8489  // SetLastDeploymentSucceededAt sets the LastDeploymentSucceededAt field's value.
  8490  func (s *EnvironmentSummary) SetLastDeploymentSucceededAt(v time.Time) *EnvironmentSummary {
  8491  	s.LastDeploymentSucceededAt = &v
  8492  	return s
  8493  }
  8494  
  8495  // SetName sets the Name field's value.
  8496  func (s *EnvironmentSummary) SetName(v string) *EnvironmentSummary {
  8497  	s.Name = &v
  8498  	return s
  8499  }
  8500  
  8501  // SetProtonServiceRoleArn sets the ProtonServiceRoleArn field's value.
  8502  func (s *EnvironmentSummary) SetProtonServiceRoleArn(v string) *EnvironmentSummary {
  8503  	s.ProtonServiceRoleArn = &v
  8504  	return s
  8505  }
  8506  
  8507  // SetProvisioning sets the Provisioning field's value.
  8508  func (s *EnvironmentSummary) SetProvisioning(v string) *EnvironmentSummary {
  8509  	s.Provisioning = &v
  8510  	return s
  8511  }
  8512  
  8513  // SetTemplateMajorVersion sets the TemplateMajorVersion field's value.
  8514  func (s *EnvironmentSummary) SetTemplateMajorVersion(v string) *EnvironmentSummary {
  8515  	s.TemplateMajorVersion = &v
  8516  	return s
  8517  }
  8518  
  8519  // SetTemplateMinorVersion sets the TemplateMinorVersion field's value.
  8520  func (s *EnvironmentSummary) SetTemplateMinorVersion(v string) *EnvironmentSummary {
  8521  	s.TemplateMinorVersion = &v
  8522  	return s
  8523  }
  8524  
  8525  // SetTemplateName sets the TemplateName field's value.
  8526  func (s *EnvironmentSummary) SetTemplateName(v string) *EnvironmentSummary {
  8527  	s.TemplateName = &v
  8528  	return s
  8529  }
  8530  
  8531  // The environment template data.
  8532  type EnvironmentTemplate struct {
  8533  	_ struct{} `type:"structure"`
  8534  
  8535  	// The Amazon Resource Name (ARN) of the environment template.
  8536  	//
  8537  	// Arn is a required field
  8538  	Arn *string `locationName:"arn" type:"string" required:"true"`
  8539  
  8540  	// The time when the environment template was created.
  8541  	//
  8542  	// CreatedAt is a required field
  8543  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
  8544  
  8545  	// A description of the environment template.
  8546  	//
  8547  	// Description is a sensitive parameter and its value will be
  8548  	// replaced with "sensitive" in string returned by EnvironmentTemplate's
  8549  	// String and GoString methods.
  8550  	Description *string `locationName:"description" type:"string" sensitive:"true"`
  8551  
  8552  	// The name of the environment template as displayed in the developer interface.
  8553  	//
  8554  	// DisplayName is a sensitive parameter and its value will be
  8555  	// replaced with "sensitive" in string returned by EnvironmentTemplate's
  8556  	// String and GoString methods.
  8557  	DisplayName *string `locationName:"displayName" min:"1" type:"string" sensitive:"true"`
  8558  
  8559  	// The customer provided encryption key for the environment template.
  8560  	EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"`
  8561  
  8562  	// The time when the environment template was last modified.
  8563  	//
  8564  	// LastModifiedAt is a required field
  8565  	LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp" required:"true"`
  8566  
  8567  	// The name of the environment template.
  8568  	//
  8569  	// Name is a required field
  8570  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  8571  
  8572  	// When included, indicates that the environment template is for customer provisioned
  8573  	// and managed infrastructure.
  8574  	Provisioning *string `locationName:"provisioning" type:"string" enum:"Provisioning"`
  8575  
  8576  	// The ID of the recommended version of the environment template.
  8577  	RecommendedVersion *string `locationName:"recommendedVersion" min:"1" type:"string"`
  8578  }
  8579  
  8580  // String returns the string representation.
  8581  //
  8582  // API parameter values that are decorated as "sensitive" in the API will not
  8583  // be included in the string output. The member name will be present, but the
  8584  // value will be replaced with "sensitive".
  8585  func (s EnvironmentTemplate) String() string {
  8586  	return awsutil.Prettify(s)
  8587  }
  8588  
  8589  // GoString returns the string representation.
  8590  //
  8591  // API parameter values that are decorated as "sensitive" in the API will not
  8592  // be included in the string output. The member name will be present, but the
  8593  // value will be replaced with "sensitive".
  8594  func (s EnvironmentTemplate) GoString() string {
  8595  	return s.String()
  8596  }
  8597  
  8598  // SetArn sets the Arn field's value.
  8599  func (s *EnvironmentTemplate) SetArn(v string) *EnvironmentTemplate {
  8600  	s.Arn = &v
  8601  	return s
  8602  }
  8603  
  8604  // SetCreatedAt sets the CreatedAt field's value.
  8605  func (s *EnvironmentTemplate) SetCreatedAt(v time.Time) *EnvironmentTemplate {
  8606  	s.CreatedAt = &v
  8607  	return s
  8608  }
  8609  
  8610  // SetDescription sets the Description field's value.
  8611  func (s *EnvironmentTemplate) SetDescription(v string) *EnvironmentTemplate {
  8612  	s.Description = &v
  8613  	return s
  8614  }
  8615  
  8616  // SetDisplayName sets the DisplayName field's value.
  8617  func (s *EnvironmentTemplate) SetDisplayName(v string) *EnvironmentTemplate {
  8618  	s.DisplayName = &v
  8619  	return s
  8620  }
  8621  
  8622  // SetEncryptionKey sets the EncryptionKey field's value.
  8623  func (s *EnvironmentTemplate) SetEncryptionKey(v string) *EnvironmentTemplate {
  8624  	s.EncryptionKey = &v
  8625  	return s
  8626  }
  8627  
  8628  // SetLastModifiedAt sets the LastModifiedAt field's value.
  8629  func (s *EnvironmentTemplate) SetLastModifiedAt(v time.Time) *EnvironmentTemplate {
  8630  	s.LastModifiedAt = &v
  8631  	return s
  8632  }
  8633  
  8634  // SetName sets the Name field's value.
  8635  func (s *EnvironmentTemplate) SetName(v string) *EnvironmentTemplate {
  8636  	s.Name = &v
  8637  	return s
  8638  }
  8639  
  8640  // SetProvisioning sets the Provisioning field's value.
  8641  func (s *EnvironmentTemplate) SetProvisioning(v string) *EnvironmentTemplate {
  8642  	s.Provisioning = &v
  8643  	return s
  8644  }
  8645  
  8646  // SetRecommendedVersion sets the RecommendedVersion field's value.
  8647  func (s *EnvironmentTemplate) SetRecommendedVersion(v string) *EnvironmentTemplate {
  8648  	s.RecommendedVersion = &v
  8649  	return s
  8650  }
  8651  
  8652  // A search filter for environment templates.
  8653  type EnvironmentTemplateFilter struct {
  8654  	_ struct{} `type:"structure"`
  8655  
  8656  	// Include majorVersion to filter search for a major version.
  8657  	//
  8658  	// MajorVersion is a required field
  8659  	MajorVersion *string `locationName:"majorVersion" min:"1" type:"string" required:"true"`
  8660  
  8661  	// Include templateName to filter search for a template name.
  8662  	//
  8663  	// TemplateName is a required field
  8664  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
  8665  }
  8666  
  8667  // String returns the string representation.
  8668  //
  8669  // API parameter values that are decorated as "sensitive" in the API will not
  8670  // be included in the string output. The member name will be present, but the
  8671  // value will be replaced with "sensitive".
  8672  func (s EnvironmentTemplateFilter) String() string {
  8673  	return awsutil.Prettify(s)
  8674  }
  8675  
  8676  // GoString returns the string representation.
  8677  //
  8678  // API parameter values that are decorated as "sensitive" in the API will not
  8679  // be included in the string output. The member name will be present, but the
  8680  // value will be replaced with "sensitive".
  8681  func (s EnvironmentTemplateFilter) GoString() string {
  8682  	return s.String()
  8683  }
  8684  
  8685  // Validate inspects the fields of the type to determine if they are valid.
  8686  func (s *EnvironmentTemplateFilter) Validate() error {
  8687  	invalidParams := request.ErrInvalidParams{Context: "EnvironmentTemplateFilter"}
  8688  	if s.MajorVersion == nil {
  8689  		invalidParams.Add(request.NewErrParamRequired("MajorVersion"))
  8690  	}
  8691  	if s.MajorVersion != nil && len(*s.MajorVersion) < 1 {
  8692  		invalidParams.Add(request.NewErrParamMinLen("MajorVersion", 1))
  8693  	}
  8694  	if s.TemplateName == nil {
  8695  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
  8696  	}
  8697  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
  8698  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
  8699  	}
  8700  
  8701  	if invalidParams.Len() > 0 {
  8702  		return invalidParams
  8703  	}
  8704  	return nil
  8705  }
  8706  
  8707  // SetMajorVersion sets the MajorVersion field's value.
  8708  func (s *EnvironmentTemplateFilter) SetMajorVersion(v string) *EnvironmentTemplateFilter {
  8709  	s.MajorVersion = &v
  8710  	return s
  8711  }
  8712  
  8713  // SetTemplateName sets the TemplateName field's value.
  8714  func (s *EnvironmentTemplateFilter) SetTemplateName(v string) *EnvironmentTemplateFilter {
  8715  	s.TemplateName = &v
  8716  	return s
  8717  }
  8718  
  8719  // The environment template data.
  8720  type EnvironmentTemplateSummary struct {
  8721  	_ struct{} `type:"structure"`
  8722  
  8723  	// The Amazon Resource Name (ARN) of the environment template.
  8724  	//
  8725  	// Arn is a required field
  8726  	Arn *string `locationName:"arn" type:"string" required:"true"`
  8727  
  8728  	// The time when the environment template was created.
  8729  	//
  8730  	// CreatedAt is a required field
  8731  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
  8732  
  8733  	// A description of the environment template.
  8734  	//
  8735  	// Description is a sensitive parameter and its value will be
  8736  	// replaced with "sensitive" in string returned by EnvironmentTemplateSummary's
  8737  	// String and GoString methods.
  8738  	Description *string `locationName:"description" type:"string" sensitive:"true"`
  8739  
  8740  	// The name of the environment template as displayed in the developer interface.
  8741  	//
  8742  	// DisplayName is a sensitive parameter and its value will be
  8743  	// replaced with "sensitive" in string returned by EnvironmentTemplateSummary's
  8744  	// String and GoString methods.
  8745  	DisplayName *string `locationName:"displayName" min:"1" type:"string" sensitive:"true"`
  8746  
  8747  	// The time when the environment template was last modified.
  8748  	//
  8749  	// LastModifiedAt is a required field
  8750  	LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp" required:"true"`
  8751  
  8752  	// The name of the environment template.
  8753  	//
  8754  	// Name is a required field
  8755  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  8756  
  8757  	// When included, indicates that the environment template is for customer provisioned
  8758  	// and managed infrastructure.
  8759  	Provisioning *string `locationName:"provisioning" type:"string" enum:"Provisioning"`
  8760  
  8761  	// The ID of the recommended version of the environment template.
  8762  	RecommendedVersion *string `locationName:"recommendedVersion" min:"1" type:"string"`
  8763  }
  8764  
  8765  // String returns the string representation.
  8766  //
  8767  // API parameter values that are decorated as "sensitive" in the API will not
  8768  // be included in the string output. The member name will be present, but the
  8769  // value will be replaced with "sensitive".
  8770  func (s EnvironmentTemplateSummary) String() string {
  8771  	return awsutil.Prettify(s)
  8772  }
  8773  
  8774  // GoString returns the string representation.
  8775  //
  8776  // API parameter values that are decorated as "sensitive" in the API will not
  8777  // be included in the string output. The member name will be present, but the
  8778  // value will be replaced with "sensitive".
  8779  func (s EnvironmentTemplateSummary) GoString() string {
  8780  	return s.String()
  8781  }
  8782  
  8783  // SetArn sets the Arn field's value.
  8784  func (s *EnvironmentTemplateSummary) SetArn(v string) *EnvironmentTemplateSummary {
  8785  	s.Arn = &v
  8786  	return s
  8787  }
  8788  
  8789  // SetCreatedAt sets the CreatedAt field's value.
  8790  func (s *EnvironmentTemplateSummary) SetCreatedAt(v time.Time) *EnvironmentTemplateSummary {
  8791  	s.CreatedAt = &v
  8792  	return s
  8793  }
  8794  
  8795  // SetDescription sets the Description field's value.
  8796  func (s *EnvironmentTemplateSummary) SetDescription(v string) *EnvironmentTemplateSummary {
  8797  	s.Description = &v
  8798  	return s
  8799  }
  8800  
  8801  // SetDisplayName sets the DisplayName field's value.
  8802  func (s *EnvironmentTemplateSummary) SetDisplayName(v string) *EnvironmentTemplateSummary {
  8803  	s.DisplayName = &v
  8804  	return s
  8805  }
  8806  
  8807  // SetLastModifiedAt sets the LastModifiedAt field's value.
  8808  func (s *EnvironmentTemplateSummary) SetLastModifiedAt(v time.Time) *EnvironmentTemplateSummary {
  8809  	s.LastModifiedAt = &v
  8810  	return s
  8811  }
  8812  
  8813  // SetName sets the Name field's value.
  8814  func (s *EnvironmentTemplateSummary) SetName(v string) *EnvironmentTemplateSummary {
  8815  	s.Name = &v
  8816  	return s
  8817  }
  8818  
  8819  // SetProvisioning sets the Provisioning field's value.
  8820  func (s *EnvironmentTemplateSummary) SetProvisioning(v string) *EnvironmentTemplateSummary {
  8821  	s.Provisioning = &v
  8822  	return s
  8823  }
  8824  
  8825  // SetRecommendedVersion sets the RecommendedVersion field's value.
  8826  func (s *EnvironmentTemplateSummary) SetRecommendedVersion(v string) *EnvironmentTemplateSummary {
  8827  	s.RecommendedVersion = &v
  8828  	return s
  8829  }
  8830  
  8831  // The environment template version data.
  8832  type EnvironmentTemplateVersion struct {
  8833  	_ struct{} `type:"structure"`
  8834  
  8835  	// The Amazon Resource Name (ARN) of the version of an environment template.
  8836  	//
  8837  	// Arn is a required field
  8838  	Arn *string `locationName:"arn" type:"string" required:"true"`
  8839  
  8840  	// The time when the version of an environment template was created.
  8841  	//
  8842  	// CreatedAt is a required field
  8843  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
  8844  
  8845  	// A description of the minor version of an environment template.
  8846  	//
  8847  	// Description is a sensitive parameter and its value will be
  8848  	// replaced with "sensitive" in string returned by EnvironmentTemplateVersion's
  8849  	// String and GoString methods.
  8850  	Description *string `locationName:"description" type:"string" sensitive:"true"`
  8851  
  8852  	// The time when the version of an environment template was last modified.
  8853  	//
  8854  	// LastModifiedAt is a required field
  8855  	LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp" required:"true"`
  8856  
  8857  	// The ID of the latest major version that's associated with the version of
  8858  	// an environment template.
  8859  	//
  8860  	// MajorVersion is a required field
  8861  	MajorVersion *string `locationName:"majorVersion" min:"1" type:"string" required:"true"`
  8862  
  8863  	// The ID of the minor version of an environment template.
  8864  	//
  8865  	// MinorVersion is a required field
  8866  	MinorVersion *string `locationName:"minorVersion" min:"1" type:"string" required:"true"`
  8867  
  8868  	// The ID of the recommended minor version of the environment template.
  8869  	RecommendedMinorVersion *string `locationName:"recommendedMinorVersion" min:"1" type:"string"`
  8870  
  8871  	// The schema of the version of an environment template.
  8872  	//
  8873  	// Schema is a sensitive parameter and its value will be
  8874  	// replaced with "sensitive" in string returned by EnvironmentTemplateVersion's
  8875  	// String and GoString methods.
  8876  	Schema *string `locationName:"schema" min:"1" type:"string" sensitive:"true"`
  8877  
  8878  	// The status of the version of an environment template.
  8879  	//
  8880  	// Status is a required field
  8881  	Status *string `locationName:"status" type:"string" required:"true" enum:"TemplateVersionStatus"`
  8882  
  8883  	// The status message of the version of an environment template.
  8884  	//
  8885  	// StatusMessage is a sensitive parameter and its value will be
  8886  	// replaced with "sensitive" in string returned by EnvironmentTemplateVersion's
  8887  	// String and GoString methods.
  8888  	StatusMessage *string `locationName:"statusMessage" type:"string" sensitive:"true"`
  8889  
  8890  	// The name of the version of an environment template.
  8891  	//
  8892  	// TemplateName is a required field
  8893  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
  8894  }
  8895  
  8896  // String returns the string representation.
  8897  //
  8898  // API parameter values that are decorated as "sensitive" in the API will not
  8899  // be included in the string output. The member name will be present, but the
  8900  // value will be replaced with "sensitive".
  8901  func (s EnvironmentTemplateVersion) String() string {
  8902  	return awsutil.Prettify(s)
  8903  }
  8904  
  8905  // GoString returns the string representation.
  8906  //
  8907  // API parameter values that are decorated as "sensitive" in the API will not
  8908  // be included in the string output. The member name will be present, but the
  8909  // value will be replaced with "sensitive".
  8910  func (s EnvironmentTemplateVersion) GoString() string {
  8911  	return s.String()
  8912  }
  8913  
  8914  // SetArn sets the Arn field's value.
  8915  func (s *EnvironmentTemplateVersion) SetArn(v string) *EnvironmentTemplateVersion {
  8916  	s.Arn = &v
  8917  	return s
  8918  }
  8919  
  8920  // SetCreatedAt sets the CreatedAt field's value.
  8921  func (s *EnvironmentTemplateVersion) SetCreatedAt(v time.Time) *EnvironmentTemplateVersion {
  8922  	s.CreatedAt = &v
  8923  	return s
  8924  }
  8925  
  8926  // SetDescription sets the Description field's value.
  8927  func (s *EnvironmentTemplateVersion) SetDescription(v string) *EnvironmentTemplateVersion {
  8928  	s.Description = &v
  8929  	return s
  8930  }
  8931  
  8932  // SetLastModifiedAt sets the LastModifiedAt field's value.
  8933  func (s *EnvironmentTemplateVersion) SetLastModifiedAt(v time.Time) *EnvironmentTemplateVersion {
  8934  	s.LastModifiedAt = &v
  8935  	return s
  8936  }
  8937  
  8938  // SetMajorVersion sets the MajorVersion field's value.
  8939  func (s *EnvironmentTemplateVersion) SetMajorVersion(v string) *EnvironmentTemplateVersion {
  8940  	s.MajorVersion = &v
  8941  	return s
  8942  }
  8943  
  8944  // SetMinorVersion sets the MinorVersion field's value.
  8945  func (s *EnvironmentTemplateVersion) SetMinorVersion(v string) *EnvironmentTemplateVersion {
  8946  	s.MinorVersion = &v
  8947  	return s
  8948  }
  8949  
  8950  // SetRecommendedMinorVersion sets the RecommendedMinorVersion field's value.
  8951  func (s *EnvironmentTemplateVersion) SetRecommendedMinorVersion(v string) *EnvironmentTemplateVersion {
  8952  	s.RecommendedMinorVersion = &v
  8953  	return s
  8954  }
  8955  
  8956  // SetSchema sets the Schema field's value.
  8957  func (s *EnvironmentTemplateVersion) SetSchema(v string) *EnvironmentTemplateVersion {
  8958  	s.Schema = &v
  8959  	return s
  8960  }
  8961  
  8962  // SetStatus sets the Status field's value.
  8963  func (s *EnvironmentTemplateVersion) SetStatus(v string) *EnvironmentTemplateVersion {
  8964  	s.Status = &v
  8965  	return s
  8966  }
  8967  
  8968  // SetStatusMessage sets the StatusMessage field's value.
  8969  func (s *EnvironmentTemplateVersion) SetStatusMessage(v string) *EnvironmentTemplateVersion {
  8970  	s.StatusMessage = &v
  8971  	return s
  8972  }
  8973  
  8974  // SetTemplateName sets the TemplateName field's value.
  8975  func (s *EnvironmentTemplateVersion) SetTemplateName(v string) *EnvironmentTemplateVersion {
  8976  	s.TemplateName = &v
  8977  	return s
  8978  }
  8979  
  8980  // A summary of the version of an environment template detail data.
  8981  type EnvironmentTemplateVersionSummary struct {
  8982  	_ struct{} `type:"structure"`
  8983  
  8984  	// The Amazon Resource Name (ARN) of the version of an environment template.
  8985  	//
  8986  	// Arn is a required field
  8987  	Arn *string `locationName:"arn" type:"string" required:"true"`
  8988  
  8989  	// The time when the version of an environment template was created.
  8990  	//
  8991  	// CreatedAt is a required field
  8992  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
  8993  
  8994  	// A description of the version of an environment template.
  8995  	//
  8996  	// Description is a sensitive parameter and its value will be
  8997  	// replaced with "sensitive" in string returned by EnvironmentTemplateVersionSummary's
  8998  	// String and GoString methods.
  8999  	Description *string `locationName:"description" type:"string" sensitive:"true"`
  9000  
  9001  	// The time when the version of an environment template was last modified.
  9002  	//
  9003  	// LastModifiedAt is a required field
  9004  	LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp" required:"true"`
  9005  
  9006  	// The ID of the latest major version that's associated with the version of
  9007  	// an environment template.
  9008  	//
  9009  	// MajorVersion is a required field
  9010  	MajorVersion *string `locationName:"majorVersion" min:"1" type:"string" required:"true"`
  9011  
  9012  	// The ID of the version of an environment template.
  9013  	//
  9014  	// MinorVersion is a required field
  9015  	MinorVersion *string `locationName:"minorVersion" min:"1" type:"string" required:"true"`
  9016  
  9017  	// The ID of the recommended minor version of the environment template.
  9018  	RecommendedMinorVersion *string `locationName:"recommendedMinorVersion" min:"1" type:"string"`
  9019  
  9020  	// The status of the version of an environment template.
  9021  	//
  9022  	// Status is a required field
  9023  	Status *string `locationName:"status" type:"string" required:"true" enum:"TemplateVersionStatus"`
  9024  
  9025  	// The status message of the version of an environment template.
  9026  	//
  9027  	// StatusMessage is a sensitive parameter and its value will be
  9028  	// replaced with "sensitive" in string returned by EnvironmentTemplateVersionSummary's
  9029  	// String and GoString methods.
  9030  	StatusMessage *string `locationName:"statusMessage" type:"string" sensitive:"true"`
  9031  
  9032  	// The name of the version of an environment template.
  9033  	//
  9034  	// TemplateName is a required field
  9035  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
  9036  }
  9037  
  9038  // String returns the string representation.
  9039  //
  9040  // API parameter values that are decorated as "sensitive" in the API will not
  9041  // be included in the string output. The member name will be present, but the
  9042  // value will be replaced with "sensitive".
  9043  func (s EnvironmentTemplateVersionSummary) String() string {
  9044  	return awsutil.Prettify(s)
  9045  }
  9046  
  9047  // GoString returns the string representation.
  9048  //
  9049  // API parameter values that are decorated as "sensitive" in the API will not
  9050  // be included in the string output. The member name will be present, but the
  9051  // value will be replaced with "sensitive".
  9052  func (s EnvironmentTemplateVersionSummary) GoString() string {
  9053  	return s.String()
  9054  }
  9055  
  9056  // SetArn sets the Arn field's value.
  9057  func (s *EnvironmentTemplateVersionSummary) SetArn(v string) *EnvironmentTemplateVersionSummary {
  9058  	s.Arn = &v
  9059  	return s
  9060  }
  9061  
  9062  // SetCreatedAt sets the CreatedAt field's value.
  9063  func (s *EnvironmentTemplateVersionSummary) SetCreatedAt(v time.Time) *EnvironmentTemplateVersionSummary {
  9064  	s.CreatedAt = &v
  9065  	return s
  9066  }
  9067  
  9068  // SetDescription sets the Description field's value.
  9069  func (s *EnvironmentTemplateVersionSummary) SetDescription(v string) *EnvironmentTemplateVersionSummary {
  9070  	s.Description = &v
  9071  	return s
  9072  }
  9073  
  9074  // SetLastModifiedAt sets the LastModifiedAt field's value.
  9075  func (s *EnvironmentTemplateVersionSummary) SetLastModifiedAt(v time.Time) *EnvironmentTemplateVersionSummary {
  9076  	s.LastModifiedAt = &v
  9077  	return s
  9078  }
  9079  
  9080  // SetMajorVersion sets the MajorVersion field's value.
  9081  func (s *EnvironmentTemplateVersionSummary) SetMajorVersion(v string) *EnvironmentTemplateVersionSummary {
  9082  	s.MajorVersion = &v
  9083  	return s
  9084  }
  9085  
  9086  // SetMinorVersion sets the MinorVersion field's value.
  9087  func (s *EnvironmentTemplateVersionSummary) SetMinorVersion(v string) *EnvironmentTemplateVersionSummary {
  9088  	s.MinorVersion = &v
  9089  	return s
  9090  }
  9091  
  9092  // SetRecommendedMinorVersion sets the RecommendedMinorVersion field's value.
  9093  func (s *EnvironmentTemplateVersionSummary) SetRecommendedMinorVersion(v string) *EnvironmentTemplateVersionSummary {
  9094  	s.RecommendedMinorVersion = &v
  9095  	return s
  9096  }
  9097  
  9098  // SetStatus sets the Status field's value.
  9099  func (s *EnvironmentTemplateVersionSummary) SetStatus(v string) *EnvironmentTemplateVersionSummary {
  9100  	s.Status = &v
  9101  	return s
  9102  }
  9103  
  9104  // SetStatusMessage sets the StatusMessage field's value.
  9105  func (s *EnvironmentTemplateVersionSummary) SetStatusMessage(v string) *EnvironmentTemplateVersionSummary {
  9106  	s.StatusMessage = &v
  9107  	return s
  9108  }
  9109  
  9110  // SetTemplateName sets the TemplateName field's value.
  9111  func (s *EnvironmentTemplateVersionSummary) SetTemplateName(v string) *EnvironmentTemplateVersionSummary {
  9112  	s.TemplateName = &v
  9113  	return s
  9114  }
  9115  
  9116  type GetAccountSettingsInput struct {
  9117  	_ struct{} `type:"structure"`
  9118  }
  9119  
  9120  // String returns the string representation.
  9121  //
  9122  // API parameter values that are decorated as "sensitive" in the API will not
  9123  // be included in the string output. The member name will be present, but the
  9124  // value will be replaced with "sensitive".
  9125  func (s GetAccountSettingsInput) String() string {
  9126  	return awsutil.Prettify(s)
  9127  }
  9128  
  9129  // GoString returns the string representation.
  9130  //
  9131  // API parameter values that are decorated as "sensitive" in the API will not
  9132  // be included in the string output. The member name will be present, but the
  9133  // value will be replaced with "sensitive".
  9134  func (s GetAccountSettingsInput) GoString() string {
  9135  	return s.String()
  9136  }
  9137  
  9138  type GetAccountSettingsOutput struct {
  9139  	_ struct{} `type:"structure"`
  9140  
  9141  	// The AWS Proton pipeline service role detail data that's returned by AWS Proton.
  9142  	AccountSettings *AccountSettings `locationName:"accountSettings" type:"structure"`
  9143  }
  9144  
  9145  // String returns the string representation.
  9146  //
  9147  // API parameter values that are decorated as "sensitive" in the API will not
  9148  // be included in the string output. The member name will be present, but the
  9149  // value will be replaced with "sensitive".
  9150  func (s GetAccountSettingsOutput) String() string {
  9151  	return awsutil.Prettify(s)
  9152  }
  9153  
  9154  // GoString returns the string representation.
  9155  //
  9156  // API parameter values that are decorated as "sensitive" in the API will not
  9157  // be included in the string output. The member name will be present, but the
  9158  // value will be replaced with "sensitive".
  9159  func (s GetAccountSettingsOutput) GoString() string {
  9160  	return s.String()
  9161  }
  9162  
  9163  // SetAccountSettings sets the AccountSettings field's value.
  9164  func (s *GetAccountSettingsOutput) SetAccountSettings(v *AccountSettings) *GetAccountSettingsOutput {
  9165  	s.AccountSettings = v
  9166  	return s
  9167  }
  9168  
  9169  type GetEnvironmentAccountConnectionInput struct {
  9170  	_ struct{} `type:"structure"`
  9171  
  9172  	// The ID of the environment account connection.
  9173  	//
  9174  	// Id is a required field
  9175  	Id *string `locationName:"id" type:"string" required:"true"`
  9176  }
  9177  
  9178  // String returns the string representation.
  9179  //
  9180  // API parameter values that are decorated as "sensitive" in the API will not
  9181  // be included in the string output. The member name will be present, but the
  9182  // value will be replaced with "sensitive".
  9183  func (s GetEnvironmentAccountConnectionInput) String() string {
  9184  	return awsutil.Prettify(s)
  9185  }
  9186  
  9187  // GoString returns the string representation.
  9188  //
  9189  // API parameter values that are decorated as "sensitive" in the API will not
  9190  // be included in the string output. The member name will be present, but the
  9191  // value will be replaced with "sensitive".
  9192  func (s GetEnvironmentAccountConnectionInput) GoString() string {
  9193  	return s.String()
  9194  }
  9195  
  9196  // Validate inspects the fields of the type to determine if they are valid.
  9197  func (s *GetEnvironmentAccountConnectionInput) Validate() error {
  9198  	invalidParams := request.ErrInvalidParams{Context: "GetEnvironmentAccountConnectionInput"}
  9199  	if s.Id == nil {
  9200  		invalidParams.Add(request.NewErrParamRequired("Id"))
  9201  	}
  9202  
  9203  	if invalidParams.Len() > 0 {
  9204  		return invalidParams
  9205  	}
  9206  	return nil
  9207  }
  9208  
  9209  // SetId sets the Id field's value.
  9210  func (s *GetEnvironmentAccountConnectionInput) SetId(v string) *GetEnvironmentAccountConnectionInput {
  9211  	s.Id = &v
  9212  	return s
  9213  }
  9214  
  9215  type GetEnvironmentAccountConnectionOutput struct {
  9216  	_ struct{} `type:"structure"`
  9217  
  9218  	// The environment account connection detail data that's returned by AWS Proton.
  9219  	//
  9220  	// EnvironmentAccountConnection is a required field
  9221  	EnvironmentAccountConnection *EnvironmentAccountConnection `locationName:"environmentAccountConnection" type:"structure" required:"true"`
  9222  }
  9223  
  9224  // String returns the string representation.
  9225  //
  9226  // API parameter values that are decorated as "sensitive" in the API will not
  9227  // be included in the string output. The member name will be present, but the
  9228  // value will be replaced with "sensitive".
  9229  func (s GetEnvironmentAccountConnectionOutput) String() string {
  9230  	return awsutil.Prettify(s)
  9231  }
  9232  
  9233  // GoString returns the string representation.
  9234  //
  9235  // API parameter values that are decorated as "sensitive" in the API will not
  9236  // be included in the string output. The member name will be present, but the
  9237  // value will be replaced with "sensitive".
  9238  func (s GetEnvironmentAccountConnectionOutput) GoString() string {
  9239  	return s.String()
  9240  }
  9241  
  9242  // SetEnvironmentAccountConnection sets the EnvironmentAccountConnection field's value.
  9243  func (s *GetEnvironmentAccountConnectionOutput) SetEnvironmentAccountConnection(v *EnvironmentAccountConnection) *GetEnvironmentAccountConnectionOutput {
  9244  	s.EnvironmentAccountConnection = v
  9245  	return s
  9246  }
  9247  
  9248  type GetEnvironmentInput struct {
  9249  	_ struct{} `type:"structure"`
  9250  
  9251  	// The name of the environment that you want to get the detail data for.
  9252  	//
  9253  	// Name is a required field
  9254  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  9255  }
  9256  
  9257  // String returns the string representation.
  9258  //
  9259  // API parameter values that are decorated as "sensitive" in the API will not
  9260  // be included in the string output. The member name will be present, but the
  9261  // value will be replaced with "sensitive".
  9262  func (s GetEnvironmentInput) String() string {
  9263  	return awsutil.Prettify(s)
  9264  }
  9265  
  9266  // GoString returns the string representation.
  9267  //
  9268  // API parameter values that are decorated as "sensitive" in the API will not
  9269  // be included in the string output. The member name will be present, but the
  9270  // value will be replaced with "sensitive".
  9271  func (s GetEnvironmentInput) GoString() string {
  9272  	return s.String()
  9273  }
  9274  
  9275  // Validate inspects the fields of the type to determine if they are valid.
  9276  func (s *GetEnvironmentInput) Validate() error {
  9277  	invalidParams := request.ErrInvalidParams{Context: "GetEnvironmentInput"}
  9278  	if s.Name == nil {
  9279  		invalidParams.Add(request.NewErrParamRequired("Name"))
  9280  	}
  9281  	if s.Name != nil && len(*s.Name) < 1 {
  9282  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  9283  	}
  9284  
  9285  	if invalidParams.Len() > 0 {
  9286  		return invalidParams
  9287  	}
  9288  	return nil
  9289  }
  9290  
  9291  // SetName sets the Name field's value.
  9292  func (s *GetEnvironmentInput) SetName(v string) *GetEnvironmentInput {
  9293  	s.Name = &v
  9294  	return s
  9295  }
  9296  
  9297  type GetEnvironmentOutput struct {
  9298  	_ struct{} `type:"structure"`
  9299  
  9300  	// The environment detail data that's returned by AWS Proton.
  9301  	//
  9302  	// Environment is a required field
  9303  	Environment *Environment `locationName:"environment" type:"structure" required:"true"`
  9304  }
  9305  
  9306  // String returns the string representation.
  9307  //
  9308  // API parameter values that are decorated as "sensitive" in the API will not
  9309  // be included in the string output. The member name will be present, but the
  9310  // value will be replaced with "sensitive".
  9311  func (s GetEnvironmentOutput) String() string {
  9312  	return awsutil.Prettify(s)
  9313  }
  9314  
  9315  // GoString returns the string representation.
  9316  //
  9317  // API parameter values that are decorated as "sensitive" in the API will not
  9318  // be included in the string output. The member name will be present, but the
  9319  // value will be replaced with "sensitive".
  9320  func (s GetEnvironmentOutput) GoString() string {
  9321  	return s.String()
  9322  }
  9323  
  9324  // SetEnvironment sets the Environment field's value.
  9325  func (s *GetEnvironmentOutput) SetEnvironment(v *Environment) *GetEnvironmentOutput {
  9326  	s.Environment = v
  9327  	return s
  9328  }
  9329  
  9330  type GetEnvironmentTemplateInput struct {
  9331  	_ struct{} `type:"structure"`
  9332  
  9333  	// The name of the environment template that you want to get the detail data
  9334  	// for.
  9335  	//
  9336  	// Name is a required field
  9337  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  9338  }
  9339  
  9340  // String returns the string representation.
  9341  //
  9342  // API parameter values that are decorated as "sensitive" in the API will not
  9343  // be included in the string output. The member name will be present, but the
  9344  // value will be replaced with "sensitive".
  9345  func (s GetEnvironmentTemplateInput) String() string {
  9346  	return awsutil.Prettify(s)
  9347  }
  9348  
  9349  // GoString returns the string representation.
  9350  //
  9351  // API parameter values that are decorated as "sensitive" in the API will not
  9352  // be included in the string output. The member name will be present, but the
  9353  // value will be replaced with "sensitive".
  9354  func (s GetEnvironmentTemplateInput) GoString() string {
  9355  	return s.String()
  9356  }
  9357  
  9358  // Validate inspects the fields of the type to determine if they are valid.
  9359  func (s *GetEnvironmentTemplateInput) Validate() error {
  9360  	invalidParams := request.ErrInvalidParams{Context: "GetEnvironmentTemplateInput"}
  9361  	if s.Name == nil {
  9362  		invalidParams.Add(request.NewErrParamRequired("Name"))
  9363  	}
  9364  	if s.Name != nil && len(*s.Name) < 1 {
  9365  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  9366  	}
  9367  
  9368  	if invalidParams.Len() > 0 {
  9369  		return invalidParams
  9370  	}
  9371  	return nil
  9372  }
  9373  
  9374  // SetName sets the Name field's value.
  9375  func (s *GetEnvironmentTemplateInput) SetName(v string) *GetEnvironmentTemplateInput {
  9376  	s.Name = &v
  9377  	return s
  9378  }
  9379  
  9380  type GetEnvironmentTemplateOutput struct {
  9381  	_ struct{} `type:"structure"`
  9382  
  9383  	// The environment template detail data that's returned by AWS Proton.
  9384  	//
  9385  	// EnvironmentTemplate is a required field
  9386  	EnvironmentTemplate *EnvironmentTemplate `locationName:"environmentTemplate" type:"structure" required:"true"`
  9387  }
  9388  
  9389  // String returns the string representation.
  9390  //
  9391  // API parameter values that are decorated as "sensitive" in the API will not
  9392  // be included in the string output. The member name will be present, but the
  9393  // value will be replaced with "sensitive".
  9394  func (s GetEnvironmentTemplateOutput) String() string {
  9395  	return awsutil.Prettify(s)
  9396  }
  9397  
  9398  // GoString returns the string representation.
  9399  //
  9400  // API parameter values that are decorated as "sensitive" in the API will not
  9401  // be included in the string output. The member name will be present, but the
  9402  // value will be replaced with "sensitive".
  9403  func (s GetEnvironmentTemplateOutput) GoString() string {
  9404  	return s.String()
  9405  }
  9406  
  9407  // SetEnvironmentTemplate sets the EnvironmentTemplate field's value.
  9408  func (s *GetEnvironmentTemplateOutput) SetEnvironmentTemplate(v *EnvironmentTemplate) *GetEnvironmentTemplateOutput {
  9409  	s.EnvironmentTemplate = v
  9410  	return s
  9411  }
  9412  
  9413  type GetEnvironmentTemplateVersionInput struct {
  9414  	_ struct{} `type:"structure"`
  9415  
  9416  	// To view environment template major version detail data, include majorVersion.
  9417  	//
  9418  	// MajorVersion is a required field
  9419  	MajorVersion *string `locationName:"majorVersion" min:"1" type:"string" required:"true"`
  9420  
  9421  	// To view environment template minor version detail data, include minorVersion.
  9422  	//
  9423  	// MinorVersion is a required field
  9424  	MinorVersion *string `locationName:"minorVersion" min:"1" type:"string" required:"true"`
  9425  
  9426  	// The name of the environment template.
  9427  	//
  9428  	// TemplateName is a required field
  9429  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
  9430  }
  9431  
  9432  // String returns the string representation.
  9433  //
  9434  // API parameter values that are decorated as "sensitive" in the API will not
  9435  // be included in the string output. The member name will be present, but the
  9436  // value will be replaced with "sensitive".
  9437  func (s GetEnvironmentTemplateVersionInput) String() string {
  9438  	return awsutil.Prettify(s)
  9439  }
  9440  
  9441  // GoString returns the string representation.
  9442  //
  9443  // API parameter values that are decorated as "sensitive" in the API will not
  9444  // be included in the string output. The member name will be present, but the
  9445  // value will be replaced with "sensitive".
  9446  func (s GetEnvironmentTemplateVersionInput) GoString() string {
  9447  	return s.String()
  9448  }
  9449  
  9450  // Validate inspects the fields of the type to determine if they are valid.
  9451  func (s *GetEnvironmentTemplateVersionInput) Validate() error {
  9452  	invalidParams := request.ErrInvalidParams{Context: "GetEnvironmentTemplateVersionInput"}
  9453  	if s.MajorVersion == nil {
  9454  		invalidParams.Add(request.NewErrParamRequired("MajorVersion"))
  9455  	}
  9456  	if s.MajorVersion != nil && len(*s.MajorVersion) < 1 {
  9457  		invalidParams.Add(request.NewErrParamMinLen("MajorVersion", 1))
  9458  	}
  9459  	if s.MinorVersion == nil {
  9460  		invalidParams.Add(request.NewErrParamRequired("MinorVersion"))
  9461  	}
  9462  	if s.MinorVersion != nil && len(*s.MinorVersion) < 1 {
  9463  		invalidParams.Add(request.NewErrParamMinLen("MinorVersion", 1))
  9464  	}
  9465  	if s.TemplateName == nil {
  9466  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
  9467  	}
  9468  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
  9469  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
  9470  	}
  9471  
  9472  	if invalidParams.Len() > 0 {
  9473  		return invalidParams
  9474  	}
  9475  	return nil
  9476  }
  9477  
  9478  // SetMajorVersion sets the MajorVersion field's value.
  9479  func (s *GetEnvironmentTemplateVersionInput) SetMajorVersion(v string) *GetEnvironmentTemplateVersionInput {
  9480  	s.MajorVersion = &v
  9481  	return s
  9482  }
  9483  
  9484  // SetMinorVersion sets the MinorVersion field's value.
  9485  func (s *GetEnvironmentTemplateVersionInput) SetMinorVersion(v string) *GetEnvironmentTemplateVersionInput {
  9486  	s.MinorVersion = &v
  9487  	return s
  9488  }
  9489  
  9490  // SetTemplateName sets the TemplateName field's value.
  9491  func (s *GetEnvironmentTemplateVersionInput) SetTemplateName(v string) *GetEnvironmentTemplateVersionInput {
  9492  	s.TemplateName = &v
  9493  	return s
  9494  }
  9495  
  9496  type GetEnvironmentTemplateVersionOutput struct {
  9497  	_ struct{} `type:"structure"`
  9498  
  9499  	// The environment template version detail data that's returned by AWS Proton.
  9500  	//
  9501  	// EnvironmentTemplateVersion is a required field
  9502  	EnvironmentTemplateVersion *EnvironmentTemplateVersion `locationName:"environmentTemplateVersion" type:"structure" required:"true"`
  9503  }
  9504  
  9505  // String returns the string representation.
  9506  //
  9507  // API parameter values that are decorated as "sensitive" in the API will not
  9508  // be included in the string output. The member name will be present, but the
  9509  // value will be replaced with "sensitive".
  9510  func (s GetEnvironmentTemplateVersionOutput) String() string {
  9511  	return awsutil.Prettify(s)
  9512  }
  9513  
  9514  // GoString returns the string representation.
  9515  //
  9516  // API parameter values that are decorated as "sensitive" in the API will not
  9517  // be included in the string output. The member name will be present, but the
  9518  // value will be replaced with "sensitive".
  9519  func (s GetEnvironmentTemplateVersionOutput) GoString() string {
  9520  	return s.String()
  9521  }
  9522  
  9523  // SetEnvironmentTemplateVersion sets the EnvironmentTemplateVersion field's value.
  9524  func (s *GetEnvironmentTemplateVersionOutput) SetEnvironmentTemplateVersion(v *EnvironmentTemplateVersion) *GetEnvironmentTemplateVersionOutput {
  9525  	s.EnvironmentTemplateVersion = v
  9526  	return s
  9527  }
  9528  
  9529  type GetServiceInput struct {
  9530  	_ struct{} `type:"structure"`
  9531  
  9532  	// The name of the service that you want to get the detail data for.
  9533  	//
  9534  	// Name is a required field
  9535  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  9536  }
  9537  
  9538  // String returns the string representation.
  9539  //
  9540  // API parameter values that are decorated as "sensitive" in the API will not
  9541  // be included in the string output. The member name will be present, but the
  9542  // value will be replaced with "sensitive".
  9543  func (s GetServiceInput) String() string {
  9544  	return awsutil.Prettify(s)
  9545  }
  9546  
  9547  // GoString returns the string representation.
  9548  //
  9549  // API parameter values that are decorated as "sensitive" in the API will not
  9550  // be included in the string output. The member name will be present, but the
  9551  // value will be replaced with "sensitive".
  9552  func (s GetServiceInput) GoString() string {
  9553  	return s.String()
  9554  }
  9555  
  9556  // Validate inspects the fields of the type to determine if they are valid.
  9557  func (s *GetServiceInput) Validate() error {
  9558  	invalidParams := request.ErrInvalidParams{Context: "GetServiceInput"}
  9559  	if s.Name == nil {
  9560  		invalidParams.Add(request.NewErrParamRequired("Name"))
  9561  	}
  9562  	if s.Name != nil && len(*s.Name) < 1 {
  9563  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  9564  	}
  9565  
  9566  	if invalidParams.Len() > 0 {
  9567  		return invalidParams
  9568  	}
  9569  	return nil
  9570  }
  9571  
  9572  // SetName sets the Name field's value.
  9573  func (s *GetServiceInput) SetName(v string) *GetServiceInput {
  9574  	s.Name = &v
  9575  	return s
  9576  }
  9577  
  9578  type GetServiceInstanceInput struct {
  9579  	_ struct{} `type:"structure"`
  9580  
  9581  	// The name of a service instance that you want to get the detail data for.
  9582  	//
  9583  	// Name is a required field
  9584  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  9585  
  9586  	// The name of the service that the service instance belongs to.
  9587  	//
  9588  	// ServiceName is a required field
  9589  	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
  9590  }
  9591  
  9592  // String returns the string representation.
  9593  //
  9594  // API parameter values that are decorated as "sensitive" in the API will not
  9595  // be included in the string output. The member name will be present, but the
  9596  // value will be replaced with "sensitive".
  9597  func (s GetServiceInstanceInput) String() string {
  9598  	return awsutil.Prettify(s)
  9599  }
  9600  
  9601  // GoString returns the string representation.
  9602  //
  9603  // API parameter values that are decorated as "sensitive" in the API will not
  9604  // be included in the string output. The member name will be present, but the
  9605  // value will be replaced with "sensitive".
  9606  func (s GetServiceInstanceInput) GoString() string {
  9607  	return s.String()
  9608  }
  9609  
  9610  // Validate inspects the fields of the type to determine if they are valid.
  9611  func (s *GetServiceInstanceInput) Validate() error {
  9612  	invalidParams := request.ErrInvalidParams{Context: "GetServiceInstanceInput"}
  9613  	if s.Name == nil {
  9614  		invalidParams.Add(request.NewErrParamRequired("Name"))
  9615  	}
  9616  	if s.Name != nil && len(*s.Name) < 1 {
  9617  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  9618  	}
  9619  	if s.ServiceName == nil {
  9620  		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
  9621  	}
  9622  	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
  9623  		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
  9624  	}
  9625  
  9626  	if invalidParams.Len() > 0 {
  9627  		return invalidParams
  9628  	}
  9629  	return nil
  9630  }
  9631  
  9632  // SetName sets the Name field's value.
  9633  func (s *GetServiceInstanceInput) SetName(v string) *GetServiceInstanceInput {
  9634  	s.Name = &v
  9635  	return s
  9636  }
  9637  
  9638  // SetServiceName sets the ServiceName field's value.
  9639  func (s *GetServiceInstanceInput) SetServiceName(v string) *GetServiceInstanceInput {
  9640  	s.ServiceName = &v
  9641  	return s
  9642  }
  9643  
  9644  type GetServiceInstanceOutput struct {
  9645  	_ struct{} `type:"structure"`
  9646  
  9647  	// The service instance detail data that's returned by AWS Proton.
  9648  	//
  9649  	// ServiceInstance is a required field
  9650  	ServiceInstance *ServiceInstance `locationName:"serviceInstance" type:"structure" required:"true"`
  9651  }
  9652  
  9653  // String returns the string representation.
  9654  //
  9655  // API parameter values that are decorated as "sensitive" in the API will not
  9656  // be included in the string output. The member name will be present, but the
  9657  // value will be replaced with "sensitive".
  9658  func (s GetServiceInstanceOutput) String() string {
  9659  	return awsutil.Prettify(s)
  9660  }
  9661  
  9662  // GoString returns the string representation.
  9663  //
  9664  // API parameter values that are decorated as "sensitive" in the API will not
  9665  // be included in the string output. The member name will be present, but the
  9666  // value will be replaced with "sensitive".
  9667  func (s GetServiceInstanceOutput) GoString() string {
  9668  	return s.String()
  9669  }
  9670  
  9671  // SetServiceInstance sets the ServiceInstance field's value.
  9672  func (s *GetServiceInstanceOutput) SetServiceInstance(v *ServiceInstance) *GetServiceInstanceOutput {
  9673  	s.ServiceInstance = v
  9674  	return s
  9675  }
  9676  
  9677  type GetServiceOutput struct {
  9678  	_ struct{} `type:"structure"`
  9679  
  9680  	// The service detail data that's returned by AWS Proton.
  9681  	Service *Service `locationName:"service" type:"structure"`
  9682  }
  9683  
  9684  // String returns the string representation.
  9685  //
  9686  // API parameter values that are decorated as "sensitive" in the API will not
  9687  // be included in the string output. The member name will be present, but the
  9688  // value will be replaced with "sensitive".
  9689  func (s GetServiceOutput) String() string {
  9690  	return awsutil.Prettify(s)
  9691  }
  9692  
  9693  // GoString returns the string representation.
  9694  //
  9695  // API parameter values that are decorated as "sensitive" in the API will not
  9696  // be included in the string output. The member name will be present, but the
  9697  // value will be replaced with "sensitive".
  9698  func (s GetServiceOutput) GoString() string {
  9699  	return s.String()
  9700  }
  9701  
  9702  // SetService sets the Service field's value.
  9703  func (s *GetServiceOutput) SetService(v *Service) *GetServiceOutput {
  9704  	s.Service = v
  9705  	return s
  9706  }
  9707  
  9708  type GetServiceTemplateInput struct {
  9709  	_ struct{} `type:"structure"`
  9710  
  9711  	// The name of the service template that you want to get detail data for.
  9712  	//
  9713  	// Name is a required field
  9714  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  9715  }
  9716  
  9717  // String returns the string representation.
  9718  //
  9719  // API parameter values that are decorated as "sensitive" in the API will not
  9720  // be included in the string output. The member name will be present, but the
  9721  // value will be replaced with "sensitive".
  9722  func (s GetServiceTemplateInput) String() string {
  9723  	return awsutil.Prettify(s)
  9724  }
  9725  
  9726  // GoString returns the string representation.
  9727  //
  9728  // API parameter values that are decorated as "sensitive" in the API will not
  9729  // be included in the string output. The member name will be present, but the
  9730  // value will be replaced with "sensitive".
  9731  func (s GetServiceTemplateInput) GoString() string {
  9732  	return s.String()
  9733  }
  9734  
  9735  // Validate inspects the fields of the type to determine if they are valid.
  9736  func (s *GetServiceTemplateInput) Validate() error {
  9737  	invalidParams := request.ErrInvalidParams{Context: "GetServiceTemplateInput"}
  9738  	if s.Name == nil {
  9739  		invalidParams.Add(request.NewErrParamRequired("Name"))
  9740  	}
  9741  	if s.Name != nil && len(*s.Name) < 1 {
  9742  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  9743  	}
  9744  
  9745  	if invalidParams.Len() > 0 {
  9746  		return invalidParams
  9747  	}
  9748  	return nil
  9749  }
  9750  
  9751  // SetName sets the Name field's value.
  9752  func (s *GetServiceTemplateInput) SetName(v string) *GetServiceTemplateInput {
  9753  	s.Name = &v
  9754  	return s
  9755  }
  9756  
  9757  type GetServiceTemplateOutput struct {
  9758  	_ struct{} `type:"structure"`
  9759  
  9760  	// The service template detail data that's returned by AWS Proton.
  9761  	//
  9762  	// ServiceTemplate is a required field
  9763  	ServiceTemplate *ServiceTemplate `locationName:"serviceTemplate" type:"structure" required:"true"`
  9764  }
  9765  
  9766  // String returns the string representation.
  9767  //
  9768  // API parameter values that are decorated as "sensitive" in the API will not
  9769  // be included in the string output. The member name will be present, but the
  9770  // value will be replaced with "sensitive".
  9771  func (s GetServiceTemplateOutput) String() string {
  9772  	return awsutil.Prettify(s)
  9773  }
  9774  
  9775  // GoString returns the string representation.
  9776  //
  9777  // API parameter values that are decorated as "sensitive" in the API will not
  9778  // be included in the string output. The member name will be present, but the
  9779  // value will be replaced with "sensitive".
  9780  func (s GetServiceTemplateOutput) GoString() string {
  9781  	return s.String()
  9782  }
  9783  
  9784  // SetServiceTemplate sets the ServiceTemplate field's value.
  9785  func (s *GetServiceTemplateOutput) SetServiceTemplate(v *ServiceTemplate) *GetServiceTemplateOutput {
  9786  	s.ServiceTemplate = v
  9787  	return s
  9788  }
  9789  
  9790  type GetServiceTemplateVersionInput struct {
  9791  	_ struct{} `type:"structure"`
  9792  
  9793  	// To view service template major version detail data, include majorVersion.
  9794  	//
  9795  	// MajorVersion is a required field
  9796  	MajorVersion *string `locationName:"majorVersion" min:"1" type:"string" required:"true"`
  9797  
  9798  	// To view service template minor version detail data, include minorVersion.
  9799  	//
  9800  	// MinorVersion is a required field
  9801  	MinorVersion *string `locationName:"minorVersion" min:"1" type:"string" required:"true"`
  9802  
  9803  	// The name of the service template.
  9804  	//
  9805  	// TemplateName is a required field
  9806  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
  9807  }
  9808  
  9809  // String returns the string representation.
  9810  //
  9811  // API parameter values that are decorated as "sensitive" in the API will not
  9812  // be included in the string output. The member name will be present, but the
  9813  // value will be replaced with "sensitive".
  9814  func (s GetServiceTemplateVersionInput) String() string {
  9815  	return awsutil.Prettify(s)
  9816  }
  9817  
  9818  // GoString returns the string representation.
  9819  //
  9820  // API parameter values that are decorated as "sensitive" in the API will not
  9821  // be included in the string output. The member name will be present, but the
  9822  // value will be replaced with "sensitive".
  9823  func (s GetServiceTemplateVersionInput) GoString() string {
  9824  	return s.String()
  9825  }
  9826  
  9827  // Validate inspects the fields of the type to determine if they are valid.
  9828  func (s *GetServiceTemplateVersionInput) Validate() error {
  9829  	invalidParams := request.ErrInvalidParams{Context: "GetServiceTemplateVersionInput"}
  9830  	if s.MajorVersion == nil {
  9831  		invalidParams.Add(request.NewErrParamRequired("MajorVersion"))
  9832  	}
  9833  	if s.MajorVersion != nil && len(*s.MajorVersion) < 1 {
  9834  		invalidParams.Add(request.NewErrParamMinLen("MajorVersion", 1))
  9835  	}
  9836  	if s.MinorVersion == nil {
  9837  		invalidParams.Add(request.NewErrParamRequired("MinorVersion"))
  9838  	}
  9839  	if s.MinorVersion != nil && len(*s.MinorVersion) < 1 {
  9840  		invalidParams.Add(request.NewErrParamMinLen("MinorVersion", 1))
  9841  	}
  9842  	if s.TemplateName == nil {
  9843  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
  9844  	}
  9845  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
  9846  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
  9847  	}
  9848  
  9849  	if invalidParams.Len() > 0 {
  9850  		return invalidParams
  9851  	}
  9852  	return nil
  9853  }
  9854  
  9855  // SetMajorVersion sets the MajorVersion field's value.
  9856  func (s *GetServiceTemplateVersionInput) SetMajorVersion(v string) *GetServiceTemplateVersionInput {
  9857  	s.MajorVersion = &v
  9858  	return s
  9859  }
  9860  
  9861  // SetMinorVersion sets the MinorVersion field's value.
  9862  func (s *GetServiceTemplateVersionInput) SetMinorVersion(v string) *GetServiceTemplateVersionInput {
  9863  	s.MinorVersion = &v
  9864  	return s
  9865  }
  9866  
  9867  // SetTemplateName sets the TemplateName field's value.
  9868  func (s *GetServiceTemplateVersionInput) SetTemplateName(v string) *GetServiceTemplateVersionInput {
  9869  	s.TemplateName = &v
  9870  	return s
  9871  }
  9872  
  9873  type GetServiceTemplateVersionOutput struct {
  9874  	_ struct{} `type:"structure"`
  9875  
  9876  	// The service template version detail data that's returned by AWS Proton.
  9877  	//
  9878  	// ServiceTemplateVersion is a required field
  9879  	ServiceTemplateVersion *ServiceTemplateVersion `locationName:"serviceTemplateVersion" type:"structure" required:"true"`
  9880  }
  9881  
  9882  // String returns the string representation.
  9883  //
  9884  // API parameter values that are decorated as "sensitive" in the API will not
  9885  // be included in the string output. The member name will be present, but the
  9886  // value will be replaced with "sensitive".
  9887  func (s GetServiceTemplateVersionOutput) String() string {
  9888  	return awsutil.Prettify(s)
  9889  }
  9890  
  9891  // GoString returns the string representation.
  9892  //
  9893  // API parameter values that are decorated as "sensitive" in the API will not
  9894  // be included in the string output. The member name will be present, but the
  9895  // value will be replaced with "sensitive".
  9896  func (s GetServiceTemplateVersionOutput) GoString() string {
  9897  	return s.String()
  9898  }
  9899  
  9900  // SetServiceTemplateVersion sets the ServiceTemplateVersion field's value.
  9901  func (s *GetServiceTemplateVersionOutput) SetServiceTemplateVersion(v *ServiceTemplateVersion) *GetServiceTemplateVersionOutput {
  9902  	s.ServiceTemplateVersion = v
  9903  	return s
  9904  }
  9905  
  9906  // The request failed to register with the service.
  9907  type InternalServerException struct {
  9908  	_            struct{}                  `type:"structure"`
  9909  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9910  
  9911  	// Message_ is a sensitive parameter and its value will be
  9912  	// replaced with "sensitive" in string returned by InternalServerException's
  9913  	// String and GoString methods.
  9914  	Message_ *string `locationName:"message" type:"string" sensitive:"true"`
  9915  }
  9916  
  9917  // String returns the string representation.
  9918  //
  9919  // API parameter values that are decorated as "sensitive" in the API will not
  9920  // be included in the string output. The member name will be present, but the
  9921  // value will be replaced with "sensitive".
  9922  func (s InternalServerException) String() string {
  9923  	return awsutil.Prettify(s)
  9924  }
  9925  
  9926  // GoString returns the string representation.
  9927  //
  9928  // API parameter values that are decorated as "sensitive" in the API will not
  9929  // be included in the string output. The member name will be present, but the
  9930  // value will be replaced with "sensitive".
  9931  func (s InternalServerException) GoString() string {
  9932  	return s.String()
  9933  }
  9934  
  9935  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
  9936  	return &InternalServerException{
  9937  		RespMetadata: v,
  9938  	}
  9939  }
  9940  
  9941  // Code returns the exception type name.
  9942  func (s *InternalServerException) Code() string {
  9943  	return "InternalServerException"
  9944  }
  9945  
  9946  // Message returns the exception's message.
  9947  func (s *InternalServerException) Message() string {
  9948  	if s.Message_ != nil {
  9949  		return *s.Message_
  9950  	}
  9951  	return ""
  9952  }
  9953  
  9954  // OrigErr always returns nil, satisfies awserr.Error interface.
  9955  func (s *InternalServerException) OrigErr() error {
  9956  	return nil
  9957  }
  9958  
  9959  func (s *InternalServerException) Error() string {
  9960  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9961  }
  9962  
  9963  // Status code returns the HTTP status code for the request's response error.
  9964  func (s *InternalServerException) StatusCode() int {
  9965  	return s.RespMetadata.StatusCode
  9966  }
  9967  
  9968  // RequestID returns the service's response RequestID for request.
  9969  func (s *InternalServerException) RequestID() string {
  9970  	return s.RespMetadata.RequestID
  9971  }
  9972  
  9973  type ListEnvironmentAccountConnectionsInput struct {
  9974  	_ struct{} `type:"structure"`
  9975  
  9976  	// The environment name that's associated with each listed environment account
  9977  	// connection.
  9978  	EnvironmentName *string `locationName:"environmentName" min:"1" type:"string"`
  9979  
  9980  	// The maximum number of environment account connections to list.
  9981  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  9982  
  9983  	// A token to indicate the location of the next environment account connection
  9984  	// in the array of environment account connections, after the list of environment
  9985  	// account connections that was previously requested.
  9986  	NextToken *string `locationName:"nextToken" type:"string"`
  9987  
  9988  	// The type of account making the ListEnvironmentAccountConnections request.
  9989  	//
  9990  	// RequestedBy is a required field
  9991  	RequestedBy *string `locationName:"requestedBy" type:"string" required:"true" enum:"EnvironmentAccountConnectionRequesterAccountType"`
  9992  
  9993  	// The status details for each listed environment account connection.
  9994  	Statuses []*string `locationName:"statuses" type:"list"`
  9995  }
  9996  
  9997  // String returns the string representation.
  9998  //
  9999  // API parameter values that are decorated as "sensitive" in the API will not
 10000  // be included in the string output. The member name will be present, but the
 10001  // value will be replaced with "sensitive".
 10002  func (s ListEnvironmentAccountConnectionsInput) String() string {
 10003  	return awsutil.Prettify(s)
 10004  }
 10005  
 10006  // GoString returns the string representation.
 10007  //
 10008  // API parameter values that are decorated as "sensitive" in the API will not
 10009  // be included in the string output. The member name will be present, but the
 10010  // value will be replaced with "sensitive".
 10011  func (s ListEnvironmentAccountConnectionsInput) GoString() string {
 10012  	return s.String()
 10013  }
 10014  
 10015  // Validate inspects the fields of the type to determine if they are valid.
 10016  func (s *ListEnvironmentAccountConnectionsInput) Validate() error {
 10017  	invalidParams := request.ErrInvalidParams{Context: "ListEnvironmentAccountConnectionsInput"}
 10018  	if s.EnvironmentName != nil && len(*s.EnvironmentName) < 1 {
 10019  		invalidParams.Add(request.NewErrParamMinLen("EnvironmentName", 1))
 10020  	}
 10021  	if s.MaxResults != nil && *s.MaxResults < 1 {
 10022  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 10023  	}
 10024  	if s.RequestedBy == nil {
 10025  		invalidParams.Add(request.NewErrParamRequired("RequestedBy"))
 10026  	}
 10027  
 10028  	if invalidParams.Len() > 0 {
 10029  		return invalidParams
 10030  	}
 10031  	return nil
 10032  }
 10033  
 10034  // SetEnvironmentName sets the EnvironmentName field's value.
 10035  func (s *ListEnvironmentAccountConnectionsInput) SetEnvironmentName(v string) *ListEnvironmentAccountConnectionsInput {
 10036  	s.EnvironmentName = &v
 10037  	return s
 10038  }
 10039  
 10040  // SetMaxResults sets the MaxResults field's value.
 10041  func (s *ListEnvironmentAccountConnectionsInput) SetMaxResults(v int64) *ListEnvironmentAccountConnectionsInput {
 10042  	s.MaxResults = &v
 10043  	return s
 10044  }
 10045  
 10046  // SetNextToken sets the NextToken field's value.
 10047  func (s *ListEnvironmentAccountConnectionsInput) SetNextToken(v string) *ListEnvironmentAccountConnectionsInput {
 10048  	s.NextToken = &v
 10049  	return s
 10050  }
 10051  
 10052  // SetRequestedBy sets the RequestedBy field's value.
 10053  func (s *ListEnvironmentAccountConnectionsInput) SetRequestedBy(v string) *ListEnvironmentAccountConnectionsInput {
 10054  	s.RequestedBy = &v
 10055  	return s
 10056  }
 10057  
 10058  // SetStatuses sets the Statuses field's value.
 10059  func (s *ListEnvironmentAccountConnectionsInput) SetStatuses(v []*string) *ListEnvironmentAccountConnectionsInput {
 10060  	s.Statuses = v
 10061  	return s
 10062  }
 10063  
 10064  type ListEnvironmentAccountConnectionsOutput struct {
 10065  	_ struct{} `type:"structure"`
 10066  
 10067  	// An array of environment account connections with details that's returned
 10068  	// by AWS Proton.
 10069  	//
 10070  	// EnvironmentAccountConnections is a required field
 10071  	EnvironmentAccountConnections []*EnvironmentAccountConnectionSummary `locationName:"environmentAccountConnections" type:"list" required:"true"`
 10072  
 10073  	// A token to indicate the location of the next environment account connection
 10074  	// in the array of environment account connections, after the current requested
 10075  	// list of environment account connections.
 10076  	NextToken *string `locationName:"nextToken" type:"string"`
 10077  }
 10078  
 10079  // String returns the string representation.
 10080  //
 10081  // API parameter values that are decorated as "sensitive" in the API will not
 10082  // be included in the string output. The member name will be present, but the
 10083  // value will be replaced with "sensitive".
 10084  func (s ListEnvironmentAccountConnectionsOutput) String() string {
 10085  	return awsutil.Prettify(s)
 10086  }
 10087  
 10088  // GoString returns the string representation.
 10089  //
 10090  // API parameter values that are decorated as "sensitive" in the API will not
 10091  // be included in the string output. The member name will be present, but the
 10092  // value will be replaced with "sensitive".
 10093  func (s ListEnvironmentAccountConnectionsOutput) GoString() string {
 10094  	return s.String()
 10095  }
 10096  
 10097  // SetEnvironmentAccountConnections sets the EnvironmentAccountConnections field's value.
 10098  func (s *ListEnvironmentAccountConnectionsOutput) SetEnvironmentAccountConnections(v []*EnvironmentAccountConnectionSummary) *ListEnvironmentAccountConnectionsOutput {
 10099  	s.EnvironmentAccountConnections = v
 10100  	return s
 10101  }
 10102  
 10103  // SetNextToken sets the NextToken field's value.
 10104  func (s *ListEnvironmentAccountConnectionsOutput) SetNextToken(v string) *ListEnvironmentAccountConnectionsOutput {
 10105  	s.NextToken = &v
 10106  	return s
 10107  }
 10108  
 10109  type ListEnvironmentTemplateVersionsInput struct {
 10110  	_ struct{} `type:"structure"`
 10111  
 10112  	// To view a list of minor of versions under a major version of an environment
 10113  	// template, include majorVersion.
 10114  	//
 10115  	// To view a list of major versions of an environment template, exclude majorVersion.
 10116  	MajorVersion *string `locationName:"majorVersion" min:"1" type:"string"`
 10117  
 10118  	// The maximum number of major or minor versions of an environment template
 10119  	// to list.
 10120  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 10121  
 10122  	// A token to indicate the location of the next major or minor version in the
 10123  	// array of major or minor versions of an environment template, after the list
 10124  	// of major or minor versions that was previously requested.
 10125  	NextToken *string `locationName:"nextToken" type:"string"`
 10126  
 10127  	// The name of the environment template.
 10128  	//
 10129  	// TemplateName is a required field
 10130  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
 10131  }
 10132  
 10133  // String returns the string representation.
 10134  //
 10135  // API parameter values that are decorated as "sensitive" in the API will not
 10136  // be included in the string output. The member name will be present, but the
 10137  // value will be replaced with "sensitive".
 10138  func (s ListEnvironmentTemplateVersionsInput) String() string {
 10139  	return awsutil.Prettify(s)
 10140  }
 10141  
 10142  // GoString returns the string representation.
 10143  //
 10144  // API parameter values that are decorated as "sensitive" in the API will not
 10145  // be included in the string output. The member name will be present, but the
 10146  // value will be replaced with "sensitive".
 10147  func (s ListEnvironmentTemplateVersionsInput) GoString() string {
 10148  	return s.String()
 10149  }
 10150  
 10151  // Validate inspects the fields of the type to determine if they are valid.
 10152  func (s *ListEnvironmentTemplateVersionsInput) Validate() error {
 10153  	invalidParams := request.ErrInvalidParams{Context: "ListEnvironmentTemplateVersionsInput"}
 10154  	if s.MajorVersion != nil && len(*s.MajorVersion) < 1 {
 10155  		invalidParams.Add(request.NewErrParamMinLen("MajorVersion", 1))
 10156  	}
 10157  	if s.MaxResults != nil && *s.MaxResults < 1 {
 10158  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 10159  	}
 10160  	if s.TemplateName == nil {
 10161  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 10162  	}
 10163  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 10164  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 10165  	}
 10166  
 10167  	if invalidParams.Len() > 0 {
 10168  		return invalidParams
 10169  	}
 10170  	return nil
 10171  }
 10172  
 10173  // SetMajorVersion sets the MajorVersion field's value.
 10174  func (s *ListEnvironmentTemplateVersionsInput) SetMajorVersion(v string) *ListEnvironmentTemplateVersionsInput {
 10175  	s.MajorVersion = &v
 10176  	return s
 10177  }
 10178  
 10179  // SetMaxResults sets the MaxResults field's value.
 10180  func (s *ListEnvironmentTemplateVersionsInput) SetMaxResults(v int64) *ListEnvironmentTemplateVersionsInput {
 10181  	s.MaxResults = &v
 10182  	return s
 10183  }
 10184  
 10185  // SetNextToken sets the NextToken field's value.
 10186  func (s *ListEnvironmentTemplateVersionsInput) SetNextToken(v string) *ListEnvironmentTemplateVersionsInput {
 10187  	s.NextToken = &v
 10188  	return s
 10189  }
 10190  
 10191  // SetTemplateName sets the TemplateName field's value.
 10192  func (s *ListEnvironmentTemplateVersionsInput) SetTemplateName(v string) *ListEnvironmentTemplateVersionsInput {
 10193  	s.TemplateName = &v
 10194  	return s
 10195  }
 10196  
 10197  type ListEnvironmentTemplateVersionsOutput struct {
 10198  	_ struct{} `type:"structure"`
 10199  
 10200  	// A token to indicate the location of the next major or minor version in the
 10201  	// array of major or minor versions of an environment template, after the list
 10202  	// of major or minor versions that was previously requested.
 10203  	NextToken *string `locationName:"nextToken" type:"string"`
 10204  
 10205  	// An array of major or minor versions of an environment template detail data.
 10206  	//
 10207  	// TemplateVersions is a required field
 10208  	TemplateVersions []*EnvironmentTemplateVersionSummary `locationName:"templateVersions" type:"list" required:"true"`
 10209  }
 10210  
 10211  // String returns the string representation.
 10212  //
 10213  // API parameter values that are decorated as "sensitive" in the API will not
 10214  // be included in the string output. The member name will be present, but the
 10215  // value will be replaced with "sensitive".
 10216  func (s ListEnvironmentTemplateVersionsOutput) String() string {
 10217  	return awsutil.Prettify(s)
 10218  }
 10219  
 10220  // GoString returns the string representation.
 10221  //
 10222  // API parameter values that are decorated as "sensitive" in the API will not
 10223  // be included in the string output. The member name will be present, but the
 10224  // value will be replaced with "sensitive".
 10225  func (s ListEnvironmentTemplateVersionsOutput) GoString() string {
 10226  	return s.String()
 10227  }
 10228  
 10229  // SetNextToken sets the NextToken field's value.
 10230  func (s *ListEnvironmentTemplateVersionsOutput) SetNextToken(v string) *ListEnvironmentTemplateVersionsOutput {
 10231  	s.NextToken = &v
 10232  	return s
 10233  }
 10234  
 10235  // SetTemplateVersions sets the TemplateVersions field's value.
 10236  func (s *ListEnvironmentTemplateVersionsOutput) SetTemplateVersions(v []*EnvironmentTemplateVersionSummary) *ListEnvironmentTemplateVersionsOutput {
 10237  	s.TemplateVersions = v
 10238  	return s
 10239  }
 10240  
 10241  type ListEnvironmentTemplatesInput struct {
 10242  	_ struct{} `type:"structure"`
 10243  
 10244  	// The maximum number of environment templates to list.
 10245  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 10246  
 10247  	// A token to indicate the location of the next environment template in the
 10248  	// array of environment templates, after the list of environment templates that
 10249  	// was previously requested.
 10250  	NextToken *string `locationName:"nextToken" type:"string"`
 10251  }
 10252  
 10253  // String returns the string representation.
 10254  //
 10255  // API parameter values that are decorated as "sensitive" in the API will not
 10256  // be included in the string output. The member name will be present, but the
 10257  // value will be replaced with "sensitive".
 10258  func (s ListEnvironmentTemplatesInput) String() string {
 10259  	return awsutil.Prettify(s)
 10260  }
 10261  
 10262  // GoString returns the string representation.
 10263  //
 10264  // API parameter values that are decorated as "sensitive" in the API will not
 10265  // be included in the string output. The member name will be present, but the
 10266  // value will be replaced with "sensitive".
 10267  func (s ListEnvironmentTemplatesInput) GoString() string {
 10268  	return s.String()
 10269  }
 10270  
 10271  // Validate inspects the fields of the type to determine if they are valid.
 10272  func (s *ListEnvironmentTemplatesInput) Validate() error {
 10273  	invalidParams := request.ErrInvalidParams{Context: "ListEnvironmentTemplatesInput"}
 10274  	if s.MaxResults != nil && *s.MaxResults < 1 {
 10275  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 10276  	}
 10277  
 10278  	if invalidParams.Len() > 0 {
 10279  		return invalidParams
 10280  	}
 10281  	return nil
 10282  }
 10283  
 10284  // SetMaxResults sets the MaxResults field's value.
 10285  func (s *ListEnvironmentTemplatesInput) SetMaxResults(v int64) *ListEnvironmentTemplatesInput {
 10286  	s.MaxResults = &v
 10287  	return s
 10288  }
 10289  
 10290  // SetNextToken sets the NextToken field's value.
 10291  func (s *ListEnvironmentTemplatesInput) SetNextToken(v string) *ListEnvironmentTemplatesInput {
 10292  	s.NextToken = &v
 10293  	return s
 10294  }
 10295  
 10296  type ListEnvironmentTemplatesOutput struct {
 10297  	_ struct{} `type:"structure"`
 10298  
 10299  	// A token to indicate the location of the next environment template in the
 10300  	// array of environment templates, after the current requested list of environment
 10301  	// templates.
 10302  	NextToken *string `locationName:"nextToken" type:"string"`
 10303  
 10304  	// An array of environment templates with detail data.
 10305  	//
 10306  	// Templates is a required field
 10307  	Templates []*EnvironmentTemplateSummary `locationName:"templates" type:"list" required:"true"`
 10308  }
 10309  
 10310  // String returns the string representation.
 10311  //
 10312  // API parameter values that are decorated as "sensitive" in the API will not
 10313  // be included in the string output. The member name will be present, but the
 10314  // value will be replaced with "sensitive".
 10315  func (s ListEnvironmentTemplatesOutput) String() string {
 10316  	return awsutil.Prettify(s)
 10317  }
 10318  
 10319  // GoString returns the string representation.
 10320  //
 10321  // API parameter values that are decorated as "sensitive" in the API will not
 10322  // be included in the string output. The member name will be present, but the
 10323  // value will be replaced with "sensitive".
 10324  func (s ListEnvironmentTemplatesOutput) GoString() string {
 10325  	return s.String()
 10326  }
 10327  
 10328  // SetNextToken sets the NextToken field's value.
 10329  func (s *ListEnvironmentTemplatesOutput) SetNextToken(v string) *ListEnvironmentTemplatesOutput {
 10330  	s.NextToken = &v
 10331  	return s
 10332  }
 10333  
 10334  // SetTemplates sets the Templates field's value.
 10335  func (s *ListEnvironmentTemplatesOutput) SetTemplates(v []*EnvironmentTemplateSummary) *ListEnvironmentTemplatesOutput {
 10336  	s.Templates = v
 10337  	return s
 10338  }
 10339  
 10340  type ListEnvironmentsInput struct {
 10341  	_ struct{} `type:"structure"`
 10342  
 10343  	// An array of the versions of the environment template.
 10344  	EnvironmentTemplates []*EnvironmentTemplateFilter `locationName:"environmentTemplates" type:"list"`
 10345  
 10346  	// The maximum number of environments to list.
 10347  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 10348  
 10349  	// A token to indicate the location of the next environment in the array of
 10350  	// environments, after the list of environments that was previously requested.
 10351  	NextToken *string `locationName:"nextToken" type:"string"`
 10352  }
 10353  
 10354  // String returns the string representation.
 10355  //
 10356  // API parameter values that are decorated as "sensitive" in the API will not
 10357  // be included in the string output. The member name will be present, but the
 10358  // value will be replaced with "sensitive".
 10359  func (s ListEnvironmentsInput) String() string {
 10360  	return awsutil.Prettify(s)
 10361  }
 10362  
 10363  // GoString returns the string representation.
 10364  //
 10365  // API parameter values that are decorated as "sensitive" in the API will not
 10366  // be included in the string output. The member name will be present, but the
 10367  // value will be replaced with "sensitive".
 10368  func (s ListEnvironmentsInput) GoString() string {
 10369  	return s.String()
 10370  }
 10371  
 10372  // Validate inspects the fields of the type to determine if they are valid.
 10373  func (s *ListEnvironmentsInput) Validate() error {
 10374  	invalidParams := request.ErrInvalidParams{Context: "ListEnvironmentsInput"}
 10375  	if s.MaxResults != nil && *s.MaxResults < 1 {
 10376  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 10377  	}
 10378  	if s.EnvironmentTemplates != nil {
 10379  		for i, v := range s.EnvironmentTemplates {
 10380  			if v == nil {
 10381  				continue
 10382  			}
 10383  			if err := v.Validate(); err != nil {
 10384  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentTemplates", i), err.(request.ErrInvalidParams))
 10385  			}
 10386  		}
 10387  	}
 10388  
 10389  	if invalidParams.Len() > 0 {
 10390  		return invalidParams
 10391  	}
 10392  	return nil
 10393  }
 10394  
 10395  // SetEnvironmentTemplates sets the EnvironmentTemplates field's value.
 10396  func (s *ListEnvironmentsInput) SetEnvironmentTemplates(v []*EnvironmentTemplateFilter) *ListEnvironmentsInput {
 10397  	s.EnvironmentTemplates = v
 10398  	return s
 10399  }
 10400  
 10401  // SetMaxResults sets the MaxResults field's value.
 10402  func (s *ListEnvironmentsInput) SetMaxResults(v int64) *ListEnvironmentsInput {
 10403  	s.MaxResults = &v
 10404  	return s
 10405  }
 10406  
 10407  // SetNextToken sets the NextToken field's value.
 10408  func (s *ListEnvironmentsInput) SetNextToken(v string) *ListEnvironmentsInput {
 10409  	s.NextToken = &v
 10410  	return s
 10411  }
 10412  
 10413  type ListEnvironmentsOutput struct {
 10414  	_ struct{} `type:"structure"`
 10415  
 10416  	// An array of environment detail data summaries.
 10417  	//
 10418  	// Environments is a required field
 10419  	Environments []*EnvironmentSummary `locationName:"environments" type:"list" required:"true"`
 10420  
 10421  	// A token to indicate the location of the next environment in the array of
 10422  	// environments, after the current requested list of environments.
 10423  	NextToken *string `locationName:"nextToken" type:"string"`
 10424  }
 10425  
 10426  // String returns the string representation.
 10427  //
 10428  // API parameter values that are decorated as "sensitive" in the API will not
 10429  // be included in the string output. The member name will be present, but the
 10430  // value will be replaced with "sensitive".
 10431  func (s ListEnvironmentsOutput) String() string {
 10432  	return awsutil.Prettify(s)
 10433  }
 10434  
 10435  // GoString returns the string representation.
 10436  //
 10437  // API parameter values that are decorated as "sensitive" in the API will not
 10438  // be included in the string output. The member name will be present, but the
 10439  // value will be replaced with "sensitive".
 10440  func (s ListEnvironmentsOutput) GoString() string {
 10441  	return s.String()
 10442  }
 10443  
 10444  // SetEnvironments sets the Environments field's value.
 10445  func (s *ListEnvironmentsOutput) SetEnvironments(v []*EnvironmentSummary) *ListEnvironmentsOutput {
 10446  	s.Environments = v
 10447  	return s
 10448  }
 10449  
 10450  // SetNextToken sets the NextToken field's value.
 10451  func (s *ListEnvironmentsOutput) SetNextToken(v string) *ListEnvironmentsOutput {
 10452  	s.NextToken = &v
 10453  	return s
 10454  }
 10455  
 10456  type ListServiceInstancesInput struct {
 10457  	_ struct{} `type:"structure"`
 10458  
 10459  	// The maximum number of service instances to list.
 10460  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 10461  
 10462  	// A token to indicate the location of the next service in the array of service
 10463  	// instances, after the list of service instances that was previously requested.
 10464  	NextToken *string `locationName:"nextToken" type:"string"`
 10465  
 10466  	// The name of the service that the service instance belongs to.
 10467  	ServiceName *string `locationName:"serviceName" min:"1" type:"string"`
 10468  }
 10469  
 10470  // String returns the string representation.
 10471  //
 10472  // API parameter values that are decorated as "sensitive" in the API will not
 10473  // be included in the string output. The member name will be present, but the
 10474  // value will be replaced with "sensitive".
 10475  func (s ListServiceInstancesInput) String() string {
 10476  	return awsutil.Prettify(s)
 10477  }
 10478  
 10479  // GoString returns the string representation.
 10480  //
 10481  // API parameter values that are decorated as "sensitive" in the API will not
 10482  // be included in the string output. The member name will be present, but the
 10483  // value will be replaced with "sensitive".
 10484  func (s ListServiceInstancesInput) GoString() string {
 10485  	return s.String()
 10486  }
 10487  
 10488  // Validate inspects the fields of the type to determine if they are valid.
 10489  func (s *ListServiceInstancesInput) Validate() error {
 10490  	invalidParams := request.ErrInvalidParams{Context: "ListServiceInstancesInput"}
 10491  	if s.MaxResults != nil && *s.MaxResults < 1 {
 10492  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 10493  	}
 10494  	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
 10495  		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
 10496  	}
 10497  
 10498  	if invalidParams.Len() > 0 {
 10499  		return invalidParams
 10500  	}
 10501  	return nil
 10502  }
 10503  
 10504  // SetMaxResults sets the MaxResults field's value.
 10505  func (s *ListServiceInstancesInput) SetMaxResults(v int64) *ListServiceInstancesInput {
 10506  	s.MaxResults = &v
 10507  	return s
 10508  }
 10509  
 10510  // SetNextToken sets the NextToken field's value.
 10511  func (s *ListServiceInstancesInput) SetNextToken(v string) *ListServiceInstancesInput {
 10512  	s.NextToken = &v
 10513  	return s
 10514  }
 10515  
 10516  // SetServiceName sets the ServiceName field's value.
 10517  func (s *ListServiceInstancesInput) SetServiceName(v string) *ListServiceInstancesInput {
 10518  	s.ServiceName = &v
 10519  	return s
 10520  }
 10521  
 10522  type ListServiceInstancesOutput struct {
 10523  	_ struct{} `type:"structure"`
 10524  
 10525  	// A token to indicate the location of the next service instance in the array
 10526  	// of service instances, after the current requested list of service instances.
 10527  	NextToken *string `locationName:"nextToken" type:"string"`
 10528  
 10529  	// An array of service instances with summaries of detail data.
 10530  	//
 10531  	// ServiceInstances is a required field
 10532  	ServiceInstances []*ServiceInstanceSummary `locationName:"serviceInstances" type:"list" required:"true"`
 10533  }
 10534  
 10535  // String returns the string representation.
 10536  //
 10537  // API parameter values that are decorated as "sensitive" in the API will not
 10538  // be included in the string output. The member name will be present, but the
 10539  // value will be replaced with "sensitive".
 10540  func (s ListServiceInstancesOutput) String() string {
 10541  	return awsutil.Prettify(s)
 10542  }
 10543  
 10544  // GoString returns the string representation.
 10545  //
 10546  // API parameter values that are decorated as "sensitive" in the API will not
 10547  // be included in the string output. The member name will be present, but the
 10548  // value will be replaced with "sensitive".
 10549  func (s ListServiceInstancesOutput) GoString() string {
 10550  	return s.String()
 10551  }
 10552  
 10553  // SetNextToken sets the NextToken field's value.
 10554  func (s *ListServiceInstancesOutput) SetNextToken(v string) *ListServiceInstancesOutput {
 10555  	s.NextToken = &v
 10556  	return s
 10557  }
 10558  
 10559  // SetServiceInstances sets the ServiceInstances field's value.
 10560  func (s *ListServiceInstancesOutput) SetServiceInstances(v []*ServiceInstanceSummary) *ListServiceInstancesOutput {
 10561  	s.ServiceInstances = v
 10562  	return s
 10563  }
 10564  
 10565  type ListServiceTemplateVersionsInput struct {
 10566  	_ struct{} `type:"structure"`
 10567  
 10568  	// To view a list of minor of versions under a major version of a service template,
 10569  	// include majorVersion.
 10570  	//
 10571  	// To view a list of major versions of a service template, exclude majorVersion.
 10572  	MajorVersion *string `locationName:"majorVersion" min:"1" type:"string"`
 10573  
 10574  	// The maximum number of major or minor versions of a service template to list.
 10575  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 10576  
 10577  	// A token to indicate the location of the next major or minor version in the
 10578  	// array of major or minor versions of a service template, after the list of
 10579  	// major or minor versions that was previously requested.
 10580  	NextToken *string `locationName:"nextToken" type:"string"`
 10581  
 10582  	// The name of the service template.
 10583  	//
 10584  	// TemplateName is a required field
 10585  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
 10586  }
 10587  
 10588  // String returns the string representation.
 10589  //
 10590  // API parameter values that are decorated as "sensitive" in the API will not
 10591  // be included in the string output. The member name will be present, but the
 10592  // value will be replaced with "sensitive".
 10593  func (s ListServiceTemplateVersionsInput) String() string {
 10594  	return awsutil.Prettify(s)
 10595  }
 10596  
 10597  // GoString returns the string representation.
 10598  //
 10599  // API parameter values that are decorated as "sensitive" in the API will not
 10600  // be included in the string output. The member name will be present, but the
 10601  // value will be replaced with "sensitive".
 10602  func (s ListServiceTemplateVersionsInput) GoString() string {
 10603  	return s.String()
 10604  }
 10605  
 10606  // Validate inspects the fields of the type to determine if they are valid.
 10607  func (s *ListServiceTemplateVersionsInput) Validate() error {
 10608  	invalidParams := request.ErrInvalidParams{Context: "ListServiceTemplateVersionsInput"}
 10609  	if s.MajorVersion != nil && len(*s.MajorVersion) < 1 {
 10610  		invalidParams.Add(request.NewErrParamMinLen("MajorVersion", 1))
 10611  	}
 10612  	if s.MaxResults != nil && *s.MaxResults < 1 {
 10613  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 10614  	}
 10615  	if s.TemplateName == nil {
 10616  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 10617  	}
 10618  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 10619  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 10620  	}
 10621  
 10622  	if invalidParams.Len() > 0 {
 10623  		return invalidParams
 10624  	}
 10625  	return nil
 10626  }
 10627  
 10628  // SetMajorVersion sets the MajorVersion field's value.
 10629  func (s *ListServiceTemplateVersionsInput) SetMajorVersion(v string) *ListServiceTemplateVersionsInput {
 10630  	s.MajorVersion = &v
 10631  	return s
 10632  }
 10633  
 10634  // SetMaxResults sets the MaxResults field's value.
 10635  func (s *ListServiceTemplateVersionsInput) SetMaxResults(v int64) *ListServiceTemplateVersionsInput {
 10636  	s.MaxResults = &v
 10637  	return s
 10638  }
 10639  
 10640  // SetNextToken sets the NextToken field's value.
 10641  func (s *ListServiceTemplateVersionsInput) SetNextToken(v string) *ListServiceTemplateVersionsInput {
 10642  	s.NextToken = &v
 10643  	return s
 10644  }
 10645  
 10646  // SetTemplateName sets the TemplateName field's value.
 10647  func (s *ListServiceTemplateVersionsInput) SetTemplateName(v string) *ListServiceTemplateVersionsInput {
 10648  	s.TemplateName = &v
 10649  	return s
 10650  }
 10651  
 10652  type ListServiceTemplateVersionsOutput struct {
 10653  	_ struct{} `type:"structure"`
 10654  
 10655  	// A token to indicate the location of the next major or minor version in the
 10656  	// array of major or minor versions of a service template, after the list of
 10657  	// major or minor versions that was previously requested.
 10658  	NextToken *string `locationName:"nextToken" type:"string"`
 10659  
 10660  	// An array of major or minor versions of a service template with detail data.
 10661  	//
 10662  	// TemplateVersions is a required field
 10663  	TemplateVersions []*ServiceTemplateVersionSummary `locationName:"templateVersions" type:"list" required:"true"`
 10664  }
 10665  
 10666  // String returns the string representation.
 10667  //
 10668  // API parameter values that are decorated as "sensitive" in the API will not
 10669  // be included in the string output. The member name will be present, but the
 10670  // value will be replaced with "sensitive".
 10671  func (s ListServiceTemplateVersionsOutput) String() string {
 10672  	return awsutil.Prettify(s)
 10673  }
 10674  
 10675  // GoString returns the string representation.
 10676  //
 10677  // API parameter values that are decorated as "sensitive" in the API will not
 10678  // be included in the string output. The member name will be present, but the
 10679  // value will be replaced with "sensitive".
 10680  func (s ListServiceTemplateVersionsOutput) GoString() string {
 10681  	return s.String()
 10682  }
 10683  
 10684  // SetNextToken sets the NextToken field's value.
 10685  func (s *ListServiceTemplateVersionsOutput) SetNextToken(v string) *ListServiceTemplateVersionsOutput {
 10686  	s.NextToken = &v
 10687  	return s
 10688  }
 10689  
 10690  // SetTemplateVersions sets the TemplateVersions field's value.
 10691  func (s *ListServiceTemplateVersionsOutput) SetTemplateVersions(v []*ServiceTemplateVersionSummary) *ListServiceTemplateVersionsOutput {
 10692  	s.TemplateVersions = v
 10693  	return s
 10694  }
 10695  
 10696  type ListServiceTemplatesInput struct {
 10697  	_ struct{} `type:"structure"`
 10698  
 10699  	// The maximum number of service templates to list.
 10700  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 10701  
 10702  	// A token to indicate the location of the next service template in the array
 10703  	// of service templates, after the list of service templates previously requested.
 10704  	NextToken *string `locationName:"nextToken" type:"string"`
 10705  }
 10706  
 10707  // String returns the string representation.
 10708  //
 10709  // API parameter values that are decorated as "sensitive" in the API will not
 10710  // be included in the string output. The member name will be present, but the
 10711  // value will be replaced with "sensitive".
 10712  func (s ListServiceTemplatesInput) String() string {
 10713  	return awsutil.Prettify(s)
 10714  }
 10715  
 10716  // GoString returns the string representation.
 10717  //
 10718  // API parameter values that are decorated as "sensitive" in the API will not
 10719  // be included in the string output. The member name will be present, but the
 10720  // value will be replaced with "sensitive".
 10721  func (s ListServiceTemplatesInput) GoString() string {
 10722  	return s.String()
 10723  }
 10724  
 10725  // Validate inspects the fields of the type to determine if they are valid.
 10726  func (s *ListServiceTemplatesInput) Validate() error {
 10727  	invalidParams := request.ErrInvalidParams{Context: "ListServiceTemplatesInput"}
 10728  	if s.MaxResults != nil && *s.MaxResults < 1 {
 10729  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 10730  	}
 10731  
 10732  	if invalidParams.Len() > 0 {
 10733  		return invalidParams
 10734  	}
 10735  	return nil
 10736  }
 10737  
 10738  // SetMaxResults sets the MaxResults field's value.
 10739  func (s *ListServiceTemplatesInput) SetMaxResults(v int64) *ListServiceTemplatesInput {
 10740  	s.MaxResults = &v
 10741  	return s
 10742  }
 10743  
 10744  // SetNextToken sets the NextToken field's value.
 10745  func (s *ListServiceTemplatesInput) SetNextToken(v string) *ListServiceTemplatesInput {
 10746  	s.NextToken = &v
 10747  	return s
 10748  }
 10749  
 10750  type ListServiceTemplatesOutput struct {
 10751  	_ struct{} `type:"structure"`
 10752  
 10753  	// A token to indicate the location of the next service template in the array
 10754  	// of service templates, after the current requested list of service templates.
 10755  	NextToken *string `locationName:"nextToken" type:"string"`
 10756  
 10757  	// An array of service templates with detail data.
 10758  	//
 10759  	// Templates is a required field
 10760  	Templates []*ServiceTemplateSummary `locationName:"templates" type:"list" required:"true"`
 10761  }
 10762  
 10763  // String returns the string representation.
 10764  //
 10765  // API parameter values that are decorated as "sensitive" in the API will not
 10766  // be included in the string output. The member name will be present, but the
 10767  // value will be replaced with "sensitive".
 10768  func (s ListServiceTemplatesOutput) String() string {
 10769  	return awsutil.Prettify(s)
 10770  }
 10771  
 10772  // GoString returns the string representation.
 10773  //
 10774  // API parameter values that are decorated as "sensitive" in the API will not
 10775  // be included in the string output. The member name will be present, but the
 10776  // value will be replaced with "sensitive".
 10777  func (s ListServiceTemplatesOutput) GoString() string {
 10778  	return s.String()
 10779  }
 10780  
 10781  // SetNextToken sets the NextToken field's value.
 10782  func (s *ListServiceTemplatesOutput) SetNextToken(v string) *ListServiceTemplatesOutput {
 10783  	s.NextToken = &v
 10784  	return s
 10785  }
 10786  
 10787  // SetTemplates sets the Templates field's value.
 10788  func (s *ListServiceTemplatesOutput) SetTemplates(v []*ServiceTemplateSummary) *ListServiceTemplatesOutput {
 10789  	s.Templates = v
 10790  	return s
 10791  }
 10792  
 10793  type ListServicesInput struct {
 10794  	_ struct{} `type:"structure"`
 10795  
 10796  	// The maximum number of services to list.
 10797  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 10798  
 10799  	// A token to indicate the location of the next service in the array of services,
 10800  	// after the list of services that was previously requested.
 10801  	NextToken *string `locationName:"nextToken" type:"string"`
 10802  }
 10803  
 10804  // String returns the string representation.
 10805  //
 10806  // API parameter values that are decorated as "sensitive" in the API will not
 10807  // be included in the string output. The member name will be present, but the
 10808  // value will be replaced with "sensitive".
 10809  func (s ListServicesInput) String() string {
 10810  	return awsutil.Prettify(s)
 10811  }
 10812  
 10813  // GoString returns the string representation.
 10814  //
 10815  // API parameter values that are decorated as "sensitive" in the API will not
 10816  // be included in the string output. The member name will be present, but the
 10817  // value will be replaced with "sensitive".
 10818  func (s ListServicesInput) GoString() string {
 10819  	return s.String()
 10820  }
 10821  
 10822  // Validate inspects the fields of the type to determine if they are valid.
 10823  func (s *ListServicesInput) Validate() error {
 10824  	invalidParams := request.ErrInvalidParams{Context: "ListServicesInput"}
 10825  	if s.MaxResults != nil && *s.MaxResults < 1 {
 10826  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 10827  	}
 10828  
 10829  	if invalidParams.Len() > 0 {
 10830  		return invalidParams
 10831  	}
 10832  	return nil
 10833  }
 10834  
 10835  // SetMaxResults sets the MaxResults field's value.
 10836  func (s *ListServicesInput) SetMaxResults(v int64) *ListServicesInput {
 10837  	s.MaxResults = &v
 10838  	return s
 10839  }
 10840  
 10841  // SetNextToken sets the NextToken field's value.
 10842  func (s *ListServicesInput) SetNextToken(v string) *ListServicesInput {
 10843  	s.NextToken = &v
 10844  	return s
 10845  }
 10846  
 10847  type ListServicesOutput struct {
 10848  	_ struct{} `type:"structure"`
 10849  
 10850  	// A token to indicate the location of the next service in the array of services,
 10851  	// after the current requested list of services.
 10852  	NextToken *string `locationName:"nextToken" type:"string"`
 10853  
 10854  	// An array of services with summaries of detail data.
 10855  	//
 10856  	// Services is a required field
 10857  	Services []*ServiceSummary `locationName:"services" type:"list" required:"true"`
 10858  }
 10859  
 10860  // String returns the string representation.
 10861  //
 10862  // API parameter values that are decorated as "sensitive" in the API will not
 10863  // be included in the string output. The member name will be present, but the
 10864  // value will be replaced with "sensitive".
 10865  func (s ListServicesOutput) String() string {
 10866  	return awsutil.Prettify(s)
 10867  }
 10868  
 10869  // GoString returns the string representation.
 10870  //
 10871  // API parameter values that are decorated as "sensitive" in the API will not
 10872  // be included in the string output. The member name will be present, but the
 10873  // value will be replaced with "sensitive".
 10874  func (s ListServicesOutput) GoString() string {
 10875  	return s.String()
 10876  }
 10877  
 10878  // SetNextToken sets the NextToken field's value.
 10879  func (s *ListServicesOutput) SetNextToken(v string) *ListServicesOutput {
 10880  	s.NextToken = &v
 10881  	return s
 10882  }
 10883  
 10884  // SetServices sets the Services field's value.
 10885  func (s *ListServicesOutput) SetServices(v []*ServiceSummary) *ListServicesOutput {
 10886  	s.Services = v
 10887  	return s
 10888  }
 10889  
 10890  type ListTagsForResourceInput struct {
 10891  	_ struct{} `type:"structure"`
 10892  
 10893  	// The maximum number of tags to list.
 10894  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 10895  
 10896  	// A token to indicate the location of the next resource tag in the array of
 10897  	// resource tags, after the list of resource tags that was previously requested.
 10898  	NextToken *string `locationName:"nextToken" type:"string"`
 10899  
 10900  	// The Amazon Resource Name (ARN) of the resource for the listed tags.
 10901  	//
 10902  	// ResourceArn is a required field
 10903  	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
 10904  }
 10905  
 10906  // String returns the string representation.
 10907  //
 10908  // API parameter values that are decorated as "sensitive" in the API will not
 10909  // be included in the string output. The member name will be present, but the
 10910  // value will be replaced with "sensitive".
 10911  func (s ListTagsForResourceInput) String() string {
 10912  	return awsutil.Prettify(s)
 10913  }
 10914  
 10915  // GoString returns the string representation.
 10916  //
 10917  // API parameter values that are decorated as "sensitive" in the API will not
 10918  // be included in the string output. The member name will be present, but the
 10919  // value will be replaced with "sensitive".
 10920  func (s ListTagsForResourceInput) GoString() string {
 10921  	return s.String()
 10922  }
 10923  
 10924  // Validate inspects the fields of the type to determine if they are valid.
 10925  func (s *ListTagsForResourceInput) Validate() error {
 10926  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 10927  	if s.MaxResults != nil && *s.MaxResults < 1 {
 10928  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 10929  	}
 10930  	if s.ResourceArn == nil {
 10931  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 10932  	}
 10933  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 10934  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 10935  	}
 10936  
 10937  	if invalidParams.Len() > 0 {
 10938  		return invalidParams
 10939  	}
 10940  	return nil
 10941  }
 10942  
 10943  // SetMaxResults sets the MaxResults field's value.
 10944  func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput {
 10945  	s.MaxResults = &v
 10946  	return s
 10947  }
 10948  
 10949  // SetNextToken sets the NextToken field's value.
 10950  func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
 10951  	s.NextToken = &v
 10952  	return s
 10953  }
 10954  
 10955  // SetResourceArn sets the ResourceArn field's value.
 10956  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
 10957  	s.ResourceArn = &v
 10958  	return s
 10959  }
 10960  
 10961  type ListTagsForResourceOutput struct {
 10962  	_ struct{} `type:"structure"`
 10963  
 10964  	// A token to indicate the location of the next resource tag in the array of
 10965  	// resource tags, after the current requested list of resource tags.
 10966  	NextToken *string `locationName:"nextToken" type:"string"`
 10967  
 10968  	// An array of resource tags with detail data.
 10969  	//
 10970  	// Tags is a required field
 10971  	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
 10972  }
 10973  
 10974  // String returns the string representation.
 10975  //
 10976  // API parameter values that are decorated as "sensitive" in the API will not
 10977  // be included in the string output. The member name will be present, but the
 10978  // value will be replaced with "sensitive".
 10979  func (s ListTagsForResourceOutput) String() string {
 10980  	return awsutil.Prettify(s)
 10981  }
 10982  
 10983  // GoString returns the string representation.
 10984  //
 10985  // API parameter values that are decorated as "sensitive" in the API will not
 10986  // be included in the string output. The member name will be present, but the
 10987  // value will be replaced with "sensitive".
 10988  func (s ListTagsForResourceOutput) GoString() string {
 10989  	return s.String()
 10990  }
 10991  
 10992  // SetNextToken sets the NextToken field's value.
 10993  func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
 10994  	s.NextToken = &v
 10995  	return s
 10996  }
 10997  
 10998  // SetTags sets the Tags field's value.
 10999  func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
 11000  	s.Tags = v
 11001  	return s
 11002  }
 11003  
 11004  type RejectEnvironmentAccountConnectionInput struct {
 11005  	_ struct{} `type:"structure"`
 11006  
 11007  	// The ID of the environment account connection to reject.
 11008  	//
 11009  	// Id is a required field
 11010  	Id *string `locationName:"id" type:"string" required:"true"`
 11011  }
 11012  
 11013  // String returns the string representation.
 11014  //
 11015  // API parameter values that are decorated as "sensitive" in the API will not
 11016  // be included in the string output. The member name will be present, but the
 11017  // value will be replaced with "sensitive".
 11018  func (s RejectEnvironmentAccountConnectionInput) String() string {
 11019  	return awsutil.Prettify(s)
 11020  }
 11021  
 11022  // GoString returns the string representation.
 11023  //
 11024  // API parameter values that are decorated as "sensitive" in the API will not
 11025  // be included in the string output. The member name will be present, but the
 11026  // value will be replaced with "sensitive".
 11027  func (s RejectEnvironmentAccountConnectionInput) GoString() string {
 11028  	return s.String()
 11029  }
 11030  
 11031  // Validate inspects the fields of the type to determine if they are valid.
 11032  func (s *RejectEnvironmentAccountConnectionInput) Validate() error {
 11033  	invalidParams := request.ErrInvalidParams{Context: "RejectEnvironmentAccountConnectionInput"}
 11034  	if s.Id == nil {
 11035  		invalidParams.Add(request.NewErrParamRequired("Id"))
 11036  	}
 11037  
 11038  	if invalidParams.Len() > 0 {
 11039  		return invalidParams
 11040  	}
 11041  	return nil
 11042  }
 11043  
 11044  // SetId sets the Id field's value.
 11045  func (s *RejectEnvironmentAccountConnectionInput) SetId(v string) *RejectEnvironmentAccountConnectionInput {
 11046  	s.Id = &v
 11047  	return s
 11048  }
 11049  
 11050  type RejectEnvironmentAccountConnectionOutput struct {
 11051  	_ struct{} `type:"structure"`
 11052  
 11053  	// The environment connection account detail data that's returned by AWS Proton.
 11054  	//
 11055  	// EnvironmentAccountConnection is a required field
 11056  	EnvironmentAccountConnection *EnvironmentAccountConnection `locationName:"environmentAccountConnection" type:"structure" required:"true"`
 11057  }
 11058  
 11059  // String returns the string representation.
 11060  //
 11061  // API parameter values that are decorated as "sensitive" in the API will not
 11062  // be included in the string output. The member name will be present, but the
 11063  // value will be replaced with "sensitive".
 11064  func (s RejectEnvironmentAccountConnectionOutput) String() string {
 11065  	return awsutil.Prettify(s)
 11066  }
 11067  
 11068  // GoString returns the string representation.
 11069  //
 11070  // API parameter values that are decorated as "sensitive" in the API will not
 11071  // be included in the string output. The member name will be present, but the
 11072  // value will be replaced with "sensitive".
 11073  func (s RejectEnvironmentAccountConnectionOutput) GoString() string {
 11074  	return s.String()
 11075  }
 11076  
 11077  // SetEnvironmentAccountConnection sets the EnvironmentAccountConnection field's value.
 11078  func (s *RejectEnvironmentAccountConnectionOutput) SetEnvironmentAccountConnection(v *EnvironmentAccountConnection) *RejectEnvironmentAccountConnectionOutput {
 11079  	s.EnvironmentAccountConnection = v
 11080  	return s
 11081  }
 11082  
 11083  // The requested resource wasn't found.
 11084  type ResourceNotFoundException struct {
 11085  	_            struct{}                  `type:"structure"`
 11086  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11087  
 11088  	// Message_ is a sensitive parameter and its value will be
 11089  	// replaced with "sensitive" in string returned by ResourceNotFoundException's
 11090  	// String and GoString methods.
 11091  	Message_ *string `locationName:"message" type:"string" sensitive:"true"`
 11092  }
 11093  
 11094  // String returns the string representation.
 11095  //
 11096  // API parameter values that are decorated as "sensitive" in the API will not
 11097  // be included in the string output. The member name will be present, but the
 11098  // value will be replaced with "sensitive".
 11099  func (s ResourceNotFoundException) String() string {
 11100  	return awsutil.Prettify(s)
 11101  }
 11102  
 11103  // GoString returns the string representation.
 11104  //
 11105  // API parameter values that are decorated as "sensitive" in the API will not
 11106  // be included in the string output. The member name will be present, but the
 11107  // value will be replaced with "sensitive".
 11108  func (s ResourceNotFoundException) GoString() string {
 11109  	return s.String()
 11110  }
 11111  
 11112  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 11113  	return &ResourceNotFoundException{
 11114  		RespMetadata: v,
 11115  	}
 11116  }
 11117  
 11118  // Code returns the exception type name.
 11119  func (s *ResourceNotFoundException) Code() string {
 11120  	return "ResourceNotFoundException"
 11121  }
 11122  
 11123  // Message returns the exception's message.
 11124  func (s *ResourceNotFoundException) Message() string {
 11125  	if s.Message_ != nil {
 11126  		return *s.Message_
 11127  	}
 11128  	return ""
 11129  }
 11130  
 11131  // OrigErr always returns nil, satisfies awserr.Error interface.
 11132  func (s *ResourceNotFoundException) OrigErr() error {
 11133  	return nil
 11134  }
 11135  
 11136  func (s *ResourceNotFoundException) Error() string {
 11137  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11138  }
 11139  
 11140  // Status code returns the HTTP status code for the request's response error.
 11141  func (s *ResourceNotFoundException) StatusCode() int {
 11142  	return s.RespMetadata.StatusCode
 11143  }
 11144  
 11145  // RequestID returns the service's response RequestID for request.
 11146  func (s *ResourceNotFoundException) RequestID() string {
 11147  	return s.RespMetadata.RequestID
 11148  }
 11149  
 11150  // Template bundle S3 bucket data.
 11151  type S3ObjectSource struct {
 11152  	_ struct{} `type:"structure"`
 11153  
 11154  	// The name of the S3 bucket that contains a template bundle.
 11155  	//
 11156  	// Bucket is a required field
 11157  	Bucket *string `locationName:"bucket" min:"3" type:"string" required:"true"`
 11158  
 11159  	// The path to the S3 bucket that contains a template bundle.
 11160  	//
 11161  	// Key is a required field
 11162  	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
 11163  }
 11164  
 11165  // String returns the string representation.
 11166  //
 11167  // API parameter values that are decorated as "sensitive" in the API will not
 11168  // be included in the string output. The member name will be present, but the
 11169  // value will be replaced with "sensitive".
 11170  func (s S3ObjectSource) String() string {
 11171  	return awsutil.Prettify(s)
 11172  }
 11173  
 11174  // GoString returns the string representation.
 11175  //
 11176  // API parameter values that are decorated as "sensitive" in the API will not
 11177  // be included in the string output. The member name will be present, but the
 11178  // value will be replaced with "sensitive".
 11179  func (s S3ObjectSource) GoString() string {
 11180  	return s.String()
 11181  }
 11182  
 11183  // Validate inspects the fields of the type to determine if they are valid.
 11184  func (s *S3ObjectSource) Validate() error {
 11185  	invalidParams := request.ErrInvalidParams{Context: "S3ObjectSource"}
 11186  	if s.Bucket == nil {
 11187  		invalidParams.Add(request.NewErrParamRequired("Bucket"))
 11188  	}
 11189  	if s.Bucket != nil && len(*s.Bucket) < 3 {
 11190  		invalidParams.Add(request.NewErrParamMinLen("Bucket", 3))
 11191  	}
 11192  	if s.Key == nil {
 11193  		invalidParams.Add(request.NewErrParamRequired("Key"))
 11194  	}
 11195  	if s.Key != nil && len(*s.Key) < 1 {
 11196  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 11197  	}
 11198  
 11199  	if invalidParams.Len() > 0 {
 11200  		return invalidParams
 11201  	}
 11202  	return nil
 11203  }
 11204  
 11205  // SetBucket sets the Bucket field's value.
 11206  func (s *S3ObjectSource) SetBucket(v string) *S3ObjectSource {
 11207  	s.Bucket = &v
 11208  	return s
 11209  }
 11210  
 11211  // SetKey sets the Key field's value.
 11212  func (s *S3ObjectSource) SetKey(v string) *S3ObjectSource {
 11213  	s.Key = &v
 11214  	return s
 11215  }
 11216  
 11217  // The service detail data.
 11218  type Service struct {
 11219  	_ struct{} `type:"structure"`
 11220  
 11221  	// The Amazon Resource Name (ARN) of the service.
 11222  	//
 11223  	// Arn is a required field
 11224  	Arn *string `locationName:"arn" type:"string" required:"true"`
 11225  
 11226  	// The name of the code repository branch that holds the code that's deployed
 11227  	// in AWS Proton.
 11228  	BranchName *string `locationName:"branchName" min:"1" type:"string"`
 11229  
 11230  	// The time when the service was created.
 11231  	//
 11232  	// CreatedAt is a required field
 11233  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
 11234  
 11235  	// A description of a service.
 11236  	//
 11237  	// Description is a sensitive parameter and its value will be
 11238  	// replaced with "sensitive" in string returned by Service's
 11239  	// String and GoString methods.
 11240  	Description *string `locationName:"description" type:"string" sensitive:"true"`
 11241  
 11242  	// The time when the service was last modified.
 11243  	//
 11244  	// LastModifiedAt is a required field
 11245  	LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp" required:"true"`
 11246  
 11247  	// The name of the service.
 11248  	//
 11249  	// Name is a required field
 11250  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 11251  
 11252  	// The service pipeline detail data.
 11253  	Pipeline *ServicePipeline `locationName:"pipeline" type:"structure"`
 11254  
 11255  	// The Amazon Resource Name (ARN) of the repository connection. For more information,
 11256  	// see Set up a repository connection (https://docs.aws.amazon.com/proton/latest/adminguide/setting-up-for-service.html#setting-up-vcontrol)
 11257  	// in the AWS Proton Administrator Guide and Setting up with AWS Proton (https://docs.aws.amazon.com/proton/latest/userguide/proton-setup.html#setup-repo-connection)
 11258  	// in the AWS Proton User Guide.
 11259  	RepositoryConnectionArn *string `locationName:"repositoryConnectionArn" min:"1" type:"string"`
 11260  
 11261  	// The ID of the code repository.
 11262  	RepositoryId *string `locationName:"repositoryId" min:"1" type:"string"`
 11263  
 11264  	// The formatted specification that defines the service.
 11265  	//
 11266  	// Spec is a sensitive parameter and its value will be
 11267  	// replaced with "sensitive" in string returned by Service's
 11268  	// String and GoString methods.
 11269  	//
 11270  	// Spec is a required field
 11271  	Spec *string `locationName:"spec" min:"1" type:"string" required:"true" sensitive:"true"`
 11272  
 11273  	// The status of the service.
 11274  	//
 11275  	// Status is a required field
 11276  	Status *string `locationName:"status" type:"string" required:"true" enum:"ServiceStatus"`
 11277  
 11278  	// A service status message.
 11279  	//
 11280  	// StatusMessage is a sensitive parameter and its value will be
 11281  	// replaced with "sensitive" in string returned by Service's
 11282  	// String and GoString methods.
 11283  	StatusMessage *string `locationName:"statusMessage" type:"string" sensitive:"true"`
 11284  
 11285  	// The name of the service template.
 11286  	//
 11287  	// TemplateName is a required field
 11288  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
 11289  }
 11290  
 11291  // String returns the string representation.
 11292  //
 11293  // API parameter values that are decorated as "sensitive" in the API will not
 11294  // be included in the string output. The member name will be present, but the
 11295  // value will be replaced with "sensitive".
 11296  func (s Service) String() string {
 11297  	return awsutil.Prettify(s)
 11298  }
 11299  
 11300  // GoString returns the string representation.
 11301  //
 11302  // API parameter values that are decorated as "sensitive" in the API will not
 11303  // be included in the string output. The member name will be present, but the
 11304  // value will be replaced with "sensitive".
 11305  func (s Service) GoString() string {
 11306  	return s.String()
 11307  }
 11308  
 11309  // SetArn sets the Arn field's value.
 11310  func (s *Service) SetArn(v string) *Service {
 11311  	s.Arn = &v
 11312  	return s
 11313  }
 11314  
 11315  // SetBranchName sets the BranchName field's value.
 11316  func (s *Service) SetBranchName(v string) *Service {
 11317  	s.BranchName = &v
 11318  	return s
 11319  }
 11320  
 11321  // SetCreatedAt sets the CreatedAt field's value.
 11322  func (s *Service) SetCreatedAt(v time.Time) *Service {
 11323  	s.CreatedAt = &v
 11324  	return s
 11325  }
 11326  
 11327  // SetDescription sets the Description field's value.
 11328  func (s *Service) SetDescription(v string) *Service {
 11329  	s.Description = &v
 11330  	return s
 11331  }
 11332  
 11333  // SetLastModifiedAt sets the LastModifiedAt field's value.
 11334  func (s *Service) SetLastModifiedAt(v time.Time) *Service {
 11335  	s.LastModifiedAt = &v
 11336  	return s
 11337  }
 11338  
 11339  // SetName sets the Name field's value.
 11340  func (s *Service) SetName(v string) *Service {
 11341  	s.Name = &v
 11342  	return s
 11343  }
 11344  
 11345  // SetPipeline sets the Pipeline field's value.
 11346  func (s *Service) SetPipeline(v *ServicePipeline) *Service {
 11347  	s.Pipeline = v
 11348  	return s
 11349  }
 11350  
 11351  // SetRepositoryConnectionArn sets the RepositoryConnectionArn field's value.
 11352  func (s *Service) SetRepositoryConnectionArn(v string) *Service {
 11353  	s.RepositoryConnectionArn = &v
 11354  	return s
 11355  }
 11356  
 11357  // SetRepositoryId sets the RepositoryId field's value.
 11358  func (s *Service) SetRepositoryId(v string) *Service {
 11359  	s.RepositoryId = &v
 11360  	return s
 11361  }
 11362  
 11363  // SetSpec sets the Spec field's value.
 11364  func (s *Service) SetSpec(v string) *Service {
 11365  	s.Spec = &v
 11366  	return s
 11367  }
 11368  
 11369  // SetStatus sets the Status field's value.
 11370  func (s *Service) SetStatus(v string) *Service {
 11371  	s.Status = &v
 11372  	return s
 11373  }
 11374  
 11375  // SetStatusMessage sets the StatusMessage field's value.
 11376  func (s *Service) SetStatusMessage(v string) *Service {
 11377  	s.StatusMessage = &v
 11378  	return s
 11379  }
 11380  
 11381  // SetTemplateName sets the TemplateName field's value.
 11382  func (s *Service) SetTemplateName(v string) *Service {
 11383  	s.TemplateName = &v
 11384  	return s
 11385  }
 11386  
 11387  // The service instance detail data.
 11388  type ServiceInstance struct {
 11389  	_ struct{} `type:"structure"`
 11390  
 11391  	// The Amazon Resource Name (ARN) of the service instance.
 11392  	//
 11393  	// Arn is a required field
 11394  	Arn *string `locationName:"arn" type:"string" required:"true"`
 11395  
 11396  	// The time when the service instance was created.
 11397  	//
 11398  	// CreatedAt is a required field
 11399  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
 11400  
 11401  	// The service instance deployment status.
 11402  	//
 11403  	// DeploymentStatus is a required field
 11404  	DeploymentStatus *string `locationName:"deploymentStatus" type:"string" required:"true" enum:"DeploymentStatus"`
 11405  
 11406  	// A service instance deployment status message.
 11407  	//
 11408  	// DeploymentStatusMessage is a sensitive parameter and its value will be
 11409  	// replaced with "sensitive" in string returned by ServiceInstance's
 11410  	// String and GoString methods.
 11411  	DeploymentStatusMessage *string `locationName:"deploymentStatusMessage" type:"string" sensitive:"true"`
 11412  
 11413  	// The name of the environment that the service instance was deployed into.
 11414  	//
 11415  	// EnvironmentName is a required field
 11416  	EnvironmentName *string `locationName:"environmentName" min:"1" type:"string" required:"true"`
 11417  
 11418  	// The time when a deployment of the service instance was last attempted.
 11419  	//
 11420  	// LastDeploymentAttemptedAt is a required field
 11421  	LastDeploymentAttemptedAt *time.Time `locationName:"lastDeploymentAttemptedAt" type:"timestamp" required:"true"`
 11422  
 11423  	// The time when the service instance was last deployed successfully.
 11424  	//
 11425  	// LastDeploymentSucceededAt is a required field
 11426  	LastDeploymentSucceededAt *time.Time `locationName:"lastDeploymentSucceededAt" type:"timestamp" required:"true"`
 11427  
 11428  	// The name of the service instance.
 11429  	//
 11430  	// Name is a required field
 11431  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 11432  
 11433  	// The name of the service that the service instance belongs to.
 11434  	//
 11435  	// ServiceName is a required field
 11436  	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
 11437  
 11438  	// The service spec that was used to create the service instance.
 11439  	//
 11440  	// Spec is a sensitive parameter and its value will be
 11441  	// replaced with "sensitive" in string returned by ServiceInstance's
 11442  	// String and GoString methods.
 11443  	Spec *string `locationName:"spec" min:"1" type:"string" sensitive:"true"`
 11444  
 11445  	// The ID of the major version of the service template that was used to create
 11446  	// the service instance.
 11447  	//
 11448  	// TemplateMajorVersion is a required field
 11449  	TemplateMajorVersion *string `locationName:"templateMajorVersion" min:"1" type:"string" required:"true"`
 11450  
 11451  	// The ID of the minor version of the service template that was used to create
 11452  	// the service instance.
 11453  	//
 11454  	// TemplateMinorVersion is a required field
 11455  	TemplateMinorVersion *string `locationName:"templateMinorVersion" min:"1" type:"string" required:"true"`
 11456  
 11457  	// The name of the service template that was used to create the service instance.
 11458  	//
 11459  	// TemplateName is a required field
 11460  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
 11461  }
 11462  
 11463  // String returns the string representation.
 11464  //
 11465  // API parameter values that are decorated as "sensitive" in the API will not
 11466  // be included in the string output. The member name will be present, but the
 11467  // value will be replaced with "sensitive".
 11468  func (s ServiceInstance) String() string {
 11469  	return awsutil.Prettify(s)
 11470  }
 11471  
 11472  // GoString returns the string representation.
 11473  //
 11474  // API parameter values that are decorated as "sensitive" in the API will not
 11475  // be included in the string output. The member name will be present, but the
 11476  // value will be replaced with "sensitive".
 11477  func (s ServiceInstance) GoString() string {
 11478  	return s.String()
 11479  }
 11480  
 11481  // SetArn sets the Arn field's value.
 11482  func (s *ServiceInstance) SetArn(v string) *ServiceInstance {
 11483  	s.Arn = &v
 11484  	return s
 11485  }
 11486  
 11487  // SetCreatedAt sets the CreatedAt field's value.
 11488  func (s *ServiceInstance) SetCreatedAt(v time.Time) *ServiceInstance {
 11489  	s.CreatedAt = &v
 11490  	return s
 11491  }
 11492  
 11493  // SetDeploymentStatus sets the DeploymentStatus field's value.
 11494  func (s *ServiceInstance) SetDeploymentStatus(v string) *ServiceInstance {
 11495  	s.DeploymentStatus = &v
 11496  	return s
 11497  }
 11498  
 11499  // SetDeploymentStatusMessage sets the DeploymentStatusMessage field's value.
 11500  func (s *ServiceInstance) SetDeploymentStatusMessage(v string) *ServiceInstance {
 11501  	s.DeploymentStatusMessage = &v
 11502  	return s
 11503  }
 11504  
 11505  // SetEnvironmentName sets the EnvironmentName field's value.
 11506  func (s *ServiceInstance) SetEnvironmentName(v string) *ServiceInstance {
 11507  	s.EnvironmentName = &v
 11508  	return s
 11509  }
 11510  
 11511  // SetLastDeploymentAttemptedAt sets the LastDeploymentAttemptedAt field's value.
 11512  func (s *ServiceInstance) SetLastDeploymentAttemptedAt(v time.Time) *ServiceInstance {
 11513  	s.LastDeploymentAttemptedAt = &v
 11514  	return s
 11515  }
 11516  
 11517  // SetLastDeploymentSucceededAt sets the LastDeploymentSucceededAt field's value.
 11518  func (s *ServiceInstance) SetLastDeploymentSucceededAt(v time.Time) *ServiceInstance {
 11519  	s.LastDeploymentSucceededAt = &v
 11520  	return s
 11521  }
 11522  
 11523  // SetName sets the Name field's value.
 11524  func (s *ServiceInstance) SetName(v string) *ServiceInstance {
 11525  	s.Name = &v
 11526  	return s
 11527  }
 11528  
 11529  // SetServiceName sets the ServiceName field's value.
 11530  func (s *ServiceInstance) SetServiceName(v string) *ServiceInstance {
 11531  	s.ServiceName = &v
 11532  	return s
 11533  }
 11534  
 11535  // SetSpec sets the Spec field's value.
 11536  func (s *ServiceInstance) SetSpec(v string) *ServiceInstance {
 11537  	s.Spec = &v
 11538  	return s
 11539  }
 11540  
 11541  // SetTemplateMajorVersion sets the TemplateMajorVersion field's value.
 11542  func (s *ServiceInstance) SetTemplateMajorVersion(v string) *ServiceInstance {
 11543  	s.TemplateMajorVersion = &v
 11544  	return s
 11545  }
 11546  
 11547  // SetTemplateMinorVersion sets the TemplateMinorVersion field's value.
 11548  func (s *ServiceInstance) SetTemplateMinorVersion(v string) *ServiceInstance {
 11549  	s.TemplateMinorVersion = &v
 11550  	return s
 11551  }
 11552  
 11553  // SetTemplateName sets the TemplateName field's value.
 11554  func (s *ServiceInstance) SetTemplateName(v string) *ServiceInstance {
 11555  	s.TemplateName = &v
 11556  	return s
 11557  }
 11558  
 11559  // A summary of the service instance detail data.
 11560  type ServiceInstanceSummary struct {
 11561  	_ struct{} `type:"structure"`
 11562  
 11563  	// The Amazon Resource Name (ARN) of the service instance.
 11564  	//
 11565  	// Arn is a required field
 11566  	Arn *string `locationName:"arn" type:"string" required:"true"`
 11567  
 11568  	// The time when the service instance was created.
 11569  	//
 11570  	// CreatedAt is a required field
 11571  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
 11572  
 11573  	// The service instance deployment status.
 11574  	//
 11575  	// DeploymentStatus is a required field
 11576  	DeploymentStatus *string `locationName:"deploymentStatus" type:"string" required:"true" enum:"DeploymentStatus"`
 11577  
 11578  	// A service instance deployment status message.
 11579  	//
 11580  	// DeploymentStatusMessage is a sensitive parameter and its value will be
 11581  	// replaced with "sensitive" in string returned by ServiceInstanceSummary's
 11582  	// String and GoString methods.
 11583  	DeploymentStatusMessage *string `locationName:"deploymentStatusMessage" type:"string" sensitive:"true"`
 11584  
 11585  	// The name of the environment that the service instance was deployed into.
 11586  	//
 11587  	// EnvironmentName is a required field
 11588  	EnvironmentName *string `locationName:"environmentName" min:"1" type:"string" required:"true"`
 11589  
 11590  	// The time when a deployment of the service was last attempted.
 11591  	//
 11592  	// LastDeploymentAttemptedAt is a required field
 11593  	LastDeploymentAttemptedAt *time.Time `locationName:"lastDeploymentAttemptedAt" type:"timestamp" required:"true"`
 11594  
 11595  	// The time when the service was last deployed successfully.
 11596  	//
 11597  	// LastDeploymentSucceededAt is a required field
 11598  	LastDeploymentSucceededAt *time.Time `locationName:"lastDeploymentSucceededAt" type:"timestamp" required:"true"`
 11599  
 11600  	// The name of the service instance.
 11601  	//
 11602  	// Name is a required field
 11603  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 11604  
 11605  	// The name of the service that the service instance belongs to.
 11606  	//
 11607  	// ServiceName is a required field
 11608  	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
 11609  
 11610  	// The ID of the major version of a service template.
 11611  	//
 11612  	// TemplateMajorVersion is a required field
 11613  	TemplateMajorVersion *string `locationName:"templateMajorVersion" min:"1" type:"string" required:"true"`
 11614  
 11615  	// The ID of the minor version of a service template.
 11616  	//
 11617  	// TemplateMinorVersion is a required field
 11618  	TemplateMinorVersion *string `locationName:"templateMinorVersion" min:"1" type:"string" required:"true"`
 11619  
 11620  	// The name of the service template.
 11621  	//
 11622  	// TemplateName is a required field
 11623  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
 11624  }
 11625  
 11626  // String returns the string representation.
 11627  //
 11628  // API parameter values that are decorated as "sensitive" in the API will not
 11629  // be included in the string output. The member name will be present, but the
 11630  // value will be replaced with "sensitive".
 11631  func (s ServiceInstanceSummary) String() string {
 11632  	return awsutil.Prettify(s)
 11633  }
 11634  
 11635  // GoString returns the string representation.
 11636  //
 11637  // API parameter values that are decorated as "sensitive" in the API will not
 11638  // be included in the string output. The member name will be present, but the
 11639  // value will be replaced with "sensitive".
 11640  func (s ServiceInstanceSummary) GoString() string {
 11641  	return s.String()
 11642  }
 11643  
 11644  // SetArn sets the Arn field's value.
 11645  func (s *ServiceInstanceSummary) SetArn(v string) *ServiceInstanceSummary {
 11646  	s.Arn = &v
 11647  	return s
 11648  }
 11649  
 11650  // SetCreatedAt sets the CreatedAt field's value.
 11651  func (s *ServiceInstanceSummary) SetCreatedAt(v time.Time) *ServiceInstanceSummary {
 11652  	s.CreatedAt = &v
 11653  	return s
 11654  }
 11655  
 11656  // SetDeploymentStatus sets the DeploymentStatus field's value.
 11657  func (s *ServiceInstanceSummary) SetDeploymentStatus(v string) *ServiceInstanceSummary {
 11658  	s.DeploymentStatus = &v
 11659  	return s
 11660  }
 11661  
 11662  // SetDeploymentStatusMessage sets the DeploymentStatusMessage field's value.
 11663  func (s *ServiceInstanceSummary) SetDeploymentStatusMessage(v string) *ServiceInstanceSummary {
 11664  	s.DeploymentStatusMessage = &v
 11665  	return s
 11666  }
 11667  
 11668  // SetEnvironmentName sets the EnvironmentName field's value.
 11669  func (s *ServiceInstanceSummary) SetEnvironmentName(v string) *ServiceInstanceSummary {
 11670  	s.EnvironmentName = &v
 11671  	return s
 11672  }
 11673  
 11674  // SetLastDeploymentAttemptedAt sets the LastDeploymentAttemptedAt field's value.
 11675  func (s *ServiceInstanceSummary) SetLastDeploymentAttemptedAt(v time.Time) *ServiceInstanceSummary {
 11676  	s.LastDeploymentAttemptedAt = &v
 11677  	return s
 11678  }
 11679  
 11680  // SetLastDeploymentSucceededAt sets the LastDeploymentSucceededAt field's value.
 11681  func (s *ServiceInstanceSummary) SetLastDeploymentSucceededAt(v time.Time) *ServiceInstanceSummary {
 11682  	s.LastDeploymentSucceededAt = &v
 11683  	return s
 11684  }
 11685  
 11686  // SetName sets the Name field's value.
 11687  func (s *ServiceInstanceSummary) SetName(v string) *ServiceInstanceSummary {
 11688  	s.Name = &v
 11689  	return s
 11690  }
 11691  
 11692  // SetServiceName sets the ServiceName field's value.
 11693  func (s *ServiceInstanceSummary) SetServiceName(v string) *ServiceInstanceSummary {
 11694  	s.ServiceName = &v
 11695  	return s
 11696  }
 11697  
 11698  // SetTemplateMajorVersion sets the TemplateMajorVersion field's value.
 11699  func (s *ServiceInstanceSummary) SetTemplateMajorVersion(v string) *ServiceInstanceSummary {
 11700  	s.TemplateMajorVersion = &v
 11701  	return s
 11702  }
 11703  
 11704  // SetTemplateMinorVersion sets the TemplateMinorVersion field's value.
 11705  func (s *ServiceInstanceSummary) SetTemplateMinorVersion(v string) *ServiceInstanceSummary {
 11706  	s.TemplateMinorVersion = &v
 11707  	return s
 11708  }
 11709  
 11710  // SetTemplateName sets the TemplateName field's value.
 11711  func (s *ServiceInstanceSummary) SetTemplateName(v string) *ServiceInstanceSummary {
 11712  	s.TemplateName = &v
 11713  	return s
 11714  }
 11715  
 11716  // The service pipeline detail data.
 11717  type ServicePipeline struct {
 11718  	_ struct{} `type:"structure"`
 11719  
 11720  	// The Amazon Resource Name (ARN) of the service pipeline.
 11721  	//
 11722  	// Arn is a required field
 11723  	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
 11724  
 11725  	// The time when the service pipeline was created.
 11726  	//
 11727  	// CreatedAt is a required field
 11728  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
 11729  
 11730  	// The deployment status of the service pipeline.
 11731  	//
 11732  	// DeploymentStatus is a required field
 11733  	DeploymentStatus *string `locationName:"deploymentStatus" type:"string" required:"true" enum:"DeploymentStatus"`
 11734  
 11735  	// A service pipeline deployment status message.
 11736  	//
 11737  	// DeploymentStatusMessage is a sensitive parameter and its value will be
 11738  	// replaced with "sensitive" in string returned by ServicePipeline's
 11739  	// String and GoString methods.
 11740  	DeploymentStatusMessage *string `locationName:"deploymentStatusMessage" type:"string" sensitive:"true"`
 11741  
 11742  	// The time when a deployment of the service pipeline was last attempted.
 11743  	//
 11744  	// LastDeploymentAttemptedAt is a required field
 11745  	LastDeploymentAttemptedAt *time.Time `locationName:"lastDeploymentAttemptedAt" type:"timestamp" required:"true"`
 11746  
 11747  	// The time when the service pipeline was last deployed successfully.
 11748  	//
 11749  	// LastDeploymentSucceededAt is a required field
 11750  	LastDeploymentSucceededAt *time.Time `locationName:"lastDeploymentSucceededAt" type:"timestamp" required:"true"`
 11751  
 11752  	// The service spec that was used to create the service pipeline.
 11753  	//
 11754  	// Spec is a sensitive parameter and its value will be
 11755  	// replaced with "sensitive" in string returned by ServicePipeline's
 11756  	// String and GoString methods.
 11757  	Spec *string `locationName:"spec" min:"1" type:"string" sensitive:"true"`
 11758  
 11759  	// The ID of the major version of the service template that was used to create
 11760  	// the service pipeline.
 11761  	//
 11762  	// TemplateMajorVersion is a required field
 11763  	TemplateMajorVersion *string `locationName:"templateMajorVersion" min:"1" type:"string" required:"true"`
 11764  
 11765  	// The ID of the minor version of the service template that was used to create
 11766  	// the service pipeline.
 11767  	//
 11768  	// TemplateMinorVersion is a required field
 11769  	TemplateMinorVersion *string `locationName:"templateMinorVersion" min:"1" type:"string" required:"true"`
 11770  
 11771  	// The name of the service template that was used to create the service pipeline.
 11772  	//
 11773  	// TemplateName is a required field
 11774  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
 11775  }
 11776  
 11777  // String returns the string representation.
 11778  //
 11779  // API parameter values that are decorated as "sensitive" in the API will not
 11780  // be included in the string output. The member name will be present, but the
 11781  // value will be replaced with "sensitive".
 11782  func (s ServicePipeline) String() string {
 11783  	return awsutil.Prettify(s)
 11784  }
 11785  
 11786  // GoString returns the string representation.
 11787  //
 11788  // API parameter values that are decorated as "sensitive" in the API will not
 11789  // be included in the string output. The member name will be present, but the
 11790  // value will be replaced with "sensitive".
 11791  func (s ServicePipeline) GoString() string {
 11792  	return s.String()
 11793  }
 11794  
 11795  // SetArn sets the Arn field's value.
 11796  func (s *ServicePipeline) SetArn(v string) *ServicePipeline {
 11797  	s.Arn = &v
 11798  	return s
 11799  }
 11800  
 11801  // SetCreatedAt sets the CreatedAt field's value.
 11802  func (s *ServicePipeline) SetCreatedAt(v time.Time) *ServicePipeline {
 11803  	s.CreatedAt = &v
 11804  	return s
 11805  }
 11806  
 11807  // SetDeploymentStatus sets the DeploymentStatus field's value.
 11808  func (s *ServicePipeline) SetDeploymentStatus(v string) *ServicePipeline {
 11809  	s.DeploymentStatus = &v
 11810  	return s
 11811  }
 11812  
 11813  // SetDeploymentStatusMessage sets the DeploymentStatusMessage field's value.
 11814  func (s *ServicePipeline) SetDeploymentStatusMessage(v string) *ServicePipeline {
 11815  	s.DeploymentStatusMessage = &v
 11816  	return s
 11817  }
 11818  
 11819  // SetLastDeploymentAttemptedAt sets the LastDeploymentAttemptedAt field's value.
 11820  func (s *ServicePipeline) SetLastDeploymentAttemptedAt(v time.Time) *ServicePipeline {
 11821  	s.LastDeploymentAttemptedAt = &v
 11822  	return s
 11823  }
 11824  
 11825  // SetLastDeploymentSucceededAt sets the LastDeploymentSucceededAt field's value.
 11826  func (s *ServicePipeline) SetLastDeploymentSucceededAt(v time.Time) *ServicePipeline {
 11827  	s.LastDeploymentSucceededAt = &v
 11828  	return s
 11829  }
 11830  
 11831  // SetSpec sets the Spec field's value.
 11832  func (s *ServicePipeline) SetSpec(v string) *ServicePipeline {
 11833  	s.Spec = &v
 11834  	return s
 11835  }
 11836  
 11837  // SetTemplateMajorVersion sets the TemplateMajorVersion field's value.
 11838  func (s *ServicePipeline) SetTemplateMajorVersion(v string) *ServicePipeline {
 11839  	s.TemplateMajorVersion = &v
 11840  	return s
 11841  }
 11842  
 11843  // SetTemplateMinorVersion sets the TemplateMinorVersion field's value.
 11844  func (s *ServicePipeline) SetTemplateMinorVersion(v string) *ServicePipeline {
 11845  	s.TemplateMinorVersion = &v
 11846  	return s
 11847  }
 11848  
 11849  // SetTemplateName sets the TemplateName field's value.
 11850  func (s *ServicePipeline) SetTemplateName(v string) *ServicePipeline {
 11851  	s.TemplateName = &v
 11852  	return s
 11853  }
 11854  
 11855  // A quota was exceeded. For more information, see AWS Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html)
 11856  // in the AWS Proton Administrator Guide.
 11857  type ServiceQuotaExceededException struct {
 11858  	_            struct{}                  `type:"structure"`
 11859  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11860  
 11861  	// Message_ is a sensitive parameter and its value will be
 11862  	// replaced with "sensitive" in string returned by ServiceQuotaExceededException's
 11863  	// String and GoString methods.
 11864  	Message_ *string `locationName:"message" type:"string" sensitive:"true"`
 11865  }
 11866  
 11867  // String returns the string representation.
 11868  //
 11869  // API parameter values that are decorated as "sensitive" in the API will not
 11870  // be included in the string output. The member name will be present, but the
 11871  // value will be replaced with "sensitive".
 11872  func (s ServiceQuotaExceededException) String() string {
 11873  	return awsutil.Prettify(s)
 11874  }
 11875  
 11876  // GoString returns the string representation.
 11877  //
 11878  // API parameter values that are decorated as "sensitive" in the API will not
 11879  // be included in the string output. The member name will be present, but the
 11880  // value will be replaced with "sensitive".
 11881  func (s ServiceQuotaExceededException) GoString() string {
 11882  	return s.String()
 11883  }
 11884  
 11885  func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
 11886  	return &ServiceQuotaExceededException{
 11887  		RespMetadata: v,
 11888  	}
 11889  }
 11890  
 11891  // Code returns the exception type name.
 11892  func (s *ServiceQuotaExceededException) Code() string {
 11893  	return "ServiceQuotaExceededException"
 11894  }
 11895  
 11896  // Message returns the exception's message.
 11897  func (s *ServiceQuotaExceededException) Message() string {
 11898  	if s.Message_ != nil {
 11899  		return *s.Message_
 11900  	}
 11901  	return ""
 11902  }
 11903  
 11904  // OrigErr always returns nil, satisfies awserr.Error interface.
 11905  func (s *ServiceQuotaExceededException) OrigErr() error {
 11906  	return nil
 11907  }
 11908  
 11909  func (s *ServiceQuotaExceededException) Error() string {
 11910  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11911  }
 11912  
 11913  // Status code returns the HTTP status code for the request's response error.
 11914  func (s *ServiceQuotaExceededException) StatusCode() int {
 11915  	return s.RespMetadata.StatusCode
 11916  }
 11917  
 11918  // RequestID returns the service's response RequestID for request.
 11919  func (s *ServiceQuotaExceededException) RequestID() string {
 11920  	return s.RespMetadata.RequestID
 11921  }
 11922  
 11923  // A summary of the service detail data.
 11924  type ServiceSummary struct {
 11925  	_ struct{} `type:"structure"`
 11926  
 11927  	// The Amazon Resource Name (ARN) of the service.
 11928  	//
 11929  	// Arn is a required field
 11930  	Arn *string `locationName:"arn" type:"string" required:"true"`
 11931  
 11932  	// The time when the service was created.
 11933  	//
 11934  	// CreatedAt is a required field
 11935  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
 11936  
 11937  	// A description of the service.
 11938  	//
 11939  	// Description is a sensitive parameter and its value will be
 11940  	// replaced with "sensitive" in string returned by ServiceSummary's
 11941  	// String and GoString methods.
 11942  	Description *string `locationName:"description" type:"string" sensitive:"true"`
 11943  
 11944  	// The time when the service was last modified.
 11945  	//
 11946  	// LastModifiedAt is a required field
 11947  	LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp" required:"true"`
 11948  
 11949  	// The name of the service.
 11950  	//
 11951  	// Name is a required field
 11952  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 11953  
 11954  	// The status of the service.
 11955  	//
 11956  	// Status is a required field
 11957  	Status *string `locationName:"status" type:"string" required:"true" enum:"ServiceStatus"`
 11958  
 11959  	// A service status message.
 11960  	//
 11961  	// StatusMessage is a sensitive parameter and its value will be
 11962  	// replaced with "sensitive" in string returned by ServiceSummary's
 11963  	// String and GoString methods.
 11964  	StatusMessage *string `locationName:"statusMessage" type:"string" sensitive:"true"`
 11965  
 11966  	// The name of the service template.
 11967  	//
 11968  	// TemplateName is a required field
 11969  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
 11970  }
 11971  
 11972  // String returns the string representation.
 11973  //
 11974  // API parameter values that are decorated as "sensitive" in the API will not
 11975  // be included in the string output. The member name will be present, but the
 11976  // value will be replaced with "sensitive".
 11977  func (s ServiceSummary) String() string {
 11978  	return awsutil.Prettify(s)
 11979  }
 11980  
 11981  // GoString returns the string representation.
 11982  //
 11983  // API parameter values that are decorated as "sensitive" in the API will not
 11984  // be included in the string output. The member name will be present, but the
 11985  // value will be replaced with "sensitive".
 11986  func (s ServiceSummary) GoString() string {
 11987  	return s.String()
 11988  }
 11989  
 11990  // SetArn sets the Arn field's value.
 11991  func (s *ServiceSummary) SetArn(v string) *ServiceSummary {
 11992  	s.Arn = &v
 11993  	return s
 11994  }
 11995  
 11996  // SetCreatedAt sets the CreatedAt field's value.
 11997  func (s *ServiceSummary) SetCreatedAt(v time.Time) *ServiceSummary {
 11998  	s.CreatedAt = &v
 11999  	return s
 12000  }
 12001  
 12002  // SetDescription sets the Description field's value.
 12003  func (s *ServiceSummary) SetDescription(v string) *ServiceSummary {
 12004  	s.Description = &v
 12005  	return s
 12006  }
 12007  
 12008  // SetLastModifiedAt sets the LastModifiedAt field's value.
 12009  func (s *ServiceSummary) SetLastModifiedAt(v time.Time) *ServiceSummary {
 12010  	s.LastModifiedAt = &v
 12011  	return s
 12012  }
 12013  
 12014  // SetName sets the Name field's value.
 12015  func (s *ServiceSummary) SetName(v string) *ServiceSummary {
 12016  	s.Name = &v
 12017  	return s
 12018  }
 12019  
 12020  // SetStatus sets the Status field's value.
 12021  func (s *ServiceSummary) SetStatus(v string) *ServiceSummary {
 12022  	s.Status = &v
 12023  	return s
 12024  }
 12025  
 12026  // SetStatusMessage sets the StatusMessage field's value.
 12027  func (s *ServiceSummary) SetStatusMessage(v string) *ServiceSummary {
 12028  	s.StatusMessage = &v
 12029  	return s
 12030  }
 12031  
 12032  // SetTemplateName sets the TemplateName field's value.
 12033  func (s *ServiceSummary) SetTemplateName(v string) *ServiceSummary {
 12034  	s.TemplateName = &v
 12035  	return s
 12036  }
 12037  
 12038  // The service template detail data.
 12039  type ServiceTemplate struct {
 12040  	_ struct{} `type:"structure"`
 12041  
 12042  	// The Amazon Resource Name (ARN) of the service template.
 12043  	//
 12044  	// Arn is a required field
 12045  	Arn *string `locationName:"arn" type:"string" required:"true"`
 12046  
 12047  	// The time when the service template was created.
 12048  	//
 12049  	// CreatedAt is a required field
 12050  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
 12051  
 12052  	// A description of the service template.
 12053  	//
 12054  	// Description is a sensitive parameter and its value will be
 12055  	// replaced with "sensitive" in string returned by ServiceTemplate's
 12056  	// String and GoString methods.
 12057  	Description *string `locationName:"description" type:"string" sensitive:"true"`
 12058  
 12059  	// The service template name as displayed in the developer interface.
 12060  	//
 12061  	// DisplayName is a sensitive parameter and its value will be
 12062  	// replaced with "sensitive" in string returned by ServiceTemplate's
 12063  	// String and GoString methods.
 12064  	DisplayName *string `locationName:"displayName" min:"1" type:"string" sensitive:"true"`
 12065  
 12066  	// The customer provided service template encryption key that's used to encrypt
 12067  	// data.
 12068  	EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"`
 12069  
 12070  	// The time when the service template was last modified.
 12071  	//
 12072  	// LastModifiedAt is a required field
 12073  	LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp" required:"true"`
 12074  
 12075  	// The name of the service template.
 12076  	//
 12077  	// Name is a required field
 12078  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 12079  
 12080  	// If pipelineProvisioning is true, a service pipeline is included in the service
 12081  	// template. Otherwise, a service pipeline isn't included in the service template.
 12082  	PipelineProvisioning *string `locationName:"pipelineProvisioning" type:"string" enum:"Provisioning"`
 12083  
 12084  	// The ID of the recommended version of the service template.
 12085  	RecommendedVersion *string `locationName:"recommendedVersion" min:"1" type:"string"`
 12086  }
 12087  
 12088  // String returns the string representation.
 12089  //
 12090  // API parameter values that are decorated as "sensitive" in the API will not
 12091  // be included in the string output. The member name will be present, but the
 12092  // value will be replaced with "sensitive".
 12093  func (s ServiceTemplate) String() string {
 12094  	return awsutil.Prettify(s)
 12095  }
 12096  
 12097  // GoString returns the string representation.
 12098  //
 12099  // API parameter values that are decorated as "sensitive" in the API will not
 12100  // be included in the string output. The member name will be present, but the
 12101  // value will be replaced with "sensitive".
 12102  func (s ServiceTemplate) GoString() string {
 12103  	return s.String()
 12104  }
 12105  
 12106  // SetArn sets the Arn field's value.
 12107  func (s *ServiceTemplate) SetArn(v string) *ServiceTemplate {
 12108  	s.Arn = &v
 12109  	return s
 12110  }
 12111  
 12112  // SetCreatedAt sets the CreatedAt field's value.
 12113  func (s *ServiceTemplate) SetCreatedAt(v time.Time) *ServiceTemplate {
 12114  	s.CreatedAt = &v
 12115  	return s
 12116  }
 12117  
 12118  // SetDescription sets the Description field's value.
 12119  func (s *ServiceTemplate) SetDescription(v string) *ServiceTemplate {
 12120  	s.Description = &v
 12121  	return s
 12122  }
 12123  
 12124  // SetDisplayName sets the DisplayName field's value.
 12125  func (s *ServiceTemplate) SetDisplayName(v string) *ServiceTemplate {
 12126  	s.DisplayName = &v
 12127  	return s
 12128  }
 12129  
 12130  // SetEncryptionKey sets the EncryptionKey field's value.
 12131  func (s *ServiceTemplate) SetEncryptionKey(v string) *ServiceTemplate {
 12132  	s.EncryptionKey = &v
 12133  	return s
 12134  }
 12135  
 12136  // SetLastModifiedAt sets the LastModifiedAt field's value.
 12137  func (s *ServiceTemplate) SetLastModifiedAt(v time.Time) *ServiceTemplate {
 12138  	s.LastModifiedAt = &v
 12139  	return s
 12140  }
 12141  
 12142  // SetName sets the Name field's value.
 12143  func (s *ServiceTemplate) SetName(v string) *ServiceTemplate {
 12144  	s.Name = &v
 12145  	return s
 12146  }
 12147  
 12148  // SetPipelineProvisioning sets the PipelineProvisioning field's value.
 12149  func (s *ServiceTemplate) SetPipelineProvisioning(v string) *ServiceTemplate {
 12150  	s.PipelineProvisioning = &v
 12151  	return s
 12152  }
 12153  
 12154  // SetRecommendedVersion sets the RecommendedVersion field's value.
 12155  func (s *ServiceTemplate) SetRecommendedVersion(v string) *ServiceTemplate {
 12156  	s.RecommendedVersion = &v
 12157  	return s
 12158  }
 12159  
 12160  // The service template summary data.
 12161  type ServiceTemplateSummary struct {
 12162  	_ struct{} `type:"structure"`
 12163  
 12164  	// The Amazon Resource Name (ARN) of the service template.
 12165  	//
 12166  	// Arn is a required field
 12167  	Arn *string `locationName:"arn" type:"string" required:"true"`
 12168  
 12169  	// The time when the service template was created.
 12170  	//
 12171  	// CreatedAt is a required field
 12172  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
 12173  
 12174  	// A description of the service template.
 12175  	//
 12176  	// Description is a sensitive parameter and its value will be
 12177  	// replaced with "sensitive" in string returned by ServiceTemplateSummary's
 12178  	// String and GoString methods.
 12179  	Description *string `locationName:"description" type:"string" sensitive:"true"`
 12180  
 12181  	// The service template name as displayed in the developer interface.
 12182  	//
 12183  	// DisplayName is a sensitive parameter and its value will be
 12184  	// replaced with "sensitive" in string returned by ServiceTemplateSummary's
 12185  	// String and GoString methods.
 12186  	DisplayName *string `locationName:"displayName" min:"1" type:"string" sensitive:"true"`
 12187  
 12188  	// The time when the service template was last modified.
 12189  	//
 12190  	// LastModifiedAt is a required field
 12191  	LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp" required:"true"`
 12192  
 12193  	// The name of the service template.
 12194  	//
 12195  	// Name is a required field
 12196  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 12197  
 12198  	// If pipelineProvisioning is true, a service pipeline is included in the service
 12199  	// template, otherwise a service pipeline isn't included in the service template.
 12200  	PipelineProvisioning *string `locationName:"pipelineProvisioning" type:"string" enum:"Provisioning"`
 12201  
 12202  	// The ID of the recommended version of the service template.
 12203  	RecommendedVersion *string `locationName:"recommendedVersion" min:"1" type:"string"`
 12204  }
 12205  
 12206  // String returns the string representation.
 12207  //
 12208  // API parameter values that are decorated as "sensitive" in the API will not
 12209  // be included in the string output. The member name will be present, but the
 12210  // value will be replaced with "sensitive".
 12211  func (s ServiceTemplateSummary) String() string {
 12212  	return awsutil.Prettify(s)
 12213  }
 12214  
 12215  // GoString returns the string representation.
 12216  //
 12217  // API parameter values that are decorated as "sensitive" in the API will not
 12218  // be included in the string output. The member name will be present, but the
 12219  // value will be replaced with "sensitive".
 12220  func (s ServiceTemplateSummary) GoString() string {
 12221  	return s.String()
 12222  }
 12223  
 12224  // SetArn sets the Arn field's value.
 12225  func (s *ServiceTemplateSummary) SetArn(v string) *ServiceTemplateSummary {
 12226  	s.Arn = &v
 12227  	return s
 12228  }
 12229  
 12230  // SetCreatedAt sets the CreatedAt field's value.
 12231  func (s *ServiceTemplateSummary) SetCreatedAt(v time.Time) *ServiceTemplateSummary {
 12232  	s.CreatedAt = &v
 12233  	return s
 12234  }
 12235  
 12236  // SetDescription sets the Description field's value.
 12237  func (s *ServiceTemplateSummary) SetDescription(v string) *ServiceTemplateSummary {
 12238  	s.Description = &v
 12239  	return s
 12240  }
 12241  
 12242  // SetDisplayName sets the DisplayName field's value.
 12243  func (s *ServiceTemplateSummary) SetDisplayName(v string) *ServiceTemplateSummary {
 12244  	s.DisplayName = &v
 12245  	return s
 12246  }
 12247  
 12248  // SetLastModifiedAt sets the LastModifiedAt field's value.
 12249  func (s *ServiceTemplateSummary) SetLastModifiedAt(v time.Time) *ServiceTemplateSummary {
 12250  	s.LastModifiedAt = &v
 12251  	return s
 12252  }
 12253  
 12254  // SetName sets the Name field's value.
 12255  func (s *ServiceTemplateSummary) SetName(v string) *ServiceTemplateSummary {
 12256  	s.Name = &v
 12257  	return s
 12258  }
 12259  
 12260  // SetPipelineProvisioning sets the PipelineProvisioning field's value.
 12261  func (s *ServiceTemplateSummary) SetPipelineProvisioning(v string) *ServiceTemplateSummary {
 12262  	s.PipelineProvisioning = &v
 12263  	return s
 12264  }
 12265  
 12266  // SetRecommendedVersion sets the RecommendedVersion field's value.
 12267  func (s *ServiceTemplateSummary) SetRecommendedVersion(v string) *ServiceTemplateSummary {
 12268  	s.RecommendedVersion = &v
 12269  	return s
 12270  }
 12271  
 12272  // The version of a service template detail data.
 12273  type ServiceTemplateVersion struct {
 12274  	_ struct{} `type:"structure"`
 12275  
 12276  	// The Amazon Resource Name (ARN) of the version of a service template.
 12277  	//
 12278  	// Arn is a required field
 12279  	Arn *string `locationName:"arn" type:"string" required:"true"`
 12280  
 12281  	// An array of compatible environment template names for the major version of
 12282  	// a service template.
 12283  	//
 12284  	// CompatibleEnvironmentTemplates is a required field
 12285  	CompatibleEnvironmentTemplates []*CompatibleEnvironmentTemplate `locationName:"compatibleEnvironmentTemplates" type:"list" required:"true"`
 12286  
 12287  	// The time when the version of a service template was created.
 12288  	//
 12289  	// CreatedAt is a required field
 12290  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
 12291  
 12292  	// A description of the version of a service template.
 12293  	//
 12294  	// Description is a sensitive parameter and its value will be
 12295  	// replaced with "sensitive" in string returned by ServiceTemplateVersion's
 12296  	// String and GoString methods.
 12297  	Description *string `locationName:"description" type:"string" sensitive:"true"`
 12298  
 12299  	// The time when the version of a service template was last modified.
 12300  	//
 12301  	// LastModifiedAt is a required field
 12302  	LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp" required:"true"`
 12303  
 12304  	// The ID of the latest major version that's associated with the version of
 12305  	// a service template.
 12306  	//
 12307  	// MajorVersion is a required field
 12308  	MajorVersion *string `locationName:"majorVersion" min:"1" type:"string" required:"true"`
 12309  
 12310  	// The ID of the minor version of a service template.
 12311  	//
 12312  	// MinorVersion is a required field
 12313  	MinorVersion *string `locationName:"minorVersion" min:"1" type:"string" required:"true"`
 12314  
 12315  	// The ID of the recommended minor version of the service template.
 12316  	RecommendedMinorVersion *string `locationName:"recommendedMinorVersion" min:"1" type:"string"`
 12317  
 12318  	// The schema of the version of a service template.
 12319  	//
 12320  	// Schema is a sensitive parameter and its value will be
 12321  	// replaced with "sensitive" in string returned by ServiceTemplateVersion's
 12322  	// String and GoString methods.
 12323  	Schema *string `locationName:"schema" min:"1" type:"string" sensitive:"true"`
 12324  
 12325  	// The service template version status.
 12326  	//
 12327  	// Status is a required field
 12328  	Status *string `locationName:"status" type:"string" required:"true" enum:"TemplateVersionStatus"`
 12329  
 12330  	// A service template version status message.
 12331  	//
 12332  	// StatusMessage is a sensitive parameter and its value will be
 12333  	// replaced with "sensitive" in string returned by ServiceTemplateVersion's
 12334  	// String and GoString methods.
 12335  	StatusMessage *string `locationName:"statusMessage" type:"string" sensitive:"true"`
 12336  
 12337  	// The name of the version of a service template.
 12338  	//
 12339  	// TemplateName is a required field
 12340  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
 12341  }
 12342  
 12343  // String returns the string representation.
 12344  //
 12345  // API parameter values that are decorated as "sensitive" in the API will not
 12346  // be included in the string output. The member name will be present, but the
 12347  // value will be replaced with "sensitive".
 12348  func (s ServiceTemplateVersion) String() string {
 12349  	return awsutil.Prettify(s)
 12350  }
 12351  
 12352  // GoString returns the string representation.
 12353  //
 12354  // API parameter values that are decorated as "sensitive" in the API will not
 12355  // be included in the string output. The member name will be present, but the
 12356  // value will be replaced with "sensitive".
 12357  func (s ServiceTemplateVersion) GoString() string {
 12358  	return s.String()
 12359  }
 12360  
 12361  // SetArn sets the Arn field's value.
 12362  func (s *ServiceTemplateVersion) SetArn(v string) *ServiceTemplateVersion {
 12363  	s.Arn = &v
 12364  	return s
 12365  }
 12366  
 12367  // SetCompatibleEnvironmentTemplates sets the CompatibleEnvironmentTemplates field's value.
 12368  func (s *ServiceTemplateVersion) SetCompatibleEnvironmentTemplates(v []*CompatibleEnvironmentTemplate) *ServiceTemplateVersion {
 12369  	s.CompatibleEnvironmentTemplates = v
 12370  	return s
 12371  }
 12372  
 12373  // SetCreatedAt sets the CreatedAt field's value.
 12374  func (s *ServiceTemplateVersion) SetCreatedAt(v time.Time) *ServiceTemplateVersion {
 12375  	s.CreatedAt = &v
 12376  	return s
 12377  }
 12378  
 12379  // SetDescription sets the Description field's value.
 12380  func (s *ServiceTemplateVersion) SetDescription(v string) *ServiceTemplateVersion {
 12381  	s.Description = &v
 12382  	return s
 12383  }
 12384  
 12385  // SetLastModifiedAt sets the LastModifiedAt field's value.
 12386  func (s *ServiceTemplateVersion) SetLastModifiedAt(v time.Time) *ServiceTemplateVersion {
 12387  	s.LastModifiedAt = &v
 12388  	return s
 12389  }
 12390  
 12391  // SetMajorVersion sets the MajorVersion field's value.
 12392  func (s *ServiceTemplateVersion) SetMajorVersion(v string) *ServiceTemplateVersion {
 12393  	s.MajorVersion = &v
 12394  	return s
 12395  }
 12396  
 12397  // SetMinorVersion sets the MinorVersion field's value.
 12398  func (s *ServiceTemplateVersion) SetMinorVersion(v string) *ServiceTemplateVersion {
 12399  	s.MinorVersion = &v
 12400  	return s
 12401  }
 12402  
 12403  // SetRecommendedMinorVersion sets the RecommendedMinorVersion field's value.
 12404  func (s *ServiceTemplateVersion) SetRecommendedMinorVersion(v string) *ServiceTemplateVersion {
 12405  	s.RecommendedMinorVersion = &v
 12406  	return s
 12407  }
 12408  
 12409  // SetSchema sets the Schema field's value.
 12410  func (s *ServiceTemplateVersion) SetSchema(v string) *ServiceTemplateVersion {
 12411  	s.Schema = &v
 12412  	return s
 12413  }
 12414  
 12415  // SetStatus sets the Status field's value.
 12416  func (s *ServiceTemplateVersion) SetStatus(v string) *ServiceTemplateVersion {
 12417  	s.Status = &v
 12418  	return s
 12419  }
 12420  
 12421  // SetStatusMessage sets the StatusMessage field's value.
 12422  func (s *ServiceTemplateVersion) SetStatusMessage(v string) *ServiceTemplateVersion {
 12423  	s.StatusMessage = &v
 12424  	return s
 12425  }
 12426  
 12427  // SetTemplateName sets the TemplateName field's value.
 12428  func (s *ServiceTemplateVersion) SetTemplateName(v string) *ServiceTemplateVersion {
 12429  	s.TemplateName = &v
 12430  	return s
 12431  }
 12432  
 12433  // A summary of the service template version detail data.
 12434  type ServiceTemplateVersionSummary struct {
 12435  	_ struct{} `type:"structure"`
 12436  
 12437  	// The Amazon Resource Name (ARN) of the version of a service template.
 12438  	//
 12439  	// Arn is a required field
 12440  	Arn *string `locationName:"arn" type:"string" required:"true"`
 12441  
 12442  	// The time when the version of a service template was created.
 12443  	//
 12444  	// CreatedAt is a required field
 12445  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" required:"true"`
 12446  
 12447  	// A description of the version of a service template.
 12448  	//
 12449  	// Description is a sensitive parameter and its value will be
 12450  	// replaced with "sensitive" in string returned by ServiceTemplateVersionSummary's
 12451  	// String and GoString methods.
 12452  	Description *string `locationName:"description" type:"string" sensitive:"true"`
 12453  
 12454  	// The time when the version of a service template was last modified.
 12455  	//
 12456  	// LastModifiedAt is a required field
 12457  	LastModifiedAt *time.Time `locationName:"lastModifiedAt" type:"timestamp" required:"true"`
 12458  
 12459  	// The ID of the latest major version that's associated with the version of
 12460  	// a service template.
 12461  	//
 12462  	// MajorVersion is a required field
 12463  	MajorVersion *string `locationName:"majorVersion" min:"1" type:"string" required:"true"`
 12464  
 12465  	// The ID of the minor version of a service template.
 12466  	//
 12467  	// MinorVersion is a required field
 12468  	MinorVersion *string `locationName:"minorVersion" min:"1" type:"string" required:"true"`
 12469  
 12470  	// The ID of the recommended minor version of the service template.
 12471  	RecommendedMinorVersion *string `locationName:"recommendedMinorVersion" min:"1" type:"string"`
 12472  
 12473  	// The service template minor version status.
 12474  	//
 12475  	// Status is a required field
 12476  	Status *string `locationName:"status" type:"string" required:"true" enum:"TemplateVersionStatus"`
 12477  
 12478  	// A service template minor version status message.
 12479  	//
 12480  	// StatusMessage is a sensitive parameter and its value will be
 12481  	// replaced with "sensitive" in string returned by ServiceTemplateVersionSummary's
 12482  	// String and GoString methods.
 12483  	StatusMessage *string `locationName:"statusMessage" type:"string" sensitive:"true"`
 12484  
 12485  	// The name of the service template.
 12486  	//
 12487  	// TemplateName is a required field
 12488  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
 12489  }
 12490  
 12491  // String returns the string representation.
 12492  //
 12493  // API parameter values that are decorated as "sensitive" in the API will not
 12494  // be included in the string output. The member name will be present, but the
 12495  // value will be replaced with "sensitive".
 12496  func (s ServiceTemplateVersionSummary) String() string {
 12497  	return awsutil.Prettify(s)
 12498  }
 12499  
 12500  // GoString returns the string representation.
 12501  //
 12502  // API parameter values that are decorated as "sensitive" in the API will not
 12503  // be included in the string output. The member name will be present, but the
 12504  // value will be replaced with "sensitive".
 12505  func (s ServiceTemplateVersionSummary) GoString() string {
 12506  	return s.String()
 12507  }
 12508  
 12509  // SetArn sets the Arn field's value.
 12510  func (s *ServiceTemplateVersionSummary) SetArn(v string) *ServiceTemplateVersionSummary {
 12511  	s.Arn = &v
 12512  	return s
 12513  }
 12514  
 12515  // SetCreatedAt sets the CreatedAt field's value.
 12516  func (s *ServiceTemplateVersionSummary) SetCreatedAt(v time.Time) *ServiceTemplateVersionSummary {
 12517  	s.CreatedAt = &v
 12518  	return s
 12519  }
 12520  
 12521  // SetDescription sets the Description field's value.
 12522  func (s *ServiceTemplateVersionSummary) SetDescription(v string) *ServiceTemplateVersionSummary {
 12523  	s.Description = &v
 12524  	return s
 12525  }
 12526  
 12527  // SetLastModifiedAt sets the LastModifiedAt field's value.
 12528  func (s *ServiceTemplateVersionSummary) SetLastModifiedAt(v time.Time) *ServiceTemplateVersionSummary {
 12529  	s.LastModifiedAt = &v
 12530  	return s
 12531  }
 12532  
 12533  // SetMajorVersion sets the MajorVersion field's value.
 12534  func (s *ServiceTemplateVersionSummary) SetMajorVersion(v string) *ServiceTemplateVersionSummary {
 12535  	s.MajorVersion = &v
 12536  	return s
 12537  }
 12538  
 12539  // SetMinorVersion sets the MinorVersion field's value.
 12540  func (s *ServiceTemplateVersionSummary) SetMinorVersion(v string) *ServiceTemplateVersionSummary {
 12541  	s.MinorVersion = &v
 12542  	return s
 12543  }
 12544  
 12545  // SetRecommendedMinorVersion sets the RecommendedMinorVersion field's value.
 12546  func (s *ServiceTemplateVersionSummary) SetRecommendedMinorVersion(v string) *ServiceTemplateVersionSummary {
 12547  	s.RecommendedMinorVersion = &v
 12548  	return s
 12549  }
 12550  
 12551  // SetStatus sets the Status field's value.
 12552  func (s *ServiceTemplateVersionSummary) SetStatus(v string) *ServiceTemplateVersionSummary {
 12553  	s.Status = &v
 12554  	return s
 12555  }
 12556  
 12557  // SetStatusMessage sets the StatusMessage field's value.
 12558  func (s *ServiceTemplateVersionSummary) SetStatusMessage(v string) *ServiceTemplateVersionSummary {
 12559  	s.StatusMessage = &v
 12560  	return s
 12561  }
 12562  
 12563  // SetTemplateName sets the TemplateName field's value.
 12564  func (s *ServiceTemplateVersionSummary) SetTemplateName(v string) *ServiceTemplateVersionSummary {
 12565  	s.TemplateName = &v
 12566  	return s
 12567  }
 12568  
 12569  // A description of a resource tag.
 12570  type Tag struct {
 12571  	_ struct{} `type:"structure"`
 12572  
 12573  	// The key of the resource tag.
 12574  	//
 12575  	// Key is a required field
 12576  	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
 12577  
 12578  	// The value of the resource tag.
 12579  	//
 12580  	// Value is a required field
 12581  	Value *string `locationName:"value" type:"string" required:"true"`
 12582  }
 12583  
 12584  // String returns the string representation.
 12585  //
 12586  // API parameter values that are decorated as "sensitive" in the API will not
 12587  // be included in the string output. The member name will be present, but the
 12588  // value will be replaced with "sensitive".
 12589  func (s Tag) String() string {
 12590  	return awsutil.Prettify(s)
 12591  }
 12592  
 12593  // GoString returns the string representation.
 12594  //
 12595  // API parameter values that are decorated as "sensitive" in the API will not
 12596  // be included in the string output. The member name will be present, but the
 12597  // value will be replaced with "sensitive".
 12598  func (s Tag) GoString() string {
 12599  	return s.String()
 12600  }
 12601  
 12602  // Validate inspects the fields of the type to determine if they are valid.
 12603  func (s *Tag) Validate() error {
 12604  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
 12605  	if s.Key == nil {
 12606  		invalidParams.Add(request.NewErrParamRequired("Key"))
 12607  	}
 12608  	if s.Key != nil && len(*s.Key) < 1 {
 12609  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 12610  	}
 12611  	if s.Value == nil {
 12612  		invalidParams.Add(request.NewErrParamRequired("Value"))
 12613  	}
 12614  
 12615  	if invalidParams.Len() > 0 {
 12616  		return invalidParams
 12617  	}
 12618  	return nil
 12619  }
 12620  
 12621  // SetKey sets the Key field's value.
 12622  func (s *Tag) SetKey(v string) *Tag {
 12623  	s.Key = &v
 12624  	return s
 12625  }
 12626  
 12627  // SetValue sets the Value field's value.
 12628  func (s *Tag) SetValue(v string) *Tag {
 12629  	s.Value = &v
 12630  	return s
 12631  }
 12632  
 12633  type TagResourceInput struct {
 12634  	_ struct{} `type:"structure"`
 12635  
 12636  	// The Amazon Resource Name (ARN) of the resource that the resource tag is applied
 12637  	// to.
 12638  	//
 12639  	// ResourceArn is a required field
 12640  	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
 12641  
 12642  	// An array of resource tags to apply to a resource.
 12643  	//
 12644  	// Tags is a required field
 12645  	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
 12646  }
 12647  
 12648  // String returns the string representation.
 12649  //
 12650  // API parameter values that are decorated as "sensitive" in the API will not
 12651  // be included in the string output. The member name will be present, but the
 12652  // value will be replaced with "sensitive".
 12653  func (s TagResourceInput) String() string {
 12654  	return awsutil.Prettify(s)
 12655  }
 12656  
 12657  // GoString returns the string representation.
 12658  //
 12659  // API parameter values that are decorated as "sensitive" in the API will not
 12660  // be included in the string output. The member name will be present, but the
 12661  // value will be replaced with "sensitive".
 12662  func (s TagResourceInput) GoString() string {
 12663  	return s.String()
 12664  }
 12665  
 12666  // Validate inspects the fields of the type to determine if they are valid.
 12667  func (s *TagResourceInput) Validate() error {
 12668  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 12669  	if s.ResourceArn == nil {
 12670  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 12671  	}
 12672  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 12673  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 12674  	}
 12675  	if s.Tags == nil {
 12676  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 12677  	}
 12678  	if s.Tags != nil {
 12679  		for i, v := range s.Tags {
 12680  			if v == nil {
 12681  				continue
 12682  			}
 12683  			if err := v.Validate(); err != nil {
 12684  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 12685  			}
 12686  		}
 12687  	}
 12688  
 12689  	if invalidParams.Len() > 0 {
 12690  		return invalidParams
 12691  	}
 12692  	return nil
 12693  }
 12694  
 12695  // SetResourceArn sets the ResourceArn field's value.
 12696  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 12697  	s.ResourceArn = &v
 12698  	return s
 12699  }
 12700  
 12701  // SetTags sets the Tags field's value.
 12702  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
 12703  	s.Tags = v
 12704  	return s
 12705  }
 12706  
 12707  type TagResourceOutput struct {
 12708  	_ struct{} `type:"structure"`
 12709  }
 12710  
 12711  // String returns the string representation.
 12712  //
 12713  // API parameter values that are decorated as "sensitive" in the API will not
 12714  // be included in the string output. The member name will be present, but the
 12715  // value will be replaced with "sensitive".
 12716  func (s TagResourceOutput) String() string {
 12717  	return awsutil.Prettify(s)
 12718  }
 12719  
 12720  // GoString returns the string representation.
 12721  //
 12722  // API parameter values that are decorated as "sensitive" in the API will not
 12723  // be included in the string output. The member name will be present, but the
 12724  // value will be replaced with "sensitive".
 12725  func (s TagResourceOutput) GoString() string {
 12726  	return s.String()
 12727  }
 12728  
 12729  // Template version source data.
 12730  type TemplateVersionSourceInput struct {
 12731  	_ struct{} `type:"structure"`
 12732  
 12733  	// An S3 source object that includes the template bundle S3 path and name for
 12734  	// a template minor version.
 12735  	S3 *S3ObjectSource `locationName:"s3" type:"structure"`
 12736  }
 12737  
 12738  // String returns the string representation.
 12739  //
 12740  // API parameter values that are decorated as "sensitive" in the API will not
 12741  // be included in the string output. The member name will be present, but the
 12742  // value will be replaced with "sensitive".
 12743  func (s TemplateVersionSourceInput) String() string {
 12744  	return awsutil.Prettify(s)
 12745  }
 12746  
 12747  // GoString returns the string representation.
 12748  //
 12749  // API parameter values that are decorated as "sensitive" in the API will not
 12750  // be included in the string output. The member name will be present, but the
 12751  // value will be replaced with "sensitive".
 12752  func (s TemplateVersionSourceInput) GoString() string {
 12753  	return s.String()
 12754  }
 12755  
 12756  // Validate inspects the fields of the type to determine if they are valid.
 12757  func (s *TemplateVersionSourceInput) Validate() error {
 12758  	invalidParams := request.ErrInvalidParams{Context: "TemplateVersionSourceInput"}
 12759  	if s.S3 != nil {
 12760  		if err := s.S3.Validate(); err != nil {
 12761  			invalidParams.AddNested("S3", err.(request.ErrInvalidParams))
 12762  		}
 12763  	}
 12764  
 12765  	if invalidParams.Len() > 0 {
 12766  		return invalidParams
 12767  	}
 12768  	return nil
 12769  }
 12770  
 12771  // SetS3 sets the S3 field's value.
 12772  func (s *TemplateVersionSourceInput) SetS3(v *S3ObjectSource) *TemplateVersionSourceInput {
 12773  	s.S3 = v
 12774  	return s
 12775  }
 12776  
 12777  // The request was denied due to request throttling.
 12778  type ThrottlingException struct {
 12779  	_            struct{}                  `type:"structure"`
 12780  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12781  
 12782  	// Message_ is a sensitive parameter and its value will be
 12783  	// replaced with "sensitive" in string returned by ThrottlingException's
 12784  	// String and GoString methods.
 12785  	Message_ *string `locationName:"message" type:"string" sensitive:"true"`
 12786  }
 12787  
 12788  // String returns the string representation.
 12789  //
 12790  // API parameter values that are decorated as "sensitive" in the API will not
 12791  // be included in the string output. The member name will be present, but the
 12792  // value will be replaced with "sensitive".
 12793  func (s ThrottlingException) String() string {
 12794  	return awsutil.Prettify(s)
 12795  }
 12796  
 12797  // GoString returns the string representation.
 12798  //
 12799  // API parameter values that are decorated as "sensitive" in the API will not
 12800  // be included in the string output. The member name will be present, but the
 12801  // value will be replaced with "sensitive".
 12802  func (s ThrottlingException) GoString() string {
 12803  	return s.String()
 12804  }
 12805  
 12806  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
 12807  	return &ThrottlingException{
 12808  		RespMetadata: v,
 12809  	}
 12810  }
 12811  
 12812  // Code returns the exception type name.
 12813  func (s *ThrottlingException) Code() string {
 12814  	return "ThrottlingException"
 12815  }
 12816  
 12817  // Message returns the exception's message.
 12818  func (s *ThrottlingException) Message() string {
 12819  	if s.Message_ != nil {
 12820  		return *s.Message_
 12821  	}
 12822  	return ""
 12823  }
 12824  
 12825  // OrigErr always returns nil, satisfies awserr.Error interface.
 12826  func (s *ThrottlingException) OrigErr() error {
 12827  	return nil
 12828  }
 12829  
 12830  func (s *ThrottlingException) Error() string {
 12831  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12832  }
 12833  
 12834  // Status code returns the HTTP status code for the request's response error.
 12835  func (s *ThrottlingException) StatusCode() int {
 12836  	return s.RespMetadata.StatusCode
 12837  }
 12838  
 12839  // RequestID returns the service's response RequestID for request.
 12840  func (s *ThrottlingException) RequestID() string {
 12841  	return s.RespMetadata.RequestID
 12842  }
 12843  
 12844  type UntagResourceInput struct {
 12845  	_ struct{} `type:"structure"`
 12846  
 12847  	// The Amazon Resource Name (ARN) of the resource that the tag is to be removed
 12848  	// from.
 12849  	//
 12850  	// ResourceArn is a required field
 12851  	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
 12852  
 12853  	// An array of tag keys indicating the resource tags to be removed from the
 12854  	// resource.
 12855  	//
 12856  	// TagKeys is a required field
 12857  	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
 12858  }
 12859  
 12860  // String returns the string representation.
 12861  //
 12862  // API parameter values that are decorated as "sensitive" in the API will not
 12863  // be included in the string output. The member name will be present, but the
 12864  // value will be replaced with "sensitive".
 12865  func (s UntagResourceInput) String() string {
 12866  	return awsutil.Prettify(s)
 12867  }
 12868  
 12869  // GoString returns the string representation.
 12870  //
 12871  // API parameter values that are decorated as "sensitive" in the API will not
 12872  // be included in the string output. The member name will be present, but the
 12873  // value will be replaced with "sensitive".
 12874  func (s UntagResourceInput) GoString() string {
 12875  	return s.String()
 12876  }
 12877  
 12878  // Validate inspects the fields of the type to determine if they are valid.
 12879  func (s *UntagResourceInput) Validate() error {
 12880  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 12881  	if s.ResourceArn == nil {
 12882  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 12883  	}
 12884  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 12885  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 12886  	}
 12887  	if s.TagKeys == nil {
 12888  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 12889  	}
 12890  
 12891  	if invalidParams.Len() > 0 {
 12892  		return invalidParams
 12893  	}
 12894  	return nil
 12895  }
 12896  
 12897  // SetResourceArn sets the ResourceArn field's value.
 12898  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 12899  	s.ResourceArn = &v
 12900  	return s
 12901  }
 12902  
 12903  // SetTagKeys sets the TagKeys field's value.
 12904  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 12905  	s.TagKeys = v
 12906  	return s
 12907  }
 12908  
 12909  type UntagResourceOutput struct {
 12910  	_ struct{} `type:"structure"`
 12911  }
 12912  
 12913  // String returns the string representation.
 12914  //
 12915  // API parameter values that are decorated as "sensitive" in the API will not
 12916  // be included in the string output. The member name will be present, but the
 12917  // value will be replaced with "sensitive".
 12918  func (s UntagResourceOutput) String() string {
 12919  	return awsutil.Prettify(s)
 12920  }
 12921  
 12922  // GoString returns the string representation.
 12923  //
 12924  // API parameter values that are decorated as "sensitive" in the API will not
 12925  // be included in the string output. The member name will be present, but the
 12926  // value will be replaced with "sensitive".
 12927  func (s UntagResourceOutput) GoString() string {
 12928  	return s.String()
 12929  }
 12930  
 12931  type UpdateAccountSettingsInput struct {
 12932  	_ struct{} `type:"structure"`
 12933  
 12934  	// The Amazon Resource Name (ARN) of the AWS Proton pipeline service role.
 12935  	PipelineServiceRoleArn *string `locationName:"pipelineServiceRoleArn" min:"1" type:"string"`
 12936  }
 12937  
 12938  // String returns the string representation.
 12939  //
 12940  // API parameter values that are decorated as "sensitive" in the API will not
 12941  // be included in the string output. The member name will be present, but the
 12942  // value will be replaced with "sensitive".
 12943  func (s UpdateAccountSettingsInput) String() string {
 12944  	return awsutil.Prettify(s)
 12945  }
 12946  
 12947  // GoString returns the string representation.
 12948  //
 12949  // API parameter values that are decorated as "sensitive" in the API will not
 12950  // be included in the string output. The member name will be present, but the
 12951  // value will be replaced with "sensitive".
 12952  func (s UpdateAccountSettingsInput) GoString() string {
 12953  	return s.String()
 12954  }
 12955  
 12956  // Validate inspects the fields of the type to determine if they are valid.
 12957  func (s *UpdateAccountSettingsInput) Validate() error {
 12958  	invalidParams := request.ErrInvalidParams{Context: "UpdateAccountSettingsInput"}
 12959  	if s.PipelineServiceRoleArn != nil && len(*s.PipelineServiceRoleArn) < 1 {
 12960  		invalidParams.Add(request.NewErrParamMinLen("PipelineServiceRoleArn", 1))
 12961  	}
 12962  
 12963  	if invalidParams.Len() > 0 {
 12964  		return invalidParams
 12965  	}
 12966  	return nil
 12967  }
 12968  
 12969  // SetPipelineServiceRoleArn sets the PipelineServiceRoleArn field's value.
 12970  func (s *UpdateAccountSettingsInput) SetPipelineServiceRoleArn(v string) *UpdateAccountSettingsInput {
 12971  	s.PipelineServiceRoleArn = &v
 12972  	return s
 12973  }
 12974  
 12975  type UpdateAccountSettingsOutput struct {
 12976  	_ struct{} `type:"structure"`
 12977  
 12978  	// The AWS Proton pipeline service role detail data that's returned by AWS Proton.
 12979  	//
 12980  	// AccountSettings is a required field
 12981  	AccountSettings *AccountSettings `locationName:"accountSettings" type:"structure" required:"true"`
 12982  }
 12983  
 12984  // String returns the string representation.
 12985  //
 12986  // API parameter values that are decorated as "sensitive" in the API will not
 12987  // be included in the string output. The member name will be present, but the
 12988  // value will be replaced with "sensitive".
 12989  func (s UpdateAccountSettingsOutput) String() string {
 12990  	return awsutil.Prettify(s)
 12991  }
 12992  
 12993  // GoString returns the string representation.
 12994  //
 12995  // API parameter values that are decorated as "sensitive" in the API will not
 12996  // be included in the string output. The member name will be present, but the
 12997  // value will be replaced with "sensitive".
 12998  func (s UpdateAccountSettingsOutput) GoString() string {
 12999  	return s.String()
 13000  }
 13001  
 13002  // SetAccountSettings sets the AccountSettings field's value.
 13003  func (s *UpdateAccountSettingsOutput) SetAccountSettings(v *AccountSettings) *UpdateAccountSettingsOutput {
 13004  	s.AccountSettings = v
 13005  	return s
 13006  }
 13007  
 13008  type UpdateEnvironmentAccountConnectionInput struct {
 13009  	_ struct{} `type:"structure"`
 13010  
 13011  	// The ID of the environment account connection to update.
 13012  	//
 13013  	// Id is a required field
 13014  	Id *string `locationName:"id" type:"string" required:"true"`
 13015  
 13016  	// The Amazon Resource Name (ARN) of the IAM service role that is associated
 13017  	// with the environment account connection to update.
 13018  	//
 13019  	// RoleArn is a required field
 13020  	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
 13021  }
 13022  
 13023  // String returns the string representation.
 13024  //
 13025  // API parameter values that are decorated as "sensitive" in the API will not
 13026  // be included in the string output. The member name will be present, but the
 13027  // value will be replaced with "sensitive".
 13028  func (s UpdateEnvironmentAccountConnectionInput) String() string {
 13029  	return awsutil.Prettify(s)
 13030  }
 13031  
 13032  // GoString returns the string representation.
 13033  //
 13034  // API parameter values that are decorated as "sensitive" in the API will not
 13035  // be included in the string output. The member name will be present, but the
 13036  // value will be replaced with "sensitive".
 13037  func (s UpdateEnvironmentAccountConnectionInput) GoString() string {
 13038  	return s.String()
 13039  }
 13040  
 13041  // Validate inspects the fields of the type to determine if they are valid.
 13042  func (s *UpdateEnvironmentAccountConnectionInput) Validate() error {
 13043  	invalidParams := request.ErrInvalidParams{Context: "UpdateEnvironmentAccountConnectionInput"}
 13044  	if s.Id == nil {
 13045  		invalidParams.Add(request.NewErrParamRequired("Id"))
 13046  	}
 13047  	if s.RoleArn == nil {
 13048  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 13049  	}
 13050  	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
 13051  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
 13052  	}
 13053  
 13054  	if invalidParams.Len() > 0 {
 13055  		return invalidParams
 13056  	}
 13057  	return nil
 13058  }
 13059  
 13060  // SetId sets the Id field's value.
 13061  func (s *UpdateEnvironmentAccountConnectionInput) SetId(v string) *UpdateEnvironmentAccountConnectionInput {
 13062  	s.Id = &v
 13063  	return s
 13064  }
 13065  
 13066  // SetRoleArn sets the RoleArn field's value.
 13067  func (s *UpdateEnvironmentAccountConnectionInput) SetRoleArn(v string) *UpdateEnvironmentAccountConnectionInput {
 13068  	s.RoleArn = &v
 13069  	return s
 13070  }
 13071  
 13072  type UpdateEnvironmentAccountConnectionOutput struct {
 13073  	_ struct{} `type:"structure"`
 13074  
 13075  	// The environment account connection detail data that's returned by AWS Proton.
 13076  	//
 13077  	// EnvironmentAccountConnection is a required field
 13078  	EnvironmentAccountConnection *EnvironmentAccountConnection `locationName:"environmentAccountConnection" type:"structure" required:"true"`
 13079  }
 13080  
 13081  // String returns the string representation.
 13082  //
 13083  // API parameter values that are decorated as "sensitive" in the API will not
 13084  // be included in the string output. The member name will be present, but the
 13085  // value will be replaced with "sensitive".
 13086  func (s UpdateEnvironmentAccountConnectionOutput) String() string {
 13087  	return awsutil.Prettify(s)
 13088  }
 13089  
 13090  // GoString returns the string representation.
 13091  //
 13092  // API parameter values that are decorated as "sensitive" in the API will not
 13093  // be included in the string output. The member name will be present, but the
 13094  // value will be replaced with "sensitive".
 13095  func (s UpdateEnvironmentAccountConnectionOutput) GoString() string {
 13096  	return s.String()
 13097  }
 13098  
 13099  // SetEnvironmentAccountConnection sets the EnvironmentAccountConnection field's value.
 13100  func (s *UpdateEnvironmentAccountConnectionOutput) SetEnvironmentAccountConnection(v *EnvironmentAccountConnection) *UpdateEnvironmentAccountConnectionOutput {
 13101  	s.EnvironmentAccountConnection = v
 13102  	return s
 13103  }
 13104  
 13105  type UpdateEnvironmentInput struct {
 13106  	_ struct{} `type:"structure"`
 13107  
 13108  	// There are four modes for updating an environment as described in the following.
 13109  	// The deploymentType field defines the mode.
 13110  	//
 13111  	// NONE
 13112  	//
 13113  	// In this mode, a deployment doesn't occur. Only the requested metadata parameters
 13114  	// are updated.
 13115  	//
 13116  	// CURRENT_VERSION
 13117  	//
 13118  	// In this mode, the environment is deployed and updated with the new spec that
 13119  	// you provide. Only requested parameters are updated. Don’t include minor
 13120  	// or major version parameters when you use this deployment-type.
 13121  	//
 13122  	// MINOR_VERSION
 13123  	//
 13124  	// In this mode, the environment is deployed and updated with the published,
 13125  	// recommended (latest) minor version of the current major version in use, by
 13126  	// default. You can also specify a different minor version of the current major
 13127  	// version in use.
 13128  	//
 13129  	// MAJOR_VERSION
 13130  	//
 13131  	// In this mode, the environment is deployed and updated with the published,
 13132  	// recommended (latest) major and minor version of the current template, by
 13133  	// default. You can also specify a different major version that is higher than
 13134  	// the major version in use and a minor version (optional).
 13135  	//
 13136  	// DeploymentType is a required field
 13137  	DeploymentType *string `locationName:"deploymentType" type:"string" required:"true" enum:"DeploymentUpdateType"`
 13138  
 13139  	// A description of the environment update.
 13140  	//
 13141  	// Description is a sensitive parameter and its value will be
 13142  	// replaced with "sensitive" in string returned by UpdateEnvironmentInput's
 13143  	// String and GoString methods.
 13144  	Description *string `locationName:"description" type:"string" sensitive:"true"`
 13145  
 13146  	// The ID of the environment account connection.
 13147  	//
 13148  	// You can only update to a new environment account connection if it was created
 13149  	// in the same environment account that the current environment account connection
 13150  	// was created in and is associated with the current environment.
 13151  	EnvironmentAccountConnectionId *string `locationName:"environmentAccountConnectionId" type:"string"`
 13152  
 13153  	// The name of the environment to update.
 13154  	//
 13155  	// Name is a required field
 13156  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 13157  
 13158  	// The Amazon Resource Name (ARN) of the AWS Proton service role that allows
 13159  	// AWS Proton to make API calls to other services your behalf.
 13160  	ProtonServiceRoleArn *string `locationName:"protonServiceRoleArn" min:"1" type:"string"`
 13161  
 13162  	// The formatted specification that defines the update.
 13163  	//
 13164  	// Spec is a sensitive parameter and its value will be
 13165  	// replaced with "sensitive" in string returned by UpdateEnvironmentInput's
 13166  	// String and GoString methods.
 13167  	Spec *string `locationName:"spec" min:"1" type:"string" sensitive:"true"`
 13168  
 13169  	// The ID of the major version of the environment to update.
 13170  	TemplateMajorVersion *string `locationName:"templateMajorVersion" min:"1" type:"string"`
 13171  
 13172  	// The ID of the minor version of the environment to update.
 13173  	TemplateMinorVersion *string `locationName:"templateMinorVersion" min:"1" type:"string"`
 13174  }
 13175  
 13176  // String returns the string representation.
 13177  //
 13178  // API parameter values that are decorated as "sensitive" in the API will not
 13179  // be included in the string output. The member name will be present, but the
 13180  // value will be replaced with "sensitive".
 13181  func (s UpdateEnvironmentInput) String() string {
 13182  	return awsutil.Prettify(s)
 13183  }
 13184  
 13185  // GoString returns the string representation.
 13186  //
 13187  // API parameter values that are decorated as "sensitive" in the API will not
 13188  // be included in the string output. The member name will be present, but the
 13189  // value will be replaced with "sensitive".
 13190  func (s UpdateEnvironmentInput) GoString() string {
 13191  	return s.String()
 13192  }
 13193  
 13194  // Validate inspects the fields of the type to determine if they are valid.
 13195  func (s *UpdateEnvironmentInput) Validate() error {
 13196  	invalidParams := request.ErrInvalidParams{Context: "UpdateEnvironmentInput"}
 13197  	if s.DeploymentType == nil {
 13198  		invalidParams.Add(request.NewErrParamRequired("DeploymentType"))
 13199  	}
 13200  	if s.Name == nil {
 13201  		invalidParams.Add(request.NewErrParamRequired("Name"))
 13202  	}
 13203  	if s.Name != nil && len(*s.Name) < 1 {
 13204  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 13205  	}
 13206  	if s.ProtonServiceRoleArn != nil && len(*s.ProtonServiceRoleArn) < 1 {
 13207  		invalidParams.Add(request.NewErrParamMinLen("ProtonServiceRoleArn", 1))
 13208  	}
 13209  	if s.Spec != nil && len(*s.Spec) < 1 {
 13210  		invalidParams.Add(request.NewErrParamMinLen("Spec", 1))
 13211  	}
 13212  	if s.TemplateMajorVersion != nil && len(*s.TemplateMajorVersion) < 1 {
 13213  		invalidParams.Add(request.NewErrParamMinLen("TemplateMajorVersion", 1))
 13214  	}
 13215  	if s.TemplateMinorVersion != nil && len(*s.TemplateMinorVersion) < 1 {
 13216  		invalidParams.Add(request.NewErrParamMinLen("TemplateMinorVersion", 1))
 13217  	}
 13218  
 13219  	if invalidParams.Len() > 0 {
 13220  		return invalidParams
 13221  	}
 13222  	return nil
 13223  }
 13224  
 13225  // SetDeploymentType sets the DeploymentType field's value.
 13226  func (s *UpdateEnvironmentInput) SetDeploymentType(v string) *UpdateEnvironmentInput {
 13227  	s.DeploymentType = &v
 13228  	return s
 13229  }
 13230  
 13231  // SetDescription sets the Description field's value.
 13232  func (s *UpdateEnvironmentInput) SetDescription(v string) *UpdateEnvironmentInput {
 13233  	s.Description = &v
 13234  	return s
 13235  }
 13236  
 13237  // SetEnvironmentAccountConnectionId sets the EnvironmentAccountConnectionId field's value.
 13238  func (s *UpdateEnvironmentInput) SetEnvironmentAccountConnectionId(v string) *UpdateEnvironmentInput {
 13239  	s.EnvironmentAccountConnectionId = &v
 13240  	return s
 13241  }
 13242  
 13243  // SetName sets the Name field's value.
 13244  func (s *UpdateEnvironmentInput) SetName(v string) *UpdateEnvironmentInput {
 13245  	s.Name = &v
 13246  	return s
 13247  }
 13248  
 13249  // SetProtonServiceRoleArn sets the ProtonServiceRoleArn field's value.
 13250  func (s *UpdateEnvironmentInput) SetProtonServiceRoleArn(v string) *UpdateEnvironmentInput {
 13251  	s.ProtonServiceRoleArn = &v
 13252  	return s
 13253  }
 13254  
 13255  // SetSpec sets the Spec field's value.
 13256  func (s *UpdateEnvironmentInput) SetSpec(v string) *UpdateEnvironmentInput {
 13257  	s.Spec = &v
 13258  	return s
 13259  }
 13260  
 13261  // SetTemplateMajorVersion sets the TemplateMajorVersion field's value.
 13262  func (s *UpdateEnvironmentInput) SetTemplateMajorVersion(v string) *UpdateEnvironmentInput {
 13263  	s.TemplateMajorVersion = &v
 13264  	return s
 13265  }
 13266  
 13267  // SetTemplateMinorVersion sets the TemplateMinorVersion field's value.
 13268  func (s *UpdateEnvironmentInput) SetTemplateMinorVersion(v string) *UpdateEnvironmentInput {
 13269  	s.TemplateMinorVersion = &v
 13270  	return s
 13271  }
 13272  
 13273  type UpdateEnvironmentOutput struct {
 13274  	_ struct{} `type:"structure"`
 13275  
 13276  	// The environment detail data that's returned by AWS Proton.
 13277  	//
 13278  	// Environment is a required field
 13279  	Environment *Environment `locationName:"environment" type:"structure" required:"true"`
 13280  }
 13281  
 13282  // String returns the string representation.
 13283  //
 13284  // API parameter values that are decorated as "sensitive" in the API will not
 13285  // be included in the string output. The member name will be present, but the
 13286  // value will be replaced with "sensitive".
 13287  func (s UpdateEnvironmentOutput) String() string {
 13288  	return awsutil.Prettify(s)
 13289  }
 13290  
 13291  // GoString returns the string representation.
 13292  //
 13293  // API parameter values that are decorated as "sensitive" in the API will not
 13294  // be included in the string output. The member name will be present, but the
 13295  // value will be replaced with "sensitive".
 13296  func (s UpdateEnvironmentOutput) GoString() string {
 13297  	return s.String()
 13298  }
 13299  
 13300  // SetEnvironment sets the Environment field's value.
 13301  func (s *UpdateEnvironmentOutput) SetEnvironment(v *Environment) *UpdateEnvironmentOutput {
 13302  	s.Environment = v
 13303  	return s
 13304  }
 13305  
 13306  type UpdateEnvironmentTemplateInput struct {
 13307  	_ struct{} `type:"structure"`
 13308  
 13309  	// A description of the environment template update.
 13310  	//
 13311  	// Description is a sensitive parameter and its value will be
 13312  	// replaced with "sensitive" in string returned by UpdateEnvironmentTemplateInput's
 13313  	// String and GoString methods.
 13314  	Description *string `locationName:"description" type:"string" sensitive:"true"`
 13315  
 13316  	// The name of the environment template to update as displayed in the developer
 13317  	// interface.
 13318  	//
 13319  	// DisplayName is a sensitive parameter and its value will be
 13320  	// replaced with "sensitive" in string returned by UpdateEnvironmentTemplateInput's
 13321  	// String and GoString methods.
 13322  	DisplayName *string `locationName:"displayName" min:"1" type:"string" sensitive:"true"`
 13323  
 13324  	// The name of the environment template to update.
 13325  	//
 13326  	// Name is a required field
 13327  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 13328  }
 13329  
 13330  // String returns the string representation.
 13331  //
 13332  // API parameter values that are decorated as "sensitive" in the API will not
 13333  // be included in the string output. The member name will be present, but the
 13334  // value will be replaced with "sensitive".
 13335  func (s UpdateEnvironmentTemplateInput) String() string {
 13336  	return awsutil.Prettify(s)
 13337  }
 13338  
 13339  // GoString returns the string representation.
 13340  //
 13341  // API parameter values that are decorated as "sensitive" in the API will not
 13342  // be included in the string output. The member name will be present, but the
 13343  // value will be replaced with "sensitive".
 13344  func (s UpdateEnvironmentTemplateInput) GoString() string {
 13345  	return s.String()
 13346  }
 13347  
 13348  // Validate inspects the fields of the type to determine if they are valid.
 13349  func (s *UpdateEnvironmentTemplateInput) Validate() error {
 13350  	invalidParams := request.ErrInvalidParams{Context: "UpdateEnvironmentTemplateInput"}
 13351  	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
 13352  		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
 13353  	}
 13354  	if s.Name == nil {
 13355  		invalidParams.Add(request.NewErrParamRequired("Name"))
 13356  	}
 13357  	if s.Name != nil && len(*s.Name) < 1 {
 13358  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 13359  	}
 13360  
 13361  	if invalidParams.Len() > 0 {
 13362  		return invalidParams
 13363  	}
 13364  	return nil
 13365  }
 13366  
 13367  // SetDescription sets the Description field's value.
 13368  func (s *UpdateEnvironmentTemplateInput) SetDescription(v string) *UpdateEnvironmentTemplateInput {
 13369  	s.Description = &v
 13370  	return s
 13371  }
 13372  
 13373  // SetDisplayName sets the DisplayName field's value.
 13374  func (s *UpdateEnvironmentTemplateInput) SetDisplayName(v string) *UpdateEnvironmentTemplateInput {
 13375  	s.DisplayName = &v
 13376  	return s
 13377  }
 13378  
 13379  // SetName sets the Name field's value.
 13380  func (s *UpdateEnvironmentTemplateInput) SetName(v string) *UpdateEnvironmentTemplateInput {
 13381  	s.Name = &v
 13382  	return s
 13383  }
 13384  
 13385  type UpdateEnvironmentTemplateOutput struct {
 13386  	_ struct{} `type:"structure"`
 13387  
 13388  	// The environment template detail data that's returned by AWS Proton.
 13389  	//
 13390  	// EnvironmentTemplate is a required field
 13391  	EnvironmentTemplate *EnvironmentTemplate `locationName:"environmentTemplate" type:"structure" required:"true"`
 13392  }
 13393  
 13394  // String returns the string representation.
 13395  //
 13396  // API parameter values that are decorated as "sensitive" in the API will not
 13397  // be included in the string output. The member name will be present, but the
 13398  // value will be replaced with "sensitive".
 13399  func (s UpdateEnvironmentTemplateOutput) String() string {
 13400  	return awsutil.Prettify(s)
 13401  }
 13402  
 13403  // GoString returns the string representation.
 13404  //
 13405  // API parameter values that are decorated as "sensitive" in the API will not
 13406  // be included in the string output. The member name will be present, but the
 13407  // value will be replaced with "sensitive".
 13408  func (s UpdateEnvironmentTemplateOutput) GoString() string {
 13409  	return s.String()
 13410  }
 13411  
 13412  // SetEnvironmentTemplate sets the EnvironmentTemplate field's value.
 13413  func (s *UpdateEnvironmentTemplateOutput) SetEnvironmentTemplate(v *EnvironmentTemplate) *UpdateEnvironmentTemplateOutput {
 13414  	s.EnvironmentTemplate = v
 13415  	return s
 13416  }
 13417  
 13418  type UpdateEnvironmentTemplateVersionInput struct {
 13419  	_ struct{} `type:"structure"`
 13420  
 13421  	// A description of environment template version to update.
 13422  	//
 13423  	// Description is a sensitive parameter and its value will be
 13424  	// replaced with "sensitive" in string returned by UpdateEnvironmentTemplateVersionInput's
 13425  	// String and GoString methods.
 13426  	Description *string `locationName:"description" type:"string" sensitive:"true"`
 13427  
 13428  	// To update a major version of an environment template, include majorVersion.
 13429  	//
 13430  	// MajorVersion is a required field
 13431  	MajorVersion *string `locationName:"majorVersion" min:"1" type:"string" required:"true"`
 13432  
 13433  	// To update a minor version of an environment template, include minorVersion.
 13434  	//
 13435  	// MinorVersion is a required field
 13436  	MinorVersion *string `locationName:"minorVersion" min:"1" type:"string" required:"true"`
 13437  
 13438  	// The status of the environment template minor version to update.
 13439  	Status *string `locationName:"status" type:"string" enum:"TemplateVersionStatus"`
 13440  
 13441  	// The name of the environment template.
 13442  	//
 13443  	// TemplateName is a required field
 13444  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
 13445  }
 13446  
 13447  // String returns the string representation.
 13448  //
 13449  // API parameter values that are decorated as "sensitive" in the API will not
 13450  // be included in the string output. The member name will be present, but the
 13451  // value will be replaced with "sensitive".
 13452  func (s UpdateEnvironmentTemplateVersionInput) String() string {
 13453  	return awsutil.Prettify(s)
 13454  }
 13455  
 13456  // GoString returns the string representation.
 13457  //
 13458  // API parameter values that are decorated as "sensitive" in the API will not
 13459  // be included in the string output. The member name will be present, but the
 13460  // value will be replaced with "sensitive".
 13461  func (s UpdateEnvironmentTemplateVersionInput) GoString() string {
 13462  	return s.String()
 13463  }
 13464  
 13465  // Validate inspects the fields of the type to determine if they are valid.
 13466  func (s *UpdateEnvironmentTemplateVersionInput) Validate() error {
 13467  	invalidParams := request.ErrInvalidParams{Context: "UpdateEnvironmentTemplateVersionInput"}
 13468  	if s.MajorVersion == nil {
 13469  		invalidParams.Add(request.NewErrParamRequired("MajorVersion"))
 13470  	}
 13471  	if s.MajorVersion != nil && len(*s.MajorVersion) < 1 {
 13472  		invalidParams.Add(request.NewErrParamMinLen("MajorVersion", 1))
 13473  	}
 13474  	if s.MinorVersion == nil {
 13475  		invalidParams.Add(request.NewErrParamRequired("MinorVersion"))
 13476  	}
 13477  	if s.MinorVersion != nil && len(*s.MinorVersion) < 1 {
 13478  		invalidParams.Add(request.NewErrParamMinLen("MinorVersion", 1))
 13479  	}
 13480  	if s.TemplateName == nil {
 13481  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 13482  	}
 13483  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 13484  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 13485  	}
 13486  
 13487  	if invalidParams.Len() > 0 {
 13488  		return invalidParams
 13489  	}
 13490  	return nil
 13491  }
 13492  
 13493  // SetDescription sets the Description field's value.
 13494  func (s *UpdateEnvironmentTemplateVersionInput) SetDescription(v string) *UpdateEnvironmentTemplateVersionInput {
 13495  	s.Description = &v
 13496  	return s
 13497  }
 13498  
 13499  // SetMajorVersion sets the MajorVersion field's value.
 13500  func (s *UpdateEnvironmentTemplateVersionInput) SetMajorVersion(v string) *UpdateEnvironmentTemplateVersionInput {
 13501  	s.MajorVersion = &v
 13502  	return s
 13503  }
 13504  
 13505  // SetMinorVersion sets the MinorVersion field's value.
 13506  func (s *UpdateEnvironmentTemplateVersionInput) SetMinorVersion(v string) *UpdateEnvironmentTemplateVersionInput {
 13507  	s.MinorVersion = &v
 13508  	return s
 13509  }
 13510  
 13511  // SetStatus sets the Status field's value.
 13512  func (s *UpdateEnvironmentTemplateVersionInput) SetStatus(v string) *UpdateEnvironmentTemplateVersionInput {
 13513  	s.Status = &v
 13514  	return s
 13515  }
 13516  
 13517  // SetTemplateName sets the TemplateName field's value.
 13518  func (s *UpdateEnvironmentTemplateVersionInput) SetTemplateName(v string) *UpdateEnvironmentTemplateVersionInput {
 13519  	s.TemplateName = &v
 13520  	return s
 13521  }
 13522  
 13523  type UpdateEnvironmentTemplateVersionOutput struct {
 13524  	_ struct{} `type:"structure"`
 13525  
 13526  	// The environment template version detail data that's returned by AWS Proton.
 13527  	//
 13528  	// EnvironmentTemplateVersion is a required field
 13529  	EnvironmentTemplateVersion *EnvironmentTemplateVersion `locationName:"environmentTemplateVersion" type:"structure" required:"true"`
 13530  }
 13531  
 13532  // String returns the string representation.
 13533  //
 13534  // API parameter values that are decorated as "sensitive" in the API will not
 13535  // be included in the string output. The member name will be present, but the
 13536  // value will be replaced with "sensitive".
 13537  func (s UpdateEnvironmentTemplateVersionOutput) String() string {
 13538  	return awsutil.Prettify(s)
 13539  }
 13540  
 13541  // GoString returns the string representation.
 13542  //
 13543  // API parameter values that are decorated as "sensitive" in the API will not
 13544  // be included in the string output. The member name will be present, but the
 13545  // value will be replaced with "sensitive".
 13546  func (s UpdateEnvironmentTemplateVersionOutput) GoString() string {
 13547  	return s.String()
 13548  }
 13549  
 13550  // SetEnvironmentTemplateVersion sets the EnvironmentTemplateVersion field's value.
 13551  func (s *UpdateEnvironmentTemplateVersionOutput) SetEnvironmentTemplateVersion(v *EnvironmentTemplateVersion) *UpdateEnvironmentTemplateVersionOutput {
 13552  	s.EnvironmentTemplateVersion = v
 13553  	return s
 13554  }
 13555  
 13556  type UpdateServiceInput struct {
 13557  	_ struct{} `type:"structure"`
 13558  
 13559  	// The edited service description.
 13560  	//
 13561  	// Description is a sensitive parameter and its value will be
 13562  	// replaced with "sensitive" in string returned by UpdateServiceInput's
 13563  	// String and GoString methods.
 13564  	Description *string `locationName:"description" type:"string" sensitive:"true"`
 13565  
 13566  	// The name of the service to edit.
 13567  	//
 13568  	// Name is a required field
 13569  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 13570  
 13571  	// Lists the service instances to add and the existing service instances to
 13572  	// remain. Omit the existing service instances to delete from the list. Don't
 13573  	// include edits to the existing service instances or pipeline. For more information,
 13574  	// see Edit a service in the AWS Proton Administrator Guide (https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-update.html)
 13575  	// or the AWS Proton User Guide (https://docs.aws.amazon.com/proton/latest/userguide/ug-svc-update.html).
 13576  	//
 13577  	// Spec is a sensitive parameter and its value will be
 13578  	// replaced with "sensitive" in string returned by UpdateServiceInput's
 13579  	// String and GoString methods.
 13580  	Spec *string `locationName:"spec" min:"1" type:"string" sensitive:"true"`
 13581  }
 13582  
 13583  // String returns the string representation.
 13584  //
 13585  // API parameter values that are decorated as "sensitive" in the API will not
 13586  // be included in the string output. The member name will be present, but the
 13587  // value will be replaced with "sensitive".
 13588  func (s UpdateServiceInput) String() string {
 13589  	return awsutil.Prettify(s)
 13590  }
 13591  
 13592  // GoString returns the string representation.
 13593  //
 13594  // API parameter values that are decorated as "sensitive" in the API will not
 13595  // be included in the string output. The member name will be present, but the
 13596  // value will be replaced with "sensitive".
 13597  func (s UpdateServiceInput) GoString() string {
 13598  	return s.String()
 13599  }
 13600  
 13601  // Validate inspects the fields of the type to determine if they are valid.
 13602  func (s *UpdateServiceInput) Validate() error {
 13603  	invalidParams := request.ErrInvalidParams{Context: "UpdateServiceInput"}
 13604  	if s.Name == nil {
 13605  		invalidParams.Add(request.NewErrParamRequired("Name"))
 13606  	}
 13607  	if s.Name != nil && len(*s.Name) < 1 {
 13608  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 13609  	}
 13610  	if s.Spec != nil && len(*s.Spec) < 1 {
 13611  		invalidParams.Add(request.NewErrParamMinLen("Spec", 1))
 13612  	}
 13613  
 13614  	if invalidParams.Len() > 0 {
 13615  		return invalidParams
 13616  	}
 13617  	return nil
 13618  }
 13619  
 13620  // SetDescription sets the Description field's value.
 13621  func (s *UpdateServiceInput) SetDescription(v string) *UpdateServiceInput {
 13622  	s.Description = &v
 13623  	return s
 13624  }
 13625  
 13626  // SetName sets the Name field's value.
 13627  func (s *UpdateServiceInput) SetName(v string) *UpdateServiceInput {
 13628  	s.Name = &v
 13629  	return s
 13630  }
 13631  
 13632  // SetSpec sets the Spec field's value.
 13633  func (s *UpdateServiceInput) SetSpec(v string) *UpdateServiceInput {
 13634  	s.Spec = &v
 13635  	return s
 13636  }
 13637  
 13638  type UpdateServiceInstanceInput struct {
 13639  	_ struct{} `type:"structure"`
 13640  
 13641  	// The deployment type.
 13642  	//
 13643  	// There are four modes for updating a service instance as described in the
 13644  	// following. The deploymentType field defines the mode.
 13645  	//
 13646  	// NONE
 13647  	//
 13648  	// In this mode, a deployment doesn't occur. Only the requested metadata parameters
 13649  	// are updated.
 13650  	//
 13651  	// CURRENT_VERSION
 13652  	//
 13653  	// In this mode, the service instance is deployed and updated with the new spec
 13654  	// that you provide. Only requested parameters are updated. Don’t include
 13655  	// minor or major version parameters when you use this deployment-type.
 13656  	//
 13657  	// MINOR_VERSION
 13658  	//
 13659  	// In this mode, the service instance is deployed and updated with the published,
 13660  	// recommended (latest) minor version of the current major version in use, by
 13661  	// default. You can also specify a different minor version of the current major
 13662  	// version in use.
 13663  	//
 13664  	// MAJOR_VERSION
 13665  	//
 13666  	// In this mode, the service instance is deployed and updated with the published,
 13667  	// recommended (latest) major and minor version of the current template, by
 13668  	// default. You can also specify a different major version that is higher than
 13669  	// the major version in use and a minor version (optional).
 13670  	//
 13671  	// DeploymentType is a required field
 13672  	DeploymentType *string `locationName:"deploymentType" type:"string" required:"true" enum:"DeploymentUpdateType"`
 13673  
 13674  	// The name of the service instance to update.
 13675  	//
 13676  	// Name is a required field
 13677  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 13678  
 13679  	// The name of the service that the service instance belongs to.
 13680  	//
 13681  	// ServiceName is a required field
 13682  	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
 13683  
 13684  	// The formatted specification that defines the service instance update.
 13685  	//
 13686  	// Spec is a sensitive parameter and its value will be
 13687  	// replaced with "sensitive" in string returned by UpdateServiceInstanceInput's
 13688  	// String and GoString methods.
 13689  	Spec *string `locationName:"spec" min:"1" type:"string" sensitive:"true"`
 13690  
 13691  	// The major version of the service template to update.
 13692  	TemplateMajorVersion *string `locationName:"templateMajorVersion" min:"1" type:"string"`
 13693  
 13694  	// The minor version of the service template to update.
 13695  	TemplateMinorVersion *string `locationName:"templateMinorVersion" min:"1" type:"string"`
 13696  }
 13697  
 13698  // String returns the string representation.
 13699  //
 13700  // API parameter values that are decorated as "sensitive" in the API will not
 13701  // be included in the string output. The member name will be present, but the
 13702  // value will be replaced with "sensitive".
 13703  func (s UpdateServiceInstanceInput) String() string {
 13704  	return awsutil.Prettify(s)
 13705  }
 13706  
 13707  // GoString returns the string representation.
 13708  //
 13709  // API parameter values that are decorated as "sensitive" in the API will not
 13710  // be included in the string output. The member name will be present, but the
 13711  // value will be replaced with "sensitive".
 13712  func (s UpdateServiceInstanceInput) GoString() string {
 13713  	return s.String()
 13714  }
 13715  
 13716  // Validate inspects the fields of the type to determine if they are valid.
 13717  func (s *UpdateServiceInstanceInput) Validate() error {
 13718  	invalidParams := request.ErrInvalidParams{Context: "UpdateServiceInstanceInput"}
 13719  	if s.DeploymentType == nil {
 13720  		invalidParams.Add(request.NewErrParamRequired("DeploymentType"))
 13721  	}
 13722  	if s.Name == nil {
 13723  		invalidParams.Add(request.NewErrParamRequired("Name"))
 13724  	}
 13725  	if s.Name != nil && len(*s.Name) < 1 {
 13726  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 13727  	}
 13728  	if s.ServiceName == nil {
 13729  		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
 13730  	}
 13731  	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
 13732  		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
 13733  	}
 13734  	if s.Spec != nil && len(*s.Spec) < 1 {
 13735  		invalidParams.Add(request.NewErrParamMinLen("Spec", 1))
 13736  	}
 13737  	if s.TemplateMajorVersion != nil && len(*s.TemplateMajorVersion) < 1 {
 13738  		invalidParams.Add(request.NewErrParamMinLen("TemplateMajorVersion", 1))
 13739  	}
 13740  	if s.TemplateMinorVersion != nil && len(*s.TemplateMinorVersion) < 1 {
 13741  		invalidParams.Add(request.NewErrParamMinLen("TemplateMinorVersion", 1))
 13742  	}
 13743  
 13744  	if invalidParams.Len() > 0 {
 13745  		return invalidParams
 13746  	}
 13747  	return nil
 13748  }
 13749  
 13750  // SetDeploymentType sets the DeploymentType field's value.
 13751  func (s *UpdateServiceInstanceInput) SetDeploymentType(v string) *UpdateServiceInstanceInput {
 13752  	s.DeploymentType = &v
 13753  	return s
 13754  }
 13755  
 13756  // SetName sets the Name field's value.
 13757  func (s *UpdateServiceInstanceInput) SetName(v string) *UpdateServiceInstanceInput {
 13758  	s.Name = &v
 13759  	return s
 13760  }
 13761  
 13762  // SetServiceName sets the ServiceName field's value.
 13763  func (s *UpdateServiceInstanceInput) SetServiceName(v string) *UpdateServiceInstanceInput {
 13764  	s.ServiceName = &v
 13765  	return s
 13766  }
 13767  
 13768  // SetSpec sets the Spec field's value.
 13769  func (s *UpdateServiceInstanceInput) SetSpec(v string) *UpdateServiceInstanceInput {
 13770  	s.Spec = &v
 13771  	return s
 13772  }
 13773  
 13774  // SetTemplateMajorVersion sets the TemplateMajorVersion field's value.
 13775  func (s *UpdateServiceInstanceInput) SetTemplateMajorVersion(v string) *UpdateServiceInstanceInput {
 13776  	s.TemplateMajorVersion = &v
 13777  	return s
 13778  }
 13779  
 13780  // SetTemplateMinorVersion sets the TemplateMinorVersion field's value.
 13781  func (s *UpdateServiceInstanceInput) SetTemplateMinorVersion(v string) *UpdateServiceInstanceInput {
 13782  	s.TemplateMinorVersion = &v
 13783  	return s
 13784  }
 13785  
 13786  type UpdateServiceInstanceOutput struct {
 13787  	_ struct{} `type:"structure"`
 13788  
 13789  	// The service instance summary data returned by AWS Proton.
 13790  	//
 13791  	// ServiceInstance is a required field
 13792  	ServiceInstance *ServiceInstance `locationName:"serviceInstance" type:"structure" required:"true"`
 13793  }
 13794  
 13795  // String returns the string representation.
 13796  //
 13797  // API parameter values that are decorated as "sensitive" in the API will not
 13798  // be included in the string output. The member name will be present, but the
 13799  // value will be replaced with "sensitive".
 13800  func (s UpdateServiceInstanceOutput) String() string {
 13801  	return awsutil.Prettify(s)
 13802  }
 13803  
 13804  // GoString returns the string representation.
 13805  //
 13806  // API parameter values that are decorated as "sensitive" in the API will not
 13807  // be included in the string output. The member name will be present, but the
 13808  // value will be replaced with "sensitive".
 13809  func (s UpdateServiceInstanceOutput) GoString() string {
 13810  	return s.String()
 13811  }
 13812  
 13813  // SetServiceInstance sets the ServiceInstance field's value.
 13814  func (s *UpdateServiceInstanceOutput) SetServiceInstance(v *ServiceInstance) *UpdateServiceInstanceOutput {
 13815  	s.ServiceInstance = v
 13816  	return s
 13817  }
 13818  
 13819  type UpdateServiceOutput struct {
 13820  	_ struct{} `type:"structure"`
 13821  
 13822  	// The service detail data that's returned by AWS Proton.
 13823  	//
 13824  	// Service is a required field
 13825  	Service *Service `locationName:"service" type:"structure" required:"true"`
 13826  }
 13827  
 13828  // String returns the string representation.
 13829  //
 13830  // API parameter values that are decorated as "sensitive" in the API will not
 13831  // be included in the string output. The member name will be present, but the
 13832  // value will be replaced with "sensitive".
 13833  func (s UpdateServiceOutput) String() string {
 13834  	return awsutil.Prettify(s)
 13835  }
 13836  
 13837  // GoString returns the string representation.
 13838  //
 13839  // API parameter values that are decorated as "sensitive" in the API will not
 13840  // be included in the string output. The member name will be present, but the
 13841  // value will be replaced with "sensitive".
 13842  func (s UpdateServiceOutput) GoString() string {
 13843  	return s.String()
 13844  }
 13845  
 13846  // SetService sets the Service field's value.
 13847  func (s *UpdateServiceOutput) SetService(v *Service) *UpdateServiceOutput {
 13848  	s.Service = v
 13849  	return s
 13850  }
 13851  
 13852  type UpdateServicePipelineInput struct {
 13853  	_ struct{} `type:"structure"`
 13854  
 13855  	// The deployment type.
 13856  	//
 13857  	// There are four modes for updating a service pipeline as described in the
 13858  	// following. The deploymentType field defines the mode.
 13859  	//
 13860  	// NONE
 13861  	//
 13862  	// In this mode, a deployment doesn't occur. Only the requested metadata parameters
 13863  	// are updated.
 13864  	//
 13865  	// CURRENT_VERSION
 13866  	//
 13867  	// In this mode, the service pipeline is deployed and updated with the new spec
 13868  	// that you provide. Only requested parameters are updated. Don’t include
 13869  	// minor or major version parameters when you use this deployment-type.
 13870  	//
 13871  	// MINOR_VERSION
 13872  	//
 13873  	// In this mode, the service pipeline is deployed and updated with the published,
 13874  	// recommended (latest) minor version of the current major version in use, by
 13875  	// default. You can also specify a different minor version of the current major
 13876  	// version in use.
 13877  	//
 13878  	// MAJOR_VERSION
 13879  	//
 13880  	// In this mode, the service pipeline is deployed and updated with the published,
 13881  	// recommended (latest) major and minor version of the current template, by
 13882  	// default. You can also specify a different major version that is higher than
 13883  	// the major version in use and a minor version (optional).
 13884  	//
 13885  	// DeploymentType is a required field
 13886  	DeploymentType *string `locationName:"deploymentType" type:"string" required:"true" enum:"DeploymentUpdateType"`
 13887  
 13888  	// The name of the service to that the pipeline is associated with.
 13889  	//
 13890  	// ServiceName is a required field
 13891  	ServiceName *string `locationName:"serviceName" min:"1" type:"string" required:"true"`
 13892  
 13893  	// The spec for the service pipeline to update.
 13894  	//
 13895  	// Spec is a sensitive parameter and its value will be
 13896  	// replaced with "sensitive" in string returned by UpdateServicePipelineInput's
 13897  	// String and GoString methods.
 13898  	//
 13899  	// Spec is a required field
 13900  	Spec *string `locationName:"spec" min:"1" type:"string" required:"true" sensitive:"true"`
 13901  
 13902  	// The major version of the service template that was used to create the service
 13903  	// that the pipeline is associated with.
 13904  	TemplateMajorVersion *string `locationName:"templateMajorVersion" min:"1" type:"string"`
 13905  
 13906  	// The minor version of the service template that was used to create the service
 13907  	// that the pipeline is associated with.
 13908  	TemplateMinorVersion *string `locationName:"templateMinorVersion" min:"1" type:"string"`
 13909  }
 13910  
 13911  // String returns the string representation.
 13912  //
 13913  // API parameter values that are decorated as "sensitive" in the API will not
 13914  // be included in the string output. The member name will be present, but the
 13915  // value will be replaced with "sensitive".
 13916  func (s UpdateServicePipelineInput) String() string {
 13917  	return awsutil.Prettify(s)
 13918  }
 13919  
 13920  // GoString returns the string representation.
 13921  //
 13922  // API parameter values that are decorated as "sensitive" in the API will not
 13923  // be included in the string output. The member name will be present, but the
 13924  // value will be replaced with "sensitive".
 13925  func (s UpdateServicePipelineInput) GoString() string {
 13926  	return s.String()
 13927  }
 13928  
 13929  // Validate inspects the fields of the type to determine if they are valid.
 13930  func (s *UpdateServicePipelineInput) Validate() error {
 13931  	invalidParams := request.ErrInvalidParams{Context: "UpdateServicePipelineInput"}
 13932  	if s.DeploymentType == nil {
 13933  		invalidParams.Add(request.NewErrParamRequired("DeploymentType"))
 13934  	}
 13935  	if s.ServiceName == nil {
 13936  		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
 13937  	}
 13938  	if s.ServiceName != nil && len(*s.ServiceName) < 1 {
 13939  		invalidParams.Add(request.NewErrParamMinLen("ServiceName", 1))
 13940  	}
 13941  	if s.Spec == nil {
 13942  		invalidParams.Add(request.NewErrParamRequired("Spec"))
 13943  	}
 13944  	if s.Spec != nil && len(*s.Spec) < 1 {
 13945  		invalidParams.Add(request.NewErrParamMinLen("Spec", 1))
 13946  	}
 13947  	if s.TemplateMajorVersion != nil && len(*s.TemplateMajorVersion) < 1 {
 13948  		invalidParams.Add(request.NewErrParamMinLen("TemplateMajorVersion", 1))
 13949  	}
 13950  	if s.TemplateMinorVersion != nil && len(*s.TemplateMinorVersion) < 1 {
 13951  		invalidParams.Add(request.NewErrParamMinLen("TemplateMinorVersion", 1))
 13952  	}
 13953  
 13954  	if invalidParams.Len() > 0 {
 13955  		return invalidParams
 13956  	}
 13957  	return nil
 13958  }
 13959  
 13960  // SetDeploymentType sets the DeploymentType field's value.
 13961  func (s *UpdateServicePipelineInput) SetDeploymentType(v string) *UpdateServicePipelineInput {
 13962  	s.DeploymentType = &v
 13963  	return s
 13964  }
 13965  
 13966  // SetServiceName sets the ServiceName field's value.
 13967  func (s *UpdateServicePipelineInput) SetServiceName(v string) *UpdateServicePipelineInput {
 13968  	s.ServiceName = &v
 13969  	return s
 13970  }
 13971  
 13972  // SetSpec sets the Spec field's value.
 13973  func (s *UpdateServicePipelineInput) SetSpec(v string) *UpdateServicePipelineInput {
 13974  	s.Spec = &v
 13975  	return s
 13976  }
 13977  
 13978  // SetTemplateMajorVersion sets the TemplateMajorVersion field's value.
 13979  func (s *UpdateServicePipelineInput) SetTemplateMajorVersion(v string) *UpdateServicePipelineInput {
 13980  	s.TemplateMajorVersion = &v
 13981  	return s
 13982  }
 13983  
 13984  // SetTemplateMinorVersion sets the TemplateMinorVersion field's value.
 13985  func (s *UpdateServicePipelineInput) SetTemplateMinorVersion(v string) *UpdateServicePipelineInput {
 13986  	s.TemplateMinorVersion = &v
 13987  	return s
 13988  }
 13989  
 13990  type UpdateServicePipelineOutput struct {
 13991  	_ struct{} `type:"structure"`
 13992  
 13993  	// The pipeline details returned by AWS Proton.
 13994  	//
 13995  	// Pipeline is a required field
 13996  	Pipeline *ServicePipeline `locationName:"pipeline" type:"structure" required:"true"`
 13997  }
 13998  
 13999  // String returns the string representation.
 14000  //
 14001  // API parameter values that are decorated as "sensitive" in the API will not
 14002  // be included in the string output. The member name will be present, but the
 14003  // value will be replaced with "sensitive".
 14004  func (s UpdateServicePipelineOutput) String() string {
 14005  	return awsutil.Prettify(s)
 14006  }
 14007  
 14008  // GoString returns the string representation.
 14009  //
 14010  // API parameter values that are decorated as "sensitive" in the API will not
 14011  // be included in the string output. The member name will be present, but the
 14012  // value will be replaced with "sensitive".
 14013  func (s UpdateServicePipelineOutput) GoString() string {
 14014  	return s.String()
 14015  }
 14016  
 14017  // SetPipeline sets the Pipeline field's value.
 14018  func (s *UpdateServicePipelineOutput) SetPipeline(v *ServicePipeline) *UpdateServicePipelineOutput {
 14019  	s.Pipeline = v
 14020  	return s
 14021  }
 14022  
 14023  type UpdateServiceTemplateInput struct {
 14024  	_ struct{} `type:"structure"`
 14025  
 14026  	// A description of the service template update.
 14027  	//
 14028  	// Description is a sensitive parameter and its value will be
 14029  	// replaced with "sensitive" in string returned by UpdateServiceTemplateInput's
 14030  	// String and GoString methods.
 14031  	Description *string `locationName:"description" type:"string" sensitive:"true"`
 14032  
 14033  	// The name of the service template to update as displayed in the developer
 14034  	// interface.
 14035  	//
 14036  	// DisplayName is a sensitive parameter and its value will be
 14037  	// replaced with "sensitive" in string returned by UpdateServiceTemplateInput's
 14038  	// String and GoString methods.
 14039  	DisplayName *string `locationName:"displayName" min:"1" type:"string" sensitive:"true"`
 14040  
 14041  	// The name of the service template to update.
 14042  	//
 14043  	// Name is a required field
 14044  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 14045  }
 14046  
 14047  // String returns the string representation.
 14048  //
 14049  // API parameter values that are decorated as "sensitive" in the API will not
 14050  // be included in the string output. The member name will be present, but the
 14051  // value will be replaced with "sensitive".
 14052  func (s UpdateServiceTemplateInput) String() string {
 14053  	return awsutil.Prettify(s)
 14054  }
 14055  
 14056  // GoString returns the string representation.
 14057  //
 14058  // API parameter values that are decorated as "sensitive" in the API will not
 14059  // be included in the string output. The member name will be present, but the
 14060  // value will be replaced with "sensitive".
 14061  func (s UpdateServiceTemplateInput) GoString() string {
 14062  	return s.String()
 14063  }
 14064  
 14065  // Validate inspects the fields of the type to determine if they are valid.
 14066  func (s *UpdateServiceTemplateInput) Validate() error {
 14067  	invalidParams := request.ErrInvalidParams{Context: "UpdateServiceTemplateInput"}
 14068  	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
 14069  		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
 14070  	}
 14071  	if s.Name == nil {
 14072  		invalidParams.Add(request.NewErrParamRequired("Name"))
 14073  	}
 14074  	if s.Name != nil && len(*s.Name) < 1 {
 14075  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 14076  	}
 14077  
 14078  	if invalidParams.Len() > 0 {
 14079  		return invalidParams
 14080  	}
 14081  	return nil
 14082  }
 14083  
 14084  // SetDescription sets the Description field's value.
 14085  func (s *UpdateServiceTemplateInput) SetDescription(v string) *UpdateServiceTemplateInput {
 14086  	s.Description = &v
 14087  	return s
 14088  }
 14089  
 14090  // SetDisplayName sets the DisplayName field's value.
 14091  func (s *UpdateServiceTemplateInput) SetDisplayName(v string) *UpdateServiceTemplateInput {
 14092  	s.DisplayName = &v
 14093  	return s
 14094  }
 14095  
 14096  // SetName sets the Name field's value.
 14097  func (s *UpdateServiceTemplateInput) SetName(v string) *UpdateServiceTemplateInput {
 14098  	s.Name = &v
 14099  	return s
 14100  }
 14101  
 14102  type UpdateServiceTemplateOutput struct {
 14103  	_ struct{} `type:"structure"`
 14104  
 14105  	// The service template detail data that's returned by AWS Proton.
 14106  	//
 14107  	// ServiceTemplate is a required field
 14108  	ServiceTemplate *ServiceTemplate `locationName:"serviceTemplate" type:"structure" required:"true"`
 14109  }
 14110  
 14111  // String returns the string representation.
 14112  //
 14113  // API parameter values that are decorated as "sensitive" in the API will not
 14114  // be included in the string output. The member name will be present, but the
 14115  // value will be replaced with "sensitive".
 14116  func (s UpdateServiceTemplateOutput) String() string {
 14117  	return awsutil.Prettify(s)
 14118  }
 14119  
 14120  // GoString returns the string representation.
 14121  //
 14122  // API parameter values that are decorated as "sensitive" in the API will not
 14123  // be included in the string output. The member name will be present, but the
 14124  // value will be replaced with "sensitive".
 14125  func (s UpdateServiceTemplateOutput) GoString() string {
 14126  	return s.String()
 14127  }
 14128  
 14129  // SetServiceTemplate sets the ServiceTemplate field's value.
 14130  func (s *UpdateServiceTemplateOutput) SetServiceTemplate(v *ServiceTemplate) *UpdateServiceTemplateOutput {
 14131  	s.ServiceTemplate = v
 14132  	return s
 14133  }
 14134  
 14135  type UpdateServiceTemplateVersionInput struct {
 14136  	_ struct{} `type:"structure"`
 14137  
 14138  	// An array of compatible environment names for a service template major or
 14139  	// minor version to update.
 14140  	CompatibleEnvironmentTemplates []*CompatibleEnvironmentTemplateInput `locationName:"compatibleEnvironmentTemplates" min:"1" type:"list"`
 14141  
 14142  	// A description of a service template version to update.
 14143  	//
 14144  	// Description is a sensitive parameter and its value will be
 14145  	// replaced with "sensitive" in string returned by UpdateServiceTemplateVersionInput's
 14146  	// String and GoString methods.
 14147  	Description *string `locationName:"description" type:"string" sensitive:"true"`
 14148  
 14149  	// To update a major version of a service template, include majorVersion.
 14150  	//
 14151  	// MajorVersion is a required field
 14152  	MajorVersion *string `locationName:"majorVersion" min:"1" type:"string" required:"true"`
 14153  
 14154  	// To update a minor version of a service template, include minorVersion.
 14155  	//
 14156  	// MinorVersion is a required field
 14157  	MinorVersion *string `locationName:"minorVersion" min:"1" type:"string" required:"true"`
 14158  
 14159  	// The status of the service template minor version to update.
 14160  	Status *string `locationName:"status" type:"string" enum:"TemplateVersionStatus"`
 14161  
 14162  	// The name of the service template.
 14163  	//
 14164  	// TemplateName is a required field
 14165  	TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"`
 14166  }
 14167  
 14168  // String returns the string representation.
 14169  //
 14170  // API parameter values that are decorated as "sensitive" in the API will not
 14171  // be included in the string output. The member name will be present, but the
 14172  // value will be replaced with "sensitive".
 14173  func (s UpdateServiceTemplateVersionInput) String() string {
 14174  	return awsutil.Prettify(s)
 14175  }
 14176  
 14177  // GoString returns the string representation.
 14178  //
 14179  // API parameter values that are decorated as "sensitive" in the API will not
 14180  // be included in the string output. The member name will be present, but the
 14181  // value will be replaced with "sensitive".
 14182  func (s UpdateServiceTemplateVersionInput) GoString() string {
 14183  	return s.String()
 14184  }
 14185  
 14186  // Validate inspects the fields of the type to determine if they are valid.
 14187  func (s *UpdateServiceTemplateVersionInput) Validate() error {
 14188  	invalidParams := request.ErrInvalidParams{Context: "UpdateServiceTemplateVersionInput"}
 14189  	if s.CompatibleEnvironmentTemplates != nil && len(s.CompatibleEnvironmentTemplates) < 1 {
 14190  		invalidParams.Add(request.NewErrParamMinLen("CompatibleEnvironmentTemplates", 1))
 14191  	}
 14192  	if s.MajorVersion == nil {
 14193  		invalidParams.Add(request.NewErrParamRequired("MajorVersion"))
 14194  	}
 14195  	if s.MajorVersion != nil && len(*s.MajorVersion) < 1 {
 14196  		invalidParams.Add(request.NewErrParamMinLen("MajorVersion", 1))
 14197  	}
 14198  	if s.MinorVersion == nil {
 14199  		invalidParams.Add(request.NewErrParamRequired("MinorVersion"))
 14200  	}
 14201  	if s.MinorVersion != nil && len(*s.MinorVersion) < 1 {
 14202  		invalidParams.Add(request.NewErrParamMinLen("MinorVersion", 1))
 14203  	}
 14204  	if s.TemplateName == nil {
 14205  		invalidParams.Add(request.NewErrParamRequired("TemplateName"))
 14206  	}
 14207  	if s.TemplateName != nil && len(*s.TemplateName) < 1 {
 14208  		invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1))
 14209  	}
 14210  	if s.CompatibleEnvironmentTemplates != nil {
 14211  		for i, v := range s.CompatibleEnvironmentTemplates {
 14212  			if v == nil {
 14213  				continue
 14214  			}
 14215  			if err := v.Validate(); err != nil {
 14216  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CompatibleEnvironmentTemplates", i), err.(request.ErrInvalidParams))
 14217  			}
 14218  		}
 14219  	}
 14220  
 14221  	if invalidParams.Len() > 0 {
 14222  		return invalidParams
 14223  	}
 14224  	return nil
 14225  }
 14226  
 14227  // SetCompatibleEnvironmentTemplates sets the CompatibleEnvironmentTemplates field's value.
 14228  func (s *UpdateServiceTemplateVersionInput) SetCompatibleEnvironmentTemplates(v []*CompatibleEnvironmentTemplateInput) *UpdateServiceTemplateVersionInput {
 14229  	s.CompatibleEnvironmentTemplates = v
 14230  	return s
 14231  }
 14232  
 14233  // SetDescription sets the Description field's value.
 14234  func (s *UpdateServiceTemplateVersionInput) SetDescription(v string) *UpdateServiceTemplateVersionInput {
 14235  	s.Description = &v
 14236  	return s
 14237  }
 14238  
 14239  // SetMajorVersion sets the MajorVersion field's value.
 14240  func (s *UpdateServiceTemplateVersionInput) SetMajorVersion(v string) *UpdateServiceTemplateVersionInput {
 14241  	s.MajorVersion = &v
 14242  	return s
 14243  }
 14244  
 14245  // SetMinorVersion sets the MinorVersion field's value.
 14246  func (s *UpdateServiceTemplateVersionInput) SetMinorVersion(v string) *UpdateServiceTemplateVersionInput {
 14247  	s.MinorVersion = &v
 14248  	return s
 14249  }
 14250  
 14251  // SetStatus sets the Status field's value.
 14252  func (s *UpdateServiceTemplateVersionInput) SetStatus(v string) *UpdateServiceTemplateVersionInput {
 14253  	s.Status = &v
 14254  	return s
 14255  }
 14256  
 14257  // SetTemplateName sets the TemplateName field's value.
 14258  func (s *UpdateServiceTemplateVersionInput) SetTemplateName(v string) *UpdateServiceTemplateVersionInput {
 14259  	s.TemplateName = &v
 14260  	return s
 14261  }
 14262  
 14263  type UpdateServiceTemplateVersionOutput struct {
 14264  	_ struct{} `type:"structure"`
 14265  
 14266  	// The service template version detail data that's returned by AWS Proton.
 14267  	//
 14268  	// ServiceTemplateVersion is a required field
 14269  	ServiceTemplateVersion *ServiceTemplateVersion `locationName:"serviceTemplateVersion" type:"structure" required:"true"`
 14270  }
 14271  
 14272  // String returns the string representation.
 14273  //
 14274  // API parameter values that are decorated as "sensitive" in the API will not
 14275  // be included in the string output. The member name will be present, but the
 14276  // value will be replaced with "sensitive".
 14277  func (s UpdateServiceTemplateVersionOutput) String() string {
 14278  	return awsutil.Prettify(s)
 14279  }
 14280  
 14281  // GoString returns the string representation.
 14282  //
 14283  // API parameter values that are decorated as "sensitive" in the API will not
 14284  // be included in the string output. The member name will be present, but the
 14285  // value will be replaced with "sensitive".
 14286  func (s UpdateServiceTemplateVersionOutput) GoString() string {
 14287  	return s.String()
 14288  }
 14289  
 14290  // SetServiceTemplateVersion sets the ServiceTemplateVersion field's value.
 14291  func (s *UpdateServiceTemplateVersionOutput) SetServiceTemplateVersion(v *ServiceTemplateVersion) *UpdateServiceTemplateVersionOutput {
 14292  	s.ServiceTemplateVersion = v
 14293  	return s
 14294  }
 14295  
 14296  // The input is invalid or an out-of-range value was supplied for the input
 14297  // parameter.
 14298  type ValidationException struct {
 14299  	_            struct{}                  `type:"structure"`
 14300  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 14301  
 14302  	// Message_ is a sensitive parameter and its value will be
 14303  	// replaced with "sensitive" in string returned by ValidationException's
 14304  	// String and GoString methods.
 14305  	Message_ *string `locationName:"message" type:"string" sensitive:"true"`
 14306  }
 14307  
 14308  // String returns the string representation.
 14309  //
 14310  // API parameter values that are decorated as "sensitive" in the API will not
 14311  // be included in the string output. The member name will be present, but the
 14312  // value will be replaced with "sensitive".
 14313  func (s ValidationException) String() string {
 14314  	return awsutil.Prettify(s)
 14315  }
 14316  
 14317  // GoString returns the string representation.
 14318  //
 14319  // API parameter values that are decorated as "sensitive" in the API will not
 14320  // be included in the string output. The member name will be present, but the
 14321  // value will be replaced with "sensitive".
 14322  func (s ValidationException) GoString() string {
 14323  	return s.String()
 14324  }
 14325  
 14326  func newErrorValidationException(v protocol.ResponseMetadata) error {
 14327  	return &ValidationException{
 14328  		RespMetadata: v,
 14329  	}
 14330  }
 14331  
 14332  // Code returns the exception type name.
 14333  func (s *ValidationException) Code() string {
 14334  	return "ValidationException"
 14335  }
 14336  
 14337  // Message returns the exception's message.
 14338  func (s *ValidationException) Message() string {
 14339  	if s.Message_ != nil {
 14340  		return *s.Message_
 14341  	}
 14342  	return ""
 14343  }
 14344  
 14345  // OrigErr always returns nil, satisfies awserr.Error interface.
 14346  func (s *ValidationException) OrigErr() error {
 14347  	return nil
 14348  }
 14349  
 14350  func (s *ValidationException) Error() string {
 14351  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 14352  }
 14353  
 14354  // Status code returns the HTTP status code for the request's response error.
 14355  func (s *ValidationException) StatusCode() int {
 14356  	return s.RespMetadata.StatusCode
 14357  }
 14358  
 14359  // RequestID returns the service's response RequestID for request.
 14360  func (s *ValidationException) RequestID() string {
 14361  	return s.RespMetadata.RequestID
 14362  }
 14363  
 14364  const (
 14365  	// DeploymentStatusInProgress is a DeploymentStatus enum value
 14366  	DeploymentStatusInProgress = "IN_PROGRESS"
 14367  
 14368  	// DeploymentStatusFailed is a DeploymentStatus enum value
 14369  	DeploymentStatusFailed = "FAILED"
 14370  
 14371  	// DeploymentStatusSucceeded is a DeploymentStatus enum value
 14372  	DeploymentStatusSucceeded = "SUCCEEDED"
 14373  
 14374  	// DeploymentStatusDeleteInProgress is a DeploymentStatus enum value
 14375  	DeploymentStatusDeleteInProgress = "DELETE_IN_PROGRESS"
 14376  
 14377  	// DeploymentStatusDeleteFailed is a DeploymentStatus enum value
 14378  	DeploymentStatusDeleteFailed = "DELETE_FAILED"
 14379  
 14380  	// DeploymentStatusDeleteComplete is a DeploymentStatus enum value
 14381  	DeploymentStatusDeleteComplete = "DELETE_COMPLETE"
 14382  
 14383  	// DeploymentStatusCancelling is a DeploymentStatus enum value
 14384  	DeploymentStatusCancelling = "CANCELLING"
 14385  
 14386  	// DeploymentStatusCancelled is a DeploymentStatus enum value
 14387  	DeploymentStatusCancelled = "CANCELLED"
 14388  )
 14389  
 14390  // DeploymentStatus_Values returns all elements of the DeploymentStatus enum
 14391  func DeploymentStatus_Values() []string {
 14392  	return []string{
 14393  		DeploymentStatusInProgress,
 14394  		DeploymentStatusFailed,
 14395  		DeploymentStatusSucceeded,
 14396  		DeploymentStatusDeleteInProgress,
 14397  		DeploymentStatusDeleteFailed,
 14398  		DeploymentStatusDeleteComplete,
 14399  		DeploymentStatusCancelling,
 14400  		DeploymentStatusCancelled,
 14401  	}
 14402  }
 14403  
 14404  const (
 14405  	// DeploymentUpdateTypeNone is a DeploymentUpdateType enum value
 14406  	DeploymentUpdateTypeNone = "NONE"
 14407  
 14408  	// DeploymentUpdateTypeCurrentVersion is a DeploymentUpdateType enum value
 14409  	DeploymentUpdateTypeCurrentVersion = "CURRENT_VERSION"
 14410  
 14411  	// DeploymentUpdateTypeMinorVersion is a DeploymentUpdateType enum value
 14412  	DeploymentUpdateTypeMinorVersion = "MINOR_VERSION"
 14413  
 14414  	// DeploymentUpdateTypeMajorVersion is a DeploymentUpdateType enum value
 14415  	DeploymentUpdateTypeMajorVersion = "MAJOR_VERSION"
 14416  )
 14417  
 14418  // DeploymentUpdateType_Values returns all elements of the DeploymentUpdateType enum
 14419  func DeploymentUpdateType_Values() []string {
 14420  	return []string{
 14421  		DeploymentUpdateTypeNone,
 14422  		DeploymentUpdateTypeCurrentVersion,
 14423  		DeploymentUpdateTypeMinorVersion,
 14424  		DeploymentUpdateTypeMajorVersion,
 14425  	}
 14426  }
 14427  
 14428  const (
 14429  	// EnvironmentAccountConnectionRequesterAccountTypeManagementAccount is a EnvironmentAccountConnectionRequesterAccountType enum value
 14430  	EnvironmentAccountConnectionRequesterAccountTypeManagementAccount = "MANAGEMENT_ACCOUNT"
 14431  
 14432  	// EnvironmentAccountConnectionRequesterAccountTypeEnvironmentAccount is a EnvironmentAccountConnectionRequesterAccountType enum value
 14433  	EnvironmentAccountConnectionRequesterAccountTypeEnvironmentAccount = "ENVIRONMENT_ACCOUNT"
 14434  )
 14435  
 14436  // EnvironmentAccountConnectionRequesterAccountType_Values returns all elements of the EnvironmentAccountConnectionRequesterAccountType enum
 14437  func EnvironmentAccountConnectionRequesterAccountType_Values() []string {
 14438  	return []string{
 14439  		EnvironmentAccountConnectionRequesterAccountTypeManagementAccount,
 14440  		EnvironmentAccountConnectionRequesterAccountTypeEnvironmentAccount,
 14441  	}
 14442  }
 14443  
 14444  const (
 14445  	// EnvironmentAccountConnectionStatusPending is a EnvironmentAccountConnectionStatus enum value
 14446  	EnvironmentAccountConnectionStatusPending = "PENDING"
 14447  
 14448  	// EnvironmentAccountConnectionStatusConnected is a EnvironmentAccountConnectionStatus enum value
 14449  	EnvironmentAccountConnectionStatusConnected = "CONNECTED"
 14450  
 14451  	// EnvironmentAccountConnectionStatusRejected is a EnvironmentAccountConnectionStatus enum value
 14452  	EnvironmentAccountConnectionStatusRejected = "REJECTED"
 14453  )
 14454  
 14455  // EnvironmentAccountConnectionStatus_Values returns all elements of the EnvironmentAccountConnectionStatus enum
 14456  func EnvironmentAccountConnectionStatus_Values() []string {
 14457  	return []string{
 14458  		EnvironmentAccountConnectionStatusPending,
 14459  		EnvironmentAccountConnectionStatusConnected,
 14460  		EnvironmentAccountConnectionStatusRejected,
 14461  	}
 14462  }
 14463  
 14464  const (
 14465  	// ProvisioningCustomerManaged is a Provisioning enum value
 14466  	ProvisioningCustomerManaged = "CUSTOMER_MANAGED"
 14467  )
 14468  
 14469  // Provisioning_Values returns all elements of the Provisioning enum
 14470  func Provisioning_Values() []string {
 14471  	return []string{
 14472  		ProvisioningCustomerManaged,
 14473  	}
 14474  }
 14475  
 14476  const (
 14477  	// ServiceStatusCreateInProgress is a ServiceStatus enum value
 14478  	ServiceStatusCreateInProgress = "CREATE_IN_PROGRESS"
 14479  
 14480  	// ServiceStatusCreateFailedCleanupInProgress is a ServiceStatus enum value
 14481  	ServiceStatusCreateFailedCleanupInProgress = "CREATE_FAILED_CLEANUP_IN_PROGRESS"
 14482  
 14483  	// ServiceStatusCreateFailedCleanupComplete is a ServiceStatus enum value
 14484  	ServiceStatusCreateFailedCleanupComplete = "CREATE_FAILED_CLEANUP_COMPLETE"
 14485  
 14486  	// ServiceStatusCreateFailedCleanupFailed is a ServiceStatus enum value
 14487  	ServiceStatusCreateFailedCleanupFailed = "CREATE_FAILED_CLEANUP_FAILED"
 14488  
 14489  	// ServiceStatusCreateFailed is a ServiceStatus enum value
 14490  	ServiceStatusCreateFailed = "CREATE_FAILED"
 14491  
 14492  	// ServiceStatusActive is a ServiceStatus enum value
 14493  	ServiceStatusActive = "ACTIVE"
 14494  
 14495  	// ServiceStatusDeleteInProgress is a ServiceStatus enum value
 14496  	ServiceStatusDeleteInProgress = "DELETE_IN_PROGRESS"
 14497  
 14498  	// ServiceStatusDeleteFailed is a ServiceStatus enum value
 14499  	ServiceStatusDeleteFailed = "DELETE_FAILED"
 14500  
 14501  	// ServiceStatusUpdateInProgress is a ServiceStatus enum value
 14502  	ServiceStatusUpdateInProgress = "UPDATE_IN_PROGRESS"
 14503  
 14504  	// ServiceStatusUpdateFailedCleanupInProgress is a ServiceStatus enum value
 14505  	ServiceStatusUpdateFailedCleanupInProgress = "UPDATE_FAILED_CLEANUP_IN_PROGRESS"
 14506  
 14507  	// ServiceStatusUpdateFailedCleanupComplete is a ServiceStatus enum value
 14508  	ServiceStatusUpdateFailedCleanupComplete = "UPDATE_FAILED_CLEANUP_COMPLETE"
 14509  
 14510  	// ServiceStatusUpdateFailedCleanupFailed is a ServiceStatus enum value
 14511  	ServiceStatusUpdateFailedCleanupFailed = "UPDATE_FAILED_CLEANUP_FAILED"
 14512  
 14513  	// ServiceStatusUpdateFailed is a ServiceStatus enum value
 14514  	ServiceStatusUpdateFailed = "UPDATE_FAILED"
 14515  
 14516  	// ServiceStatusUpdateCompleteCleanupFailed is a ServiceStatus enum value
 14517  	ServiceStatusUpdateCompleteCleanupFailed = "UPDATE_COMPLETE_CLEANUP_FAILED"
 14518  )
 14519  
 14520  // ServiceStatus_Values returns all elements of the ServiceStatus enum
 14521  func ServiceStatus_Values() []string {
 14522  	return []string{
 14523  		ServiceStatusCreateInProgress,
 14524  		ServiceStatusCreateFailedCleanupInProgress,
 14525  		ServiceStatusCreateFailedCleanupComplete,
 14526  		ServiceStatusCreateFailedCleanupFailed,
 14527  		ServiceStatusCreateFailed,
 14528  		ServiceStatusActive,
 14529  		ServiceStatusDeleteInProgress,
 14530  		ServiceStatusDeleteFailed,
 14531  		ServiceStatusUpdateInProgress,
 14532  		ServiceStatusUpdateFailedCleanupInProgress,
 14533  		ServiceStatusUpdateFailedCleanupComplete,
 14534  		ServiceStatusUpdateFailedCleanupFailed,
 14535  		ServiceStatusUpdateFailed,
 14536  		ServiceStatusUpdateCompleteCleanupFailed,
 14537  	}
 14538  }
 14539  
 14540  const (
 14541  	// TemplateVersionStatusRegistrationInProgress is a TemplateVersionStatus enum value
 14542  	TemplateVersionStatusRegistrationInProgress = "REGISTRATION_IN_PROGRESS"
 14543  
 14544  	// TemplateVersionStatusRegistrationFailed is a TemplateVersionStatus enum value
 14545  	TemplateVersionStatusRegistrationFailed = "REGISTRATION_FAILED"
 14546  
 14547  	// TemplateVersionStatusDraft is a TemplateVersionStatus enum value
 14548  	TemplateVersionStatusDraft = "DRAFT"
 14549  
 14550  	// TemplateVersionStatusPublished is a TemplateVersionStatus enum value
 14551  	TemplateVersionStatusPublished = "PUBLISHED"
 14552  )
 14553  
 14554  // TemplateVersionStatus_Values returns all elements of the TemplateVersionStatus enum
 14555  func TemplateVersionStatus_Values() []string {
 14556  	return []string{
 14557  		TemplateVersionStatusRegistrationInProgress,
 14558  		TemplateVersionStatusRegistrationFailed,
 14559  		TemplateVersionStatusDraft,
 14560  		TemplateVersionStatusPublished,
 14561  	}
 14562  }