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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package serverlessapplicationrepository
     4  
     5  import (
     6  	"fmt"
     7  
     8  	"github.com/aavshr/aws-sdk-go/aws"
     9  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    10  	"github.com/aavshr/aws-sdk-go/aws/request"
    11  	"github.com/aavshr/aws-sdk-go/private/protocol"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    13  )
    14  
    15  const opCreateApplication = "CreateApplication"
    16  
    17  // CreateApplicationRequest generates a "aws/request.Request" representing the
    18  // client's request for the CreateApplication operation. The "output" return
    19  // value will be populated with the request's response once the request completes
    20  // successfully.
    21  //
    22  // Use "Send" method on the returned Request to send the API call to the service.
    23  // the "output" return value is not valid until after Send returns without error.
    24  //
    25  // See CreateApplication for more information on using the CreateApplication
    26  // API call, and error handling.
    27  //
    28  // This method is useful when you want to inject custom logic or configuration
    29  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    30  //
    31  //
    32  //    // Example sending a request using the CreateApplicationRequest method.
    33  //    req, resp := client.CreateApplicationRequest(params)
    34  //
    35  //    err := req.Send()
    36  //    if err == nil { // resp is now filled
    37  //        fmt.Println(resp)
    38  //    }
    39  //
    40  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/CreateApplication
    41  func (c *ServerlessApplicationRepository) CreateApplicationRequest(input *CreateApplicationRequest) (req *request.Request, output *CreateApplicationOutput) {
    42  	op := &request.Operation{
    43  		Name:       opCreateApplication,
    44  		HTTPMethod: "POST",
    45  		HTTPPath:   "/applications",
    46  	}
    47  
    48  	if input == nil {
    49  		input = &CreateApplicationRequest{}
    50  	}
    51  
    52  	output = &CreateApplicationOutput{}
    53  	req = c.newRequest(op, input, output)
    54  	return
    55  }
    56  
    57  // CreateApplication API operation for AWSServerlessApplicationRepository.
    58  //
    59  // Creates an application, optionally including an AWS SAM file to create the
    60  // first application version in the same call.
    61  //
    62  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    63  // with awserr.Error's Code and Message methods to get detailed information about
    64  // the error.
    65  //
    66  // See the AWS API reference guide for AWSServerlessApplicationRepository's
    67  // API operation CreateApplication for usage and error information.
    68  //
    69  // Returned Error Types:
    70  //   * TooManyRequestsException
    71  //   The client is sending more than the allowed number of requests per unit of
    72  //   time.
    73  //
    74  //   * BadRequestException
    75  //   One of the parameters in the request is invalid.
    76  //
    77  //   * InternalServerErrorException
    78  //   The AWS Serverless Application Repository service encountered an internal
    79  //   error.
    80  //
    81  //   * ConflictException
    82  //   The resource already exists.
    83  //
    84  //   * ForbiddenException
    85  //   The client is not authenticated.
    86  //
    87  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/CreateApplication
    88  func (c *ServerlessApplicationRepository) CreateApplication(input *CreateApplicationRequest) (*CreateApplicationOutput, error) {
    89  	req, out := c.CreateApplicationRequest(input)
    90  	return out, req.Send()
    91  }
    92  
    93  // CreateApplicationWithContext is the same as CreateApplication with the addition of
    94  // the ability to pass a context and additional request options.
    95  //
    96  // See CreateApplication for details on how to use this API operation.
    97  //
    98  // The context must be non-nil and will be used for request cancellation. If
    99  // the context is nil a panic will occur. In the future the SDK may create
   100  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   101  // for more information on using Contexts.
   102  func (c *ServerlessApplicationRepository) CreateApplicationWithContext(ctx aws.Context, input *CreateApplicationRequest, opts ...request.Option) (*CreateApplicationOutput, error) {
   103  	req, out := c.CreateApplicationRequest(input)
   104  	req.SetContext(ctx)
   105  	req.ApplyOptions(opts...)
   106  	return out, req.Send()
   107  }
   108  
   109  const opCreateApplicationVersion = "CreateApplicationVersion"
   110  
   111  // CreateApplicationVersionRequest generates a "aws/request.Request" representing the
   112  // client's request for the CreateApplicationVersion operation. The "output" return
   113  // value will be populated with the request's response once the request completes
   114  // successfully.
   115  //
   116  // Use "Send" method on the returned Request to send the API call to the service.
   117  // the "output" return value is not valid until after Send returns without error.
   118  //
   119  // See CreateApplicationVersion for more information on using the CreateApplicationVersion
   120  // API call, and error handling.
   121  //
   122  // This method is useful when you want to inject custom logic or configuration
   123  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   124  //
   125  //
   126  //    // Example sending a request using the CreateApplicationVersionRequest method.
   127  //    req, resp := client.CreateApplicationVersionRequest(params)
   128  //
   129  //    err := req.Send()
   130  //    if err == nil { // resp is now filled
   131  //        fmt.Println(resp)
   132  //    }
   133  //
   134  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/CreateApplicationVersion
   135  func (c *ServerlessApplicationRepository) CreateApplicationVersionRequest(input *CreateApplicationVersionRequest) (req *request.Request, output *CreateApplicationVersionOutput) {
   136  	op := &request.Operation{
   137  		Name:       opCreateApplicationVersion,
   138  		HTTPMethod: "PUT",
   139  		HTTPPath:   "/applications/{applicationId}/versions/{semanticVersion}",
   140  	}
   141  
   142  	if input == nil {
   143  		input = &CreateApplicationVersionRequest{}
   144  	}
   145  
   146  	output = &CreateApplicationVersionOutput{}
   147  	req = c.newRequest(op, input, output)
   148  	return
   149  }
   150  
   151  // CreateApplicationVersion API operation for AWSServerlessApplicationRepository.
   152  //
   153  // Creates an application version.
   154  //
   155  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   156  // with awserr.Error's Code and Message methods to get detailed information about
   157  // the error.
   158  //
   159  // See the AWS API reference guide for AWSServerlessApplicationRepository's
   160  // API operation CreateApplicationVersion for usage and error information.
   161  //
   162  // Returned Error Types:
   163  //   * TooManyRequestsException
   164  //   The client is sending more than the allowed number of requests per unit of
   165  //   time.
   166  //
   167  //   * BadRequestException
   168  //   One of the parameters in the request is invalid.
   169  //
   170  //   * InternalServerErrorException
   171  //   The AWS Serverless Application Repository service encountered an internal
   172  //   error.
   173  //
   174  //   * ConflictException
   175  //   The resource already exists.
   176  //
   177  //   * ForbiddenException
   178  //   The client is not authenticated.
   179  //
   180  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/CreateApplicationVersion
   181  func (c *ServerlessApplicationRepository) CreateApplicationVersion(input *CreateApplicationVersionRequest) (*CreateApplicationVersionOutput, error) {
   182  	req, out := c.CreateApplicationVersionRequest(input)
   183  	return out, req.Send()
   184  }
   185  
   186  // CreateApplicationVersionWithContext is the same as CreateApplicationVersion with the addition of
   187  // the ability to pass a context and additional request options.
   188  //
   189  // See CreateApplicationVersion for details on how to use this API operation.
   190  //
   191  // The context must be non-nil and will be used for request cancellation. If
   192  // the context is nil a panic will occur. In the future the SDK may create
   193  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   194  // for more information on using Contexts.
   195  func (c *ServerlessApplicationRepository) CreateApplicationVersionWithContext(ctx aws.Context, input *CreateApplicationVersionRequest, opts ...request.Option) (*CreateApplicationVersionOutput, error) {
   196  	req, out := c.CreateApplicationVersionRequest(input)
   197  	req.SetContext(ctx)
   198  	req.ApplyOptions(opts...)
   199  	return out, req.Send()
   200  }
   201  
   202  const opCreateCloudFormationChangeSet = "CreateCloudFormationChangeSet"
   203  
   204  // CreateCloudFormationChangeSetRequest generates a "aws/request.Request" representing the
   205  // client's request for the CreateCloudFormationChangeSet operation. The "output" return
   206  // value will be populated with the request's response once the request completes
   207  // successfully.
   208  //
   209  // Use "Send" method on the returned Request to send the API call to the service.
   210  // the "output" return value is not valid until after Send returns without error.
   211  //
   212  // See CreateCloudFormationChangeSet for more information on using the CreateCloudFormationChangeSet
   213  // API call, and error handling.
   214  //
   215  // This method is useful when you want to inject custom logic or configuration
   216  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   217  //
   218  //
   219  //    // Example sending a request using the CreateCloudFormationChangeSetRequest method.
   220  //    req, resp := client.CreateCloudFormationChangeSetRequest(params)
   221  //
   222  //    err := req.Send()
   223  //    if err == nil { // resp is now filled
   224  //        fmt.Println(resp)
   225  //    }
   226  //
   227  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/CreateCloudFormationChangeSet
   228  func (c *ServerlessApplicationRepository) CreateCloudFormationChangeSetRequest(input *CreateCloudFormationChangeSetRequest) (req *request.Request, output *CreateCloudFormationChangeSetOutput) {
   229  	op := &request.Operation{
   230  		Name:       opCreateCloudFormationChangeSet,
   231  		HTTPMethod: "POST",
   232  		HTTPPath:   "/applications/{applicationId}/changesets",
   233  	}
   234  
   235  	if input == nil {
   236  		input = &CreateCloudFormationChangeSetRequest{}
   237  	}
   238  
   239  	output = &CreateCloudFormationChangeSetOutput{}
   240  	req = c.newRequest(op, input, output)
   241  	return
   242  }
   243  
   244  // CreateCloudFormationChangeSet API operation for AWSServerlessApplicationRepository.
   245  //
   246  // Creates an AWS CloudFormation change set for the given application.
   247  //
   248  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   249  // with awserr.Error's Code and Message methods to get detailed information about
   250  // the error.
   251  //
   252  // See the AWS API reference guide for AWSServerlessApplicationRepository's
   253  // API operation CreateCloudFormationChangeSet for usage and error information.
   254  //
   255  // Returned Error Types:
   256  //   * TooManyRequestsException
   257  //   The client is sending more than the allowed number of requests per unit of
   258  //   time.
   259  //
   260  //   * BadRequestException
   261  //   One of the parameters in the request is invalid.
   262  //
   263  //   * InternalServerErrorException
   264  //   The AWS Serverless Application Repository service encountered an internal
   265  //   error.
   266  //
   267  //   * ForbiddenException
   268  //   The client is not authenticated.
   269  //
   270  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/CreateCloudFormationChangeSet
   271  func (c *ServerlessApplicationRepository) CreateCloudFormationChangeSet(input *CreateCloudFormationChangeSetRequest) (*CreateCloudFormationChangeSetOutput, error) {
   272  	req, out := c.CreateCloudFormationChangeSetRequest(input)
   273  	return out, req.Send()
   274  }
   275  
   276  // CreateCloudFormationChangeSetWithContext is the same as CreateCloudFormationChangeSet with the addition of
   277  // the ability to pass a context and additional request options.
   278  //
   279  // See CreateCloudFormationChangeSet for details on how to use this API operation.
   280  //
   281  // The context must be non-nil and will be used for request cancellation. If
   282  // the context is nil a panic will occur. In the future the SDK may create
   283  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   284  // for more information on using Contexts.
   285  func (c *ServerlessApplicationRepository) CreateCloudFormationChangeSetWithContext(ctx aws.Context, input *CreateCloudFormationChangeSetRequest, opts ...request.Option) (*CreateCloudFormationChangeSetOutput, error) {
   286  	req, out := c.CreateCloudFormationChangeSetRequest(input)
   287  	req.SetContext(ctx)
   288  	req.ApplyOptions(opts...)
   289  	return out, req.Send()
   290  }
   291  
   292  const opCreateCloudFormationTemplate = "CreateCloudFormationTemplate"
   293  
   294  // CreateCloudFormationTemplateRequest generates a "aws/request.Request" representing the
   295  // client's request for the CreateCloudFormationTemplate operation. The "output" return
   296  // value will be populated with the request's response once the request completes
   297  // successfully.
   298  //
   299  // Use "Send" method on the returned Request to send the API call to the service.
   300  // the "output" return value is not valid until after Send returns without error.
   301  //
   302  // See CreateCloudFormationTemplate for more information on using the CreateCloudFormationTemplate
   303  // API call, and error handling.
   304  //
   305  // This method is useful when you want to inject custom logic or configuration
   306  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   307  //
   308  //
   309  //    // Example sending a request using the CreateCloudFormationTemplateRequest method.
   310  //    req, resp := client.CreateCloudFormationTemplateRequest(params)
   311  //
   312  //    err := req.Send()
   313  //    if err == nil { // resp is now filled
   314  //        fmt.Println(resp)
   315  //    }
   316  //
   317  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/CreateCloudFormationTemplate
   318  func (c *ServerlessApplicationRepository) CreateCloudFormationTemplateRequest(input *CreateCloudFormationTemplateInput) (req *request.Request, output *CreateCloudFormationTemplateOutput) {
   319  	op := &request.Operation{
   320  		Name:       opCreateCloudFormationTemplate,
   321  		HTTPMethod: "POST",
   322  		HTTPPath:   "/applications/{applicationId}/templates",
   323  	}
   324  
   325  	if input == nil {
   326  		input = &CreateCloudFormationTemplateInput{}
   327  	}
   328  
   329  	output = &CreateCloudFormationTemplateOutput{}
   330  	req = c.newRequest(op, input, output)
   331  	return
   332  }
   333  
   334  // CreateCloudFormationTemplate API operation for AWSServerlessApplicationRepository.
   335  //
   336  // Creates an AWS CloudFormation template.
   337  //
   338  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   339  // with awserr.Error's Code and Message methods to get detailed information about
   340  // the error.
   341  //
   342  // See the AWS API reference guide for AWSServerlessApplicationRepository's
   343  // API operation CreateCloudFormationTemplate for usage and error information.
   344  //
   345  // Returned Error Types:
   346  //   * NotFoundException
   347  //   The resource (for example, an access policy statement) specified in the request
   348  //   doesn't exist.
   349  //
   350  //   * TooManyRequestsException
   351  //   The client is sending more than the allowed number of requests per unit of
   352  //   time.
   353  //
   354  //   * BadRequestException
   355  //   One of the parameters in the request is invalid.
   356  //
   357  //   * InternalServerErrorException
   358  //   The AWS Serverless Application Repository service encountered an internal
   359  //   error.
   360  //
   361  //   * ForbiddenException
   362  //   The client is not authenticated.
   363  //
   364  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/CreateCloudFormationTemplate
   365  func (c *ServerlessApplicationRepository) CreateCloudFormationTemplate(input *CreateCloudFormationTemplateInput) (*CreateCloudFormationTemplateOutput, error) {
   366  	req, out := c.CreateCloudFormationTemplateRequest(input)
   367  	return out, req.Send()
   368  }
   369  
   370  // CreateCloudFormationTemplateWithContext is the same as CreateCloudFormationTemplate with the addition of
   371  // the ability to pass a context and additional request options.
   372  //
   373  // See CreateCloudFormationTemplate for details on how to use this API operation.
   374  //
   375  // The context must be non-nil and will be used for request cancellation. If
   376  // the context is nil a panic will occur. In the future the SDK may create
   377  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   378  // for more information on using Contexts.
   379  func (c *ServerlessApplicationRepository) CreateCloudFormationTemplateWithContext(ctx aws.Context, input *CreateCloudFormationTemplateInput, opts ...request.Option) (*CreateCloudFormationTemplateOutput, error) {
   380  	req, out := c.CreateCloudFormationTemplateRequest(input)
   381  	req.SetContext(ctx)
   382  	req.ApplyOptions(opts...)
   383  	return out, req.Send()
   384  }
   385  
   386  const opDeleteApplication = "DeleteApplication"
   387  
   388  // DeleteApplicationRequest generates a "aws/request.Request" representing the
   389  // client's request for the DeleteApplication operation. The "output" return
   390  // value will be populated with the request's response once the request completes
   391  // successfully.
   392  //
   393  // Use "Send" method on the returned Request to send the API call to the service.
   394  // the "output" return value is not valid until after Send returns without error.
   395  //
   396  // See DeleteApplication for more information on using the DeleteApplication
   397  // API call, and error handling.
   398  //
   399  // This method is useful when you want to inject custom logic or configuration
   400  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   401  //
   402  //
   403  //    // Example sending a request using the DeleteApplicationRequest method.
   404  //    req, resp := client.DeleteApplicationRequest(params)
   405  //
   406  //    err := req.Send()
   407  //    if err == nil { // resp is now filled
   408  //        fmt.Println(resp)
   409  //    }
   410  //
   411  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/DeleteApplication
   412  func (c *ServerlessApplicationRepository) DeleteApplicationRequest(input *DeleteApplicationInput) (req *request.Request, output *DeleteApplicationOutput) {
   413  	op := &request.Operation{
   414  		Name:       opDeleteApplication,
   415  		HTTPMethod: "DELETE",
   416  		HTTPPath:   "/applications/{applicationId}",
   417  	}
   418  
   419  	if input == nil {
   420  		input = &DeleteApplicationInput{}
   421  	}
   422  
   423  	output = &DeleteApplicationOutput{}
   424  	req = c.newRequest(op, input, output)
   425  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   426  	return
   427  }
   428  
   429  // DeleteApplication API operation for AWSServerlessApplicationRepository.
   430  //
   431  // Deletes the specified application.
   432  //
   433  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   434  // with awserr.Error's Code and Message methods to get detailed information about
   435  // the error.
   436  //
   437  // See the AWS API reference guide for AWSServerlessApplicationRepository's
   438  // API operation DeleteApplication for usage and error information.
   439  //
   440  // Returned Error Types:
   441  //   * BadRequestException
   442  //   One of the parameters in the request is invalid.
   443  //
   444  //   * InternalServerErrorException
   445  //   The AWS Serverless Application Repository service encountered an internal
   446  //   error.
   447  //
   448  //   * ForbiddenException
   449  //   The client is not authenticated.
   450  //
   451  //   * NotFoundException
   452  //   The resource (for example, an access policy statement) specified in the request
   453  //   doesn't exist.
   454  //
   455  //   * TooManyRequestsException
   456  //   The client is sending more than the allowed number of requests per unit of
   457  //   time.
   458  //
   459  //   * ConflictException
   460  //   The resource already exists.
   461  //
   462  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/DeleteApplication
   463  func (c *ServerlessApplicationRepository) DeleteApplication(input *DeleteApplicationInput) (*DeleteApplicationOutput, error) {
   464  	req, out := c.DeleteApplicationRequest(input)
   465  	return out, req.Send()
   466  }
   467  
   468  // DeleteApplicationWithContext is the same as DeleteApplication with the addition of
   469  // the ability to pass a context and additional request options.
   470  //
   471  // See DeleteApplication for details on how to use this API operation.
   472  //
   473  // The context must be non-nil and will be used for request cancellation. If
   474  // the context is nil a panic will occur. In the future the SDK may create
   475  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   476  // for more information on using Contexts.
   477  func (c *ServerlessApplicationRepository) DeleteApplicationWithContext(ctx aws.Context, input *DeleteApplicationInput, opts ...request.Option) (*DeleteApplicationOutput, error) {
   478  	req, out := c.DeleteApplicationRequest(input)
   479  	req.SetContext(ctx)
   480  	req.ApplyOptions(opts...)
   481  	return out, req.Send()
   482  }
   483  
   484  const opGetApplication = "GetApplication"
   485  
   486  // GetApplicationRequest generates a "aws/request.Request" representing the
   487  // client's request for the GetApplication operation. The "output" return
   488  // value will be populated with the request's response once the request completes
   489  // successfully.
   490  //
   491  // Use "Send" method on the returned Request to send the API call to the service.
   492  // the "output" return value is not valid until after Send returns without error.
   493  //
   494  // See GetApplication for more information on using the GetApplication
   495  // API call, and error handling.
   496  //
   497  // This method is useful when you want to inject custom logic or configuration
   498  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   499  //
   500  //
   501  //    // Example sending a request using the GetApplicationRequest method.
   502  //    req, resp := client.GetApplicationRequest(params)
   503  //
   504  //    err := req.Send()
   505  //    if err == nil { // resp is now filled
   506  //        fmt.Println(resp)
   507  //    }
   508  //
   509  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/GetApplication
   510  func (c *ServerlessApplicationRepository) GetApplicationRequest(input *GetApplicationInput) (req *request.Request, output *GetApplicationOutput) {
   511  	op := &request.Operation{
   512  		Name:       opGetApplication,
   513  		HTTPMethod: "GET",
   514  		HTTPPath:   "/applications/{applicationId}",
   515  	}
   516  
   517  	if input == nil {
   518  		input = &GetApplicationInput{}
   519  	}
   520  
   521  	output = &GetApplicationOutput{}
   522  	req = c.newRequest(op, input, output)
   523  	return
   524  }
   525  
   526  // GetApplication API operation for AWSServerlessApplicationRepository.
   527  //
   528  // Gets the specified application.
   529  //
   530  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   531  // with awserr.Error's Code and Message methods to get detailed information about
   532  // the error.
   533  //
   534  // See the AWS API reference guide for AWSServerlessApplicationRepository's
   535  // API operation GetApplication for usage and error information.
   536  //
   537  // Returned Error Types:
   538  //   * NotFoundException
   539  //   The resource (for example, an access policy statement) specified in the request
   540  //   doesn't exist.
   541  //
   542  //   * TooManyRequestsException
   543  //   The client is sending more than the allowed number of requests per unit of
   544  //   time.
   545  //
   546  //   * BadRequestException
   547  //   One of the parameters in the request is invalid.
   548  //
   549  //   * InternalServerErrorException
   550  //   The AWS Serverless Application Repository service encountered an internal
   551  //   error.
   552  //
   553  //   * ForbiddenException
   554  //   The client is not authenticated.
   555  //
   556  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/GetApplication
   557  func (c *ServerlessApplicationRepository) GetApplication(input *GetApplicationInput) (*GetApplicationOutput, error) {
   558  	req, out := c.GetApplicationRequest(input)
   559  	return out, req.Send()
   560  }
   561  
   562  // GetApplicationWithContext is the same as GetApplication with the addition of
   563  // the ability to pass a context and additional request options.
   564  //
   565  // See GetApplication for details on how to use this API operation.
   566  //
   567  // The context must be non-nil and will be used for request cancellation. If
   568  // the context is nil a panic will occur. In the future the SDK may create
   569  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   570  // for more information on using Contexts.
   571  func (c *ServerlessApplicationRepository) GetApplicationWithContext(ctx aws.Context, input *GetApplicationInput, opts ...request.Option) (*GetApplicationOutput, error) {
   572  	req, out := c.GetApplicationRequest(input)
   573  	req.SetContext(ctx)
   574  	req.ApplyOptions(opts...)
   575  	return out, req.Send()
   576  }
   577  
   578  const opGetApplicationPolicy = "GetApplicationPolicy"
   579  
   580  // GetApplicationPolicyRequest generates a "aws/request.Request" representing the
   581  // client's request for the GetApplicationPolicy operation. The "output" return
   582  // value will be populated with the request's response once the request completes
   583  // successfully.
   584  //
   585  // Use "Send" method on the returned Request to send the API call to the service.
   586  // the "output" return value is not valid until after Send returns without error.
   587  //
   588  // See GetApplicationPolicy for more information on using the GetApplicationPolicy
   589  // API call, and error handling.
   590  //
   591  // This method is useful when you want to inject custom logic or configuration
   592  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   593  //
   594  //
   595  //    // Example sending a request using the GetApplicationPolicyRequest method.
   596  //    req, resp := client.GetApplicationPolicyRequest(params)
   597  //
   598  //    err := req.Send()
   599  //    if err == nil { // resp is now filled
   600  //        fmt.Println(resp)
   601  //    }
   602  //
   603  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/GetApplicationPolicy
   604  func (c *ServerlessApplicationRepository) GetApplicationPolicyRequest(input *GetApplicationPolicyInput) (req *request.Request, output *GetApplicationPolicyOutput) {
   605  	op := &request.Operation{
   606  		Name:       opGetApplicationPolicy,
   607  		HTTPMethod: "GET",
   608  		HTTPPath:   "/applications/{applicationId}/policy",
   609  	}
   610  
   611  	if input == nil {
   612  		input = &GetApplicationPolicyInput{}
   613  	}
   614  
   615  	output = &GetApplicationPolicyOutput{}
   616  	req = c.newRequest(op, input, output)
   617  	return
   618  }
   619  
   620  // GetApplicationPolicy API operation for AWSServerlessApplicationRepository.
   621  //
   622  // Retrieves the policy for the application.
   623  //
   624  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   625  // with awserr.Error's Code and Message methods to get detailed information about
   626  // the error.
   627  //
   628  // See the AWS API reference guide for AWSServerlessApplicationRepository's
   629  // API operation GetApplicationPolicy for usage and error information.
   630  //
   631  // Returned Error Types:
   632  //   * NotFoundException
   633  //   The resource (for example, an access policy statement) specified in the request
   634  //   doesn't exist.
   635  //
   636  //   * TooManyRequestsException
   637  //   The client is sending more than the allowed number of requests per unit of
   638  //   time.
   639  //
   640  //   * BadRequestException
   641  //   One of the parameters in the request is invalid.
   642  //
   643  //   * InternalServerErrorException
   644  //   The AWS Serverless Application Repository service encountered an internal
   645  //   error.
   646  //
   647  //   * ForbiddenException
   648  //   The client is not authenticated.
   649  //
   650  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/GetApplicationPolicy
   651  func (c *ServerlessApplicationRepository) GetApplicationPolicy(input *GetApplicationPolicyInput) (*GetApplicationPolicyOutput, error) {
   652  	req, out := c.GetApplicationPolicyRequest(input)
   653  	return out, req.Send()
   654  }
   655  
   656  // GetApplicationPolicyWithContext is the same as GetApplicationPolicy with the addition of
   657  // the ability to pass a context and additional request options.
   658  //
   659  // See GetApplicationPolicy for details on how to use this API operation.
   660  //
   661  // The context must be non-nil and will be used for request cancellation. If
   662  // the context is nil a panic will occur. In the future the SDK may create
   663  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   664  // for more information on using Contexts.
   665  func (c *ServerlessApplicationRepository) GetApplicationPolicyWithContext(ctx aws.Context, input *GetApplicationPolicyInput, opts ...request.Option) (*GetApplicationPolicyOutput, error) {
   666  	req, out := c.GetApplicationPolicyRequest(input)
   667  	req.SetContext(ctx)
   668  	req.ApplyOptions(opts...)
   669  	return out, req.Send()
   670  }
   671  
   672  const opGetCloudFormationTemplate = "GetCloudFormationTemplate"
   673  
   674  // GetCloudFormationTemplateRequest generates a "aws/request.Request" representing the
   675  // client's request for the GetCloudFormationTemplate operation. The "output" return
   676  // value will be populated with the request's response once the request completes
   677  // successfully.
   678  //
   679  // Use "Send" method on the returned Request to send the API call to the service.
   680  // the "output" return value is not valid until after Send returns without error.
   681  //
   682  // See GetCloudFormationTemplate for more information on using the GetCloudFormationTemplate
   683  // API call, and error handling.
   684  //
   685  // This method is useful when you want to inject custom logic or configuration
   686  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   687  //
   688  //
   689  //    // Example sending a request using the GetCloudFormationTemplateRequest method.
   690  //    req, resp := client.GetCloudFormationTemplateRequest(params)
   691  //
   692  //    err := req.Send()
   693  //    if err == nil { // resp is now filled
   694  //        fmt.Println(resp)
   695  //    }
   696  //
   697  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/GetCloudFormationTemplate
   698  func (c *ServerlessApplicationRepository) GetCloudFormationTemplateRequest(input *GetCloudFormationTemplateInput) (req *request.Request, output *GetCloudFormationTemplateOutput) {
   699  	op := &request.Operation{
   700  		Name:       opGetCloudFormationTemplate,
   701  		HTTPMethod: "GET",
   702  		HTTPPath:   "/applications/{applicationId}/templates/{templateId}",
   703  	}
   704  
   705  	if input == nil {
   706  		input = &GetCloudFormationTemplateInput{}
   707  	}
   708  
   709  	output = &GetCloudFormationTemplateOutput{}
   710  	req = c.newRequest(op, input, output)
   711  	return
   712  }
   713  
   714  // GetCloudFormationTemplate API operation for AWSServerlessApplicationRepository.
   715  //
   716  // Gets the specified AWS CloudFormation template.
   717  //
   718  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   719  // with awserr.Error's Code and Message methods to get detailed information about
   720  // the error.
   721  //
   722  // See the AWS API reference guide for AWSServerlessApplicationRepository's
   723  // API operation GetCloudFormationTemplate for usage and error information.
   724  //
   725  // Returned Error Types:
   726  //   * NotFoundException
   727  //   The resource (for example, an access policy statement) specified in the request
   728  //   doesn't exist.
   729  //
   730  //   * TooManyRequestsException
   731  //   The client is sending more than the allowed number of requests per unit of
   732  //   time.
   733  //
   734  //   * BadRequestException
   735  //   One of the parameters in the request is invalid.
   736  //
   737  //   * InternalServerErrorException
   738  //   The AWS Serverless Application Repository service encountered an internal
   739  //   error.
   740  //
   741  //   * ForbiddenException
   742  //   The client is not authenticated.
   743  //
   744  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/GetCloudFormationTemplate
   745  func (c *ServerlessApplicationRepository) GetCloudFormationTemplate(input *GetCloudFormationTemplateInput) (*GetCloudFormationTemplateOutput, error) {
   746  	req, out := c.GetCloudFormationTemplateRequest(input)
   747  	return out, req.Send()
   748  }
   749  
   750  // GetCloudFormationTemplateWithContext is the same as GetCloudFormationTemplate with the addition of
   751  // the ability to pass a context and additional request options.
   752  //
   753  // See GetCloudFormationTemplate for details on how to use this API operation.
   754  //
   755  // The context must be non-nil and will be used for request cancellation. If
   756  // the context is nil a panic will occur. In the future the SDK may create
   757  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   758  // for more information on using Contexts.
   759  func (c *ServerlessApplicationRepository) GetCloudFormationTemplateWithContext(ctx aws.Context, input *GetCloudFormationTemplateInput, opts ...request.Option) (*GetCloudFormationTemplateOutput, error) {
   760  	req, out := c.GetCloudFormationTemplateRequest(input)
   761  	req.SetContext(ctx)
   762  	req.ApplyOptions(opts...)
   763  	return out, req.Send()
   764  }
   765  
   766  const opListApplicationDependencies = "ListApplicationDependencies"
   767  
   768  // ListApplicationDependenciesRequest generates a "aws/request.Request" representing the
   769  // client's request for the ListApplicationDependencies operation. The "output" return
   770  // value will be populated with the request's response once the request completes
   771  // successfully.
   772  //
   773  // Use "Send" method on the returned Request to send the API call to the service.
   774  // the "output" return value is not valid until after Send returns without error.
   775  //
   776  // See ListApplicationDependencies for more information on using the ListApplicationDependencies
   777  // API call, and error handling.
   778  //
   779  // This method is useful when you want to inject custom logic or configuration
   780  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   781  //
   782  //
   783  //    // Example sending a request using the ListApplicationDependenciesRequest method.
   784  //    req, resp := client.ListApplicationDependenciesRequest(params)
   785  //
   786  //    err := req.Send()
   787  //    if err == nil { // resp is now filled
   788  //        fmt.Println(resp)
   789  //    }
   790  //
   791  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/ListApplicationDependencies
   792  func (c *ServerlessApplicationRepository) ListApplicationDependenciesRequest(input *ListApplicationDependenciesInput) (req *request.Request, output *ListApplicationDependenciesOutput) {
   793  	op := &request.Operation{
   794  		Name:       opListApplicationDependencies,
   795  		HTTPMethod: "GET",
   796  		HTTPPath:   "/applications/{applicationId}/dependencies",
   797  		Paginator: &request.Paginator{
   798  			InputTokens:     []string{"NextToken"},
   799  			OutputTokens:    []string{"NextToken"},
   800  			LimitToken:      "MaxItems",
   801  			TruncationToken: "",
   802  		},
   803  	}
   804  
   805  	if input == nil {
   806  		input = &ListApplicationDependenciesInput{}
   807  	}
   808  
   809  	output = &ListApplicationDependenciesOutput{}
   810  	req = c.newRequest(op, input, output)
   811  	return
   812  }
   813  
   814  // ListApplicationDependencies API operation for AWSServerlessApplicationRepository.
   815  //
   816  // Retrieves the list of applications nested in the containing application.
   817  //
   818  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   819  // with awserr.Error's Code and Message methods to get detailed information about
   820  // the error.
   821  //
   822  // See the AWS API reference guide for AWSServerlessApplicationRepository's
   823  // API operation ListApplicationDependencies for usage and error information.
   824  //
   825  // Returned Error Types:
   826  //   * NotFoundException
   827  //   The resource (for example, an access policy statement) specified in the request
   828  //   doesn't exist.
   829  //
   830  //   * TooManyRequestsException
   831  //   The client is sending more than the allowed number of requests per unit of
   832  //   time.
   833  //
   834  //   * BadRequestException
   835  //   One of the parameters in the request is invalid.
   836  //
   837  //   * InternalServerErrorException
   838  //   The AWS Serverless Application Repository service encountered an internal
   839  //   error.
   840  //
   841  //   * ForbiddenException
   842  //   The client is not authenticated.
   843  //
   844  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/ListApplicationDependencies
   845  func (c *ServerlessApplicationRepository) ListApplicationDependencies(input *ListApplicationDependenciesInput) (*ListApplicationDependenciesOutput, error) {
   846  	req, out := c.ListApplicationDependenciesRequest(input)
   847  	return out, req.Send()
   848  }
   849  
   850  // ListApplicationDependenciesWithContext is the same as ListApplicationDependencies with the addition of
   851  // the ability to pass a context and additional request options.
   852  //
   853  // See ListApplicationDependencies for details on how to use this API operation.
   854  //
   855  // The context must be non-nil and will be used for request cancellation. If
   856  // the context is nil a panic will occur. In the future the SDK may create
   857  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   858  // for more information on using Contexts.
   859  func (c *ServerlessApplicationRepository) ListApplicationDependenciesWithContext(ctx aws.Context, input *ListApplicationDependenciesInput, opts ...request.Option) (*ListApplicationDependenciesOutput, error) {
   860  	req, out := c.ListApplicationDependenciesRequest(input)
   861  	req.SetContext(ctx)
   862  	req.ApplyOptions(opts...)
   863  	return out, req.Send()
   864  }
   865  
   866  // ListApplicationDependenciesPages iterates over the pages of a ListApplicationDependencies operation,
   867  // calling the "fn" function with the response data for each page. To stop
   868  // iterating, return false from the fn function.
   869  //
   870  // See ListApplicationDependencies method for more information on how to use this operation.
   871  //
   872  // Note: This operation can generate multiple requests to a service.
   873  //
   874  //    // Example iterating over at most 3 pages of a ListApplicationDependencies operation.
   875  //    pageNum := 0
   876  //    err := client.ListApplicationDependenciesPages(params,
   877  //        func(page *serverlessapplicationrepository.ListApplicationDependenciesOutput, lastPage bool) bool {
   878  //            pageNum++
   879  //            fmt.Println(page)
   880  //            return pageNum <= 3
   881  //        })
   882  //
   883  func (c *ServerlessApplicationRepository) ListApplicationDependenciesPages(input *ListApplicationDependenciesInput, fn func(*ListApplicationDependenciesOutput, bool) bool) error {
   884  	return c.ListApplicationDependenciesPagesWithContext(aws.BackgroundContext(), input, fn)
   885  }
   886  
   887  // ListApplicationDependenciesPagesWithContext same as ListApplicationDependenciesPages except
   888  // it takes a Context and allows setting request options on the pages.
   889  //
   890  // The context must be non-nil and will be used for request cancellation. If
   891  // the context is nil a panic will occur. In the future the SDK may create
   892  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   893  // for more information on using Contexts.
   894  func (c *ServerlessApplicationRepository) ListApplicationDependenciesPagesWithContext(ctx aws.Context, input *ListApplicationDependenciesInput, fn func(*ListApplicationDependenciesOutput, bool) bool, opts ...request.Option) error {
   895  	p := request.Pagination{
   896  		NewRequest: func() (*request.Request, error) {
   897  			var inCpy *ListApplicationDependenciesInput
   898  			if input != nil {
   899  				tmp := *input
   900  				inCpy = &tmp
   901  			}
   902  			req, _ := c.ListApplicationDependenciesRequest(inCpy)
   903  			req.SetContext(ctx)
   904  			req.ApplyOptions(opts...)
   905  			return req, nil
   906  		},
   907  	}
   908  
   909  	for p.Next() {
   910  		if !fn(p.Page().(*ListApplicationDependenciesOutput), !p.HasNextPage()) {
   911  			break
   912  		}
   913  	}
   914  
   915  	return p.Err()
   916  }
   917  
   918  const opListApplicationVersions = "ListApplicationVersions"
   919  
   920  // ListApplicationVersionsRequest generates a "aws/request.Request" representing the
   921  // client's request for the ListApplicationVersions operation. The "output" return
   922  // value will be populated with the request's response once the request completes
   923  // successfully.
   924  //
   925  // Use "Send" method on the returned Request to send the API call to the service.
   926  // the "output" return value is not valid until after Send returns without error.
   927  //
   928  // See ListApplicationVersions for more information on using the ListApplicationVersions
   929  // API call, and error handling.
   930  //
   931  // This method is useful when you want to inject custom logic or configuration
   932  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   933  //
   934  //
   935  //    // Example sending a request using the ListApplicationVersionsRequest method.
   936  //    req, resp := client.ListApplicationVersionsRequest(params)
   937  //
   938  //    err := req.Send()
   939  //    if err == nil { // resp is now filled
   940  //        fmt.Println(resp)
   941  //    }
   942  //
   943  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/ListApplicationVersions
   944  func (c *ServerlessApplicationRepository) ListApplicationVersionsRequest(input *ListApplicationVersionsInput) (req *request.Request, output *ListApplicationVersionsOutput) {
   945  	op := &request.Operation{
   946  		Name:       opListApplicationVersions,
   947  		HTTPMethod: "GET",
   948  		HTTPPath:   "/applications/{applicationId}/versions",
   949  		Paginator: &request.Paginator{
   950  			InputTokens:     []string{"NextToken"},
   951  			OutputTokens:    []string{"NextToken"},
   952  			LimitToken:      "MaxItems",
   953  			TruncationToken: "",
   954  		},
   955  	}
   956  
   957  	if input == nil {
   958  		input = &ListApplicationVersionsInput{}
   959  	}
   960  
   961  	output = &ListApplicationVersionsOutput{}
   962  	req = c.newRequest(op, input, output)
   963  	return
   964  }
   965  
   966  // ListApplicationVersions API operation for AWSServerlessApplicationRepository.
   967  //
   968  // Lists versions for the specified application.
   969  //
   970  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   971  // with awserr.Error's Code and Message methods to get detailed information about
   972  // the error.
   973  //
   974  // See the AWS API reference guide for AWSServerlessApplicationRepository's
   975  // API operation ListApplicationVersions for usage and error information.
   976  //
   977  // Returned Error Types:
   978  //   * NotFoundException
   979  //   The resource (for example, an access policy statement) specified in the request
   980  //   doesn't exist.
   981  //
   982  //   * TooManyRequestsException
   983  //   The client is sending more than the allowed number of requests per unit of
   984  //   time.
   985  //
   986  //   * BadRequestException
   987  //   One of the parameters in the request is invalid.
   988  //
   989  //   * InternalServerErrorException
   990  //   The AWS Serverless Application Repository service encountered an internal
   991  //   error.
   992  //
   993  //   * ForbiddenException
   994  //   The client is not authenticated.
   995  //
   996  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/ListApplicationVersions
   997  func (c *ServerlessApplicationRepository) ListApplicationVersions(input *ListApplicationVersionsInput) (*ListApplicationVersionsOutput, error) {
   998  	req, out := c.ListApplicationVersionsRequest(input)
   999  	return out, req.Send()
  1000  }
  1001  
  1002  // ListApplicationVersionsWithContext is the same as ListApplicationVersions with the addition of
  1003  // the ability to pass a context and additional request options.
  1004  //
  1005  // See ListApplicationVersions for details on how to use this API operation.
  1006  //
  1007  // The context must be non-nil and will be used for request cancellation. If
  1008  // the context is nil a panic will occur. In the future the SDK may create
  1009  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1010  // for more information on using Contexts.
  1011  func (c *ServerlessApplicationRepository) ListApplicationVersionsWithContext(ctx aws.Context, input *ListApplicationVersionsInput, opts ...request.Option) (*ListApplicationVersionsOutput, error) {
  1012  	req, out := c.ListApplicationVersionsRequest(input)
  1013  	req.SetContext(ctx)
  1014  	req.ApplyOptions(opts...)
  1015  	return out, req.Send()
  1016  }
  1017  
  1018  // ListApplicationVersionsPages iterates over the pages of a ListApplicationVersions operation,
  1019  // calling the "fn" function with the response data for each page. To stop
  1020  // iterating, return false from the fn function.
  1021  //
  1022  // See ListApplicationVersions method for more information on how to use this operation.
  1023  //
  1024  // Note: This operation can generate multiple requests to a service.
  1025  //
  1026  //    // Example iterating over at most 3 pages of a ListApplicationVersions operation.
  1027  //    pageNum := 0
  1028  //    err := client.ListApplicationVersionsPages(params,
  1029  //        func(page *serverlessapplicationrepository.ListApplicationVersionsOutput, lastPage bool) bool {
  1030  //            pageNum++
  1031  //            fmt.Println(page)
  1032  //            return pageNum <= 3
  1033  //        })
  1034  //
  1035  func (c *ServerlessApplicationRepository) ListApplicationVersionsPages(input *ListApplicationVersionsInput, fn func(*ListApplicationVersionsOutput, bool) bool) error {
  1036  	return c.ListApplicationVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
  1037  }
  1038  
  1039  // ListApplicationVersionsPagesWithContext same as ListApplicationVersionsPages except
  1040  // it takes a Context and allows setting request options on the pages.
  1041  //
  1042  // The context must be non-nil and will be used for request cancellation. If
  1043  // the context is nil a panic will occur. In the future the SDK may create
  1044  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1045  // for more information on using Contexts.
  1046  func (c *ServerlessApplicationRepository) ListApplicationVersionsPagesWithContext(ctx aws.Context, input *ListApplicationVersionsInput, fn func(*ListApplicationVersionsOutput, bool) bool, opts ...request.Option) error {
  1047  	p := request.Pagination{
  1048  		NewRequest: func() (*request.Request, error) {
  1049  			var inCpy *ListApplicationVersionsInput
  1050  			if input != nil {
  1051  				tmp := *input
  1052  				inCpy = &tmp
  1053  			}
  1054  			req, _ := c.ListApplicationVersionsRequest(inCpy)
  1055  			req.SetContext(ctx)
  1056  			req.ApplyOptions(opts...)
  1057  			return req, nil
  1058  		},
  1059  	}
  1060  
  1061  	for p.Next() {
  1062  		if !fn(p.Page().(*ListApplicationVersionsOutput), !p.HasNextPage()) {
  1063  			break
  1064  		}
  1065  	}
  1066  
  1067  	return p.Err()
  1068  }
  1069  
  1070  const opListApplications = "ListApplications"
  1071  
  1072  // ListApplicationsRequest generates a "aws/request.Request" representing the
  1073  // client's request for the ListApplications operation. The "output" return
  1074  // value will be populated with the request's response once the request completes
  1075  // successfully.
  1076  //
  1077  // Use "Send" method on the returned Request to send the API call to the service.
  1078  // the "output" return value is not valid until after Send returns without error.
  1079  //
  1080  // See ListApplications for more information on using the ListApplications
  1081  // API call, and error handling.
  1082  //
  1083  // This method is useful when you want to inject custom logic or configuration
  1084  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1085  //
  1086  //
  1087  //    // Example sending a request using the ListApplicationsRequest method.
  1088  //    req, resp := client.ListApplicationsRequest(params)
  1089  //
  1090  //    err := req.Send()
  1091  //    if err == nil { // resp is now filled
  1092  //        fmt.Println(resp)
  1093  //    }
  1094  //
  1095  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/ListApplications
  1096  func (c *ServerlessApplicationRepository) ListApplicationsRequest(input *ListApplicationsInput) (req *request.Request, output *ListApplicationsOutput) {
  1097  	op := &request.Operation{
  1098  		Name:       opListApplications,
  1099  		HTTPMethod: "GET",
  1100  		HTTPPath:   "/applications",
  1101  		Paginator: &request.Paginator{
  1102  			InputTokens:     []string{"NextToken"},
  1103  			OutputTokens:    []string{"NextToken"},
  1104  			LimitToken:      "MaxItems",
  1105  			TruncationToken: "",
  1106  		},
  1107  	}
  1108  
  1109  	if input == nil {
  1110  		input = &ListApplicationsInput{}
  1111  	}
  1112  
  1113  	output = &ListApplicationsOutput{}
  1114  	req = c.newRequest(op, input, output)
  1115  	return
  1116  }
  1117  
  1118  // ListApplications API operation for AWSServerlessApplicationRepository.
  1119  //
  1120  // Lists applications owned by the requester.
  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 AWSServerlessApplicationRepository's
  1127  // API operation ListApplications for usage and error information.
  1128  //
  1129  // Returned Error Types:
  1130  //   * NotFoundException
  1131  //   The resource (for example, an access policy statement) specified in the request
  1132  //   doesn't exist.
  1133  //
  1134  //   * BadRequestException
  1135  //   One of the parameters in the request is invalid.
  1136  //
  1137  //   * InternalServerErrorException
  1138  //   The AWS Serverless Application Repository service encountered an internal
  1139  //   error.
  1140  //
  1141  //   * ForbiddenException
  1142  //   The client is not authenticated.
  1143  //
  1144  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/ListApplications
  1145  func (c *ServerlessApplicationRepository) ListApplications(input *ListApplicationsInput) (*ListApplicationsOutput, error) {
  1146  	req, out := c.ListApplicationsRequest(input)
  1147  	return out, req.Send()
  1148  }
  1149  
  1150  // ListApplicationsWithContext is the same as ListApplications with the addition of
  1151  // the ability to pass a context and additional request options.
  1152  //
  1153  // See ListApplications for details on how to use this API operation.
  1154  //
  1155  // The context must be non-nil and will be used for request cancellation. If
  1156  // the context is nil a panic will occur. In the future the SDK may create
  1157  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1158  // for more information on using Contexts.
  1159  func (c *ServerlessApplicationRepository) ListApplicationsWithContext(ctx aws.Context, input *ListApplicationsInput, opts ...request.Option) (*ListApplicationsOutput, error) {
  1160  	req, out := c.ListApplicationsRequest(input)
  1161  	req.SetContext(ctx)
  1162  	req.ApplyOptions(opts...)
  1163  	return out, req.Send()
  1164  }
  1165  
  1166  // ListApplicationsPages iterates over the pages of a ListApplications operation,
  1167  // calling the "fn" function with the response data for each page. To stop
  1168  // iterating, return false from the fn function.
  1169  //
  1170  // See ListApplications method for more information on how to use this operation.
  1171  //
  1172  // Note: This operation can generate multiple requests to a service.
  1173  //
  1174  //    // Example iterating over at most 3 pages of a ListApplications operation.
  1175  //    pageNum := 0
  1176  //    err := client.ListApplicationsPages(params,
  1177  //        func(page *serverlessapplicationrepository.ListApplicationsOutput, lastPage bool) bool {
  1178  //            pageNum++
  1179  //            fmt.Println(page)
  1180  //            return pageNum <= 3
  1181  //        })
  1182  //
  1183  func (c *ServerlessApplicationRepository) ListApplicationsPages(input *ListApplicationsInput, fn func(*ListApplicationsOutput, bool) bool) error {
  1184  	return c.ListApplicationsPagesWithContext(aws.BackgroundContext(), input, fn)
  1185  }
  1186  
  1187  // ListApplicationsPagesWithContext same as ListApplicationsPages except
  1188  // it takes a Context and allows setting request options on the pages.
  1189  //
  1190  // The context must be non-nil and will be used for request cancellation. If
  1191  // the context is nil a panic will occur. In the future the SDK may create
  1192  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1193  // for more information on using Contexts.
  1194  func (c *ServerlessApplicationRepository) ListApplicationsPagesWithContext(ctx aws.Context, input *ListApplicationsInput, fn func(*ListApplicationsOutput, bool) bool, opts ...request.Option) error {
  1195  	p := request.Pagination{
  1196  		NewRequest: func() (*request.Request, error) {
  1197  			var inCpy *ListApplicationsInput
  1198  			if input != nil {
  1199  				tmp := *input
  1200  				inCpy = &tmp
  1201  			}
  1202  			req, _ := c.ListApplicationsRequest(inCpy)
  1203  			req.SetContext(ctx)
  1204  			req.ApplyOptions(opts...)
  1205  			return req, nil
  1206  		},
  1207  	}
  1208  
  1209  	for p.Next() {
  1210  		if !fn(p.Page().(*ListApplicationsOutput), !p.HasNextPage()) {
  1211  			break
  1212  		}
  1213  	}
  1214  
  1215  	return p.Err()
  1216  }
  1217  
  1218  const opPutApplicationPolicy = "PutApplicationPolicy"
  1219  
  1220  // PutApplicationPolicyRequest generates a "aws/request.Request" representing the
  1221  // client's request for the PutApplicationPolicy operation. The "output" return
  1222  // value will be populated with the request's response once the request completes
  1223  // successfully.
  1224  //
  1225  // Use "Send" method on the returned Request to send the API call to the service.
  1226  // the "output" return value is not valid until after Send returns without error.
  1227  //
  1228  // See PutApplicationPolicy for more information on using the PutApplicationPolicy
  1229  // API call, and error handling.
  1230  //
  1231  // This method is useful when you want to inject custom logic or configuration
  1232  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1233  //
  1234  //
  1235  //    // Example sending a request using the PutApplicationPolicyRequest method.
  1236  //    req, resp := client.PutApplicationPolicyRequest(params)
  1237  //
  1238  //    err := req.Send()
  1239  //    if err == nil { // resp is now filled
  1240  //        fmt.Println(resp)
  1241  //    }
  1242  //
  1243  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/PutApplicationPolicy
  1244  func (c *ServerlessApplicationRepository) PutApplicationPolicyRequest(input *PutApplicationPolicyInput) (req *request.Request, output *PutApplicationPolicyOutput) {
  1245  	op := &request.Operation{
  1246  		Name:       opPutApplicationPolicy,
  1247  		HTTPMethod: "PUT",
  1248  		HTTPPath:   "/applications/{applicationId}/policy",
  1249  	}
  1250  
  1251  	if input == nil {
  1252  		input = &PutApplicationPolicyInput{}
  1253  	}
  1254  
  1255  	output = &PutApplicationPolicyOutput{}
  1256  	req = c.newRequest(op, input, output)
  1257  	return
  1258  }
  1259  
  1260  // PutApplicationPolicy API operation for AWSServerlessApplicationRepository.
  1261  //
  1262  // Sets the permission policy for an application. For the list of actions supported
  1263  // for this operation, see Application Permissions (https://docs.aws.amazon.com/serverlessrepo/latest/devguide/access-control-resource-based.html#application-permissions) .
  1264  //
  1265  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1266  // with awserr.Error's Code and Message methods to get detailed information about
  1267  // the error.
  1268  //
  1269  // See the AWS API reference guide for AWSServerlessApplicationRepository's
  1270  // API operation PutApplicationPolicy for usage and error information.
  1271  //
  1272  // Returned Error Types:
  1273  //   * NotFoundException
  1274  //   The resource (for example, an access policy statement) specified in the request
  1275  //   doesn't exist.
  1276  //
  1277  //   * TooManyRequestsException
  1278  //   The client is sending more than the allowed number of requests per unit of
  1279  //   time.
  1280  //
  1281  //   * BadRequestException
  1282  //   One of the parameters in the request is invalid.
  1283  //
  1284  //   * InternalServerErrorException
  1285  //   The AWS Serverless Application Repository service encountered an internal
  1286  //   error.
  1287  //
  1288  //   * ForbiddenException
  1289  //   The client is not authenticated.
  1290  //
  1291  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/PutApplicationPolicy
  1292  func (c *ServerlessApplicationRepository) PutApplicationPolicy(input *PutApplicationPolicyInput) (*PutApplicationPolicyOutput, error) {
  1293  	req, out := c.PutApplicationPolicyRequest(input)
  1294  	return out, req.Send()
  1295  }
  1296  
  1297  // PutApplicationPolicyWithContext is the same as PutApplicationPolicy with the addition of
  1298  // the ability to pass a context and additional request options.
  1299  //
  1300  // See PutApplicationPolicy for details on how to use this API operation.
  1301  //
  1302  // The context must be non-nil and will be used for request cancellation. If
  1303  // the context is nil a panic will occur. In the future the SDK may create
  1304  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1305  // for more information on using Contexts.
  1306  func (c *ServerlessApplicationRepository) PutApplicationPolicyWithContext(ctx aws.Context, input *PutApplicationPolicyInput, opts ...request.Option) (*PutApplicationPolicyOutput, error) {
  1307  	req, out := c.PutApplicationPolicyRequest(input)
  1308  	req.SetContext(ctx)
  1309  	req.ApplyOptions(opts...)
  1310  	return out, req.Send()
  1311  }
  1312  
  1313  const opUnshareApplication = "UnshareApplication"
  1314  
  1315  // UnshareApplicationRequest generates a "aws/request.Request" representing the
  1316  // client's request for the UnshareApplication operation. The "output" return
  1317  // value will be populated with the request's response once the request completes
  1318  // successfully.
  1319  //
  1320  // Use "Send" method on the returned Request to send the API call to the service.
  1321  // the "output" return value is not valid until after Send returns without error.
  1322  //
  1323  // See UnshareApplication for more information on using the UnshareApplication
  1324  // API call, and error handling.
  1325  //
  1326  // This method is useful when you want to inject custom logic or configuration
  1327  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1328  //
  1329  //
  1330  //    // Example sending a request using the UnshareApplicationRequest method.
  1331  //    req, resp := client.UnshareApplicationRequest(params)
  1332  //
  1333  //    err := req.Send()
  1334  //    if err == nil { // resp is now filled
  1335  //        fmt.Println(resp)
  1336  //    }
  1337  //
  1338  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/UnshareApplication
  1339  func (c *ServerlessApplicationRepository) UnshareApplicationRequest(input *UnshareApplicationInput) (req *request.Request, output *UnshareApplicationOutput) {
  1340  	op := &request.Operation{
  1341  		Name:       opUnshareApplication,
  1342  		HTTPMethod: "POST",
  1343  		HTTPPath:   "/applications/{applicationId}/unshare",
  1344  	}
  1345  
  1346  	if input == nil {
  1347  		input = &UnshareApplicationInput{}
  1348  	}
  1349  
  1350  	output = &UnshareApplicationOutput{}
  1351  	req = c.newRequest(op, input, output)
  1352  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1353  	return
  1354  }
  1355  
  1356  // UnshareApplication API operation for AWSServerlessApplicationRepository.
  1357  //
  1358  // Unshares an application from an AWS Organization.
  1359  //
  1360  // This operation can be called only from the organization's master account.
  1361  //
  1362  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1363  // with awserr.Error's Code and Message methods to get detailed information about
  1364  // the error.
  1365  //
  1366  // See the AWS API reference guide for AWSServerlessApplicationRepository's
  1367  // API operation UnshareApplication for usage and error information.
  1368  //
  1369  // Returned Error Types:
  1370  //   * NotFoundException
  1371  //   The resource (for example, an access policy statement) specified in the request
  1372  //   doesn't exist.
  1373  //
  1374  //   * TooManyRequestsException
  1375  //   The client is sending more than the allowed number of requests per unit of
  1376  //   time.
  1377  //
  1378  //   * BadRequestException
  1379  //   One of the parameters in the request is invalid.
  1380  //
  1381  //   * InternalServerErrorException
  1382  //   The AWS Serverless Application Repository service encountered an internal
  1383  //   error.
  1384  //
  1385  //   * ForbiddenException
  1386  //   The client is not authenticated.
  1387  //
  1388  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/UnshareApplication
  1389  func (c *ServerlessApplicationRepository) UnshareApplication(input *UnshareApplicationInput) (*UnshareApplicationOutput, error) {
  1390  	req, out := c.UnshareApplicationRequest(input)
  1391  	return out, req.Send()
  1392  }
  1393  
  1394  // UnshareApplicationWithContext is the same as UnshareApplication with the addition of
  1395  // the ability to pass a context and additional request options.
  1396  //
  1397  // See UnshareApplication for details on how to use this API operation.
  1398  //
  1399  // The context must be non-nil and will be used for request cancellation. If
  1400  // the context is nil a panic will occur. In the future the SDK may create
  1401  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1402  // for more information on using Contexts.
  1403  func (c *ServerlessApplicationRepository) UnshareApplicationWithContext(ctx aws.Context, input *UnshareApplicationInput, opts ...request.Option) (*UnshareApplicationOutput, error) {
  1404  	req, out := c.UnshareApplicationRequest(input)
  1405  	req.SetContext(ctx)
  1406  	req.ApplyOptions(opts...)
  1407  	return out, req.Send()
  1408  }
  1409  
  1410  const opUpdateApplication = "UpdateApplication"
  1411  
  1412  // UpdateApplicationRequest generates a "aws/request.Request" representing the
  1413  // client's request for the UpdateApplication operation. The "output" return
  1414  // value will be populated with the request's response once the request completes
  1415  // successfully.
  1416  //
  1417  // Use "Send" method on the returned Request to send the API call to the service.
  1418  // the "output" return value is not valid until after Send returns without error.
  1419  //
  1420  // See UpdateApplication for more information on using the UpdateApplication
  1421  // API call, and error handling.
  1422  //
  1423  // This method is useful when you want to inject custom logic or configuration
  1424  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1425  //
  1426  //
  1427  //    // Example sending a request using the UpdateApplicationRequest method.
  1428  //    req, resp := client.UpdateApplicationRequest(params)
  1429  //
  1430  //    err := req.Send()
  1431  //    if err == nil { // resp is now filled
  1432  //        fmt.Println(resp)
  1433  //    }
  1434  //
  1435  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/UpdateApplication
  1436  func (c *ServerlessApplicationRepository) UpdateApplicationRequest(input *UpdateApplicationRequest) (req *request.Request, output *UpdateApplicationOutput) {
  1437  	op := &request.Operation{
  1438  		Name:       opUpdateApplication,
  1439  		HTTPMethod: "PATCH",
  1440  		HTTPPath:   "/applications/{applicationId}",
  1441  	}
  1442  
  1443  	if input == nil {
  1444  		input = &UpdateApplicationRequest{}
  1445  	}
  1446  
  1447  	output = &UpdateApplicationOutput{}
  1448  	req = c.newRequest(op, input, output)
  1449  	return
  1450  }
  1451  
  1452  // UpdateApplication API operation for AWSServerlessApplicationRepository.
  1453  //
  1454  // Updates the specified application.
  1455  //
  1456  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1457  // with awserr.Error's Code and Message methods to get detailed information about
  1458  // the error.
  1459  //
  1460  // See the AWS API reference guide for AWSServerlessApplicationRepository's
  1461  // API operation UpdateApplication for usage and error information.
  1462  //
  1463  // Returned Error Types:
  1464  //   * BadRequestException
  1465  //   One of the parameters in the request is invalid.
  1466  //
  1467  //   * InternalServerErrorException
  1468  //   The AWS Serverless Application Repository service encountered an internal
  1469  //   error.
  1470  //
  1471  //   * ForbiddenException
  1472  //   The client is not authenticated.
  1473  //
  1474  //   * NotFoundException
  1475  //   The resource (for example, an access policy statement) specified in the request
  1476  //   doesn't exist.
  1477  //
  1478  //   * TooManyRequestsException
  1479  //   The client is sending more than the allowed number of requests per unit of
  1480  //   time.
  1481  //
  1482  //   * ConflictException
  1483  //   The resource already exists.
  1484  //
  1485  // See also, https://docs.aws.amazon.com/goto/WebAPI/serverlessrepo-2017-09-08/UpdateApplication
  1486  func (c *ServerlessApplicationRepository) UpdateApplication(input *UpdateApplicationRequest) (*UpdateApplicationOutput, error) {
  1487  	req, out := c.UpdateApplicationRequest(input)
  1488  	return out, req.Send()
  1489  }
  1490  
  1491  // UpdateApplicationWithContext is the same as UpdateApplication with the addition of
  1492  // the ability to pass a context and additional request options.
  1493  //
  1494  // See UpdateApplication for details on how to use this API operation.
  1495  //
  1496  // The context must be non-nil and will be used for request cancellation. If
  1497  // the context is nil a panic will occur. In the future the SDK may create
  1498  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1499  // for more information on using Contexts.
  1500  func (c *ServerlessApplicationRepository) UpdateApplicationWithContext(ctx aws.Context, input *UpdateApplicationRequest, opts ...request.Option) (*UpdateApplicationOutput, error) {
  1501  	req, out := c.UpdateApplicationRequest(input)
  1502  	req.SetContext(ctx)
  1503  	req.ApplyOptions(opts...)
  1504  	return out, req.Send()
  1505  }
  1506  
  1507  // A nested application summary.
  1508  type ApplicationDependencySummary struct {
  1509  	_ struct{} `type:"structure"`
  1510  
  1511  	// The Amazon Resource Name (ARN) of the nested application.
  1512  	//
  1513  	// ApplicationId is a required field
  1514  	ApplicationId *string `locationName:"applicationId" type:"string" required:"true"`
  1515  
  1516  	// The semantic version of the nested application.
  1517  	//
  1518  	// SemanticVersion is a required field
  1519  	SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"`
  1520  }
  1521  
  1522  // String returns the string representation.
  1523  //
  1524  // API parameter values that are decorated as "sensitive" in the API will not
  1525  // be included in the string output. The member name will be present, but the
  1526  // value will be replaced with "sensitive".
  1527  func (s ApplicationDependencySummary) String() string {
  1528  	return awsutil.Prettify(s)
  1529  }
  1530  
  1531  // GoString returns the string representation.
  1532  //
  1533  // API parameter values that are decorated as "sensitive" in the API will not
  1534  // be included in the string output. The member name will be present, but the
  1535  // value will be replaced with "sensitive".
  1536  func (s ApplicationDependencySummary) GoString() string {
  1537  	return s.String()
  1538  }
  1539  
  1540  // SetApplicationId sets the ApplicationId field's value.
  1541  func (s *ApplicationDependencySummary) SetApplicationId(v string) *ApplicationDependencySummary {
  1542  	s.ApplicationId = &v
  1543  	return s
  1544  }
  1545  
  1546  // SetSemanticVersion sets the SemanticVersion field's value.
  1547  func (s *ApplicationDependencySummary) SetSemanticVersion(v string) *ApplicationDependencySummary {
  1548  	s.SemanticVersion = &v
  1549  	return s
  1550  }
  1551  
  1552  // Policy statement applied to the application.
  1553  type ApplicationPolicyStatement struct {
  1554  	_ struct{} `type:"structure"`
  1555  
  1556  	// For the list of actions supported for this operation, see Application Permissions
  1557  	// (https://docs.aws.amazon.com/serverlessrepo/latest/devguide/access-control-resource-based.html#application-permissions).
  1558  	//
  1559  	// Actions is a required field
  1560  	Actions []*string `locationName:"actions" type:"list" required:"true"`
  1561  
  1562  	// An array of PrinciplalOrgIDs, which corresponds to AWS IAM aws:PrincipalOrgID
  1563  	// (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#principal-org-id)
  1564  	// global condition key.
  1565  	PrincipalOrgIDs []*string `locationName:"principalOrgIDs" type:"list"`
  1566  
  1567  	// An array of AWS account IDs, or * to make the application public.
  1568  	//
  1569  	// Principals is a required field
  1570  	Principals []*string `locationName:"principals" type:"list" required:"true"`
  1571  
  1572  	// A unique ID for the statement.
  1573  	StatementId *string `locationName:"statementId" type:"string"`
  1574  }
  1575  
  1576  // String returns the string representation.
  1577  //
  1578  // API parameter values that are decorated as "sensitive" in the API will not
  1579  // be included in the string output. The member name will be present, but the
  1580  // value will be replaced with "sensitive".
  1581  func (s ApplicationPolicyStatement) String() string {
  1582  	return awsutil.Prettify(s)
  1583  }
  1584  
  1585  // GoString returns the string representation.
  1586  //
  1587  // API parameter values that are decorated as "sensitive" in the API will not
  1588  // be included in the string output. The member name will be present, but the
  1589  // value will be replaced with "sensitive".
  1590  func (s ApplicationPolicyStatement) GoString() string {
  1591  	return s.String()
  1592  }
  1593  
  1594  // Validate inspects the fields of the type to determine if they are valid.
  1595  func (s *ApplicationPolicyStatement) Validate() error {
  1596  	invalidParams := request.ErrInvalidParams{Context: "ApplicationPolicyStatement"}
  1597  	if s.Actions == nil {
  1598  		invalidParams.Add(request.NewErrParamRequired("Actions"))
  1599  	}
  1600  	if s.Principals == nil {
  1601  		invalidParams.Add(request.NewErrParamRequired("Principals"))
  1602  	}
  1603  
  1604  	if invalidParams.Len() > 0 {
  1605  		return invalidParams
  1606  	}
  1607  	return nil
  1608  }
  1609  
  1610  // SetActions sets the Actions field's value.
  1611  func (s *ApplicationPolicyStatement) SetActions(v []*string) *ApplicationPolicyStatement {
  1612  	s.Actions = v
  1613  	return s
  1614  }
  1615  
  1616  // SetPrincipalOrgIDs sets the PrincipalOrgIDs field's value.
  1617  func (s *ApplicationPolicyStatement) SetPrincipalOrgIDs(v []*string) *ApplicationPolicyStatement {
  1618  	s.PrincipalOrgIDs = v
  1619  	return s
  1620  }
  1621  
  1622  // SetPrincipals sets the Principals field's value.
  1623  func (s *ApplicationPolicyStatement) SetPrincipals(v []*string) *ApplicationPolicyStatement {
  1624  	s.Principals = v
  1625  	return s
  1626  }
  1627  
  1628  // SetStatementId sets the StatementId field's value.
  1629  func (s *ApplicationPolicyStatement) SetStatementId(v string) *ApplicationPolicyStatement {
  1630  	s.StatementId = &v
  1631  	return s
  1632  }
  1633  
  1634  // Summary of details about the application.
  1635  type ApplicationSummary struct {
  1636  	_ struct{} `type:"structure"`
  1637  
  1638  	// The application Amazon Resource Name (ARN).
  1639  	//
  1640  	// ApplicationId is a required field
  1641  	ApplicationId *string `locationName:"applicationId" type:"string" required:"true"`
  1642  
  1643  	// The name of the author publishing the app.
  1644  	//
  1645  	// Minimum length=1. Maximum length=127.
  1646  	//
  1647  	// Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$";
  1648  	//
  1649  	// Author is a required field
  1650  	Author *string `locationName:"author" type:"string" required:"true"`
  1651  
  1652  	// The date and time this resource was created.
  1653  	CreationTime *string `locationName:"creationTime" type:"string"`
  1654  
  1655  	// The description of the application.
  1656  	//
  1657  	// Minimum length=1. Maximum length=256
  1658  	//
  1659  	// Description is a required field
  1660  	Description *string `locationName:"description" type:"string" required:"true"`
  1661  
  1662  	// A URL with more information about the application, for example the location
  1663  	// of your GitHub repository for the application.
  1664  	HomePageUrl *string `locationName:"homePageUrl" type:"string"`
  1665  
  1666  	// Labels to improve discovery of apps in search results.
  1667  	//
  1668  	// Minimum length=1. Maximum length=127. Maximum number of labels: 10
  1669  	//
  1670  	// Pattern: "^[a-zA-Z0-9+\\-_:\\/@]+$";
  1671  	Labels []*string `locationName:"labels" type:"list"`
  1672  
  1673  	// The name of the application.
  1674  	//
  1675  	// Minimum length=1. Maximum length=140
  1676  	//
  1677  	// Pattern: "[a-zA-Z0-9\\-]+";
  1678  	//
  1679  	// Name is a required field
  1680  	Name *string `locationName:"name" type:"string" required:"true"`
  1681  
  1682  	// A valid identifier from https://spdx.org/licenses/ (https://spdx.org/licenses/).
  1683  	SpdxLicenseId *string `locationName:"spdxLicenseId" type:"string"`
  1684  }
  1685  
  1686  // String returns the string representation.
  1687  //
  1688  // API parameter values that are decorated as "sensitive" in the API will not
  1689  // be included in the string output. The member name will be present, but the
  1690  // value will be replaced with "sensitive".
  1691  func (s ApplicationSummary) String() string {
  1692  	return awsutil.Prettify(s)
  1693  }
  1694  
  1695  // GoString returns the string representation.
  1696  //
  1697  // API parameter values that are decorated as "sensitive" in the API will not
  1698  // be included in the string output. The member name will be present, but the
  1699  // value will be replaced with "sensitive".
  1700  func (s ApplicationSummary) GoString() string {
  1701  	return s.String()
  1702  }
  1703  
  1704  // SetApplicationId sets the ApplicationId field's value.
  1705  func (s *ApplicationSummary) SetApplicationId(v string) *ApplicationSummary {
  1706  	s.ApplicationId = &v
  1707  	return s
  1708  }
  1709  
  1710  // SetAuthor sets the Author field's value.
  1711  func (s *ApplicationSummary) SetAuthor(v string) *ApplicationSummary {
  1712  	s.Author = &v
  1713  	return s
  1714  }
  1715  
  1716  // SetCreationTime sets the CreationTime field's value.
  1717  func (s *ApplicationSummary) SetCreationTime(v string) *ApplicationSummary {
  1718  	s.CreationTime = &v
  1719  	return s
  1720  }
  1721  
  1722  // SetDescription sets the Description field's value.
  1723  func (s *ApplicationSummary) SetDescription(v string) *ApplicationSummary {
  1724  	s.Description = &v
  1725  	return s
  1726  }
  1727  
  1728  // SetHomePageUrl sets the HomePageUrl field's value.
  1729  func (s *ApplicationSummary) SetHomePageUrl(v string) *ApplicationSummary {
  1730  	s.HomePageUrl = &v
  1731  	return s
  1732  }
  1733  
  1734  // SetLabels sets the Labels field's value.
  1735  func (s *ApplicationSummary) SetLabels(v []*string) *ApplicationSummary {
  1736  	s.Labels = v
  1737  	return s
  1738  }
  1739  
  1740  // SetName sets the Name field's value.
  1741  func (s *ApplicationSummary) SetName(v string) *ApplicationSummary {
  1742  	s.Name = &v
  1743  	return s
  1744  }
  1745  
  1746  // SetSpdxLicenseId sets the SpdxLicenseId field's value.
  1747  func (s *ApplicationSummary) SetSpdxLicenseId(v string) *ApplicationSummary {
  1748  	s.SpdxLicenseId = &v
  1749  	return s
  1750  }
  1751  
  1752  // One of the parameters in the request is invalid.
  1753  type BadRequestException struct {
  1754  	_            struct{}                  `type:"structure"`
  1755  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1756  
  1757  	// 400
  1758  	ErrorCode *string `locationName:"errorCode" type:"string"`
  1759  
  1760  	// One of the parameters in the request is invalid.
  1761  	Message_ *string `locationName:"message" type:"string"`
  1762  }
  1763  
  1764  // String returns the string representation.
  1765  //
  1766  // API parameter values that are decorated as "sensitive" in the API will not
  1767  // be included in the string output. The member name will be present, but the
  1768  // value will be replaced with "sensitive".
  1769  func (s BadRequestException) String() string {
  1770  	return awsutil.Prettify(s)
  1771  }
  1772  
  1773  // GoString returns the string representation.
  1774  //
  1775  // API parameter values that are decorated as "sensitive" in the API will not
  1776  // be included in the string output. The member name will be present, but the
  1777  // value will be replaced with "sensitive".
  1778  func (s BadRequestException) GoString() string {
  1779  	return s.String()
  1780  }
  1781  
  1782  func newErrorBadRequestException(v protocol.ResponseMetadata) error {
  1783  	return &BadRequestException{
  1784  		RespMetadata: v,
  1785  	}
  1786  }
  1787  
  1788  // Code returns the exception type name.
  1789  func (s *BadRequestException) Code() string {
  1790  	return "BadRequestException"
  1791  }
  1792  
  1793  // Message returns the exception's message.
  1794  func (s *BadRequestException) Message() string {
  1795  	if s.Message_ != nil {
  1796  		return *s.Message_
  1797  	}
  1798  	return ""
  1799  }
  1800  
  1801  // OrigErr always returns nil, satisfies awserr.Error interface.
  1802  func (s *BadRequestException) OrigErr() error {
  1803  	return nil
  1804  }
  1805  
  1806  func (s *BadRequestException) Error() string {
  1807  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  1808  }
  1809  
  1810  // Status code returns the HTTP status code for the request's response error.
  1811  func (s *BadRequestException) StatusCode() int {
  1812  	return s.RespMetadata.StatusCode
  1813  }
  1814  
  1815  // RequestID returns the service's response RequestID for request.
  1816  func (s *BadRequestException) RequestID() string {
  1817  	return s.RespMetadata.RequestID
  1818  }
  1819  
  1820  // The resource already exists.
  1821  type ConflictException struct {
  1822  	_            struct{}                  `type:"structure"`
  1823  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1824  
  1825  	// 409
  1826  	ErrorCode *string `locationName:"errorCode" type:"string"`
  1827  
  1828  	// The resource already exists.
  1829  	Message_ *string `locationName:"message" type:"string"`
  1830  }
  1831  
  1832  // String returns the string representation.
  1833  //
  1834  // API parameter values that are decorated as "sensitive" in the API will not
  1835  // be included in the string output. The member name will be present, but the
  1836  // value will be replaced with "sensitive".
  1837  func (s ConflictException) String() string {
  1838  	return awsutil.Prettify(s)
  1839  }
  1840  
  1841  // GoString returns the string representation.
  1842  //
  1843  // API parameter values that are decorated as "sensitive" in the API will not
  1844  // be included in the string output. The member name will be present, but the
  1845  // value will be replaced with "sensitive".
  1846  func (s ConflictException) GoString() string {
  1847  	return s.String()
  1848  }
  1849  
  1850  func newErrorConflictException(v protocol.ResponseMetadata) error {
  1851  	return &ConflictException{
  1852  		RespMetadata: v,
  1853  	}
  1854  }
  1855  
  1856  // Code returns the exception type name.
  1857  func (s *ConflictException) Code() string {
  1858  	return "ConflictException"
  1859  }
  1860  
  1861  // Message returns the exception's message.
  1862  func (s *ConflictException) Message() string {
  1863  	if s.Message_ != nil {
  1864  		return *s.Message_
  1865  	}
  1866  	return ""
  1867  }
  1868  
  1869  // OrigErr always returns nil, satisfies awserr.Error interface.
  1870  func (s *ConflictException) OrigErr() error {
  1871  	return nil
  1872  }
  1873  
  1874  func (s *ConflictException) Error() string {
  1875  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  1876  }
  1877  
  1878  // Status code returns the HTTP status code for the request's response error.
  1879  func (s *ConflictException) StatusCode() int {
  1880  	return s.RespMetadata.StatusCode
  1881  }
  1882  
  1883  // RequestID returns the service's response RequestID for request.
  1884  func (s *ConflictException) RequestID() string {
  1885  	return s.RespMetadata.RequestID
  1886  }
  1887  
  1888  type CreateApplicationOutput struct {
  1889  	_ struct{} `type:"structure"`
  1890  
  1891  	ApplicationId *string `locationName:"applicationId" type:"string"`
  1892  
  1893  	Author *string `locationName:"author" type:"string"`
  1894  
  1895  	CreationTime *string `locationName:"creationTime" type:"string"`
  1896  
  1897  	Description *string `locationName:"description" type:"string"`
  1898  
  1899  	HomePageUrl *string `locationName:"homePageUrl" type:"string"`
  1900  
  1901  	IsVerifiedAuthor *bool `locationName:"isVerifiedAuthor" type:"boolean"`
  1902  
  1903  	Labels []*string `locationName:"labels" type:"list"`
  1904  
  1905  	LicenseUrl *string `locationName:"licenseUrl" type:"string"`
  1906  
  1907  	Name *string `locationName:"name" type:"string"`
  1908  
  1909  	ReadmeUrl *string `locationName:"readmeUrl" type:"string"`
  1910  
  1911  	SpdxLicenseId *string `locationName:"spdxLicenseId" type:"string"`
  1912  
  1913  	VerifiedAuthorUrl *string `locationName:"verifiedAuthorUrl" type:"string"`
  1914  
  1915  	// Application version details.
  1916  	Version *Version `locationName:"version" type:"structure"`
  1917  }
  1918  
  1919  // String returns the string representation.
  1920  //
  1921  // API parameter values that are decorated as "sensitive" in the API will not
  1922  // be included in the string output. The member name will be present, but the
  1923  // value will be replaced with "sensitive".
  1924  func (s CreateApplicationOutput) String() string {
  1925  	return awsutil.Prettify(s)
  1926  }
  1927  
  1928  // GoString returns the string representation.
  1929  //
  1930  // API parameter values that are decorated as "sensitive" in the API will not
  1931  // be included in the string output. The member name will be present, but the
  1932  // value will be replaced with "sensitive".
  1933  func (s CreateApplicationOutput) GoString() string {
  1934  	return s.String()
  1935  }
  1936  
  1937  // SetApplicationId sets the ApplicationId field's value.
  1938  func (s *CreateApplicationOutput) SetApplicationId(v string) *CreateApplicationOutput {
  1939  	s.ApplicationId = &v
  1940  	return s
  1941  }
  1942  
  1943  // SetAuthor sets the Author field's value.
  1944  func (s *CreateApplicationOutput) SetAuthor(v string) *CreateApplicationOutput {
  1945  	s.Author = &v
  1946  	return s
  1947  }
  1948  
  1949  // SetCreationTime sets the CreationTime field's value.
  1950  func (s *CreateApplicationOutput) SetCreationTime(v string) *CreateApplicationOutput {
  1951  	s.CreationTime = &v
  1952  	return s
  1953  }
  1954  
  1955  // SetDescription sets the Description field's value.
  1956  func (s *CreateApplicationOutput) SetDescription(v string) *CreateApplicationOutput {
  1957  	s.Description = &v
  1958  	return s
  1959  }
  1960  
  1961  // SetHomePageUrl sets the HomePageUrl field's value.
  1962  func (s *CreateApplicationOutput) SetHomePageUrl(v string) *CreateApplicationOutput {
  1963  	s.HomePageUrl = &v
  1964  	return s
  1965  }
  1966  
  1967  // SetIsVerifiedAuthor sets the IsVerifiedAuthor field's value.
  1968  func (s *CreateApplicationOutput) SetIsVerifiedAuthor(v bool) *CreateApplicationOutput {
  1969  	s.IsVerifiedAuthor = &v
  1970  	return s
  1971  }
  1972  
  1973  // SetLabels sets the Labels field's value.
  1974  func (s *CreateApplicationOutput) SetLabels(v []*string) *CreateApplicationOutput {
  1975  	s.Labels = v
  1976  	return s
  1977  }
  1978  
  1979  // SetLicenseUrl sets the LicenseUrl field's value.
  1980  func (s *CreateApplicationOutput) SetLicenseUrl(v string) *CreateApplicationOutput {
  1981  	s.LicenseUrl = &v
  1982  	return s
  1983  }
  1984  
  1985  // SetName sets the Name field's value.
  1986  func (s *CreateApplicationOutput) SetName(v string) *CreateApplicationOutput {
  1987  	s.Name = &v
  1988  	return s
  1989  }
  1990  
  1991  // SetReadmeUrl sets the ReadmeUrl field's value.
  1992  func (s *CreateApplicationOutput) SetReadmeUrl(v string) *CreateApplicationOutput {
  1993  	s.ReadmeUrl = &v
  1994  	return s
  1995  }
  1996  
  1997  // SetSpdxLicenseId sets the SpdxLicenseId field's value.
  1998  func (s *CreateApplicationOutput) SetSpdxLicenseId(v string) *CreateApplicationOutput {
  1999  	s.SpdxLicenseId = &v
  2000  	return s
  2001  }
  2002  
  2003  // SetVerifiedAuthorUrl sets the VerifiedAuthorUrl field's value.
  2004  func (s *CreateApplicationOutput) SetVerifiedAuthorUrl(v string) *CreateApplicationOutput {
  2005  	s.VerifiedAuthorUrl = &v
  2006  	return s
  2007  }
  2008  
  2009  // SetVersion sets the Version field's value.
  2010  func (s *CreateApplicationOutput) SetVersion(v *Version) *CreateApplicationOutput {
  2011  	s.Version = v
  2012  	return s
  2013  }
  2014  
  2015  type CreateApplicationRequest struct {
  2016  	_ struct{} `type:"structure"`
  2017  
  2018  	// Author is a required field
  2019  	Author *string `locationName:"author" type:"string" required:"true"`
  2020  
  2021  	// Description is a required field
  2022  	Description *string `locationName:"description" type:"string" required:"true"`
  2023  
  2024  	HomePageUrl *string `locationName:"homePageUrl" type:"string"`
  2025  
  2026  	Labels []*string `locationName:"labels" type:"list"`
  2027  
  2028  	LicenseBody *string `locationName:"licenseBody" type:"string"`
  2029  
  2030  	LicenseUrl *string `locationName:"licenseUrl" type:"string"`
  2031  
  2032  	// Name is a required field
  2033  	Name *string `locationName:"name" type:"string" required:"true"`
  2034  
  2035  	ReadmeBody *string `locationName:"readmeBody" type:"string"`
  2036  
  2037  	ReadmeUrl *string `locationName:"readmeUrl" type:"string"`
  2038  
  2039  	SemanticVersion *string `locationName:"semanticVersion" type:"string"`
  2040  
  2041  	SourceCodeArchiveUrl *string `locationName:"sourceCodeArchiveUrl" type:"string"`
  2042  
  2043  	SourceCodeUrl *string `locationName:"sourceCodeUrl" type:"string"`
  2044  
  2045  	SpdxLicenseId *string `locationName:"spdxLicenseId" type:"string"`
  2046  
  2047  	TemplateBody *string `locationName:"templateBody" type:"string"`
  2048  
  2049  	TemplateUrl *string `locationName:"templateUrl" type:"string"`
  2050  }
  2051  
  2052  // String returns the string representation.
  2053  //
  2054  // API parameter values that are decorated as "sensitive" in the API will not
  2055  // be included in the string output. The member name will be present, but the
  2056  // value will be replaced with "sensitive".
  2057  func (s CreateApplicationRequest) String() string {
  2058  	return awsutil.Prettify(s)
  2059  }
  2060  
  2061  // GoString returns the string representation.
  2062  //
  2063  // API parameter values that are decorated as "sensitive" in the API will not
  2064  // be included in the string output. The member name will be present, but the
  2065  // value will be replaced with "sensitive".
  2066  func (s CreateApplicationRequest) GoString() string {
  2067  	return s.String()
  2068  }
  2069  
  2070  // Validate inspects the fields of the type to determine if they are valid.
  2071  func (s *CreateApplicationRequest) Validate() error {
  2072  	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationRequest"}
  2073  	if s.Author == nil {
  2074  		invalidParams.Add(request.NewErrParamRequired("Author"))
  2075  	}
  2076  	if s.Description == nil {
  2077  		invalidParams.Add(request.NewErrParamRequired("Description"))
  2078  	}
  2079  	if s.Name == nil {
  2080  		invalidParams.Add(request.NewErrParamRequired("Name"))
  2081  	}
  2082  
  2083  	if invalidParams.Len() > 0 {
  2084  		return invalidParams
  2085  	}
  2086  	return nil
  2087  }
  2088  
  2089  // SetAuthor sets the Author field's value.
  2090  func (s *CreateApplicationRequest) SetAuthor(v string) *CreateApplicationRequest {
  2091  	s.Author = &v
  2092  	return s
  2093  }
  2094  
  2095  // SetDescription sets the Description field's value.
  2096  func (s *CreateApplicationRequest) SetDescription(v string) *CreateApplicationRequest {
  2097  	s.Description = &v
  2098  	return s
  2099  }
  2100  
  2101  // SetHomePageUrl sets the HomePageUrl field's value.
  2102  func (s *CreateApplicationRequest) SetHomePageUrl(v string) *CreateApplicationRequest {
  2103  	s.HomePageUrl = &v
  2104  	return s
  2105  }
  2106  
  2107  // SetLabels sets the Labels field's value.
  2108  func (s *CreateApplicationRequest) SetLabels(v []*string) *CreateApplicationRequest {
  2109  	s.Labels = v
  2110  	return s
  2111  }
  2112  
  2113  // SetLicenseBody sets the LicenseBody field's value.
  2114  func (s *CreateApplicationRequest) SetLicenseBody(v string) *CreateApplicationRequest {
  2115  	s.LicenseBody = &v
  2116  	return s
  2117  }
  2118  
  2119  // SetLicenseUrl sets the LicenseUrl field's value.
  2120  func (s *CreateApplicationRequest) SetLicenseUrl(v string) *CreateApplicationRequest {
  2121  	s.LicenseUrl = &v
  2122  	return s
  2123  }
  2124  
  2125  // SetName sets the Name field's value.
  2126  func (s *CreateApplicationRequest) SetName(v string) *CreateApplicationRequest {
  2127  	s.Name = &v
  2128  	return s
  2129  }
  2130  
  2131  // SetReadmeBody sets the ReadmeBody field's value.
  2132  func (s *CreateApplicationRequest) SetReadmeBody(v string) *CreateApplicationRequest {
  2133  	s.ReadmeBody = &v
  2134  	return s
  2135  }
  2136  
  2137  // SetReadmeUrl sets the ReadmeUrl field's value.
  2138  func (s *CreateApplicationRequest) SetReadmeUrl(v string) *CreateApplicationRequest {
  2139  	s.ReadmeUrl = &v
  2140  	return s
  2141  }
  2142  
  2143  // SetSemanticVersion sets the SemanticVersion field's value.
  2144  func (s *CreateApplicationRequest) SetSemanticVersion(v string) *CreateApplicationRequest {
  2145  	s.SemanticVersion = &v
  2146  	return s
  2147  }
  2148  
  2149  // SetSourceCodeArchiveUrl sets the SourceCodeArchiveUrl field's value.
  2150  func (s *CreateApplicationRequest) SetSourceCodeArchiveUrl(v string) *CreateApplicationRequest {
  2151  	s.SourceCodeArchiveUrl = &v
  2152  	return s
  2153  }
  2154  
  2155  // SetSourceCodeUrl sets the SourceCodeUrl field's value.
  2156  func (s *CreateApplicationRequest) SetSourceCodeUrl(v string) *CreateApplicationRequest {
  2157  	s.SourceCodeUrl = &v
  2158  	return s
  2159  }
  2160  
  2161  // SetSpdxLicenseId sets the SpdxLicenseId field's value.
  2162  func (s *CreateApplicationRequest) SetSpdxLicenseId(v string) *CreateApplicationRequest {
  2163  	s.SpdxLicenseId = &v
  2164  	return s
  2165  }
  2166  
  2167  // SetTemplateBody sets the TemplateBody field's value.
  2168  func (s *CreateApplicationRequest) SetTemplateBody(v string) *CreateApplicationRequest {
  2169  	s.TemplateBody = &v
  2170  	return s
  2171  }
  2172  
  2173  // SetTemplateUrl sets the TemplateUrl field's value.
  2174  func (s *CreateApplicationRequest) SetTemplateUrl(v string) *CreateApplicationRequest {
  2175  	s.TemplateUrl = &v
  2176  	return s
  2177  }
  2178  
  2179  type CreateApplicationVersionOutput struct {
  2180  	_ struct{} `type:"structure"`
  2181  
  2182  	ApplicationId *string `locationName:"applicationId" type:"string"`
  2183  
  2184  	CreationTime *string `locationName:"creationTime" type:"string"`
  2185  
  2186  	ParameterDefinitions []*ParameterDefinition `locationName:"parameterDefinitions" type:"list"`
  2187  
  2188  	RequiredCapabilities []*string `locationName:"requiredCapabilities" type:"list"`
  2189  
  2190  	ResourcesSupported *bool `locationName:"resourcesSupported" type:"boolean"`
  2191  
  2192  	SemanticVersion *string `locationName:"semanticVersion" type:"string"`
  2193  
  2194  	SourceCodeArchiveUrl *string `locationName:"sourceCodeArchiveUrl" type:"string"`
  2195  
  2196  	SourceCodeUrl *string `locationName:"sourceCodeUrl" type:"string"`
  2197  
  2198  	TemplateUrl *string `locationName:"templateUrl" type:"string"`
  2199  }
  2200  
  2201  // String returns the string representation.
  2202  //
  2203  // API parameter values that are decorated as "sensitive" in the API will not
  2204  // be included in the string output. The member name will be present, but the
  2205  // value will be replaced with "sensitive".
  2206  func (s CreateApplicationVersionOutput) String() string {
  2207  	return awsutil.Prettify(s)
  2208  }
  2209  
  2210  // GoString returns the string representation.
  2211  //
  2212  // API parameter values that are decorated as "sensitive" in the API will not
  2213  // be included in the string output. The member name will be present, but the
  2214  // value will be replaced with "sensitive".
  2215  func (s CreateApplicationVersionOutput) GoString() string {
  2216  	return s.String()
  2217  }
  2218  
  2219  // SetApplicationId sets the ApplicationId field's value.
  2220  func (s *CreateApplicationVersionOutput) SetApplicationId(v string) *CreateApplicationVersionOutput {
  2221  	s.ApplicationId = &v
  2222  	return s
  2223  }
  2224  
  2225  // SetCreationTime sets the CreationTime field's value.
  2226  func (s *CreateApplicationVersionOutput) SetCreationTime(v string) *CreateApplicationVersionOutput {
  2227  	s.CreationTime = &v
  2228  	return s
  2229  }
  2230  
  2231  // SetParameterDefinitions sets the ParameterDefinitions field's value.
  2232  func (s *CreateApplicationVersionOutput) SetParameterDefinitions(v []*ParameterDefinition) *CreateApplicationVersionOutput {
  2233  	s.ParameterDefinitions = v
  2234  	return s
  2235  }
  2236  
  2237  // SetRequiredCapabilities sets the RequiredCapabilities field's value.
  2238  func (s *CreateApplicationVersionOutput) SetRequiredCapabilities(v []*string) *CreateApplicationVersionOutput {
  2239  	s.RequiredCapabilities = v
  2240  	return s
  2241  }
  2242  
  2243  // SetResourcesSupported sets the ResourcesSupported field's value.
  2244  func (s *CreateApplicationVersionOutput) SetResourcesSupported(v bool) *CreateApplicationVersionOutput {
  2245  	s.ResourcesSupported = &v
  2246  	return s
  2247  }
  2248  
  2249  // SetSemanticVersion sets the SemanticVersion field's value.
  2250  func (s *CreateApplicationVersionOutput) SetSemanticVersion(v string) *CreateApplicationVersionOutput {
  2251  	s.SemanticVersion = &v
  2252  	return s
  2253  }
  2254  
  2255  // SetSourceCodeArchiveUrl sets the SourceCodeArchiveUrl field's value.
  2256  func (s *CreateApplicationVersionOutput) SetSourceCodeArchiveUrl(v string) *CreateApplicationVersionOutput {
  2257  	s.SourceCodeArchiveUrl = &v
  2258  	return s
  2259  }
  2260  
  2261  // SetSourceCodeUrl sets the SourceCodeUrl field's value.
  2262  func (s *CreateApplicationVersionOutput) SetSourceCodeUrl(v string) *CreateApplicationVersionOutput {
  2263  	s.SourceCodeUrl = &v
  2264  	return s
  2265  }
  2266  
  2267  // SetTemplateUrl sets the TemplateUrl field's value.
  2268  func (s *CreateApplicationVersionOutput) SetTemplateUrl(v string) *CreateApplicationVersionOutput {
  2269  	s.TemplateUrl = &v
  2270  	return s
  2271  }
  2272  
  2273  type CreateApplicationVersionRequest struct {
  2274  	_ struct{} `type:"structure"`
  2275  
  2276  	// ApplicationId is a required field
  2277  	ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"`
  2278  
  2279  	// SemanticVersion is a required field
  2280  	SemanticVersion *string `location:"uri" locationName:"semanticVersion" type:"string" required:"true"`
  2281  
  2282  	SourceCodeArchiveUrl *string `locationName:"sourceCodeArchiveUrl" type:"string"`
  2283  
  2284  	SourceCodeUrl *string `locationName:"sourceCodeUrl" type:"string"`
  2285  
  2286  	TemplateBody *string `locationName:"templateBody" type:"string"`
  2287  
  2288  	TemplateUrl *string `locationName:"templateUrl" type:"string"`
  2289  }
  2290  
  2291  // String returns the string representation.
  2292  //
  2293  // API parameter values that are decorated as "sensitive" in the API will not
  2294  // be included in the string output. The member name will be present, but the
  2295  // value will be replaced with "sensitive".
  2296  func (s CreateApplicationVersionRequest) String() string {
  2297  	return awsutil.Prettify(s)
  2298  }
  2299  
  2300  // GoString returns the string representation.
  2301  //
  2302  // API parameter values that are decorated as "sensitive" in the API will not
  2303  // be included in the string output. The member name will be present, but the
  2304  // value will be replaced with "sensitive".
  2305  func (s CreateApplicationVersionRequest) GoString() string {
  2306  	return s.String()
  2307  }
  2308  
  2309  // Validate inspects the fields of the type to determine if they are valid.
  2310  func (s *CreateApplicationVersionRequest) Validate() error {
  2311  	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationVersionRequest"}
  2312  	if s.ApplicationId == nil {
  2313  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  2314  	}
  2315  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  2316  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  2317  	}
  2318  	if s.SemanticVersion == nil {
  2319  		invalidParams.Add(request.NewErrParamRequired("SemanticVersion"))
  2320  	}
  2321  	if s.SemanticVersion != nil && len(*s.SemanticVersion) < 1 {
  2322  		invalidParams.Add(request.NewErrParamMinLen("SemanticVersion", 1))
  2323  	}
  2324  
  2325  	if invalidParams.Len() > 0 {
  2326  		return invalidParams
  2327  	}
  2328  	return nil
  2329  }
  2330  
  2331  // SetApplicationId sets the ApplicationId field's value.
  2332  func (s *CreateApplicationVersionRequest) SetApplicationId(v string) *CreateApplicationVersionRequest {
  2333  	s.ApplicationId = &v
  2334  	return s
  2335  }
  2336  
  2337  // SetSemanticVersion sets the SemanticVersion field's value.
  2338  func (s *CreateApplicationVersionRequest) SetSemanticVersion(v string) *CreateApplicationVersionRequest {
  2339  	s.SemanticVersion = &v
  2340  	return s
  2341  }
  2342  
  2343  // SetSourceCodeArchiveUrl sets the SourceCodeArchiveUrl field's value.
  2344  func (s *CreateApplicationVersionRequest) SetSourceCodeArchiveUrl(v string) *CreateApplicationVersionRequest {
  2345  	s.SourceCodeArchiveUrl = &v
  2346  	return s
  2347  }
  2348  
  2349  // SetSourceCodeUrl sets the SourceCodeUrl field's value.
  2350  func (s *CreateApplicationVersionRequest) SetSourceCodeUrl(v string) *CreateApplicationVersionRequest {
  2351  	s.SourceCodeUrl = &v
  2352  	return s
  2353  }
  2354  
  2355  // SetTemplateBody sets the TemplateBody field's value.
  2356  func (s *CreateApplicationVersionRequest) SetTemplateBody(v string) *CreateApplicationVersionRequest {
  2357  	s.TemplateBody = &v
  2358  	return s
  2359  }
  2360  
  2361  // SetTemplateUrl sets the TemplateUrl field's value.
  2362  func (s *CreateApplicationVersionRequest) SetTemplateUrl(v string) *CreateApplicationVersionRequest {
  2363  	s.TemplateUrl = &v
  2364  	return s
  2365  }
  2366  
  2367  type CreateCloudFormationChangeSetOutput struct {
  2368  	_ struct{} `type:"structure"`
  2369  
  2370  	ApplicationId *string `locationName:"applicationId" type:"string"`
  2371  
  2372  	ChangeSetId *string `locationName:"changeSetId" type:"string"`
  2373  
  2374  	SemanticVersion *string `locationName:"semanticVersion" type:"string"`
  2375  
  2376  	StackId *string `locationName:"stackId" type:"string"`
  2377  }
  2378  
  2379  // String returns the string representation.
  2380  //
  2381  // API parameter values that are decorated as "sensitive" in the API will not
  2382  // be included in the string output. The member name will be present, but the
  2383  // value will be replaced with "sensitive".
  2384  func (s CreateCloudFormationChangeSetOutput) String() string {
  2385  	return awsutil.Prettify(s)
  2386  }
  2387  
  2388  // GoString returns the string representation.
  2389  //
  2390  // API parameter values that are decorated as "sensitive" in the API will not
  2391  // be included in the string output. The member name will be present, but the
  2392  // value will be replaced with "sensitive".
  2393  func (s CreateCloudFormationChangeSetOutput) GoString() string {
  2394  	return s.String()
  2395  }
  2396  
  2397  // SetApplicationId sets the ApplicationId field's value.
  2398  func (s *CreateCloudFormationChangeSetOutput) SetApplicationId(v string) *CreateCloudFormationChangeSetOutput {
  2399  	s.ApplicationId = &v
  2400  	return s
  2401  }
  2402  
  2403  // SetChangeSetId sets the ChangeSetId field's value.
  2404  func (s *CreateCloudFormationChangeSetOutput) SetChangeSetId(v string) *CreateCloudFormationChangeSetOutput {
  2405  	s.ChangeSetId = &v
  2406  	return s
  2407  }
  2408  
  2409  // SetSemanticVersion sets the SemanticVersion field's value.
  2410  func (s *CreateCloudFormationChangeSetOutput) SetSemanticVersion(v string) *CreateCloudFormationChangeSetOutput {
  2411  	s.SemanticVersion = &v
  2412  	return s
  2413  }
  2414  
  2415  // SetStackId sets the StackId field's value.
  2416  func (s *CreateCloudFormationChangeSetOutput) SetStackId(v string) *CreateCloudFormationChangeSetOutput {
  2417  	s.StackId = &v
  2418  	return s
  2419  }
  2420  
  2421  type CreateCloudFormationChangeSetRequest struct {
  2422  	_ struct{} `type:"structure"`
  2423  
  2424  	// ApplicationId is a required field
  2425  	ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"`
  2426  
  2427  	Capabilities []*string `locationName:"capabilities" type:"list"`
  2428  
  2429  	ChangeSetName *string `locationName:"changeSetName" type:"string"`
  2430  
  2431  	ClientToken *string `locationName:"clientToken" type:"string"`
  2432  
  2433  	Description *string `locationName:"description" type:"string"`
  2434  
  2435  	NotificationArns []*string `locationName:"notificationArns" type:"list"`
  2436  
  2437  	ParameterOverrides []*ParameterValue `locationName:"parameterOverrides" type:"list"`
  2438  
  2439  	ResourceTypes []*string `locationName:"resourceTypes" type:"list"`
  2440  
  2441  	// This property corresponds to the AWS CloudFormation RollbackConfiguration
  2442  	// (https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackConfiguration)
  2443  	// Data Type.
  2444  	RollbackConfiguration *RollbackConfiguration `locationName:"rollbackConfiguration" type:"structure"`
  2445  
  2446  	SemanticVersion *string `locationName:"semanticVersion" type:"string"`
  2447  
  2448  	// StackName is a required field
  2449  	StackName *string `locationName:"stackName" type:"string" required:"true"`
  2450  
  2451  	Tags []*Tag `locationName:"tags" type:"list"`
  2452  
  2453  	TemplateId *string `locationName:"templateId" type:"string"`
  2454  }
  2455  
  2456  // String returns the string representation.
  2457  //
  2458  // API parameter values that are decorated as "sensitive" in the API will not
  2459  // be included in the string output. The member name will be present, but the
  2460  // value will be replaced with "sensitive".
  2461  func (s CreateCloudFormationChangeSetRequest) String() string {
  2462  	return awsutil.Prettify(s)
  2463  }
  2464  
  2465  // GoString returns the string representation.
  2466  //
  2467  // API parameter values that are decorated as "sensitive" in the API will not
  2468  // be included in the string output. The member name will be present, but the
  2469  // value will be replaced with "sensitive".
  2470  func (s CreateCloudFormationChangeSetRequest) GoString() string {
  2471  	return s.String()
  2472  }
  2473  
  2474  // Validate inspects the fields of the type to determine if they are valid.
  2475  func (s *CreateCloudFormationChangeSetRequest) Validate() error {
  2476  	invalidParams := request.ErrInvalidParams{Context: "CreateCloudFormationChangeSetRequest"}
  2477  	if s.ApplicationId == nil {
  2478  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  2479  	}
  2480  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  2481  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  2482  	}
  2483  	if s.StackName == nil {
  2484  		invalidParams.Add(request.NewErrParamRequired("StackName"))
  2485  	}
  2486  	if s.ParameterOverrides != nil {
  2487  		for i, v := range s.ParameterOverrides {
  2488  			if v == nil {
  2489  				continue
  2490  			}
  2491  			if err := v.Validate(); err != nil {
  2492  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParameterOverrides", i), err.(request.ErrInvalidParams))
  2493  			}
  2494  		}
  2495  	}
  2496  	if s.RollbackConfiguration != nil {
  2497  		if err := s.RollbackConfiguration.Validate(); err != nil {
  2498  			invalidParams.AddNested("RollbackConfiguration", err.(request.ErrInvalidParams))
  2499  		}
  2500  	}
  2501  	if s.Tags != nil {
  2502  		for i, v := range s.Tags {
  2503  			if v == nil {
  2504  				continue
  2505  			}
  2506  			if err := v.Validate(); err != nil {
  2507  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  2508  			}
  2509  		}
  2510  	}
  2511  
  2512  	if invalidParams.Len() > 0 {
  2513  		return invalidParams
  2514  	}
  2515  	return nil
  2516  }
  2517  
  2518  // SetApplicationId sets the ApplicationId field's value.
  2519  func (s *CreateCloudFormationChangeSetRequest) SetApplicationId(v string) *CreateCloudFormationChangeSetRequest {
  2520  	s.ApplicationId = &v
  2521  	return s
  2522  }
  2523  
  2524  // SetCapabilities sets the Capabilities field's value.
  2525  func (s *CreateCloudFormationChangeSetRequest) SetCapabilities(v []*string) *CreateCloudFormationChangeSetRequest {
  2526  	s.Capabilities = v
  2527  	return s
  2528  }
  2529  
  2530  // SetChangeSetName sets the ChangeSetName field's value.
  2531  func (s *CreateCloudFormationChangeSetRequest) SetChangeSetName(v string) *CreateCloudFormationChangeSetRequest {
  2532  	s.ChangeSetName = &v
  2533  	return s
  2534  }
  2535  
  2536  // SetClientToken sets the ClientToken field's value.
  2537  func (s *CreateCloudFormationChangeSetRequest) SetClientToken(v string) *CreateCloudFormationChangeSetRequest {
  2538  	s.ClientToken = &v
  2539  	return s
  2540  }
  2541  
  2542  // SetDescription sets the Description field's value.
  2543  func (s *CreateCloudFormationChangeSetRequest) SetDescription(v string) *CreateCloudFormationChangeSetRequest {
  2544  	s.Description = &v
  2545  	return s
  2546  }
  2547  
  2548  // SetNotificationArns sets the NotificationArns field's value.
  2549  func (s *CreateCloudFormationChangeSetRequest) SetNotificationArns(v []*string) *CreateCloudFormationChangeSetRequest {
  2550  	s.NotificationArns = v
  2551  	return s
  2552  }
  2553  
  2554  // SetParameterOverrides sets the ParameterOverrides field's value.
  2555  func (s *CreateCloudFormationChangeSetRequest) SetParameterOverrides(v []*ParameterValue) *CreateCloudFormationChangeSetRequest {
  2556  	s.ParameterOverrides = v
  2557  	return s
  2558  }
  2559  
  2560  // SetResourceTypes sets the ResourceTypes field's value.
  2561  func (s *CreateCloudFormationChangeSetRequest) SetResourceTypes(v []*string) *CreateCloudFormationChangeSetRequest {
  2562  	s.ResourceTypes = v
  2563  	return s
  2564  }
  2565  
  2566  // SetRollbackConfiguration sets the RollbackConfiguration field's value.
  2567  func (s *CreateCloudFormationChangeSetRequest) SetRollbackConfiguration(v *RollbackConfiguration) *CreateCloudFormationChangeSetRequest {
  2568  	s.RollbackConfiguration = v
  2569  	return s
  2570  }
  2571  
  2572  // SetSemanticVersion sets the SemanticVersion field's value.
  2573  func (s *CreateCloudFormationChangeSetRequest) SetSemanticVersion(v string) *CreateCloudFormationChangeSetRequest {
  2574  	s.SemanticVersion = &v
  2575  	return s
  2576  }
  2577  
  2578  // SetStackName sets the StackName field's value.
  2579  func (s *CreateCloudFormationChangeSetRequest) SetStackName(v string) *CreateCloudFormationChangeSetRequest {
  2580  	s.StackName = &v
  2581  	return s
  2582  }
  2583  
  2584  // SetTags sets the Tags field's value.
  2585  func (s *CreateCloudFormationChangeSetRequest) SetTags(v []*Tag) *CreateCloudFormationChangeSetRequest {
  2586  	s.Tags = v
  2587  	return s
  2588  }
  2589  
  2590  // SetTemplateId sets the TemplateId field's value.
  2591  func (s *CreateCloudFormationChangeSetRequest) SetTemplateId(v string) *CreateCloudFormationChangeSetRequest {
  2592  	s.TemplateId = &v
  2593  	return s
  2594  }
  2595  
  2596  type CreateCloudFormationTemplateInput struct {
  2597  	_ struct{} `type:"structure"`
  2598  
  2599  	// ApplicationId is a required field
  2600  	ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"`
  2601  
  2602  	SemanticVersion *string `locationName:"semanticVersion" type:"string"`
  2603  }
  2604  
  2605  // String returns the string representation.
  2606  //
  2607  // API parameter values that are decorated as "sensitive" in the API will not
  2608  // be included in the string output. The member name will be present, but the
  2609  // value will be replaced with "sensitive".
  2610  func (s CreateCloudFormationTemplateInput) String() string {
  2611  	return awsutil.Prettify(s)
  2612  }
  2613  
  2614  // GoString returns the string representation.
  2615  //
  2616  // API parameter values that are decorated as "sensitive" in the API will not
  2617  // be included in the string output. The member name will be present, but the
  2618  // value will be replaced with "sensitive".
  2619  func (s CreateCloudFormationTemplateInput) GoString() string {
  2620  	return s.String()
  2621  }
  2622  
  2623  // Validate inspects the fields of the type to determine if they are valid.
  2624  func (s *CreateCloudFormationTemplateInput) Validate() error {
  2625  	invalidParams := request.ErrInvalidParams{Context: "CreateCloudFormationTemplateInput"}
  2626  	if s.ApplicationId == nil {
  2627  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  2628  	}
  2629  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  2630  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  2631  	}
  2632  
  2633  	if invalidParams.Len() > 0 {
  2634  		return invalidParams
  2635  	}
  2636  	return nil
  2637  }
  2638  
  2639  // SetApplicationId sets the ApplicationId field's value.
  2640  func (s *CreateCloudFormationTemplateInput) SetApplicationId(v string) *CreateCloudFormationTemplateInput {
  2641  	s.ApplicationId = &v
  2642  	return s
  2643  }
  2644  
  2645  // SetSemanticVersion sets the SemanticVersion field's value.
  2646  func (s *CreateCloudFormationTemplateInput) SetSemanticVersion(v string) *CreateCloudFormationTemplateInput {
  2647  	s.SemanticVersion = &v
  2648  	return s
  2649  }
  2650  
  2651  type CreateCloudFormationTemplateOutput struct {
  2652  	_ struct{} `type:"structure"`
  2653  
  2654  	ApplicationId *string `locationName:"applicationId" type:"string"`
  2655  
  2656  	CreationTime *string `locationName:"creationTime" type:"string"`
  2657  
  2658  	ExpirationTime *string `locationName:"expirationTime" type:"string"`
  2659  
  2660  	SemanticVersion *string `locationName:"semanticVersion" type:"string"`
  2661  
  2662  	Status *string `locationName:"status" type:"string" enum:"Status"`
  2663  
  2664  	TemplateId *string `locationName:"templateId" type:"string"`
  2665  
  2666  	TemplateUrl *string `locationName:"templateUrl" type:"string"`
  2667  }
  2668  
  2669  // String returns the string representation.
  2670  //
  2671  // API parameter values that are decorated as "sensitive" in the API will not
  2672  // be included in the string output. The member name will be present, but the
  2673  // value will be replaced with "sensitive".
  2674  func (s CreateCloudFormationTemplateOutput) String() string {
  2675  	return awsutil.Prettify(s)
  2676  }
  2677  
  2678  // GoString returns the string representation.
  2679  //
  2680  // API parameter values that are decorated as "sensitive" in the API will not
  2681  // be included in the string output. The member name will be present, but the
  2682  // value will be replaced with "sensitive".
  2683  func (s CreateCloudFormationTemplateOutput) GoString() string {
  2684  	return s.String()
  2685  }
  2686  
  2687  // SetApplicationId sets the ApplicationId field's value.
  2688  func (s *CreateCloudFormationTemplateOutput) SetApplicationId(v string) *CreateCloudFormationTemplateOutput {
  2689  	s.ApplicationId = &v
  2690  	return s
  2691  }
  2692  
  2693  // SetCreationTime sets the CreationTime field's value.
  2694  func (s *CreateCloudFormationTemplateOutput) SetCreationTime(v string) *CreateCloudFormationTemplateOutput {
  2695  	s.CreationTime = &v
  2696  	return s
  2697  }
  2698  
  2699  // SetExpirationTime sets the ExpirationTime field's value.
  2700  func (s *CreateCloudFormationTemplateOutput) SetExpirationTime(v string) *CreateCloudFormationTemplateOutput {
  2701  	s.ExpirationTime = &v
  2702  	return s
  2703  }
  2704  
  2705  // SetSemanticVersion sets the SemanticVersion field's value.
  2706  func (s *CreateCloudFormationTemplateOutput) SetSemanticVersion(v string) *CreateCloudFormationTemplateOutput {
  2707  	s.SemanticVersion = &v
  2708  	return s
  2709  }
  2710  
  2711  // SetStatus sets the Status field's value.
  2712  func (s *CreateCloudFormationTemplateOutput) SetStatus(v string) *CreateCloudFormationTemplateOutput {
  2713  	s.Status = &v
  2714  	return s
  2715  }
  2716  
  2717  // SetTemplateId sets the TemplateId field's value.
  2718  func (s *CreateCloudFormationTemplateOutput) SetTemplateId(v string) *CreateCloudFormationTemplateOutput {
  2719  	s.TemplateId = &v
  2720  	return s
  2721  }
  2722  
  2723  // SetTemplateUrl sets the TemplateUrl field's value.
  2724  func (s *CreateCloudFormationTemplateOutput) SetTemplateUrl(v string) *CreateCloudFormationTemplateOutput {
  2725  	s.TemplateUrl = &v
  2726  	return s
  2727  }
  2728  
  2729  type DeleteApplicationInput struct {
  2730  	_ struct{} `type:"structure" nopayload:"true"`
  2731  
  2732  	// ApplicationId is a required field
  2733  	ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"`
  2734  }
  2735  
  2736  // String returns the string representation.
  2737  //
  2738  // API parameter values that are decorated as "sensitive" in the API will not
  2739  // be included in the string output. The member name will be present, but the
  2740  // value will be replaced with "sensitive".
  2741  func (s DeleteApplicationInput) String() string {
  2742  	return awsutil.Prettify(s)
  2743  }
  2744  
  2745  // GoString returns the string representation.
  2746  //
  2747  // API parameter values that are decorated as "sensitive" in the API will not
  2748  // be included in the string output. The member name will be present, but the
  2749  // value will be replaced with "sensitive".
  2750  func (s DeleteApplicationInput) GoString() string {
  2751  	return s.String()
  2752  }
  2753  
  2754  // Validate inspects the fields of the type to determine if they are valid.
  2755  func (s *DeleteApplicationInput) Validate() error {
  2756  	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationInput"}
  2757  	if s.ApplicationId == nil {
  2758  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  2759  	}
  2760  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  2761  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  2762  	}
  2763  
  2764  	if invalidParams.Len() > 0 {
  2765  		return invalidParams
  2766  	}
  2767  	return nil
  2768  }
  2769  
  2770  // SetApplicationId sets the ApplicationId field's value.
  2771  func (s *DeleteApplicationInput) SetApplicationId(v string) *DeleteApplicationInput {
  2772  	s.ApplicationId = &v
  2773  	return s
  2774  }
  2775  
  2776  type DeleteApplicationOutput struct {
  2777  	_ struct{} `type:"structure" nopayload:"true"`
  2778  }
  2779  
  2780  // String returns the string representation.
  2781  //
  2782  // API parameter values that are decorated as "sensitive" in the API will not
  2783  // be included in the string output. The member name will be present, but the
  2784  // value will be replaced with "sensitive".
  2785  func (s DeleteApplicationOutput) String() string {
  2786  	return awsutil.Prettify(s)
  2787  }
  2788  
  2789  // GoString returns the string representation.
  2790  //
  2791  // API parameter values that are decorated as "sensitive" in the API will not
  2792  // be included in the string output. The member name will be present, but the
  2793  // value will be replaced with "sensitive".
  2794  func (s DeleteApplicationOutput) GoString() string {
  2795  	return s.String()
  2796  }
  2797  
  2798  // The client is not authenticated.
  2799  type ForbiddenException struct {
  2800  	_            struct{}                  `type:"structure"`
  2801  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2802  
  2803  	// 403
  2804  	ErrorCode *string `locationName:"errorCode" type:"string"`
  2805  
  2806  	// The client is not authenticated.
  2807  	Message_ *string `locationName:"message" type:"string"`
  2808  }
  2809  
  2810  // String returns the string representation.
  2811  //
  2812  // API parameter values that are decorated as "sensitive" in the API will not
  2813  // be included in the string output. The member name will be present, but the
  2814  // value will be replaced with "sensitive".
  2815  func (s ForbiddenException) String() string {
  2816  	return awsutil.Prettify(s)
  2817  }
  2818  
  2819  // GoString returns the string representation.
  2820  //
  2821  // API parameter values that are decorated as "sensitive" in the API will not
  2822  // be included in the string output. The member name will be present, but the
  2823  // value will be replaced with "sensitive".
  2824  func (s ForbiddenException) GoString() string {
  2825  	return s.String()
  2826  }
  2827  
  2828  func newErrorForbiddenException(v protocol.ResponseMetadata) error {
  2829  	return &ForbiddenException{
  2830  		RespMetadata: v,
  2831  	}
  2832  }
  2833  
  2834  // Code returns the exception type name.
  2835  func (s *ForbiddenException) Code() string {
  2836  	return "ForbiddenException"
  2837  }
  2838  
  2839  // Message returns the exception's message.
  2840  func (s *ForbiddenException) Message() string {
  2841  	if s.Message_ != nil {
  2842  		return *s.Message_
  2843  	}
  2844  	return ""
  2845  }
  2846  
  2847  // OrigErr always returns nil, satisfies awserr.Error interface.
  2848  func (s *ForbiddenException) OrigErr() error {
  2849  	return nil
  2850  }
  2851  
  2852  func (s *ForbiddenException) Error() string {
  2853  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  2854  }
  2855  
  2856  // Status code returns the HTTP status code for the request's response error.
  2857  func (s *ForbiddenException) StatusCode() int {
  2858  	return s.RespMetadata.StatusCode
  2859  }
  2860  
  2861  // RequestID returns the service's response RequestID for request.
  2862  func (s *ForbiddenException) RequestID() string {
  2863  	return s.RespMetadata.RequestID
  2864  }
  2865  
  2866  type GetApplicationInput struct {
  2867  	_ struct{} `type:"structure" nopayload:"true"`
  2868  
  2869  	// ApplicationId is a required field
  2870  	ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"`
  2871  
  2872  	SemanticVersion *string `location:"querystring" locationName:"semanticVersion" type:"string"`
  2873  }
  2874  
  2875  // String returns the string representation.
  2876  //
  2877  // API parameter values that are decorated as "sensitive" in the API will not
  2878  // be included in the string output. The member name will be present, but the
  2879  // value will be replaced with "sensitive".
  2880  func (s GetApplicationInput) String() string {
  2881  	return awsutil.Prettify(s)
  2882  }
  2883  
  2884  // GoString returns the string representation.
  2885  //
  2886  // API parameter values that are decorated as "sensitive" in the API will not
  2887  // be included in the string output. The member name will be present, but the
  2888  // value will be replaced with "sensitive".
  2889  func (s GetApplicationInput) GoString() string {
  2890  	return s.String()
  2891  }
  2892  
  2893  // Validate inspects the fields of the type to determine if they are valid.
  2894  func (s *GetApplicationInput) Validate() error {
  2895  	invalidParams := request.ErrInvalidParams{Context: "GetApplicationInput"}
  2896  	if s.ApplicationId == nil {
  2897  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  2898  	}
  2899  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  2900  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  2901  	}
  2902  
  2903  	if invalidParams.Len() > 0 {
  2904  		return invalidParams
  2905  	}
  2906  	return nil
  2907  }
  2908  
  2909  // SetApplicationId sets the ApplicationId field's value.
  2910  func (s *GetApplicationInput) SetApplicationId(v string) *GetApplicationInput {
  2911  	s.ApplicationId = &v
  2912  	return s
  2913  }
  2914  
  2915  // SetSemanticVersion sets the SemanticVersion field's value.
  2916  func (s *GetApplicationInput) SetSemanticVersion(v string) *GetApplicationInput {
  2917  	s.SemanticVersion = &v
  2918  	return s
  2919  }
  2920  
  2921  type GetApplicationOutput struct {
  2922  	_ struct{} `type:"structure"`
  2923  
  2924  	ApplicationId *string `locationName:"applicationId" type:"string"`
  2925  
  2926  	Author *string `locationName:"author" type:"string"`
  2927  
  2928  	CreationTime *string `locationName:"creationTime" type:"string"`
  2929  
  2930  	Description *string `locationName:"description" type:"string"`
  2931  
  2932  	HomePageUrl *string `locationName:"homePageUrl" type:"string"`
  2933  
  2934  	IsVerifiedAuthor *bool `locationName:"isVerifiedAuthor" type:"boolean"`
  2935  
  2936  	Labels []*string `locationName:"labels" type:"list"`
  2937  
  2938  	LicenseUrl *string `locationName:"licenseUrl" type:"string"`
  2939  
  2940  	Name *string `locationName:"name" type:"string"`
  2941  
  2942  	ReadmeUrl *string `locationName:"readmeUrl" type:"string"`
  2943  
  2944  	SpdxLicenseId *string `locationName:"spdxLicenseId" type:"string"`
  2945  
  2946  	VerifiedAuthorUrl *string `locationName:"verifiedAuthorUrl" type:"string"`
  2947  
  2948  	// Application version details.
  2949  	Version *Version `locationName:"version" type:"structure"`
  2950  }
  2951  
  2952  // String returns the string representation.
  2953  //
  2954  // API parameter values that are decorated as "sensitive" in the API will not
  2955  // be included in the string output. The member name will be present, but the
  2956  // value will be replaced with "sensitive".
  2957  func (s GetApplicationOutput) String() string {
  2958  	return awsutil.Prettify(s)
  2959  }
  2960  
  2961  // GoString returns the string representation.
  2962  //
  2963  // API parameter values that are decorated as "sensitive" in the API will not
  2964  // be included in the string output. The member name will be present, but the
  2965  // value will be replaced with "sensitive".
  2966  func (s GetApplicationOutput) GoString() string {
  2967  	return s.String()
  2968  }
  2969  
  2970  // SetApplicationId sets the ApplicationId field's value.
  2971  func (s *GetApplicationOutput) SetApplicationId(v string) *GetApplicationOutput {
  2972  	s.ApplicationId = &v
  2973  	return s
  2974  }
  2975  
  2976  // SetAuthor sets the Author field's value.
  2977  func (s *GetApplicationOutput) SetAuthor(v string) *GetApplicationOutput {
  2978  	s.Author = &v
  2979  	return s
  2980  }
  2981  
  2982  // SetCreationTime sets the CreationTime field's value.
  2983  func (s *GetApplicationOutput) SetCreationTime(v string) *GetApplicationOutput {
  2984  	s.CreationTime = &v
  2985  	return s
  2986  }
  2987  
  2988  // SetDescription sets the Description field's value.
  2989  func (s *GetApplicationOutput) SetDescription(v string) *GetApplicationOutput {
  2990  	s.Description = &v
  2991  	return s
  2992  }
  2993  
  2994  // SetHomePageUrl sets the HomePageUrl field's value.
  2995  func (s *GetApplicationOutput) SetHomePageUrl(v string) *GetApplicationOutput {
  2996  	s.HomePageUrl = &v
  2997  	return s
  2998  }
  2999  
  3000  // SetIsVerifiedAuthor sets the IsVerifiedAuthor field's value.
  3001  func (s *GetApplicationOutput) SetIsVerifiedAuthor(v bool) *GetApplicationOutput {
  3002  	s.IsVerifiedAuthor = &v
  3003  	return s
  3004  }
  3005  
  3006  // SetLabels sets the Labels field's value.
  3007  func (s *GetApplicationOutput) SetLabels(v []*string) *GetApplicationOutput {
  3008  	s.Labels = v
  3009  	return s
  3010  }
  3011  
  3012  // SetLicenseUrl sets the LicenseUrl field's value.
  3013  func (s *GetApplicationOutput) SetLicenseUrl(v string) *GetApplicationOutput {
  3014  	s.LicenseUrl = &v
  3015  	return s
  3016  }
  3017  
  3018  // SetName sets the Name field's value.
  3019  func (s *GetApplicationOutput) SetName(v string) *GetApplicationOutput {
  3020  	s.Name = &v
  3021  	return s
  3022  }
  3023  
  3024  // SetReadmeUrl sets the ReadmeUrl field's value.
  3025  func (s *GetApplicationOutput) SetReadmeUrl(v string) *GetApplicationOutput {
  3026  	s.ReadmeUrl = &v
  3027  	return s
  3028  }
  3029  
  3030  // SetSpdxLicenseId sets the SpdxLicenseId field's value.
  3031  func (s *GetApplicationOutput) SetSpdxLicenseId(v string) *GetApplicationOutput {
  3032  	s.SpdxLicenseId = &v
  3033  	return s
  3034  }
  3035  
  3036  // SetVerifiedAuthorUrl sets the VerifiedAuthorUrl field's value.
  3037  func (s *GetApplicationOutput) SetVerifiedAuthorUrl(v string) *GetApplicationOutput {
  3038  	s.VerifiedAuthorUrl = &v
  3039  	return s
  3040  }
  3041  
  3042  // SetVersion sets the Version field's value.
  3043  func (s *GetApplicationOutput) SetVersion(v *Version) *GetApplicationOutput {
  3044  	s.Version = v
  3045  	return s
  3046  }
  3047  
  3048  type GetApplicationPolicyInput struct {
  3049  	_ struct{} `type:"structure" nopayload:"true"`
  3050  
  3051  	// ApplicationId is a required field
  3052  	ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"`
  3053  }
  3054  
  3055  // String returns the string representation.
  3056  //
  3057  // API parameter values that are decorated as "sensitive" in the API will not
  3058  // be included in the string output. The member name will be present, but the
  3059  // value will be replaced with "sensitive".
  3060  func (s GetApplicationPolicyInput) String() string {
  3061  	return awsutil.Prettify(s)
  3062  }
  3063  
  3064  // GoString returns the string representation.
  3065  //
  3066  // API parameter values that are decorated as "sensitive" in the API will not
  3067  // be included in the string output. The member name will be present, but the
  3068  // value will be replaced with "sensitive".
  3069  func (s GetApplicationPolicyInput) GoString() string {
  3070  	return s.String()
  3071  }
  3072  
  3073  // Validate inspects the fields of the type to determine if they are valid.
  3074  func (s *GetApplicationPolicyInput) Validate() error {
  3075  	invalidParams := request.ErrInvalidParams{Context: "GetApplicationPolicyInput"}
  3076  	if s.ApplicationId == nil {
  3077  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  3078  	}
  3079  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  3080  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  3081  	}
  3082  
  3083  	if invalidParams.Len() > 0 {
  3084  		return invalidParams
  3085  	}
  3086  	return nil
  3087  }
  3088  
  3089  // SetApplicationId sets the ApplicationId field's value.
  3090  func (s *GetApplicationPolicyInput) SetApplicationId(v string) *GetApplicationPolicyInput {
  3091  	s.ApplicationId = &v
  3092  	return s
  3093  }
  3094  
  3095  type GetApplicationPolicyOutput struct {
  3096  	_ struct{} `type:"structure"`
  3097  
  3098  	Statements []*ApplicationPolicyStatement `locationName:"statements" type:"list"`
  3099  }
  3100  
  3101  // String returns the string representation.
  3102  //
  3103  // API parameter values that are decorated as "sensitive" in the API will not
  3104  // be included in the string output. The member name will be present, but the
  3105  // value will be replaced with "sensitive".
  3106  func (s GetApplicationPolicyOutput) String() string {
  3107  	return awsutil.Prettify(s)
  3108  }
  3109  
  3110  // GoString returns the string representation.
  3111  //
  3112  // API parameter values that are decorated as "sensitive" in the API will not
  3113  // be included in the string output. The member name will be present, but the
  3114  // value will be replaced with "sensitive".
  3115  func (s GetApplicationPolicyOutput) GoString() string {
  3116  	return s.String()
  3117  }
  3118  
  3119  // SetStatements sets the Statements field's value.
  3120  func (s *GetApplicationPolicyOutput) SetStatements(v []*ApplicationPolicyStatement) *GetApplicationPolicyOutput {
  3121  	s.Statements = v
  3122  	return s
  3123  }
  3124  
  3125  type GetCloudFormationTemplateInput struct {
  3126  	_ struct{} `type:"structure" nopayload:"true"`
  3127  
  3128  	// ApplicationId is a required field
  3129  	ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"`
  3130  
  3131  	// TemplateId is a required field
  3132  	TemplateId *string `location:"uri" locationName:"templateId" type:"string" required:"true"`
  3133  }
  3134  
  3135  // String returns the string representation.
  3136  //
  3137  // API parameter values that are decorated as "sensitive" in the API will not
  3138  // be included in the string output. The member name will be present, but the
  3139  // value will be replaced with "sensitive".
  3140  func (s GetCloudFormationTemplateInput) String() string {
  3141  	return awsutil.Prettify(s)
  3142  }
  3143  
  3144  // GoString returns the string representation.
  3145  //
  3146  // API parameter values that are decorated as "sensitive" in the API will not
  3147  // be included in the string output. The member name will be present, but the
  3148  // value will be replaced with "sensitive".
  3149  func (s GetCloudFormationTemplateInput) GoString() string {
  3150  	return s.String()
  3151  }
  3152  
  3153  // Validate inspects the fields of the type to determine if they are valid.
  3154  func (s *GetCloudFormationTemplateInput) Validate() error {
  3155  	invalidParams := request.ErrInvalidParams{Context: "GetCloudFormationTemplateInput"}
  3156  	if s.ApplicationId == nil {
  3157  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  3158  	}
  3159  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  3160  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  3161  	}
  3162  	if s.TemplateId == nil {
  3163  		invalidParams.Add(request.NewErrParamRequired("TemplateId"))
  3164  	}
  3165  	if s.TemplateId != nil && len(*s.TemplateId) < 1 {
  3166  		invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1))
  3167  	}
  3168  
  3169  	if invalidParams.Len() > 0 {
  3170  		return invalidParams
  3171  	}
  3172  	return nil
  3173  }
  3174  
  3175  // SetApplicationId sets the ApplicationId field's value.
  3176  func (s *GetCloudFormationTemplateInput) SetApplicationId(v string) *GetCloudFormationTemplateInput {
  3177  	s.ApplicationId = &v
  3178  	return s
  3179  }
  3180  
  3181  // SetTemplateId sets the TemplateId field's value.
  3182  func (s *GetCloudFormationTemplateInput) SetTemplateId(v string) *GetCloudFormationTemplateInput {
  3183  	s.TemplateId = &v
  3184  	return s
  3185  }
  3186  
  3187  type GetCloudFormationTemplateOutput struct {
  3188  	_ struct{} `type:"structure"`
  3189  
  3190  	ApplicationId *string `locationName:"applicationId" type:"string"`
  3191  
  3192  	CreationTime *string `locationName:"creationTime" type:"string"`
  3193  
  3194  	ExpirationTime *string `locationName:"expirationTime" type:"string"`
  3195  
  3196  	SemanticVersion *string `locationName:"semanticVersion" type:"string"`
  3197  
  3198  	Status *string `locationName:"status" type:"string" enum:"Status"`
  3199  
  3200  	TemplateId *string `locationName:"templateId" type:"string"`
  3201  
  3202  	TemplateUrl *string `locationName:"templateUrl" type:"string"`
  3203  }
  3204  
  3205  // String returns the string representation.
  3206  //
  3207  // API parameter values that are decorated as "sensitive" in the API will not
  3208  // be included in the string output. The member name will be present, but the
  3209  // value will be replaced with "sensitive".
  3210  func (s GetCloudFormationTemplateOutput) String() string {
  3211  	return awsutil.Prettify(s)
  3212  }
  3213  
  3214  // GoString returns the string representation.
  3215  //
  3216  // API parameter values that are decorated as "sensitive" in the API will not
  3217  // be included in the string output. The member name will be present, but the
  3218  // value will be replaced with "sensitive".
  3219  func (s GetCloudFormationTemplateOutput) GoString() string {
  3220  	return s.String()
  3221  }
  3222  
  3223  // SetApplicationId sets the ApplicationId field's value.
  3224  func (s *GetCloudFormationTemplateOutput) SetApplicationId(v string) *GetCloudFormationTemplateOutput {
  3225  	s.ApplicationId = &v
  3226  	return s
  3227  }
  3228  
  3229  // SetCreationTime sets the CreationTime field's value.
  3230  func (s *GetCloudFormationTemplateOutput) SetCreationTime(v string) *GetCloudFormationTemplateOutput {
  3231  	s.CreationTime = &v
  3232  	return s
  3233  }
  3234  
  3235  // SetExpirationTime sets the ExpirationTime field's value.
  3236  func (s *GetCloudFormationTemplateOutput) SetExpirationTime(v string) *GetCloudFormationTemplateOutput {
  3237  	s.ExpirationTime = &v
  3238  	return s
  3239  }
  3240  
  3241  // SetSemanticVersion sets the SemanticVersion field's value.
  3242  func (s *GetCloudFormationTemplateOutput) SetSemanticVersion(v string) *GetCloudFormationTemplateOutput {
  3243  	s.SemanticVersion = &v
  3244  	return s
  3245  }
  3246  
  3247  // SetStatus sets the Status field's value.
  3248  func (s *GetCloudFormationTemplateOutput) SetStatus(v string) *GetCloudFormationTemplateOutput {
  3249  	s.Status = &v
  3250  	return s
  3251  }
  3252  
  3253  // SetTemplateId sets the TemplateId field's value.
  3254  func (s *GetCloudFormationTemplateOutput) SetTemplateId(v string) *GetCloudFormationTemplateOutput {
  3255  	s.TemplateId = &v
  3256  	return s
  3257  }
  3258  
  3259  // SetTemplateUrl sets the TemplateUrl field's value.
  3260  func (s *GetCloudFormationTemplateOutput) SetTemplateUrl(v string) *GetCloudFormationTemplateOutput {
  3261  	s.TemplateUrl = &v
  3262  	return s
  3263  }
  3264  
  3265  // The AWS Serverless Application Repository service encountered an internal
  3266  // error.
  3267  type InternalServerErrorException struct {
  3268  	_            struct{}                  `type:"structure"`
  3269  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3270  
  3271  	// 500
  3272  	ErrorCode *string `locationName:"errorCode" type:"string"`
  3273  
  3274  	// The AWS Serverless Application Repository service encountered an internal
  3275  	// error.
  3276  	Message_ *string `locationName:"message" type:"string"`
  3277  }
  3278  
  3279  // String returns the string representation.
  3280  //
  3281  // API parameter values that are decorated as "sensitive" in the API will not
  3282  // be included in the string output. The member name will be present, but the
  3283  // value will be replaced with "sensitive".
  3284  func (s InternalServerErrorException) String() string {
  3285  	return awsutil.Prettify(s)
  3286  }
  3287  
  3288  // GoString returns the string representation.
  3289  //
  3290  // API parameter values that are decorated as "sensitive" in the API will not
  3291  // be included in the string output. The member name will be present, but the
  3292  // value will be replaced with "sensitive".
  3293  func (s InternalServerErrorException) GoString() string {
  3294  	return s.String()
  3295  }
  3296  
  3297  func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
  3298  	return &InternalServerErrorException{
  3299  		RespMetadata: v,
  3300  	}
  3301  }
  3302  
  3303  // Code returns the exception type name.
  3304  func (s *InternalServerErrorException) Code() string {
  3305  	return "InternalServerErrorException"
  3306  }
  3307  
  3308  // Message returns the exception's message.
  3309  func (s *InternalServerErrorException) Message() string {
  3310  	if s.Message_ != nil {
  3311  		return *s.Message_
  3312  	}
  3313  	return ""
  3314  }
  3315  
  3316  // OrigErr always returns nil, satisfies awserr.Error interface.
  3317  func (s *InternalServerErrorException) OrigErr() error {
  3318  	return nil
  3319  }
  3320  
  3321  func (s *InternalServerErrorException) Error() string {
  3322  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  3323  }
  3324  
  3325  // Status code returns the HTTP status code for the request's response error.
  3326  func (s *InternalServerErrorException) StatusCode() int {
  3327  	return s.RespMetadata.StatusCode
  3328  }
  3329  
  3330  // RequestID returns the service's response RequestID for request.
  3331  func (s *InternalServerErrorException) RequestID() string {
  3332  	return s.RespMetadata.RequestID
  3333  }
  3334  
  3335  type ListApplicationDependenciesInput struct {
  3336  	_ struct{} `type:"structure" nopayload:"true"`
  3337  
  3338  	// ApplicationId is a required field
  3339  	ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"`
  3340  
  3341  	MaxItems *int64 `location:"querystring" locationName:"maxItems" min:"1" type:"integer"`
  3342  
  3343  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  3344  
  3345  	SemanticVersion *string `location:"querystring" locationName:"semanticVersion" type:"string"`
  3346  }
  3347  
  3348  // String returns the string representation.
  3349  //
  3350  // API parameter values that are decorated as "sensitive" in the API will not
  3351  // be included in the string output. The member name will be present, but the
  3352  // value will be replaced with "sensitive".
  3353  func (s ListApplicationDependenciesInput) String() string {
  3354  	return awsutil.Prettify(s)
  3355  }
  3356  
  3357  // GoString returns the string representation.
  3358  //
  3359  // API parameter values that are decorated as "sensitive" in the API will not
  3360  // be included in the string output. The member name will be present, but the
  3361  // value will be replaced with "sensitive".
  3362  func (s ListApplicationDependenciesInput) GoString() string {
  3363  	return s.String()
  3364  }
  3365  
  3366  // Validate inspects the fields of the type to determine if they are valid.
  3367  func (s *ListApplicationDependenciesInput) Validate() error {
  3368  	invalidParams := request.ErrInvalidParams{Context: "ListApplicationDependenciesInput"}
  3369  	if s.ApplicationId == nil {
  3370  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  3371  	}
  3372  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  3373  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  3374  	}
  3375  	if s.MaxItems != nil && *s.MaxItems < 1 {
  3376  		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  3377  	}
  3378  
  3379  	if invalidParams.Len() > 0 {
  3380  		return invalidParams
  3381  	}
  3382  	return nil
  3383  }
  3384  
  3385  // SetApplicationId sets the ApplicationId field's value.
  3386  func (s *ListApplicationDependenciesInput) SetApplicationId(v string) *ListApplicationDependenciesInput {
  3387  	s.ApplicationId = &v
  3388  	return s
  3389  }
  3390  
  3391  // SetMaxItems sets the MaxItems field's value.
  3392  func (s *ListApplicationDependenciesInput) SetMaxItems(v int64) *ListApplicationDependenciesInput {
  3393  	s.MaxItems = &v
  3394  	return s
  3395  }
  3396  
  3397  // SetNextToken sets the NextToken field's value.
  3398  func (s *ListApplicationDependenciesInput) SetNextToken(v string) *ListApplicationDependenciesInput {
  3399  	s.NextToken = &v
  3400  	return s
  3401  }
  3402  
  3403  // SetSemanticVersion sets the SemanticVersion field's value.
  3404  func (s *ListApplicationDependenciesInput) SetSemanticVersion(v string) *ListApplicationDependenciesInput {
  3405  	s.SemanticVersion = &v
  3406  	return s
  3407  }
  3408  
  3409  type ListApplicationDependenciesOutput struct {
  3410  	_ struct{} `type:"structure"`
  3411  
  3412  	Dependencies []*ApplicationDependencySummary `locationName:"dependencies" type:"list"`
  3413  
  3414  	NextToken *string `locationName:"nextToken" type:"string"`
  3415  }
  3416  
  3417  // String returns the string representation.
  3418  //
  3419  // API parameter values that are decorated as "sensitive" in the API will not
  3420  // be included in the string output. The member name will be present, but the
  3421  // value will be replaced with "sensitive".
  3422  func (s ListApplicationDependenciesOutput) String() string {
  3423  	return awsutil.Prettify(s)
  3424  }
  3425  
  3426  // GoString returns the string representation.
  3427  //
  3428  // API parameter values that are decorated as "sensitive" in the API will not
  3429  // be included in the string output. The member name will be present, but the
  3430  // value will be replaced with "sensitive".
  3431  func (s ListApplicationDependenciesOutput) GoString() string {
  3432  	return s.String()
  3433  }
  3434  
  3435  // SetDependencies sets the Dependencies field's value.
  3436  func (s *ListApplicationDependenciesOutput) SetDependencies(v []*ApplicationDependencySummary) *ListApplicationDependenciesOutput {
  3437  	s.Dependencies = v
  3438  	return s
  3439  }
  3440  
  3441  // SetNextToken sets the NextToken field's value.
  3442  func (s *ListApplicationDependenciesOutput) SetNextToken(v string) *ListApplicationDependenciesOutput {
  3443  	s.NextToken = &v
  3444  	return s
  3445  }
  3446  
  3447  type ListApplicationVersionsInput struct {
  3448  	_ struct{} `type:"structure" nopayload:"true"`
  3449  
  3450  	// ApplicationId is a required field
  3451  	ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"`
  3452  
  3453  	MaxItems *int64 `location:"querystring" locationName:"maxItems" min:"1" type:"integer"`
  3454  
  3455  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  3456  }
  3457  
  3458  // String returns the string representation.
  3459  //
  3460  // API parameter values that are decorated as "sensitive" in the API will not
  3461  // be included in the string output. The member name will be present, but the
  3462  // value will be replaced with "sensitive".
  3463  func (s ListApplicationVersionsInput) String() string {
  3464  	return awsutil.Prettify(s)
  3465  }
  3466  
  3467  // GoString returns the string representation.
  3468  //
  3469  // API parameter values that are decorated as "sensitive" in the API will not
  3470  // be included in the string output. The member name will be present, but the
  3471  // value will be replaced with "sensitive".
  3472  func (s ListApplicationVersionsInput) GoString() string {
  3473  	return s.String()
  3474  }
  3475  
  3476  // Validate inspects the fields of the type to determine if they are valid.
  3477  func (s *ListApplicationVersionsInput) Validate() error {
  3478  	invalidParams := request.ErrInvalidParams{Context: "ListApplicationVersionsInput"}
  3479  	if s.ApplicationId == nil {
  3480  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  3481  	}
  3482  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  3483  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  3484  	}
  3485  	if s.MaxItems != nil && *s.MaxItems < 1 {
  3486  		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  3487  	}
  3488  
  3489  	if invalidParams.Len() > 0 {
  3490  		return invalidParams
  3491  	}
  3492  	return nil
  3493  }
  3494  
  3495  // SetApplicationId sets the ApplicationId field's value.
  3496  func (s *ListApplicationVersionsInput) SetApplicationId(v string) *ListApplicationVersionsInput {
  3497  	s.ApplicationId = &v
  3498  	return s
  3499  }
  3500  
  3501  // SetMaxItems sets the MaxItems field's value.
  3502  func (s *ListApplicationVersionsInput) SetMaxItems(v int64) *ListApplicationVersionsInput {
  3503  	s.MaxItems = &v
  3504  	return s
  3505  }
  3506  
  3507  // SetNextToken sets the NextToken field's value.
  3508  func (s *ListApplicationVersionsInput) SetNextToken(v string) *ListApplicationVersionsInput {
  3509  	s.NextToken = &v
  3510  	return s
  3511  }
  3512  
  3513  type ListApplicationVersionsOutput struct {
  3514  	_ struct{} `type:"structure"`
  3515  
  3516  	NextToken *string `locationName:"nextToken" type:"string"`
  3517  
  3518  	Versions []*VersionSummary `locationName:"versions" type:"list"`
  3519  }
  3520  
  3521  // String returns the string representation.
  3522  //
  3523  // API parameter values that are decorated as "sensitive" in the API will not
  3524  // be included in the string output. The member name will be present, but the
  3525  // value will be replaced with "sensitive".
  3526  func (s ListApplicationVersionsOutput) String() string {
  3527  	return awsutil.Prettify(s)
  3528  }
  3529  
  3530  // GoString returns the string representation.
  3531  //
  3532  // API parameter values that are decorated as "sensitive" in the API will not
  3533  // be included in the string output. The member name will be present, but the
  3534  // value will be replaced with "sensitive".
  3535  func (s ListApplicationVersionsOutput) GoString() string {
  3536  	return s.String()
  3537  }
  3538  
  3539  // SetNextToken sets the NextToken field's value.
  3540  func (s *ListApplicationVersionsOutput) SetNextToken(v string) *ListApplicationVersionsOutput {
  3541  	s.NextToken = &v
  3542  	return s
  3543  }
  3544  
  3545  // SetVersions sets the Versions field's value.
  3546  func (s *ListApplicationVersionsOutput) SetVersions(v []*VersionSummary) *ListApplicationVersionsOutput {
  3547  	s.Versions = v
  3548  	return s
  3549  }
  3550  
  3551  type ListApplicationsInput struct {
  3552  	_ struct{} `type:"structure" nopayload:"true"`
  3553  
  3554  	MaxItems *int64 `location:"querystring" locationName:"maxItems" min:"1" type:"integer"`
  3555  
  3556  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
  3557  }
  3558  
  3559  // String returns the string representation.
  3560  //
  3561  // API parameter values that are decorated as "sensitive" in the API will not
  3562  // be included in the string output. The member name will be present, but the
  3563  // value will be replaced with "sensitive".
  3564  func (s ListApplicationsInput) String() string {
  3565  	return awsutil.Prettify(s)
  3566  }
  3567  
  3568  // GoString returns the string representation.
  3569  //
  3570  // API parameter values that are decorated as "sensitive" in the API will not
  3571  // be included in the string output. The member name will be present, but the
  3572  // value will be replaced with "sensitive".
  3573  func (s ListApplicationsInput) GoString() string {
  3574  	return s.String()
  3575  }
  3576  
  3577  // Validate inspects the fields of the type to determine if they are valid.
  3578  func (s *ListApplicationsInput) Validate() error {
  3579  	invalidParams := request.ErrInvalidParams{Context: "ListApplicationsInput"}
  3580  	if s.MaxItems != nil && *s.MaxItems < 1 {
  3581  		invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  3582  	}
  3583  
  3584  	if invalidParams.Len() > 0 {
  3585  		return invalidParams
  3586  	}
  3587  	return nil
  3588  }
  3589  
  3590  // SetMaxItems sets the MaxItems field's value.
  3591  func (s *ListApplicationsInput) SetMaxItems(v int64) *ListApplicationsInput {
  3592  	s.MaxItems = &v
  3593  	return s
  3594  }
  3595  
  3596  // SetNextToken sets the NextToken field's value.
  3597  func (s *ListApplicationsInput) SetNextToken(v string) *ListApplicationsInput {
  3598  	s.NextToken = &v
  3599  	return s
  3600  }
  3601  
  3602  type ListApplicationsOutput struct {
  3603  	_ struct{} `type:"structure"`
  3604  
  3605  	Applications []*ApplicationSummary `locationName:"applications" type:"list"`
  3606  
  3607  	NextToken *string `locationName:"nextToken" type:"string"`
  3608  }
  3609  
  3610  // String returns the string representation.
  3611  //
  3612  // API parameter values that are decorated as "sensitive" in the API will not
  3613  // be included in the string output. The member name will be present, but the
  3614  // value will be replaced with "sensitive".
  3615  func (s ListApplicationsOutput) String() string {
  3616  	return awsutil.Prettify(s)
  3617  }
  3618  
  3619  // GoString returns the string representation.
  3620  //
  3621  // API parameter values that are decorated as "sensitive" in the API will not
  3622  // be included in the string output. The member name will be present, but the
  3623  // value will be replaced with "sensitive".
  3624  func (s ListApplicationsOutput) GoString() string {
  3625  	return s.String()
  3626  }
  3627  
  3628  // SetApplications sets the Applications field's value.
  3629  func (s *ListApplicationsOutput) SetApplications(v []*ApplicationSummary) *ListApplicationsOutput {
  3630  	s.Applications = v
  3631  	return s
  3632  }
  3633  
  3634  // SetNextToken sets the NextToken field's value.
  3635  func (s *ListApplicationsOutput) SetNextToken(v string) *ListApplicationsOutput {
  3636  	s.NextToken = &v
  3637  	return s
  3638  }
  3639  
  3640  // The resource (for example, an access policy statement) specified in the request
  3641  // doesn't exist.
  3642  type NotFoundException struct {
  3643  	_            struct{}                  `type:"structure"`
  3644  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3645  
  3646  	// 404
  3647  	ErrorCode *string `locationName:"errorCode" type:"string"`
  3648  
  3649  	// The resource (for example, an access policy statement) specified in the request
  3650  	// doesn't exist.
  3651  	Message_ *string `locationName:"message" type:"string"`
  3652  }
  3653  
  3654  // String returns the string representation.
  3655  //
  3656  // API parameter values that are decorated as "sensitive" in the API will not
  3657  // be included in the string output. The member name will be present, but the
  3658  // value will be replaced with "sensitive".
  3659  func (s NotFoundException) String() string {
  3660  	return awsutil.Prettify(s)
  3661  }
  3662  
  3663  // GoString returns the string representation.
  3664  //
  3665  // API parameter values that are decorated as "sensitive" in the API will not
  3666  // be included in the string output. The member name will be present, but the
  3667  // value will be replaced with "sensitive".
  3668  func (s NotFoundException) GoString() string {
  3669  	return s.String()
  3670  }
  3671  
  3672  func newErrorNotFoundException(v protocol.ResponseMetadata) error {
  3673  	return &NotFoundException{
  3674  		RespMetadata: v,
  3675  	}
  3676  }
  3677  
  3678  // Code returns the exception type name.
  3679  func (s *NotFoundException) Code() string {
  3680  	return "NotFoundException"
  3681  }
  3682  
  3683  // Message returns the exception's message.
  3684  func (s *NotFoundException) Message() string {
  3685  	if s.Message_ != nil {
  3686  		return *s.Message_
  3687  	}
  3688  	return ""
  3689  }
  3690  
  3691  // OrigErr always returns nil, satisfies awserr.Error interface.
  3692  func (s *NotFoundException) OrigErr() error {
  3693  	return nil
  3694  }
  3695  
  3696  func (s *NotFoundException) Error() string {
  3697  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  3698  }
  3699  
  3700  // Status code returns the HTTP status code for the request's response error.
  3701  func (s *NotFoundException) StatusCode() int {
  3702  	return s.RespMetadata.StatusCode
  3703  }
  3704  
  3705  // RequestID returns the service's response RequestID for request.
  3706  func (s *NotFoundException) RequestID() string {
  3707  	return s.RespMetadata.RequestID
  3708  }
  3709  
  3710  // Parameters supported by the application.
  3711  type ParameterDefinition struct {
  3712  	_ struct{} `type:"structure"`
  3713  
  3714  	// A regular expression that represents the patterns to allow for String types.
  3715  	AllowedPattern *string `locationName:"allowedPattern" type:"string"`
  3716  
  3717  	// An array containing the list of values allowed for the parameter.
  3718  	AllowedValues []*string `locationName:"allowedValues" type:"list"`
  3719  
  3720  	// A string that explains a constraint when the constraint is violated. For
  3721  	// example, without a constraint description, a parameter that has an allowed
  3722  	// pattern of [A-Za-z0-9]+ displays the following error message when the user
  3723  	// specifies an invalid value:
  3724  	//
  3725  	// Malformed input-Parameter MyParameter must match pattern [A-Za-z0-9]+
  3726  	//
  3727  	// By adding a constraint description, such as "must contain only uppercase
  3728  	// and lowercase letters and numbers," you can display the following customized
  3729  	// error message:
  3730  	//
  3731  	// Malformed input-Parameter MyParameter must contain only uppercase and lowercase
  3732  	// letters and numbers.
  3733  	ConstraintDescription *string `locationName:"constraintDescription" type:"string"`
  3734  
  3735  	// A value of the appropriate type for the template to use if no value is specified
  3736  	// when a stack is created. If you define constraints for the parameter, you
  3737  	// must specify a value that adheres to those constraints.
  3738  	DefaultValue *string `locationName:"defaultValue" type:"string"`
  3739  
  3740  	// A string of up to 4,000 characters that describes the parameter.
  3741  	Description *string `locationName:"description" type:"string"`
  3742  
  3743  	// An integer value that determines the largest number of characters that you
  3744  	// want to allow for String types.
  3745  	MaxLength *int64 `locationName:"maxLength" type:"integer"`
  3746  
  3747  	// A numeric value that determines the largest numeric value that you want to
  3748  	// allow for Number types.
  3749  	MaxValue *int64 `locationName:"maxValue" type:"integer"`
  3750  
  3751  	// An integer value that determines the smallest number of characters that you
  3752  	// want to allow for String types.
  3753  	MinLength *int64 `locationName:"minLength" type:"integer"`
  3754  
  3755  	// A numeric value that determines the smallest numeric value that you want
  3756  	// to allow for Number types.
  3757  	MinValue *int64 `locationName:"minValue" type:"integer"`
  3758  
  3759  	// The name of the parameter.
  3760  	//
  3761  	// Name is a required field
  3762  	Name *string `locationName:"name" type:"string" required:"true"`
  3763  
  3764  	// Whether to mask the parameter value whenever anyone makes a call that describes
  3765  	// the stack. If you set the value to true, the parameter value is masked with
  3766  	// asterisks (*****).
  3767  	NoEcho *bool `locationName:"noEcho" type:"boolean"`
  3768  
  3769  	// A list of AWS SAM resources that use this parameter.
  3770  	//
  3771  	// ReferencedByResources is a required field
  3772  	ReferencedByResources []*string `locationName:"referencedByResources" type:"list" required:"true"`
  3773  
  3774  	// The type of the parameter.
  3775  	//
  3776  	// Valid values: String | Number | List<Number> | CommaDelimitedList
  3777  	//
  3778  	// String: A literal string.
  3779  	//
  3780  	// For example, users can specify "MyUserName".
  3781  	//
  3782  	// Number: An integer or float. AWS CloudFormation validates the parameter value
  3783  	// as a number. However, when you use the parameter elsewhere in your template
  3784  	// (for example, by using the Ref intrinsic function), the parameter value becomes
  3785  	// a string.
  3786  	//
  3787  	// For example, users might specify "8888".
  3788  	//
  3789  	// List<Number>: An array of integers or floats that are separated by commas.
  3790  	// AWS CloudFormation validates the parameter value as numbers. However, when
  3791  	// you use the parameter elsewhere in your template (for example, by using the
  3792  	// Ref intrinsic function), the parameter value becomes a list of strings.
  3793  	//
  3794  	// For example, users might specify "80,20", and then Ref results in ["80","20"].
  3795  	//
  3796  	// CommaDelimitedList: An array of literal strings that are separated by commas.
  3797  	// The total number of strings should be one more than the total number of commas.
  3798  	// Also, each member string is space-trimmed.
  3799  	//
  3800  	// For example, users might specify "test,dev,prod", and then Ref results in
  3801  	// ["test","dev","prod"].
  3802  	Type *string `locationName:"type" type:"string"`
  3803  }
  3804  
  3805  // String returns the string representation.
  3806  //
  3807  // API parameter values that are decorated as "sensitive" in the API will not
  3808  // be included in the string output. The member name will be present, but the
  3809  // value will be replaced with "sensitive".
  3810  func (s ParameterDefinition) String() string {
  3811  	return awsutil.Prettify(s)
  3812  }
  3813  
  3814  // GoString returns the string representation.
  3815  //
  3816  // API parameter values that are decorated as "sensitive" in the API will not
  3817  // be included in the string output. The member name will be present, but the
  3818  // value will be replaced with "sensitive".
  3819  func (s ParameterDefinition) GoString() string {
  3820  	return s.String()
  3821  }
  3822  
  3823  // SetAllowedPattern sets the AllowedPattern field's value.
  3824  func (s *ParameterDefinition) SetAllowedPattern(v string) *ParameterDefinition {
  3825  	s.AllowedPattern = &v
  3826  	return s
  3827  }
  3828  
  3829  // SetAllowedValues sets the AllowedValues field's value.
  3830  func (s *ParameterDefinition) SetAllowedValues(v []*string) *ParameterDefinition {
  3831  	s.AllowedValues = v
  3832  	return s
  3833  }
  3834  
  3835  // SetConstraintDescription sets the ConstraintDescription field's value.
  3836  func (s *ParameterDefinition) SetConstraintDescription(v string) *ParameterDefinition {
  3837  	s.ConstraintDescription = &v
  3838  	return s
  3839  }
  3840  
  3841  // SetDefaultValue sets the DefaultValue field's value.
  3842  func (s *ParameterDefinition) SetDefaultValue(v string) *ParameterDefinition {
  3843  	s.DefaultValue = &v
  3844  	return s
  3845  }
  3846  
  3847  // SetDescription sets the Description field's value.
  3848  func (s *ParameterDefinition) SetDescription(v string) *ParameterDefinition {
  3849  	s.Description = &v
  3850  	return s
  3851  }
  3852  
  3853  // SetMaxLength sets the MaxLength field's value.
  3854  func (s *ParameterDefinition) SetMaxLength(v int64) *ParameterDefinition {
  3855  	s.MaxLength = &v
  3856  	return s
  3857  }
  3858  
  3859  // SetMaxValue sets the MaxValue field's value.
  3860  func (s *ParameterDefinition) SetMaxValue(v int64) *ParameterDefinition {
  3861  	s.MaxValue = &v
  3862  	return s
  3863  }
  3864  
  3865  // SetMinLength sets the MinLength field's value.
  3866  func (s *ParameterDefinition) SetMinLength(v int64) *ParameterDefinition {
  3867  	s.MinLength = &v
  3868  	return s
  3869  }
  3870  
  3871  // SetMinValue sets the MinValue field's value.
  3872  func (s *ParameterDefinition) SetMinValue(v int64) *ParameterDefinition {
  3873  	s.MinValue = &v
  3874  	return s
  3875  }
  3876  
  3877  // SetName sets the Name field's value.
  3878  func (s *ParameterDefinition) SetName(v string) *ParameterDefinition {
  3879  	s.Name = &v
  3880  	return s
  3881  }
  3882  
  3883  // SetNoEcho sets the NoEcho field's value.
  3884  func (s *ParameterDefinition) SetNoEcho(v bool) *ParameterDefinition {
  3885  	s.NoEcho = &v
  3886  	return s
  3887  }
  3888  
  3889  // SetReferencedByResources sets the ReferencedByResources field's value.
  3890  func (s *ParameterDefinition) SetReferencedByResources(v []*string) *ParameterDefinition {
  3891  	s.ReferencedByResources = v
  3892  	return s
  3893  }
  3894  
  3895  // SetType sets the Type field's value.
  3896  func (s *ParameterDefinition) SetType(v string) *ParameterDefinition {
  3897  	s.Type = &v
  3898  	return s
  3899  }
  3900  
  3901  // Parameter value of the application.
  3902  type ParameterValue struct {
  3903  	_ struct{} `type:"structure"`
  3904  
  3905  	// The key associated with the parameter. If you don't specify a key and value
  3906  	// for a particular parameter, AWS CloudFormation uses the default value that
  3907  	// is specified in your template.
  3908  	//
  3909  	// Name is a required field
  3910  	Name *string `locationName:"name" type:"string" required:"true"`
  3911  
  3912  	// The input value associated with the parameter.
  3913  	//
  3914  	// Value is a required field
  3915  	Value *string `locationName:"value" type:"string" required:"true"`
  3916  }
  3917  
  3918  // String returns the string representation.
  3919  //
  3920  // API parameter values that are decorated as "sensitive" in the API will not
  3921  // be included in the string output. The member name will be present, but the
  3922  // value will be replaced with "sensitive".
  3923  func (s ParameterValue) String() string {
  3924  	return awsutil.Prettify(s)
  3925  }
  3926  
  3927  // GoString returns the string representation.
  3928  //
  3929  // API parameter values that are decorated as "sensitive" in the API will not
  3930  // be included in the string output. The member name will be present, but the
  3931  // value will be replaced with "sensitive".
  3932  func (s ParameterValue) GoString() string {
  3933  	return s.String()
  3934  }
  3935  
  3936  // Validate inspects the fields of the type to determine if they are valid.
  3937  func (s *ParameterValue) Validate() error {
  3938  	invalidParams := request.ErrInvalidParams{Context: "ParameterValue"}
  3939  	if s.Name == nil {
  3940  		invalidParams.Add(request.NewErrParamRequired("Name"))
  3941  	}
  3942  	if s.Value == nil {
  3943  		invalidParams.Add(request.NewErrParamRequired("Value"))
  3944  	}
  3945  
  3946  	if invalidParams.Len() > 0 {
  3947  		return invalidParams
  3948  	}
  3949  	return nil
  3950  }
  3951  
  3952  // SetName sets the Name field's value.
  3953  func (s *ParameterValue) SetName(v string) *ParameterValue {
  3954  	s.Name = &v
  3955  	return s
  3956  }
  3957  
  3958  // SetValue sets the Value field's value.
  3959  func (s *ParameterValue) SetValue(v string) *ParameterValue {
  3960  	s.Value = &v
  3961  	return s
  3962  }
  3963  
  3964  type PutApplicationPolicyInput struct {
  3965  	_ struct{} `type:"structure"`
  3966  
  3967  	// ApplicationId is a required field
  3968  	ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"`
  3969  
  3970  	// Statements is a required field
  3971  	Statements []*ApplicationPolicyStatement `locationName:"statements" type:"list" required:"true"`
  3972  }
  3973  
  3974  // String returns the string representation.
  3975  //
  3976  // API parameter values that are decorated as "sensitive" in the API will not
  3977  // be included in the string output. The member name will be present, but the
  3978  // value will be replaced with "sensitive".
  3979  func (s PutApplicationPolicyInput) String() string {
  3980  	return awsutil.Prettify(s)
  3981  }
  3982  
  3983  // GoString returns the string representation.
  3984  //
  3985  // API parameter values that are decorated as "sensitive" in the API will not
  3986  // be included in the string output. The member name will be present, but the
  3987  // value will be replaced with "sensitive".
  3988  func (s PutApplicationPolicyInput) GoString() string {
  3989  	return s.String()
  3990  }
  3991  
  3992  // Validate inspects the fields of the type to determine if they are valid.
  3993  func (s *PutApplicationPolicyInput) Validate() error {
  3994  	invalidParams := request.ErrInvalidParams{Context: "PutApplicationPolicyInput"}
  3995  	if s.ApplicationId == nil {
  3996  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  3997  	}
  3998  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  3999  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  4000  	}
  4001  	if s.Statements == nil {
  4002  		invalidParams.Add(request.NewErrParamRequired("Statements"))
  4003  	}
  4004  	if s.Statements != nil {
  4005  		for i, v := range s.Statements {
  4006  			if v == nil {
  4007  				continue
  4008  			}
  4009  			if err := v.Validate(); err != nil {
  4010  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Statements", i), err.(request.ErrInvalidParams))
  4011  			}
  4012  		}
  4013  	}
  4014  
  4015  	if invalidParams.Len() > 0 {
  4016  		return invalidParams
  4017  	}
  4018  	return nil
  4019  }
  4020  
  4021  // SetApplicationId sets the ApplicationId field's value.
  4022  func (s *PutApplicationPolicyInput) SetApplicationId(v string) *PutApplicationPolicyInput {
  4023  	s.ApplicationId = &v
  4024  	return s
  4025  }
  4026  
  4027  // SetStatements sets the Statements field's value.
  4028  func (s *PutApplicationPolicyInput) SetStatements(v []*ApplicationPolicyStatement) *PutApplicationPolicyInput {
  4029  	s.Statements = v
  4030  	return s
  4031  }
  4032  
  4033  type PutApplicationPolicyOutput struct {
  4034  	_ struct{} `type:"structure"`
  4035  
  4036  	Statements []*ApplicationPolicyStatement `locationName:"statements" type:"list"`
  4037  }
  4038  
  4039  // String returns the string representation.
  4040  //
  4041  // API parameter values that are decorated as "sensitive" in the API will not
  4042  // be included in the string output. The member name will be present, but the
  4043  // value will be replaced with "sensitive".
  4044  func (s PutApplicationPolicyOutput) String() string {
  4045  	return awsutil.Prettify(s)
  4046  }
  4047  
  4048  // GoString returns the string representation.
  4049  //
  4050  // API parameter values that are decorated as "sensitive" in the API will not
  4051  // be included in the string output. The member name will be present, but the
  4052  // value will be replaced with "sensitive".
  4053  func (s PutApplicationPolicyOutput) GoString() string {
  4054  	return s.String()
  4055  }
  4056  
  4057  // SetStatements sets the Statements field's value.
  4058  func (s *PutApplicationPolicyOutput) SetStatements(v []*ApplicationPolicyStatement) *PutApplicationPolicyOutput {
  4059  	s.Statements = v
  4060  	return s
  4061  }
  4062  
  4063  // This property corresponds to the AWS CloudFormation RollbackConfiguration
  4064  // (https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackConfiguration)
  4065  // Data Type.
  4066  type RollbackConfiguration struct {
  4067  	_ struct{} `type:"structure"`
  4068  
  4069  	// This property corresponds to the content of the same name for the AWS CloudFormation
  4070  	// RollbackConfiguration (https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackConfiguration)
  4071  	// Data Type.
  4072  	MonitoringTimeInMinutes *int64 `locationName:"monitoringTimeInMinutes" type:"integer"`
  4073  
  4074  	// This property corresponds to the content of the same name for the AWS CloudFormation
  4075  	// RollbackConfiguration (https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackConfiguration)
  4076  	// Data Type.
  4077  	RollbackTriggers []*RollbackTrigger `locationName:"rollbackTriggers" type:"list"`
  4078  }
  4079  
  4080  // String returns the string representation.
  4081  //
  4082  // API parameter values that are decorated as "sensitive" in the API will not
  4083  // be included in the string output. The member name will be present, but the
  4084  // value will be replaced with "sensitive".
  4085  func (s RollbackConfiguration) String() string {
  4086  	return awsutil.Prettify(s)
  4087  }
  4088  
  4089  // GoString returns the string representation.
  4090  //
  4091  // API parameter values that are decorated as "sensitive" in the API will not
  4092  // be included in the string output. The member name will be present, but the
  4093  // value will be replaced with "sensitive".
  4094  func (s RollbackConfiguration) GoString() string {
  4095  	return s.String()
  4096  }
  4097  
  4098  // Validate inspects the fields of the type to determine if they are valid.
  4099  func (s *RollbackConfiguration) Validate() error {
  4100  	invalidParams := request.ErrInvalidParams{Context: "RollbackConfiguration"}
  4101  	if s.RollbackTriggers != nil {
  4102  		for i, v := range s.RollbackTriggers {
  4103  			if v == nil {
  4104  				continue
  4105  			}
  4106  			if err := v.Validate(); err != nil {
  4107  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RollbackTriggers", i), err.(request.ErrInvalidParams))
  4108  			}
  4109  		}
  4110  	}
  4111  
  4112  	if invalidParams.Len() > 0 {
  4113  		return invalidParams
  4114  	}
  4115  	return nil
  4116  }
  4117  
  4118  // SetMonitoringTimeInMinutes sets the MonitoringTimeInMinutes field's value.
  4119  func (s *RollbackConfiguration) SetMonitoringTimeInMinutes(v int64) *RollbackConfiguration {
  4120  	s.MonitoringTimeInMinutes = &v
  4121  	return s
  4122  }
  4123  
  4124  // SetRollbackTriggers sets the RollbackTriggers field's value.
  4125  func (s *RollbackConfiguration) SetRollbackTriggers(v []*RollbackTrigger) *RollbackConfiguration {
  4126  	s.RollbackTriggers = v
  4127  	return s
  4128  }
  4129  
  4130  // This property corresponds to the AWS CloudFormation RollbackTrigger (https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackTrigger)
  4131  // Data Type.
  4132  type RollbackTrigger struct {
  4133  	_ struct{} `type:"structure"`
  4134  
  4135  	// This property corresponds to the content of the same name for the AWS CloudFormation
  4136  	// RollbackTrigger (https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackTrigger)
  4137  	// Data Type.
  4138  	//
  4139  	// Arn is a required field
  4140  	Arn *string `locationName:"arn" type:"string" required:"true"`
  4141  
  4142  	// This property corresponds to the content of the same name for the AWS CloudFormation
  4143  	// RollbackTrigger (https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackTrigger)
  4144  	// Data Type.
  4145  	//
  4146  	// Type is a required field
  4147  	Type *string `locationName:"type" type:"string" required:"true"`
  4148  }
  4149  
  4150  // String returns the string representation.
  4151  //
  4152  // API parameter values that are decorated as "sensitive" in the API will not
  4153  // be included in the string output. The member name will be present, but the
  4154  // value will be replaced with "sensitive".
  4155  func (s RollbackTrigger) String() string {
  4156  	return awsutil.Prettify(s)
  4157  }
  4158  
  4159  // GoString returns the string representation.
  4160  //
  4161  // API parameter values that are decorated as "sensitive" in the API will not
  4162  // be included in the string output. The member name will be present, but the
  4163  // value will be replaced with "sensitive".
  4164  func (s RollbackTrigger) GoString() string {
  4165  	return s.String()
  4166  }
  4167  
  4168  // Validate inspects the fields of the type to determine if they are valid.
  4169  func (s *RollbackTrigger) Validate() error {
  4170  	invalidParams := request.ErrInvalidParams{Context: "RollbackTrigger"}
  4171  	if s.Arn == nil {
  4172  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  4173  	}
  4174  	if s.Type == nil {
  4175  		invalidParams.Add(request.NewErrParamRequired("Type"))
  4176  	}
  4177  
  4178  	if invalidParams.Len() > 0 {
  4179  		return invalidParams
  4180  	}
  4181  	return nil
  4182  }
  4183  
  4184  // SetArn sets the Arn field's value.
  4185  func (s *RollbackTrigger) SetArn(v string) *RollbackTrigger {
  4186  	s.Arn = &v
  4187  	return s
  4188  }
  4189  
  4190  // SetType sets the Type field's value.
  4191  func (s *RollbackTrigger) SetType(v string) *RollbackTrigger {
  4192  	s.Type = &v
  4193  	return s
  4194  }
  4195  
  4196  // This property corresponds to the AWS CloudFormation Tag (https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/Tag)
  4197  // Data Type.
  4198  type Tag struct {
  4199  	_ struct{} `type:"structure"`
  4200  
  4201  	// This property corresponds to the content of the same name for the AWS CloudFormation
  4202  	// Tag (https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/Tag)
  4203  	// Data Type.
  4204  	//
  4205  	// Key is a required field
  4206  	Key *string `locationName:"key" type:"string" required:"true"`
  4207  
  4208  	// This property corresponds to the content of the same name for the AWS CloudFormation
  4209  	// Tag (https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/Tag)
  4210  	// Data Type.
  4211  	//
  4212  	// Value is a required field
  4213  	Value *string `locationName:"value" type:"string" required:"true"`
  4214  }
  4215  
  4216  // String returns the string representation.
  4217  //
  4218  // API parameter values that are decorated as "sensitive" in the API will not
  4219  // be included in the string output. The member name will be present, but the
  4220  // value will be replaced with "sensitive".
  4221  func (s Tag) String() string {
  4222  	return awsutil.Prettify(s)
  4223  }
  4224  
  4225  // GoString returns the string representation.
  4226  //
  4227  // API parameter values that are decorated as "sensitive" in the API will not
  4228  // be included in the string output. The member name will be present, but the
  4229  // value will be replaced with "sensitive".
  4230  func (s Tag) GoString() string {
  4231  	return s.String()
  4232  }
  4233  
  4234  // Validate inspects the fields of the type to determine if they are valid.
  4235  func (s *Tag) Validate() error {
  4236  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
  4237  	if s.Key == nil {
  4238  		invalidParams.Add(request.NewErrParamRequired("Key"))
  4239  	}
  4240  	if s.Value == nil {
  4241  		invalidParams.Add(request.NewErrParamRequired("Value"))
  4242  	}
  4243  
  4244  	if invalidParams.Len() > 0 {
  4245  		return invalidParams
  4246  	}
  4247  	return nil
  4248  }
  4249  
  4250  // SetKey sets the Key field's value.
  4251  func (s *Tag) SetKey(v string) *Tag {
  4252  	s.Key = &v
  4253  	return s
  4254  }
  4255  
  4256  // SetValue sets the Value field's value.
  4257  func (s *Tag) SetValue(v string) *Tag {
  4258  	s.Value = &v
  4259  	return s
  4260  }
  4261  
  4262  // The client is sending more than the allowed number of requests per unit of
  4263  // time.
  4264  type TooManyRequestsException struct {
  4265  	_            struct{}                  `type:"structure"`
  4266  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4267  
  4268  	// 429
  4269  	ErrorCode *string `locationName:"errorCode" type:"string"`
  4270  
  4271  	// The client is sending more than the allowed number of requests per unit of
  4272  	// time.
  4273  	Message_ *string `locationName:"message" type:"string"`
  4274  }
  4275  
  4276  // String returns the string representation.
  4277  //
  4278  // API parameter values that are decorated as "sensitive" in the API will not
  4279  // be included in the string output. The member name will be present, but the
  4280  // value will be replaced with "sensitive".
  4281  func (s TooManyRequestsException) String() string {
  4282  	return awsutil.Prettify(s)
  4283  }
  4284  
  4285  // GoString returns the string representation.
  4286  //
  4287  // API parameter values that are decorated as "sensitive" in the API will not
  4288  // be included in the string output. The member name will be present, but the
  4289  // value will be replaced with "sensitive".
  4290  func (s TooManyRequestsException) GoString() string {
  4291  	return s.String()
  4292  }
  4293  
  4294  func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
  4295  	return &TooManyRequestsException{
  4296  		RespMetadata: v,
  4297  	}
  4298  }
  4299  
  4300  // Code returns the exception type name.
  4301  func (s *TooManyRequestsException) Code() string {
  4302  	return "TooManyRequestsException"
  4303  }
  4304  
  4305  // Message returns the exception's message.
  4306  func (s *TooManyRequestsException) Message() string {
  4307  	if s.Message_ != nil {
  4308  		return *s.Message_
  4309  	}
  4310  	return ""
  4311  }
  4312  
  4313  // OrigErr always returns nil, satisfies awserr.Error interface.
  4314  func (s *TooManyRequestsException) OrigErr() error {
  4315  	return nil
  4316  }
  4317  
  4318  func (s *TooManyRequestsException) Error() string {
  4319  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  4320  }
  4321  
  4322  // Status code returns the HTTP status code for the request's response error.
  4323  func (s *TooManyRequestsException) StatusCode() int {
  4324  	return s.RespMetadata.StatusCode
  4325  }
  4326  
  4327  // RequestID returns the service's response RequestID for request.
  4328  func (s *TooManyRequestsException) RequestID() string {
  4329  	return s.RespMetadata.RequestID
  4330  }
  4331  
  4332  type UnshareApplicationInput struct {
  4333  	_ struct{} `type:"structure"`
  4334  
  4335  	// ApplicationId is a required field
  4336  	ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"`
  4337  
  4338  	// OrganizationId is a required field
  4339  	OrganizationId *string `locationName:"organizationId" type:"string" required:"true"`
  4340  }
  4341  
  4342  // String returns the string representation.
  4343  //
  4344  // API parameter values that are decorated as "sensitive" in the API will not
  4345  // be included in the string output. The member name will be present, but the
  4346  // value will be replaced with "sensitive".
  4347  func (s UnshareApplicationInput) String() string {
  4348  	return awsutil.Prettify(s)
  4349  }
  4350  
  4351  // GoString returns the string representation.
  4352  //
  4353  // API parameter values that are decorated as "sensitive" in the API will not
  4354  // be included in the string output. The member name will be present, but the
  4355  // value will be replaced with "sensitive".
  4356  func (s UnshareApplicationInput) GoString() string {
  4357  	return s.String()
  4358  }
  4359  
  4360  // Validate inspects the fields of the type to determine if they are valid.
  4361  func (s *UnshareApplicationInput) Validate() error {
  4362  	invalidParams := request.ErrInvalidParams{Context: "UnshareApplicationInput"}
  4363  	if s.ApplicationId == nil {
  4364  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  4365  	}
  4366  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  4367  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  4368  	}
  4369  	if s.OrganizationId == nil {
  4370  		invalidParams.Add(request.NewErrParamRequired("OrganizationId"))
  4371  	}
  4372  
  4373  	if invalidParams.Len() > 0 {
  4374  		return invalidParams
  4375  	}
  4376  	return nil
  4377  }
  4378  
  4379  // SetApplicationId sets the ApplicationId field's value.
  4380  func (s *UnshareApplicationInput) SetApplicationId(v string) *UnshareApplicationInput {
  4381  	s.ApplicationId = &v
  4382  	return s
  4383  }
  4384  
  4385  // SetOrganizationId sets the OrganizationId field's value.
  4386  func (s *UnshareApplicationInput) SetOrganizationId(v string) *UnshareApplicationInput {
  4387  	s.OrganizationId = &v
  4388  	return s
  4389  }
  4390  
  4391  type UnshareApplicationOutput struct {
  4392  	_ struct{} `type:"structure" nopayload:"true"`
  4393  }
  4394  
  4395  // String returns the string representation.
  4396  //
  4397  // API parameter values that are decorated as "sensitive" in the API will not
  4398  // be included in the string output. The member name will be present, but the
  4399  // value will be replaced with "sensitive".
  4400  func (s UnshareApplicationOutput) String() string {
  4401  	return awsutil.Prettify(s)
  4402  }
  4403  
  4404  // GoString returns the string representation.
  4405  //
  4406  // API parameter values that are decorated as "sensitive" in the API will not
  4407  // be included in the string output. The member name will be present, but the
  4408  // value will be replaced with "sensitive".
  4409  func (s UnshareApplicationOutput) GoString() string {
  4410  	return s.String()
  4411  }
  4412  
  4413  type UpdateApplicationOutput struct {
  4414  	_ struct{} `type:"structure"`
  4415  
  4416  	ApplicationId *string `locationName:"applicationId" type:"string"`
  4417  
  4418  	Author *string `locationName:"author" type:"string"`
  4419  
  4420  	CreationTime *string `locationName:"creationTime" type:"string"`
  4421  
  4422  	Description *string `locationName:"description" type:"string"`
  4423  
  4424  	HomePageUrl *string `locationName:"homePageUrl" type:"string"`
  4425  
  4426  	IsVerifiedAuthor *bool `locationName:"isVerifiedAuthor" type:"boolean"`
  4427  
  4428  	Labels []*string `locationName:"labels" type:"list"`
  4429  
  4430  	LicenseUrl *string `locationName:"licenseUrl" type:"string"`
  4431  
  4432  	Name *string `locationName:"name" type:"string"`
  4433  
  4434  	ReadmeUrl *string `locationName:"readmeUrl" type:"string"`
  4435  
  4436  	SpdxLicenseId *string `locationName:"spdxLicenseId" type:"string"`
  4437  
  4438  	VerifiedAuthorUrl *string `locationName:"verifiedAuthorUrl" type:"string"`
  4439  
  4440  	// Application version details.
  4441  	Version *Version `locationName:"version" type:"structure"`
  4442  }
  4443  
  4444  // String returns the string representation.
  4445  //
  4446  // API parameter values that are decorated as "sensitive" in the API will not
  4447  // be included in the string output. The member name will be present, but the
  4448  // value will be replaced with "sensitive".
  4449  func (s UpdateApplicationOutput) String() string {
  4450  	return awsutil.Prettify(s)
  4451  }
  4452  
  4453  // GoString returns the string representation.
  4454  //
  4455  // API parameter values that are decorated as "sensitive" in the API will not
  4456  // be included in the string output. The member name will be present, but the
  4457  // value will be replaced with "sensitive".
  4458  func (s UpdateApplicationOutput) GoString() string {
  4459  	return s.String()
  4460  }
  4461  
  4462  // SetApplicationId sets the ApplicationId field's value.
  4463  func (s *UpdateApplicationOutput) SetApplicationId(v string) *UpdateApplicationOutput {
  4464  	s.ApplicationId = &v
  4465  	return s
  4466  }
  4467  
  4468  // SetAuthor sets the Author field's value.
  4469  func (s *UpdateApplicationOutput) SetAuthor(v string) *UpdateApplicationOutput {
  4470  	s.Author = &v
  4471  	return s
  4472  }
  4473  
  4474  // SetCreationTime sets the CreationTime field's value.
  4475  func (s *UpdateApplicationOutput) SetCreationTime(v string) *UpdateApplicationOutput {
  4476  	s.CreationTime = &v
  4477  	return s
  4478  }
  4479  
  4480  // SetDescription sets the Description field's value.
  4481  func (s *UpdateApplicationOutput) SetDescription(v string) *UpdateApplicationOutput {
  4482  	s.Description = &v
  4483  	return s
  4484  }
  4485  
  4486  // SetHomePageUrl sets the HomePageUrl field's value.
  4487  func (s *UpdateApplicationOutput) SetHomePageUrl(v string) *UpdateApplicationOutput {
  4488  	s.HomePageUrl = &v
  4489  	return s
  4490  }
  4491  
  4492  // SetIsVerifiedAuthor sets the IsVerifiedAuthor field's value.
  4493  func (s *UpdateApplicationOutput) SetIsVerifiedAuthor(v bool) *UpdateApplicationOutput {
  4494  	s.IsVerifiedAuthor = &v
  4495  	return s
  4496  }
  4497  
  4498  // SetLabels sets the Labels field's value.
  4499  func (s *UpdateApplicationOutput) SetLabels(v []*string) *UpdateApplicationOutput {
  4500  	s.Labels = v
  4501  	return s
  4502  }
  4503  
  4504  // SetLicenseUrl sets the LicenseUrl field's value.
  4505  func (s *UpdateApplicationOutput) SetLicenseUrl(v string) *UpdateApplicationOutput {
  4506  	s.LicenseUrl = &v
  4507  	return s
  4508  }
  4509  
  4510  // SetName sets the Name field's value.
  4511  func (s *UpdateApplicationOutput) SetName(v string) *UpdateApplicationOutput {
  4512  	s.Name = &v
  4513  	return s
  4514  }
  4515  
  4516  // SetReadmeUrl sets the ReadmeUrl field's value.
  4517  func (s *UpdateApplicationOutput) SetReadmeUrl(v string) *UpdateApplicationOutput {
  4518  	s.ReadmeUrl = &v
  4519  	return s
  4520  }
  4521  
  4522  // SetSpdxLicenseId sets the SpdxLicenseId field's value.
  4523  func (s *UpdateApplicationOutput) SetSpdxLicenseId(v string) *UpdateApplicationOutput {
  4524  	s.SpdxLicenseId = &v
  4525  	return s
  4526  }
  4527  
  4528  // SetVerifiedAuthorUrl sets the VerifiedAuthorUrl field's value.
  4529  func (s *UpdateApplicationOutput) SetVerifiedAuthorUrl(v string) *UpdateApplicationOutput {
  4530  	s.VerifiedAuthorUrl = &v
  4531  	return s
  4532  }
  4533  
  4534  // SetVersion sets the Version field's value.
  4535  func (s *UpdateApplicationOutput) SetVersion(v *Version) *UpdateApplicationOutput {
  4536  	s.Version = v
  4537  	return s
  4538  }
  4539  
  4540  type UpdateApplicationRequest struct {
  4541  	_ struct{} `type:"structure"`
  4542  
  4543  	// ApplicationId is a required field
  4544  	ApplicationId *string `location:"uri" locationName:"applicationId" type:"string" required:"true"`
  4545  
  4546  	Author *string `locationName:"author" type:"string"`
  4547  
  4548  	Description *string `locationName:"description" type:"string"`
  4549  
  4550  	HomePageUrl *string `locationName:"homePageUrl" type:"string"`
  4551  
  4552  	Labels []*string `locationName:"labels" type:"list"`
  4553  
  4554  	ReadmeBody *string `locationName:"readmeBody" type:"string"`
  4555  
  4556  	ReadmeUrl *string `locationName:"readmeUrl" type:"string"`
  4557  }
  4558  
  4559  // String returns the string representation.
  4560  //
  4561  // API parameter values that are decorated as "sensitive" in the API will not
  4562  // be included in the string output. The member name will be present, but the
  4563  // value will be replaced with "sensitive".
  4564  func (s UpdateApplicationRequest) String() string {
  4565  	return awsutil.Prettify(s)
  4566  }
  4567  
  4568  // GoString returns the string representation.
  4569  //
  4570  // API parameter values that are decorated as "sensitive" in the API will not
  4571  // be included in the string output. The member name will be present, but the
  4572  // value will be replaced with "sensitive".
  4573  func (s UpdateApplicationRequest) GoString() string {
  4574  	return s.String()
  4575  }
  4576  
  4577  // Validate inspects the fields of the type to determine if they are valid.
  4578  func (s *UpdateApplicationRequest) Validate() error {
  4579  	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationRequest"}
  4580  	if s.ApplicationId == nil {
  4581  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  4582  	}
  4583  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  4584  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  4585  	}
  4586  
  4587  	if invalidParams.Len() > 0 {
  4588  		return invalidParams
  4589  	}
  4590  	return nil
  4591  }
  4592  
  4593  // SetApplicationId sets the ApplicationId field's value.
  4594  func (s *UpdateApplicationRequest) SetApplicationId(v string) *UpdateApplicationRequest {
  4595  	s.ApplicationId = &v
  4596  	return s
  4597  }
  4598  
  4599  // SetAuthor sets the Author field's value.
  4600  func (s *UpdateApplicationRequest) SetAuthor(v string) *UpdateApplicationRequest {
  4601  	s.Author = &v
  4602  	return s
  4603  }
  4604  
  4605  // SetDescription sets the Description field's value.
  4606  func (s *UpdateApplicationRequest) SetDescription(v string) *UpdateApplicationRequest {
  4607  	s.Description = &v
  4608  	return s
  4609  }
  4610  
  4611  // SetHomePageUrl sets the HomePageUrl field's value.
  4612  func (s *UpdateApplicationRequest) SetHomePageUrl(v string) *UpdateApplicationRequest {
  4613  	s.HomePageUrl = &v
  4614  	return s
  4615  }
  4616  
  4617  // SetLabels sets the Labels field's value.
  4618  func (s *UpdateApplicationRequest) SetLabels(v []*string) *UpdateApplicationRequest {
  4619  	s.Labels = v
  4620  	return s
  4621  }
  4622  
  4623  // SetReadmeBody sets the ReadmeBody field's value.
  4624  func (s *UpdateApplicationRequest) SetReadmeBody(v string) *UpdateApplicationRequest {
  4625  	s.ReadmeBody = &v
  4626  	return s
  4627  }
  4628  
  4629  // SetReadmeUrl sets the ReadmeUrl field's value.
  4630  func (s *UpdateApplicationRequest) SetReadmeUrl(v string) *UpdateApplicationRequest {
  4631  	s.ReadmeUrl = &v
  4632  	return s
  4633  }
  4634  
  4635  // Application version details.
  4636  type Version struct {
  4637  	_ struct{} `type:"structure"`
  4638  
  4639  	// The application Amazon Resource Name (ARN).
  4640  	//
  4641  	// ApplicationId is a required field
  4642  	ApplicationId *string `locationName:"applicationId" type:"string" required:"true"`
  4643  
  4644  	// The date and time this resource was created.
  4645  	//
  4646  	// CreationTime is a required field
  4647  	CreationTime *string `locationName:"creationTime" type:"string" required:"true"`
  4648  
  4649  	// An array of parameter types supported by the application.
  4650  	//
  4651  	// ParameterDefinitions is a required field
  4652  	ParameterDefinitions []*ParameterDefinition `locationName:"parameterDefinitions" type:"list" required:"true"`
  4653  
  4654  	// A list of values that you must specify before you can deploy certain applications.
  4655  	// Some applications might include resources that can affect permissions in
  4656  	// your AWS account, for example, by creating new AWS Identity and Access Management
  4657  	// (IAM) users. For those applications, you must explicitly acknowledge their
  4658  	// capabilities by specifying this parameter.
  4659  	//
  4660  	// The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_RESOURCE_POLICY,
  4661  	// and CAPABILITY_AUTO_EXPAND.
  4662  	//
  4663  	// The following resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM:
  4664  	// AWS::IAM::Group (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html),
  4665  	// AWS::IAM::InstanceProfile (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html),
  4666  	// AWS::IAM::Policy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html),
  4667  	// and AWS::IAM::Role (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html).
  4668  	// If the application contains IAM resources, you can specify either CAPABILITY_IAM
  4669  	// or CAPABILITY_NAMED_IAM. If the application contains IAM resources with custom
  4670  	// names, you must specify CAPABILITY_NAMED_IAM.
  4671  	//
  4672  	// The following resources require you to specify CAPABILITY_RESOURCE_POLICY:
  4673  	// AWS::Lambda::Permission (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html),
  4674  	// AWS::IAM:Policy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html),
  4675  	// AWS::ApplicationAutoScaling::ScalingPolicy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html),
  4676  	// AWS::S3::BucketPolicy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html),
  4677  	// AWS::SQS::QueuePolicy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html),
  4678  	// and AWS::SNS::TopicPolicy (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html).
  4679  	//
  4680  	// Applications that contain one or more nested applications require you to
  4681  	// specify CAPABILITY_AUTO_EXPAND.
  4682  	//
  4683  	// If your application template contains any of the above resources, we recommend
  4684  	// that you review all permissions associated with the application before deploying.
  4685  	// If you don't specify this parameter for an application that requires capabilities,
  4686  	// the call will fail.
  4687  	//
  4688  	// RequiredCapabilities is a required field
  4689  	RequiredCapabilities []*string `locationName:"requiredCapabilities" type:"list" required:"true"`
  4690  
  4691  	// Whether all of the AWS resources contained in this application are supported
  4692  	// in the region in which it is being retrieved.
  4693  	//
  4694  	// ResourcesSupported is a required field
  4695  	ResourcesSupported *bool `locationName:"resourcesSupported" type:"boolean" required:"true"`
  4696  
  4697  	// The semantic version of the application:
  4698  	//
  4699  	// https://semver.org/ (https://semver.org/)
  4700  	//
  4701  	// SemanticVersion is a required field
  4702  	SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"`
  4703  
  4704  	// A link to the S3 object that contains the ZIP archive of the source code
  4705  	// for this version of your application.
  4706  	//
  4707  	// Maximum size 50 MB
  4708  	SourceCodeArchiveUrl *string `locationName:"sourceCodeArchiveUrl" type:"string"`
  4709  
  4710  	// A link to a public repository for the source code of your application, for
  4711  	// example the URL of a specific GitHub commit.
  4712  	SourceCodeUrl *string `locationName:"sourceCodeUrl" type:"string"`
  4713  
  4714  	// A link to the packaged AWS SAM template of your application.
  4715  	//
  4716  	// TemplateUrl is a required field
  4717  	TemplateUrl *string `locationName:"templateUrl" type:"string" required:"true"`
  4718  }
  4719  
  4720  // String returns the string representation.
  4721  //
  4722  // API parameter values that are decorated as "sensitive" in the API will not
  4723  // be included in the string output. The member name will be present, but the
  4724  // value will be replaced with "sensitive".
  4725  func (s Version) String() string {
  4726  	return awsutil.Prettify(s)
  4727  }
  4728  
  4729  // GoString returns the string representation.
  4730  //
  4731  // API parameter values that are decorated as "sensitive" in the API will not
  4732  // be included in the string output. The member name will be present, but the
  4733  // value will be replaced with "sensitive".
  4734  func (s Version) GoString() string {
  4735  	return s.String()
  4736  }
  4737  
  4738  // SetApplicationId sets the ApplicationId field's value.
  4739  func (s *Version) SetApplicationId(v string) *Version {
  4740  	s.ApplicationId = &v
  4741  	return s
  4742  }
  4743  
  4744  // SetCreationTime sets the CreationTime field's value.
  4745  func (s *Version) SetCreationTime(v string) *Version {
  4746  	s.CreationTime = &v
  4747  	return s
  4748  }
  4749  
  4750  // SetParameterDefinitions sets the ParameterDefinitions field's value.
  4751  func (s *Version) SetParameterDefinitions(v []*ParameterDefinition) *Version {
  4752  	s.ParameterDefinitions = v
  4753  	return s
  4754  }
  4755  
  4756  // SetRequiredCapabilities sets the RequiredCapabilities field's value.
  4757  func (s *Version) SetRequiredCapabilities(v []*string) *Version {
  4758  	s.RequiredCapabilities = v
  4759  	return s
  4760  }
  4761  
  4762  // SetResourcesSupported sets the ResourcesSupported field's value.
  4763  func (s *Version) SetResourcesSupported(v bool) *Version {
  4764  	s.ResourcesSupported = &v
  4765  	return s
  4766  }
  4767  
  4768  // SetSemanticVersion sets the SemanticVersion field's value.
  4769  func (s *Version) SetSemanticVersion(v string) *Version {
  4770  	s.SemanticVersion = &v
  4771  	return s
  4772  }
  4773  
  4774  // SetSourceCodeArchiveUrl sets the SourceCodeArchiveUrl field's value.
  4775  func (s *Version) SetSourceCodeArchiveUrl(v string) *Version {
  4776  	s.SourceCodeArchiveUrl = &v
  4777  	return s
  4778  }
  4779  
  4780  // SetSourceCodeUrl sets the SourceCodeUrl field's value.
  4781  func (s *Version) SetSourceCodeUrl(v string) *Version {
  4782  	s.SourceCodeUrl = &v
  4783  	return s
  4784  }
  4785  
  4786  // SetTemplateUrl sets the TemplateUrl field's value.
  4787  func (s *Version) SetTemplateUrl(v string) *Version {
  4788  	s.TemplateUrl = &v
  4789  	return s
  4790  }
  4791  
  4792  // An application version summary.
  4793  type VersionSummary struct {
  4794  	_ struct{} `type:"structure"`
  4795  
  4796  	// The application Amazon Resource Name (ARN).
  4797  	//
  4798  	// ApplicationId is a required field
  4799  	ApplicationId *string `locationName:"applicationId" type:"string" required:"true"`
  4800  
  4801  	// The date and time this resource was created.
  4802  	//
  4803  	// CreationTime is a required field
  4804  	CreationTime *string `locationName:"creationTime" type:"string" required:"true"`
  4805  
  4806  	// The semantic version of the application:
  4807  	//
  4808  	// https://semver.org/ (https://semver.org/)
  4809  	//
  4810  	// SemanticVersion is a required field
  4811  	SemanticVersion *string `locationName:"semanticVersion" type:"string" required:"true"`
  4812  
  4813  	// A link to a public repository for the source code of your application, for
  4814  	// example the URL of a specific GitHub commit.
  4815  	SourceCodeUrl *string `locationName:"sourceCodeUrl" type:"string"`
  4816  }
  4817  
  4818  // String returns the string representation.
  4819  //
  4820  // API parameter values that are decorated as "sensitive" in the API will not
  4821  // be included in the string output. The member name will be present, but the
  4822  // value will be replaced with "sensitive".
  4823  func (s VersionSummary) String() string {
  4824  	return awsutil.Prettify(s)
  4825  }
  4826  
  4827  // GoString returns the string representation.
  4828  //
  4829  // API parameter values that are decorated as "sensitive" in the API will not
  4830  // be included in the string output. The member name will be present, but the
  4831  // value will be replaced with "sensitive".
  4832  func (s VersionSummary) GoString() string {
  4833  	return s.String()
  4834  }
  4835  
  4836  // SetApplicationId sets the ApplicationId field's value.
  4837  func (s *VersionSummary) SetApplicationId(v string) *VersionSummary {
  4838  	s.ApplicationId = &v
  4839  	return s
  4840  }
  4841  
  4842  // SetCreationTime sets the CreationTime field's value.
  4843  func (s *VersionSummary) SetCreationTime(v string) *VersionSummary {
  4844  	s.CreationTime = &v
  4845  	return s
  4846  }
  4847  
  4848  // SetSemanticVersion sets the SemanticVersion field's value.
  4849  func (s *VersionSummary) SetSemanticVersion(v string) *VersionSummary {
  4850  	s.SemanticVersion = &v
  4851  	return s
  4852  }
  4853  
  4854  // SetSourceCodeUrl sets the SourceCodeUrl field's value.
  4855  func (s *VersionSummary) SetSourceCodeUrl(v string) *VersionSummary {
  4856  	s.SourceCodeUrl = &v
  4857  	return s
  4858  }
  4859  
  4860  // Values that must be specified in order to deploy some applications.
  4861  const (
  4862  	// CapabilityCapabilityIam is a Capability enum value
  4863  	CapabilityCapabilityIam = "CAPABILITY_IAM"
  4864  
  4865  	// CapabilityCapabilityNamedIam is a Capability enum value
  4866  	CapabilityCapabilityNamedIam = "CAPABILITY_NAMED_IAM"
  4867  
  4868  	// CapabilityCapabilityAutoExpand is a Capability enum value
  4869  	CapabilityCapabilityAutoExpand = "CAPABILITY_AUTO_EXPAND"
  4870  
  4871  	// CapabilityCapabilityResourcePolicy is a Capability enum value
  4872  	CapabilityCapabilityResourcePolicy = "CAPABILITY_RESOURCE_POLICY"
  4873  )
  4874  
  4875  // Capability_Values returns all elements of the Capability enum
  4876  func Capability_Values() []string {
  4877  	return []string{
  4878  		CapabilityCapabilityIam,
  4879  		CapabilityCapabilityNamedIam,
  4880  		CapabilityCapabilityAutoExpand,
  4881  		CapabilityCapabilityResourcePolicy,
  4882  	}
  4883  }
  4884  
  4885  const (
  4886  	// StatusPreparing is a Status enum value
  4887  	StatusPreparing = "PREPARING"
  4888  
  4889  	// StatusActive is a Status enum value
  4890  	StatusActive = "ACTIVE"
  4891  
  4892  	// StatusExpired is a Status enum value
  4893  	StatusExpired = "EXPIRED"
  4894  )
  4895  
  4896  // Status_Values returns all elements of the Status enum
  4897  func Status_Values() []string {
  4898  	return []string{
  4899  		StatusPreparing,
  4900  		StatusActive,
  4901  		StatusExpired,
  4902  	}
  4903  }