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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package iotfleethub
     4  
     5  import (
     6  	"fmt"
     7  
     8  	"github.com/aavshr/aws-sdk-go/aws"
     9  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    10  	"github.com/aavshr/aws-sdk-go/aws/request"
    11  	"github.com/aavshr/aws-sdk-go/private/protocol"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    13  )
    14  
    15  const opCreateApplication = "CreateApplication"
    16  
    17  // CreateApplicationRequest generates a "aws/request.Request" representing the
    18  // client's request for the CreateApplication operation. The "output" return
    19  // value will be populated with the request's response once the request completes
    20  // successfully.
    21  //
    22  // Use "Send" method on the returned Request to send the API call to the service.
    23  // the "output" return value is not valid until after Send returns without error.
    24  //
    25  // See CreateApplication for more information on using the CreateApplication
    26  // API call, and error handling.
    27  //
    28  // This method is useful when you want to inject custom logic or configuration
    29  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    30  //
    31  //
    32  //    // Example sending a request using the CreateApplicationRequest method.
    33  //    req, resp := client.CreateApplicationRequest(params)
    34  //
    35  //    err := req.Send()
    36  //    if err == nil { // resp is now filled
    37  //        fmt.Println(resp)
    38  //    }
    39  //
    40  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/CreateApplication
    41  func (c *IoTFleetHub) CreateApplicationRequest(input *CreateApplicationInput) (req *request.Request, output *CreateApplicationOutput) {
    42  	op := &request.Operation{
    43  		Name:       opCreateApplication,
    44  		HTTPMethod: "POST",
    45  		HTTPPath:   "/applications",
    46  	}
    47  
    48  	if input == nil {
    49  		input = &CreateApplicationInput{}
    50  	}
    51  
    52  	output = &CreateApplicationOutput{}
    53  	req = c.newRequest(op, input, output)
    54  	return
    55  }
    56  
    57  // CreateApplication API operation for AWS IoT Fleet Hub.
    58  //
    59  // Creates a Fleet Hub for AWS IoT Device Management web application.
    60  //
    61  // Fleet Hub for AWS IoT Device Management is in public preview and is subject
    62  // to change.
    63  //
    64  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    65  // with awserr.Error's Code and Message methods to get detailed information about
    66  // the error.
    67  //
    68  // See the AWS API reference guide for AWS IoT Fleet Hub's
    69  // API operation CreateApplication for usage and error information.
    70  //
    71  // Returned Error Types:
    72  //   * InvalidRequestException
    73  //   The request is not valid.
    74  //
    75  //   * InternalFailureException
    76  //   An unexpected error has occurred.
    77  //
    78  //   * ThrottlingException
    79  //   The rate exceeds the limit.
    80  //
    81  //   * LimitExceededException
    82  //   A limit has been exceeded.
    83  //
    84  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/CreateApplication
    85  func (c *IoTFleetHub) CreateApplication(input *CreateApplicationInput) (*CreateApplicationOutput, error) {
    86  	req, out := c.CreateApplicationRequest(input)
    87  	return out, req.Send()
    88  }
    89  
    90  // CreateApplicationWithContext is the same as CreateApplication with the addition of
    91  // the ability to pass a context and additional request options.
    92  //
    93  // See CreateApplication for details on how to use this API operation.
    94  //
    95  // The context must be non-nil and will be used for request cancellation. If
    96  // the context is nil a panic will occur. In the future the SDK may create
    97  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    98  // for more information on using Contexts.
    99  func (c *IoTFleetHub) CreateApplicationWithContext(ctx aws.Context, input *CreateApplicationInput, opts ...request.Option) (*CreateApplicationOutput, error) {
   100  	req, out := c.CreateApplicationRequest(input)
   101  	req.SetContext(ctx)
   102  	req.ApplyOptions(opts...)
   103  	return out, req.Send()
   104  }
   105  
   106  const opDeleteApplication = "DeleteApplication"
   107  
   108  // DeleteApplicationRequest generates a "aws/request.Request" representing the
   109  // client's request for the DeleteApplication operation. The "output" return
   110  // value will be populated with the request's response once the request completes
   111  // successfully.
   112  //
   113  // Use "Send" method on the returned Request to send the API call to the service.
   114  // the "output" return value is not valid until after Send returns without error.
   115  //
   116  // See DeleteApplication for more information on using the DeleteApplication
   117  // API call, and error handling.
   118  //
   119  // This method is useful when you want to inject custom logic or configuration
   120  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   121  //
   122  //
   123  //    // Example sending a request using the DeleteApplicationRequest method.
   124  //    req, resp := client.DeleteApplicationRequest(params)
   125  //
   126  //    err := req.Send()
   127  //    if err == nil { // resp is now filled
   128  //        fmt.Println(resp)
   129  //    }
   130  //
   131  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/DeleteApplication
   132  func (c *IoTFleetHub) DeleteApplicationRequest(input *DeleteApplicationInput) (req *request.Request, output *DeleteApplicationOutput) {
   133  	op := &request.Operation{
   134  		Name:       opDeleteApplication,
   135  		HTTPMethod: "DELETE",
   136  		HTTPPath:   "/applications/{applicationId}",
   137  	}
   138  
   139  	if input == nil {
   140  		input = &DeleteApplicationInput{}
   141  	}
   142  
   143  	output = &DeleteApplicationOutput{}
   144  	req = c.newRequest(op, input, output)
   145  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   146  	return
   147  }
   148  
   149  // DeleteApplication API operation for AWS IoT Fleet Hub.
   150  //
   151  // Deletes a Fleet Hub for AWS IoT Device Management web application.
   152  //
   153  // Fleet Hub for AWS IoT Device Management is in public preview and is subject
   154  // to change.
   155  //
   156  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   157  // with awserr.Error's Code and Message methods to get detailed information about
   158  // the error.
   159  //
   160  // See the AWS API reference guide for AWS IoT Fleet Hub's
   161  // API operation DeleteApplication for usage and error information.
   162  //
   163  // Returned Error Types:
   164  //   * InvalidRequestException
   165  //   The request is not valid.
   166  //
   167  //   * ResourceNotFoundException
   168  //   The specified resource does not exist.
   169  //
   170  //   * InternalFailureException
   171  //   An unexpected error has occurred.
   172  //
   173  //   * ThrottlingException
   174  //   The rate exceeds the limit.
   175  //
   176  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/DeleteApplication
   177  func (c *IoTFleetHub) DeleteApplication(input *DeleteApplicationInput) (*DeleteApplicationOutput, error) {
   178  	req, out := c.DeleteApplicationRequest(input)
   179  	return out, req.Send()
   180  }
   181  
   182  // DeleteApplicationWithContext is the same as DeleteApplication with the addition of
   183  // the ability to pass a context and additional request options.
   184  //
   185  // See DeleteApplication for details on how to use this API operation.
   186  //
   187  // The context must be non-nil and will be used for request cancellation. If
   188  // the context is nil a panic will occur. In the future the SDK may create
   189  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   190  // for more information on using Contexts.
   191  func (c *IoTFleetHub) DeleteApplicationWithContext(ctx aws.Context, input *DeleteApplicationInput, opts ...request.Option) (*DeleteApplicationOutput, error) {
   192  	req, out := c.DeleteApplicationRequest(input)
   193  	req.SetContext(ctx)
   194  	req.ApplyOptions(opts...)
   195  	return out, req.Send()
   196  }
   197  
   198  const opDescribeApplication = "DescribeApplication"
   199  
   200  // DescribeApplicationRequest generates a "aws/request.Request" representing the
   201  // client's request for the DescribeApplication operation. The "output" return
   202  // value will be populated with the request's response once the request completes
   203  // successfully.
   204  //
   205  // Use "Send" method on the returned Request to send the API call to the service.
   206  // the "output" return value is not valid until after Send returns without error.
   207  //
   208  // See DescribeApplication for more information on using the DescribeApplication
   209  // API call, and error handling.
   210  //
   211  // This method is useful when you want to inject custom logic or configuration
   212  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   213  //
   214  //
   215  //    // Example sending a request using the DescribeApplicationRequest method.
   216  //    req, resp := client.DescribeApplicationRequest(params)
   217  //
   218  //    err := req.Send()
   219  //    if err == nil { // resp is now filled
   220  //        fmt.Println(resp)
   221  //    }
   222  //
   223  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/DescribeApplication
   224  func (c *IoTFleetHub) DescribeApplicationRequest(input *DescribeApplicationInput) (req *request.Request, output *DescribeApplicationOutput) {
   225  	op := &request.Operation{
   226  		Name:       opDescribeApplication,
   227  		HTTPMethod: "GET",
   228  		HTTPPath:   "/applications/{applicationId}",
   229  	}
   230  
   231  	if input == nil {
   232  		input = &DescribeApplicationInput{}
   233  	}
   234  
   235  	output = &DescribeApplicationOutput{}
   236  	req = c.newRequest(op, input, output)
   237  	return
   238  }
   239  
   240  // DescribeApplication API operation for AWS IoT Fleet Hub.
   241  //
   242  // Gets information about a Fleet Hub for AWS IoT Device Management web application.
   243  //
   244  // Fleet Hub for AWS IoT Device Management is in public preview and is subject
   245  // to change.
   246  //
   247  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   248  // with awserr.Error's Code and Message methods to get detailed information about
   249  // the error.
   250  //
   251  // See the AWS API reference guide for AWS IoT Fleet Hub's
   252  // API operation DescribeApplication for usage and error information.
   253  //
   254  // Returned Error Types:
   255  //   * InvalidRequestException
   256  //   The request is not valid.
   257  //
   258  //   * ResourceNotFoundException
   259  //   The specified resource does not exist.
   260  //
   261  //   * InternalFailureException
   262  //   An unexpected error has occurred.
   263  //
   264  //   * ThrottlingException
   265  //   The rate exceeds the limit.
   266  //
   267  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/DescribeApplication
   268  func (c *IoTFleetHub) DescribeApplication(input *DescribeApplicationInput) (*DescribeApplicationOutput, error) {
   269  	req, out := c.DescribeApplicationRequest(input)
   270  	return out, req.Send()
   271  }
   272  
   273  // DescribeApplicationWithContext is the same as DescribeApplication with the addition of
   274  // the ability to pass a context and additional request options.
   275  //
   276  // See DescribeApplication for details on how to use this API operation.
   277  //
   278  // The context must be non-nil and will be used for request cancellation. If
   279  // the context is nil a panic will occur. In the future the SDK may create
   280  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   281  // for more information on using Contexts.
   282  func (c *IoTFleetHub) DescribeApplicationWithContext(ctx aws.Context, input *DescribeApplicationInput, opts ...request.Option) (*DescribeApplicationOutput, error) {
   283  	req, out := c.DescribeApplicationRequest(input)
   284  	req.SetContext(ctx)
   285  	req.ApplyOptions(opts...)
   286  	return out, req.Send()
   287  }
   288  
   289  const opListApplications = "ListApplications"
   290  
   291  // ListApplicationsRequest generates a "aws/request.Request" representing the
   292  // client's request for the ListApplications operation. The "output" return
   293  // value will be populated with the request's response once the request completes
   294  // successfully.
   295  //
   296  // Use "Send" method on the returned Request to send the API call to the service.
   297  // the "output" return value is not valid until after Send returns without error.
   298  //
   299  // See ListApplications for more information on using the ListApplications
   300  // API call, and error handling.
   301  //
   302  // This method is useful when you want to inject custom logic or configuration
   303  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   304  //
   305  //
   306  //    // Example sending a request using the ListApplicationsRequest method.
   307  //    req, resp := client.ListApplicationsRequest(params)
   308  //
   309  //    err := req.Send()
   310  //    if err == nil { // resp is now filled
   311  //        fmt.Println(resp)
   312  //    }
   313  //
   314  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/ListApplications
   315  func (c *IoTFleetHub) ListApplicationsRequest(input *ListApplicationsInput) (req *request.Request, output *ListApplicationsOutput) {
   316  	op := &request.Operation{
   317  		Name:       opListApplications,
   318  		HTTPMethod: "GET",
   319  		HTTPPath:   "/applications",
   320  		Paginator: &request.Paginator{
   321  			InputTokens:     []string{"nextToken"},
   322  			OutputTokens:    []string{"nextToken"},
   323  			LimitToken:      "",
   324  			TruncationToken: "",
   325  		},
   326  	}
   327  
   328  	if input == nil {
   329  		input = &ListApplicationsInput{}
   330  	}
   331  
   332  	output = &ListApplicationsOutput{}
   333  	req = c.newRequest(op, input, output)
   334  	return
   335  }
   336  
   337  // ListApplications API operation for AWS IoT Fleet Hub.
   338  //
   339  // Gets a list of Fleet Hub for AWS IoT Device Management web applications for
   340  // the current account.
   341  //
   342  // Fleet Hub for AWS IoT Device Management is in public preview and is subject
   343  // to change.
   344  //
   345  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   346  // with awserr.Error's Code and Message methods to get detailed information about
   347  // the error.
   348  //
   349  // See the AWS API reference guide for AWS IoT Fleet Hub's
   350  // API operation ListApplications for usage and error information.
   351  //
   352  // Returned Error Types:
   353  //   * InvalidRequestException
   354  //   The request is not valid.
   355  //
   356  //   * InternalFailureException
   357  //   An unexpected error has occurred.
   358  //
   359  //   * ThrottlingException
   360  //   The rate exceeds the limit.
   361  //
   362  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/ListApplications
   363  func (c *IoTFleetHub) ListApplications(input *ListApplicationsInput) (*ListApplicationsOutput, error) {
   364  	req, out := c.ListApplicationsRequest(input)
   365  	return out, req.Send()
   366  }
   367  
   368  // ListApplicationsWithContext is the same as ListApplications with the addition of
   369  // the ability to pass a context and additional request options.
   370  //
   371  // See ListApplications for details on how to use this API operation.
   372  //
   373  // The context must be non-nil and will be used for request cancellation. If
   374  // the context is nil a panic will occur. In the future the SDK may create
   375  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   376  // for more information on using Contexts.
   377  func (c *IoTFleetHub) ListApplicationsWithContext(ctx aws.Context, input *ListApplicationsInput, opts ...request.Option) (*ListApplicationsOutput, error) {
   378  	req, out := c.ListApplicationsRequest(input)
   379  	req.SetContext(ctx)
   380  	req.ApplyOptions(opts...)
   381  	return out, req.Send()
   382  }
   383  
   384  // ListApplicationsPages iterates over the pages of a ListApplications operation,
   385  // calling the "fn" function with the response data for each page. To stop
   386  // iterating, return false from the fn function.
   387  //
   388  // See ListApplications method for more information on how to use this operation.
   389  //
   390  // Note: This operation can generate multiple requests to a service.
   391  //
   392  //    // Example iterating over at most 3 pages of a ListApplications operation.
   393  //    pageNum := 0
   394  //    err := client.ListApplicationsPages(params,
   395  //        func(page *iotfleethub.ListApplicationsOutput, lastPage bool) bool {
   396  //            pageNum++
   397  //            fmt.Println(page)
   398  //            return pageNum <= 3
   399  //        })
   400  //
   401  func (c *IoTFleetHub) ListApplicationsPages(input *ListApplicationsInput, fn func(*ListApplicationsOutput, bool) bool) error {
   402  	return c.ListApplicationsPagesWithContext(aws.BackgroundContext(), input, fn)
   403  }
   404  
   405  // ListApplicationsPagesWithContext same as ListApplicationsPages except
   406  // it takes a Context and allows setting request options on the pages.
   407  //
   408  // The context must be non-nil and will be used for request cancellation. If
   409  // the context is nil a panic will occur. In the future the SDK may create
   410  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   411  // for more information on using Contexts.
   412  func (c *IoTFleetHub) ListApplicationsPagesWithContext(ctx aws.Context, input *ListApplicationsInput, fn func(*ListApplicationsOutput, bool) bool, opts ...request.Option) error {
   413  	p := request.Pagination{
   414  		NewRequest: func() (*request.Request, error) {
   415  			var inCpy *ListApplicationsInput
   416  			if input != nil {
   417  				tmp := *input
   418  				inCpy = &tmp
   419  			}
   420  			req, _ := c.ListApplicationsRequest(inCpy)
   421  			req.SetContext(ctx)
   422  			req.ApplyOptions(opts...)
   423  			return req, nil
   424  		},
   425  	}
   426  
   427  	for p.Next() {
   428  		if !fn(p.Page().(*ListApplicationsOutput), !p.HasNextPage()) {
   429  			break
   430  		}
   431  	}
   432  
   433  	return p.Err()
   434  }
   435  
   436  const opListTagsForResource = "ListTagsForResource"
   437  
   438  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
   439  // client's request for the ListTagsForResource operation. The "output" return
   440  // value will be populated with the request's response once the request completes
   441  // successfully.
   442  //
   443  // Use "Send" method on the returned Request to send the API call to the service.
   444  // the "output" return value is not valid until after Send returns without error.
   445  //
   446  // See ListTagsForResource for more information on using the ListTagsForResource
   447  // API call, and error handling.
   448  //
   449  // This method is useful when you want to inject custom logic or configuration
   450  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   451  //
   452  //
   453  //    // Example sending a request using the ListTagsForResourceRequest method.
   454  //    req, resp := client.ListTagsForResourceRequest(params)
   455  //
   456  //    err := req.Send()
   457  //    if err == nil { // resp is now filled
   458  //        fmt.Println(resp)
   459  //    }
   460  //
   461  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/ListTagsForResource
   462  func (c *IoTFleetHub) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
   463  	op := &request.Operation{
   464  		Name:       opListTagsForResource,
   465  		HTTPMethod: "GET",
   466  		HTTPPath:   "/tags/{resourceArn}",
   467  	}
   468  
   469  	if input == nil {
   470  		input = &ListTagsForResourceInput{}
   471  	}
   472  
   473  	output = &ListTagsForResourceOutput{}
   474  	req = c.newRequest(op, input, output)
   475  	return
   476  }
   477  
   478  // ListTagsForResource API operation for AWS IoT Fleet Hub.
   479  //
   480  // Lists the tags for the specified resource.
   481  //
   482  // Fleet Hub for AWS IoT Device Management is in public preview and is subject
   483  // to change.
   484  //
   485  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   486  // with awserr.Error's Code and Message methods to get detailed information about
   487  // the error.
   488  //
   489  // See the AWS API reference guide for AWS IoT Fleet Hub's
   490  // API operation ListTagsForResource for usage and error information.
   491  //
   492  // Returned Error Types:
   493  //   * InternalFailureException
   494  //   An unexpected error has occurred.
   495  //
   496  //   * InvalidRequestException
   497  //   The request is not valid.
   498  //
   499  //   * ResourceNotFoundException
   500  //   The specified resource does not exist.
   501  //
   502  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/ListTagsForResource
   503  func (c *IoTFleetHub) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
   504  	req, out := c.ListTagsForResourceRequest(input)
   505  	return out, req.Send()
   506  }
   507  
   508  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
   509  // the ability to pass a context and additional request options.
   510  //
   511  // See ListTagsForResource for details on how to use this API operation.
   512  //
   513  // The context must be non-nil and will be used for request cancellation. If
   514  // the context is nil a panic will occur. In the future the SDK may create
   515  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   516  // for more information on using Contexts.
   517  func (c *IoTFleetHub) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
   518  	req, out := c.ListTagsForResourceRequest(input)
   519  	req.SetContext(ctx)
   520  	req.ApplyOptions(opts...)
   521  	return out, req.Send()
   522  }
   523  
   524  const opTagResource = "TagResource"
   525  
   526  // TagResourceRequest generates a "aws/request.Request" representing the
   527  // client's request for the TagResource operation. The "output" return
   528  // value will be populated with the request's response once the request completes
   529  // successfully.
   530  //
   531  // Use "Send" method on the returned Request to send the API call to the service.
   532  // the "output" return value is not valid until after Send returns without error.
   533  //
   534  // See TagResource for more information on using the TagResource
   535  // API call, and error handling.
   536  //
   537  // This method is useful when you want to inject custom logic or configuration
   538  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   539  //
   540  //
   541  //    // Example sending a request using the TagResourceRequest method.
   542  //    req, resp := client.TagResourceRequest(params)
   543  //
   544  //    err := req.Send()
   545  //    if err == nil { // resp is now filled
   546  //        fmt.Println(resp)
   547  //    }
   548  //
   549  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/TagResource
   550  func (c *IoTFleetHub) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
   551  	op := &request.Operation{
   552  		Name:       opTagResource,
   553  		HTTPMethod: "POST",
   554  		HTTPPath:   "/tags/{resourceArn}",
   555  	}
   556  
   557  	if input == nil {
   558  		input = &TagResourceInput{}
   559  	}
   560  
   561  	output = &TagResourceOutput{}
   562  	req = c.newRequest(op, input, output)
   563  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   564  	return
   565  }
   566  
   567  // TagResource API operation for AWS IoT Fleet Hub.
   568  //
   569  // Adds to or modifies the tags of the specified resource. Tags are metadata
   570  // which can be used to manage a resource.
   571  //
   572  // Fleet Hub for AWS IoT Device Management is in public preview and is subject
   573  // to change.
   574  //
   575  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   576  // with awserr.Error's Code and Message methods to get detailed information about
   577  // the error.
   578  //
   579  // See the AWS API reference guide for AWS IoT Fleet Hub's
   580  // API operation TagResource for usage and error information.
   581  //
   582  // Returned Error Types:
   583  //   * InternalFailureException
   584  //   An unexpected error has occurred.
   585  //
   586  //   * InvalidRequestException
   587  //   The request is not valid.
   588  //
   589  //   * ResourceNotFoundException
   590  //   The specified resource does not exist.
   591  //
   592  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/TagResource
   593  func (c *IoTFleetHub) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
   594  	req, out := c.TagResourceRequest(input)
   595  	return out, req.Send()
   596  }
   597  
   598  // TagResourceWithContext is the same as TagResource with the addition of
   599  // the ability to pass a context and additional request options.
   600  //
   601  // See TagResource for details on how to use this API operation.
   602  //
   603  // The context must be non-nil and will be used for request cancellation. If
   604  // the context is nil a panic will occur. In the future the SDK may create
   605  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   606  // for more information on using Contexts.
   607  func (c *IoTFleetHub) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
   608  	req, out := c.TagResourceRequest(input)
   609  	req.SetContext(ctx)
   610  	req.ApplyOptions(opts...)
   611  	return out, req.Send()
   612  }
   613  
   614  const opUntagResource = "UntagResource"
   615  
   616  // UntagResourceRequest generates a "aws/request.Request" representing the
   617  // client's request for the UntagResource operation. The "output" return
   618  // value will be populated with the request's response once the request completes
   619  // successfully.
   620  //
   621  // Use "Send" method on the returned Request to send the API call to the service.
   622  // the "output" return value is not valid until after Send returns without error.
   623  //
   624  // See UntagResource for more information on using the UntagResource
   625  // API call, and error handling.
   626  //
   627  // This method is useful when you want to inject custom logic or configuration
   628  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   629  //
   630  //
   631  //    // Example sending a request using the UntagResourceRequest method.
   632  //    req, resp := client.UntagResourceRequest(params)
   633  //
   634  //    err := req.Send()
   635  //    if err == nil { // resp is now filled
   636  //        fmt.Println(resp)
   637  //    }
   638  //
   639  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/UntagResource
   640  func (c *IoTFleetHub) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
   641  	op := &request.Operation{
   642  		Name:       opUntagResource,
   643  		HTTPMethod: "DELETE",
   644  		HTTPPath:   "/tags/{resourceArn}",
   645  	}
   646  
   647  	if input == nil {
   648  		input = &UntagResourceInput{}
   649  	}
   650  
   651  	output = &UntagResourceOutput{}
   652  	req = c.newRequest(op, input, output)
   653  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   654  	return
   655  }
   656  
   657  // UntagResource API operation for AWS IoT Fleet Hub.
   658  //
   659  // Removes the specified tags (metadata) from the resource.
   660  //
   661  // Fleet Hub for AWS IoT Device Management is in public preview and is subject
   662  // to change.
   663  //
   664  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   665  // with awserr.Error's Code and Message methods to get detailed information about
   666  // the error.
   667  //
   668  // See the AWS API reference guide for AWS IoT Fleet Hub's
   669  // API operation UntagResource for usage and error information.
   670  //
   671  // Returned Error Types:
   672  //   * InternalFailureException
   673  //   An unexpected error has occurred.
   674  //
   675  //   * InvalidRequestException
   676  //   The request is not valid.
   677  //
   678  //   * ResourceNotFoundException
   679  //   The specified resource does not exist.
   680  //
   681  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/UntagResource
   682  func (c *IoTFleetHub) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
   683  	req, out := c.UntagResourceRequest(input)
   684  	return out, req.Send()
   685  }
   686  
   687  // UntagResourceWithContext is the same as UntagResource with the addition of
   688  // the ability to pass a context and additional request options.
   689  //
   690  // See UntagResource for details on how to use this API operation.
   691  //
   692  // The context must be non-nil and will be used for request cancellation. If
   693  // the context is nil a panic will occur. In the future the SDK may create
   694  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   695  // for more information on using Contexts.
   696  func (c *IoTFleetHub) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
   697  	req, out := c.UntagResourceRequest(input)
   698  	req.SetContext(ctx)
   699  	req.ApplyOptions(opts...)
   700  	return out, req.Send()
   701  }
   702  
   703  const opUpdateApplication = "UpdateApplication"
   704  
   705  // UpdateApplicationRequest generates a "aws/request.Request" representing the
   706  // client's request for the UpdateApplication operation. The "output" return
   707  // value will be populated with the request's response once the request completes
   708  // successfully.
   709  //
   710  // Use "Send" method on the returned Request to send the API call to the service.
   711  // the "output" return value is not valid until after Send returns without error.
   712  //
   713  // See UpdateApplication for more information on using the UpdateApplication
   714  // API call, and error handling.
   715  //
   716  // This method is useful when you want to inject custom logic or configuration
   717  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   718  //
   719  //
   720  //    // Example sending a request using the UpdateApplicationRequest method.
   721  //    req, resp := client.UpdateApplicationRequest(params)
   722  //
   723  //    err := req.Send()
   724  //    if err == nil { // resp is now filled
   725  //        fmt.Println(resp)
   726  //    }
   727  //
   728  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/UpdateApplication
   729  func (c *IoTFleetHub) UpdateApplicationRequest(input *UpdateApplicationInput) (req *request.Request, output *UpdateApplicationOutput) {
   730  	op := &request.Operation{
   731  		Name:       opUpdateApplication,
   732  		HTTPMethod: "PATCH",
   733  		HTTPPath:   "/applications/{applicationId}",
   734  	}
   735  
   736  	if input == nil {
   737  		input = &UpdateApplicationInput{}
   738  	}
   739  
   740  	output = &UpdateApplicationOutput{}
   741  	req = c.newRequest(op, input, output)
   742  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   743  	return
   744  }
   745  
   746  // UpdateApplication API operation for AWS IoT Fleet Hub.
   747  //
   748  // Updates information about a Fleet Hub for a AWS IoT Device Management web
   749  // application.
   750  //
   751  // Fleet Hub for AWS IoT Device Management is in public preview and is subject
   752  // to change.
   753  //
   754  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   755  // with awserr.Error's Code and Message methods to get detailed information about
   756  // the error.
   757  //
   758  // See the AWS API reference guide for AWS IoT Fleet Hub's
   759  // API operation UpdateApplication for usage and error information.
   760  //
   761  // Returned Error Types:
   762  //   * InvalidRequestException
   763  //   The request is not valid.
   764  //
   765  //   * ResourceNotFoundException
   766  //   The specified resource does not exist.
   767  //
   768  //   * InternalFailureException
   769  //   An unexpected error has occurred.
   770  //
   771  //   * ConflictException
   772  //   The request conflicts with the current state of the resource.
   773  //
   774  //   * ThrottlingException
   775  //   The rate exceeds the limit.
   776  //
   777  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotfleethub-2020-11-03/UpdateApplication
   778  func (c *IoTFleetHub) UpdateApplication(input *UpdateApplicationInput) (*UpdateApplicationOutput, error) {
   779  	req, out := c.UpdateApplicationRequest(input)
   780  	return out, req.Send()
   781  }
   782  
   783  // UpdateApplicationWithContext is the same as UpdateApplication with the addition of
   784  // the ability to pass a context and additional request options.
   785  //
   786  // See UpdateApplication for details on how to use this API operation.
   787  //
   788  // The context must be non-nil and will be used for request cancellation. If
   789  // the context is nil a panic will occur. In the future the SDK may create
   790  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   791  // for more information on using Contexts.
   792  func (c *IoTFleetHub) UpdateApplicationWithContext(ctx aws.Context, input *UpdateApplicationInput, opts ...request.Option) (*UpdateApplicationOutput, error) {
   793  	req, out := c.UpdateApplicationRequest(input)
   794  	req.SetContext(ctx)
   795  	req.ApplyOptions(opts...)
   796  	return out, req.Send()
   797  }
   798  
   799  // A summary of information about a AWS IoT Device Management web application.
   800  //
   801  // Fleet Hub for AWS IoT Device Management is in public preview and is subject
   802  // to change.
   803  type ApplicationSummary struct {
   804  	_ struct{} `type:"structure"`
   805  
   806  	// The date (in Unix epoch time) when the web application was created.
   807  	ApplicationCreationDate *int64 `locationName:"applicationCreationDate" type:"long"`
   808  
   809  	// An optional description of the web application.
   810  	ApplicationDescription *string `locationName:"applicationDescription" min:"1" type:"string"`
   811  
   812  	// The unique Id of the web application.
   813  	//
   814  	// ApplicationId is a required field
   815  	ApplicationId *string `locationName:"applicationId" min:"36" type:"string" required:"true"`
   816  
   817  	// The date (in Unix epoch time) when the web application was last updated.
   818  	ApplicationLastUpdateDate *int64 `locationName:"applicationLastUpdateDate" type:"long"`
   819  
   820  	// The name of the web application.
   821  	//
   822  	// ApplicationName is a required field
   823  	ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"`
   824  
   825  	// The current state of the web application.
   826  	ApplicationState *string `locationName:"applicationState" type:"string" enum:"ApplicationState"`
   827  
   828  	// The URL of the web application.
   829  	//
   830  	// ApplicationUrl is a required field
   831  	ApplicationUrl *string `locationName:"applicationUrl" min:"1" type:"string" required:"true"`
   832  }
   833  
   834  // String returns the string representation.
   835  //
   836  // API parameter values that are decorated as "sensitive" in the API will not
   837  // be included in the string output. The member name will be present, but the
   838  // value will be replaced with "sensitive".
   839  func (s ApplicationSummary) String() string {
   840  	return awsutil.Prettify(s)
   841  }
   842  
   843  // GoString returns the string representation.
   844  //
   845  // API parameter values that are decorated as "sensitive" in the API will not
   846  // be included in the string output. The member name will be present, but the
   847  // value will be replaced with "sensitive".
   848  func (s ApplicationSummary) GoString() string {
   849  	return s.String()
   850  }
   851  
   852  // SetApplicationCreationDate sets the ApplicationCreationDate field's value.
   853  func (s *ApplicationSummary) SetApplicationCreationDate(v int64) *ApplicationSummary {
   854  	s.ApplicationCreationDate = &v
   855  	return s
   856  }
   857  
   858  // SetApplicationDescription sets the ApplicationDescription field's value.
   859  func (s *ApplicationSummary) SetApplicationDescription(v string) *ApplicationSummary {
   860  	s.ApplicationDescription = &v
   861  	return s
   862  }
   863  
   864  // SetApplicationId sets the ApplicationId field's value.
   865  func (s *ApplicationSummary) SetApplicationId(v string) *ApplicationSummary {
   866  	s.ApplicationId = &v
   867  	return s
   868  }
   869  
   870  // SetApplicationLastUpdateDate sets the ApplicationLastUpdateDate field's value.
   871  func (s *ApplicationSummary) SetApplicationLastUpdateDate(v int64) *ApplicationSummary {
   872  	s.ApplicationLastUpdateDate = &v
   873  	return s
   874  }
   875  
   876  // SetApplicationName sets the ApplicationName field's value.
   877  func (s *ApplicationSummary) SetApplicationName(v string) *ApplicationSummary {
   878  	s.ApplicationName = &v
   879  	return s
   880  }
   881  
   882  // SetApplicationState sets the ApplicationState field's value.
   883  func (s *ApplicationSummary) SetApplicationState(v string) *ApplicationSummary {
   884  	s.ApplicationState = &v
   885  	return s
   886  }
   887  
   888  // SetApplicationUrl sets the ApplicationUrl field's value.
   889  func (s *ApplicationSummary) SetApplicationUrl(v string) *ApplicationSummary {
   890  	s.ApplicationUrl = &v
   891  	return s
   892  }
   893  
   894  // The request conflicts with the current state of the resource.
   895  type ConflictException struct {
   896  	_            struct{}                  `type:"structure"`
   897  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
   898  
   899  	Message_ *string `locationName:"message" type:"string"`
   900  }
   901  
   902  // String returns the string representation.
   903  //
   904  // API parameter values that are decorated as "sensitive" in the API will not
   905  // be included in the string output. The member name will be present, but the
   906  // value will be replaced with "sensitive".
   907  func (s ConflictException) String() string {
   908  	return awsutil.Prettify(s)
   909  }
   910  
   911  // GoString returns the string representation.
   912  //
   913  // API parameter values that are decorated as "sensitive" in the API will not
   914  // be included in the string output. The member name will be present, but the
   915  // value will be replaced with "sensitive".
   916  func (s ConflictException) GoString() string {
   917  	return s.String()
   918  }
   919  
   920  func newErrorConflictException(v protocol.ResponseMetadata) error {
   921  	return &ConflictException{
   922  		RespMetadata: v,
   923  	}
   924  }
   925  
   926  // Code returns the exception type name.
   927  func (s *ConflictException) Code() string {
   928  	return "ConflictException"
   929  }
   930  
   931  // Message returns the exception's message.
   932  func (s *ConflictException) Message() string {
   933  	if s.Message_ != nil {
   934  		return *s.Message_
   935  	}
   936  	return ""
   937  }
   938  
   939  // OrigErr always returns nil, satisfies awserr.Error interface.
   940  func (s *ConflictException) OrigErr() error {
   941  	return nil
   942  }
   943  
   944  func (s *ConflictException) Error() string {
   945  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
   946  }
   947  
   948  // Status code returns the HTTP status code for the request's response error.
   949  func (s *ConflictException) StatusCode() int {
   950  	return s.RespMetadata.StatusCode
   951  }
   952  
   953  // RequestID returns the service's response RequestID for request.
   954  func (s *ConflictException) RequestID() string {
   955  	return s.RespMetadata.RequestID
   956  }
   957  
   958  type CreateApplicationInput struct {
   959  	_ struct{} `type:"structure"`
   960  
   961  	// An optional description of the web application.
   962  	ApplicationDescription *string `locationName:"applicationDescription" min:"1" type:"string"`
   963  
   964  	// The name of the web application.
   965  	//
   966  	// ApplicationName is a required field
   967  	ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"`
   968  
   969  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
   970  	// of the request. Don't reuse this client token if a new idempotent request
   971  	// is required.
   972  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
   973  
   974  	// The ARN of the role that the web application assumes when it interacts with
   975  	// AWS IoT Core.
   976  	//
   977  	// The name of the role must be in the form AWSIotFleetHub_random_string .
   978  	//
   979  	// RoleArn is a required field
   980  	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
   981  
   982  	// A set of key/value pairs that you can use to manage the web application resource.
   983  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
   984  }
   985  
   986  // String returns the string representation.
   987  //
   988  // API parameter values that are decorated as "sensitive" in the API will not
   989  // be included in the string output. The member name will be present, but the
   990  // value will be replaced with "sensitive".
   991  func (s CreateApplicationInput) String() string {
   992  	return awsutil.Prettify(s)
   993  }
   994  
   995  // GoString returns the string representation.
   996  //
   997  // API parameter values that are decorated as "sensitive" in the API will not
   998  // be included in the string output. The member name will be present, but the
   999  // value will be replaced with "sensitive".
  1000  func (s CreateApplicationInput) GoString() string {
  1001  	return s.String()
  1002  }
  1003  
  1004  // Validate inspects the fields of the type to determine if they are valid.
  1005  func (s *CreateApplicationInput) Validate() error {
  1006  	invalidParams := request.ErrInvalidParams{Context: "CreateApplicationInput"}
  1007  	if s.ApplicationDescription != nil && len(*s.ApplicationDescription) < 1 {
  1008  		invalidParams.Add(request.NewErrParamMinLen("ApplicationDescription", 1))
  1009  	}
  1010  	if s.ApplicationName == nil {
  1011  		invalidParams.Add(request.NewErrParamRequired("ApplicationName"))
  1012  	}
  1013  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
  1014  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
  1015  	}
  1016  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  1017  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  1018  	}
  1019  	if s.RoleArn == nil {
  1020  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  1021  	}
  1022  	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
  1023  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
  1024  	}
  1025  	if s.Tags != nil && len(s.Tags) < 1 {
  1026  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  1027  	}
  1028  
  1029  	if invalidParams.Len() > 0 {
  1030  		return invalidParams
  1031  	}
  1032  	return nil
  1033  }
  1034  
  1035  // SetApplicationDescription sets the ApplicationDescription field's value.
  1036  func (s *CreateApplicationInput) SetApplicationDescription(v string) *CreateApplicationInput {
  1037  	s.ApplicationDescription = &v
  1038  	return s
  1039  }
  1040  
  1041  // SetApplicationName sets the ApplicationName field's value.
  1042  func (s *CreateApplicationInput) SetApplicationName(v string) *CreateApplicationInput {
  1043  	s.ApplicationName = &v
  1044  	return s
  1045  }
  1046  
  1047  // SetClientToken sets the ClientToken field's value.
  1048  func (s *CreateApplicationInput) SetClientToken(v string) *CreateApplicationInput {
  1049  	s.ClientToken = &v
  1050  	return s
  1051  }
  1052  
  1053  // SetRoleArn sets the RoleArn field's value.
  1054  func (s *CreateApplicationInput) SetRoleArn(v string) *CreateApplicationInput {
  1055  	s.RoleArn = &v
  1056  	return s
  1057  }
  1058  
  1059  // SetTags sets the Tags field's value.
  1060  func (s *CreateApplicationInput) SetTags(v map[string]*string) *CreateApplicationInput {
  1061  	s.Tags = v
  1062  	return s
  1063  }
  1064  
  1065  type CreateApplicationOutput struct {
  1066  	_ struct{} `type:"structure"`
  1067  
  1068  	// The ARN of the web application.
  1069  	//
  1070  	// ApplicationArn is a required field
  1071  	ApplicationArn *string `locationName:"applicationArn" min:"1" type:"string" required:"true"`
  1072  
  1073  	// The unique Id of the web application.
  1074  	//
  1075  	// ApplicationId is a required field
  1076  	ApplicationId *string `locationName:"applicationId" min:"36" type:"string" required:"true"`
  1077  }
  1078  
  1079  // String returns the string representation.
  1080  //
  1081  // API parameter values that are decorated as "sensitive" in the API will not
  1082  // be included in the string output. The member name will be present, but the
  1083  // value will be replaced with "sensitive".
  1084  func (s CreateApplicationOutput) String() string {
  1085  	return awsutil.Prettify(s)
  1086  }
  1087  
  1088  // GoString returns the string representation.
  1089  //
  1090  // API parameter values that are decorated as "sensitive" in the API will not
  1091  // be included in the string output. The member name will be present, but the
  1092  // value will be replaced with "sensitive".
  1093  func (s CreateApplicationOutput) GoString() string {
  1094  	return s.String()
  1095  }
  1096  
  1097  // SetApplicationArn sets the ApplicationArn field's value.
  1098  func (s *CreateApplicationOutput) SetApplicationArn(v string) *CreateApplicationOutput {
  1099  	s.ApplicationArn = &v
  1100  	return s
  1101  }
  1102  
  1103  // SetApplicationId sets the ApplicationId field's value.
  1104  func (s *CreateApplicationOutput) SetApplicationId(v string) *CreateApplicationOutput {
  1105  	s.ApplicationId = &v
  1106  	return s
  1107  }
  1108  
  1109  type DeleteApplicationInput struct {
  1110  	_ struct{} `type:"structure" nopayload:"true"`
  1111  
  1112  	// The unique Id of the web application.
  1113  	//
  1114  	// ApplicationId is a required field
  1115  	ApplicationId *string `location:"uri" locationName:"applicationId" min:"36" type:"string" required:"true"`
  1116  
  1117  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
  1118  	// of the request. Don't reuse this client token if a new idempotent request
  1119  	// is required.
  1120  	ClientToken *string `location:"querystring" locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
  1121  }
  1122  
  1123  // String returns the string representation.
  1124  //
  1125  // API parameter values that are decorated as "sensitive" in the API will not
  1126  // be included in the string output. The member name will be present, but the
  1127  // value will be replaced with "sensitive".
  1128  func (s DeleteApplicationInput) String() string {
  1129  	return awsutil.Prettify(s)
  1130  }
  1131  
  1132  // GoString returns the string representation.
  1133  //
  1134  // API parameter values that are decorated as "sensitive" in the API will not
  1135  // be included in the string output. The member name will be present, but the
  1136  // value will be replaced with "sensitive".
  1137  func (s DeleteApplicationInput) GoString() string {
  1138  	return s.String()
  1139  }
  1140  
  1141  // Validate inspects the fields of the type to determine if they are valid.
  1142  func (s *DeleteApplicationInput) Validate() error {
  1143  	invalidParams := request.ErrInvalidParams{Context: "DeleteApplicationInput"}
  1144  	if s.ApplicationId == nil {
  1145  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  1146  	}
  1147  	if s.ApplicationId != nil && len(*s.ApplicationId) < 36 {
  1148  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 36))
  1149  	}
  1150  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  1151  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  1152  	}
  1153  
  1154  	if invalidParams.Len() > 0 {
  1155  		return invalidParams
  1156  	}
  1157  	return nil
  1158  }
  1159  
  1160  // SetApplicationId sets the ApplicationId field's value.
  1161  func (s *DeleteApplicationInput) SetApplicationId(v string) *DeleteApplicationInput {
  1162  	s.ApplicationId = &v
  1163  	return s
  1164  }
  1165  
  1166  // SetClientToken sets the ClientToken field's value.
  1167  func (s *DeleteApplicationInput) SetClientToken(v string) *DeleteApplicationInput {
  1168  	s.ClientToken = &v
  1169  	return s
  1170  }
  1171  
  1172  type DeleteApplicationOutput struct {
  1173  	_ struct{} `type:"structure" nopayload:"true"`
  1174  }
  1175  
  1176  // String returns the string representation.
  1177  //
  1178  // API parameter values that are decorated as "sensitive" in the API will not
  1179  // be included in the string output. The member name will be present, but the
  1180  // value will be replaced with "sensitive".
  1181  func (s DeleteApplicationOutput) String() string {
  1182  	return awsutil.Prettify(s)
  1183  }
  1184  
  1185  // GoString returns the string representation.
  1186  //
  1187  // API parameter values that are decorated as "sensitive" in the API will not
  1188  // be included in the string output. The member name will be present, but the
  1189  // value will be replaced with "sensitive".
  1190  func (s DeleteApplicationOutput) GoString() string {
  1191  	return s.String()
  1192  }
  1193  
  1194  type DescribeApplicationInput struct {
  1195  	_ struct{} `type:"structure" nopayload:"true"`
  1196  
  1197  	// The unique Id of the web application.
  1198  	//
  1199  	// ApplicationId is a required field
  1200  	ApplicationId *string `location:"uri" locationName:"applicationId" min:"36" type:"string" required:"true"`
  1201  }
  1202  
  1203  // String returns the string representation.
  1204  //
  1205  // API parameter values that are decorated as "sensitive" in the API will not
  1206  // be included in the string output. The member name will be present, but the
  1207  // value will be replaced with "sensitive".
  1208  func (s DescribeApplicationInput) String() string {
  1209  	return awsutil.Prettify(s)
  1210  }
  1211  
  1212  // GoString returns the string representation.
  1213  //
  1214  // API parameter values that are decorated as "sensitive" in the API will not
  1215  // be included in the string output. The member name will be present, but the
  1216  // value will be replaced with "sensitive".
  1217  func (s DescribeApplicationInput) GoString() string {
  1218  	return s.String()
  1219  }
  1220  
  1221  // Validate inspects the fields of the type to determine if they are valid.
  1222  func (s *DescribeApplicationInput) Validate() error {
  1223  	invalidParams := request.ErrInvalidParams{Context: "DescribeApplicationInput"}
  1224  	if s.ApplicationId == nil {
  1225  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  1226  	}
  1227  	if s.ApplicationId != nil && len(*s.ApplicationId) < 36 {
  1228  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 36))
  1229  	}
  1230  
  1231  	if invalidParams.Len() > 0 {
  1232  		return invalidParams
  1233  	}
  1234  	return nil
  1235  }
  1236  
  1237  // SetApplicationId sets the ApplicationId field's value.
  1238  func (s *DescribeApplicationInput) SetApplicationId(v string) *DescribeApplicationInput {
  1239  	s.ApplicationId = &v
  1240  	return s
  1241  }
  1242  
  1243  type DescribeApplicationOutput struct {
  1244  	_ struct{} `type:"structure"`
  1245  
  1246  	// The ARN of the web application.
  1247  	//
  1248  	// ApplicationArn is a required field
  1249  	ApplicationArn *string `locationName:"applicationArn" min:"1" type:"string" required:"true"`
  1250  
  1251  	// The date (in Unix epoch time) when the application was created.
  1252  	//
  1253  	// ApplicationCreationDate is a required field
  1254  	ApplicationCreationDate *int64 `locationName:"applicationCreationDate" type:"long" required:"true"`
  1255  
  1256  	// An optional description of the web application.
  1257  	ApplicationDescription *string `locationName:"applicationDescription" min:"1" type:"string"`
  1258  
  1259  	// The unique Id of the web application.
  1260  	//
  1261  	// ApplicationId is a required field
  1262  	ApplicationId *string `locationName:"applicationId" min:"36" type:"string" required:"true"`
  1263  
  1264  	// The date (in Unix epoch time) when the application was last updated.
  1265  	//
  1266  	// ApplicationLastUpdateDate is a required field
  1267  	ApplicationLastUpdateDate *int64 `locationName:"applicationLastUpdateDate" type:"long" required:"true"`
  1268  
  1269  	// The name of the web application.
  1270  	//
  1271  	// ApplicationName is a required field
  1272  	ApplicationName *string `locationName:"applicationName" min:"1" type:"string" required:"true"`
  1273  
  1274  	// The current state of the web application.
  1275  	//
  1276  	// ApplicationState is a required field
  1277  	ApplicationState *string `locationName:"applicationState" type:"string" required:"true" enum:"ApplicationState"`
  1278  
  1279  	// The URL of the web application.
  1280  	//
  1281  	// ApplicationUrl is a required field
  1282  	ApplicationUrl *string `locationName:"applicationUrl" min:"1" type:"string" required:"true"`
  1283  
  1284  	// A message indicating why the DescribeApplication API failed.
  1285  	ErrorMessage *string `locationName:"errorMessage" type:"string"`
  1286  
  1287  	// The ARN of the role that the web application assumes when it interacts with
  1288  	// AWS IoT Core.
  1289  	//
  1290  	// RoleArn is a required field
  1291  	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
  1292  
  1293  	// The Id of the single sign-on client that you use to authenticate and authorize
  1294  	// users on the web application.
  1295  	SsoClientId *string `locationName:"ssoClientId" type:"string"`
  1296  
  1297  	// A set of key/value pairs that you can use to manage the web application resource.
  1298  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  1299  }
  1300  
  1301  // String returns the string representation.
  1302  //
  1303  // API parameter values that are decorated as "sensitive" in the API will not
  1304  // be included in the string output. The member name will be present, but the
  1305  // value will be replaced with "sensitive".
  1306  func (s DescribeApplicationOutput) String() string {
  1307  	return awsutil.Prettify(s)
  1308  }
  1309  
  1310  // GoString returns the string representation.
  1311  //
  1312  // API parameter values that are decorated as "sensitive" in the API will not
  1313  // be included in the string output. The member name will be present, but the
  1314  // value will be replaced with "sensitive".
  1315  func (s DescribeApplicationOutput) GoString() string {
  1316  	return s.String()
  1317  }
  1318  
  1319  // SetApplicationArn sets the ApplicationArn field's value.
  1320  func (s *DescribeApplicationOutput) SetApplicationArn(v string) *DescribeApplicationOutput {
  1321  	s.ApplicationArn = &v
  1322  	return s
  1323  }
  1324  
  1325  // SetApplicationCreationDate sets the ApplicationCreationDate field's value.
  1326  func (s *DescribeApplicationOutput) SetApplicationCreationDate(v int64) *DescribeApplicationOutput {
  1327  	s.ApplicationCreationDate = &v
  1328  	return s
  1329  }
  1330  
  1331  // SetApplicationDescription sets the ApplicationDescription field's value.
  1332  func (s *DescribeApplicationOutput) SetApplicationDescription(v string) *DescribeApplicationOutput {
  1333  	s.ApplicationDescription = &v
  1334  	return s
  1335  }
  1336  
  1337  // SetApplicationId sets the ApplicationId field's value.
  1338  func (s *DescribeApplicationOutput) SetApplicationId(v string) *DescribeApplicationOutput {
  1339  	s.ApplicationId = &v
  1340  	return s
  1341  }
  1342  
  1343  // SetApplicationLastUpdateDate sets the ApplicationLastUpdateDate field's value.
  1344  func (s *DescribeApplicationOutput) SetApplicationLastUpdateDate(v int64) *DescribeApplicationOutput {
  1345  	s.ApplicationLastUpdateDate = &v
  1346  	return s
  1347  }
  1348  
  1349  // SetApplicationName sets the ApplicationName field's value.
  1350  func (s *DescribeApplicationOutput) SetApplicationName(v string) *DescribeApplicationOutput {
  1351  	s.ApplicationName = &v
  1352  	return s
  1353  }
  1354  
  1355  // SetApplicationState sets the ApplicationState field's value.
  1356  func (s *DescribeApplicationOutput) SetApplicationState(v string) *DescribeApplicationOutput {
  1357  	s.ApplicationState = &v
  1358  	return s
  1359  }
  1360  
  1361  // SetApplicationUrl sets the ApplicationUrl field's value.
  1362  func (s *DescribeApplicationOutput) SetApplicationUrl(v string) *DescribeApplicationOutput {
  1363  	s.ApplicationUrl = &v
  1364  	return s
  1365  }
  1366  
  1367  // SetErrorMessage sets the ErrorMessage field's value.
  1368  func (s *DescribeApplicationOutput) SetErrorMessage(v string) *DescribeApplicationOutput {
  1369  	s.ErrorMessage = &v
  1370  	return s
  1371  }
  1372  
  1373  // SetRoleArn sets the RoleArn field's value.
  1374  func (s *DescribeApplicationOutput) SetRoleArn(v string) *DescribeApplicationOutput {
  1375  	s.RoleArn = &v
  1376  	return s
  1377  }
  1378  
  1379  // SetSsoClientId sets the SsoClientId field's value.
  1380  func (s *DescribeApplicationOutput) SetSsoClientId(v string) *DescribeApplicationOutput {
  1381  	s.SsoClientId = &v
  1382  	return s
  1383  }
  1384  
  1385  // SetTags sets the Tags field's value.
  1386  func (s *DescribeApplicationOutput) SetTags(v map[string]*string) *DescribeApplicationOutput {
  1387  	s.Tags = v
  1388  	return s
  1389  }
  1390  
  1391  // An unexpected error has occurred.
  1392  type InternalFailureException struct {
  1393  	_            struct{}                  `type:"structure"`
  1394  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1395  
  1396  	Message_ *string `locationName:"message" type:"string"`
  1397  }
  1398  
  1399  // String returns the string representation.
  1400  //
  1401  // API parameter values that are decorated as "sensitive" in the API will not
  1402  // be included in the string output. The member name will be present, but the
  1403  // value will be replaced with "sensitive".
  1404  func (s InternalFailureException) String() string {
  1405  	return awsutil.Prettify(s)
  1406  }
  1407  
  1408  // GoString returns the string representation.
  1409  //
  1410  // API parameter values that are decorated as "sensitive" in the API will not
  1411  // be included in the string output. The member name will be present, but the
  1412  // value will be replaced with "sensitive".
  1413  func (s InternalFailureException) GoString() string {
  1414  	return s.String()
  1415  }
  1416  
  1417  func newErrorInternalFailureException(v protocol.ResponseMetadata) error {
  1418  	return &InternalFailureException{
  1419  		RespMetadata: v,
  1420  	}
  1421  }
  1422  
  1423  // Code returns the exception type name.
  1424  func (s *InternalFailureException) Code() string {
  1425  	return "InternalFailureException"
  1426  }
  1427  
  1428  // Message returns the exception's message.
  1429  func (s *InternalFailureException) Message() string {
  1430  	if s.Message_ != nil {
  1431  		return *s.Message_
  1432  	}
  1433  	return ""
  1434  }
  1435  
  1436  // OrigErr always returns nil, satisfies awserr.Error interface.
  1437  func (s *InternalFailureException) OrigErr() error {
  1438  	return nil
  1439  }
  1440  
  1441  func (s *InternalFailureException) Error() string {
  1442  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  1443  }
  1444  
  1445  // Status code returns the HTTP status code for the request's response error.
  1446  func (s *InternalFailureException) StatusCode() int {
  1447  	return s.RespMetadata.StatusCode
  1448  }
  1449  
  1450  // RequestID returns the service's response RequestID for request.
  1451  func (s *InternalFailureException) RequestID() string {
  1452  	return s.RespMetadata.RequestID
  1453  }
  1454  
  1455  // The request is not valid.
  1456  type InvalidRequestException struct {
  1457  	_            struct{}                  `type:"structure"`
  1458  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1459  
  1460  	Message_ *string `locationName:"message" type:"string"`
  1461  }
  1462  
  1463  // String returns the string representation.
  1464  //
  1465  // API parameter values that are decorated as "sensitive" in the API will not
  1466  // be included in the string output. The member name will be present, but the
  1467  // value will be replaced with "sensitive".
  1468  func (s InvalidRequestException) String() string {
  1469  	return awsutil.Prettify(s)
  1470  }
  1471  
  1472  // GoString returns the string representation.
  1473  //
  1474  // API parameter values that are decorated as "sensitive" in the API will not
  1475  // be included in the string output. The member name will be present, but the
  1476  // value will be replaced with "sensitive".
  1477  func (s InvalidRequestException) GoString() string {
  1478  	return s.String()
  1479  }
  1480  
  1481  func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
  1482  	return &InvalidRequestException{
  1483  		RespMetadata: v,
  1484  	}
  1485  }
  1486  
  1487  // Code returns the exception type name.
  1488  func (s *InvalidRequestException) Code() string {
  1489  	return "InvalidRequestException"
  1490  }
  1491  
  1492  // Message returns the exception's message.
  1493  func (s *InvalidRequestException) Message() string {
  1494  	if s.Message_ != nil {
  1495  		return *s.Message_
  1496  	}
  1497  	return ""
  1498  }
  1499  
  1500  // OrigErr always returns nil, satisfies awserr.Error interface.
  1501  func (s *InvalidRequestException) OrigErr() error {
  1502  	return nil
  1503  }
  1504  
  1505  func (s *InvalidRequestException) Error() string {
  1506  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  1507  }
  1508  
  1509  // Status code returns the HTTP status code for the request's response error.
  1510  func (s *InvalidRequestException) StatusCode() int {
  1511  	return s.RespMetadata.StatusCode
  1512  }
  1513  
  1514  // RequestID returns the service's response RequestID for request.
  1515  func (s *InvalidRequestException) RequestID() string {
  1516  	return s.RespMetadata.RequestID
  1517  }
  1518  
  1519  // A limit has been exceeded.
  1520  type LimitExceededException struct {
  1521  	_            struct{}                  `type:"structure"`
  1522  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1523  
  1524  	Message_ *string `locationName:"message" type:"string"`
  1525  }
  1526  
  1527  // String returns the string representation.
  1528  //
  1529  // API parameter values that are decorated as "sensitive" in the API will not
  1530  // be included in the string output. The member name will be present, but the
  1531  // value will be replaced with "sensitive".
  1532  func (s LimitExceededException) String() string {
  1533  	return awsutil.Prettify(s)
  1534  }
  1535  
  1536  // GoString returns the string representation.
  1537  //
  1538  // API parameter values that are decorated as "sensitive" in the API will not
  1539  // be included in the string output. The member name will be present, but the
  1540  // value will be replaced with "sensitive".
  1541  func (s LimitExceededException) GoString() string {
  1542  	return s.String()
  1543  }
  1544  
  1545  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
  1546  	return &LimitExceededException{
  1547  		RespMetadata: v,
  1548  	}
  1549  }
  1550  
  1551  // Code returns the exception type name.
  1552  func (s *LimitExceededException) Code() string {
  1553  	return "LimitExceededException"
  1554  }
  1555  
  1556  // Message returns the exception's message.
  1557  func (s *LimitExceededException) Message() string {
  1558  	if s.Message_ != nil {
  1559  		return *s.Message_
  1560  	}
  1561  	return ""
  1562  }
  1563  
  1564  // OrigErr always returns nil, satisfies awserr.Error interface.
  1565  func (s *LimitExceededException) OrigErr() error {
  1566  	return nil
  1567  }
  1568  
  1569  func (s *LimitExceededException) Error() string {
  1570  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  1571  }
  1572  
  1573  // Status code returns the HTTP status code for the request's response error.
  1574  func (s *LimitExceededException) StatusCode() int {
  1575  	return s.RespMetadata.StatusCode
  1576  }
  1577  
  1578  // RequestID returns the service's response RequestID for request.
  1579  func (s *LimitExceededException) RequestID() string {
  1580  	return s.RespMetadata.RequestID
  1581  }
  1582  
  1583  type ListApplicationsInput struct {
  1584  	_ struct{} `type:"structure" nopayload:"true"`
  1585  
  1586  	// A token used to get the next set of results.
  1587  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
  1588  }
  1589  
  1590  // String returns the string representation.
  1591  //
  1592  // API parameter values that are decorated as "sensitive" in the API will not
  1593  // be included in the string output. The member name will be present, but the
  1594  // value will be replaced with "sensitive".
  1595  func (s ListApplicationsInput) String() string {
  1596  	return awsutil.Prettify(s)
  1597  }
  1598  
  1599  // GoString returns the string representation.
  1600  //
  1601  // API parameter values that are decorated as "sensitive" in the API will not
  1602  // be included in the string output. The member name will be present, but the
  1603  // value will be replaced with "sensitive".
  1604  func (s ListApplicationsInput) GoString() string {
  1605  	return s.String()
  1606  }
  1607  
  1608  // Validate inspects the fields of the type to determine if they are valid.
  1609  func (s *ListApplicationsInput) Validate() error {
  1610  	invalidParams := request.ErrInvalidParams{Context: "ListApplicationsInput"}
  1611  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  1612  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  1613  	}
  1614  
  1615  	if invalidParams.Len() > 0 {
  1616  		return invalidParams
  1617  	}
  1618  	return nil
  1619  }
  1620  
  1621  // SetNextToken sets the NextToken field's value.
  1622  func (s *ListApplicationsInput) SetNextToken(v string) *ListApplicationsInput {
  1623  	s.NextToken = &v
  1624  	return s
  1625  }
  1626  
  1627  type ListApplicationsOutput struct {
  1628  	_ struct{} `type:"structure"`
  1629  
  1630  	// An array of objects that provide summaries of information about the web applications
  1631  	// in the list.
  1632  	ApplicationSummaries []*ApplicationSummary `locationName:"applicationSummaries" type:"list"`
  1633  
  1634  	// A token used to get the next set of results.
  1635  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  1636  }
  1637  
  1638  // String returns the string representation.
  1639  //
  1640  // API parameter values that are decorated as "sensitive" in the API will not
  1641  // be included in the string output. The member name will be present, but the
  1642  // value will be replaced with "sensitive".
  1643  func (s ListApplicationsOutput) String() string {
  1644  	return awsutil.Prettify(s)
  1645  }
  1646  
  1647  // GoString returns the string representation.
  1648  //
  1649  // API parameter values that are decorated as "sensitive" in the API will not
  1650  // be included in the string output. The member name will be present, but the
  1651  // value will be replaced with "sensitive".
  1652  func (s ListApplicationsOutput) GoString() string {
  1653  	return s.String()
  1654  }
  1655  
  1656  // SetApplicationSummaries sets the ApplicationSummaries field's value.
  1657  func (s *ListApplicationsOutput) SetApplicationSummaries(v []*ApplicationSummary) *ListApplicationsOutput {
  1658  	s.ApplicationSummaries = v
  1659  	return s
  1660  }
  1661  
  1662  // SetNextToken sets the NextToken field's value.
  1663  func (s *ListApplicationsOutput) SetNextToken(v string) *ListApplicationsOutput {
  1664  	s.NextToken = &v
  1665  	return s
  1666  }
  1667  
  1668  type ListTagsForResourceInput struct {
  1669  	_ struct{} `type:"structure" nopayload:"true"`
  1670  
  1671  	// The ARN of the resource.
  1672  	//
  1673  	// ResourceArn is a required field
  1674  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
  1675  }
  1676  
  1677  // String returns the string representation.
  1678  //
  1679  // API parameter values that are decorated as "sensitive" in the API will not
  1680  // be included in the string output. The member name will be present, but the
  1681  // value will be replaced with "sensitive".
  1682  func (s ListTagsForResourceInput) String() string {
  1683  	return awsutil.Prettify(s)
  1684  }
  1685  
  1686  // GoString returns the string representation.
  1687  //
  1688  // API parameter values that are decorated as "sensitive" in the API will not
  1689  // be included in the string output. The member name will be present, but the
  1690  // value will be replaced with "sensitive".
  1691  func (s ListTagsForResourceInput) GoString() string {
  1692  	return s.String()
  1693  }
  1694  
  1695  // Validate inspects the fields of the type to determine if they are valid.
  1696  func (s *ListTagsForResourceInput) Validate() error {
  1697  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  1698  	if s.ResourceArn == nil {
  1699  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  1700  	}
  1701  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  1702  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  1703  	}
  1704  
  1705  	if invalidParams.Len() > 0 {
  1706  		return invalidParams
  1707  	}
  1708  	return nil
  1709  }
  1710  
  1711  // SetResourceArn sets the ResourceArn field's value.
  1712  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  1713  	s.ResourceArn = &v
  1714  	return s
  1715  }
  1716  
  1717  type ListTagsForResourceOutput struct {
  1718  	_ struct{} `type:"structure"`
  1719  
  1720  	// The list of tags assigned to the resource.
  1721  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  1722  }
  1723  
  1724  // String returns the string representation.
  1725  //
  1726  // API parameter values that are decorated as "sensitive" in the API will not
  1727  // be included in the string output. The member name will be present, but the
  1728  // value will be replaced with "sensitive".
  1729  func (s ListTagsForResourceOutput) String() string {
  1730  	return awsutil.Prettify(s)
  1731  }
  1732  
  1733  // GoString returns the string representation.
  1734  //
  1735  // API parameter values that are decorated as "sensitive" in the API will not
  1736  // be included in the string output. The member name will be present, but the
  1737  // value will be replaced with "sensitive".
  1738  func (s ListTagsForResourceOutput) GoString() string {
  1739  	return s.String()
  1740  }
  1741  
  1742  // SetTags sets the Tags field's value.
  1743  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
  1744  	s.Tags = v
  1745  	return s
  1746  }
  1747  
  1748  // The specified resource does not exist.
  1749  type ResourceNotFoundException struct {
  1750  	_            struct{}                  `type:"structure"`
  1751  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1752  
  1753  	Message_ *string `locationName:"message" type:"string"`
  1754  }
  1755  
  1756  // String returns the string representation.
  1757  //
  1758  // API parameter values that are decorated as "sensitive" in the API will not
  1759  // be included in the string output. The member name will be present, but the
  1760  // value will be replaced with "sensitive".
  1761  func (s ResourceNotFoundException) String() string {
  1762  	return awsutil.Prettify(s)
  1763  }
  1764  
  1765  // GoString returns the string representation.
  1766  //
  1767  // API parameter values that are decorated as "sensitive" in the API will not
  1768  // be included in the string output. The member name will be present, but the
  1769  // value will be replaced with "sensitive".
  1770  func (s ResourceNotFoundException) GoString() string {
  1771  	return s.String()
  1772  }
  1773  
  1774  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  1775  	return &ResourceNotFoundException{
  1776  		RespMetadata: v,
  1777  	}
  1778  }
  1779  
  1780  // Code returns the exception type name.
  1781  func (s *ResourceNotFoundException) Code() string {
  1782  	return "ResourceNotFoundException"
  1783  }
  1784  
  1785  // Message returns the exception's message.
  1786  func (s *ResourceNotFoundException) Message() string {
  1787  	if s.Message_ != nil {
  1788  		return *s.Message_
  1789  	}
  1790  	return ""
  1791  }
  1792  
  1793  // OrigErr always returns nil, satisfies awserr.Error interface.
  1794  func (s *ResourceNotFoundException) OrigErr() error {
  1795  	return nil
  1796  }
  1797  
  1798  func (s *ResourceNotFoundException) Error() string {
  1799  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  1800  }
  1801  
  1802  // Status code returns the HTTP status code for the request's response error.
  1803  func (s *ResourceNotFoundException) StatusCode() int {
  1804  	return s.RespMetadata.StatusCode
  1805  }
  1806  
  1807  // RequestID returns the service's response RequestID for request.
  1808  func (s *ResourceNotFoundException) RequestID() string {
  1809  	return s.RespMetadata.RequestID
  1810  }
  1811  
  1812  type TagResourceInput struct {
  1813  	_ struct{} `type:"structure"`
  1814  
  1815  	// The ARN of the resource.
  1816  	//
  1817  	// ResourceArn is a required field
  1818  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
  1819  
  1820  	// The new or modified tags for the resource.
  1821  	//
  1822  	// Tags is a required field
  1823  	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
  1824  }
  1825  
  1826  // String returns the string representation.
  1827  //
  1828  // API parameter values that are decorated as "sensitive" in the API will not
  1829  // be included in the string output. The member name will be present, but the
  1830  // value will be replaced with "sensitive".
  1831  func (s TagResourceInput) String() string {
  1832  	return awsutil.Prettify(s)
  1833  }
  1834  
  1835  // GoString returns the string representation.
  1836  //
  1837  // API parameter values that are decorated as "sensitive" in the API will not
  1838  // be included in the string output. The member name will be present, but the
  1839  // value will be replaced with "sensitive".
  1840  func (s TagResourceInput) GoString() string {
  1841  	return s.String()
  1842  }
  1843  
  1844  // Validate inspects the fields of the type to determine if they are valid.
  1845  func (s *TagResourceInput) Validate() error {
  1846  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  1847  	if s.ResourceArn == nil {
  1848  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  1849  	}
  1850  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  1851  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  1852  	}
  1853  	if s.Tags == nil {
  1854  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  1855  	}
  1856  	if s.Tags != nil && len(s.Tags) < 1 {
  1857  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  1858  	}
  1859  
  1860  	if invalidParams.Len() > 0 {
  1861  		return invalidParams
  1862  	}
  1863  	return nil
  1864  }
  1865  
  1866  // SetResourceArn sets the ResourceArn field's value.
  1867  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  1868  	s.ResourceArn = &v
  1869  	return s
  1870  }
  1871  
  1872  // SetTags sets the Tags field's value.
  1873  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
  1874  	s.Tags = v
  1875  	return s
  1876  }
  1877  
  1878  type TagResourceOutput struct {
  1879  	_ struct{} `type:"structure" nopayload:"true"`
  1880  }
  1881  
  1882  // String returns the string representation.
  1883  //
  1884  // API parameter values that are decorated as "sensitive" in the API will not
  1885  // be included in the string output. The member name will be present, but the
  1886  // value will be replaced with "sensitive".
  1887  func (s TagResourceOutput) String() string {
  1888  	return awsutil.Prettify(s)
  1889  }
  1890  
  1891  // GoString returns the string representation.
  1892  //
  1893  // API parameter values that are decorated as "sensitive" in the API will not
  1894  // be included in the string output. The member name will be present, but the
  1895  // value will be replaced with "sensitive".
  1896  func (s TagResourceOutput) GoString() string {
  1897  	return s.String()
  1898  }
  1899  
  1900  // The rate exceeds the limit.
  1901  type ThrottlingException struct {
  1902  	_            struct{}                  `type:"structure"`
  1903  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1904  
  1905  	Message_ *string `locationName:"message" type:"string"`
  1906  }
  1907  
  1908  // String returns the string representation.
  1909  //
  1910  // API parameter values that are decorated as "sensitive" in the API will not
  1911  // be included in the string output. The member name will be present, but the
  1912  // value will be replaced with "sensitive".
  1913  func (s ThrottlingException) String() string {
  1914  	return awsutil.Prettify(s)
  1915  }
  1916  
  1917  // GoString returns the string representation.
  1918  //
  1919  // API parameter values that are decorated as "sensitive" in the API will not
  1920  // be included in the string output. The member name will be present, but the
  1921  // value will be replaced with "sensitive".
  1922  func (s ThrottlingException) GoString() string {
  1923  	return s.String()
  1924  }
  1925  
  1926  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
  1927  	return &ThrottlingException{
  1928  		RespMetadata: v,
  1929  	}
  1930  }
  1931  
  1932  // Code returns the exception type name.
  1933  func (s *ThrottlingException) Code() string {
  1934  	return "ThrottlingException"
  1935  }
  1936  
  1937  // Message returns the exception's message.
  1938  func (s *ThrottlingException) Message() string {
  1939  	if s.Message_ != nil {
  1940  		return *s.Message_
  1941  	}
  1942  	return ""
  1943  }
  1944  
  1945  // OrigErr always returns nil, satisfies awserr.Error interface.
  1946  func (s *ThrottlingException) OrigErr() error {
  1947  	return nil
  1948  }
  1949  
  1950  func (s *ThrottlingException) Error() string {
  1951  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  1952  }
  1953  
  1954  // Status code returns the HTTP status code for the request's response error.
  1955  func (s *ThrottlingException) StatusCode() int {
  1956  	return s.RespMetadata.StatusCode
  1957  }
  1958  
  1959  // RequestID returns the service's response RequestID for request.
  1960  func (s *ThrottlingException) RequestID() string {
  1961  	return s.RespMetadata.RequestID
  1962  }
  1963  
  1964  type UntagResourceInput struct {
  1965  	_ struct{} `type:"structure" nopayload:"true"`
  1966  
  1967  	// The ARN of the resource.
  1968  	//
  1969  	// ResourceArn is a required field
  1970  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
  1971  
  1972  	// A list of the keys of the tags to be removed from the resource.
  1973  	//
  1974  	// TagKeys is a required field
  1975  	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
  1976  }
  1977  
  1978  // String returns the string representation.
  1979  //
  1980  // API parameter values that are decorated as "sensitive" in the API will not
  1981  // be included in the string output. The member name will be present, but the
  1982  // value will be replaced with "sensitive".
  1983  func (s UntagResourceInput) String() string {
  1984  	return awsutil.Prettify(s)
  1985  }
  1986  
  1987  // GoString returns the string representation.
  1988  //
  1989  // API parameter values that are decorated as "sensitive" in the API will not
  1990  // be included in the string output. The member name will be present, but the
  1991  // value will be replaced with "sensitive".
  1992  func (s UntagResourceInput) GoString() string {
  1993  	return s.String()
  1994  }
  1995  
  1996  // Validate inspects the fields of the type to determine if they are valid.
  1997  func (s *UntagResourceInput) Validate() error {
  1998  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  1999  	if s.ResourceArn == nil {
  2000  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  2001  	}
  2002  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  2003  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  2004  	}
  2005  	if s.TagKeys == nil {
  2006  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  2007  	}
  2008  
  2009  	if invalidParams.Len() > 0 {
  2010  		return invalidParams
  2011  	}
  2012  	return nil
  2013  }
  2014  
  2015  // SetResourceArn sets the ResourceArn field's value.
  2016  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
  2017  	s.ResourceArn = &v
  2018  	return s
  2019  }
  2020  
  2021  // SetTagKeys sets the TagKeys field's value.
  2022  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  2023  	s.TagKeys = v
  2024  	return s
  2025  }
  2026  
  2027  type UntagResourceOutput struct {
  2028  	_ struct{} `type:"structure" nopayload:"true"`
  2029  }
  2030  
  2031  // String returns the string representation.
  2032  //
  2033  // API parameter values that are decorated as "sensitive" in the API will not
  2034  // be included in the string output. The member name will be present, but the
  2035  // value will be replaced with "sensitive".
  2036  func (s UntagResourceOutput) String() string {
  2037  	return awsutil.Prettify(s)
  2038  }
  2039  
  2040  // GoString returns the string representation.
  2041  //
  2042  // API parameter values that are decorated as "sensitive" in the API will not
  2043  // be included in the string output. The member name will be present, but the
  2044  // value will be replaced with "sensitive".
  2045  func (s UntagResourceOutput) GoString() string {
  2046  	return s.String()
  2047  }
  2048  
  2049  type UpdateApplicationInput struct {
  2050  	_ struct{} `type:"structure"`
  2051  
  2052  	// An optional description of the web application.
  2053  	ApplicationDescription *string `locationName:"applicationDescription" min:"1" type:"string"`
  2054  
  2055  	// The unique Id of the web application.
  2056  	//
  2057  	// ApplicationId is a required field
  2058  	ApplicationId *string `location:"uri" locationName:"applicationId" min:"36" type:"string" required:"true"`
  2059  
  2060  	// The name of the web application.
  2061  	ApplicationName *string `locationName:"applicationName" min:"1" type:"string"`
  2062  
  2063  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
  2064  	// of the request. Don't reuse this client token if a new idempotent request
  2065  	// is required.
  2066  	ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"`
  2067  }
  2068  
  2069  // String returns the string representation.
  2070  //
  2071  // API parameter values that are decorated as "sensitive" in the API will not
  2072  // be included in the string output. The member name will be present, but the
  2073  // value will be replaced with "sensitive".
  2074  func (s UpdateApplicationInput) String() string {
  2075  	return awsutil.Prettify(s)
  2076  }
  2077  
  2078  // GoString returns the string representation.
  2079  //
  2080  // API parameter values that are decorated as "sensitive" in the API will not
  2081  // be included in the string output. The member name will be present, but the
  2082  // value will be replaced with "sensitive".
  2083  func (s UpdateApplicationInput) GoString() string {
  2084  	return s.String()
  2085  }
  2086  
  2087  // Validate inspects the fields of the type to determine if they are valid.
  2088  func (s *UpdateApplicationInput) Validate() error {
  2089  	invalidParams := request.ErrInvalidParams{Context: "UpdateApplicationInput"}
  2090  	if s.ApplicationDescription != nil && len(*s.ApplicationDescription) < 1 {
  2091  		invalidParams.Add(request.NewErrParamMinLen("ApplicationDescription", 1))
  2092  	}
  2093  	if s.ApplicationId == nil {
  2094  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  2095  	}
  2096  	if s.ApplicationId != nil && len(*s.ApplicationId) < 36 {
  2097  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 36))
  2098  	}
  2099  	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
  2100  		invalidParams.Add(request.NewErrParamMinLen("ApplicationName", 1))
  2101  	}
  2102  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  2103  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  2104  	}
  2105  
  2106  	if invalidParams.Len() > 0 {
  2107  		return invalidParams
  2108  	}
  2109  	return nil
  2110  }
  2111  
  2112  // SetApplicationDescription sets the ApplicationDescription field's value.
  2113  func (s *UpdateApplicationInput) SetApplicationDescription(v string) *UpdateApplicationInput {
  2114  	s.ApplicationDescription = &v
  2115  	return s
  2116  }
  2117  
  2118  // SetApplicationId sets the ApplicationId field's value.
  2119  func (s *UpdateApplicationInput) SetApplicationId(v string) *UpdateApplicationInput {
  2120  	s.ApplicationId = &v
  2121  	return s
  2122  }
  2123  
  2124  // SetApplicationName sets the ApplicationName field's value.
  2125  func (s *UpdateApplicationInput) SetApplicationName(v string) *UpdateApplicationInput {
  2126  	s.ApplicationName = &v
  2127  	return s
  2128  }
  2129  
  2130  // SetClientToken sets the ClientToken field's value.
  2131  func (s *UpdateApplicationInput) SetClientToken(v string) *UpdateApplicationInput {
  2132  	s.ClientToken = &v
  2133  	return s
  2134  }
  2135  
  2136  type UpdateApplicationOutput struct {
  2137  	_ struct{} `type:"structure" nopayload:"true"`
  2138  }
  2139  
  2140  // String returns the string representation.
  2141  //
  2142  // API parameter values that are decorated as "sensitive" in the API will not
  2143  // be included in the string output. The member name will be present, but the
  2144  // value will be replaced with "sensitive".
  2145  func (s UpdateApplicationOutput) String() string {
  2146  	return awsutil.Prettify(s)
  2147  }
  2148  
  2149  // GoString returns the string representation.
  2150  //
  2151  // API parameter values that are decorated as "sensitive" in the API will not
  2152  // be included in the string output. The member name will be present, but the
  2153  // value will be replaced with "sensitive".
  2154  func (s UpdateApplicationOutput) GoString() string {
  2155  	return s.String()
  2156  }
  2157  
  2158  const (
  2159  	// ApplicationStateCreating is a ApplicationState enum value
  2160  	ApplicationStateCreating = "CREATING"
  2161  
  2162  	// ApplicationStateDeleting is a ApplicationState enum value
  2163  	ApplicationStateDeleting = "DELETING"
  2164  
  2165  	// ApplicationStateActive is a ApplicationState enum value
  2166  	ApplicationStateActive = "ACTIVE"
  2167  
  2168  	// ApplicationStateCreateFailed is a ApplicationState enum value
  2169  	ApplicationStateCreateFailed = "CREATE_FAILED"
  2170  
  2171  	// ApplicationStateDeleteFailed is a ApplicationState enum value
  2172  	ApplicationStateDeleteFailed = "DELETE_FAILED"
  2173  )
  2174  
  2175  // ApplicationState_Values returns all elements of the ApplicationState enum
  2176  func ApplicationState_Values() []string {
  2177  	return []string{
  2178  		ApplicationStateCreating,
  2179  		ApplicationStateDeleting,
  2180  		ApplicationStateActive,
  2181  		ApplicationStateCreateFailed,
  2182  		ApplicationStateDeleteFailed,
  2183  	}
  2184  }