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

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