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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package iotsitewise
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    14  )
    15  
    16  const opAssociateAssets = "AssociateAssets"
    17  
    18  // AssociateAssetsRequest generates a "aws/request.Request" representing the
    19  // client's request for the AssociateAssets operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See AssociateAssets for more information on using the AssociateAssets
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the AssociateAssetsRequest method.
    34  //    req, resp := client.AssociateAssetsRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/AssociateAssets
    42  func (c *IoTSiteWise) AssociateAssetsRequest(input *AssociateAssetsInput) (req *request.Request, output *AssociateAssetsOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAssociateAssets,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/assets/{assetId}/associate",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AssociateAssetsInput{}
    51  	}
    52  
    53  	output = &AssociateAssetsOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
    56  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
    57  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
    58  	return
    59  }
    60  
    61  // AssociateAssets API operation for AWS IoT SiteWise.
    62  //
    63  // Associates a child asset with the given parent asset through a hierarchy
    64  // defined in the parent asset's model. For more information, see Associating
    65  // assets (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/add-associated-assets.html)
    66  // in the IoT SiteWise User Guide.
    67  //
    68  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    69  // with awserr.Error's Code and Message methods to get detailed information about
    70  // the error.
    71  //
    72  // See the AWS API reference guide for AWS IoT SiteWise's
    73  // API operation AssociateAssets for usage and error information.
    74  //
    75  // Returned Error Types:
    76  //   * InvalidRequestException
    77  //   The request isn't valid. This can occur if your request contains malformed
    78  //   JSON or unsupported characters. Check your request and try again.
    79  //
    80  //   * ResourceNotFoundException
    81  //   The requested resource can't be found.
    82  //
    83  //   * InternalFailureException
    84  //   IoT SiteWise can't process your request right now. Try again later.
    85  //
    86  //   * LimitExceededException
    87  //   You've reached the limit for a resource. For example, this can occur if you're
    88  //   trying to associate more than the allowed number of child assets or attempting
    89  //   to create more than the allowed number of properties for an asset model.
    90  //
    91  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
    92  //   in the IoT SiteWise User Guide.
    93  //
    94  //   * ThrottlingException
    95  //   Your request exceeded a rate limit. For example, you might have exceeded
    96  //   the number of IoT SiteWise assets that can be created per second, the allowed
    97  //   number of messages per second, and so on.
    98  //
    99  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
   100  //   in the IoT SiteWise User Guide.
   101  //
   102  //   * ConflictingOperationException
   103  //   Your request has conflicting operations. This can occur if you're trying
   104  //   to perform more than one operation on the same resource at the same time.
   105  //
   106  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/AssociateAssets
   107  func (c *IoTSiteWise) AssociateAssets(input *AssociateAssetsInput) (*AssociateAssetsOutput, error) {
   108  	req, out := c.AssociateAssetsRequest(input)
   109  	return out, req.Send()
   110  }
   111  
   112  // AssociateAssetsWithContext is the same as AssociateAssets with the addition of
   113  // the ability to pass a context and additional request options.
   114  //
   115  // See AssociateAssets for details on how to use this API operation.
   116  //
   117  // The context must be non-nil and will be used for request cancellation. If
   118  // the context is nil a panic will occur. In the future the SDK may create
   119  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   120  // for more information on using Contexts.
   121  func (c *IoTSiteWise) AssociateAssetsWithContext(ctx aws.Context, input *AssociateAssetsInput, opts ...request.Option) (*AssociateAssetsOutput, error) {
   122  	req, out := c.AssociateAssetsRequest(input)
   123  	req.SetContext(ctx)
   124  	req.ApplyOptions(opts...)
   125  	return out, req.Send()
   126  }
   127  
   128  const opBatchAssociateProjectAssets = "BatchAssociateProjectAssets"
   129  
   130  // BatchAssociateProjectAssetsRequest generates a "aws/request.Request" representing the
   131  // client's request for the BatchAssociateProjectAssets operation. The "output" return
   132  // value will be populated with the request's response once the request completes
   133  // successfully.
   134  //
   135  // Use "Send" method on the returned Request to send the API call to the service.
   136  // the "output" return value is not valid until after Send returns without error.
   137  //
   138  // See BatchAssociateProjectAssets for more information on using the BatchAssociateProjectAssets
   139  // API call, and error handling.
   140  //
   141  // This method is useful when you want to inject custom logic or configuration
   142  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   143  //
   144  //
   145  //    // Example sending a request using the BatchAssociateProjectAssetsRequest method.
   146  //    req, resp := client.BatchAssociateProjectAssetsRequest(params)
   147  //
   148  //    err := req.Send()
   149  //    if err == nil { // resp is now filled
   150  //        fmt.Println(resp)
   151  //    }
   152  //
   153  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/BatchAssociateProjectAssets
   154  func (c *IoTSiteWise) BatchAssociateProjectAssetsRequest(input *BatchAssociateProjectAssetsInput) (req *request.Request, output *BatchAssociateProjectAssetsOutput) {
   155  	op := &request.Operation{
   156  		Name:       opBatchAssociateProjectAssets,
   157  		HTTPMethod: "POST",
   158  		HTTPPath:   "/projects/{projectId}/assets/associate",
   159  	}
   160  
   161  	if input == nil {
   162  		input = &BatchAssociateProjectAssetsInput{}
   163  	}
   164  
   165  	output = &BatchAssociateProjectAssetsOutput{}
   166  	req = c.newRequest(op, input, output)
   167  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
   168  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
   169  	return
   170  }
   171  
   172  // BatchAssociateProjectAssets API operation for AWS IoT SiteWise.
   173  //
   174  // Associates a group (batch) of assets with an IoT SiteWise Monitor project.
   175  //
   176  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   177  // with awserr.Error's Code and Message methods to get detailed information about
   178  // the error.
   179  //
   180  // See the AWS API reference guide for AWS IoT SiteWise's
   181  // API operation BatchAssociateProjectAssets for usage and error information.
   182  //
   183  // Returned Error Types:
   184  //   * InvalidRequestException
   185  //   The request isn't valid. This can occur if your request contains malformed
   186  //   JSON or unsupported characters. Check your request and try again.
   187  //
   188  //   * ResourceNotFoundException
   189  //   The requested resource can't be found.
   190  //
   191  //   * InternalFailureException
   192  //   IoT SiteWise can't process your request right now. Try again later.
   193  //
   194  //   * ThrottlingException
   195  //   Your request exceeded a rate limit. For example, you might have exceeded
   196  //   the number of IoT SiteWise assets that can be created per second, the allowed
   197  //   number of messages per second, and so on.
   198  //
   199  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
   200  //   in the IoT SiteWise User Guide.
   201  //
   202  //   * LimitExceededException
   203  //   You've reached the limit for a resource. For example, this can occur if you're
   204  //   trying to associate more than the allowed number of child assets or attempting
   205  //   to create more than the allowed number of properties for an asset model.
   206  //
   207  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
   208  //   in the IoT SiteWise User Guide.
   209  //
   210  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/BatchAssociateProjectAssets
   211  func (c *IoTSiteWise) BatchAssociateProjectAssets(input *BatchAssociateProjectAssetsInput) (*BatchAssociateProjectAssetsOutput, error) {
   212  	req, out := c.BatchAssociateProjectAssetsRequest(input)
   213  	return out, req.Send()
   214  }
   215  
   216  // BatchAssociateProjectAssetsWithContext is the same as BatchAssociateProjectAssets with the addition of
   217  // the ability to pass a context and additional request options.
   218  //
   219  // See BatchAssociateProjectAssets for details on how to use this API operation.
   220  //
   221  // The context must be non-nil and will be used for request cancellation. If
   222  // the context is nil a panic will occur. In the future the SDK may create
   223  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   224  // for more information on using Contexts.
   225  func (c *IoTSiteWise) BatchAssociateProjectAssetsWithContext(ctx aws.Context, input *BatchAssociateProjectAssetsInput, opts ...request.Option) (*BatchAssociateProjectAssetsOutput, error) {
   226  	req, out := c.BatchAssociateProjectAssetsRequest(input)
   227  	req.SetContext(ctx)
   228  	req.ApplyOptions(opts...)
   229  	return out, req.Send()
   230  }
   231  
   232  const opBatchDisassociateProjectAssets = "BatchDisassociateProjectAssets"
   233  
   234  // BatchDisassociateProjectAssetsRequest generates a "aws/request.Request" representing the
   235  // client's request for the BatchDisassociateProjectAssets operation. The "output" return
   236  // value will be populated with the request's response once the request completes
   237  // successfully.
   238  //
   239  // Use "Send" method on the returned Request to send the API call to the service.
   240  // the "output" return value is not valid until after Send returns without error.
   241  //
   242  // See BatchDisassociateProjectAssets for more information on using the BatchDisassociateProjectAssets
   243  // API call, and error handling.
   244  //
   245  // This method is useful when you want to inject custom logic or configuration
   246  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   247  //
   248  //
   249  //    // Example sending a request using the BatchDisassociateProjectAssetsRequest method.
   250  //    req, resp := client.BatchDisassociateProjectAssetsRequest(params)
   251  //
   252  //    err := req.Send()
   253  //    if err == nil { // resp is now filled
   254  //        fmt.Println(resp)
   255  //    }
   256  //
   257  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/BatchDisassociateProjectAssets
   258  func (c *IoTSiteWise) BatchDisassociateProjectAssetsRequest(input *BatchDisassociateProjectAssetsInput) (req *request.Request, output *BatchDisassociateProjectAssetsOutput) {
   259  	op := &request.Operation{
   260  		Name:       opBatchDisassociateProjectAssets,
   261  		HTTPMethod: "POST",
   262  		HTTPPath:   "/projects/{projectId}/assets/disassociate",
   263  	}
   264  
   265  	if input == nil {
   266  		input = &BatchDisassociateProjectAssetsInput{}
   267  	}
   268  
   269  	output = &BatchDisassociateProjectAssetsOutput{}
   270  	req = c.newRequest(op, input, output)
   271  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
   272  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
   273  	return
   274  }
   275  
   276  // BatchDisassociateProjectAssets API operation for AWS IoT SiteWise.
   277  //
   278  // Disassociates a group (batch) of assets from an IoT SiteWise Monitor project.
   279  //
   280  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   281  // with awserr.Error's Code and Message methods to get detailed information about
   282  // the error.
   283  //
   284  // See the AWS API reference guide for AWS IoT SiteWise's
   285  // API operation BatchDisassociateProjectAssets for usage and error information.
   286  //
   287  // Returned Error Types:
   288  //   * InvalidRequestException
   289  //   The request isn't valid. This can occur if your request contains malformed
   290  //   JSON or unsupported characters. Check your request and try again.
   291  //
   292  //   * ResourceNotFoundException
   293  //   The requested resource can't be found.
   294  //
   295  //   * InternalFailureException
   296  //   IoT SiteWise can't process your request right now. Try again later.
   297  //
   298  //   * ThrottlingException
   299  //   Your request exceeded a rate limit. For example, you might have exceeded
   300  //   the number of IoT SiteWise assets that can be created per second, the allowed
   301  //   number of messages per second, and so on.
   302  //
   303  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
   304  //   in the IoT SiteWise User Guide.
   305  //
   306  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/BatchDisassociateProjectAssets
   307  func (c *IoTSiteWise) BatchDisassociateProjectAssets(input *BatchDisassociateProjectAssetsInput) (*BatchDisassociateProjectAssetsOutput, error) {
   308  	req, out := c.BatchDisassociateProjectAssetsRequest(input)
   309  	return out, req.Send()
   310  }
   311  
   312  // BatchDisassociateProjectAssetsWithContext is the same as BatchDisassociateProjectAssets with the addition of
   313  // the ability to pass a context and additional request options.
   314  //
   315  // See BatchDisassociateProjectAssets for details on how to use this API operation.
   316  //
   317  // The context must be non-nil and will be used for request cancellation. If
   318  // the context is nil a panic will occur. In the future the SDK may create
   319  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   320  // for more information on using Contexts.
   321  func (c *IoTSiteWise) BatchDisassociateProjectAssetsWithContext(ctx aws.Context, input *BatchDisassociateProjectAssetsInput, opts ...request.Option) (*BatchDisassociateProjectAssetsOutput, error) {
   322  	req, out := c.BatchDisassociateProjectAssetsRequest(input)
   323  	req.SetContext(ctx)
   324  	req.ApplyOptions(opts...)
   325  	return out, req.Send()
   326  }
   327  
   328  const opBatchPutAssetPropertyValue = "BatchPutAssetPropertyValue"
   329  
   330  // BatchPutAssetPropertyValueRequest generates a "aws/request.Request" representing the
   331  // client's request for the BatchPutAssetPropertyValue operation. The "output" return
   332  // value will be populated with the request's response once the request completes
   333  // successfully.
   334  //
   335  // Use "Send" method on the returned Request to send the API call to the service.
   336  // the "output" return value is not valid until after Send returns without error.
   337  //
   338  // See BatchPutAssetPropertyValue for more information on using the BatchPutAssetPropertyValue
   339  // API call, and error handling.
   340  //
   341  // This method is useful when you want to inject custom logic or configuration
   342  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   343  //
   344  //
   345  //    // Example sending a request using the BatchPutAssetPropertyValueRequest method.
   346  //    req, resp := client.BatchPutAssetPropertyValueRequest(params)
   347  //
   348  //    err := req.Send()
   349  //    if err == nil { // resp is now filled
   350  //        fmt.Println(resp)
   351  //    }
   352  //
   353  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/BatchPutAssetPropertyValue
   354  func (c *IoTSiteWise) BatchPutAssetPropertyValueRequest(input *BatchPutAssetPropertyValueInput) (req *request.Request, output *BatchPutAssetPropertyValueOutput) {
   355  	op := &request.Operation{
   356  		Name:       opBatchPutAssetPropertyValue,
   357  		HTTPMethod: "POST",
   358  		HTTPPath:   "/properties",
   359  	}
   360  
   361  	if input == nil {
   362  		input = &BatchPutAssetPropertyValueInput{}
   363  	}
   364  
   365  	output = &BatchPutAssetPropertyValueOutput{}
   366  	req = c.newRequest(op, input, output)
   367  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data.", nil))
   368  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
   369  	return
   370  }
   371  
   372  // BatchPutAssetPropertyValue API operation for AWS IoT SiteWise.
   373  //
   374  // Sends a list of asset property values to IoT SiteWise. Each value is a timestamp-quality-value
   375  // (TQV) data point. For more information, see Ingesting data using the API
   376  // (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/ingest-api.html)
   377  // in the IoT SiteWise User Guide.
   378  //
   379  // To identify an asset property, you must specify one of the following:
   380  //
   381  //    * The assetId and propertyId of an asset property.
   382  //
   383  //    * A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature).
   384  //    To define an asset property's alias, see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html).
   385  //
   386  // With respect to Unix epoch time, IoT SiteWise accepts only TQVs that have
   387  // a timestamp of no more than 7 days in the past and no more than 10 minutes
   388  // in the future. IoT SiteWise rejects timestamps outside of the inclusive range
   389  // of [-7 days, +10 minutes] and returns a TimestampOutOfRangeException error.
   390  //
   391  // For each asset property, IoT SiteWise overwrites TQVs with duplicate timestamps
   392  // unless the newer TQV has a different quality. For example, if you store a
   393  // TQV {T1, GOOD, V1}, then storing {T1, GOOD, V2} replaces the existing TQV.
   394  //
   395  // IoT SiteWise authorizes access to each BatchPutAssetPropertyValue entry individually.
   396  // For more information, see BatchPutAssetPropertyValue authorization (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-batchputassetpropertyvalue-action)
   397  // in the IoT SiteWise User Guide.
   398  //
   399  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   400  // with awserr.Error's Code and Message methods to get detailed information about
   401  // the error.
   402  //
   403  // See the AWS API reference guide for AWS IoT SiteWise's
   404  // API operation BatchPutAssetPropertyValue for usage and error information.
   405  //
   406  // Returned Error Types:
   407  //   * InvalidRequestException
   408  //   The request isn't valid. This can occur if your request contains malformed
   409  //   JSON or unsupported characters. Check your request and try again.
   410  //
   411  //   * ResourceNotFoundException
   412  //   The requested resource can't be found.
   413  //
   414  //   * InternalFailureException
   415  //   IoT SiteWise can't process your request right now. Try again later.
   416  //
   417  //   * ThrottlingException
   418  //   Your request exceeded a rate limit. For example, you might have exceeded
   419  //   the number of IoT SiteWise assets that can be created per second, the allowed
   420  //   number of messages per second, and so on.
   421  //
   422  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
   423  //   in the IoT SiteWise User Guide.
   424  //
   425  //   * LimitExceededException
   426  //   You've reached the limit for a resource. For example, this can occur if you're
   427  //   trying to associate more than the allowed number of child assets or attempting
   428  //   to create more than the allowed number of properties for an asset model.
   429  //
   430  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
   431  //   in the IoT SiteWise User Guide.
   432  //
   433  //   * ServiceUnavailableException
   434  //   The requested service is unavailable.
   435  //
   436  //   * ConflictingOperationException
   437  //   Your request has conflicting operations. This can occur if you're trying
   438  //   to perform more than one operation on the same resource at the same time.
   439  //
   440  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/BatchPutAssetPropertyValue
   441  func (c *IoTSiteWise) BatchPutAssetPropertyValue(input *BatchPutAssetPropertyValueInput) (*BatchPutAssetPropertyValueOutput, error) {
   442  	req, out := c.BatchPutAssetPropertyValueRequest(input)
   443  	return out, req.Send()
   444  }
   445  
   446  // BatchPutAssetPropertyValueWithContext is the same as BatchPutAssetPropertyValue with the addition of
   447  // the ability to pass a context and additional request options.
   448  //
   449  // See BatchPutAssetPropertyValue for details on how to use this API operation.
   450  //
   451  // The context must be non-nil and will be used for request cancellation. If
   452  // the context is nil a panic will occur. In the future the SDK may create
   453  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   454  // for more information on using Contexts.
   455  func (c *IoTSiteWise) BatchPutAssetPropertyValueWithContext(ctx aws.Context, input *BatchPutAssetPropertyValueInput, opts ...request.Option) (*BatchPutAssetPropertyValueOutput, error) {
   456  	req, out := c.BatchPutAssetPropertyValueRequest(input)
   457  	req.SetContext(ctx)
   458  	req.ApplyOptions(opts...)
   459  	return out, req.Send()
   460  }
   461  
   462  const opCreateAccessPolicy = "CreateAccessPolicy"
   463  
   464  // CreateAccessPolicyRequest generates a "aws/request.Request" representing the
   465  // client's request for the CreateAccessPolicy operation. The "output" return
   466  // value will be populated with the request's response once the request completes
   467  // successfully.
   468  //
   469  // Use "Send" method on the returned Request to send the API call to the service.
   470  // the "output" return value is not valid until after Send returns without error.
   471  //
   472  // See CreateAccessPolicy for more information on using the CreateAccessPolicy
   473  // API call, and error handling.
   474  //
   475  // This method is useful when you want to inject custom logic or configuration
   476  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   477  //
   478  //
   479  //    // Example sending a request using the CreateAccessPolicyRequest method.
   480  //    req, resp := client.CreateAccessPolicyRequest(params)
   481  //
   482  //    err := req.Send()
   483  //    if err == nil { // resp is now filled
   484  //        fmt.Println(resp)
   485  //    }
   486  //
   487  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateAccessPolicy
   488  func (c *IoTSiteWise) CreateAccessPolicyRequest(input *CreateAccessPolicyInput) (req *request.Request, output *CreateAccessPolicyOutput) {
   489  	op := &request.Operation{
   490  		Name:       opCreateAccessPolicy,
   491  		HTTPMethod: "POST",
   492  		HTTPPath:   "/access-policies",
   493  	}
   494  
   495  	if input == nil {
   496  		input = &CreateAccessPolicyInput{}
   497  	}
   498  
   499  	output = &CreateAccessPolicyOutput{}
   500  	req = c.newRequest(op, input, output)
   501  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
   502  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
   503  	return
   504  }
   505  
   506  // CreateAccessPolicy API operation for AWS IoT SiteWise.
   507  //
   508  // Creates an access policy that grants the specified identity (Amazon Web Services
   509  // SSO user, Amazon Web Services SSO group, or IAM user) access to the specified
   510  // IoT SiteWise Monitor portal or project resource.
   511  //
   512  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   513  // with awserr.Error's Code and Message methods to get detailed information about
   514  // the error.
   515  //
   516  // See the AWS API reference guide for AWS IoT SiteWise's
   517  // API operation CreateAccessPolicy for usage and error information.
   518  //
   519  // Returned Error Types:
   520  //   * InvalidRequestException
   521  //   The request isn't valid. This can occur if your request contains malformed
   522  //   JSON or unsupported characters. Check your request and try again.
   523  //
   524  //   * ResourceNotFoundException
   525  //   The requested resource can't be found.
   526  //
   527  //   * InternalFailureException
   528  //   IoT SiteWise can't process your request right now. Try again later.
   529  //
   530  //   * ThrottlingException
   531  //   Your request exceeded a rate limit. For example, you might have exceeded
   532  //   the number of IoT SiteWise assets that can be created per second, the allowed
   533  //   number of messages per second, and so on.
   534  //
   535  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
   536  //   in the IoT SiteWise User Guide.
   537  //
   538  //   * LimitExceededException
   539  //   You've reached the limit for a resource. For example, this can occur if you're
   540  //   trying to associate more than the allowed number of child assets or attempting
   541  //   to create more than the allowed number of properties for an asset model.
   542  //
   543  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
   544  //   in the IoT SiteWise User Guide.
   545  //
   546  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateAccessPolicy
   547  func (c *IoTSiteWise) CreateAccessPolicy(input *CreateAccessPolicyInput) (*CreateAccessPolicyOutput, error) {
   548  	req, out := c.CreateAccessPolicyRequest(input)
   549  	return out, req.Send()
   550  }
   551  
   552  // CreateAccessPolicyWithContext is the same as CreateAccessPolicy with the addition of
   553  // the ability to pass a context and additional request options.
   554  //
   555  // See CreateAccessPolicy for details on how to use this API operation.
   556  //
   557  // The context must be non-nil and will be used for request cancellation. If
   558  // the context is nil a panic will occur. In the future the SDK may create
   559  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   560  // for more information on using Contexts.
   561  func (c *IoTSiteWise) CreateAccessPolicyWithContext(ctx aws.Context, input *CreateAccessPolicyInput, opts ...request.Option) (*CreateAccessPolicyOutput, error) {
   562  	req, out := c.CreateAccessPolicyRequest(input)
   563  	req.SetContext(ctx)
   564  	req.ApplyOptions(opts...)
   565  	return out, req.Send()
   566  }
   567  
   568  const opCreateAsset = "CreateAsset"
   569  
   570  // CreateAssetRequest generates a "aws/request.Request" representing the
   571  // client's request for the CreateAsset operation. The "output" return
   572  // value will be populated with the request's response once the request completes
   573  // successfully.
   574  //
   575  // Use "Send" method on the returned Request to send the API call to the service.
   576  // the "output" return value is not valid until after Send returns without error.
   577  //
   578  // See CreateAsset for more information on using the CreateAsset
   579  // API call, and error handling.
   580  //
   581  // This method is useful when you want to inject custom logic or configuration
   582  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   583  //
   584  //
   585  //    // Example sending a request using the CreateAssetRequest method.
   586  //    req, resp := client.CreateAssetRequest(params)
   587  //
   588  //    err := req.Send()
   589  //    if err == nil { // resp is now filled
   590  //        fmt.Println(resp)
   591  //    }
   592  //
   593  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateAsset
   594  func (c *IoTSiteWise) CreateAssetRequest(input *CreateAssetInput) (req *request.Request, output *CreateAssetOutput) {
   595  	op := &request.Operation{
   596  		Name:       opCreateAsset,
   597  		HTTPMethod: "POST",
   598  		HTTPPath:   "/assets",
   599  	}
   600  
   601  	if input == nil {
   602  		input = &CreateAssetInput{}
   603  	}
   604  
   605  	output = &CreateAssetOutput{}
   606  	req = c.newRequest(op, input, output)
   607  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
   608  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
   609  	return
   610  }
   611  
   612  // CreateAsset API operation for AWS IoT SiteWise.
   613  //
   614  // Creates an asset from an existing asset model. For more information, see
   615  // Creating assets (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-assets.html)
   616  // in the IoT SiteWise User Guide.
   617  //
   618  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   619  // with awserr.Error's Code and Message methods to get detailed information about
   620  // the error.
   621  //
   622  // See the AWS API reference guide for AWS IoT SiteWise's
   623  // API operation CreateAsset for usage and error information.
   624  //
   625  // Returned Error Types:
   626  //   * InvalidRequestException
   627  //   The request isn't valid. This can occur if your request contains malformed
   628  //   JSON or unsupported characters. Check your request and try again.
   629  //
   630  //   * ResourceAlreadyExistsException
   631  //   The resource already exists.
   632  //
   633  //   * ResourceNotFoundException
   634  //   The requested resource can't be found.
   635  //
   636  //   * InternalFailureException
   637  //   IoT SiteWise can't process your request right now. Try again later.
   638  //
   639  //   * ThrottlingException
   640  //   Your request exceeded a rate limit. For example, you might have exceeded
   641  //   the number of IoT SiteWise assets that can be created per second, the allowed
   642  //   number of messages per second, and so on.
   643  //
   644  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
   645  //   in the IoT SiteWise User Guide.
   646  //
   647  //   * LimitExceededException
   648  //   You've reached the limit for a resource. For example, this can occur if you're
   649  //   trying to associate more than the allowed number of child assets or attempting
   650  //   to create more than the allowed number of properties for an asset model.
   651  //
   652  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
   653  //   in the IoT SiteWise User Guide.
   654  //
   655  //   * ConflictingOperationException
   656  //   Your request has conflicting operations. This can occur if you're trying
   657  //   to perform more than one operation on the same resource at the same time.
   658  //
   659  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateAsset
   660  func (c *IoTSiteWise) CreateAsset(input *CreateAssetInput) (*CreateAssetOutput, error) {
   661  	req, out := c.CreateAssetRequest(input)
   662  	return out, req.Send()
   663  }
   664  
   665  // CreateAssetWithContext is the same as CreateAsset with the addition of
   666  // the ability to pass a context and additional request options.
   667  //
   668  // See CreateAsset for details on how to use this API operation.
   669  //
   670  // The context must be non-nil and will be used for request cancellation. If
   671  // the context is nil a panic will occur. In the future the SDK may create
   672  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   673  // for more information on using Contexts.
   674  func (c *IoTSiteWise) CreateAssetWithContext(ctx aws.Context, input *CreateAssetInput, opts ...request.Option) (*CreateAssetOutput, error) {
   675  	req, out := c.CreateAssetRequest(input)
   676  	req.SetContext(ctx)
   677  	req.ApplyOptions(opts...)
   678  	return out, req.Send()
   679  }
   680  
   681  const opCreateAssetModel = "CreateAssetModel"
   682  
   683  // CreateAssetModelRequest generates a "aws/request.Request" representing the
   684  // client's request for the CreateAssetModel operation. The "output" return
   685  // value will be populated with the request's response once the request completes
   686  // successfully.
   687  //
   688  // Use "Send" method on the returned Request to send the API call to the service.
   689  // the "output" return value is not valid until after Send returns without error.
   690  //
   691  // See CreateAssetModel for more information on using the CreateAssetModel
   692  // API call, and error handling.
   693  //
   694  // This method is useful when you want to inject custom logic or configuration
   695  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   696  //
   697  //
   698  //    // Example sending a request using the CreateAssetModelRequest method.
   699  //    req, resp := client.CreateAssetModelRequest(params)
   700  //
   701  //    err := req.Send()
   702  //    if err == nil { // resp is now filled
   703  //        fmt.Println(resp)
   704  //    }
   705  //
   706  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateAssetModel
   707  func (c *IoTSiteWise) CreateAssetModelRequest(input *CreateAssetModelInput) (req *request.Request, output *CreateAssetModelOutput) {
   708  	op := &request.Operation{
   709  		Name:       opCreateAssetModel,
   710  		HTTPMethod: "POST",
   711  		HTTPPath:   "/asset-models",
   712  	}
   713  
   714  	if input == nil {
   715  		input = &CreateAssetModelInput{}
   716  	}
   717  
   718  	output = &CreateAssetModelOutput{}
   719  	req = c.newRequest(op, input, output)
   720  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
   721  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
   722  	return
   723  }
   724  
   725  // CreateAssetModel API operation for AWS IoT SiteWise.
   726  //
   727  // Creates an asset model from specified property and hierarchy definitions.
   728  // You create assets from asset models. With asset models, you can easily create
   729  // assets of the same type that have standardized definitions. Each asset created
   730  // from a model inherits the asset model's property and hierarchy definitions.
   731  // For more information, see Defining asset models (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/define-models.html)
   732  // in the IoT SiteWise User Guide.
   733  //
   734  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   735  // with awserr.Error's Code and Message methods to get detailed information about
   736  // the error.
   737  //
   738  // See the AWS API reference guide for AWS IoT SiteWise's
   739  // API operation CreateAssetModel for usage and error information.
   740  //
   741  // Returned Error Types:
   742  //   * InvalidRequestException
   743  //   The request isn't valid. This can occur if your request contains malformed
   744  //   JSON or unsupported characters. Check your request and try again.
   745  //
   746  //   * ResourceAlreadyExistsException
   747  //   The resource already exists.
   748  //
   749  //   * ResourceNotFoundException
   750  //   The requested resource can't be found.
   751  //
   752  //   * InternalFailureException
   753  //   IoT SiteWise can't process your request right now. Try again later.
   754  //
   755  //   * ThrottlingException
   756  //   Your request exceeded a rate limit. For example, you might have exceeded
   757  //   the number of IoT SiteWise assets that can be created per second, the allowed
   758  //   number of messages per second, and so on.
   759  //
   760  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
   761  //   in the IoT SiteWise User Guide.
   762  //
   763  //   * LimitExceededException
   764  //   You've reached the limit for a resource. For example, this can occur if you're
   765  //   trying to associate more than the allowed number of child assets or attempting
   766  //   to create more than the allowed number of properties for an asset model.
   767  //
   768  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
   769  //   in the IoT SiteWise User Guide.
   770  //
   771  //   * ConflictingOperationException
   772  //   Your request has conflicting operations. This can occur if you're trying
   773  //   to perform more than one operation on the same resource at the same time.
   774  //
   775  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateAssetModel
   776  func (c *IoTSiteWise) CreateAssetModel(input *CreateAssetModelInput) (*CreateAssetModelOutput, error) {
   777  	req, out := c.CreateAssetModelRequest(input)
   778  	return out, req.Send()
   779  }
   780  
   781  // CreateAssetModelWithContext is the same as CreateAssetModel with the addition of
   782  // the ability to pass a context and additional request options.
   783  //
   784  // See CreateAssetModel for details on how to use this API operation.
   785  //
   786  // The context must be non-nil and will be used for request cancellation. If
   787  // the context is nil a panic will occur. In the future the SDK may create
   788  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   789  // for more information on using Contexts.
   790  func (c *IoTSiteWise) CreateAssetModelWithContext(ctx aws.Context, input *CreateAssetModelInput, opts ...request.Option) (*CreateAssetModelOutput, error) {
   791  	req, out := c.CreateAssetModelRequest(input)
   792  	req.SetContext(ctx)
   793  	req.ApplyOptions(opts...)
   794  	return out, req.Send()
   795  }
   796  
   797  const opCreateDashboard = "CreateDashboard"
   798  
   799  // CreateDashboardRequest generates a "aws/request.Request" representing the
   800  // client's request for the CreateDashboard operation. The "output" return
   801  // value will be populated with the request's response once the request completes
   802  // successfully.
   803  //
   804  // Use "Send" method on the returned Request to send the API call to the service.
   805  // the "output" return value is not valid until after Send returns without error.
   806  //
   807  // See CreateDashboard for more information on using the CreateDashboard
   808  // API call, and error handling.
   809  //
   810  // This method is useful when you want to inject custom logic or configuration
   811  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   812  //
   813  //
   814  //    // Example sending a request using the CreateDashboardRequest method.
   815  //    req, resp := client.CreateDashboardRequest(params)
   816  //
   817  //    err := req.Send()
   818  //    if err == nil { // resp is now filled
   819  //        fmt.Println(resp)
   820  //    }
   821  //
   822  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateDashboard
   823  func (c *IoTSiteWise) CreateDashboardRequest(input *CreateDashboardInput) (req *request.Request, output *CreateDashboardOutput) {
   824  	op := &request.Operation{
   825  		Name:       opCreateDashboard,
   826  		HTTPMethod: "POST",
   827  		HTTPPath:   "/dashboards",
   828  	}
   829  
   830  	if input == nil {
   831  		input = &CreateDashboardInput{}
   832  	}
   833  
   834  	output = &CreateDashboardOutput{}
   835  	req = c.newRequest(op, input, output)
   836  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
   837  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
   838  	return
   839  }
   840  
   841  // CreateDashboard API operation for AWS IoT SiteWise.
   842  //
   843  // Creates a dashboard in an IoT SiteWise Monitor project.
   844  //
   845  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   846  // with awserr.Error's Code and Message methods to get detailed information about
   847  // the error.
   848  //
   849  // See the AWS API reference guide for AWS IoT SiteWise's
   850  // API operation CreateDashboard for usage and error information.
   851  //
   852  // Returned Error Types:
   853  //   * InvalidRequestException
   854  //   The request isn't valid. This can occur if your request contains malformed
   855  //   JSON or unsupported characters. Check your request and try again.
   856  //
   857  //   * ResourceNotFoundException
   858  //   The requested resource can't be found.
   859  //
   860  //   * InternalFailureException
   861  //   IoT SiteWise can't process your request right now. Try again later.
   862  //
   863  //   * ThrottlingException
   864  //   Your request exceeded a rate limit. For example, you might have exceeded
   865  //   the number of IoT SiteWise assets that can be created per second, the allowed
   866  //   number of messages per second, and so on.
   867  //
   868  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
   869  //   in the IoT SiteWise User Guide.
   870  //
   871  //   * LimitExceededException
   872  //   You've reached the limit for a resource. For example, this can occur if you're
   873  //   trying to associate more than the allowed number of child assets or attempting
   874  //   to create more than the allowed number of properties for an asset model.
   875  //
   876  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
   877  //   in the IoT SiteWise User Guide.
   878  //
   879  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateDashboard
   880  func (c *IoTSiteWise) CreateDashboard(input *CreateDashboardInput) (*CreateDashboardOutput, error) {
   881  	req, out := c.CreateDashboardRequest(input)
   882  	return out, req.Send()
   883  }
   884  
   885  // CreateDashboardWithContext is the same as CreateDashboard with the addition of
   886  // the ability to pass a context and additional request options.
   887  //
   888  // See CreateDashboard for details on how to use this API operation.
   889  //
   890  // The context must be non-nil and will be used for request cancellation. If
   891  // the context is nil a panic will occur. In the future the SDK may create
   892  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   893  // for more information on using Contexts.
   894  func (c *IoTSiteWise) CreateDashboardWithContext(ctx aws.Context, input *CreateDashboardInput, opts ...request.Option) (*CreateDashboardOutput, error) {
   895  	req, out := c.CreateDashboardRequest(input)
   896  	req.SetContext(ctx)
   897  	req.ApplyOptions(opts...)
   898  	return out, req.Send()
   899  }
   900  
   901  const opCreateGateway = "CreateGateway"
   902  
   903  // CreateGatewayRequest generates a "aws/request.Request" representing the
   904  // client's request for the CreateGateway operation. The "output" return
   905  // value will be populated with the request's response once the request completes
   906  // successfully.
   907  //
   908  // Use "Send" method on the returned Request to send the API call to the service.
   909  // the "output" return value is not valid until after Send returns without error.
   910  //
   911  // See CreateGateway for more information on using the CreateGateway
   912  // API call, and error handling.
   913  //
   914  // This method is useful when you want to inject custom logic or configuration
   915  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   916  //
   917  //
   918  //    // Example sending a request using the CreateGatewayRequest method.
   919  //    req, resp := client.CreateGatewayRequest(params)
   920  //
   921  //    err := req.Send()
   922  //    if err == nil { // resp is now filled
   923  //        fmt.Println(resp)
   924  //    }
   925  //
   926  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateGateway
   927  func (c *IoTSiteWise) CreateGatewayRequest(input *CreateGatewayInput) (req *request.Request, output *CreateGatewayOutput) {
   928  	op := &request.Operation{
   929  		Name:       opCreateGateway,
   930  		HTTPMethod: "POST",
   931  		HTTPPath:   "/20200301/gateways",
   932  	}
   933  
   934  	if input == nil {
   935  		input = &CreateGatewayInput{}
   936  	}
   937  
   938  	output = &CreateGatewayOutput{}
   939  	req = c.newRequest(op, input, output)
   940  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
   941  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
   942  	return
   943  }
   944  
   945  // CreateGateway API operation for AWS IoT SiteWise.
   946  //
   947  // Creates a gateway, which is a virtual or edge device that delivers industrial
   948  // data streams from local servers to IoT SiteWise. For more information, see
   949  // Ingesting data using a gateway (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/gateway-connector.html)
   950  // in the IoT SiteWise User Guide.
   951  //
   952  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   953  // with awserr.Error's Code and Message methods to get detailed information about
   954  // the error.
   955  //
   956  // See the AWS API reference guide for AWS IoT SiteWise's
   957  // API operation CreateGateway for usage and error information.
   958  //
   959  // Returned Error Types:
   960  //   * InvalidRequestException
   961  //   The request isn't valid. This can occur if your request contains malformed
   962  //   JSON or unsupported characters. Check your request and try again.
   963  //
   964  //   * ResourceAlreadyExistsException
   965  //   The resource already exists.
   966  //
   967  //   * InternalFailureException
   968  //   IoT SiteWise can't process your request right now. Try again later.
   969  //
   970  //   * ThrottlingException
   971  //   Your request exceeded a rate limit. For example, you might have exceeded
   972  //   the number of IoT SiteWise assets that can be created per second, the allowed
   973  //   number of messages per second, and so on.
   974  //
   975  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
   976  //   in the IoT SiteWise User Guide.
   977  //
   978  //   * LimitExceededException
   979  //   You've reached the limit for a resource. For example, this can occur if you're
   980  //   trying to associate more than the allowed number of child assets or attempting
   981  //   to create more than the allowed number of properties for an asset model.
   982  //
   983  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
   984  //   in the IoT SiteWise User Guide.
   985  //
   986  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateGateway
   987  func (c *IoTSiteWise) CreateGateway(input *CreateGatewayInput) (*CreateGatewayOutput, error) {
   988  	req, out := c.CreateGatewayRequest(input)
   989  	return out, req.Send()
   990  }
   991  
   992  // CreateGatewayWithContext is the same as CreateGateway with the addition of
   993  // the ability to pass a context and additional request options.
   994  //
   995  // See CreateGateway for details on how to use this API operation.
   996  //
   997  // The context must be non-nil and will be used for request cancellation. If
   998  // the context is nil a panic will occur. In the future the SDK may create
   999  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1000  // for more information on using Contexts.
  1001  func (c *IoTSiteWise) CreateGatewayWithContext(ctx aws.Context, input *CreateGatewayInput, opts ...request.Option) (*CreateGatewayOutput, error) {
  1002  	req, out := c.CreateGatewayRequest(input)
  1003  	req.SetContext(ctx)
  1004  	req.ApplyOptions(opts...)
  1005  	return out, req.Send()
  1006  }
  1007  
  1008  const opCreatePortal = "CreatePortal"
  1009  
  1010  // CreatePortalRequest generates a "aws/request.Request" representing the
  1011  // client's request for the CreatePortal operation. The "output" return
  1012  // value will be populated with the request's response once the request completes
  1013  // successfully.
  1014  //
  1015  // Use "Send" method on the returned Request to send the API call to the service.
  1016  // the "output" return value is not valid until after Send returns without error.
  1017  //
  1018  // See CreatePortal for more information on using the CreatePortal
  1019  // API call, and error handling.
  1020  //
  1021  // This method is useful when you want to inject custom logic or configuration
  1022  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1023  //
  1024  //
  1025  //    // Example sending a request using the CreatePortalRequest method.
  1026  //    req, resp := client.CreatePortalRequest(params)
  1027  //
  1028  //    err := req.Send()
  1029  //    if err == nil { // resp is now filled
  1030  //        fmt.Println(resp)
  1031  //    }
  1032  //
  1033  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreatePortal
  1034  func (c *IoTSiteWise) CreatePortalRequest(input *CreatePortalInput) (req *request.Request, output *CreatePortalOutput) {
  1035  	op := &request.Operation{
  1036  		Name:       opCreatePortal,
  1037  		HTTPMethod: "POST",
  1038  		HTTPPath:   "/portals",
  1039  	}
  1040  
  1041  	if input == nil {
  1042  		input = &CreatePortalInput{}
  1043  	}
  1044  
  1045  	output = &CreatePortalOutput{}
  1046  	req = c.newRequest(op, input, output)
  1047  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
  1048  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  1049  	return
  1050  }
  1051  
  1052  // CreatePortal API operation for AWS IoT SiteWise.
  1053  //
  1054  // Creates a portal, which can contain projects and dashboards. IoT SiteWise
  1055  // Monitor uses Amazon Web Services SSO or IAM to authenticate portal users
  1056  // and manage user permissions.
  1057  //
  1058  // Before you can sign in to a new portal, you must add at least one identity
  1059  // to that portal. For more information, see Adding or removing portal administrators
  1060  // (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/administer-portals.html#portal-change-admins)
  1061  // in the IoT SiteWise User Guide.
  1062  //
  1063  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1064  // with awserr.Error's Code and Message methods to get detailed information about
  1065  // the error.
  1066  //
  1067  // See the AWS API reference guide for AWS IoT SiteWise's
  1068  // API operation CreatePortal for usage and error information.
  1069  //
  1070  // Returned Error Types:
  1071  //   * InvalidRequestException
  1072  //   The request isn't valid. This can occur if your request contains malformed
  1073  //   JSON or unsupported characters. Check your request and try again.
  1074  //
  1075  //   * ResourceNotFoundException
  1076  //   The requested resource can't be found.
  1077  //
  1078  //   * InternalFailureException
  1079  //   IoT SiteWise can't process your request right now. Try again later.
  1080  //
  1081  //   * ThrottlingException
  1082  //   Your request exceeded a rate limit. For example, you might have exceeded
  1083  //   the number of IoT SiteWise assets that can be created per second, the allowed
  1084  //   number of messages per second, and so on.
  1085  //
  1086  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  1087  //   in the IoT SiteWise User Guide.
  1088  //
  1089  //   * LimitExceededException
  1090  //   You've reached the limit for a resource. For example, this can occur if you're
  1091  //   trying to associate more than the allowed number of child assets or attempting
  1092  //   to create more than the allowed number of properties for an asset model.
  1093  //
  1094  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  1095  //   in the IoT SiteWise User Guide.
  1096  //
  1097  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreatePortal
  1098  func (c *IoTSiteWise) CreatePortal(input *CreatePortalInput) (*CreatePortalOutput, error) {
  1099  	req, out := c.CreatePortalRequest(input)
  1100  	return out, req.Send()
  1101  }
  1102  
  1103  // CreatePortalWithContext is the same as CreatePortal with the addition of
  1104  // the ability to pass a context and additional request options.
  1105  //
  1106  // See CreatePortal for details on how to use this API operation.
  1107  //
  1108  // The context must be non-nil and will be used for request cancellation. If
  1109  // the context is nil a panic will occur. In the future the SDK may create
  1110  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1111  // for more information on using Contexts.
  1112  func (c *IoTSiteWise) CreatePortalWithContext(ctx aws.Context, input *CreatePortalInput, opts ...request.Option) (*CreatePortalOutput, error) {
  1113  	req, out := c.CreatePortalRequest(input)
  1114  	req.SetContext(ctx)
  1115  	req.ApplyOptions(opts...)
  1116  	return out, req.Send()
  1117  }
  1118  
  1119  const opCreateProject = "CreateProject"
  1120  
  1121  // CreateProjectRequest generates a "aws/request.Request" representing the
  1122  // client's request for the CreateProject operation. The "output" return
  1123  // value will be populated with the request's response once the request completes
  1124  // successfully.
  1125  //
  1126  // Use "Send" method on the returned Request to send the API call to the service.
  1127  // the "output" return value is not valid until after Send returns without error.
  1128  //
  1129  // See CreateProject for more information on using the CreateProject
  1130  // API call, and error handling.
  1131  //
  1132  // This method is useful when you want to inject custom logic or configuration
  1133  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1134  //
  1135  //
  1136  //    // Example sending a request using the CreateProjectRequest method.
  1137  //    req, resp := client.CreateProjectRequest(params)
  1138  //
  1139  //    err := req.Send()
  1140  //    if err == nil { // resp is now filled
  1141  //        fmt.Println(resp)
  1142  //    }
  1143  //
  1144  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateProject
  1145  func (c *IoTSiteWise) CreateProjectRequest(input *CreateProjectInput) (req *request.Request, output *CreateProjectOutput) {
  1146  	op := &request.Operation{
  1147  		Name:       opCreateProject,
  1148  		HTTPMethod: "POST",
  1149  		HTTPPath:   "/projects",
  1150  	}
  1151  
  1152  	if input == nil {
  1153  		input = &CreateProjectInput{}
  1154  	}
  1155  
  1156  	output = &CreateProjectOutput{}
  1157  	req = c.newRequest(op, input, output)
  1158  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
  1159  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  1160  	return
  1161  }
  1162  
  1163  // CreateProject API operation for AWS IoT SiteWise.
  1164  //
  1165  // Creates a project in the specified portal.
  1166  //
  1167  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1168  // with awserr.Error's Code and Message methods to get detailed information about
  1169  // the error.
  1170  //
  1171  // See the AWS API reference guide for AWS IoT SiteWise's
  1172  // API operation CreateProject for usage and error information.
  1173  //
  1174  // Returned Error Types:
  1175  //   * InvalidRequestException
  1176  //   The request isn't valid. This can occur if your request contains malformed
  1177  //   JSON or unsupported characters. Check your request and try again.
  1178  //
  1179  //   * ResourceNotFoundException
  1180  //   The requested resource can't be found.
  1181  //
  1182  //   * InternalFailureException
  1183  //   IoT SiteWise can't process your request right now. Try again later.
  1184  //
  1185  //   * ThrottlingException
  1186  //   Your request exceeded a rate limit. For example, you might have exceeded
  1187  //   the number of IoT SiteWise assets that can be created per second, the allowed
  1188  //   number of messages per second, and so on.
  1189  //
  1190  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  1191  //   in the IoT SiteWise User Guide.
  1192  //
  1193  //   * LimitExceededException
  1194  //   You've reached the limit for a resource. For example, this can occur if you're
  1195  //   trying to associate more than the allowed number of child assets or attempting
  1196  //   to create more than the allowed number of properties for an asset model.
  1197  //
  1198  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  1199  //   in the IoT SiteWise User Guide.
  1200  //
  1201  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateProject
  1202  func (c *IoTSiteWise) CreateProject(input *CreateProjectInput) (*CreateProjectOutput, error) {
  1203  	req, out := c.CreateProjectRequest(input)
  1204  	return out, req.Send()
  1205  }
  1206  
  1207  // CreateProjectWithContext is the same as CreateProject with the addition of
  1208  // the ability to pass a context and additional request options.
  1209  //
  1210  // See CreateProject for details on how to use this API operation.
  1211  //
  1212  // The context must be non-nil and will be used for request cancellation. If
  1213  // the context is nil a panic will occur. In the future the SDK may create
  1214  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1215  // for more information on using Contexts.
  1216  func (c *IoTSiteWise) CreateProjectWithContext(ctx aws.Context, input *CreateProjectInput, opts ...request.Option) (*CreateProjectOutput, error) {
  1217  	req, out := c.CreateProjectRequest(input)
  1218  	req.SetContext(ctx)
  1219  	req.ApplyOptions(opts...)
  1220  	return out, req.Send()
  1221  }
  1222  
  1223  const opDeleteAccessPolicy = "DeleteAccessPolicy"
  1224  
  1225  // DeleteAccessPolicyRequest generates a "aws/request.Request" representing the
  1226  // client's request for the DeleteAccessPolicy operation. The "output" return
  1227  // value will be populated with the request's response once the request completes
  1228  // successfully.
  1229  //
  1230  // Use "Send" method on the returned Request to send the API call to the service.
  1231  // the "output" return value is not valid until after Send returns without error.
  1232  //
  1233  // See DeleteAccessPolicy for more information on using the DeleteAccessPolicy
  1234  // API call, and error handling.
  1235  //
  1236  // This method is useful when you want to inject custom logic or configuration
  1237  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1238  //
  1239  //
  1240  //    // Example sending a request using the DeleteAccessPolicyRequest method.
  1241  //    req, resp := client.DeleteAccessPolicyRequest(params)
  1242  //
  1243  //    err := req.Send()
  1244  //    if err == nil { // resp is now filled
  1245  //        fmt.Println(resp)
  1246  //    }
  1247  //
  1248  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteAccessPolicy
  1249  func (c *IoTSiteWise) DeleteAccessPolicyRequest(input *DeleteAccessPolicyInput) (req *request.Request, output *DeleteAccessPolicyOutput) {
  1250  	op := &request.Operation{
  1251  		Name:       opDeleteAccessPolicy,
  1252  		HTTPMethod: "DELETE",
  1253  		HTTPPath:   "/access-policies/{accessPolicyId}",
  1254  	}
  1255  
  1256  	if input == nil {
  1257  		input = &DeleteAccessPolicyInput{}
  1258  	}
  1259  
  1260  	output = &DeleteAccessPolicyOutput{}
  1261  	req = c.newRequest(op, input, output)
  1262  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1263  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
  1264  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  1265  	return
  1266  }
  1267  
  1268  // DeleteAccessPolicy API operation for AWS IoT SiteWise.
  1269  //
  1270  // Deletes an access policy that grants the specified identity access to the
  1271  // specified IoT SiteWise Monitor resource. You can use this operation to revoke
  1272  // access to an IoT SiteWise Monitor resource.
  1273  //
  1274  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1275  // with awserr.Error's Code and Message methods to get detailed information about
  1276  // the error.
  1277  //
  1278  // See the AWS API reference guide for AWS IoT SiteWise's
  1279  // API operation DeleteAccessPolicy for usage and error information.
  1280  //
  1281  // Returned Error Types:
  1282  //   * InvalidRequestException
  1283  //   The request isn't valid. This can occur if your request contains malformed
  1284  //   JSON or unsupported characters. Check your request and try again.
  1285  //
  1286  //   * ResourceNotFoundException
  1287  //   The requested resource can't be found.
  1288  //
  1289  //   * InternalFailureException
  1290  //   IoT SiteWise can't process your request right now. Try again later.
  1291  //
  1292  //   * ThrottlingException
  1293  //   Your request exceeded a rate limit. For example, you might have exceeded
  1294  //   the number of IoT SiteWise assets that can be created per second, the allowed
  1295  //   number of messages per second, and so on.
  1296  //
  1297  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  1298  //   in the IoT SiteWise User Guide.
  1299  //
  1300  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteAccessPolicy
  1301  func (c *IoTSiteWise) DeleteAccessPolicy(input *DeleteAccessPolicyInput) (*DeleteAccessPolicyOutput, error) {
  1302  	req, out := c.DeleteAccessPolicyRequest(input)
  1303  	return out, req.Send()
  1304  }
  1305  
  1306  // DeleteAccessPolicyWithContext is the same as DeleteAccessPolicy with the addition of
  1307  // the ability to pass a context and additional request options.
  1308  //
  1309  // See DeleteAccessPolicy for details on how to use this API operation.
  1310  //
  1311  // The context must be non-nil and will be used for request cancellation. If
  1312  // the context is nil a panic will occur. In the future the SDK may create
  1313  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1314  // for more information on using Contexts.
  1315  func (c *IoTSiteWise) DeleteAccessPolicyWithContext(ctx aws.Context, input *DeleteAccessPolicyInput, opts ...request.Option) (*DeleteAccessPolicyOutput, error) {
  1316  	req, out := c.DeleteAccessPolicyRequest(input)
  1317  	req.SetContext(ctx)
  1318  	req.ApplyOptions(opts...)
  1319  	return out, req.Send()
  1320  }
  1321  
  1322  const opDeleteAsset = "DeleteAsset"
  1323  
  1324  // DeleteAssetRequest generates a "aws/request.Request" representing the
  1325  // client's request for the DeleteAsset operation. The "output" return
  1326  // value will be populated with the request's response once the request completes
  1327  // successfully.
  1328  //
  1329  // Use "Send" method on the returned Request to send the API call to the service.
  1330  // the "output" return value is not valid until after Send returns without error.
  1331  //
  1332  // See DeleteAsset for more information on using the DeleteAsset
  1333  // API call, and error handling.
  1334  //
  1335  // This method is useful when you want to inject custom logic or configuration
  1336  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1337  //
  1338  //
  1339  //    // Example sending a request using the DeleteAssetRequest method.
  1340  //    req, resp := client.DeleteAssetRequest(params)
  1341  //
  1342  //    err := req.Send()
  1343  //    if err == nil { // resp is now filled
  1344  //        fmt.Println(resp)
  1345  //    }
  1346  //
  1347  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteAsset
  1348  func (c *IoTSiteWise) DeleteAssetRequest(input *DeleteAssetInput) (req *request.Request, output *DeleteAssetOutput) {
  1349  	op := &request.Operation{
  1350  		Name:       opDeleteAsset,
  1351  		HTTPMethod: "DELETE",
  1352  		HTTPPath:   "/assets/{assetId}",
  1353  	}
  1354  
  1355  	if input == nil {
  1356  		input = &DeleteAssetInput{}
  1357  	}
  1358  
  1359  	output = &DeleteAssetOutput{}
  1360  	req = c.newRequest(op, input, output)
  1361  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  1362  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  1363  	return
  1364  }
  1365  
  1366  // DeleteAsset API operation for AWS IoT SiteWise.
  1367  //
  1368  // Deletes an asset. This action can't be undone. For more information, see
  1369  // Deleting assets and models (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/delete-assets-and-models.html)
  1370  // in the IoT SiteWise User Guide.
  1371  //
  1372  // You can't delete an asset that's associated to another asset. For more information,
  1373  // see DisassociateAssets (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DisassociateAssets.html).
  1374  //
  1375  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1376  // with awserr.Error's Code and Message methods to get detailed information about
  1377  // the error.
  1378  //
  1379  // See the AWS API reference guide for AWS IoT SiteWise's
  1380  // API operation DeleteAsset for usage and error information.
  1381  //
  1382  // Returned Error Types:
  1383  //   * InvalidRequestException
  1384  //   The request isn't valid. This can occur if your request contains malformed
  1385  //   JSON or unsupported characters. Check your request and try again.
  1386  //
  1387  //   * ResourceNotFoundException
  1388  //   The requested resource can't be found.
  1389  //
  1390  //   * InternalFailureException
  1391  //   IoT SiteWise can't process your request right now. Try again later.
  1392  //
  1393  //   * ThrottlingException
  1394  //   Your request exceeded a rate limit. For example, you might have exceeded
  1395  //   the number of IoT SiteWise assets that can be created per second, the allowed
  1396  //   number of messages per second, and so on.
  1397  //
  1398  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  1399  //   in the IoT SiteWise User Guide.
  1400  //
  1401  //   * ConflictingOperationException
  1402  //   Your request has conflicting operations. This can occur if you're trying
  1403  //   to perform more than one operation on the same resource at the same time.
  1404  //
  1405  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteAsset
  1406  func (c *IoTSiteWise) DeleteAsset(input *DeleteAssetInput) (*DeleteAssetOutput, error) {
  1407  	req, out := c.DeleteAssetRequest(input)
  1408  	return out, req.Send()
  1409  }
  1410  
  1411  // DeleteAssetWithContext is the same as DeleteAsset with the addition of
  1412  // the ability to pass a context and additional request options.
  1413  //
  1414  // See DeleteAsset for details on how to use this API operation.
  1415  //
  1416  // The context must be non-nil and will be used for request cancellation. If
  1417  // the context is nil a panic will occur. In the future the SDK may create
  1418  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1419  // for more information on using Contexts.
  1420  func (c *IoTSiteWise) DeleteAssetWithContext(ctx aws.Context, input *DeleteAssetInput, opts ...request.Option) (*DeleteAssetOutput, error) {
  1421  	req, out := c.DeleteAssetRequest(input)
  1422  	req.SetContext(ctx)
  1423  	req.ApplyOptions(opts...)
  1424  	return out, req.Send()
  1425  }
  1426  
  1427  const opDeleteAssetModel = "DeleteAssetModel"
  1428  
  1429  // DeleteAssetModelRequest generates a "aws/request.Request" representing the
  1430  // client's request for the DeleteAssetModel operation. The "output" return
  1431  // value will be populated with the request's response once the request completes
  1432  // successfully.
  1433  //
  1434  // Use "Send" method on the returned Request to send the API call to the service.
  1435  // the "output" return value is not valid until after Send returns without error.
  1436  //
  1437  // See DeleteAssetModel for more information on using the DeleteAssetModel
  1438  // API call, and error handling.
  1439  //
  1440  // This method is useful when you want to inject custom logic or configuration
  1441  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1442  //
  1443  //
  1444  //    // Example sending a request using the DeleteAssetModelRequest method.
  1445  //    req, resp := client.DeleteAssetModelRequest(params)
  1446  //
  1447  //    err := req.Send()
  1448  //    if err == nil { // resp is now filled
  1449  //        fmt.Println(resp)
  1450  //    }
  1451  //
  1452  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteAssetModel
  1453  func (c *IoTSiteWise) DeleteAssetModelRequest(input *DeleteAssetModelInput) (req *request.Request, output *DeleteAssetModelOutput) {
  1454  	op := &request.Operation{
  1455  		Name:       opDeleteAssetModel,
  1456  		HTTPMethod: "DELETE",
  1457  		HTTPPath:   "/asset-models/{assetModelId}",
  1458  	}
  1459  
  1460  	if input == nil {
  1461  		input = &DeleteAssetModelInput{}
  1462  	}
  1463  
  1464  	output = &DeleteAssetModelOutput{}
  1465  	req = c.newRequest(op, input, output)
  1466  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  1467  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  1468  	return
  1469  }
  1470  
  1471  // DeleteAssetModel API operation for AWS IoT SiteWise.
  1472  //
  1473  // Deletes an asset model. This action can't be undone. You must delete all
  1474  // assets created from an asset model before you can delete the model. Also,
  1475  // you can't delete an asset model if a parent asset model exists that contains
  1476  // a property formula expression that depends on the asset model that you want
  1477  // to delete. For more information, see Deleting assets and models (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/delete-assets-and-models.html)
  1478  // in the IoT SiteWise User Guide.
  1479  //
  1480  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1481  // with awserr.Error's Code and Message methods to get detailed information about
  1482  // the error.
  1483  //
  1484  // See the AWS API reference guide for AWS IoT SiteWise's
  1485  // API operation DeleteAssetModel for usage and error information.
  1486  //
  1487  // Returned Error Types:
  1488  //   * InvalidRequestException
  1489  //   The request isn't valid. This can occur if your request contains malformed
  1490  //   JSON or unsupported characters. Check your request and try again.
  1491  //
  1492  //   * ResourceNotFoundException
  1493  //   The requested resource can't be found.
  1494  //
  1495  //   * InternalFailureException
  1496  //   IoT SiteWise can't process your request right now. Try again later.
  1497  //
  1498  //   * ThrottlingException
  1499  //   Your request exceeded a rate limit. For example, you might have exceeded
  1500  //   the number of IoT SiteWise assets that can be created per second, the allowed
  1501  //   number of messages per second, and so on.
  1502  //
  1503  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  1504  //   in the IoT SiteWise User Guide.
  1505  //
  1506  //   * ConflictingOperationException
  1507  //   Your request has conflicting operations. This can occur if you're trying
  1508  //   to perform more than one operation on the same resource at the same time.
  1509  //
  1510  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteAssetModel
  1511  func (c *IoTSiteWise) DeleteAssetModel(input *DeleteAssetModelInput) (*DeleteAssetModelOutput, error) {
  1512  	req, out := c.DeleteAssetModelRequest(input)
  1513  	return out, req.Send()
  1514  }
  1515  
  1516  // DeleteAssetModelWithContext is the same as DeleteAssetModel with the addition of
  1517  // the ability to pass a context and additional request options.
  1518  //
  1519  // See DeleteAssetModel for details on how to use this API operation.
  1520  //
  1521  // The context must be non-nil and will be used for request cancellation. If
  1522  // the context is nil a panic will occur. In the future the SDK may create
  1523  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1524  // for more information on using Contexts.
  1525  func (c *IoTSiteWise) DeleteAssetModelWithContext(ctx aws.Context, input *DeleteAssetModelInput, opts ...request.Option) (*DeleteAssetModelOutput, error) {
  1526  	req, out := c.DeleteAssetModelRequest(input)
  1527  	req.SetContext(ctx)
  1528  	req.ApplyOptions(opts...)
  1529  	return out, req.Send()
  1530  }
  1531  
  1532  const opDeleteDashboard = "DeleteDashboard"
  1533  
  1534  // DeleteDashboardRequest generates a "aws/request.Request" representing the
  1535  // client's request for the DeleteDashboard operation. The "output" return
  1536  // value will be populated with the request's response once the request completes
  1537  // successfully.
  1538  //
  1539  // Use "Send" method on the returned Request to send the API call to the service.
  1540  // the "output" return value is not valid until after Send returns without error.
  1541  //
  1542  // See DeleteDashboard for more information on using the DeleteDashboard
  1543  // API call, and error handling.
  1544  //
  1545  // This method is useful when you want to inject custom logic or configuration
  1546  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1547  //
  1548  //
  1549  //    // Example sending a request using the DeleteDashboardRequest method.
  1550  //    req, resp := client.DeleteDashboardRequest(params)
  1551  //
  1552  //    err := req.Send()
  1553  //    if err == nil { // resp is now filled
  1554  //        fmt.Println(resp)
  1555  //    }
  1556  //
  1557  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteDashboard
  1558  func (c *IoTSiteWise) DeleteDashboardRequest(input *DeleteDashboardInput) (req *request.Request, output *DeleteDashboardOutput) {
  1559  	op := &request.Operation{
  1560  		Name:       opDeleteDashboard,
  1561  		HTTPMethod: "DELETE",
  1562  		HTTPPath:   "/dashboards/{dashboardId}",
  1563  	}
  1564  
  1565  	if input == nil {
  1566  		input = &DeleteDashboardInput{}
  1567  	}
  1568  
  1569  	output = &DeleteDashboardOutput{}
  1570  	req = c.newRequest(op, input, output)
  1571  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1572  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
  1573  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  1574  	return
  1575  }
  1576  
  1577  // DeleteDashboard API operation for AWS IoT SiteWise.
  1578  //
  1579  // Deletes a dashboard from IoT SiteWise Monitor.
  1580  //
  1581  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1582  // with awserr.Error's Code and Message methods to get detailed information about
  1583  // the error.
  1584  //
  1585  // See the AWS API reference guide for AWS IoT SiteWise's
  1586  // API operation DeleteDashboard for usage and error information.
  1587  //
  1588  // Returned Error Types:
  1589  //   * InvalidRequestException
  1590  //   The request isn't valid. This can occur if your request contains malformed
  1591  //   JSON or unsupported characters. Check your request and try again.
  1592  //
  1593  //   * ResourceNotFoundException
  1594  //   The requested resource can't be found.
  1595  //
  1596  //   * InternalFailureException
  1597  //   IoT SiteWise can't process your request right now. Try again later.
  1598  //
  1599  //   * ThrottlingException
  1600  //   Your request exceeded a rate limit. For example, you might have exceeded
  1601  //   the number of IoT SiteWise assets that can be created per second, the allowed
  1602  //   number of messages per second, and so on.
  1603  //
  1604  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  1605  //   in the IoT SiteWise User Guide.
  1606  //
  1607  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteDashboard
  1608  func (c *IoTSiteWise) DeleteDashboard(input *DeleteDashboardInput) (*DeleteDashboardOutput, error) {
  1609  	req, out := c.DeleteDashboardRequest(input)
  1610  	return out, req.Send()
  1611  }
  1612  
  1613  // DeleteDashboardWithContext is the same as DeleteDashboard with the addition of
  1614  // the ability to pass a context and additional request options.
  1615  //
  1616  // See DeleteDashboard for details on how to use this API operation.
  1617  //
  1618  // The context must be non-nil and will be used for request cancellation. If
  1619  // the context is nil a panic will occur. In the future the SDK may create
  1620  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1621  // for more information on using Contexts.
  1622  func (c *IoTSiteWise) DeleteDashboardWithContext(ctx aws.Context, input *DeleteDashboardInput, opts ...request.Option) (*DeleteDashboardOutput, error) {
  1623  	req, out := c.DeleteDashboardRequest(input)
  1624  	req.SetContext(ctx)
  1625  	req.ApplyOptions(opts...)
  1626  	return out, req.Send()
  1627  }
  1628  
  1629  const opDeleteGateway = "DeleteGateway"
  1630  
  1631  // DeleteGatewayRequest generates a "aws/request.Request" representing the
  1632  // client's request for the DeleteGateway operation. The "output" return
  1633  // value will be populated with the request's response once the request completes
  1634  // successfully.
  1635  //
  1636  // Use "Send" method on the returned Request to send the API call to the service.
  1637  // the "output" return value is not valid until after Send returns without error.
  1638  //
  1639  // See DeleteGateway for more information on using the DeleteGateway
  1640  // API call, and error handling.
  1641  //
  1642  // This method is useful when you want to inject custom logic or configuration
  1643  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1644  //
  1645  //
  1646  //    // Example sending a request using the DeleteGatewayRequest method.
  1647  //    req, resp := client.DeleteGatewayRequest(params)
  1648  //
  1649  //    err := req.Send()
  1650  //    if err == nil { // resp is now filled
  1651  //        fmt.Println(resp)
  1652  //    }
  1653  //
  1654  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteGateway
  1655  func (c *IoTSiteWise) DeleteGatewayRequest(input *DeleteGatewayInput) (req *request.Request, output *DeleteGatewayOutput) {
  1656  	op := &request.Operation{
  1657  		Name:       opDeleteGateway,
  1658  		HTTPMethod: "DELETE",
  1659  		HTTPPath:   "/20200301/gateways/{gatewayId}",
  1660  	}
  1661  
  1662  	if input == nil {
  1663  		input = &DeleteGatewayInput{}
  1664  	}
  1665  
  1666  	output = &DeleteGatewayOutput{}
  1667  	req = c.newRequest(op, input, output)
  1668  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1669  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  1670  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  1671  	return
  1672  }
  1673  
  1674  // DeleteGateway API operation for AWS IoT SiteWise.
  1675  //
  1676  // Deletes a gateway from IoT SiteWise. When you delete a gateway, some of the
  1677  // gateway's files remain in your gateway's file system.
  1678  //
  1679  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1680  // with awserr.Error's Code and Message methods to get detailed information about
  1681  // the error.
  1682  //
  1683  // See the AWS API reference guide for AWS IoT SiteWise's
  1684  // API operation DeleteGateway for usage and error information.
  1685  //
  1686  // Returned Error Types:
  1687  //   * InvalidRequestException
  1688  //   The request isn't valid. This can occur if your request contains malformed
  1689  //   JSON or unsupported characters. Check your request and try again.
  1690  //
  1691  //   * ResourceNotFoundException
  1692  //   The requested resource can't be found.
  1693  //
  1694  //   * InternalFailureException
  1695  //   IoT SiteWise can't process your request right now. Try again later.
  1696  //
  1697  //   * ThrottlingException
  1698  //   Your request exceeded a rate limit. For example, you might have exceeded
  1699  //   the number of IoT SiteWise assets that can be created per second, the allowed
  1700  //   number of messages per second, and so on.
  1701  //
  1702  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  1703  //   in the IoT SiteWise User Guide.
  1704  //
  1705  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteGateway
  1706  func (c *IoTSiteWise) DeleteGateway(input *DeleteGatewayInput) (*DeleteGatewayOutput, error) {
  1707  	req, out := c.DeleteGatewayRequest(input)
  1708  	return out, req.Send()
  1709  }
  1710  
  1711  // DeleteGatewayWithContext is the same as DeleteGateway with the addition of
  1712  // the ability to pass a context and additional request options.
  1713  //
  1714  // See DeleteGateway for details on how to use this API operation.
  1715  //
  1716  // The context must be non-nil and will be used for request cancellation. If
  1717  // the context is nil a panic will occur. In the future the SDK may create
  1718  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1719  // for more information on using Contexts.
  1720  func (c *IoTSiteWise) DeleteGatewayWithContext(ctx aws.Context, input *DeleteGatewayInput, opts ...request.Option) (*DeleteGatewayOutput, error) {
  1721  	req, out := c.DeleteGatewayRequest(input)
  1722  	req.SetContext(ctx)
  1723  	req.ApplyOptions(opts...)
  1724  	return out, req.Send()
  1725  }
  1726  
  1727  const opDeletePortal = "DeletePortal"
  1728  
  1729  // DeletePortalRequest generates a "aws/request.Request" representing the
  1730  // client's request for the DeletePortal operation. The "output" return
  1731  // value will be populated with the request's response once the request completes
  1732  // successfully.
  1733  //
  1734  // Use "Send" method on the returned Request to send the API call to the service.
  1735  // the "output" return value is not valid until after Send returns without error.
  1736  //
  1737  // See DeletePortal for more information on using the DeletePortal
  1738  // API call, and error handling.
  1739  //
  1740  // This method is useful when you want to inject custom logic or configuration
  1741  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1742  //
  1743  //
  1744  //    // Example sending a request using the DeletePortalRequest method.
  1745  //    req, resp := client.DeletePortalRequest(params)
  1746  //
  1747  //    err := req.Send()
  1748  //    if err == nil { // resp is now filled
  1749  //        fmt.Println(resp)
  1750  //    }
  1751  //
  1752  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeletePortal
  1753  func (c *IoTSiteWise) DeletePortalRequest(input *DeletePortalInput) (req *request.Request, output *DeletePortalOutput) {
  1754  	op := &request.Operation{
  1755  		Name:       opDeletePortal,
  1756  		HTTPMethod: "DELETE",
  1757  		HTTPPath:   "/portals/{portalId}",
  1758  	}
  1759  
  1760  	if input == nil {
  1761  		input = &DeletePortalInput{}
  1762  	}
  1763  
  1764  	output = &DeletePortalOutput{}
  1765  	req = c.newRequest(op, input, output)
  1766  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
  1767  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  1768  	return
  1769  }
  1770  
  1771  // DeletePortal API operation for AWS IoT SiteWise.
  1772  //
  1773  // Deletes a portal from IoT SiteWise Monitor.
  1774  //
  1775  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1776  // with awserr.Error's Code and Message methods to get detailed information about
  1777  // the error.
  1778  //
  1779  // See the AWS API reference guide for AWS IoT SiteWise's
  1780  // API operation DeletePortal for usage and error information.
  1781  //
  1782  // Returned Error Types:
  1783  //   * InvalidRequestException
  1784  //   The request isn't valid. This can occur if your request contains malformed
  1785  //   JSON or unsupported characters. Check your request and try again.
  1786  //
  1787  //   * ResourceNotFoundException
  1788  //   The requested resource can't be found.
  1789  //
  1790  //   * InternalFailureException
  1791  //   IoT SiteWise can't process your request right now. Try again later.
  1792  //
  1793  //   * ThrottlingException
  1794  //   Your request exceeded a rate limit. For example, you might have exceeded
  1795  //   the number of IoT SiteWise assets that can be created per second, the allowed
  1796  //   number of messages per second, and so on.
  1797  //
  1798  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  1799  //   in the IoT SiteWise User Guide.
  1800  //
  1801  //   * ConflictingOperationException
  1802  //   Your request has conflicting operations. This can occur if you're trying
  1803  //   to perform more than one operation on the same resource at the same time.
  1804  //
  1805  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeletePortal
  1806  func (c *IoTSiteWise) DeletePortal(input *DeletePortalInput) (*DeletePortalOutput, error) {
  1807  	req, out := c.DeletePortalRequest(input)
  1808  	return out, req.Send()
  1809  }
  1810  
  1811  // DeletePortalWithContext is the same as DeletePortal with the addition of
  1812  // the ability to pass a context and additional request options.
  1813  //
  1814  // See DeletePortal for details on how to use this API operation.
  1815  //
  1816  // The context must be non-nil and will be used for request cancellation. If
  1817  // the context is nil a panic will occur. In the future the SDK may create
  1818  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1819  // for more information on using Contexts.
  1820  func (c *IoTSiteWise) DeletePortalWithContext(ctx aws.Context, input *DeletePortalInput, opts ...request.Option) (*DeletePortalOutput, error) {
  1821  	req, out := c.DeletePortalRequest(input)
  1822  	req.SetContext(ctx)
  1823  	req.ApplyOptions(opts...)
  1824  	return out, req.Send()
  1825  }
  1826  
  1827  const opDeleteProject = "DeleteProject"
  1828  
  1829  // DeleteProjectRequest generates a "aws/request.Request" representing the
  1830  // client's request for the DeleteProject operation. The "output" return
  1831  // value will be populated with the request's response once the request completes
  1832  // successfully.
  1833  //
  1834  // Use "Send" method on the returned Request to send the API call to the service.
  1835  // the "output" return value is not valid until after Send returns without error.
  1836  //
  1837  // See DeleteProject for more information on using the DeleteProject
  1838  // API call, and error handling.
  1839  //
  1840  // This method is useful when you want to inject custom logic or configuration
  1841  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1842  //
  1843  //
  1844  //    // Example sending a request using the DeleteProjectRequest method.
  1845  //    req, resp := client.DeleteProjectRequest(params)
  1846  //
  1847  //    err := req.Send()
  1848  //    if err == nil { // resp is now filled
  1849  //        fmt.Println(resp)
  1850  //    }
  1851  //
  1852  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteProject
  1853  func (c *IoTSiteWise) DeleteProjectRequest(input *DeleteProjectInput) (req *request.Request, output *DeleteProjectOutput) {
  1854  	op := &request.Operation{
  1855  		Name:       opDeleteProject,
  1856  		HTTPMethod: "DELETE",
  1857  		HTTPPath:   "/projects/{projectId}",
  1858  	}
  1859  
  1860  	if input == nil {
  1861  		input = &DeleteProjectInput{}
  1862  	}
  1863  
  1864  	output = &DeleteProjectOutput{}
  1865  	req = c.newRequest(op, input, output)
  1866  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1867  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
  1868  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  1869  	return
  1870  }
  1871  
  1872  // DeleteProject API operation for AWS IoT SiteWise.
  1873  //
  1874  // Deletes a project from IoT SiteWise Monitor.
  1875  //
  1876  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1877  // with awserr.Error's Code and Message methods to get detailed information about
  1878  // the error.
  1879  //
  1880  // See the AWS API reference guide for AWS IoT SiteWise's
  1881  // API operation DeleteProject for usage and error information.
  1882  //
  1883  // Returned Error Types:
  1884  //   * InvalidRequestException
  1885  //   The request isn't valid. This can occur if your request contains malformed
  1886  //   JSON or unsupported characters. Check your request and try again.
  1887  //
  1888  //   * ResourceNotFoundException
  1889  //   The requested resource can't be found.
  1890  //
  1891  //   * InternalFailureException
  1892  //   IoT SiteWise can't process your request right now. Try again later.
  1893  //
  1894  //   * ThrottlingException
  1895  //   Your request exceeded a rate limit. For example, you might have exceeded
  1896  //   the number of IoT SiteWise assets that can be created per second, the allowed
  1897  //   number of messages per second, and so on.
  1898  //
  1899  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  1900  //   in the IoT SiteWise User Guide.
  1901  //
  1902  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteProject
  1903  func (c *IoTSiteWise) DeleteProject(input *DeleteProjectInput) (*DeleteProjectOutput, error) {
  1904  	req, out := c.DeleteProjectRequest(input)
  1905  	return out, req.Send()
  1906  }
  1907  
  1908  // DeleteProjectWithContext is the same as DeleteProject with the addition of
  1909  // the ability to pass a context and additional request options.
  1910  //
  1911  // See DeleteProject for details on how to use this API operation.
  1912  //
  1913  // The context must be non-nil and will be used for request cancellation. If
  1914  // the context is nil a panic will occur. In the future the SDK may create
  1915  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1916  // for more information on using Contexts.
  1917  func (c *IoTSiteWise) DeleteProjectWithContext(ctx aws.Context, input *DeleteProjectInput, opts ...request.Option) (*DeleteProjectOutput, error) {
  1918  	req, out := c.DeleteProjectRequest(input)
  1919  	req.SetContext(ctx)
  1920  	req.ApplyOptions(opts...)
  1921  	return out, req.Send()
  1922  }
  1923  
  1924  const opDescribeAccessPolicy = "DescribeAccessPolicy"
  1925  
  1926  // DescribeAccessPolicyRequest generates a "aws/request.Request" representing the
  1927  // client's request for the DescribeAccessPolicy operation. The "output" return
  1928  // value will be populated with the request's response once the request completes
  1929  // successfully.
  1930  //
  1931  // Use "Send" method on the returned Request to send the API call to the service.
  1932  // the "output" return value is not valid until after Send returns without error.
  1933  //
  1934  // See DescribeAccessPolicy for more information on using the DescribeAccessPolicy
  1935  // API call, and error handling.
  1936  //
  1937  // This method is useful when you want to inject custom logic or configuration
  1938  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1939  //
  1940  //
  1941  //    // Example sending a request using the DescribeAccessPolicyRequest method.
  1942  //    req, resp := client.DescribeAccessPolicyRequest(params)
  1943  //
  1944  //    err := req.Send()
  1945  //    if err == nil { // resp is now filled
  1946  //        fmt.Println(resp)
  1947  //    }
  1948  //
  1949  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAccessPolicy
  1950  func (c *IoTSiteWise) DescribeAccessPolicyRequest(input *DescribeAccessPolicyInput) (req *request.Request, output *DescribeAccessPolicyOutput) {
  1951  	op := &request.Operation{
  1952  		Name:       opDescribeAccessPolicy,
  1953  		HTTPMethod: "GET",
  1954  		HTTPPath:   "/access-policies/{accessPolicyId}",
  1955  	}
  1956  
  1957  	if input == nil {
  1958  		input = &DescribeAccessPolicyInput{}
  1959  	}
  1960  
  1961  	output = &DescribeAccessPolicyOutput{}
  1962  	req = c.newRequest(op, input, output)
  1963  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
  1964  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  1965  	return
  1966  }
  1967  
  1968  // DescribeAccessPolicy API operation for AWS IoT SiteWise.
  1969  //
  1970  // Describes an access policy, which specifies an identity's access to an IoT
  1971  // SiteWise Monitor portal or project.
  1972  //
  1973  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1974  // with awserr.Error's Code and Message methods to get detailed information about
  1975  // the error.
  1976  //
  1977  // See the AWS API reference guide for AWS IoT SiteWise's
  1978  // API operation DescribeAccessPolicy for usage and error information.
  1979  //
  1980  // Returned Error Types:
  1981  //   * InvalidRequestException
  1982  //   The request isn't valid. This can occur if your request contains malformed
  1983  //   JSON or unsupported characters. Check your request and try again.
  1984  //
  1985  //   * ResourceNotFoundException
  1986  //   The requested resource can't be found.
  1987  //
  1988  //   * InternalFailureException
  1989  //   IoT SiteWise can't process your request right now. Try again later.
  1990  //
  1991  //   * ThrottlingException
  1992  //   Your request exceeded a rate limit. For example, you might have exceeded
  1993  //   the number of IoT SiteWise assets that can be created per second, the allowed
  1994  //   number of messages per second, and so on.
  1995  //
  1996  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  1997  //   in the IoT SiteWise User Guide.
  1998  //
  1999  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAccessPolicy
  2000  func (c *IoTSiteWise) DescribeAccessPolicy(input *DescribeAccessPolicyInput) (*DescribeAccessPolicyOutput, error) {
  2001  	req, out := c.DescribeAccessPolicyRequest(input)
  2002  	return out, req.Send()
  2003  }
  2004  
  2005  // DescribeAccessPolicyWithContext is the same as DescribeAccessPolicy with the addition of
  2006  // the ability to pass a context and additional request options.
  2007  //
  2008  // See DescribeAccessPolicy for details on how to use this API operation.
  2009  //
  2010  // The context must be non-nil and will be used for request cancellation. If
  2011  // the context is nil a panic will occur. In the future the SDK may create
  2012  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2013  // for more information on using Contexts.
  2014  func (c *IoTSiteWise) DescribeAccessPolicyWithContext(ctx aws.Context, input *DescribeAccessPolicyInput, opts ...request.Option) (*DescribeAccessPolicyOutput, error) {
  2015  	req, out := c.DescribeAccessPolicyRequest(input)
  2016  	req.SetContext(ctx)
  2017  	req.ApplyOptions(opts...)
  2018  	return out, req.Send()
  2019  }
  2020  
  2021  const opDescribeAsset = "DescribeAsset"
  2022  
  2023  // DescribeAssetRequest generates a "aws/request.Request" representing the
  2024  // client's request for the DescribeAsset operation. The "output" return
  2025  // value will be populated with the request's response once the request completes
  2026  // successfully.
  2027  //
  2028  // Use "Send" method on the returned Request to send the API call to the service.
  2029  // the "output" return value is not valid until after Send returns without error.
  2030  //
  2031  // See DescribeAsset for more information on using the DescribeAsset
  2032  // API call, and error handling.
  2033  //
  2034  // This method is useful when you want to inject custom logic or configuration
  2035  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2036  //
  2037  //
  2038  //    // Example sending a request using the DescribeAssetRequest method.
  2039  //    req, resp := client.DescribeAssetRequest(params)
  2040  //
  2041  //    err := req.Send()
  2042  //    if err == nil { // resp is now filled
  2043  //        fmt.Println(resp)
  2044  //    }
  2045  //
  2046  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAsset
  2047  func (c *IoTSiteWise) DescribeAssetRequest(input *DescribeAssetInput) (req *request.Request, output *DescribeAssetOutput) {
  2048  	op := &request.Operation{
  2049  		Name:       opDescribeAsset,
  2050  		HTTPMethod: "GET",
  2051  		HTTPPath:   "/assets/{assetId}",
  2052  	}
  2053  
  2054  	if input == nil {
  2055  		input = &DescribeAssetInput{}
  2056  	}
  2057  
  2058  	output = &DescribeAssetOutput{}
  2059  	req = c.newRequest(op, input, output)
  2060  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  2061  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  2062  	return
  2063  }
  2064  
  2065  // DescribeAsset API operation for AWS IoT SiteWise.
  2066  //
  2067  // Retrieves information about an asset.
  2068  //
  2069  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2070  // with awserr.Error's Code and Message methods to get detailed information about
  2071  // the error.
  2072  //
  2073  // See the AWS API reference guide for AWS IoT SiteWise's
  2074  // API operation DescribeAsset for usage and error information.
  2075  //
  2076  // Returned Error Types:
  2077  //   * InvalidRequestException
  2078  //   The request isn't valid. This can occur if your request contains malformed
  2079  //   JSON or unsupported characters. Check your request and try again.
  2080  //
  2081  //   * ResourceNotFoundException
  2082  //   The requested resource can't be found.
  2083  //
  2084  //   * InternalFailureException
  2085  //   IoT SiteWise can't process your request right now. Try again later.
  2086  //
  2087  //   * ThrottlingException
  2088  //   Your request exceeded a rate limit. For example, you might have exceeded
  2089  //   the number of IoT SiteWise assets that can be created per second, the allowed
  2090  //   number of messages per second, and so on.
  2091  //
  2092  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  2093  //   in the IoT SiteWise User Guide.
  2094  //
  2095  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAsset
  2096  func (c *IoTSiteWise) DescribeAsset(input *DescribeAssetInput) (*DescribeAssetOutput, error) {
  2097  	req, out := c.DescribeAssetRequest(input)
  2098  	return out, req.Send()
  2099  }
  2100  
  2101  // DescribeAssetWithContext is the same as DescribeAsset with the addition of
  2102  // the ability to pass a context and additional request options.
  2103  //
  2104  // See DescribeAsset for details on how to use this API operation.
  2105  //
  2106  // The context must be non-nil and will be used for request cancellation. If
  2107  // the context is nil a panic will occur. In the future the SDK may create
  2108  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2109  // for more information on using Contexts.
  2110  func (c *IoTSiteWise) DescribeAssetWithContext(ctx aws.Context, input *DescribeAssetInput, opts ...request.Option) (*DescribeAssetOutput, error) {
  2111  	req, out := c.DescribeAssetRequest(input)
  2112  	req.SetContext(ctx)
  2113  	req.ApplyOptions(opts...)
  2114  	return out, req.Send()
  2115  }
  2116  
  2117  const opDescribeAssetModel = "DescribeAssetModel"
  2118  
  2119  // DescribeAssetModelRequest generates a "aws/request.Request" representing the
  2120  // client's request for the DescribeAssetModel operation. The "output" return
  2121  // value will be populated with the request's response once the request completes
  2122  // successfully.
  2123  //
  2124  // Use "Send" method on the returned Request to send the API call to the service.
  2125  // the "output" return value is not valid until after Send returns without error.
  2126  //
  2127  // See DescribeAssetModel for more information on using the DescribeAssetModel
  2128  // API call, and error handling.
  2129  //
  2130  // This method is useful when you want to inject custom logic or configuration
  2131  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2132  //
  2133  //
  2134  //    // Example sending a request using the DescribeAssetModelRequest method.
  2135  //    req, resp := client.DescribeAssetModelRequest(params)
  2136  //
  2137  //    err := req.Send()
  2138  //    if err == nil { // resp is now filled
  2139  //        fmt.Println(resp)
  2140  //    }
  2141  //
  2142  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAssetModel
  2143  func (c *IoTSiteWise) DescribeAssetModelRequest(input *DescribeAssetModelInput) (req *request.Request, output *DescribeAssetModelOutput) {
  2144  	op := &request.Operation{
  2145  		Name:       opDescribeAssetModel,
  2146  		HTTPMethod: "GET",
  2147  		HTTPPath:   "/asset-models/{assetModelId}",
  2148  	}
  2149  
  2150  	if input == nil {
  2151  		input = &DescribeAssetModelInput{}
  2152  	}
  2153  
  2154  	output = &DescribeAssetModelOutput{}
  2155  	req = c.newRequest(op, input, output)
  2156  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  2157  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  2158  	return
  2159  }
  2160  
  2161  // DescribeAssetModel API operation for AWS IoT SiteWise.
  2162  //
  2163  // Retrieves information about an asset model.
  2164  //
  2165  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2166  // with awserr.Error's Code and Message methods to get detailed information about
  2167  // the error.
  2168  //
  2169  // See the AWS API reference guide for AWS IoT SiteWise's
  2170  // API operation DescribeAssetModel for usage and error information.
  2171  //
  2172  // Returned Error Types:
  2173  //   * InvalidRequestException
  2174  //   The request isn't valid. This can occur if your request contains malformed
  2175  //   JSON or unsupported characters. Check your request and try again.
  2176  //
  2177  //   * ResourceNotFoundException
  2178  //   The requested resource can't be found.
  2179  //
  2180  //   * InternalFailureException
  2181  //   IoT SiteWise can't process your request right now. Try again later.
  2182  //
  2183  //   * ThrottlingException
  2184  //   Your request exceeded a rate limit. For example, you might have exceeded
  2185  //   the number of IoT SiteWise assets that can be created per second, the allowed
  2186  //   number of messages per second, and so on.
  2187  //
  2188  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  2189  //   in the IoT SiteWise User Guide.
  2190  //
  2191  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAssetModel
  2192  func (c *IoTSiteWise) DescribeAssetModel(input *DescribeAssetModelInput) (*DescribeAssetModelOutput, error) {
  2193  	req, out := c.DescribeAssetModelRequest(input)
  2194  	return out, req.Send()
  2195  }
  2196  
  2197  // DescribeAssetModelWithContext is the same as DescribeAssetModel with the addition of
  2198  // the ability to pass a context and additional request options.
  2199  //
  2200  // See DescribeAssetModel for details on how to use this API operation.
  2201  //
  2202  // The context must be non-nil and will be used for request cancellation. If
  2203  // the context is nil a panic will occur. In the future the SDK may create
  2204  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2205  // for more information on using Contexts.
  2206  func (c *IoTSiteWise) DescribeAssetModelWithContext(ctx aws.Context, input *DescribeAssetModelInput, opts ...request.Option) (*DescribeAssetModelOutput, error) {
  2207  	req, out := c.DescribeAssetModelRequest(input)
  2208  	req.SetContext(ctx)
  2209  	req.ApplyOptions(opts...)
  2210  	return out, req.Send()
  2211  }
  2212  
  2213  const opDescribeAssetProperty = "DescribeAssetProperty"
  2214  
  2215  // DescribeAssetPropertyRequest generates a "aws/request.Request" representing the
  2216  // client's request for the DescribeAssetProperty operation. The "output" return
  2217  // value will be populated with the request's response once the request completes
  2218  // successfully.
  2219  //
  2220  // Use "Send" method on the returned Request to send the API call to the service.
  2221  // the "output" return value is not valid until after Send returns without error.
  2222  //
  2223  // See DescribeAssetProperty for more information on using the DescribeAssetProperty
  2224  // API call, and error handling.
  2225  //
  2226  // This method is useful when you want to inject custom logic or configuration
  2227  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2228  //
  2229  //
  2230  //    // Example sending a request using the DescribeAssetPropertyRequest method.
  2231  //    req, resp := client.DescribeAssetPropertyRequest(params)
  2232  //
  2233  //    err := req.Send()
  2234  //    if err == nil { // resp is now filled
  2235  //        fmt.Println(resp)
  2236  //    }
  2237  //
  2238  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAssetProperty
  2239  func (c *IoTSiteWise) DescribeAssetPropertyRequest(input *DescribeAssetPropertyInput) (req *request.Request, output *DescribeAssetPropertyOutput) {
  2240  	op := &request.Operation{
  2241  		Name:       opDescribeAssetProperty,
  2242  		HTTPMethod: "GET",
  2243  		HTTPPath:   "/assets/{assetId}/properties/{propertyId}",
  2244  	}
  2245  
  2246  	if input == nil {
  2247  		input = &DescribeAssetPropertyInput{}
  2248  	}
  2249  
  2250  	output = &DescribeAssetPropertyOutput{}
  2251  	req = c.newRequest(op, input, output)
  2252  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  2253  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  2254  	return
  2255  }
  2256  
  2257  // DescribeAssetProperty API operation for AWS IoT SiteWise.
  2258  //
  2259  // Retrieves information about an asset property.
  2260  //
  2261  // When you call this operation for an attribute property, this response includes
  2262  // the default attribute value that you define in the asset model. If you update
  2263  // the default value in the model, this operation's response includes the new
  2264  // default value.
  2265  //
  2266  // This operation doesn't return the value of the asset property. To get the
  2267  // value of an asset property, use GetAssetPropertyValue (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_GetAssetPropertyValue.html).
  2268  //
  2269  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2270  // with awserr.Error's Code and Message methods to get detailed information about
  2271  // the error.
  2272  //
  2273  // See the AWS API reference guide for AWS IoT SiteWise's
  2274  // API operation DescribeAssetProperty for usage and error information.
  2275  //
  2276  // Returned Error Types:
  2277  //   * InvalidRequestException
  2278  //   The request isn't valid. This can occur if your request contains malformed
  2279  //   JSON or unsupported characters. Check your request and try again.
  2280  //
  2281  //   * ResourceNotFoundException
  2282  //   The requested resource can't be found.
  2283  //
  2284  //   * InternalFailureException
  2285  //   IoT SiteWise can't process your request right now. Try again later.
  2286  //
  2287  //   * ThrottlingException
  2288  //   Your request exceeded a rate limit. For example, you might have exceeded
  2289  //   the number of IoT SiteWise assets that can be created per second, the allowed
  2290  //   number of messages per second, and so on.
  2291  //
  2292  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  2293  //   in the IoT SiteWise User Guide.
  2294  //
  2295  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAssetProperty
  2296  func (c *IoTSiteWise) DescribeAssetProperty(input *DescribeAssetPropertyInput) (*DescribeAssetPropertyOutput, error) {
  2297  	req, out := c.DescribeAssetPropertyRequest(input)
  2298  	return out, req.Send()
  2299  }
  2300  
  2301  // DescribeAssetPropertyWithContext is the same as DescribeAssetProperty with the addition of
  2302  // the ability to pass a context and additional request options.
  2303  //
  2304  // See DescribeAssetProperty for details on how to use this API operation.
  2305  //
  2306  // The context must be non-nil and will be used for request cancellation. If
  2307  // the context is nil a panic will occur. In the future the SDK may create
  2308  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2309  // for more information on using Contexts.
  2310  func (c *IoTSiteWise) DescribeAssetPropertyWithContext(ctx aws.Context, input *DescribeAssetPropertyInput, opts ...request.Option) (*DescribeAssetPropertyOutput, error) {
  2311  	req, out := c.DescribeAssetPropertyRequest(input)
  2312  	req.SetContext(ctx)
  2313  	req.ApplyOptions(opts...)
  2314  	return out, req.Send()
  2315  }
  2316  
  2317  const opDescribeDashboard = "DescribeDashboard"
  2318  
  2319  // DescribeDashboardRequest generates a "aws/request.Request" representing the
  2320  // client's request for the DescribeDashboard operation. The "output" return
  2321  // value will be populated with the request's response once the request completes
  2322  // successfully.
  2323  //
  2324  // Use "Send" method on the returned Request to send the API call to the service.
  2325  // the "output" return value is not valid until after Send returns without error.
  2326  //
  2327  // See DescribeDashboard for more information on using the DescribeDashboard
  2328  // API call, and error handling.
  2329  //
  2330  // This method is useful when you want to inject custom logic or configuration
  2331  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2332  //
  2333  //
  2334  //    // Example sending a request using the DescribeDashboardRequest method.
  2335  //    req, resp := client.DescribeDashboardRequest(params)
  2336  //
  2337  //    err := req.Send()
  2338  //    if err == nil { // resp is now filled
  2339  //        fmt.Println(resp)
  2340  //    }
  2341  //
  2342  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeDashboard
  2343  func (c *IoTSiteWise) DescribeDashboardRequest(input *DescribeDashboardInput) (req *request.Request, output *DescribeDashboardOutput) {
  2344  	op := &request.Operation{
  2345  		Name:       opDescribeDashboard,
  2346  		HTTPMethod: "GET",
  2347  		HTTPPath:   "/dashboards/{dashboardId}",
  2348  	}
  2349  
  2350  	if input == nil {
  2351  		input = &DescribeDashboardInput{}
  2352  	}
  2353  
  2354  	output = &DescribeDashboardOutput{}
  2355  	req = c.newRequest(op, input, output)
  2356  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
  2357  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  2358  	return
  2359  }
  2360  
  2361  // DescribeDashboard API operation for AWS IoT SiteWise.
  2362  //
  2363  // Retrieves information about a dashboard.
  2364  //
  2365  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2366  // with awserr.Error's Code and Message methods to get detailed information about
  2367  // the error.
  2368  //
  2369  // See the AWS API reference guide for AWS IoT SiteWise's
  2370  // API operation DescribeDashboard for usage and error information.
  2371  //
  2372  // Returned Error Types:
  2373  //   * InvalidRequestException
  2374  //   The request isn't valid. This can occur if your request contains malformed
  2375  //   JSON or unsupported characters. Check your request and try again.
  2376  //
  2377  //   * ResourceNotFoundException
  2378  //   The requested resource can't be found.
  2379  //
  2380  //   * InternalFailureException
  2381  //   IoT SiteWise can't process your request right now. Try again later.
  2382  //
  2383  //   * ThrottlingException
  2384  //   Your request exceeded a rate limit. For example, you might have exceeded
  2385  //   the number of IoT SiteWise assets that can be created per second, the allowed
  2386  //   number of messages per second, and so on.
  2387  //
  2388  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  2389  //   in the IoT SiteWise User Guide.
  2390  //
  2391  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeDashboard
  2392  func (c *IoTSiteWise) DescribeDashboard(input *DescribeDashboardInput) (*DescribeDashboardOutput, error) {
  2393  	req, out := c.DescribeDashboardRequest(input)
  2394  	return out, req.Send()
  2395  }
  2396  
  2397  // DescribeDashboardWithContext is the same as DescribeDashboard with the addition of
  2398  // the ability to pass a context and additional request options.
  2399  //
  2400  // See DescribeDashboard for details on how to use this API operation.
  2401  //
  2402  // The context must be non-nil and will be used for request cancellation. If
  2403  // the context is nil a panic will occur. In the future the SDK may create
  2404  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2405  // for more information on using Contexts.
  2406  func (c *IoTSiteWise) DescribeDashboardWithContext(ctx aws.Context, input *DescribeDashboardInput, opts ...request.Option) (*DescribeDashboardOutput, error) {
  2407  	req, out := c.DescribeDashboardRequest(input)
  2408  	req.SetContext(ctx)
  2409  	req.ApplyOptions(opts...)
  2410  	return out, req.Send()
  2411  }
  2412  
  2413  const opDescribeDefaultEncryptionConfiguration = "DescribeDefaultEncryptionConfiguration"
  2414  
  2415  // DescribeDefaultEncryptionConfigurationRequest generates a "aws/request.Request" representing the
  2416  // client's request for the DescribeDefaultEncryptionConfiguration operation. The "output" return
  2417  // value will be populated with the request's response once the request completes
  2418  // successfully.
  2419  //
  2420  // Use "Send" method on the returned Request to send the API call to the service.
  2421  // the "output" return value is not valid until after Send returns without error.
  2422  //
  2423  // See DescribeDefaultEncryptionConfiguration for more information on using the DescribeDefaultEncryptionConfiguration
  2424  // API call, and error handling.
  2425  //
  2426  // This method is useful when you want to inject custom logic or configuration
  2427  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2428  //
  2429  //
  2430  //    // Example sending a request using the DescribeDefaultEncryptionConfigurationRequest method.
  2431  //    req, resp := client.DescribeDefaultEncryptionConfigurationRequest(params)
  2432  //
  2433  //    err := req.Send()
  2434  //    if err == nil { // resp is now filled
  2435  //        fmt.Println(resp)
  2436  //    }
  2437  //
  2438  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeDefaultEncryptionConfiguration
  2439  func (c *IoTSiteWise) DescribeDefaultEncryptionConfigurationRequest(input *DescribeDefaultEncryptionConfigurationInput) (req *request.Request, output *DescribeDefaultEncryptionConfigurationOutput) {
  2440  	op := &request.Operation{
  2441  		Name:       opDescribeDefaultEncryptionConfiguration,
  2442  		HTTPMethod: "GET",
  2443  		HTTPPath:   "/configuration/account/encryption",
  2444  	}
  2445  
  2446  	if input == nil {
  2447  		input = &DescribeDefaultEncryptionConfigurationInput{}
  2448  	}
  2449  
  2450  	output = &DescribeDefaultEncryptionConfigurationOutput{}
  2451  	req = c.newRequest(op, input, output)
  2452  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  2453  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  2454  	return
  2455  }
  2456  
  2457  // DescribeDefaultEncryptionConfiguration API operation for AWS IoT SiteWise.
  2458  //
  2459  // Retrieves information about the default encryption configuration for the
  2460  // Amazon Web Services account in the default or specified Region. For more
  2461  // information, see Key management (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/key-management.html)
  2462  // in the IoT SiteWise User Guide.
  2463  //
  2464  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2465  // with awserr.Error's Code and Message methods to get detailed information about
  2466  // the error.
  2467  //
  2468  // See the AWS API reference guide for AWS IoT SiteWise's
  2469  // API operation DescribeDefaultEncryptionConfiguration for usage and error information.
  2470  //
  2471  // Returned Error Types:
  2472  //   * InvalidRequestException
  2473  //   The request isn't valid. This can occur if your request contains malformed
  2474  //   JSON or unsupported characters. Check your request and try again.
  2475  //
  2476  //   * InternalFailureException
  2477  //   IoT SiteWise can't process your request right now. Try again later.
  2478  //
  2479  //   * ThrottlingException
  2480  //   Your request exceeded a rate limit. For example, you might have exceeded
  2481  //   the number of IoT SiteWise assets that can be created per second, the allowed
  2482  //   number of messages per second, and so on.
  2483  //
  2484  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  2485  //   in the IoT SiteWise User Guide.
  2486  //
  2487  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeDefaultEncryptionConfiguration
  2488  func (c *IoTSiteWise) DescribeDefaultEncryptionConfiguration(input *DescribeDefaultEncryptionConfigurationInput) (*DescribeDefaultEncryptionConfigurationOutput, error) {
  2489  	req, out := c.DescribeDefaultEncryptionConfigurationRequest(input)
  2490  	return out, req.Send()
  2491  }
  2492  
  2493  // DescribeDefaultEncryptionConfigurationWithContext is the same as DescribeDefaultEncryptionConfiguration with the addition of
  2494  // the ability to pass a context and additional request options.
  2495  //
  2496  // See DescribeDefaultEncryptionConfiguration for details on how to use this API operation.
  2497  //
  2498  // The context must be non-nil and will be used for request cancellation. If
  2499  // the context is nil a panic will occur. In the future the SDK may create
  2500  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2501  // for more information on using Contexts.
  2502  func (c *IoTSiteWise) DescribeDefaultEncryptionConfigurationWithContext(ctx aws.Context, input *DescribeDefaultEncryptionConfigurationInput, opts ...request.Option) (*DescribeDefaultEncryptionConfigurationOutput, error) {
  2503  	req, out := c.DescribeDefaultEncryptionConfigurationRequest(input)
  2504  	req.SetContext(ctx)
  2505  	req.ApplyOptions(opts...)
  2506  	return out, req.Send()
  2507  }
  2508  
  2509  const opDescribeGateway = "DescribeGateway"
  2510  
  2511  // DescribeGatewayRequest generates a "aws/request.Request" representing the
  2512  // client's request for the DescribeGateway operation. The "output" return
  2513  // value will be populated with the request's response once the request completes
  2514  // successfully.
  2515  //
  2516  // Use "Send" method on the returned Request to send the API call to the service.
  2517  // the "output" return value is not valid until after Send returns without error.
  2518  //
  2519  // See DescribeGateway for more information on using the DescribeGateway
  2520  // API call, and error handling.
  2521  //
  2522  // This method is useful when you want to inject custom logic or configuration
  2523  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2524  //
  2525  //
  2526  //    // Example sending a request using the DescribeGatewayRequest method.
  2527  //    req, resp := client.DescribeGatewayRequest(params)
  2528  //
  2529  //    err := req.Send()
  2530  //    if err == nil { // resp is now filled
  2531  //        fmt.Println(resp)
  2532  //    }
  2533  //
  2534  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeGateway
  2535  func (c *IoTSiteWise) DescribeGatewayRequest(input *DescribeGatewayInput) (req *request.Request, output *DescribeGatewayOutput) {
  2536  	op := &request.Operation{
  2537  		Name:       opDescribeGateway,
  2538  		HTTPMethod: "GET",
  2539  		HTTPPath:   "/20200301/gateways/{gatewayId}",
  2540  	}
  2541  
  2542  	if input == nil {
  2543  		input = &DescribeGatewayInput{}
  2544  	}
  2545  
  2546  	output = &DescribeGatewayOutput{}
  2547  	req = c.newRequest(op, input, output)
  2548  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  2549  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  2550  	return
  2551  }
  2552  
  2553  // DescribeGateway API operation for AWS IoT SiteWise.
  2554  //
  2555  // Retrieves information about a gateway.
  2556  //
  2557  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2558  // with awserr.Error's Code and Message methods to get detailed information about
  2559  // the error.
  2560  //
  2561  // See the AWS API reference guide for AWS IoT SiteWise's
  2562  // API operation DescribeGateway for usage and error information.
  2563  //
  2564  // Returned Error Types:
  2565  //   * InvalidRequestException
  2566  //   The request isn't valid. This can occur if your request contains malformed
  2567  //   JSON or unsupported characters. Check your request and try again.
  2568  //
  2569  //   * ResourceNotFoundException
  2570  //   The requested resource can't be found.
  2571  //
  2572  //   * InternalFailureException
  2573  //   IoT SiteWise can't process your request right now. Try again later.
  2574  //
  2575  //   * ThrottlingException
  2576  //   Your request exceeded a rate limit. For example, you might have exceeded
  2577  //   the number of IoT SiteWise assets that can be created per second, the allowed
  2578  //   number of messages per second, and so on.
  2579  //
  2580  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  2581  //   in the IoT SiteWise User Guide.
  2582  //
  2583  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeGateway
  2584  func (c *IoTSiteWise) DescribeGateway(input *DescribeGatewayInput) (*DescribeGatewayOutput, error) {
  2585  	req, out := c.DescribeGatewayRequest(input)
  2586  	return out, req.Send()
  2587  }
  2588  
  2589  // DescribeGatewayWithContext is the same as DescribeGateway with the addition of
  2590  // the ability to pass a context and additional request options.
  2591  //
  2592  // See DescribeGateway for details on how to use this API operation.
  2593  //
  2594  // The context must be non-nil and will be used for request cancellation. If
  2595  // the context is nil a panic will occur. In the future the SDK may create
  2596  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2597  // for more information on using Contexts.
  2598  func (c *IoTSiteWise) DescribeGatewayWithContext(ctx aws.Context, input *DescribeGatewayInput, opts ...request.Option) (*DescribeGatewayOutput, error) {
  2599  	req, out := c.DescribeGatewayRequest(input)
  2600  	req.SetContext(ctx)
  2601  	req.ApplyOptions(opts...)
  2602  	return out, req.Send()
  2603  }
  2604  
  2605  const opDescribeGatewayCapabilityConfiguration = "DescribeGatewayCapabilityConfiguration"
  2606  
  2607  // DescribeGatewayCapabilityConfigurationRequest generates a "aws/request.Request" representing the
  2608  // client's request for the DescribeGatewayCapabilityConfiguration operation. The "output" return
  2609  // value will be populated with the request's response once the request completes
  2610  // successfully.
  2611  //
  2612  // Use "Send" method on the returned Request to send the API call to the service.
  2613  // the "output" return value is not valid until after Send returns without error.
  2614  //
  2615  // See DescribeGatewayCapabilityConfiguration for more information on using the DescribeGatewayCapabilityConfiguration
  2616  // API call, and error handling.
  2617  //
  2618  // This method is useful when you want to inject custom logic or configuration
  2619  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2620  //
  2621  //
  2622  //    // Example sending a request using the DescribeGatewayCapabilityConfigurationRequest method.
  2623  //    req, resp := client.DescribeGatewayCapabilityConfigurationRequest(params)
  2624  //
  2625  //    err := req.Send()
  2626  //    if err == nil { // resp is now filled
  2627  //        fmt.Println(resp)
  2628  //    }
  2629  //
  2630  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeGatewayCapabilityConfiguration
  2631  func (c *IoTSiteWise) DescribeGatewayCapabilityConfigurationRequest(input *DescribeGatewayCapabilityConfigurationInput) (req *request.Request, output *DescribeGatewayCapabilityConfigurationOutput) {
  2632  	op := &request.Operation{
  2633  		Name:       opDescribeGatewayCapabilityConfiguration,
  2634  		HTTPMethod: "GET",
  2635  		HTTPPath:   "/20200301/gateways/{gatewayId}/capability/{capabilityNamespace}",
  2636  	}
  2637  
  2638  	if input == nil {
  2639  		input = &DescribeGatewayCapabilityConfigurationInput{}
  2640  	}
  2641  
  2642  	output = &DescribeGatewayCapabilityConfigurationOutput{}
  2643  	req = c.newRequest(op, input, output)
  2644  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  2645  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  2646  	return
  2647  }
  2648  
  2649  // DescribeGatewayCapabilityConfiguration API operation for AWS IoT SiteWise.
  2650  //
  2651  // Retrieves information about a gateway capability configuration. Each gateway
  2652  // capability defines data sources for a gateway. A capability configuration
  2653  // can contain multiple data source configurations. If you define OPC-UA sources
  2654  // for a gateway in the IoT SiteWise console, all of your OPC-UA sources are
  2655  // stored in one capability configuration. To list all capability configurations
  2656  // for a gateway, use DescribeGateway (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGateway.html).
  2657  //
  2658  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2659  // with awserr.Error's Code and Message methods to get detailed information about
  2660  // the error.
  2661  //
  2662  // See the AWS API reference guide for AWS IoT SiteWise's
  2663  // API operation DescribeGatewayCapabilityConfiguration for usage and error information.
  2664  //
  2665  // Returned Error Types:
  2666  //   * InvalidRequestException
  2667  //   The request isn't valid. This can occur if your request contains malformed
  2668  //   JSON or unsupported characters. Check your request and try again.
  2669  //
  2670  //   * ResourceNotFoundException
  2671  //   The requested resource can't be found.
  2672  //
  2673  //   * InternalFailureException
  2674  //   IoT SiteWise can't process your request right now. Try again later.
  2675  //
  2676  //   * ThrottlingException
  2677  //   Your request exceeded a rate limit. For example, you might have exceeded
  2678  //   the number of IoT SiteWise assets that can be created per second, the allowed
  2679  //   number of messages per second, and so on.
  2680  //
  2681  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  2682  //   in the IoT SiteWise User Guide.
  2683  //
  2684  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeGatewayCapabilityConfiguration
  2685  func (c *IoTSiteWise) DescribeGatewayCapabilityConfiguration(input *DescribeGatewayCapabilityConfigurationInput) (*DescribeGatewayCapabilityConfigurationOutput, error) {
  2686  	req, out := c.DescribeGatewayCapabilityConfigurationRequest(input)
  2687  	return out, req.Send()
  2688  }
  2689  
  2690  // DescribeGatewayCapabilityConfigurationWithContext is the same as DescribeGatewayCapabilityConfiguration with the addition of
  2691  // the ability to pass a context and additional request options.
  2692  //
  2693  // See DescribeGatewayCapabilityConfiguration for details on how to use this API operation.
  2694  //
  2695  // The context must be non-nil and will be used for request cancellation. If
  2696  // the context is nil a panic will occur. In the future the SDK may create
  2697  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2698  // for more information on using Contexts.
  2699  func (c *IoTSiteWise) DescribeGatewayCapabilityConfigurationWithContext(ctx aws.Context, input *DescribeGatewayCapabilityConfigurationInput, opts ...request.Option) (*DescribeGatewayCapabilityConfigurationOutput, error) {
  2700  	req, out := c.DescribeGatewayCapabilityConfigurationRequest(input)
  2701  	req.SetContext(ctx)
  2702  	req.ApplyOptions(opts...)
  2703  	return out, req.Send()
  2704  }
  2705  
  2706  const opDescribeLoggingOptions = "DescribeLoggingOptions"
  2707  
  2708  // DescribeLoggingOptionsRequest generates a "aws/request.Request" representing the
  2709  // client's request for the DescribeLoggingOptions operation. The "output" return
  2710  // value will be populated with the request's response once the request completes
  2711  // successfully.
  2712  //
  2713  // Use "Send" method on the returned Request to send the API call to the service.
  2714  // the "output" return value is not valid until after Send returns without error.
  2715  //
  2716  // See DescribeLoggingOptions for more information on using the DescribeLoggingOptions
  2717  // API call, and error handling.
  2718  //
  2719  // This method is useful when you want to inject custom logic or configuration
  2720  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2721  //
  2722  //
  2723  //    // Example sending a request using the DescribeLoggingOptionsRequest method.
  2724  //    req, resp := client.DescribeLoggingOptionsRequest(params)
  2725  //
  2726  //    err := req.Send()
  2727  //    if err == nil { // resp is now filled
  2728  //        fmt.Println(resp)
  2729  //    }
  2730  //
  2731  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeLoggingOptions
  2732  func (c *IoTSiteWise) DescribeLoggingOptionsRequest(input *DescribeLoggingOptionsInput) (req *request.Request, output *DescribeLoggingOptionsOutput) {
  2733  	op := &request.Operation{
  2734  		Name:       opDescribeLoggingOptions,
  2735  		HTTPMethod: "GET",
  2736  		HTTPPath:   "/logging",
  2737  	}
  2738  
  2739  	if input == nil {
  2740  		input = &DescribeLoggingOptionsInput{}
  2741  	}
  2742  
  2743  	output = &DescribeLoggingOptionsOutput{}
  2744  	req = c.newRequest(op, input, output)
  2745  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  2746  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  2747  	return
  2748  }
  2749  
  2750  // DescribeLoggingOptions API operation for AWS IoT SiteWise.
  2751  //
  2752  // Retrieves the current IoT SiteWise logging options.
  2753  //
  2754  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2755  // with awserr.Error's Code and Message methods to get detailed information about
  2756  // the error.
  2757  //
  2758  // See the AWS API reference guide for AWS IoT SiteWise's
  2759  // API operation DescribeLoggingOptions for usage and error information.
  2760  //
  2761  // Returned Error Types:
  2762  //   * InvalidRequestException
  2763  //   The request isn't valid. This can occur if your request contains malformed
  2764  //   JSON or unsupported characters. Check your request and try again.
  2765  //
  2766  //   * ThrottlingException
  2767  //   Your request exceeded a rate limit. For example, you might have exceeded
  2768  //   the number of IoT SiteWise assets that can be created per second, the allowed
  2769  //   number of messages per second, and so on.
  2770  //
  2771  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  2772  //   in the IoT SiteWise User Guide.
  2773  //
  2774  //   * InternalFailureException
  2775  //   IoT SiteWise can't process your request right now. Try again later.
  2776  //
  2777  //   * ResourceNotFoundException
  2778  //   The requested resource can't be found.
  2779  //
  2780  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeLoggingOptions
  2781  func (c *IoTSiteWise) DescribeLoggingOptions(input *DescribeLoggingOptionsInput) (*DescribeLoggingOptionsOutput, error) {
  2782  	req, out := c.DescribeLoggingOptionsRequest(input)
  2783  	return out, req.Send()
  2784  }
  2785  
  2786  // DescribeLoggingOptionsWithContext is the same as DescribeLoggingOptions with the addition of
  2787  // the ability to pass a context and additional request options.
  2788  //
  2789  // See DescribeLoggingOptions for details on how to use this API operation.
  2790  //
  2791  // The context must be non-nil and will be used for request cancellation. If
  2792  // the context is nil a panic will occur. In the future the SDK may create
  2793  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2794  // for more information on using Contexts.
  2795  func (c *IoTSiteWise) DescribeLoggingOptionsWithContext(ctx aws.Context, input *DescribeLoggingOptionsInput, opts ...request.Option) (*DescribeLoggingOptionsOutput, error) {
  2796  	req, out := c.DescribeLoggingOptionsRequest(input)
  2797  	req.SetContext(ctx)
  2798  	req.ApplyOptions(opts...)
  2799  	return out, req.Send()
  2800  }
  2801  
  2802  const opDescribePortal = "DescribePortal"
  2803  
  2804  // DescribePortalRequest generates a "aws/request.Request" representing the
  2805  // client's request for the DescribePortal operation. The "output" return
  2806  // value will be populated with the request's response once the request completes
  2807  // successfully.
  2808  //
  2809  // Use "Send" method on the returned Request to send the API call to the service.
  2810  // the "output" return value is not valid until after Send returns without error.
  2811  //
  2812  // See DescribePortal for more information on using the DescribePortal
  2813  // API call, and error handling.
  2814  //
  2815  // This method is useful when you want to inject custom logic or configuration
  2816  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2817  //
  2818  //
  2819  //    // Example sending a request using the DescribePortalRequest method.
  2820  //    req, resp := client.DescribePortalRequest(params)
  2821  //
  2822  //    err := req.Send()
  2823  //    if err == nil { // resp is now filled
  2824  //        fmt.Println(resp)
  2825  //    }
  2826  //
  2827  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribePortal
  2828  func (c *IoTSiteWise) DescribePortalRequest(input *DescribePortalInput) (req *request.Request, output *DescribePortalOutput) {
  2829  	op := &request.Operation{
  2830  		Name:       opDescribePortal,
  2831  		HTTPMethod: "GET",
  2832  		HTTPPath:   "/portals/{portalId}",
  2833  	}
  2834  
  2835  	if input == nil {
  2836  		input = &DescribePortalInput{}
  2837  	}
  2838  
  2839  	output = &DescribePortalOutput{}
  2840  	req = c.newRequest(op, input, output)
  2841  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
  2842  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  2843  	return
  2844  }
  2845  
  2846  // DescribePortal API operation for AWS IoT SiteWise.
  2847  //
  2848  // Retrieves information about a portal.
  2849  //
  2850  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2851  // with awserr.Error's Code and Message methods to get detailed information about
  2852  // the error.
  2853  //
  2854  // See the AWS API reference guide for AWS IoT SiteWise's
  2855  // API operation DescribePortal for usage and error information.
  2856  //
  2857  // Returned Error Types:
  2858  //   * InvalidRequestException
  2859  //   The request isn't valid. This can occur if your request contains malformed
  2860  //   JSON or unsupported characters. Check your request and try again.
  2861  //
  2862  //   * ResourceNotFoundException
  2863  //   The requested resource can't be found.
  2864  //
  2865  //   * InternalFailureException
  2866  //   IoT SiteWise can't process your request right now. Try again later.
  2867  //
  2868  //   * ThrottlingException
  2869  //   Your request exceeded a rate limit. For example, you might have exceeded
  2870  //   the number of IoT SiteWise assets that can be created per second, the allowed
  2871  //   number of messages per second, and so on.
  2872  //
  2873  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  2874  //   in the IoT SiteWise User Guide.
  2875  //
  2876  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribePortal
  2877  func (c *IoTSiteWise) DescribePortal(input *DescribePortalInput) (*DescribePortalOutput, error) {
  2878  	req, out := c.DescribePortalRequest(input)
  2879  	return out, req.Send()
  2880  }
  2881  
  2882  // DescribePortalWithContext is the same as DescribePortal with the addition of
  2883  // the ability to pass a context and additional request options.
  2884  //
  2885  // See DescribePortal for details on how to use this API operation.
  2886  //
  2887  // The context must be non-nil and will be used for request cancellation. If
  2888  // the context is nil a panic will occur. In the future the SDK may create
  2889  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2890  // for more information on using Contexts.
  2891  func (c *IoTSiteWise) DescribePortalWithContext(ctx aws.Context, input *DescribePortalInput, opts ...request.Option) (*DescribePortalOutput, error) {
  2892  	req, out := c.DescribePortalRequest(input)
  2893  	req.SetContext(ctx)
  2894  	req.ApplyOptions(opts...)
  2895  	return out, req.Send()
  2896  }
  2897  
  2898  const opDescribeProject = "DescribeProject"
  2899  
  2900  // DescribeProjectRequest generates a "aws/request.Request" representing the
  2901  // client's request for the DescribeProject operation. The "output" return
  2902  // value will be populated with the request's response once the request completes
  2903  // successfully.
  2904  //
  2905  // Use "Send" method on the returned Request to send the API call to the service.
  2906  // the "output" return value is not valid until after Send returns without error.
  2907  //
  2908  // See DescribeProject for more information on using the DescribeProject
  2909  // API call, and error handling.
  2910  //
  2911  // This method is useful when you want to inject custom logic or configuration
  2912  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2913  //
  2914  //
  2915  //    // Example sending a request using the DescribeProjectRequest method.
  2916  //    req, resp := client.DescribeProjectRequest(params)
  2917  //
  2918  //    err := req.Send()
  2919  //    if err == nil { // resp is now filled
  2920  //        fmt.Println(resp)
  2921  //    }
  2922  //
  2923  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeProject
  2924  func (c *IoTSiteWise) DescribeProjectRequest(input *DescribeProjectInput) (req *request.Request, output *DescribeProjectOutput) {
  2925  	op := &request.Operation{
  2926  		Name:       opDescribeProject,
  2927  		HTTPMethod: "GET",
  2928  		HTTPPath:   "/projects/{projectId}",
  2929  	}
  2930  
  2931  	if input == nil {
  2932  		input = &DescribeProjectInput{}
  2933  	}
  2934  
  2935  	output = &DescribeProjectOutput{}
  2936  	req = c.newRequest(op, input, output)
  2937  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
  2938  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  2939  	return
  2940  }
  2941  
  2942  // DescribeProject API operation for AWS IoT SiteWise.
  2943  //
  2944  // Retrieves information about a project.
  2945  //
  2946  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2947  // with awserr.Error's Code and Message methods to get detailed information about
  2948  // the error.
  2949  //
  2950  // See the AWS API reference guide for AWS IoT SiteWise's
  2951  // API operation DescribeProject for usage and error information.
  2952  //
  2953  // Returned Error Types:
  2954  //   * InvalidRequestException
  2955  //   The request isn't valid. This can occur if your request contains malformed
  2956  //   JSON or unsupported characters. Check your request and try again.
  2957  //
  2958  //   * ResourceNotFoundException
  2959  //   The requested resource can't be found.
  2960  //
  2961  //   * InternalFailureException
  2962  //   IoT SiteWise can't process your request right now. Try again later.
  2963  //
  2964  //   * ThrottlingException
  2965  //   Your request exceeded a rate limit. For example, you might have exceeded
  2966  //   the number of IoT SiteWise assets that can be created per second, the allowed
  2967  //   number of messages per second, and so on.
  2968  //
  2969  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  2970  //   in the IoT SiteWise User Guide.
  2971  //
  2972  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeProject
  2973  func (c *IoTSiteWise) DescribeProject(input *DescribeProjectInput) (*DescribeProjectOutput, error) {
  2974  	req, out := c.DescribeProjectRequest(input)
  2975  	return out, req.Send()
  2976  }
  2977  
  2978  // DescribeProjectWithContext is the same as DescribeProject with the addition of
  2979  // the ability to pass a context and additional request options.
  2980  //
  2981  // See DescribeProject for details on how to use this API operation.
  2982  //
  2983  // The context must be non-nil and will be used for request cancellation. If
  2984  // the context is nil a panic will occur. In the future the SDK may create
  2985  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2986  // for more information on using Contexts.
  2987  func (c *IoTSiteWise) DescribeProjectWithContext(ctx aws.Context, input *DescribeProjectInput, opts ...request.Option) (*DescribeProjectOutput, error) {
  2988  	req, out := c.DescribeProjectRequest(input)
  2989  	req.SetContext(ctx)
  2990  	req.ApplyOptions(opts...)
  2991  	return out, req.Send()
  2992  }
  2993  
  2994  const opDescribeStorageConfiguration = "DescribeStorageConfiguration"
  2995  
  2996  // DescribeStorageConfigurationRequest generates a "aws/request.Request" representing the
  2997  // client's request for the DescribeStorageConfiguration operation. The "output" return
  2998  // value will be populated with the request's response once the request completes
  2999  // successfully.
  3000  //
  3001  // Use "Send" method on the returned Request to send the API call to the service.
  3002  // the "output" return value is not valid until after Send returns without error.
  3003  //
  3004  // See DescribeStorageConfiguration for more information on using the DescribeStorageConfiguration
  3005  // API call, and error handling.
  3006  //
  3007  // This method is useful when you want to inject custom logic or configuration
  3008  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3009  //
  3010  //
  3011  //    // Example sending a request using the DescribeStorageConfigurationRequest method.
  3012  //    req, resp := client.DescribeStorageConfigurationRequest(params)
  3013  //
  3014  //    err := req.Send()
  3015  //    if err == nil { // resp is now filled
  3016  //        fmt.Println(resp)
  3017  //    }
  3018  //
  3019  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeStorageConfiguration
  3020  func (c *IoTSiteWise) DescribeStorageConfigurationRequest(input *DescribeStorageConfigurationInput) (req *request.Request, output *DescribeStorageConfigurationOutput) {
  3021  	op := &request.Operation{
  3022  		Name:       opDescribeStorageConfiguration,
  3023  		HTTPMethod: "GET",
  3024  		HTTPPath:   "/configuration/account/storage",
  3025  	}
  3026  
  3027  	if input == nil {
  3028  		input = &DescribeStorageConfigurationInput{}
  3029  	}
  3030  
  3031  	output = &DescribeStorageConfigurationOutput{}
  3032  	req = c.newRequest(op, input, output)
  3033  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  3034  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  3035  	return
  3036  }
  3037  
  3038  // DescribeStorageConfiguration API operation for AWS IoT SiteWise.
  3039  //
  3040  // Retrieves information about the storage configuration for IoT SiteWise.
  3041  //
  3042  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3043  // with awserr.Error's Code and Message methods to get detailed information about
  3044  // the error.
  3045  //
  3046  // See the AWS API reference guide for AWS IoT SiteWise's
  3047  // API operation DescribeStorageConfiguration for usage and error information.
  3048  //
  3049  // Returned Error Types:
  3050  //   * InvalidRequestException
  3051  //   The request isn't valid. This can occur if your request contains malformed
  3052  //   JSON or unsupported characters. Check your request and try again.
  3053  //
  3054  //   * ResourceNotFoundException
  3055  //   The requested resource can't be found.
  3056  //
  3057  //   * InternalFailureException
  3058  //   IoT SiteWise can't process your request right now. Try again later.
  3059  //
  3060  //   * ThrottlingException
  3061  //   Your request exceeded a rate limit. For example, you might have exceeded
  3062  //   the number of IoT SiteWise assets that can be created per second, the allowed
  3063  //   number of messages per second, and so on.
  3064  //
  3065  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  3066  //   in the IoT SiteWise User Guide.
  3067  //
  3068  //   * LimitExceededException
  3069  //   You've reached the limit for a resource. For example, this can occur if you're
  3070  //   trying to associate more than the allowed number of child assets or attempting
  3071  //   to create more than the allowed number of properties for an asset model.
  3072  //
  3073  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  3074  //   in the IoT SiteWise User Guide.
  3075  //
  3076  //   * ConflictingOperationException
  3077  //   Your request has conflicting operations. This can occur if you're trying
  3078  //   to perform more than one operation on the same resource at the same time.
  3079  //
  3080  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeStorageConfiguration
  3081  func (c *IoTSiteWise) DescribeStorageConfiguration(input *DescribeStorageConfigurationInput) (*DescribeStorageConfigurationOutput, error) {
  3082  	req, out := c.DescribeStorageConfigurationRequest(input)
  3083  	return out, req.Send()
  3084  }
  3085  
  3086  // DescribeStorageConfigurationWithContext is the same as DescribeStorageConfiguration with the addition of
  3087  // the ability to pass a context and additional request options.
  3088  //
  3089  // See DescribeStorageConfiguration for details on how to use this API operation.
  3090  //
  3091  // The context must be non-nil and will be used for request cancellation. If
  3092  // the context is nil a panic will occur. In the future the SDK may create
  3093  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3094  // for more information on using Contexts.
  3095  func (c *IoTSiteWise) DescribeStorageConfigurationWithContext(ctx aws.Context, input *DescribeStorageConfigurationInput, opts ...request.Option) (*DescribeStorageConfigurationOutput, error) {
  3096  	req, out := c.DescribeStorageConfigurationRequest(input)
  3097  	req.SetContext(ctx)
  3098  	req.ApplyOptions(opts...)
  3099  	return out, req.Send()
  3100  }
  3101  
  3102  const opDisassociateAssets = "DisassociateAssets"
  3103  
  3104  // DisassociateAssetsRequest generates a "aws/request.Request" representing the
  3105  // client's request for the DisassociateAssets operation. The "output" return
  3106  // value will be populated with the request's response once the request completes
  3107  // successfully.
  3108  //
  3109  // Use "Send" method on the returned Request to send the API call to the service.
  3110  // the "output" return value is not valid until after Send returns without error.
  3111  //
  3112  // See DisassociateAssets for more information on using the DisassociateAssets
  3113  // API call, and error handling.
  3114  //
  3115  // This method is useful when you want to inject custom logic or configuration
  3116  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3117  //
  3118  //
  3119  //    // Example sending a request using the DisassociateAssetsRequest method.
  3120  //    req, resp := client.DisassociateAssetsRequest(params)
  3121  //
  3122  //    err := req.Send()
  3123  //    if err == nil { // resp is now filled
  3124  //        fmt.Println(resp)
  3125  //    }
  3126  //
  3127  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DisassociateAssets
  3128  func (c *IoTSiteWise) DisassociateAssetsRequest(input *DisassociateAssetsInput) (req *request.Request, output *DisassociateAssetsOutput) {
  3129  	op := &request.Operation{
  3130  		Name:       opDisassociateAssets,
  3131  		HTTPMethod: "POST",
  3132  		HTTPPath:   "/assets/{assetId}/disassociate",
  3133  	}
  3134  
  3135  	if input == nil {
  3136  		input = &DisassociateAssetsInput{}
  3137  	}
  3138  
  3139  	output = &DisassociateAssetsOutput{}
  3140  	req = c.newRequest(op, input, output)
  3141  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3142  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  3143  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  3144  	return
  3145  }
  3146  
  3147  // DisassociateAssets API operation for AWS IoT SiteWise.
  3148  //
  3149  // Disassociates a child asset from the given parent asset through a hierarchy
  3150  // defined in the parent asset's model.
  3151  //
  3152  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3153  // with awserr.Error's Code and Message methods to get detailed information about
  3154  // the error.
  3155  //
  3156  // See the AWS API reference guide for AWS IoT SiteWise's
  3157  // API operation DisassociateAssets for usage and error information.
  3158  //
  3159  // Returned Error Types:
  3160  //   * InvalidRequestException
  3161  //   The request isn't valid. This can occur if your request contains malformed
  3162  //   JSON or unsupported characters. Check your request and try again.
  3163  //
  3164  //   * ResourceNotFoundException
  3165  //   The requested resource can't be found.
  3166  //
  3167  //   * InternalFailureException
  3168  //   IoT SiteWise can't process your request right now. Try again later.
  3169  //
  3170  //   * ThrottlingException
  3171  //   Your request exceeded a rate limit. For example, you might have exceeded
  3172  //   the number of IoT SiteWise assets that can be created per second, the allowed
  3173  //   number of messages per second, and so on.
  3174  //
  3175  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  3176  //   in the IoT SiteWise User Guide.
  3177  //
  3178  //   * ConflictingOperationException
  3179  //   Your request has conflicting operations. This can occur if you're trying
  3180  //   to perform more than one operation on the same resource at the same time.
  3181  //
  3182  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DisassociateAssets
  3183  func (c *IoTSiteWise) DisassociateAssets(input *DisassociateAssetsInput) (*DisassociateAssetsOutput, error) {
  3184  	req, out := c.DisassociateAssetsRequest(input)
  3185  	return out, req.Send()
  3186  }
  3187  
  3188  // DisassociateAssetsWithContext is the same as DisassociateAssets with the addition of
  3189  // the ability to pass a context and additional request options.
  3190  //
  3191  // See DisassociateAssets for details on how to use this API operation.
  3192  //
  3193  // The context must be non-nil and will be used for request cancellation. If
  3194  // the context is nil a panic will occur. In the future the SDK may create
  3195  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3196  // for more information on using Contexts.
  3197  func (c *IoTSiteWise) DisassociateAssetsWithContext(ctx aws.Context, input *DisassociateAssetsInput, opts ...request.Option) (*DisassociateAssetsOutput, error) {
  3198  	req, out := c.DisassociateAssetsRequest(input)
  3199  	req.SetContext(ctx)
  3200  	req.ApplyOptions(opts...)
  3201  	return out, req.Send()
  3202  }
  3203  
  3204  const opGetAssetPropertyAggregates = "GetAssetPropertyAggregates"
  3205  
  3206  // GetAssetPropertyAggregatesRequest generates a "aws/request.Request" representing the
  3207  // client's request for the GetAssetPropertyAggregates operation. The "output" return
  3208  // value will be populated with the request's response once the request completes
  3209  // successfully.
  3210  //
  3211  // Use "Send" method on the returned Request to send the API call to the service.
  3212  // the "output" return value is not valid until after Send returns without error.
  3213  //
  3214  // See GetAssetPropertyAggregates for more information on using the GetAssetPropertyAggregates
  3215  // API call, and error handling.
  3216  //
  3217  // This method is useful when you want to inject custom logic or configuration
  3218  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3219  //
  3220  //
  3221  //    // Example sending a request using the GetAssetPropertyAggregatesRequest method.
  3222  //    req, resp := client.GetAssetPropertyAggregatesRequest(params)
  3223  //
  3224  //    err := req.Send()
  3225  //    if err == nil { // resp is now filled
  3226  //        fmt.Println(resp)
  3227  //    }
  3228  //
  3229  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetAssetPropertyAggregates
  3230  func (c *IoTSiteWise) GetAssetPropertyAggregatesRequest(input *GetAssetPropertyAggregatesInput) (req *request.Request, output *GetAssetPropertyAggregatesOutput) {
  3231  	op := &request.Operation{
  3232  		Name:       opGetAssetPropertyAggregates,
  3233  		HTTPMethod: "GET",
  3234  		HTTPPath:   "/properties/aggregates",
  3235  		Paginator: &request.Paginator{
  3236  			InputTokens:     []string{"nextToken"},
  3237  			OutputTokens:    []string{"nextToken"},
  3238  			LimitToken:      "maxResults",
  3239  			TruncationToken: "",
  3240  		},
  3241  	}
  3242  
  3243  	if input == nil {
  3244  		input = &GetAssetPropertyAggregatesInput{}
  3245  	}
  3246  
  3247  	output = &GetAssetPropertyAggregatesOutput{}
  3248  	req = c.newRequest(op, input, output)
  3249  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data.", nil))
  3250  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  3251  	return
  3252  }
  3253  
  3254  // GetAssetPropertyAggregates API operation for AWS IoT SiteWise.
  3255  //
  3256  // Gets aggregated values for an asset property. For more information, see Querying
  3257  // aggregates (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/query-industrial-data.html#aggregates)
  3258  // in the IoT SiteWise User Guide.
  3259  //
  3260  // To identify an asset property, you must specify one of the following:
  3261  //
  3262  //    * The assetId and propertyId of an asset property.
  3263  //
  3264  //    * A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature).
  3265  //    To define an asset property's alias, see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html).
  3266  //
  3267  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3268  // with awserr.Error's Code and Message methods to get detailed information about
  3269  // the error.
  3270  //
  3271  // See the AWS API reference guide for AWS IoT SiteWise's
  3272  // API operation GetAssetPropertyAggregates for usage and error information.
  3273  //
  3274  // Returned Error Types:
  3275  //   * InvalidRequestException
  3276  //   The request isn't valid. This can occur if your request contains malformed
  3277  //   JSON or unsupported characters. Check your request and try again.
  3278  //
  3279  //   * ResourceNotFoundException
  3280  //   The requested resource can't be found.
  3281  //
  3282  //   * InternalFailureException
  3283  //   IoT SiteWise can't process your request right now. Try again later.
  3284  //
  3285  //   * ThrottlingException
  3286  //   Your request exceeded a rate limit. For example, you might have exceeded
  3287  //   the number of IoT SiteWise assets that can be created per second, the allowed
  3288  //   number of messages per second, and so on.
  3289  //
  3290  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  3291  //   in the IoT SiteWise User Guide.
  3292  //
  3293  //   * ServiceUnavailableException
  3294  //   The requested service is unavailable.
  3295  //
  3296  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetAssetPropertyAggregates
  3297  func (c *IoTSiteWise) GetAssetPropertyAggregates(input *GetAssetPropertyAggregatesInput) (*GetAssetPropertyAggregatesOutput, error) {
  3298  	req, out := c.GetAssetPropertyAggregatesRequest(input)
  3299  	return out, req.Send()
  3300  }
  3301  
  3302  // GetAssetPropertyAggregatesWithContext is the same as GetAssetPropertyAggregates with the addition of
  3303  // the ability to pass a context and additional request options.
  3304  //
  3305  // See GetAssetPropertyAggregates for details on how to use this API operation.
  3306  //
  3307  // The context must be non-nil and will be used for request cancellation. If
  3308  // the context is nil a panic will occur. In the future the SDK may create
  3309  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3310  // for more information on using Contexts.
  3311  func (c *IoTSiteWise) GetAssetPropertyAggregatesWithContext(ctx aws.Context, input *GetAssetPropertyAggregatesInput, opts ...request.Option) (*GetAssetPropertyAggregatesOutput, error) {
  3312  	req, out := c.GetAssetPropertyAggregatesRequest(input)
  3313  	req.SetContext(ctx)
  3314  	req.ApplyOptions(opts...)
  3315  	return out, req.Send()
  3316  }
  3317  
  3318  // GetAssetPropertyAggregatesPages iterates over the pages of a GetAssetPropertyAggregates operation,
  3319  // calling the "fn" function with the response data for each page. To stop
  3320  // iterating, return false from the fn function.
  3321  //
  3322  // See GetAssetPropertyAggregates method for more information on how to use this operation.
  3323  //
  3324  // Note: This operation can generate multiple requests to a service.
  3325  //
  3326  //    // Example iterating over at most 3 pages of a GetAssetPropertyAggregates operation.
  3327  //    pageNum := 0
  3328  //    err := client.GetAssetPropertyAggregatesPages(params,
  3329  //        func(page *iotsitewise.GetAssetPropertyAggregatesOutput, lastPage bool) bool {
  3330  //            pageNum++
  3331  //            fmt.Println(page)
  3332  //            return pageNum <= 3
  3333  //        })
  3334  //
  3335  func (c *IoTSiteWise) GetAssetPropertyAggregatesPages(input *GetAssetPropertyAggregatesInput, fn func(*GetAssetPropertyAggregatesOutput, bool) bool) error {
  3336  	return c.GetAssetPropertyAggregatesPagesWithContext(aws.BackgroundContext(), input, fn)
  3337  }
  3338  
  3339  // GetAssetPropertyAggregatesPagesWithContext same as GetAssetPropertyAggregatesPages except
  3340  // it takes a Context and allows setting request options on the pages.
  3341  //
  3342  // The context must be non-nil and will be used for request cancellation. If
  3343  // the context is nil a panic will occur. In the future the SDK may create
  3344  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3345  // for more information on using Contexts.
  3346  func (c *IoTSiteWise) GetAssetPropertyAggregatesPagesWithContext(ctx aws.Context, input *GetAssetPropertyAggregatesInput, fn func(*GetAssetPropertyAggregatesOutput, bool) bool, opts ...request.Option) error {
  3347  	p := request.Pagination{
  3348  		NewRequest: func() (*request.Request, error) {
  3349  			var inCpy *GetAssetPropertyAggregatesInput
  3350  			if input != nil {
  3351  				tmp := *input
  3352  				inCpy = &tmp
  3353  			}
  3354  			req, _ := c.GetAssetPropertyAggregatesRequest(inCpy)
  3355  			req.SetContext(ctx)
  3356  			req.ApplyOptions(opts...)
  3357  			return req, nil
  3358  		},
  3359  	}
  3360  
  3361  	for p.Next() {
  3362  		if !fn(p.Page().(*GetAssetPropertyAggregatesOutput), !p.HasNextPage()) {
  3363  			break
  3364  		}
  3365  	}
  3366  
  3367  	return p.Err()
  3368  }
  3369  
  3370  const opGetAssetPropertyValue = "GetAssetPropertyValue"
  3371  
  3372  // GetAssetPropertyValueRequest generates a "aws/request.Request" representing the
  3373  // client's request for the GetAssetPropertyValue operation. The "output" return
  3374  // value will be populated with the request's response once the request completes
  3375  // successfully.
  3376  //
  3377  // Use "Send" method on the returned Request to send the API call to the service.
  3378  // the "output" return value is not valid until after Send returns without error.
  3379  //
  3380  // See GetAssetPropertyValue for more information on using the GetAssetPropertyValue
  3381  // API call, and error handling.
  3382  //
  3383  // This method is useful when you want to inject custom logic or configuration
  3384  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3385  //
  3386  //
  3387  //    // Example sending a request using the GetAssetPropertyValueRequest method.
  3388  //    req, resp := client.GetAssetPropertyValueRequest(params)
  3389  //
  3390  //    err := req.Send()
  3391  //    if err == nil { // resp is now filled
  3392  //        fmt.Println(resp)
  3393  //    }
  3394  //
  3395  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetAssetPropertyValue
  3396  func (c *IoTSiteWise) GetAssetPropertyValueRequest(input *GetAssetPropertyValueInput) (req *request.Request, output *GetAssetPropertyValueOutput) {
  3397  	op := &request.Operation{
  3398  		Name:       opGetAssetPropertyValue,
  3399  		HTTPMethod: "GET",
  3400  		HTTPPath:   "/properties/latest",
  3401  	}
  3402  
  3403  	if input == nil {
  3404  		input = &GetAssetPropertyValueInput{}
  3405  	}
  3406  
  3407  	output = &GetAssetPropertyValueOutput{}
  3408  	req = c.newRequest(op, input, output)
  3409  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data.", nil))
  3410  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  3411  	return
  3412  }
  3413  
  3414  // GetAssetPropertyValue API operation for AWS IoT SiteWise.
  3415  //
  3416  // Gets an asset property's current value. For more information, see Querying
  3417  // current values (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/query-industrial-data.html#current-values)
  3418  // in the IoT SiteWise User Guide.
  3419  //
  3420  // To identify an asset property, you must specify one of the following:
  3421  //
  3422  //    * The assetId and propertyId of an asset property.
  3423  //
  3424  //    * A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature).
  3425  //    To define an asset property's alias, see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html).
  3426  //
  3427  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3428  // with awserr.Error's Code and Message methods to get detailed information about
  3429  // the error.
  3430  //
  3431  // See the AWS API reference guide for AWS IoT SiteWise's
  3432  // API operation GetAssetPropertyValue for usage and error information.
  3433  //
  3434  // Returned Error Types:
  3435  //   * InvalidRequestException
  3436  //   The request isn't valid. This can occur if your request contains malformed
  3437  //   JSON or unsupported characters. Check your request and try again.
  3438  //
  3439  //   * ResourceNotFoundException
  3440  //   The requested resource can't be found.
  3441  //
  3442  //   * InternalFailureException
  3443  //   IoT SiteWise can't process your request right now. Try again later.
  3444  //
  3445  //   * ThrottlingException
  3446  //   Your request exceeded a rate limit. For example, you might have exceeded
  3447  //   the number of IoT SiteWise assets that can be created per second, the allowed
  3448  //   number of messages per second, and so on.
  3449  //
  3450  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  3451  //   in the IoT SiteWise User Guide.
  3452  //
  3453  //   * ServiceUnavailableException
  3454  //   The requested service is unavailable.
  3455  //
  3456  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetAssetPropertyValue
  3457  func (c *IoTSiteWise) GetAssetPropertyValue(input *GetAssetPropertyValueInput) (*GetAssetPropertyValueOutput, error) {
  3458  	req, out := c.GetAssetPropertyValueRequest(input)
  3459  	return out, req.Send()
  3460  }
  3461  
  3462  // GetAssetPropertyValueWithContext is the same as GetAssetPropertyValue with the addition of
  3463  // the ability to pass a context and additional request options.
  3464  //
  3465  // See GetAssetPropertyValue for details on how to use this API operation.
  3466  //
  3467  // The context must be non-nil and will be used for request cancellation. If
  3468  // the context is nil a panic will occur. In the future the SDK may create
  3469  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3470  // for more information on using Contexts.
  3471  func (c *IoTSiteWise) GetAssetPropertyValueWithContext(ctx aws.Context, input *GetAssetPropertyValueInput, opts ...request.Option) (*GetAssetPropertyValueOutput, error) {
  3472  	req, out := c.GetAssetPropertyValueRequest(input)
  3473  	req.SetContext(ctx)
  3474  	req.ApplyOptions(opts...)
  3475  	return out, req.Send()
  3476  }
  3477  
  3478  const opGetAssetPropertyValueHistory = "GetAssetPropertyValueHistory"
  3479  
  3480  // GetAssetPropertyValueHistoryRequest generates a "aws/request.Request" representing the
  3481  // client's request for the GetAssetPropertyValueHistory operation. The "output" return
  3482  // value will be populated with the request's response once the request completes
  3483  // successfully.
  3484  //
  3485  // Use "Send" method on the returned Request to send the API call to the service.
  3486  // the "output" return value is not valid until after Send returns without error.
  3487  //
  3488  // See GetAssetPropertyValueHistory for more information on using the GetAssetPropertyValueHistory
  3489  // API call, and error handling.
  3490  //
  3491  // This method is useful when you want to inject custom logic or configuration
  3492  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3493  //
  3494  //
  3495  //    // Example sending a request using the GetAssetPropertyValueHistoryRequest method.
  3496  //    req, resp := client.GetAssetPropertyValueHistoryRequest(params)
  3497  //
  3498  //    err := req.Send()
  3499  //    if err == nil { // resp is now filled
  3500  //        fmt.Println(resp)
  3501  //    }
  3502  //
  3503  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetAssetPropertyValueHistory
  3504  func (c *IoTSiteWise) GetAssetPropertyValueHistoryRequest(input *GetAssetPropertyValueHistoryInput) (req *request.Request, output *GetAssetPropertyValueHistoryOutput) {
  3505  	op := &request.Operation{
  3506  		Name:       opGetAssetPropertyValueHistory,
  3507  		HTTPMethod: "GET",
  3508  		HTTPPath:   "/properties/history",
  3509  		Paginator: &request.Paginator{
  3510  			InputTokens:     []string{"nextToken"},
  3511  			OutputTokens:    []string{"nextToken"},
  3512  			LimitToken:      "maxResults",
  3513  			TruncationToken: "",
  3514  		},
  3515  	}
  3516  
  3517  	if input == nil {
  3518  		input = &GetAssetPropertyValueHistoryInput{}
  3519  	}
  3520  
  3521  	output = &GetAssetPropertyValueHistoryOutput{}
  3522  	req = c.newRequest(op, input, output)
  3523  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data.", nil))
  3524  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  3525  	return
  3526  }
  3527  
  3528  // GetAssetPropertyValueHistory API operation for AWS IoT SiteWise.
  3529  //
  3530  // Gets the history of an asset property's values. For more information, see
  3531  // Querying historical values (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/query-industrial-data.html#historical-values)
  3532  // in the IoT SiteWise User Guide.
  3533  //
  3534  // To identify an asset property, you must specify one of the following:
  3535  //
  3536  //    * The assetId and propertyId of an asset property.
  3537  //
  3538  //    * A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature).
  3539  //    To define an asset property's alias, see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html).
  3540  //
  3541  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3542  // with awserr.Error's Code and Message methods to get detailed information about
  3543  // the error.
  3544  //
  3545  // See the AWS API reference guide for AWS IoT SiteWise's
  3546  // API operation GetAssetPropertyValueHistory for usage and error information.
  3547  //
  3548  // Returned Error Types:
  3549  //   * InvalidRequestException
  3550  //   The request isn't valid. This can occur if your request contains malformed
  3551  //   JSON or unsupported characters. Check your request and try again.
  3552  //
  3553  //   * ResourceNotFoundException
  3554  //   The requested resource can't be found.
  3555  //
  3556  //   * InternalFailureException
  3557  //   IoT SiteWise can't process your request right now. Try again later.
  3558  //
  3559  //   * ThrottlingException
  3560  //   Your request exceeded a rate limit. For example, you might have exceeded
  3561  //   the number of IoT SiteWise assets that can be created per second, the allowed
  3562  //   number of messages per second, and so on.
  3563  //
  3564  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  3565  //   in the IoT SiteWise User Guide.
  3566  //
  3567  //   * ServiceUnavailableException
  3568  //   The requested service is unavailable.
  3569  //
  3570  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetAssetPropertyValueHistory
  3571  func (c *IoTSiteWise) GetAssetPropertyValueHistory(input *GetAssetPropertyValueHistoryInput) (*GetAssetPropertyValueHistoryOutput, error) {
  3572  	req, out := c.GetAssetPropertyValueHistoryRequest(input)
  3573  	return out, req.Send()
  3574  }
  3575  
  3576  // GetAssetPropertyValueHistoryWithContext is the same as GetAssetPropertyValueHistory with the addition of
  3577  // the ability to pass a context and additional request options.
  3578  //
  3579  // See GetAssetPropertyValueHistory for details on how to use this API operation.
  3580  //
  3581  // The context must be non-nil and will be used for request cancellation. If
  3582  // the context is nil a panic will occur. In the future the SDK may create
  3583  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3584  // for more information on using Contexts.
  3585  func (c *IoTSiteWise) GetAssetPropertyValueHistoryWithContext(ctx aws.Context, input *GetAssetPropertyValueHistoryInput, opts ...request.Option) (*GetAssetPropertyValueHistoryOutput, error) {
  3586  	req, out := c.GetAssetPropertyValueHistoryRequest(input)
  3587  	req.SetContext(ctx)
  3588  	req.ApplyOptions(opts...)
  3589  	return out, req.Send()
  3590  }
  3591  
  3592  // GetAssetPropertyValueHistoryPages iterates over the pages of a GetAssetPropertyValueHistory operation,
  3593  // calling the "fn" function with the response data for each page. To stop
  3594  // iterating, return false from the fn function.
  3595  //
  3596  // See GetAssetPropertyValueHistory method for more information on how to use this operation.
  3597  //
  3598  // Note: This operation can generate multiple requests to a service.
  3599  //
  3600  //    // Example iterating over at most 3 pages of a GetAssetPropertyValueHistory operation.
  3601  //    pageNum := 0
  3602  //    err := client.GetAssetPropertyValueHistoryPages(params,
  3603  //        func(page *iotsitewise.GetAssetPropertyValueHistoryOutput, lastPage bool) bool {
  3604  //            pageNum++
  3605  //            fmt.Println(page)
  3606  //            return pageNum <= 3
  3607  //        })
  3608  //
  3609  func (c *IoTSiteWise) GetAssetPropertyValueHistoryPages(input *GetAssetPropertyValueHistoryInput, fn func(*GetAssetPropertyValueHistoryOutput, bool) bool) error {
  3610  	return c.GetAssetPropertyValueHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
  3611  }
  3612  
  3613  // GetAssetPropertyValueHistoryPagesWithContext same as GetAssetPropertyValueHistoryPages except
  3614  // it takes a Context and allows setting request options on the pages.
  3615  //
  3616  // The context must be non-nil and will be used for request cancellation. If
  3617  // the context is nil a panic will occur. In the future the SDK may create
  3618  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3619  // for more information on using Contexts.
  3620  func (c *IoTSiteWise) GetAssetPropertyValueHistoryPagesWithContext(ctx aws.Context, input *GetAssetPropertyValueHistoryInput, fn func(*GetAssetPropertyValueHistoryOutput, bool) bool, opts ...request.Option) error {
  3621  	p := request.Pagination{
  3622  		NewRequest: func() (*request.Request, error) {
  3623  			var inCpy *GetAssetPropertyValueHistoryInput
  3624  			if input != nil {
  3625  				tmp := *input
  3626  				inCpy = &tmp
  3627  			}
  3628  			req, _ := c.GetAssetPropertyValueHistoryRequest(inCpy)
  3629  			req.SetContext(ctx)
  3630  			req.ApplyOptions(opts...)
  3631  			return req, nil
  3632  		},
  3633  	}
  3634  
  3635  	for p.Next() {
  3636  		if !fn(p.Page().(*GetAssetPropertyValueHistoryOutput), !p.HasNextPage()) {
  3637  			break
  3638  		}
  3639  	}
  3640  
  3641  	return p.Err()
  3642  }
  3643  
  3644  const opGetInterpolatedAssetPropertyValues = "GetInterpolatedAssetPropertyValues"
  3645  
  3646  // GetInterpolatedAssetPropertyValuesRequest generates a "aws/request.Request" representing the
  3647  // client's request for the GetInterpolatedAssetPropertyValues operation. The "output" return
  3648  // value will be populated with the request's response once the request completes
  3649  // successfully.
  3650  //
  3651  // Use "Send" method on the returned Request to send the API call to the service.
  3652  // the "output" return value is not valid until after Send returns without error.
  3653  //
  3654  // See GetInterpolatedAssetPropertyValues for more information on using the GetInterpolatedAssetPropertyValues
  3655  // API call, and error handling.
  3656  //
  3657  // This method is useful when you want to inject custom logic or configuration
  3658  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3659  //
  3660  //
  3661  //    // Example sending a request using the GetInterpolatedAssetPropertyValuesRequest method.
  3662  //    req, resp := client.GetInterpolatedAssetPropertyValuesRequest(params)
  3663  //
  3664  //    err := req.Send()
  3665  //    if err == nil { // resp is now filled
  3666  //        fmt.Println(resp)
  3667  //    }
  3668  //
  3669  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetInterpolatedAssetPropertyValues
  3670  func (c *IoTSiteWise) GetInterpolatedAssetPropertyValuesRequest(input *GetInterpolatedAssetPropertyValuesInput) (req *request.Request, output *GetInterpolatedAssetPropertyValuesOutput) {
  3671  	op := &request.Operation{
  3672  		Name:       opGetInterpolatedAssetPropertyValues,
  3673  		HTTPMethod: "GET",
  3674  		HTTPPath:   "/properties/interpolated",
  3675  		Paginator: &request.Paginator{
  3676  			InputTokens:     []string{"nextToken"},
  3677  			OutputTokens:    []string{"nextToken"},
  3678  			LimitToken:      "maxResults",
  3679  			TruncationToken: "",
  3680  		},
  3681  	}
  3682  
  3683  	if input == nil {
  3684  		input = &GetInterpolatedAssetPropertyValuesInput{}
  3685  	}
  3686  
  3687  	output = &GetInterpolatedAssetPropertyValuesOutput{}
  3688  	req = c.newRequest(op, input, output)
  3689  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data.", nil))
  3690  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  3691  	return
  3692  }
  3693  
  3694  // GetInterpolatedAssetPropertyValues API operation for AWS IoT SiteWise.
  3695  //
  3696  // Get interpolated values for an asset property for a specified time interval,
  3697  // during a period of time. If your time series is missing data points during
  3698  // the specified time interval, you can use interpolation to estimate the missing
  3699  // data.
  3700  //
  3701  // For example, you can use this operation to return the interpolated temperature
  3702  // values for a wind turbine every 24 hours over a duration of 7 days.
  3703  //
  3704  // To identify an asset property, you must specify one of the following:
  3705  //
  3706  //    * The assetId and propertyId of an asset property.
  3707  //
  3708  //    * A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature).
  3709  //    To define an asset property's alias, see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html).
  3710  //
  3711  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3712  // with awserr.Error's Code and Message methods to get detailed information about
  3713  // the error.
  3714  //
  3715  // See the AWS API reference guide for AWS IoT SiteWise's
  3716  // API operation GetInterpolatedAssetPropertyValues for usage and error information.
  3717  //
  3718  // Returned Error Types:
  3719  //   * InvalidRequestException
  3720  //   The request isn't valid. This can occur if your request contains malformed
  3721  //   JSON or unsupported characters. Check your request and try again.
  3722  //
  3723  //   * ResourceNotFoundException
  3724  //   The requested resource can't be found.
  3725  //
  3726  //   * InternalFailureException
  3727  //   IoT SiteWise can't process your request right now. Try again later.
  3728  //
  3729  //   * ThrottlingException
  3730  //   Your request exceeded a rate limit. For example, you might have exceeded
  3731  //   the number of IoT SiteWise assets that can be created per second, the allowed
  3732  //   number of messages per second, and so on.
  3733  //
  3734  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  3735  //   in the IoT SiteWise User Guide.
  3736  //
  3737  //   * ServiceUnavailableException
  3738  //   The requested service is unavailable.
  3739  //
  3740  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetInterpolatedAssetPropertyValues
  3741  func (c *IoTSiteWise) GetInterpolatedAssetPropertyValues(input *GetInterpolatedAssetPropertyValuesInput) (*GetInterpolatedAssetPropertyValuesOutput, error) {
  3742  	req, out := c.GetInterpolatedAssetPropertyValuesRequest(input)
  3743  	return out, req.Send()
  3744  }
  3745  
  3746  // GetInterpolatedAssetPropertyValuesWithContext is the same as GetInterpolatedAssetPropertyValues with the addition of
  3747  // the ability to pass a context and additional request options.
  3748  //
  3749  // See GetInterpolatedAssetPropertyValues for details on how to use this API operation.
  3750  //
  3751  // The context must be non-nil and will be used for request cancellation. If
  3752  // the context is nil a panic will occur. In the future the SDK may create
  3753  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3754  // for more information on using Contexts.
  3755  func (c *IoTSiteWise) GetInterpolatedAssetPropertyValuesWithContext(ctx aws.Context, input *GetInterpolatedAssetPropertyValuesInput, opts ...request.Option) (*GetInterpolatedAssetPropertyValuesOutput, error) {
  3756  	req, out := c.GetInterpolatedAssetPropertyValuesRequest(input)
  3757  	req.SetContext(ctx)
  3758  	req.ApplyOptions(opts...)
  3759  	return out, req.Send()
  3760  }
  3761  
  3762  // GetInterpolatedAssetPropertyValuesPages iterates over the pages of a GetInterpolatedAssetPropertyValues operation,
  3763  // calling the "fn" function with the response data for each page. To stop
  3764  // iterating, return false from the fn function.
  3765  //
  3766  // See GetInterpolatedAssetPropertyValues method for more information on how to use this operation.
  3767  //
  3768  // Note: This operation can generate multiple requests to a service.
  3769  //
  3770  //    // Example iterating over at most 3 pages of a GetInterpolatedAssetPropertyValues operation.
  3771  //    pageNum := 0
  3772  //    err := client.GetInterpolatedAssetPropertyValuesPages(params,
  3773  //        func(page *iotsitewise.GetInterpolatedAssetPropertyValuesOutput, lastPage bool) bool {
  3774  //            pageNum++
  3775  //            fmt.Println(page)
  3776  //            return pageNum <= 3
  3777  //        })
  3778  //
  3779  func (c *IoTSiteWise) GetInterpolatedAssetPropertyValuesPages(input *GetInterpolatedAssetPropertyValuesInput, fn func(*GetInterpolatedAssetPropertyValuesOutput, bool) bool) error {
  3780  	return c.GetInterpolatedAssetPropertyValuesPagesWithContext(aws.BackgroundContext(), input, fn)
  3781  }
  3782  
  3783  // GetInterpolatedAssetPropertyValuesPagesWithContext same as GetInterpolatedAssetPropertyValuesPages except
  3784  // it takes a Context and allows setting request options on the pages.
  3785  //
  3786  // The context must be non-nil and will be used for request cancellation. If
  3787  // the context is nil a panic will occur. In the future the SDK may create
  3788  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3789  // for more information on using Contexts.
  3790  func (c *IoTSiteWise) GetInterpolatedAssetPropertyValuesPagesWithContext(ctx aws.Context, input *GetInterpolatedAssetPropertyValuesInput, fn func(*GetInterpolatedAssetPropertyValuesOutput, bool) bool, opts ...request.Option) error {
  3791  	p := request.Pagination{
  3792  		NewRequest: func() (*request.Request, error) {
  3793  			var inCpy *GetInterpolatedAssetPropertyValuesInput
  3794  			if input != nil {
  3795  				tmp := *input
  3796  				inCpy = &tmp
  3797  			}
  3798  			req, _ := c.GetInterpolatedAssetPropertyValuesRequest(inCpy)
  3799  			req.SetContext(ctx)
  3800  			req.ApplyOptions(opts...)
  3801  			return req, nil
  3802  		},
  3803  	}
  3804  
  3805  	for p.Next() {
  3806  		if !fn(p.Page().(*GetInterpolatedAssetPropertyValuesOutput), !p.HasNextPage()) {
  3807  			break
  3808  		}
  3809  	}
  3810  
  3811  	return p.Err()
  3812  }
  3813  
  3814  const opListAccessPolicies = "ListAccessPolicies"
  3815  
  3816  // ListAccessPoliciesRequest generates a "aws/request.Request" representing the
  3817  // client's request for the ListAccessPolicies operation. The "output" return
  3818  // value will be populated with the request's response once the request completes
  3819  // successfully.
  3820  //
  3821  // Use "Send" method on the returned Request to send the API call to the service.
  3822  // the "output" return value is not valid until after Send returns without error.
  3823  //
  3824  // See ListAccessPolicies for more information on using the ListAccessPolicies
  3825  // API call, and error handling.
  3826  //
  3827  // This method is useful when you want to inject custom logic or configuration
  3828  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3829  //
  3830  //
  3831  //    // Example sending a request using the ListAccessPoliciesRequest method.
  3832  //    req, resp := client.ListAccessPoliciesRequest(params)
  3833  //
  3834  //    err := req.Send()
  3835  //    if err == nil { // resp is now filled
  3836  //        fmt.Println(resp)
  3837  //    }
  3838  //
  3839  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAccessPolicies
  3840  func (c *IoTSiteWise) ListAccessPoliciesRequest(input *ListAccessPoliciesInput) (req *request.Request, output *ListAccessPoliciesOutput) {
  3841  	op := &request.Operation{
  3842  		Name:       opListAccessPolicies,
  3843  		HTTPMethod: "GET",
  3844  		HTTPPath:   "/access-policies",
  3845  		Paginator: &request.Paginator{
  3846  			InputTokens:     []string{"nextToken"},
  3847  			OutputTokens:    []string{"nextToken"},
  3848  			LimitToken:      "maxResults",
  3849  			TruncationToken: "",
  3850  		},
  3851  	}
  3852  
  3853  	if input == nil {
  3854  		input = &ListAccessPoliciesInput{}
  3855  	}
  3856  
  3857  	output = &ListAccessPoliciesOutput{}
  3858  	req = c.newRequest(op, input, output)
  3859  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
  3860  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  3861  	return
  3862  }
  3863  
  3864  // ListAccessPolicies API operation for AWS IoT SiteWise.
  3865  //
  3866  // Retrieves a paginated list of access policies for an identity (an Amazon
  3867  // Web Services SSO user, an Amazon Web Services SSO group, or an IAM user)
  3868  // or an IoT SiteWise Monitor resource (a portal or project).
  3869  //
  3870  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3871  // with awserr.Error's Code and Message methods to get detailed information about
  3872  // the error.
  3873  //
  3874  // See the AWS API reference guide for AWS IoT SiteWise's
  3875  // API operation ListAccessPolicies for usage and error information.
  3876  //
  3877  // Returned Error Types:
  3878  //   * InvalidRequestException
  3879  //   The request isn't valid. This can occur if your request contains malformed
  3880  //   JSON or unsupported characters. Check your request and try again.
  3881  //
  3882  //   * InternalFailureException
  3883  //   IoT SiteWise can't process your request right now. Try again later.
  3884  //
  3885  //   * ThrottlingException
  3886  //   Your request exceeded a rate limit. For example, you might have exceeded
  3887  //   the number of IoT SiteWise assets that can be created per second, the allowed
  3888  //   number of messages per second, and so on.
  3889  //
  3890  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  3891  //   in the IoT SiteWise User Guide.
  3892  //
  3893  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAccessPolicies
  3894  func (c *IoTSiteWise) ListAccessPolicies(input *ListAccessPoliciesInput) (*ListAccessPoliciesOutput, error) {
  3895  	req, out := c.ListAccessPoliciesRequest(input)
  3896  	return out, req.Send()
  3897  }
  3898  
  3899  // ListAccessPoliciesWithContext is the same as ListAccessPolicies with the addition of
  3900  // the ability to pass a context and additional request options.
  3901  //
  3902  // See ListAccessPolicies for details on how to use this API operation.
  3903  //
  3904  // The context must be non-nil and will be used for request cancellation. If
  3905  // the context is nil a panic will occur. In the future the SDK may create
  3906  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3907  // for more information on using Contexts.
  3908  func (c *IoTSiteWise) ListAccessPoliciesWithContext(ctx aws.Context, input *ListAccessPoliciesInput, opts ...request.Option) (*ListAccessPoliciesOutput, error) {
  3909  	req, out := c.ListAccessPoliciesRequest(input)
  3910  	req.SetContext(ctx)
  3911  	req.ApplyOptions(opts...)
  3912  	return out, req.Send()
  3913  }
  3914  
  3915  // ListAccessPoliciesPages iterates over the pages of a ListAccessPolicies operation,
  3916  // calling the "fn" function with the response data for each page. To stop
  3917  // iterating, return false from the fn function.
  3918  //
  3919  // See ListAccessPolicies method for more information on how to use this operation.
  3920  //
  3921  // Note: This operation can generate multiple requests to a service.
  3922  //
  3923  //    // Example iterating over at most 3 pages of a ListAccessPolicies operation.
  3924  //    pageNum := 0
  3925  //    err := client.ListAccessPoliciesPages(params,
  3926  //        func(page *iotsitewise.ListAccessPoliciesOutput, lastPage bool) bool {
  3927  //            pageNum++
  3928  //            fmt.Println(page)
  3929  //            return pageNum <= 3
  3930  //        })
  3931  //
  3932  func (c *IoTSiteWise) ListAccessPoliciesPages(input *ListAccessPoliciesInput, fn func(*ListAccessPoliciesOutput, bool) bool) error {
  3933  	return c.ListAccessPoliciesPagesWithContext(aws.BackgroundContext(), input, fn)
  3934  }
  3935  
  3936  // ListAccessPoliciesPagesWithContext same as ListAccessPoliciesPages except
  3937  // it takes a Context and allows setting request options on the pages.
  3938  //
  3939  // The context must be non-nil and will be used for request cancellation. If
  3940  // the context is nil a panic will occur. In the future the SDK may create
  3941  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3942  // for more information on using Contexts.
  3943  func (c *IoTSiteWise) ListAccessPoliciesPagesWithContext(ctx aws.Context, input *ListAccessPoliciesInput, fn func(*ListAccessPoliciesOutput, bool) bool, opts ...request.Option) error {
  3944  	p := request.Pagination{
  3945  		NewRequest: func() (*request.Request, error) {
  3946  			var inCpy *ListAccessPoliciesInput
  3947  			if input != nil {
  3948  				tmp := *input
  3949  				inCpy = &tmp
  3950  			}
  3951  			req, _ := c.ListAccessPoliciesRequest(inCpy)
  3952  			req.SetContext(ctx)
  3953  			req.ApplyOptions(opts...)
  3954  			return req, nil
  3955  		},
  3956  	}
  3957  
  3958  	for p.Next() {
  3959  		if !fn(p.Page().(*ListAccessPoliciesOutput), !p.HasNextPage()) {
  3960  			break
  3961  		}
  3962  	}
  3963  
  3964  	return p.Err()
  3965  }
  3966  
  3967  const opListAssetModels = "ListAssetModels"
  3968  
  3969  // ListAssetModelsRequest generates a "aws/request.Request" representing the
  3970  // client's request for the ListAssetModels operation. The "output" return
  3971  // value will be populated with the request's response once the request completes
  3972  // successfully.
  3973  //
  3974  // Use "Send" method on the returned Request to send the API call to the service.
  3975  // the "output" return value is not valid until after Send returns without error.
  3976  //
  3977  // See ListAssetModels for more information on using the ListAssetModels
  3978  // API call, and error handling.
  3979  //
  3980  // This method is useful when you want to inject custom logic or configuration
  3981  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3982  //
  3983  //
  3984  //    // Example sending a request using the ListAssetModelsRequest method.
  3985  //    req, resp := client.ListAssetModelsRequest(params)
  3986  //
  3987  //    err := req.Send()
  3988  //    if err == nil { // resp is now filled
  3989  //        fmt.Println(resp)
  3990  //    }
  3991  //
  3992  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetModels
  3993  func (c *IoTSiteWise) ListAssetModelsRequest(input *ListAssetModelsInput) (req *request.Request, output *ListAssetModelsOutput) {
  3994  	op := &request.Operation{
  3995  		Name:       opListAssetModels,
  3996  		HTTPMethod: "GET",
  3997  		HTTPPath:   "/asset-models",
  3998  		Paginator: &request.Paginator{
  3999  			InputTokens:     []string{"nextToken"},
  4000  			OutputTokens:    []string{"nextToken"},
  4001  			LimitToken:      "maxResults",
  4002  			TruncationToken: "",
  4003  		},
  4004  	}
  4005  
  4006  	if input == nil {
  4007  		input = &ListAssetModelsInput{}
  4008  	}
  4009  
  4010  	output = &ListAssetModelsOutput{}
  4011  	req = c.newRequest(op, input, output)
  4012  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  4013  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  4014  	return
  4015  }
  4016  
  4017  // ListAssetModels API operation for AWS IoT SiteWise.
  4018  //
  4019  // Retrieves a paginated list of summaries of all asset models.
  4020  //
  4021  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4022  // with awserr.Error's Code and Message methods to get detailed information about
  4023  // the error.
  4024  //
  4025  // See the AWS API reference guide for AWS IoT SiteWise's
  4026  // API operation ListAssetModels for usage and error information.
  4027  //
  4028  // Returned Error Types:
  4029  //   * InvalidRequestException
  4030  //   The request isn't valid. This can occur if your request contains malformed
  4031  //   JSON or unsupported characters. Check your request and try again.
  4032  //
  4033  //   * InternalFailureException
  4034  //   IoT SiteWise can't process your request right now. Try again later.
  4035  //
  4036  //   * ThrottlingException
  4037  //   Your request exceeded a rate limit. For example, you might have exceeded
  4038  //   the number of IoT SiteWise assets that can be created per second, the allowed
  4039  //   number of messages per second, and so on.
  4040  //
  4041  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  4042  //   in the IoT SiteWise User Guide.
  4043  //
  4044  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetModels
  4045  func (c *IoTSiteWise) ListAssetModels(input *ListAssetModelsInput) (*ListAssetModelsOutput, error) {
  4046  	req, out := c.ListAssetModelsRequest(input)
  4047  	return out, req.Send()
  4048  }
  4049  
  4050  // ListAssetModelsWithContext is the same as ListAssetModels with the addition of
  4051  // the ability to pass a context and additional request options.
  4052  //
  4053  // See ListAssetModels for details on how to use this API operation.
  4054  //
  4055  // The context must be non-nil and will be used for request cancellation. If
  4056  // the context is nil a panic will occur. In the future the SDK may create
  4057  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4058  // for more information on using Contexts.
  4059  func (c *IoTSiteWise) ListAssetModelsWithContext(ctx aws.Context, input *ListAssetModelsInput, opts ...request.Option) (*ListAssetModelsOutput, error) {
  4060  	req, out := c.ListAssetModelsRequest(input)
  4061  	req.SetContext(ctx)
  4062  	req.ApplyOptions(opts...)
  4063  	return out, req.Send()
  4064  }
  4065  
  4066  // ListAssetModelsPages iterates over the pages of a ListAssetModels operation,
  4067  // calling the "fn" function with the response data for each page. To stop
  4068  // iterating, return false from the fn function.
  4069  //
  4070  // See ListAssetModels method for more information on how to use this operation.
  4071  //
  4072  // Note: This operation can generate multiple requests to a service.
  4073  //
  4074  //    // Example iterating over at most 3 pages of a ListAssetModels operation.
  4075  //    pageNum := 0
  4076  //    err := client.ListAssetModelsPages(params,
  4077  //        func(page *iotsitewise.ListAssetModelsOutput, lastPage bool) bool {
  4078  //            pageNum++
  4079  //            fmt.Println(page)
  4080  //            return pageNum <= 3
  4081  //        })
  4082  //
  4083  func (c *IoTSiteWise) ListAssetModelsPages(input *ListAssetModelsInput, fn func(*ListAssetModelsOutput, bool) bool) error {
  4084  	return c.ListAssetModelsPagesWithContext(aws.BackgroundContext(), input, fn)
  4085  }
  4086  
  4087  // ListAssetModelsPagesWithContext same as ListAssetModelsPages except
  4088  // it takes a Context and allows setting request options on the pages.
  4089  //
  4090  // The context must be non-nil and will be used for request cancellation. If
  4091  // the context is nil a panic will occur. In the future the SDK may create
  4092  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4093  // for more information on using Contexts.
  4094  func (c *IoTSiteWise) ListAssetModelsPagesWithContext(ctx aws.Context, input *ListAssetModelsInput, fn func(*ListAssetModelsOutput, bool) bool, opts ...request.Option) error {
  4095  	p := request.Pagination{
  4096  		NewRequest: func() (*request.Request, error) {
  4097  			var inCpy *ListAssetModelsInput
  4098  			if input != nil {
  4099  				tmp := *input
  4100  				inCpy = &tmp
  4101  			}
  4102  			req, _ := c.ListAssetModelsRequest(inCpy)
  4103  			req.SetContext(ctx)
  4104  			req.ApplyOptions(opts...)
  4105  			return req, nil
  4106  		},
  4107  	}
  4108  
  4109  	for p.Next() {
  4110  		if !fn(p.Page().(*ListAssetModelsOutput), !p.HasNextPage()) {
  4111  			break
  4112  		}
  4113  	}
  4114  
  4115  	return p.Err()
  4116  }
  4117  
  4118  const opListAssetRelationships = "ListAssetRelationships"
  4119  
  4120  // ListAssetRelationshipsRequest generates a "aws/request.Request" representing the
  4121  // client's request for the ListAssetRelationships operation. The "output" return
  4122  // value will be populated with the request's response once the request completes
  4123  // successfully.
  4124  //
  4125  // Use "Send" method on the returned Request to send the API call to the service.
  4126  // the "output" return value is not valid until after Send returns without error.
  4127  //
  4128  // See ListAssetRelationships for more information on using the ListAssetRelationships
  4129  // API call, and error handling.
  4130  //
  4131  // This method is useful when you want to inject custom logic or configuration
  4132  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4133  //
  4134  //
  4135  //    // Example sending a request using the ListAssetRelationshipsRequest method.
  4136  //    req, resp := client.ListAssetRelationshipsRequest(params)
  4137  //
  4138  //    err := req.Send()
  4139  //    if err == nil { // resp is now filled
  4140  //        fmt.Println(resp)
  4141  //    }
  4142  //
  4143  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetRelationships
  4144  func (c *IoTSiteWise) ListAssetRelationshipsRequest(input *ListAssetRelationshipsInput) (req *request.Request, output *ListAssetRelationshipsOutput) {
  4145  	op := &request.Operation{
  4146  		Name:       opListAssetRelationships,
  4147  		HTTPMethod: "GET",
  4148  		HTTPPath:   "/assets/{assetId}/assetRelationships",
  4149  		Paginator: &request.Paginator{
  4150  			InputTokens:     []string{"nextToken"},
  4151  			OutputTokens:    []string{"nextToken"},
  4152  			LimitToken:      "maxResults",
  4153  			TruncationToken: "",
  4154  		},
  4155  	}
  4156  
  4157  	if input == nil {
  4158  		input = &ListAssetRelationshipsInput{}
  4159  	}
  4160  
  4161  	output = &ListAssetRelationshipsOutput{}
  4162  	req = c.newRequest(op, input, output)
  4163  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  4164  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  4165  	return
  4166  }
  4167  
  4168  // ListAssetRelationships API operation for AWS IoT SiteWise.
  4169  //
  4170  // Retrieves a paginated list of asset relationships for an asset. You can use
  4171  // this operation to identify an asset's root asset and all associated assets
  4172  // between that asset and its root.
  4173  //
  4174  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4175  // with awserr.Error's Code and Message methods to get detailed information about
  4176  // the error.
  4177  //
  4178  // See the AWS API reference guide for AWS IoT SiteWise's
  4179  // API operation ListAssetRelationships for usage and error information.
  4180  //
  4181  // Returned Error Types:
  4182  //   * InvalidRequestException
  4183  //   The request isn't valid. This can occur if your request contains malformed
  4184  //   JSON or unsupported characters. Check your request and try again.
  4185  //
  4186  //   * InternalFailureException
  4187  //   IoT SiteWise can't process your request right now. Try again later.
  4188  //
  4189  //   * ResourceNotFoundException
  4190  //   The requested resource can't be found.
  4191  //
  4192  //   * ThrottlingException
  4193  //   Your request exceeded a rate limit. For example, you might have exceeded
  4194  //   the number of IoT SiteWise assets that can be created per second, the allowed
  4195  //   number of messages per second, and so on.
  4196  //
  4197  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  4198  //   in the IoT SiteWise User Guide.
  4199  //
  4200  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetRelationships
  4201  func (c *IoTSiteWise) ListAssetRelationships(input *ListAssetRelationshipsInput) (*ListAssetRelationshipsOutput, error) {
  4202  	req, out := c.ListAssetRelationshipsRequest(input)
  4203  	return out, req.Send()
  4204  }
  4205  
  4206  // ListAssetRelationshipsWithContext is the same as ListAssetRelationships with the addition of
  4207  // the ability to pass a context and additional request options.
  4208  //
  4209  // See ListAssetRelationships for details on how to use this API operation.
  4210  //
  4211  // The context must be non-nil and will be used for request cancellation. If
  4212  // the context is nil a panic will occur. In the future the SDK may create
  4213  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4214  // for more information on using Contexts.
  4215  func (c *IoTSiteWise) ListAssetRelationshipsWithContext(ctx aws.Context, input *ListAssetRelationshipsInput, opts ...request.Option) (*ListAssetRelationshipsOutput, error) {
  4216  	req, out := c.ListAssetRelationshipsRequest(input)
  4217  	req.SetContext(ctx)
  4218  	req.ApplyOptions(opts...)
  4219  	return out, req.Send()
  4220  }
  4221  
  4222  // ListAssetRelationshipsPages iterates over the pages of a ListAssetRelationships operation,
  4223  // calling the "fn" function with the response data for each page. To stop
  4224  // iterating, return false from the fn function.
  4225  //
  4226  // See ListAssetRelationships method for more information on how to use this operation.
  4227  //
  4228  // Note: This operation can generate multiple requests to a service.
  4229  //
  4230  //    // Example iterating over at most 3 pages of a ListAssetRelationships operation.
  4231  //    pageNum := 0
  4232  //    err := client.ListAssetRelationshipsPages(params,
  4233  //        func(page *iotsitewise.ListAssetRelationshipsOutput, lastPage bool) bool {
  4234  //            pageNum++
  4235  //            fmt.Println(page)
  4236  //            return pageNum <= 3
  4237  //        })
  4238  //
  4239  func (c *IoTSiteWise) ListAssetRelationshipsPages(input *ListAssetRelationshipsInput, fn func(*ListAssetRelationshipsOutput, bool) bool) error {
  4240  	return c.ListAssetRelationshipsPagesWithContext(aws.BackgroundContext(), input, fn)
  4241  }
  4242  
  4243  // ListAssetRelationshipsPagesWithContext same as ListAssetRelationshipsPages except
  4244  // it takes a Context and allows setting request options on the pages.
  4245  //
  4246  // The context must be non-nil and will be used for request cancellation. If
  4247  // the context is nil a panic will occur. In the future the SDK may create
  4248  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4249  // for more information on using Contexts.
  4250  func (c *IoTSiteWise) ListAssetRelationshipsPagesWithContext(ctx aws.Context, input *ListAssetRelationshipsInput, fn func(*ListAssetRelationshipsOutput, bool) bool, opts ...request.Option) error {
  4251  	p := request.Pagination{
  4252  		NewRequest: func() (*request.Request, error) {
  4253  			var inCpy *ListAssetRelationshipsInput
  4254  			if input != nil {
  4255  				tmp := *input
  4256  				inCpy = &tmp
  4257  			}
  4258  			req, _ := c.ListAssetRelationshipsRequest(inCpy)
  4259  			req.SetContext(ctx)
  4260  			req.ApplyOptions(opts...)
  4261  			return req, nil
  4262  		},
  4263  	}
  4264  
  4265  	for p.Next() {
  4266  		if !fn(p.Page().(*ListAssetRelationshipsOutput), !p.HasNextPage()) {
  4267  			break
  4268  		}
  4269  	}
  4270  
  4271  	return p.Err()
  4272  }
  4273  
  4274  const opListAssets = "ListAssets"
  4275  
  4276  // ListAssetsRequest generates a "aws/request.Request" representing the
  4277  // client's request for the ListAssets operation. The "output" return
  4278  // value will be populated with the request's response once the request completes
  4279  // successfully.
  4280  //
  4281  // Use "Send" method on the returned Request to send the API call to the service.
  4282  // the "output" return value is not valid until after Send returns without error.
  4283  //
  4284  // See ListAssets for more information on using the ListAssets
  4285  // API call, and error handling.
  4286  //
  4287  // This method is useful when you want to inject custom logic or configuration
  4288  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4289  //
  4290  //
  4291  //    // Example sending a request using the ListAssetsRequest method.
  4292  //    req, resp := client.ListAssetsRequest(params)
  4293  //
  4294  //    err := req.Send()
  4295  //    if err == nil { // resp is now filled
  4296  //        fmt.Println(resp)
  4297  //    }
  4298  //
  4299  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssets
  4300  func (c *IoTSiteWise) ListAssetsRequest(input *ListAssetsInput) (req *request.Request, output *ListAssetsOutput) {
  4301  	op := &request.Operation{
  4302  		Name:       opListAssets,
  4303  		HTTPMethod: "GET",
  4304  		HTTPPath:   "/assets",
  4305  		Paginator: &request.Paginator{
  4306  			InputTokens:     []string{"nextToken"},
  4307  			OutputTokens:    []string{"nextToken"},
  4308  			LimitToken:      "maxResults",
  4309  			TruncationToken: "",
  4310  		},
  4311  	}
  4312  
  4313  	if input == nil {
  4314  		input = &ListAssetsInput{}
  4315  	}
  4316  
  4317  	output = &ListAssetsOutput{}
  4318  	req = c.newRequest(op, input, output)
  4319  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  4320  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  4321  	return
  4322  }
  4323  
  4324  // ListAssets API operation for AWS IoT SiteWise.
  4325  //
  4326  // Retrieves a paginated list of asset summaries.
  4327  //
  4328  // You can use this operation to do the following:
  4329  //
  4330  //    * List assets based on a specific asset model.
  4331  //
  4332  //    * List top-level assets.
  4333  //
  4334  // You can't use this operation to list all assets. To retrieve summaries for
  4335  // all of your assets, use ListAssetModels (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ListAssetModels.html)
  4336  // to get all of your asset model IDs. Then, use ListAssets to get all assets
  4337  // for each asset model.
  4338  //
  4339  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4340  // with awserr.Error's Code and Message methods to get detailed information about
  4341  // the error.
  4342  //
  4343  // See the AWS API reference guide for AWS IoT SiteWise's
  4344  // API operation ListAssets for usage and error information.
  4345  //
  4346  // Returned Error Types:
  4347  //   * InvalidRequestException
  4348  //   The request isn't valid. This can occur if your request contains malformed
  4349  //   JSON or unsupported characters. Check your request and try again.
  4350  //
  4351  //   * InternalFailureException
  4352  //   IoT SiteWise can't process your request right now. Try again later.
  4353  //
  4354  //   * ResourceNotFoundException
  4355  //   The requested resource can't be found.
  4356  //
  4357  //   * ThrottlingException
  4358  //   Your request exceeded a rate limit. For example, you might have exceeded
  4359  //   the number of IoT SiteWise assets that can be created per second, the allowed
  4360  //   number of messages per second, and so on.
  4361  //
  4362  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  4363  //   in the IoT SiteWise User Guide.
  4364  //
  4365  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssets
  4366  func (c *IoTSiteWise) ListAssets(input *ListAssetsInput) (*ListAssetsOutput, error) {
  4367  	req, out := c.ListAssetsRequest(input)
  4368  	return out, req.Send()
  4369  }
  4370  
  4371  // ListAssetsWithContext is the same as ListAssets with the addition of
  4372  // the ability to pass a context and additional request options.
  4373  //
  4374  // See ListAssets for details on how to use this API operation.
  4375  //
  4376  // The context must be non-nil and will be used for request cancellation. If
  4377  // the context is nil a panic will occur. In the future the SDK may create
  4378  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4379  // for more information on using Contexts.
  4380  func (c *IoTSiteWise) ListAssetsWithContext(ctx aws.Context, input *ListAssetsInput, opts ...request.Option) (*ListAssetsOutput, error) {
  4381  	req, out := c.ListAssetsRequest(input)
  4382  	req.SetContext(ctx)
  4383  	req.ApplyOptions(opts...)
  4384  	return out, req.Send()
  4385  }
  4386  
  4387  // ListAssetsPages iterates over the pages of a ListAssets operation,
  4388  // calling the "fn" function with the response data for each page. To stop
  4389  // iterating, return false from the fn function.
  4390  //
  4391  // See ListAssets method for more information on how to use this operation.
  4392  //
  4393  // Note: This operation can generate multiple requests to a service.
  4394  //
  4395  //    // Example iterating over at most 3 pages of a ListAssets operation.
  4396  //    pageNum := 0
  4397  //    err := client.ListAssetsPages(params,
  4398  //        func(page *iotsitewise.ListAssetsOutput, lastPage bool) bool {
  4399  //            pageNum++
  4400  //            fmt.Println(page)
  4401  //            return pageNum <= 3
  4402  //        })
  4403  //
  4404  func (c *IoTSiteWise) ListAssetsPages(input *ListAssetsInput, fn func(*ListAssetsOutput, bool) bool) error {
  4405  	return c.ListAssetsPagesWithContext(aws.BackgroundContext(), input, fn)
  4406  }
  4407  
  4408  // ListAssetsPagesWithContext same as ListAssetsPages except
  4409  // it takes a Context and allows setting request options on the pages.
  4410  //
  4411  // The context must be non-nil and will be used for request cancellation. If
  4412  // the context is nil a panic will occur. In the future the SDK may create
  4413  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4414  // for more information on using Contexts.
  4415  func (c *IoTSiteWise) ListAssetsPagesWithContext(ctx aws.Context, input *ListAssetsInput, fn func(*ListAssetsOutput, bool) bool, opts ...request.Option) error {
  4416  	p := request.Pagination{
  4417  		NewRequest: func() (*request.Request, error) {
  4418  			var inCpy *ListAssetsInput
  4419  			if input != nil {
  4420  				tmp := *input
  4421  				inCpy = &tmp
  4422  			}
  4423  			req, _ := c.ListAssetsRequest(inCpy)
  4424  			req.SetContext(ctx)
  4425  			req.ApplyOptions(opts...)
  4426  			return req, nil
  4427  		},
  4428  	}
  4429  
  4430  	for p.Next() {
  4431  		if !fn(p.Page().(*ListAssetsOutput), !p.HasNextPage()) {
  4432  			break
  4433  		}
  4434  	}
  4435  
  4436  	return p.Err()
  4437  }
  4438  
  4439  const opListAssociatedAssets = "ListAssociatedAssets"
  4440  
  4441  // ListAssociatedAssetsRequest generates a "aws/request.Request" representing the
  4442  // client's request for the ListAssociatedAssets operation. The "output" return
  4443  // value will be populated with the request's response once the request completes
  4444  // successfully.
  4445  //
  4446  // Use "Send" method on the returned Request to send the API call to the service.
  4447  // the "output" return value is not valid until after Send returns without error.
  4448  //
  4449  // See ListAssociatedAssets for more information on using the ListAssociatedAssets
  4450  // API call, and error handling.
  4451  //
  4452  // This method is useful when you want to inject custom logic or configuration
  4453  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4454  //
  4455  //
  4456  //    // Example sending a request using the ListAssociatedAssetsRequest method.
  4457  //    req, resp := client.ListAssociatedAssetsRequest(params)
  4458  //
  4459  //    err := req.Send()
  4460  //    if err == nil { // resp is now filled
  4461  //        fmt.Println(resp)
  4462  //    }
  4463  //
  4464  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssociatedAssets
  4465  func (c *IoTSiteWise) ListAssociatedAssetsRequest(input *ListAssociatedAssetsInput) (req *request.Request, output *ListAssociatedAssetsOutput) {
  4466  	op := &request.Operation{
  4467  		Name:       opListAssociatedAssets,
  4468  		HTTPMethod: "GET",
  4469  		HTTPPath:   "/assets/{assetId}/hierarchies",
  4470  		Paginator: &request.Paginator{
  4471  			InputTokens:     []string{"nextToken"},
  4472  			OutputTokens:    []string{"nextToken"},
  4473  			LimitToken:      "maxResults",
  4474  			TruncationToken: "",
  4475  		},
  4476  	}
  4477  
  4478  	if input == nil {
  4479  		input = &ListAssociatedAssetsInput{}
  4480  	}
  4481  
  4482  	output = &ListAssociatedAssetsOutput{}
  4483  	req = c.newRequest(op, input, output)
  4484  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  4485  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  4486  	return
  4487  }
  4488  
  4489  // ListAssociatedAssets API operation for AWS IoT SiteWise.
  4490  //
  4491  // Retrieves a paginated list of associated assets.
  4492  //
  4493  // You can use this operation to do the following:
  4494  //
  4495  //    * List child assets associated to a parent asset by a hierarchy that you
  4496  //    specify.
  4497  //
  4498  //    * List an asset's parent asset.
  4499  //
  4500  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4501  // with awserr.Error's Code and Message methods to get detailed information about
  4502  // the error.
  4503  //
  4504  // See the AWS API reference guide for AWS IoT SiteWise's
  4505  // API operation ListAssociatedAssets for usage and error information.
  4506  //
  4507  // Returned Error Types:
  4508  //   * InvalidRequestException
  4509  //   The request isn't valid. This can occur if your request contains malformed
  4510  //   JSON or unsupported characters. Check your request and try again.
  4511  //
  4512  //   * InternalFailureException
  4513  //   IoT SiteWise can't process your request right now. Try again later.
  4514  //
  4515  //   * ResourceNotFoundException
  4516  //   The requested resource can't be found.
  4517  //
  4518  //   * ThrottlingException
  4519  //   Your request exceeded a rate limit. For example, you might have exceeded
  4520  //   the number of IoT SiteWise assets that can be created per second, the allowed
  4521  //   number of messages per second, and so on.
  4522  //
  4523  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  4524  //   in the IoT SiteWise User Guide.
  4525  //
  4526  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssociatedAssets
  4527  func (c *IoTSiteWise) ListAssociatedAssets(input *ListAssociatedAssetsInput) (*ListAssociatedAssetsOutput, error) {
  4528  	req, out := c.ListAssociatedAssetsRequest(input)
  4529  	return out, req.Send()
  4530  }
  4531  
  4532  // ListAssociatedAssetsWithContext is the same as ListAssociatedAssets with the addition of
  4533  // the ability to pass a context and additional request options.
  4534  //
  4535  // See ListAssociatedAssets for details on how to use this API operation.
  4536  //
  4537  // The context must be non-nil and will be used for request cancellation. If
  4538  // the context is nil a panic will occur. In the future the SDK may create
  4539  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4540  // for more information on using Contexts.
  4541  func (c *IoTSiteWise) ListAssociatedAssetsWithContext(ctx aws.Context, input *ListAssociatedAssetsInput, opts ...request.Option) (*ListAssociatedAssetsOutput, error) {
  4542  	req, out := c.ListAssociatedAssetsRequest(input)
  4543  	req.SetContext(ctx)
  4544  	req.ApplyOptions(opts...)
  4545  	return out, req.Send()
  4546  }
  4547  
  4548  // ListAssociatedAssetsPages iterates over the pages of a ListAssociatedAssets operation,
  4549  // calling the "fn" function with the response data for each page. To stop
  4550  // iterating, return false from the fn function.
  4551  //
  4552  // See ListAssociatedAssets method for more information on how to use this operation.
  4553  //
  4554  // Note: This operation can generate multiple requests to a service.
  4555  //
  4556  //    // Example iterating over at most 3 pages of a ListAssociatedAssets operation.
  4557  //    pageNum := 0
  4558  //    err := client.ListAssociatedAssetsPages(params,
  4559  //        func(page *iotsitewise.ListAssociatedAssetsOutput, lastPage bool) bool {
  4560  //            pageNum++
  4561  //            fmt.Println(page)
  4562  //            return pageNum <= 3
  4563  //        })
  4564  //
  4565  func (c *IoTSiteWise) ListAssociatedAssetsPages(input *ListAssociatedAssetsInput, fn func(*ListAssociatedAssetsOutput, bool) bool) error {
  4566  	return c.ListAssociatedAssetsPagesWithContext(aws.BackgroundContext(), input, fn)
  4567  }
  4568  
  4569  // ListAssociatedAssetsPagesWithContext same as ListAssociatedAssetsPages except
  4570  // it takes a Context and allows setting request options on the pages.
  4571  //
  4572  // The context must be non-nil and will be used for request cancellation. If
  4573  // the context is nil a panic will occur. In the future the SDK may create
  4574  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4575  // for more information on using Contexts.
  4576  func (c *IoTSiteWise) ListAssociatedAssetsPagesWithContext(ctx aws.Context, input *ListAssociatedAssetsInput, fn func(*ListAssociatedAssetsOutput, bool) bool, opts ...request.Option) error {
  4577  	p := request.Pagination{
  4578  		NewRequest: func() (*request.Request, error) {
  4579  			var inCpy *ListAssociatedAssetsInput
  4580  			if input != nil {
  4581  				tmp := *input
  4582  				inCpy = &tmp
  4583  			}
  4584  			req, _ := c.ListAssociatedAssetsRequest(inCpy)
  4585  			req.SetContext(ctx)
  4586  			req.ApplyOptions(opts...)
  4587  			return req, nil
  4588  		},
  4589  	}
  4590  
  4591  	for p.Next() {
  4592  		if !fn(p.Page().(*ListAssociatedAssetsOutput), !p.HasNextPage()) {
  4593  			break
  4594  		}
  4595  	}
  4596  
  4597  	return p.Err()
  4598  }
  4599  
  4600  const opListDashboards = "ListDashboards"
  4601  
  4602  // ListDashboardsRequest generates a "aws/request.Request" representing the
  4603  // client's request for the ListDashboards operation. The "output" return
  4604  // value will be populated with the request's response once the request completes
  4605  // successfully.
  4606  //
  4607  // Use "Send" method on the returned Request to send the API call to the service.
  4608  // the "output" return value is not valid until after Send returns without error.
  4609  //
  4610  // See ListDashboards for more information on using the ListDashboards
  4611  // API call, and error handling.
  4612  //
  4613  // This method is useful when you want to inject custom logic or configuration
  4614  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4615  //
  4616  //
  4617  //    // Example sending a request using the ListDashboardsRequest method.
  4618  //    req, resp := client.ListDashboardsRequest(params)
  4619  //
  4620  //    err := req.Send()
  4621  //    if err == nil { // resp is now filled
  4622  //        fmt.Println(resp)
  4623  //    }
  4624  //
  4625  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListDashboards
  4626  func (c *IoTSiteWise) ListDashboardsRequest(input *ListDashboardsInput) (req *request.Request, output *ListDashboardsOutput) {
  4627  	op := &request.Operation{
  4628  		Name:       opListDashboards,
  4629  		HTTPMethod: "GET",
  4630  		HTTPPath:   "/dashboards",
  4631  		Paginator: &request.Paginator{
  4632  			InputTokens:     []string{"nextToken"},
  4633  			OutputTokens:    []string{"nextToken"},
  4634  			LimitToken:      "maxResults",
  4635  			TruncationToken: "",
  4636  		},
  4637  	}
  4638  
  4639  	if input == nil {
  4640  		input = &ListDashboardsInput{}
  4641  	}
  4642  
  4643  	output = &ListDashboardsOutput{}
  4644  	req = c.newRequest(op, input, output)
  4645  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
  4646  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  4647  	return
  4648  }
  4649  
  4650  // ListDashboards API operation for AWS IoT SiteWise.
  4651  //
  4652  // Retrieves a paginated list of dashboards for an IoT SiteWise Monitor project.
  4653  //
  4654  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4655  // with awserr.Error's Code and Message methods to get detailed information about
  4656  // the error.
  4657  //
  4658  // See the AWS API reference guide for AWS IoT SiteWise's
  4659  // API operation ListDashboards for usage and error information.
  4660  //
  4661  // Returned Error Types:
  4662  //   * InvalidRequestException
  4663  //   The request isn't valid. This can occur if your request contains malformed
  4664  //   JSON or unsupported characters. Check your request and try again.
  4665  //
  4666  //   * InternalFailureException
  4667  //   IoT SiteWise can't process your request right now. Try again later.
  4668  //
  4669  //   * ThrottlingException
  4670  //   Your request exceeded a rate limit. For example, you might have exceeded
  4671  //   the number of IoT SiteWise assets that can be created per second, the allowed
  4672  //   number of messages per second, and so on.
  4673  //
  4674  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  4675  //   in the IoT SiteWise User Guide.
  4676  //
  4677  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListDashboards
  4678  func (c *IoTSiteWise) ListDashboards(input *ListDashboardsInput) (*ListDashboardsOutput, error) {
  4679  	req, out := c.ListDashboardsRequest(input)
  4680  	return out, req.Send()
  4681  }
  4682  
  4683  // ListDashboardsWithContext is the same as ListDashboards with the addition of
  4684  // the ability to pass a context and additional request options.
  4685  //
  4686  // See ListDashboards for details on how to use this API operation.
  4687  //
  4688  // The context must be non-nil and will be used for request cancellation. If
  4689  // the context is nil a panic will occur. In the future the SDK may create
  4690  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4691  // for more information on using Contexts.
  4692  func (c *IoTSiteWise) ListDashboardsWithContext(ctx aws.Context, input *ListDashboardsInput, opts ...request.Option) (*ListDashboardsOutput, error) {
  4693  	req, out := c.ListDashboardsRequest(input)
  4694  	req.SetContext(ctx)
  4695  	req.ApplyOptions(opts...)
  4696  	return out, req.Send()
  4697  }
  4698  
  4699  // ListDashboardsPages iterates over the pages of a ListDashboards operation,
  4700  // calling the "fn" function with the response data for each page. To stop
  4701  // iterating, return false from the fn function.
  4702  //
  4703  // See ListDashboards method for more information on how to use this operation.
  4704  //
  4705  // Note: This operation can generate multiple requests to a service.
  4706  //
  4707  //    // Example iterating over at most 3 pages of a ListDashboards operation.
  4708  //    pageNum := 0
  4709  //    err := client.ListDashboardsPages(params,
  4710  //        func(page *iotsitewise.ListDashboardsOutput, lastPage bool) bool {
  4711  //            pageNum++
  4712  //            fmt.Println(page)
  4713  //            return pageNum <= 3
  4714  //        })
  4715  //
  4716  func (c *IoTSiteWise) ListDashboardsPages(input *ListDashboardsInput, fn func(*ListDashboardsOutput, bool) bool) error {
  4717  	return c.ListDashboardsPagesWithContext(aws.BackgroundContext(), input, fn)
  4718  }
  4719  
  4720  // ListDashboardsPagesWithContext same as ListDashboardsPages except
  4721  // it takes a Context and allows setting request options on the pages.
  4722  //
  4723  // The context must be non-nil and will be used for request cancellation. If
  4724  // the context is nil a panic will occur. In the future the SDK may create
  4725  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4726  // for more information on using Contexts.
  4727  func (c *IoTSiteWise) ListDashboardsPagesWithContext(ctx aws.Context, input *ListDashboardsInput, fn func(*ListDashboardsOutput, bool) bool, opts ...request.Option) error {
  4728  	p := request.Pagination{
  4729  		NewRequest: func() (*request.Request, error) {
  4730  			var inCpy *ListDashboardsInput
  4731  			if input != nil {
  4732  				tmp := *input
  4733  				inCpy = &tmp
  4734  			}
  4735  			req, _ := c.ListDashboardsRequest(inCpy)
  4736  			req.SetContext(ctx)
  4737  			req.ApplyOptions(opts...)
  4738  			return req, nil
  4739  		},
  4740  	}
  4741  
  4742  	for p.Next() {
  4743  		if !fn(p.Page().(*ListDashboardsOutput), !p.HasNextPage()) {
  4744  			break
  4745  		}
  4746  	}
  4747  
  4748  	return p.Err()
  4749  }
  4750  
  4751  const opListGateways = "ListGateways"
  4752  
  4753  // ListGatewaysRequest generates a "aws/request.Request" representing the
  4754  // client's request for the ListGateways operation. The "output" return
  4755  // value will be populated with the request's response once the request completes
  4756  // successfully.
  4757  //
  4758  // Use "Send" method on the returned Request to send the API call to the service.
  4759  // the "output" return value is not valid until after Send returns without error.
  4760  //
  4761  // See ListGateways for more information on using the ListGateways
  4762  // API call, and error handling.
  4763  //
  4764  // This method is useful when you want to inject custom logic or configuration
  4765  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4766  //
  4767  //
  4768  //    // Example sending a request using the ListGatewaysRequest method.
  4769  //    req, resp := client.ListGatewaysRequest(params)
  4770  //
  4771  //    err := req.Send()
  4772  //    if err == nil { // resp is now filled
  4773  //        fmt.Println(resp)
  4774  //    }
  4775  //
  4776  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListGateways
  4777  func (c *IoTSiteWise) ListGatewaysRequest(input *ListGatewaysInput) (req *request.Request, output *ListGatewaysOutput) {
  4778  	op := &request.Operation{
  4779  		Name:       opListGateways,
  4780  		HTTPMethod: "GET",
  4781  		HTTPPath:   "/20200301/gateways",
  4782  		Paginator: &request.Paginator{
  4783  			InputTokens:     []string{"nextToken"},
  4784  			OutputTokens:    []string{"nextToken"},
  4785  			LimitToken:      "maxResults",
  4786  			TruncationToken: "",
  4787  		},
  4788  	}
  4789  
  4790  	if input == nil {
  4791  		input = &ListGatewaysInput{}
  4792  	}
  4793  
  4794  	output = &ListGatewaysOutput{}
  4795  	req = c.newRequest(op, input, output)
  4796  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  4797  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  4798  	return
  4799  }
  4800  
  4801  // ListGateways API operation for AWS IoT SiteWise.
  4802  //
  4803  // Retrieves a paginated list of gateways.
  4804  //
  4805  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4806  // with awserr.Error's Code and Message methods to get detailed information about
  4807  // the error.
  4808  //
  4809  // See the AWS API reference guide for AWS IoT SiteWise's
  4810  // API operation ListGateways for usage and error information.
  4811  //
  4812  // Returned Error Types:
  4813  //   * InvalidRequestException
  4814  //   The request isn't valid. This can occur if your request contains malformed
  4815  //   JSON or unsupported characters. Check your request and try again.
  4816  //
  4817  //   * InternalFailureException
  4818  //   IoT SiteWise can't process your request right now. Try again later.
  4819  //
  4820  //   * ThrottlingException
  4821  //   Your request exceeded a rate limit. For example, you might have exceeded
  4822  //   the number of IoT SiteWise assets that can be created per second, the allowed
  4823  //   number of messages per second, and so on.
  4824  //
  4825  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  4826  //   in the IoT SiteWise User Guide.
  4827  //
  4828  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListGateways
  4829  func (c *IoTSiteWise) ListGateways(input *ListGatewaysInput) (*ListGatewaysOutput, error) {
  4830  	req, out := c.ListGatewaysRequest(input)
  4831  	return out, req.Send()
  4832  }
  4833  
  4834  // ListGatewaysWithContext is the same as ListGateways with the addition of
  4835  // the ability to pass a context and additional request options.
  4836  //
  4837  // See ListGateways for details on how to use this API operation.
  4838  //
  4839  // The context must be non-nil and will be used for request cancellation. If
  4840  // the context is nil a panic will occur. In the future the SDK may create
  4841  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4842  // for more information on using Contexts.
  4843  func (c *IoTSiteWise) ListGatewaysWithContext(ctx aws.Context, input *ListGatewaysInput, opts ...request.Option) (*ListGatewaysOutput, error) {
  4844  	req, out := c.ListGatewaysRequest(input)
  4845  	req.SetContext(ctx)
  4846  	req.ApplyOptions(opts...)
  4847  	return out, req.Send()
  4848  }
  4849  
  4850  // ListGatewaysPages iterates over the pages of a ListGateways operation,
  4851  // calling the "fn" function with the response data for each page. To stop
  4852  // iterating, return false from the fn function.
  4853  //
  4854  // See ListGateways method for more information on how to use this operation.
  4855  //
  4856  // Note: This operation can generate multiple requests to a service.
  4857  //
  4858  //    // Example iterating over at most 3 pages of a ListGateways operation.
  4859  //    pageNum := 0
  4860  //    err := client.ListGatewaysPages(params,
  4861  //        func(page *iotsitewise.ListGatewaysOutput, lastPage bool) bool {
  4862  //            pageNum++
  4863  //            fmt.Println(page)
  4864  //            return pageNum <= 3
  4865  //        })
  4866  //
  4867  func (c *IoTSiteWise) ListGatewaysPages(input *ListGatewaysInput, fn func(*ListGatewaysOutput, bool) bool) error {
  4868  	return c.ListGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
  4869  }
  4870  
  4871  // ListGatewaysPagesWithContext same as ListGatewaysPages except
  4872  // it takes a Context and allows setting request options on the pages.
  4873  //
  4874  // The context must be non-nil and will be used for request cancellation. If
  4875  // the context is nil a panic will occur. In the future the SDK may create
  4876  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4877  // for more information on using Contexts.
  4878  func (c *IoTSiteWise) ListGatewaysPagesWithContext(ctx aws.Context, input *ListGatewaysInput, fn func(*ListGatewaysOutput, bool) bool, opts ...request.Option) error {
  4879  	p := request.Pagination{
  4880  		NewRequest: func() (*request.Request, error) {
  4881  			var inCpy *ListGatewaysInput
  4882  			if input != nil {
  4883  				tmp := *input
  4884  				inCpy = &tmp
  4885  			}
  4886  			req, _ := c.ListGatewaysRequest(inCpy)
  4887  			req.SetContext(ctx)
  4888  			req.ApplyOptions(opts...)
  4889  			return req, nil
  4890  		},
  4891  	}
  4892  
  4893  	for p.Next() {
  4894  		if !fn(p.Page().(*ListGatewaysOutput), !p.HasNextPage()) {
  4895  			break
  4896  		}
  4897  	}
  4898  
  4899  	return p.Err()
  4900  }
  4901  
  4902  const opListPortals = "ListPortals"
  4903  
  4904  // ListPortalsRequest generates a "aws/request.Request" representing the
  4905  // client's request for the ListPortals operation. The "output" return
  4906  // value will be populated with the request's response once the request completes
  4907  // successfully.
  4908  //
  4909  // Use "Send" method on the returned Request to send the API call to the service.
  4910  // the "output" return value is not valid until after Send returns without error.
  4911  //
  4912  // See ListPortals for more information on using the ListPortals
  4913  // API call, and error handling.
  4914  //
  4915  // This method is useful when you want to inject custom logic or configuration
  4916  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4917  //
  4918  //
  4919  //    // Example sending a request using the ListPortalsRequest method.
  4920  //    req, resp := client.ListPortalsRequest(params)
  4921  //
  4922  //    err := req.Send()
  4923  //    if err == nil { // resp is now filled
  4924  //        fmt.Println(resp)
  4925  //    }
  4926  //
  4927  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListPortals
  4928  func (c *IoTSiteWise) ListPortalsRequest(input *ListPortalsInput) (req *request.Request, output *ListPortalsOutput) {
  4929  	op := &request.Operation{
  4930  		Name:       opListPortals,
  4931  		HTTPMethod: "GET",
  4932  		HTTPPath:   "/portals",
  4933  		Paginator: &request.Paginator{
  4934  			InputTokens:     []string{"nextToken"},
  4935  			OutputTokens:    []string{"nextToken"},
  4936  			LimitToken:      "maxResults",
  4937  			TruncationToken: "",
  4938  		},
  4939  	}
  4940  
  4941  	if input == nil {
  4942  		input = &ListPortalsInput{}
  4943  	}
  4944  
  4945  	output = &ListPortalsOutput{}
  4946  	req = c.newRequest(op, input, output)
  4947  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
  4948  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  4949  	return
  4950  }
  4951  
  4952  // ListPortals API operation for AWS IoT SiteWise.
  4953  //
  4954  // Retrieves a paginated list of IoT SiteWise Monitor portals.
  4955  //
  4956  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4957  // with awserr.Error's Code and Message methods to get detailed information about
  4958  // the error.
  4959  //
  4960  // See the AWS API reference guide for AWS IoT SiteWise's
  4961  // API operation ListPortals for usage and error information.
  4962  //
  4963  // Returned Error Types:
  4964  //   * InvalidRequestException
  4965  //   The request isn't valid. This can occur if your request contains malformed
  4966  //   JSON or unsupported characters. Check your request and try again.
  4967  //
  4968  //   * InternalFailureException
  4969  //   IoT SiteWise can't process your request right now. Try again later.
  4970  //
  4971  //   * ThrottlingException
  4972  //   Your request exceeded a rate limit. For example, you might have exceeded
  4973  //   the number of IoT SiteWise assets that can be created per second, the allowed
  4974  //   number of messages per second, and so on.
  4975  //
  4976  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  4977  //   in the IoT SiteWise User Guide.
  4978  //
  4979  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListPortals
  4980  func (c *IoTSiteWise) ListPortals(input *ListPortalsInput) (*ListPortalsOutput, error) {
  4981  	req, out := c.ListPortalsRequest(input)
  4982  	return out, req.Send()
  4983  }
  4984  
  4985  // ListPortalsWithContext is the same as ListPortals with the addition of
  4986  // the ability to pass a context and additional request options.
  4987  //
  4988  // See ListPortals for details on how to use this API operation.
  4989  //
  4990  // The context must be non-nil and will be used for request cancellation. If
  4991  // the context is nil a panic will occur. In the future the SDK may create
  4992  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4993  // for more information on using Contexts.
  4994  func (c *IoTSiteWise) ListPortalsWithContext(ctx aws.Context, input *ListPortalsInput, opts ...request.Option) (*ListPortalsOutput, error) {
  4995  	req, out := c.ListPortalsRequest(input)
  4996  	req.SetContext(ctx)
  4997  	req.ApplyOptions(opts...)
  4998  	return out, req.Send()
  4999  }
  5000  
  5001  // ListPortalsPages iterates over the pages of a ListPortals operation,
  5002  // calling the "fn" function with the response data for each page. To stop
  5003  // iterating, return false from the fn function.
  5004  //
  5005  // See ListPortals method for more information on how to use this operation.
  5006  //
  5007  // Note: This operation can generate multiple requests to a service.
  5008  //
  5009  //    // Example iterating over at most 3 pages of a ListPortals operation.
  5010  //    pageNum := 0
  5011  //    err := client.ListPortalsPages(params,
  5012  //        func(page *iotsitewise.ListPortalsOutput, lastPage bool) bool {
  5013  //            pageNum++
  5014  //            fmt.Println(page)
  5015  //            return pageNum <= 3
  5016  //        })
  5017  //
  5018  func (c *IoTSiteWise) ListPortalsPages(input *ListPortalsInput, fn func(*ListPortalsOutput, bool) bool) error {
  5019  	return c.ListPortalsPagesWithContext(aws.BackgroundContext(), input, fn)
  5020  }
  5021  
  5022  // ListPortalsPagesWithContext same as ListPortalsPages except
  5023  // it takes a Context and allows setting request options on the pages.
  5024  //
  5025  // The context must be non-nil and will be used for request cancellation. If
  5026  // the context is nil a panic will occur. In the future the SDK may create
  5027  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5028  // for more information on using Contexts.
  5029  func (c *IoTSiteWise) ListPortalsPagesWithContext(ctx aws.Context, input *ListPortalsInput, fn func(*ListPortalsOutput, bool) bool, opts ...request.Option) error {
  5030  	p := request.Pagination{
  5031  		NewRequest: func() (*request.Request, error) {
  5032  			var inCpy *ListPortalsInput
  5033  			if input != nil {
  5034  				tmp := *input
  5035  				inCpy = &tmp
  5036  			}
  5037  			req, _ := c.ListPortalsRequest(inCpy)
  5038  			req.SetContext(ctx)
  5039  			req.ApplyOptions(opts...)
  5040  			return req, nil
  5041  		},
  5042  	}
  5043  
  5044  	for p.Next() {
  5045  		if !fn(p.Page().(*ListPortalsOutput), !p.HasNextPage()) {
  5046  			break
  5047  		}
  5048  	}
  5049  
  5050  	return p.Err()
  5051  }
  5052  
  5053  const opListProjectAssets = "ListProjectAssets"
  5054  
  5055  // ListProjectAssetsRequest generates a "aws/request.Request" representing the
  5056  // client's request for the ListProjectAssets operation. The "output" return
  5057  // value will be populated with the request's response once the request completes
  5058  // successfully.
  5059  //
  5060  // Use "Send" method on the returned Request to send the API call to the service.
  5061  // the "output" return value is not valid until after Send returns without error.
  5062  //
  5063  // See ListProjectAssets for more information on using the ListProjectAssets
  5064  // API call, and error handling.
  5065  //
  5066  // This method is useful when you want to inject custom logic or configuration
  5067  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5068  //
  5069  //
  5070  //    // Example sending a request using the ListProjectAssetsRequest method.
  5071  //    req, resp := client.ListProjectAssetsRequest(params)
  5072  //
  5073  //    err := req.Send()
  5074  //    if err == nil { // resp is now filled
  5075  //        fmt.Println(resp)
  5076  //    }
  5077  //
  5078  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListProjectAssets
  5079  func (c *IoTSiteWise) ListProjectAssetsRequest(input *ListProjectAssetsInput) (req *request.Request, output *ListProjectAssetsOutput) {
  5080  	op := &request.Operation{
  5081  		Name:       opListProjectAssets,
  5082  		HTTPMethod: "GET",
  5083  		HTTPPath:   "/projects/{projectId}/assets",
  5084  		Paginator: &request.Paginator{
  5085  			InputTokens:     []string{"nextToken"},
  5086  			OutputTokens:    []string{"nextToken"},
  5087  			LimitToken:      "maxResults",
  5088  			TruncationToken: "",
  5089  		},
  5090  	}
  5091  
  5092  	if input == nil {
  5093  		input = &ListProjectAssetsInput{}
  5094  	}
  5095  
  5096  	output = &ListProjectAssetsOutput{}
  5097  	req = c.newRequest(op, input, output)
  5098  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
  5099  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  5100  	return
  5101  }
  5102  
  5103  // ListProjectAssets API operation for AWS IoT SiteWise.
  5104  //
  5105  // Retrieves a paginated list of assets associated with an IoT SiteWise Monitor
  5106  // project.
  5107  //
  5108  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5109  // with awserr.Error's Code and Message methods to get detailed information about
  5110  // the error.
  5111  //
  5112  // See the AWS API reference guide for AWS IoT SiteWise's
  5113  // API operation ListProjectAssets for usage and error information.
  5114  //
  5115  // Returned Error Types:
  5116  //   * InvalidRequestException
  5117  //   The request isn't valid. This can occur if your request contains malformed
  5118  //   JSON or unsupported characters. Check your request and try again.
  5119  //
  5120  //   * InternalFailureException
  5121  //   IoT SiteWise can't process your request right now. Try again later.
  5122  //
  5123  //   * ThrottlingException
  5124  //   Your request exceeded a rate limit. For example, you might have exceeded
  5125  //   the number of IoT SiteWise assets that can be created per second, the allowed
  5126  //   number of messages per second, and so on.
  5127  //
  5128  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  5129  //   in the IoT SiteWise User Guide.
  5130  //
  5131  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListProjectAssets
  5132  func (c *IoTSiteWise) ListProjectAssets(input *ListProjectAssetsInput) (*ListProjectAssetsOutput, error) {
  5133  	req, out := c.ListProjectAssetsRequest(input)
  5134  	return out, req.Send()
  5135  }
  5136  
  5137  // ListProjectAssetsWithContext is the same as ListProjectAssets with the addition of
  5138  // the ability to pass a context and additional request options.
  5139  //
  5140  // See ListProjectAssets for details on how to use this API operation.
  5141  //
  5142  // The context must be non-nil and will be used for request cancellation. If
  5143  // the context is nil a panic will occur. In the future the SDK may create
  5144  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5145  // for more information on using Contexts.
  5146  func (c *IoTSiteWise) ListProjectAssetsWithContext(ctx aws.Context, input *ListProjectAssetsInput, opts ...request.Option) (*ListProjectAssetsOutput, error) {
  5147  	req, out := c.ListProjectAssetsRequest(input)
  5148  	req.SetContext(ctx)
  5149  	req.ApplyOptions(opts...)
  5150  	return out, req.Send()
  5151  }
  5152  
  5153  // ListProjectAssetsPages iterates over the pages of a ListProjectAssets operation,
  5154  // calling the "fn" function with the response data for each page. To stop
  5155  // iterating, return false from the fn function.
  5156  //
  5157  // See ListProjectAssets method for more information on how to use this operation.
  5158  //
  5159  // Note: This operation can generate multiple requests to a service.
  5160  //
  5161  //    // Example iterating over at most 3 pages of a ListProjectAssets operation.
  5162  //    pageNum := 0
  5163  //    err := client.ListProjectAssetsPages(params,
  5164  //        func(page *iotsitewise.ListProjectAssetsOutput, lastPage bool) bool {
  5165  //            pageNum++
  5166  //            fmt.Println(page)
  5167  //            return pageNum <= 3
  5168  //        })
  5169  //
  5170  func (c *IoTSiteWise) ListProjectAssetsPages(input *ListProjectAssetsInput, fn func(*ListProjectAssetsOutput, bool) bool) error {
  5171  	return c.ListProjectAssetsPagesWithContext(aws.BackgroundContext(), input, fn)
  5172  }
  5173  
  5174  // ListProjectAssetsPagesWithContext same as ListProjectAssetsPages except
  5175  // it takes a Context and allows setting request options on the pages.
  5176  //
  5177  // The context must be non-nil and will be used for request cancellation. If
  5178  // the context is nil a panic will occur. In the future the SDK may create
  5179  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5180  // for more information on using Contexts.
  5181  func (c *IoTSiteWise) ListProjectAssetsPagesWithContext(ctx aws.Context, input *ListProjectAssetsInput, fn func(*ListProjectAssetsOutput, bool) bool, opts ...request.Option) error {
  5182  	p := request.Pagination{
  5183  		NewRequest: func() (*request.Request, error) {
  5184  			var inCpy *ListProjectAssetsInput
  5185  			if input != nil {
  5186  				tmp := *input
  5187  				inCpy = &tmp
  5188  			}
  5189  			req, _ := c.ListProjectAssetsRequest(inCpy)
  5190  			req.SetContext(ctx)
  5191  			req.ApplyOptions(opts...)
  5192  			return req, nil
  5193  		},
  5194  	}
  5195  
  5196  	for p.Next() {
  5197  		if !fn(p.Page().(*ListProjectAssetsOutput), !p.HasNextPage()) {
  5198  			break
  5199  		}
  5200  	}
  5201  
  5202  	return p.Err()
  5203  }
  5204  
  5205  const opListProjects = "ListProjects"
  5206  
  5207  // ListProjectsRequest generates a "aws/request.Request" representing the
  5208  // client's request for the ListProjects operation. The "output" return
  5209  // value will be populated with the request's response once the request completes
  5210  // successfully.
  5211  //
  5212  // Use "Send" method on the returned Request to send the API call to the service.
  5213  // the "output" return value is not valid until after Send returns without error.
  5214  //
  5215  // See ListProjects for more information on using the ListProjects
  5216  // API call, and error handling.
  5217  //
  5218  // This method is useful when you want to inject custom logic or configuration
  5219  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5220  //
  5221  //
  5222  //    // Example sending a request using the ListProjectsRequest method.
  5223  //    req, resp := client.ListProjectsRequest(params)
  5224  //
  5225  //    err := req.Send()
  5226  //    if err == nil { // resp is now filled
  5227  //        fmt.Println(resp)
  5228  //    }
  5229  //
  5230  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListProjects
  5231  func (c *IoTSiteWise) ListProjectsRequest(input *ListProjectsInput) (req *request.Request, output *ListProjectsOutput) {
  5232  	op := &request.Operation{
  5233  		Name:       opListProjects,
  5234  		HTTPMethod: "GET",
  5235  		HTTPPath:   "/projects",
  5236  		Paginator: &request.Paginator{
  5237  			InputTokens:     []string{"nextToken"},
  5238  			OutputTokens:    []string{"nextToken"},
  5239  			LimitToken:      "maxResults",
  5240  			TruncationToken: "",
  5241  		},
  5242  	}
  5243  
  5244  	if input == nil {
  5245  		input = &ListProjectsInput{}
  5246  	}
  5247  
  5248  	output = &ListProjectsOutput{}
  5249  	req = c.newRequest(op, input, output)
  5250  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
  5251  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  5252  	return
  5253  }
  5254  
  5255  // ListProjects API operation for AWS IoT SiteWise.
  5256  //
  5257  // Retrieves a paginated list of projects for an IoT SiteWise Monitor portal.
  5258  //
  5259  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5260  // with awserr.Error's Code and Message methods to get detailed information about
  5261  // the error.
  5262  //
  5263  // See the AWS API reference guide for AWS IoT SiteWise's
  5264  // API operation ListProjects for usage and error information.
  5265  //
  5266  // Returned Error Types:
  5267  //   * InvalidRequestException
  5268  //   The request isn't valid. This can occur if your request contains malformed
  5269  //   JSON or unsupported characters. Check your request and try again.
  5270  //
  5271  //   * InternalFailureException
  5272  //   IoT SiteWise can't process your request right now. Try again later.
  5273  //
  5274  //   * ThrottlingException
  5275  //   Your request exceeded a rate limit. For example, you might have exceeded
  5276  //   the number of IoT SiteWise assets that can be created per second, the allowed
  5277  //   number of messages per second, and so on.
  5278  //
  5279  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  5280  //   in the IoT SiteWise User Guide.
  5281  //
  5282  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListProjects
  5283  func (c *IoTSiteWise) ListProjects(input *ListProjectsInput) (*ListProjectsOutput, error) {
  5284  	req, out := c.ListProjectsRequest(input)
  5285  	return out, req.Send()
  5286  }
  5287  
  5288  // ListProjectsWithContext is the same as ListProjects with the addition of
  5289  // the ability to pass a context and additional request options.
  5290  //
  5291  // See ListProjects for details on how to use this API operation.
  5292  //
  5293  // The context must be non-nil and will be used for request cancellation. If
  5294  // the context is nil a panic will occur. In the future the SDK may create
  5295  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5296  // for more information on using Contexts.
  5297  func (c *IoTSiteWise) ListProjectsWithContext(ctx aws.Context, input *ListProjectsInput, opts ...request.Option) (*ListProjectsOutput, error) {
  5298  	req, out := c.ListProjectsRequest(input)
  5299  	req.SetContext(ctx)
  5300  	req.ApplyOptions(opts...)
  5301  	return out, req.Send()
  5302  }
  5303  
  5304  // ListProjectsPages iterates over the pages of a ListProjects operation,
  5305  // calling the "fn" function with the response data for each page. To stop
  5306  // iterating, return false from the fn function.
  5307  //
  5308  // See ListProjects method for more information on how to use this operation.
  5309  //
  5310  // Note: This operation can generate multiple requests to a service.
  5311  //
  5312  //    // Example iterating over at most 3 pages of a ListProjects operation.
  5313  //    pageNum := 0
  5314  //    err := client.ListProjectsPages(params,
  5315  //        func(page *iotsitewise.ListProjectsOutput, lastPage bool) bool {
  5316  //            pageNum++
  5317  //            fmt.Println(page)
  5318  //            return pageNum <= 3
  5319  //        })
  5320  //
  5321  func (c *IoTSiteWise) ListProjectsPages(input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool) error {
  5322  	return c.ListProjectsPagesWithContext(aws.BackgroundContext(), input, fn)
  5323  }
  5324  
  5325  // ListProjectsPagesWithContext same as ListProjectsPages except
  5326  // it takes a Context and allows setting request options on the pages.
  5327  //
  5328  // The context must be non-nil and will be used for request cancellation. If
  5329  // the context is nil a panic will occur. In the future the SDK may create
  5330  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5331  // for more information on using Contexts.
  5332  func (c *IoTSiteWise) ListProjectsPagesWithContext(ctx aws.Context, input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool, opts ...request.Option) error {
  5333  	p := request.Pagination{
  5334  		NewRequest: func() (*request.Request, error) {
  5335  			var inCpy *ListProjectsInput
  5336  			if input != nil {
  5337  				tmp := *input
  5338  				inCpy = &tmp
  5339  			}
  5340  			req, _ := c.ListProjectsRequest(inCpy)
  5341  			req.SetContext(ctx)
  5342  			req.ApplyOptions(opts...)
  5343  			return req, nil
  5344  		},
  5345  	}
  5346  
  5347  	for p.Next() {
  5348  		if !fn(p.Page().(*ListProjectsOutput), !p.HasNextPage()) {
  5349  			break
  5350  		}
  5351  	}
  5352  
  5353  	return p.Err()
  5354  }
  5355  
  5356  const opListTagsForResource = "ListTagsForResource"
  5357  
  5358  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  5359  // client's request for the ListTagsForResource operation. The "output" return
  5360  // value will be populated with the request's response once the request completes
  5361  // successfully.
  5362  //
  5363  // Use "Send" method on the returned Request to send the API call to the service.
  5364  // the "output" return value is not valid until after Send returns without error.
  5365  //
  5366  // See ListTagsForResource for more information on using the ListTagsForResource
  5367  // API call, and error handling.
  5368  //
  5369  // This method is useful when you want to inject custom logic or configuration
  5370  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5371  //
  5372  //
  5373  //    // Example sending a request using the ListTagsForResourceRequest method.
  5374  //    req, resp := client.ListTagsForResourceRequest(params)
  5375  //
  5376  //    err := req.Send()
  5377  //    if err == nil { // resp is now filled
  5378  //        fmt.Println(resp)
  5379  //    }
  5380  //
  5381  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListTagsForResource
  5382  func (c *IoTSiteWise) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  5383  	op := &request.Operation{
  5384  		Name:       opListTagsForResource,
  5385  		HTTPMethod: "GET",
  5386  		HTTPPath:   "/tags",
  5387  	}
  5388  
  5389  	if input == nil {
  5390  		input = &ListTagsForResourceInput{}
  5391  	}
  5392  
  5393  	output = &ListTagsForResourceOutput{}
  5394  	req = c.newRequest(op, input, output)
  5395  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  5396  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  5397  	return
  5398  }
  5399  
  5400  // ListTagsForResource API operation for AWS IoT SiteWise.
  5401  //
  5402  // Retrieves the list of tags for an IoT SiteWise resource.
  5403  //
  5404  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5405  // with awserr.Error's Code and Message methods to get detailed information about
  5406  // the error.
  5407  //
  5408  // See the AWS API reference guide for AWS IoT SiteWise's
  5409  // API operation ListTagsForResource for usage and error information.
  5410  //
  5411  // Returned Error Types:
  5412  //   * InvalidRequestException
  5413  //   The request isn't valid. This can occur if your request contains malformed
  5414  //   JSON or unsupported characters. Check your request and try again.
  5415  //
  5416  //   * InternalFailureException
  5417  //   IoT SiteWise can't process your request right now. Try again later.
  5418  //
  5419  //   * ThrottlingException
  5420  //   Your request exceeded a rate limit. For example, you might have exceeded
  5421  //   the number of IoT SiteWise assets that can be created per second, the allowed
  5422  //   number of messages per second, and so on.
  5423  //
  5424  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  5425  //   in the IoT SiteWise User Guide.
  5426  //
  5427  //   * ResourceNotFoundException
  5428  //   The requested resource can't be found.
  5429  //
  5430  //   * ConflictingOperationException
  5431  //   Your request has conflicting operations. This can occur if you're trying
  5432  //   to perform more than one operation on the same resource at the same time.
  5433  //
  5434  //   * LimitExceededException
  5435  //   You've reached the limit for a resource. For example, this can occur if you're
  5436  //   trying to associate more than the allowed number of child assets or attempting
  5437  //   to create more than the allowed number of properties for an asset model.
  5438  //
  5439  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  5440  //   in the IoT SiteWise User Guide.
  5441  //
  5442  //   * UnauthorizedException
  5443  //   You are not authorized.
  5444  //
  5445  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListTagsForResource
  5446  func (c *IoTSiteWise) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  5447  	req, out := c.ListTagsForResourceRequest(input)
  5448  	return out, req.Send()
  5449  }
  5450  
  5451  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  5452  // the ability to pass a context and additional request options.
  5453  //
  5454  // See ListTagsForResource for details on how to use this API operation.
  5455  //
  5456  // The context must be non-nil and will be used for request cancellation. If
  5457  // the context is nil a panic will occur. In the future the SDK may create
  5458  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5459  // for more information on using Contexts.
  5460  func (c *IoTSiteWise) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  5461  	req, out := c.ListTagsForResourceRequest(input)
  5462  	req.SetContext(ctx)
  5463  	req.ApplyOptions(opts...)
  5464  	return out, req.Send()
  5465  }
  5466  
  5467  const opPutDefaultEncryptionConfiguration = "PutDefaultEncryptionConfiguration"
  5468  
  5469  // PutDefaultEncryptionConfigurationRequest generates a "aws/request.Request" representing the
  5470  // client's request for the PutDefaultEncryptionConfiguration operation. The "output" return
  5471  // value will be populated with the request's response once the request completes
  5472  // successfully.
  5473  //
  5474  // Use "Send" method on the returned Request to send the API call to the service.
  5475  // the "output" return value is not valid until after Send returns without error.
  5476  //
  5477  // See PutDefaultEncryptionConfiguration for more information on using the PutDefaultEncryptionConfiguration
  5478  // API call, and error handling.
  5479  //
  5480  // This method is useful when you want to inject custom logic or configuration
  5481  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5482  //
  5483  //
  5484  //    // Example sending a request using the PutDefaultEncryptionConfigurationRequest method.
  5485  //    req, resp := client.PutDefaultEncryptionConfigurationRequest(params)
  5486  //
  5487  //    err := req.Send()
  5488  //    if err == nil { // resp is now filled
  5489  //        fmt.Println(resp)
  5490  //    }
  5491  //
  5492  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutDefaultEncryptionConfiguration
  5493  func (c *IoTSiteWise) PutDefaultEncryptionConfigurationRequest(input *PutDefaultEncryptionConfigurationInput) (req *request.Request, output *PutDefaultEncryptionConfigurationOutput) {
  5494  	op := &request.Operation{
  5495  		Name:       opPutDefaultEncryptionConfiguration,
  5496  		HTTPMethod: "POST",
  5497  		HTTPPath:   "/configuration/account/encryption",
  5498  	}
  5499  
  5500  	if input == nil {
  5501  		input = &PutDefaultEncryptionConfigurationInput{}
  5502  	}
  5503  
  5504  	output = &PutDefaultEncryptionConfigurationOutput{}
  5505  	req = c.newRequest(op, input, output)
  5506  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  5507  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  5508  	return
  5509  }
  5510  
  5511  // PutDefaultEncryptionConfiguration API operation for AWS IoT SiteWise.
  5512  //
  5513  // Sets the default encryption configuration for the Amazon Web Services account.
  5514  // For more information, see Key management (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/key-management.html)
  5515  // in the IoT SiteWise User Guide.
  5516  //
  5517  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5518  // with awserr.Error's Code and Message methods to get detailed information about
  5519  // the error.
  5520  //
  5521  // See the AWS API reference guide for AWS IoT SiteWise's
  5522  // API operation PutDefaultEncryptionConfiguration for usage and error information.
  5523  //
  5524  // Returned Error Types:
  5525  //   * InvalidRequestException
  5526  //   The request isn't valid. This can occur if your request contains malformed
  5527  //   JSON or unsupported characters. Check your request and try again.
  5528  //
  5529  //   * InternalFailureException
  5530  //   IoT SiteWise can't process your request right now. Try again later.
  5531  //
  5532  //   * ThrottlingException
  5533  //   Your request exceeded a rate limit. For example, you might have exceeded
  5534  //   the number of IoT SiteWise assets that can be created per second, the allowed
  5535  //   number of messages per second, and so on.
  5536  //
  5537  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  5538  //   in the IoT SiteWise User Guide.
  5539  //
  5540  //   * LimitExceededException
  5541  //   You've reached the limit for a resource. For example, this can occur if you're
  5542  //   trying to associate more than the allowed number of child assets or attempting
  5543  //   to create more than the allowed number of properties for an asset model.
  5544  //
  5545  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  5546  //   in the IoT SiteWise User Guide.
  5547  //
  5548  //   * ConflictingOperationException
  5549  //   Your request has conflicting operations. This can occur if you're trying
  5550  //   to perform more than one operation on the same resource at the same time.
  5551  //
  5552  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutDefaultEncryptionConfiguration
  5553  func (c *IoTSiteWise) PutDefaultEncryptionConfiguration(input *PutDefaultEncryptionConfigurationInput) (*PutDefaultEncryptionConfigurationOutput, error) {
  5554  	req, out := c.PutDefaultEncryptionConfigurationRequest(input)
  5555  	return out, req.Send()
  5556  }
  5557  
  5558  // PutDefaultEncryptionConfigurationWithContext is the same as PutDefaultEncryptionConfiguration with the addition of
  5559  // the ability to pass a context and additional request options.
  5560  //
  5561  // See PutDefaultEncryptionConfiguration for details on how to use this API operation.
  5562  //
  5563  // The context must be non-nil and will be used for request cancellation. If
  5564  // the context is nil a panic will occur. In the future the SDK may create
  5565  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5566  // for more information on using Contexts.
  5567  func (c *IoTSiteWise) PutDefaultEncryptionConfigurationWithContext(ctx aws.Context, input *PutDefaultEncryptionConfigurationInput, opts ...request.Option) (*PutDefaultEncryptionConfigurationOutput, error) {
  5568  	req, out := c.PutDefaultEncryptionConfigurationRequest(input)
  5569  	req.SetContext(ctx)
  5570  	req.ApplyOptions(opts...)
  5571  	return out, req.Send()
  5572  }
  5573  
  5574  const opPutLoggingOptions = "PutLoggingOptions"
  5575  
  5576  // PutLoggingOptionsRequest generates a "aws/request.Request" representing the
  5577  // client's request for the PutLoggingOptions operation. The "output" return
  5578  // value will be populated with the request's response once the request completes
  5579  // successfully.
  5580  //
  5581  // Use "Send" method on the returned Request to send the API call to the service.
  5582  // the "output" return value is not valid until after Send returns without error.
  5583  //
  5584  // See PutLoggingOptions for more information on using the PutLoggingOptions
  5585  // API call, and error handling.
  5586  //
  5587  // This method is useful when you want to inject custom logic or configuration
  5588  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5589  //
  5590  //
  5591  //    // Example sending a request using the PutLoggingOptionsRequest method.
  5592  //    req, resp := client.PutLoggingOptionsRequest(params)
  5593  //
  5594  //    err := req.Send()
  5595  //    if err == nil { // resp is now filled
  5596  //        fmt.Println(resp)
  5597  //    }
  5598  //
  5599  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutLoggingOptions
  5600  func (c *IoTSiteWise) PutLoggingOptionsRequest(input *PutLoggingOptionsInput) (req *request.Request, output *PutLoggingOptionsOutput) {
  5601  	op := &request.Operation{
  5602  		Name:       opPutLoggingOptions,
  5603  		HTTPMethod: "PUT",
  5604  		HTTPPath:   "/logging",
  5605  	}
  5606  
  5607  	if input == nil {
  5608  		input = &PutLoggingOptionsInput{}
  5609  	}
  5610  
  5611  	output = &PutLoggingOptionsOutput{}
  5612  	req = c.newRequest(op, input, output)
  5613  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5614  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  5615  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  5616  	return
  5617  }
  5618  
  5619  // PutLoggingOptions API operation for AWS IoT SiteWise.
  5620  //
  5621  // Sets logging options for IoT SiteWise.
  5622  //
  5623  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5624  // with awserr.Error's Code and Message methods to get detailed information about
  5625  // the error.
  5626  //
  5627  // See the AWS API reference guide for AWS IoT SiteWise's
  5628  // API operation PutLoggingOptions for usage and error information.
  5629  //
  5630  // Returned Error Types:
  5631  //   * InvalidRequestException
  5632  //   The request isn't valid. This can occur if your request contains malformed
  5633  //   JSON or unsupported characters. Check your request and try again.
  5634  //
  5635  //   * ThrottlingException
  5636  //   Your request exceeded a rate limit. For example, you might have exceeded
  5637  //   the number of IoT SiteWise assets that can be created per second, the allowed
  5638  //   number of messages per second, and so on.
  5639  //
  5640  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  5641  //   in the IoT SiteWise User Guide.
  5642  //
  5643  //   * InternalFailureException
  5644  //   IoT SiteWise can't process your request right now. Try again later.
  5645  //
  5646  //   * ConflictingOperationException
  5647  //   Your request has conflicting operations. This can occur if you're trying
  5648  //   to perform more than one operation on the same resource at the same time.
  5649  //
  5650  //   * ResourceNotFoundException
  5651  //   The requested resource can't be found.
  5652  //
  5653  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutLoggingOptions
  5654  func (c *IoTSiteWise) PutLoggingOptions(input *PutLoggingOptionsInput) (*PutLoggingOptionsOutput, error) {
  5655  	req, out := c.PutLoggingOptionsRequest(input)
  5656  	return out, req.Send()
  5657  }
  5658  
  5659  // PutLoggingOptionsWithContext is the same as PutLoggingOptions with the addition of
  5660  // the ability to pass a context and additional request options.
  5661  //
  5662  // See PutLoggingOptions for details on how to use this API operation.
  5663  //
  5664  // The context must be non-nil and will be used for request cancellation. If
  5665  // the context is nil a panic will occur. In the future the SDK may create
  5666  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5667  // for more information on using Contexts.
  5668  func (c *IoTSiteWise) PutLoggingOptionsWithContext(ctx aws.Context, input *PutLoggingOptionsInput, opts ...request.Option) (*PutLoggingOptionsOutput, error) {
  5669  	req, out := c.PutLoggingOptionsRequest(input)
  5670  	req.SetContext(ctx)
  5671  	req.ApplyOptions(opts...)
  5672  	return out, req.Send()
  5673  }
  5674  
  5675  const opPutStorageConfiguration = "PutStorageConfiguration"
  5676  
  5677  // PutStorageConfigurationRequest generates a "aws/request.Request" representing the
  5678  // client's request for the PutStorageConfiguration operation. The "output" return
  5679  // value will be populated with the request's response once the request completes
  5680  // successfully.
  5681  //
  5682  // Use "Send" method on the returned Request to send the API call to the service.
  5683  // the "output" return value is not valid until after Send returns without error.
  5684  //
  5685  // See PutStorageConfiguration for more information on using the PutStorageConfiguration
  5686  // API call, and error handling.
  5687  //
  5688  // This method is useful when you want to inject custom logic or configuration
  5689  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5690  //
  5691  //
  5692  //    // Example sending a request using the PutStorageConfigurationRequest method.
  5693  //    req, resp := client.PutStorageConfigurationRequest(params)
  5694  //
  5695  //    err := req.Send()
  5696  //    if err == nil { // resp is now filled
  5697  //        fmt.Println(resp)
  5698  //    }
  5699  //
  5700  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutStorageConfiguration
  5701  func (c *IoTSiteWise) PutStorageConfigurationRequest(input *PutStorageConfigurationInput) (req *request.Request, output *PutStorageConfigurationOutput) {
  5702  	op := &request.Operation{
  5703  		Name:       opPutStorageConfiguration,
  5704  		HTTPMethod: "POST",
  5705  		HTTPPath:   "/configuration/account/storage",
  5706  	}
  5707  
  5708  	if input == nil {
  5709  		input = &PutStorageConfigurationInput{}
  5710  	}
  5711  
  5712  	output = &PutStorageConfigurationOutput{}
  5713  	req = c.newRequest(op, input, output)
  5714  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  5715  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  5716  	return
  5717  }
  5718  
  5719  // PutStorageConfiguration API operation for AWS IoT SiteWise.
  5720  //
  5721  // Configures storage settings for IoT SiteWise.
  5722  //
  5723  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5724  // with awserr.Error's Code and Message methods to get detailed information about
  5725  // the error.
  5726  //
  5727  // See the AWS API reference guide for AWS IoT SiteWise's
  5728  // API operation PutStorageConfiguration for usage and error information.
  5729  //
  5730  // Returned Error Types:
  5731  //   * InvalidRequestException
  5732  //   The request isn't valid. This can occur if your request contains malformed
  5733  //   JSON or unsupported characters. Check your request and try again.
  5734  //
  5735  //   * ResourceAlreadyExistsException
  5736  //   The resource already exists.
  5737  //
  5738  //   * ResourceNotFoundException
  5739  //   The requested resource can't be found.
  5740  //
  5741  //   * InternalFailureException
  5742  //   IoT SiteWise can't process your request right now. Try again later.
  5743  //
  5744  //   * ThrottlingException
  5745  //   Your request exceeded a rate limit. For example, you might have exceeded
  5746  //   the number of IoT SiteWise assets that can be created per second, the allowed
  5747  //   number of messages per second, and so on.
  5748  //
  5749  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  5750  //   in the IoT SiteWise User Guide.
  5751  //
  5752  //   * LimitExceededException
  5753  //   You've reached the limit for a resource. For example, this can occur if you're
  5754  //   trying to associate more than the allowed number of child assets or attempting
  5755  //   to create more than the allowed number of properties for an asset model.
  5756  //
  5757  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  5758  //   in the IoT SiteWise User Guide.
  5759  //
  5760  //   * ConflictingOperationException
  5761  //   Your request has conflicting operations. This can occur if you're trying
  5762  //   to perform more than one operation on the same resource at the same time.
  5763  //
  5764  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutStorageConfiguration
  5765  func (c *IoTSiteWise) PutStorageConfiguration(input *PutStorageConfigurationInput) (*PutStorageConfigurationOutput, error) {
  5766  	req, out := c.PutStorageConfigurationRequest(input)
  5767  	return out, req.Send()
  5768  }
  5769  
  5770  // PutStorageConfigurationWithContext is the same as PutStorageConfiguration with the addition of
  5771  // the ability to pass a context and additional request options.
  5772  //
  5773  // See PutStorageConfiguration for details on how to use this API operation.
  5774  //
  5775  // The context must be non-nil and will be used for request cancellation. If
  5776  // the context is nil a panic will occur. In the future the SDK may create
  5777  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5778  // for more information on using Contexts.
  5779  func (c *IoTSiteWise) PutStorageConfigurationWithContext(ctx aws.Context, input *PutStorageConfigurationInput, opts ...request.Option) (*PutStorageConfigurationOutput, error) {
  5780  	req, out := c.PutStorageConfigurationRequest(input)
  5781  	req.SetContext(ctx)
  5782  	req.ApplyOptions(opts...)
  5783  	return out, req.Send()
  5784  }
  5785  
  5786  const opTagResource = "TagResource"
  5787  
  5788  // TagResourceRequest generates a "aws/request.Request" representing the
  5789  // client's request for the TagResource operation. The "output" return
  5790  // value will be populated with the request's response once the request completes
  5791  // successfully.
  5792  //
  5793  // Use "Send" method on the returned Request to send the API call to the service.
  5794  // the "output" return value is not valid until after Send returns without error.
  5795  //
  5796  // See TagResource for more information on using the TagResource
  5797  // API call, and error handling.
  5798  //
  5799  // This method is useful when you want to inject custom logic or configuration
  5800  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5801  //
  5802  //
  5803  //    // Example sending a request using the TagResourceRequest method.
  5804  //    req, resp := client.TagResourceRequest(params)
  5805  //
  5806  //    err := req.Send()
  5807  //    if err == nil { // resp is now filled
  5808  //        fmt.Println(resp)
  5809  //    }
  5810  //
  5811  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/TagResource
  5812  func (c *IoTSiteWise) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  5813  	op := &request.Operation{
  5814  		Name:       opTagResource,
  5815  		HTTPMethod: "POST",
  5816  		HTTPPath:   "/tags",
  5817  	}
  5818  
  5819  	if input == nil {
  5820  		input = &TagResourceInput{}
  5821  	}
  5822  
  5823  	output = &TagResourceOutput{}
  5824  	req = c.newRequest(op, input, output)
  5825  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5826  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  5827  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  5828  	return
  5829  }
  5830  
  5831  // TagResource API operation for AWS IoT SiteWise.
  5832  //
  5833  // Adds tags to an IoT SiteWise resource. If a tag already exists for the resource,
  5834  // this operation updates the tag's value.
  5835  //
  5836  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5837  // with awserr.Error's Code and Message methods to get detailed information about
  5838  // the error.
  5839  //
  5840  // See the AWS API reference guide for AWS IoT SiteWise's
  5841  // API operation TagResource for usage and error information.
  5842  //
  5843  // Returned Error Types:
  5844  //   * InvalidRequestException
  5845  //   The request isn't valid. This can occur if your request contains malformed
  5846  //   JSON or unsupported characters. Check your request and try again.
  5847  //
  5848  //   * InternalFailureException
  5849  //   IoT SiteWise can't process your request right now. Try again later.
  5850  //
  5851  //   * ThrottlingException
  5852  //   Your request exceeded a rate limit. For example, you might have exceeded
  5853  //   the number of IoT SiteWise assets that can be created per second, the allowed
  5854  //   number of messages per second, and so on.
  5855  //
  5856  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  5857  //   in the IoT SiteWise User Guide.
  5858  //
  5859  //   * ResourceNotFoundException
  5860  //   The requested resource can't be found.
  5861  //
  5862  //   * ConflictingOperationException
  5863  //   Your request has conflicting operations. This can occur if you're trying
  5864  //   to perform more than one operation on the same resource at the same time.
  5865  //
  5866  //   * LimitExceededException
  5867  //   You've reached the limit for a resource. For example, this can occur if you're
  5868  //   trying to associate more than the allowed number of child assets or attempting
  5869  //   to create more than the allowed number of properties for an asset model.
  5870  //
  5871  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  5872  //   in the IoT SiteWise User Guide.
  5873  //
  5874  //   * UnauthorizedException
  5875  //   You are not authorized.
  5876  //
  5877  //   * TooManyTagsException
  5878  //   You've reached the limit for the number of tags allowed for a resource. For
  5879  //   more information, see Tag naming limits and requirements (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions)
  5880  //   in the Amazon Web Services General Reference.
  5881  //
  5882  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/TagResource
  5883  func (c *IoTSiteWise) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  5884  	req, out := c.TagResourceRequest(input)
  5885  	return out, req.Send()
  5886  }
  5887  
  5888  // TagResourceWithContext is the same as TagResource with the addition of
  5889  // the ability to pass a context and additional request options.
  5890  //
  5891  // See TagResource for details on how to use this API operation.
  5892  //
  5893  // The context must be non-nil and will be used for request cancellation. If
  5894  // the context is nil a panic will occur. In the future the SDK may create
  5895  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5896  // for more information on using Contexts.
  5897  func (c *IoTSiteWise) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  5898  	req, out := c.TagResourceRequest(input)
  5899  	req.SetContext(ctx)
  5900  	req.ApplyOptions(opts...)
  5901  	return out, req.Send()
  5902  }
  5903  
  5904  const opUntagResource = "UntagResource"
  5905  
  5906  // UntagResourceRequest generates a "aws/request.Request" representing the
  5907  // client's request for the UntagResource operation. The "output" return
  5908  // value will be populated with the request's response once the request completes
  5909  // successfully.
  5910  //
  5911  // Use "Send" method on the returned Request to send the API call to the service.
  5912  // the "output" return value is not valid until after Send returns without error.
  5913  //
  5914  // See UntagResource for more information on using the UntagResource
  5915  // API call, and error handling.
  5916  //
  5917  // This method is useful when you want to inject custom logic or configuration
  5918  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5919  //
  5920  //
  5921  //    // Example sending a request using the UntagResourceRequest method.
  5922  //    req, resp := client.UntagResourceRequest(params)
  5923  //
  5924  //    err := req.Send()
  5925  //    if err == nil { // resp is now filled
  5926  //        fmt.Println(resp)
  5927  //    }
  5928  //
  5929  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UntagResource
  5930  func (c *IoTSiteWise) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  5931  	op := &request.Operation{
  5932  		Name:       opUntagResource,
  5933  		HTTPMethod: "DELETE",
  5934  		HTTPPath:   "/tags",
  5935  	}
  5936  
  5937  	if input == nil {
  5938  		input = &UntagResourceInput{}
  5939  	}
  5940  
  5941  	output = &UntagResourceOutput{}
  5942  	req = c.newRequest(op, input, output)
  5943  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5944  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  5945  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  5946  	return
  5947  }
  5948  
  5949  // UntagResource API operation for AWS IoT SiteWise.
  5950  //
  5951  // Removes a tag from an IoT SiteWise resource.
  5952  //
  5953  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5954  // with awserr.Error's Code and Message methods to get detailed information about
  5955  // the error.
  5956  //
  5957  // See the AWS API reference guide for AWS IoT SiteWise's
  5958  // API operation UntagResource for usage and error information.
  5959  //
  5960  // Returned Error Types:
  5961  //   * InvalidRequestException
  5962  //   The request isn't valid. This can occur if your request contains malformed
  5963  //   JSON or unsupported characters. Check your request and try again.
  5964  //
  5965  //   * InternalFailureException
  5966  //   IoT SiteWise can't process your request right now. Try again later.
  5967  //
  5968  //   * ThrottlingException
  5969  //   Your request exceeded a rate limit. For example, you might have exceeded
  5970  //   the number of IoT SiteWise assets that can be created per second, the allowed
  5971  //   number of messages per second, and so on.
  5972  //
  5973  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  5974  //   in the IoT SiteWise User Guide.
  5975  //
  5976  //   * ResourceNotFoundException
  5977  //   The requested resource can't be found.
  5978  //
  5979  //   * ConflictingOperationException
  5980  //   Your request has conflicting operations. This can occur if you're trying
  5981  //   to perform more than one operation on the same resource at the same time.
  5982  //
  5983  //   * LimitExceededException
  5984  //   You've reached the limit for a resource. For example, this can occur if you're
  5985  //   trying to associate more than the allowed number of child assets or attempting
  5986  //   to create more than the allowed number of properties for an asset model.
  5987  //
  5988  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  5989  //   in the IoT SiteWise User Guide.
  5990  //
  5991  //   * UnauthorizedException
  5992  //   You are not authorized.
  5993  //
  5994  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UntagResource
  5995  func (c *IoTSiteWise) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  5996  	req, out := c.UntagResourceRequest(input)
  5997  	return out, req.Send()
  5998  }
  5999  
  6000  // UntagResourceWithContext is the same as UntagResource with the addition of
  6001  // the ability to pass a context and additional request options.
  6002  //
  6003  // See UntagResource for details on how to use this API operation.
  6004  //
  6005  // The context must be non-nil and will be used for request cancellation. If
  6006  // the context is nil a panic will occur. In the future the SDK may create
  6007  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6008  // for more information on using Contexts.
  6009  func (c *IoTSiteWise) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  6010  	req, out := c.UntagResourceRequest(input)
  6011  	req.SetContext(ctx)
  6012  	req.ApplyOptions(opts...)
  6013  	return out, req.Send()
  6014  }
  6015  
  6016  const opUpdateAccessPolicy = "UpdateAccessPolicy"
  6017  
  6018  // UpdateAccessPolicyRequest generates a "aws/request.Request" representing the
  6019  // client's request for the UpdateAccessPolicy operation. The "output" return
  6020  // value will be populated with the request's response once the request completes
  6021  // successfully.
  6022  //
  6023  // Use "Send" method on the returned Request to send the API call to the service.
  6024  // the "output" return value is not valid until after Send returns without error.
  6025  //
  6026  // See UpdateAccessPolicy for more information on using the UpdateAccessPolicy
  6027  // API call, and error handling.
  6028  //
  6029  // This method is useful when you want to inject custom logic or configuration
  6030  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6031  //
  6032  //
  6033  //    // Example sending a request using the UpdateAccessPolicyRequest method.
  6034  //    req, resp := client.UpdateAccessPolicyRequest(params)
  6035  //
  6036  //    err := req.Send()
  6037  //    if err == nil { // resp is now filled
  6038  //        fmt.Println(resp)
  6039  //    }
  6040  //
  6041  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAccessPolicy
  6042  func (c *IoTSiteWise) UpdateAccessPolicyRequest(input *UpdateAccessPolicyInput) (req *request.Request, output *UpdateAccessPolicyOutput) {
  6043  	op := &request.Operation{
  6044  		Name:       opUpdateAccessPolicy,
  6045  		HTTPMethod: "PUT",
  6046  		HTTPPath:   "/access-policies/{accessPolicyId}",
  6047  	}
  6048  
  6049  	if input == nil {
  6050  		input = &UpdateAccessPolicyInput{}
  6051  	}
  6052  
  6053  	output = &UpdateAccessPolicyOutput{}
  6054  	req = c.newRequest(op, input, output)
  6055  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6056  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
  6057  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  6058  	return
  6059  }
  6060  
  6061  // UpdateAccessPolicy API operation for AWS IoT SiteWise.
  6062  //
  6063  // Updates an existing access policy that specifies an identity's access to
  6064  // an IoT SiteWise Monitor portal or project resource.
  6065  //
  6066  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6067  // with awserr.Error's Code and Message methods to get detailed information about
  6068  // the error.
  6069  //
  6070  // See the AWS API reference guide for AWS IoT SiteWise's
  6071  // API operation UpdateAccessPolicy for usage and error information.
  6072  //
  6073  // Returned Error Types:
  6074  //   * InvalidRequestException
  6075  //   The request isn't valid. This can occur if your request contains malformed
  6076  //   JSON or unsupported characters. Check your request and try again.
  6077  //
  6078  //   * ResourceNotFoundException
  6079  //   The requested resource can't be found.
  6080  //
  6081  //   * InternalFailureException
  6082  //   IoT SiteWise can't process your request right now. Try again later.
  6083  //
  6084  //   * ThrottlingException
  6085  //   Your request exceeded a rate limit. For example, you might have exceeded
  6086  //   the number of IoT SiteWise assets that can be created per second, the allowed
  6087  //   number of messages per second, and so on.
  6088  //
  6089  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  6090  //   in the IoT SiteWise User Guide.
  6091  //
  6092  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAccessPolicy
  6093  func (c *IoTSiteWise) UpdateAccessPolicy(input *UpdateAccessPolicyInput) (*UpdateAccessPolicyOutput, error) {
  6094  	req, out := c.UpdateAccessPolicyRequest(input)
  6095  	return out, req.Send()
  6096  }
  6097  
  6098  // UpdateAccessPolicyWithContext is the same as UpdateAccessPolicy with the addition of
  6099  // the ability to pass a context and additional request options.
  6100  //
  6101  // See UpdateAccessPolicy for details on how to use this API operation.
  6102  //
  6103  // The context must be non-nil and will be used for request cancellation. If
  6104  // the context is nil a panic will occur. In the future the SDK may create
  6105  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6106  // for more information on using Contexts.
  6107  func (c *IoTSiteWise) UpdateAccessPolicyWithContext(ctx aws.Context, input *UpdateAccessPolicyInput, opts ...request.Option) (*UpdateAccessPolicyOutput, error) {
  6108  	req, out := c.UpdateAccessPolicyRequest(input)
  6109  	req.SetContext(ctx)
  6110  	req.ApplyOptions(opts...)
  6111  	return out, req.Send()
  6112  }
  6113  
  6114  const opUpdateAsset = "UpdateAsset"
  6115  
  6116  // UpdateAssetRequest generates a "aws/request.Request" representing the
  6117  // client's request for the UpdateAsset operation. The "output" return
  6118  // value will be populated with the request's response once the request completes
  6119  // successfully.
  6120  //
  6121  // Use "Send" method on the returned Request to send the API call to the service.
  6122  // the "output" return value is not valid until after Send returns without error.
  6123  //
  6124  // See UpdateAsset for more information on using the UpdateAsset
  6125  // API call, and error handling.
  6126  //
  6127  // This method is useful when you want to inject custom logic or configuration
  6128  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6129  //
  6130  //
  6131  //    // Example sending a request using the UpdateAssetRequest method.
  6132  //    req, resp := client.UpdateAssetRequest(params)
  6133  //
  6134  //    err := req.Send()
  6135  //    if err == nil { // resp is now filled
  6136  //        fmt.Println(resp)
  6137  //    }
  6138  //
  6139  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAsset
  6140  func (c *IoTSiteWise) UpdateAssetRequest(input *UpdateAssetInput) (req *request.Request, output *UpdateAssetOutput) {
  6141  	op := &request.Operation{
  6142  		Name:       opUpdateAsset,
  6143  		HTTPMethod: "PUT",
  6144  		HTTPPath:   "/assets/{assetId}",
  6145  	}
  6146  
  6147  	if input == nil {
  6148  		input = &UpdateAssetInput{}
  6149  	}
  6150  
  6151  	output = &UpdateAssetOutput{}
  6152  	req = c.newRequest(op, input, output)
  6153  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  6154  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  6155  	return
  6156  }
  6157  
  6158  // UpdateAsset API operation for AWS IoT SiteWise.
  6159  //
  6160  // Updates an asset's name. For more information, see Updating assets and models
  6161  // (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-assets-and-models.html)
  6162  // in the IoT SiteWise User Guide.
  6163  //
  6164  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6165  // with awserr.Error's Code and Message methods to get detailed information about
  6166  // the error.
  6167  //
  6168  // See the AWS API reference guide for AWS IoT SiteWise's
  6169  // API operation UpdateAsset for usage and error information.
  6170  //
  6171  // Returned Error Types:
  6172  //   * InvalidRequestException
  6173  //   The request isn't valid. This can occur if your request contains malformed
  6174  //   JSON or unsupported characters. Check your request and try again.
  6175  //
  6176  //   * ResourceAlreadyExistsException
  6177  //   The resource already exists.
  6178  //
  6179  //   * ResourceNotFoundException
  6180  //   The requested resource can't be found.
  6181  //
  6182  //   * InternalFailureException
  6183  //   IoT SiteWise can't process your request right now. Try again later.
  6184  //
  6185  //   * ThrottlingException
  6186  //   Your request exceeded a rate limit. For example, you might have exceeded
  6187  //   the number of IoT SiteWise assets that can be created per second, the allowed
  6188  //   number of messages per second, and so on.
  6189  //
  6190  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  6191  //   in the IoT SiteWise User Guide.
  6192  //
  6193  //   * ConflictingOperationException
  6194  //   Your request has conflicting operations. This can occur if you're trying
  6195  //   to perform more than one operation on the same resource at the same time.
  6196  //
  6197  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAsset
  6198  func (c *IoTSiteWise) UpdateAsset(input *UpdateAssetInput) (*UpdateAssetOutput, error) {
  6199  	req, out := c.UpdateAssetRequest(input)
  6200  	return out, req.Send()
  6201  }
  6202  
  6203  // UpdateAssetWithContext is the same as UpdateAsset with the addition of
  6204  // the ability to pass a context and additional request options.
  6205  //
  6206  // See UpdateAsset for details on how to use this API operation.
  6207  //
  6208  // The context must be non-nil and will be used for request cancellation. If
  6209  // the context is nil a panic will occur. In the future the SDK may create
  6210  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6211  // for more information on using Contexts.
  6212  func (c *IoTSiteWise) UpdateAssetWithContext(ctx aws.Context, input *UpdateAssetInput, opts ...request.Option) (*UpdateAssetOutput, error) {
  6213  	req, out := c.UpdateAssetRequest(input)
  6214  	req.SetContext(ctx)
  6215  	req.ApplyOptions(opts...)
  6216  	return out, req.Send()
  6217  }
  6218  
  6219  const opUpdateAssetModel = "UpdateAssetModel"
  6220  
  6221  // UpdateAssetModelRequest generates a "aws/request.Request" representing the
  6222  // client's request for the UpdateAssetModel operation. The "output" return
  6223  // value will be populated with the request's response once the request completes
  6224  // successfully.
  6225  //
  6226  // Use "Send" method on the returned Request to send the API call to the service.
  6227  // the "output" return value is not valid until after Send returns without error.
  6228  //
  6229  // See UpdateAssetModel for more information on using the UpdateAssetModel
  6230  // API call, and error handling.
  6231  //
  6232  // This method is useful when you want to inject custom logic or configuration
  6233  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6234  //
  6235  //
  6236  //    // Example sending a request using the UpdateAssetModelRequest method.
  6237  //    req, resp := client.UpdateAssetModelRequest(params)
  6238  //
  6239  //    err := req.Send()
  6240  //    if err == nil { // resp is now filled
  6241  //        fmt.Println(resp)
  6242  //    }
  6243  //
  6244  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAssetModel
  6245  func (c *IoTSiteWise) UpdateAssetModelRequest(input *UpdateAssetModelInput) (req *request.Request, output *UpdateAssetModelOutput) {
  6246  	op := &request.Operation{
  6247  		Name:       opUpdateAssetModel,
  6248  		HTTPMethod: "PUT",
  6249  		HTTPPath:   "/asset-models/{assetModelId}",
  6250  	}
  6251  
  6252  	if input == nil {
  6253  		input = &UpdateAssetModelInput{}
  6254  	}
  6255  
  6256  	output = &UpdateAssetModelOutput{}
  6257  	req = c.newRequest(op, input, output)
  6258  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  6259  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  6260  	return
  6261  }
  6262  
  6263  // UpdateAssetModel API operation for AWS IoT SiteWise.
  6264  //
  6265  // Updates an asset model and all of the assets that were created from the model.
  6266  // Each asset created from the model inherits the updated asset model's property
  6267  // and hierarchy definitions. For more information, see Updating assets and
  6268  // models (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-assets-and-models.html)
  6269  // in the IoT SiteWise User Guide.
  6270  //
  6271  // This operation overwrites the existing model with the provided model. To
  6272  // avoid deleting your asset model's properties or hierarchies, you must include
  6273  // their IDs and definitions in the updated asset model payload. For more information,
  6274  // see DescribeAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html).
  6275  //
  6276  // If you remove a property from an asset model, IoT SiteWise deletes all previous
  6277  // data for that property. If you remove a hierarchy definition from an asset
  6278  // model, IoT SiteWise disassociates every asset associated with that hierarchy.
  6279  // You can't change the type or data type of an existing property.
  6280  //
  6281  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6282  // with awserr.Error's Code and Message methods to get detailed information about
  6283  // the error.
  6284  //
  6285  // See the AWS API reference guide for AWS IoT SiteWise's
  6286  // API operation UpdateAssetModel for usage and error information.
  6287  //
  6288  // Returned Error Types:
  6289  //   * InvalidRequestException
  6290  //   The request isn't valid. This can occur if your request contains malformed
  6291  //   JSON or unsupported characters. Check your request and try again.
  6292  //
  6293  //   * ResourceAlreadyExistsException
  6294  //   The resource already exists.
  6295  //
  6296  //   * ResourceNotFoundException
  6297  //   The requested resource can't be found.
  6298  //
  6299  //   * InternalFailureException
  6300  //   IoT SiteWise can't process your request right now. Try again later.
  6301  //
  6302  //   * LimitExceededException
  6303  //   You've reached the limit for a resource. For example, this can occur if you're
  6304  //   trying to associate more than the allowed number of child assets or attempting
  6305  //   to create more than the allowed number of properties for an asset model.
  6306  //
  6307  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  6308  //   in the IoT SiteWise User Guide.
  6309  //
  6310  //   * ThrottlingException
  6311  //   Your request exceeded a rate limit. For example, you might have exceeded
  6312  //   the number of IoT SiteWise assets that can be created per second, the allowed
  6313  //   number of messages per second, and so on.
  6314  //
  6315  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  6316  //   in the IoT SiteWise User Guide.
  6317  //
  6318  //   * ConflictingOperationException
  6319  //   Your request has conflicting operations. This can occur if you're trying
  6320  //   to perform more than one operation on the same resource at the same time.
  6321  //
  6322  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAssetModel
  6323  func (c *IoTSiteWise) UpdateAssetModel(input *UpdateAssetModelInput) (*UpdateAssetModelOutput, error) {
  6324  	req, out := c.UpdateAssetModelRequest(input)
  6325  	return out, req.Send()
  6326  }
  6327  
  6328  // UpdateAssetModelWithContext is the same as UpdateAssetModel with the addition of
  6329  // the ability to pass a context and additional request options.
  6330  //
  6331  // See UpdateAssetModel for details on how to use this API operation.
  6332  //
  6333  // The context must be non-nil and will be used for request cancellation. If
  6334  // the context is nil a panic will occur. In the future the SDK may create
  6335  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6336  // for more information on using Contexts.
  6337  func (c *IoTSiteWise) UpdateAssetModelWithContext(ctx aws.Context, input *UpdateAssetModelInput, opts ...request.Option) (*UpdateAssetModelOutput, error) {
  6338  	req, out := c.UpdateAssetModelRequest(input)
  6339  	req.SetContext(ctx)
  6340  	req.ApplyOptions(opts...)
  6341  	return out, req.Send()
  6342  }
  6343  
  6344  const opUpdateAssetProperty = "UpdateAssetProperty"
  6345  
  6346  // UpdateAssetPropertyRequest generates a "aws/request.Request" representing the
  6347  // client's request for the UpdateAssetProperty operation. The "output" return
  6348  // value will be populated with the request's response once the request completes
  6349  // successfully.
  6350  //
  6351  // Use "Send" method on the returned Request to send the API call to the service.
  6352  // the "output" return value is not valid until after Send returns without error.
  6353  //
  6354  // See UpdateAssetProperty for more information on using the UpdateAssetProperty
  6355  // API call, and error handling.
  6356  //
  6357  // This method is useful when you want to inject custom logic or configuration
  6358  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6359  //
  6360  //
  6361  //    // Example sending a request using the UpdateAssetPropertyRequest method.
  6362  //    req, resp := client.UpdateAssetPropertyRequest(params)
  6363  //
  6364  //    err := req.Send()
  6365  //    if err == nil { // resp is now filled
  6366  //        fmt.Println(resp)
  6367  //    }
  6368  //
  6369  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAssetProperty
  6370  func (c *IoTSiteWise) UpdateAssetPropertyRequest(input *UpdateAssetPropertyInput) (req *request.Request, output *UpdateAssetPropertyOutput) {
  6371  	op := &request.Operation{
  6372  		Name:       opUpdateAssetProperty,
  6373  		HTTPMethod: "PUT",
  6374  		HTTPPath:   "/assets/{assetId}/properties/{propertyId}",
  6375  	}
  6376  
  6377  	if input == nil {
  6378  		input = &UpdateAssetPropertyInput{}
  6379  	}
  6380  
  6381  	output = &UpdateAssetPropertyOutput{}
  6382  	req = c.newRequest(op, input, output)
  6383  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6384  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  6385  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  6386  	return
  6387  }
  6388  
  6389  // UpdateAssetProperty API operation for AWS IoT SiteWise.
  6390  //
  6391  // Updates an asset property's alias and notification state.
  6392  //
  6393  // This operation overwrites the property's existing alias and notification
  6394  // state. To keep your existing property's alias or notification state, you
  6395  // must include the existing values in the UpdateAssetProperty request. For
  6396  // more information, see DescribeAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetProperty.html).
  6397  //
  6398  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6399  // with awserr.Error's Code and Message methods to get detailed information about
  6400  // the error.
  6401  //
  6402  // See the AWS API reference guide for AWS IoT SiteWise's
  6403  // API operation UpdateAssetProperty for usage and error information.
  6404  //
  6405  // Returned Error Types:
  6406  //   * InvalidRequestException
  6407  //   The request isn't valid. This can occur if your request contains malformed
  6408  //   JSON or unsupported characters. Check your request and try again.
  6409  //
  6410  //   * ResourceNotFoundException
  6411  //   The requested resource can't be found.
  6412  //
  6413  //   * InternalFailureException
  6414  //   IoT SiteWise can't process your request right now. Try again later.
  6415  //
  6416  //   * ThrottlingException
  6417  //   Your request exceeded a rate limit. For example, you might have exceeded
  6418  //   the number of IoT SiteWise assets that can be created per second, the allowed
  6419  //   number of messages per second, and so on.
  6420  //
  6421  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  6422  //   in the IoT SiteWise User Guide.
  6423  //
  6424  //   * ConflictingOperationException
  6425  //   Your request has conflicting operations. This can occur if you're trying
  6426  //   to perform more than one operation on the same resource at the same time.
  6427  //
  6428  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAssetProperty
  6429  func (c *IoTSiteWise) UpdateAssetProperty(input *UpdateAssetPropertyInput) (*UpdateAssetPropertyOutput, error) {
  6430  	req, out := c.UpdateAssetPropertyRequest(input)
  6431  	return out, req.Send()
  6432  }
  6433  
  6434  // UpdateAssetPropertyWithContext is the same as UpdateAssetProperty with the addition of
  6435  // the ability to pass a context and additional request options.
  6436  //
  6437  // See UpdateAssetProperty for details on how to use this API operation.
  6438  //
  6439  // The context must be non-nil and will be used for request cancellation. If
  6440  // the context is nil a panic will occur. In the future the SDK may create
  6441  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6442  // for more information on using Contexts.
  6443  func (c *IoTSiteWise) UpdateAssetPropertyWithContext(ctx aws.Context, input *UpdateAssetPropertyInput, opts ...request.Option) (*UpdateAssetPropertyOutput, error) {
  6444  	req, out := c.UpdateAssetPropertyRequest(input)
  6445  	req.SetContext(ctx)
  6446  	req.ApplyOptions(opts...)
  6447  	return out, req.Send()
  6448  }
  6449  
  6450  const opUpdateDashboard = "UpdateDashboard"
  6451  
  6452  // UpdateDashboardRequest generates a "aws/request.Request" representing the
  6453  // client's request for the UpdateDashboard operation. The "output" return
  6454  // value will be populated with the request's response once the request completes
  6455  // successfully.
  6456  //
  6457  // Use "Send" method on the returned Request to send the API call to the service.
  6458  // the "output" return value is not valid until after Send returns without error.
  6459  //
  6460  // See UpdateDashboard for more information on using the UpdateDashboard
  6461  // API call, and error handling.
  6462  //
  6463  // This method is useful when you want to inject custom logic or configuration
  6464  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6465  //
  6466  //
  6467  //    // Example sending a request using the UpdateDashboardRequest method.
  6468  //    req, resp := client.UpdateDashboardRequest(params)
  6469  //
  6470  //    err := req.Send()
  6471  //    if err == nil { // resp is now filled
  6472  //        fmt.Println(resp)
  6473  //    }
  6474  //
  6475  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateDashboard
  6476  func (c *IoTSiteWise) UpdateDashboardRequest(input *UpdateDashboardInput) (req *request.Request, output *UpdateDashboardOutput) {
  6477  	op := &request.Operation{
  6478  		Name:       opUpdateDashboard,
  6479  		HTTPMethod: "PUT",
  6480  		HTTPPath:   "/dashboards/{dashboardId}",
  6481  	}
  6482  
  6483  	if input == nil {
  6484  		input = &UpdateDashboardInput{}
  6485  	}
  6486  
  6487  	output = &UpdateDashboardOutput{}
  6488  	req = c.newRequest(op, input, output)
  6489  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6490  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
  6491  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  6492  	return
  6493  }
  6494  
  6495  // UpdateDashboard API operation for AWS IoT SiteWise.
  6496  //
  6497  // Updates an IoT SiteWise Monitor dashboard.
  6498  //
  6499  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6500  // with awserr.Error's Code and Message methods to get detailed information about
  6501  // the error.
  6502  //
  6503  // See the AWS API reference guide for AWS IoT SiteWise's
  6504  // API operation UpdateDashboard for usage and error information.
  6505  //
  6506  // Returned Error Types:
  6507  //   * InvalidRequestException
  6508  //   The request isn't valid. This can occur if your request contains malformed
  6509  //   JSON or unsupported characters. Check your request and try again.
  6510  //
  6511  //   * ResourceNotFoundException
  6512  //   The requested resource can't be found.
  6513  //
  6514  //   * InternalFailureException
  6515  //   IoT SiteWise can't process your request right now. Try again later.
  6516  //
  6517  //   * ThrottlingException
  6518  //   Your request exceeded a rate limit. For example, you might have exceeded
  6519  //   the number of IoT SiteWise assets that can be created per second, the allowed
  6520  //   number of messages per second, and so on.
  6521  //
  6522  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  6523  //   in the IoT SiteWise User Guide.
  6524  //
  6525  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateDashboard
  6526  func (c *IoTSiteWise) UpdateDashboard(input *UpdateDashboardInput) (*UpdateDashboardOutput, error) {
  6527  	req, out := c.UpdateDashboardRequest(input)
  6528  	return out, req.Send()
  6529  }
  6530  
  6531  // UpdateDashboardWithContext is the same as UpdateDashboard with the addition of
  6532  // the ability to pass a context and additional request options.
  6533  //
  6534  // See UpdateDashboard for details on how to use this API operation.
  6535  //
  6536  // The context must be non-nil and will be used for request cancellation. If
  6537  // the context is nil a panic will occur. In the future the SDK may create
  6538  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6539  // for more information on using Contexts.
  6540  func (c *IoTSiteWise) UpdateDashboardWithContext(ctx aws.Context, input *UpdateDashboardInput, opts ...request.Option) (*UpdateDashboardOutput, error) {
  6541  	req, out := c.UpdateDashboardRequest(input)
  6542  	req.SetContext(ctx)
  6543  	req.ApplyOptions(opts...)
  6544  	return out, req.Send()
  6545  }
  6546  
  6547  const opUpdateGateway = "UpdateGateway"
  6548  
  6549  // UpdateGatewayRequest generates a "aws/request.Request" representing the
  6550  // client's request for the UpdateGateway operation. The "output" return
  6551  // value will be populated with the request's response once the request completes
  6552  // successfully.
  6553  //
  6554  // Use "Send" method on the returned Request to send the API call to the service.
  6555  // the "output" return value is not valid until after Send returns without error.
  6556  //
  6557  // See UpdateGateway for more information on using the UpdateGateway
  6558  // API call, and error handling.
  6559  //
  6560  // This method is useful when you want to inject custom logic or configuration
  6561  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6562  //
  6563  //
  6564  //    // Example sending a request using the UpdateGatewayRequest method.
  6565  //    req, resp := client.UpdateGatewayRequest(params)
  6566  //
  6567  //    err := req.Send()
  6568  //    if err == nil { // resp is now filled
  6569  //        fmt.Println(resp)
  6570  //    }
  6571  //
  6572  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateGateway
  6573  func (c *IoTSiteWise) UpdateGatewayRequest(input *UpdateGatewayInput) (req *request.Request, output *UpdateGatewayOutput) {
  6574  	op := &request.Operation{
  6575  		Name:       opUpdateGateway,
  6576  		HTTPMethod: "PUT",
  6577  		HTTPPath:   "/20200301/gateways/{gatewayId}",
  6578  	}
  6579  
  6580  	if input == nil {
  6581  		input = &UpdateGatewayInput{}
  6582  	}
  6583  
  6584  	output = &UpdateGatewayOutput{}
  6585  	req = c.newRequest(op, input, output)
  6586  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6587  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  6588  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  6589  	return
  6590  }
  6591  
  6592  // UpdateGateway API operation for AWS IoT SiteWise.
  6593  //
  6594  // Updates a gateway's name.
  6595  //
  6596  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6597  // with awserr.Error's Code and Message methods to get detailed information about
  6598  // the error.
  6599  //
  6600  // See the AWS API reference guide for AWS IoT SiteWise's
  6601  // API operation UpdateGateway for usage and error information.
  6602  //
  6603  // Returned Error Types:
  6604  //   * InvalidRequestException
  6605  //   The request isn't valid. This can occur if your request contains malformed
  6606  //   JSON or unsupported characters. Check your request and try again.
  6607  //
  6608  //   * ResourceNotFoundException
  6609  //   The requested resource can't be found.
  6610  //
  6611  //   * ConflictingOperationException
  6612  //   Your request has conflicting operations. This can occur if you're trying
  6613  //   to perform more than one operation on the same resource at the same time.
  6614  //
  6615  //   * InternalFailureException
  6616  //   IoT SiteWise can't process your request right now. Try again later.
  6617  //
  6618  //   * ThrottlingException
  6619  //   Your request exceeded a rate limit. For example, you might have exceeded
  6620  //   the number of IoT SiteWise assets that can be created per second, the allowed
  6621  //   number of messages per second, and so on.
  6622  //
  6623  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  6624  //   in the IoT SiteWise User Guide.
  6625  //
  6626  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateGateway
  6627  func (c *IoTSiteWise) UpdateGateway(input *UpdateGatewayInput) (*UpdateGatewayOutput, error) {
  6628  	req, out := c.UpdateGatewayRequest(input)
  6629  	return out, req.Send()
  6630  }
  6631  
  6632  // UpdateGatewayWithContext is the same as UpdateGateway with the addition of
  6633  // the ability to pass a context and additional request options.
  6634  //
  6635  // See UpdateGateway for details on how to use this API operation.
  6636  //
  6637  // The context must be non-nil and will be used for request cancellation. If
  6638  // the context is nil a panic will occur. In the future the SDK may create
  6639  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6640  // for more information on using Contexts.
  6641  func (c *IoTSiteWise) UpdateGatewayWithContext(ctx aws.Context, input *UpdateGatewayInput, opts ...request.Option) (*UpdateGatewayOutput, error) {
  6642  	req, out := c.UpdateGatewayRequest(input)
  6643  	req.SetContext(ctx)
  6644  	req.ApplyOptions(opts...)
  6645  	return out, req.Send()
  6646  }
  6647  
  6648  const opUpdateGatewayCapabilityConfiguration = "UpdateGatewayCapabilityConfiguration"
  6649  
  6650  // UpdateGatewayCapabilityConfigurationRequest generates a "aws/request.Request" representing the
  6651  // client's request for the UpdateGatewayCapabilityConfiguration operation. The "output" return
  6652  // value will be populated with the request's response once the request completes
  6653  // successfully.
  6654  //
  6655  // Use "Send" method on the returned Request to send the API call to the service.
  6656  // the "output" return value is not valid until after Send returns without error.
  6657  //
  6658  // See UpdateGatewayCapabilityConfiguration for more information on using the UpdateGatewayCapabilityConfiguration
  6659  // API call, and error handling.
  6660  //
  6661  // This method is useful when you want to inject custom logic or configuration
  6662  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6663  //
  6664  //
  6665  //    // Example sending a request using the UpdateGatewayCapabilityConfigurationRequest method.
  6666  //    req, resp := client.UpdateGatewayCapabilityConfigurationRequest(params)
  6667  //
  6668  //    err := req.Send()
  6669  //    if err == nil { // resp is now filled
  6670  //        fmt.Println(resp)
  6671  //    }
  6672  //
  6673  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateGatewayCapabilityConfiguration
  6674  func (c *IoTSiteWise) UpdateGatewayCapabilityConfigurationRequest(input *UpdateGatewayCapabilityConfigurationInput) (req *request.Request, output *UpdateGatewayCapabilityConfigurationOutput) {
  6675  	op := &request.Operation{
  6676  		Name:       opUpdateGatewayCapabilityConfiguration,
  6677  		HTTPMethod: "POST",
  6678  		HTTPPath:   "/20200301/gateways/{gatewayId}/capability",
  6679  	}
  6680  
  6681  	if input == nil {
  6682  		input = &UpdateGatewayCapabilityConfigurationInput{}
  6683  	}
  6684  
  6685  	output = &UpdateGatewayCapabilityConfigurationOutput{}
  6686  	req = c.newRequest(op, input, output)
  6687  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil))
  6688  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  6689  	return
  6690  }
  6691  
  6692  // UpdateGatewayCapabilityConfiguration API operation for AWS IoT SiteWise.
  6693  //
  6694  // Updates a gateway capability configuration or defines a new capability configuration.
  6695  // Each gateway capability defines data sources for a gateway. A capability
  6696  // configuration can contain multiple data source configurations. If you define
  6697  // OPC-UA sources for a gateway in the IoT SiteWise console, all of your OPC-UA
  6698  // sources are stored in one capability configuration. To list all capability
  6699  // configurations for a gateway, use DescribeGateway (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGateway.html).
  6700  //
  6701  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6702  // with awserr.Error's Code and Message methods to get detailed information about
  6703  // the error.
  6704  //
  6705  // See the AWS API reference guide for AWS IoT SiteWise's
  6706  // API operation UpdateGatewayCapabilityConfiguration for usage and error information.
  6707  //
  6708  // Returned Error Types:
  6709  //   * InvalidRequestException
  6710  //   The request isn't valid. This can occur if your request contains malformed
  6711  //   JSON or unsupported characters. Check your request and try again.
  6712  //
  6713  //   * ResourceNotFoundException
  6714  //   The requested resource can't be found.
  6715  //
  6716  //   * ConflictingOperationException
  6717  //   Your request has conflicting operations. This can occur if you're trying
  6718  //   to perform more than one operation on the same resource at the same time.
  6719  //
  6720  //   * InternalFailureException
  6721  //   IoT SiteWise can't process your request right now. Try again later.
  6722  //
  6723  //   * ThrottlingException
  6724  //   Your request exceeded a rate limit. For example, you might have exceeded
  6725  //   the number of IoT SiteWise assets that can be created per second, the allowed
  6726  //   number of messages per second, and so on.
  6727  //
  6728  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  6729  //   in the IoT SiteWise User Guide.
  6730  //
  6731  //   * LimitExceededException
  6732  //   You've reached the limit for a resource. For example, this can occur if you're
  6733  //   trying to associate more than the allowed number of child assets or attempting
  6734  //   to create more than the allowed number of properties for an asset model.
  6735  //
  6736  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  6737  //   in the IoT SiteWise User Guide.
  6738  //
  6739  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateGatewayCapabilityConfiguration
  6740  func (c *IoTSiteWise) UpdateGatewayCapabilityConfiguration(input *UpdateGatewayCapabilityConfigurationInput) (*UpdateGatewayCapabilityConfigurationOutput, error) {
  6741  	req, out := c.UpdateGatewayCapabilityConfigurationRequest(input)
  6742  	return out, req.Send()
  6743  }
  6744  
  6745  // UpdateGatewayCapabilityConfigurationWithContext is the same as UpdateGatewayCapabilityConfiguration with the addition of
  6746  // the ability to pass a context and additional request options.
  6747  //
  6748  // See UpdateGatewayCapabilityConfiguration for details on how to use this API operation.
  6749  //
  6750  // The context must be non-nil and will be used for request cancellation. If
  6751  // the context is nil a panic will occur. In the future the SDK may create
  6752  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6753  // for more information on using Contexts.
  6754  func (c *IoTSiteWise) UpdateGatewayCapabilityConfigurationWithContext(ctx aws.Context, input *UpdateGatewayCapabilityConfigurationInput, opts ...request.Option) (*UpdateGatewayCapabilityConfigurationOutput, error) {
  6755  	req, out := c.UpdateGatewayCapabilityConfigurationRequest(input)
  6756  	req.SetContext(ctx)
  6757  	req.ApplyOptions(opts...)
  6758  	return out, req.Send()
  6759  }
  6760  
  6761  const opUpdatePortal = "UpdatePortal"
  6762  
  6763  // UpdatePortalRequest generates a "aws/request.Request" representing the
  6764  // client's request for the UpdatePortal operation. The "output" return
  6765  // value will be populated with the request's response once the request completes
  6766  // successfully.
  6767  //
  6768  // Use "Send" method on the returned Request to send the API call to the service.
  6769  // the "output" return value is not valid until after Send returns without error.
  6770  //
  6771  // See UpdatePortal for more information on using the UpdatePortal
  6772  // API call, and error handling.
  6773  //
  6774  // This method is useful when you want to inject custom logic or configuration
  6775  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6776  //
  6777  //
  6778  //    // Example sending a request using the UpdatePortalRequest method.
  6779  //    req, resp := client.UpdatePortalRequest(params)
  6780  //
  6781  //    err := req.Send()
  6782  //    if err == nil { // resp is now filled
  6783  //        fmt.Println(resp)
  6784  //    }
  6785  //
  6786  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdatePortal
  6787  func (c *IoTSiteWise) UpdatePortalRequest(input *UpdatePortalInput) (req *request.Request, output *UpdatePortalOutput) {
  6788  	op := &request.Operation{
  6789  		Name:       opUpdatePortal,
  6790  		HTTPMethod: "PUT",
  6791  		HTTPPath:   "/portals/{portalId}",
  6792  	}
  6793  
  6794  	if input == nil {
  6795  		input = &UpdatePortalInput{}
  6796  	}
  6797  
  6798  	output = &UpdatePortalOutput{}
  6799  	req = c.newRequest(op, input, output)
  6800  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
  6801  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  6802  	return
  6803  }
  6804  
  6805  // UpdatePortal API operation for AWS IoT SiteWise.
  6806  //
  6807  // Updates an IoT SiteWise Monitor portal.
  6808  //
  6809  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6810  // with awserr.Error's Code and Message methods to get detailed information about
  6811  // the error.
  6812  //
  6813  // See the AWS API reference guide for AWS IoT SiteWise's
  6814  // API operation UpdatePortal for usage and error information.
  6815  //
  6816  // Returned Error Types:
  6817  //   * InvalidRequestException
  6818  //   The request isn't valid. This can occur if your request contains malformed
  6819  //   JSON or unsupported characters. Check your request and try again.
  6820  //
  6821  //   * ResourceNotFoundException
  6822  //   The requested resource can't be found.
  6823  //
  6824  //   * InternalFailureException
  6825  //   IoT SiteWise can't process your request right now. Try again later.
  6826  //
  6827  //   * ThrottlingException
  6828  //   Your request exceeded a rate limit. For example, you might have exceeded
  6829  //   the number of IoT SiteWise assets that can be created per second, the allowed
  6830  //   number of messages per second, and so on.
  6831  //
  6832  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  6833  //   in the IoT SiteWise User Guide.
  6834  //
  6835  //   * ConflictingOperationException
  6836  //   Your request has conflicting operations. This can occur if you're trying
  6837  //   to perform more than one operation on the same resource at the same time.
  6838  //
  6839  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdatePortal
  6840  func (c *IoTSiteWise) UpdatePortal(input *UpdatePortalInput) (*UpdatePortalOutput, error) {
  6841  	req, out := c.UpdatePortalRequest(input)
  6842  	return out, req.Send()
  6843  }
  6844  
  6845  // UpdatePortalWithContext is the same as UpdatePortal with the addition of
  6846  // the ability to pass a context and additional request options.
  6847  //
  6848  // See UpdatePortal for details on how to use this API operation.
  6849  //
  6850  // The context must be non-nil and will be used for request cancellation. If
  6851  // the context is nil a panic will occur. In the future the SDK may create
  6852  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6853  // for more information on using Contexts.
  6854  func (c *IoTSiteWise) UpdatePortalWithContext(ctx aws.Context, input *UpdatePortalInput, opts ...request.Option) (*UpdatePortalOutput, error) {
  6855  	req, out := c.UpdatePortalRequest(input)
  6856  	req.SetContext(ctx)
  6857  	req.ApplyOptions(opts...)
  6858  	return out, req.Send()
  6859  }
  6860  
  6861  const opUpdateProject = "UpdateProject"
  6862  
  6863  // UpdateProjectRequest generates a "aws/request.Request" representing the
  6864  // client's request for the UpdateProject operation. The "output" return
  6865  // value will be populated with the request's response once the request completes
  6866  // successfully.
  6867  //
  6868  // Use "Send" method on the returned Request to send the API call to the service.
  6869  // the "output" return value is not valid until after Send returns without error.
  6870  //
  6871  // See UpdateProject for more information on using the UpdateProject
  6872  // API call, and error handling.
  6873  //
  6874  // This method is useful when you want to inject custom logic or configuration
  6875  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6876  //
  6877  //
  6878  //    // Example sending a request using the UpdateProjectRequest method.
  6879  //    req, resp := client.UpdateProjectRequest(params)
  6880  //
  6881  //    err := req.Send()
  6882  //    if err == nil { // resp is now filled
  6883  //        fmt.Println(resp)
  6884  //    }
  6885  //
  6886  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateProject
  6887  func (c *IoTSiteWise) UpdateProjectRequest(input *UpdateProjectInput) (req *request.Request, output *UpdateProjectOutput) {
  6888  	op := &request.Operation{
  6889  		Name:       opUpdateProject,
  6890  		HTTPMethod: "PUT",
  6891  		HTTPPath:   "/projects/{projectId}",
  6892  	}
  6893  
  6894  	if input == nil {
  6895  		input = &UpdateProjectInput{}
  6896  	}
  6897  
  6898  	output = &UpdateProjectOutput{}
  6899  	req = c.newRequest(op, input, output)
  6900  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  6901  	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
  6902  	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
  6903  	return
  6904  }
  6905  
  6906  // UpdateProject API operation for AWS IoT SiteWise.
  6907  //
  6908  // Updates an IoT SiteWise Monitor project.
  6909  //
  6910  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6911  // with awserr.Error's Code and Message methods to get detailed information about
  6912  // the error.
  6913  //
  6914  // See the AWS API reference guide for AWS IoT SiteWise's
  6915  // API operation UpdateProject for usage and error information.
  6916  //
  6917  // Returned Error Types:
  6918  //   * InvalidRequestException
  6919  //   The request isn't valid. This can occur if your request contains malformed
  6920  //   JSON or unsupported characters. Check your request and try again.
  6921  //
  6922  //   * ResourceNotFoundException
  6923  //   The requested resource can't be found.
  6924  //
  6925  //   * InternalFailureException
  6926  //   IoT SiteWise can't process your request right now. Try again later.
  6927  //
  6928  //   * ThrottlingException
  6929  //   Your request exceeded a rate limit. For example, you might have exceeded
  6930  //   the number of IoT SiteWise assets that can be created per second, the allowed
  6931  //   number of messages per second, and so on.
  6932  //
  6933  //   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  6934  //   in the IoT SiteWise User Guide.
  6935  //
  6936  // See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateProject
  6937  func (c *IoTSiteWise) UpdateProject(input *UpdateProjectInput) (*UpdateProjectOutput, error) {
  6938  	req, out := c.UpdateProjectRequest(input)
  6939  	return out, req.Send()
  6940  }
  6941  
  6942  // UpdateProjectWithContext is the same as UpdateProject with the addition of
  6943  // the ability to pass a context and additional request options.
  6944  //
  6945  // See UpdateProject for details on how to use this API operation.
  6946  //
  6947  // The context must be non-nil and will be used for request cancellation. If
  6948  // the context is nil a panic will occur. In the future the SDK may create
  6949  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6950  // for more information on using Contexts.
  6951  func (c *IoTSiteWise) UpdateProjectWithContext(ctx aws.Context, input *UpdateProjectInput, opts ...request.Option) (*UpdateProjectOutput, error) {
  6952  	req, out := c.UpdateProjectRequest(input)
  6953  	req.SetContext(ctx)
  6954  	req.ApplyOptions(opts...)
  6955  	return out, req.Send()
  6956  }
  6957  
  6958  // Contains an access policy that defines an identity's access to an IoT SiteWise
  6959  // Monitor resource.
  6960  type AccessPolicySummary struct {
  6961  	_ struct{} `type:"structure"`
  6962  
  6963  	// The date the access policy was created, in Unix epoch time.
  6964  	CreationDate *time.Time `locationName:"creationDate" type:"timestamp"`
  6965  
  6966  	// The ID of the access policy.
  6967  	//
  6968  	// Id is a required field
  6969  	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
  6970  
  6971  	// The identity (an Amazon Web Services SSO user, an Amazon Web Services SSO
  6972  	// group, or an IAM user).
  6973  	//
  6974  	// Identity is a required field
  6975  	Identity *Identity `locationName:"identity" type:"structure" required:"true"`
  6976  
  6977  	// The date the access policy was last updated, in Unix epoch time.
  6978  	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp"`
  6979  
  6980  	// The permissions for the access policy. Note that a project ADMINISTRATOR
  6981  	// is also known as a project owner.
  6982  	//
  6983  	// Permission is a required field
  6984  	Permission *string `locationName:"permission" type:"string" required:"true" enum:"Permission"`
  6985  
  6986  	// The IoT SiteWise Monitor resource (a portal or project).
  6987  	//
  6988  	// Resource is a required field
  6989  	Resource *Resource `locationName:"resource" type:"structure" required:"true"`
  6990  }
  6991  
  6992  // String returns the string representation.
  6993  //
  6994  // API parameter values that are decorated as "sensitive" in the API will not
  6995  // be included in the string output. The member name will be present, but the
  6996  // value will be replaced with "sensitive".
  6997  func (s AccessPolicySummary) String() string {
  6998  	return awsutil.Prettify(s)
  6999  }
  7000  
  7001  // GoString returns the string representation.
  7002  //
  7003  // API parameter values that are decorated as "sensitive" in the API will not
  7004  // be included in the string output. The member name will be present, but the
  7005  // value will be replaced with "sensitive".
  7006  func (s AccessPolicySummary) GoString() string {
  7007  	return s.String()
  7008  }
  7009  
  7010  // SetCreationDate sets the CreationDate field's value.
  7011  func (s *AccessPolicySummary) SetCreationDate(v time.Time) *AccessPolicySummary {
  7012  	s.CreationDate = &v
  7013  	return s
  7014  }
  7015  
  7016  // SetId sets the Id field's value.
  7017  func (s *AccessPolicySummary) SetId(v string) *AccessPolicySummary {
  7018  	s.Id = &v
  7019  	return s
  7020  }
  7021  
  7022  // SetIdentity sets the Identity field's value.
  7023  func (s *AccessPolicySummary) SetIdentity(v *Identity) *AccessPolicySummary {
  7024  	s.Identity = v
  7025  	return s
  7026  }
  7027  
  7028  // SetLastUpdateDate sets the LastUpdateDate field's value.
  7029  func (s *AccessPolicySummary) SetLastUpdateDate(v time.Time) *AccessPolicySummary {
  7030  	s.LastUpdateDate = &v
  7031  	return s
  7032  }
  7033  
  7034  // SetPermission sets the Permission field's value.
  7035  func (s *AccessPolicySummary) SetPermission(v string) *AccessPolicySummary {
  7036  	s.Permission = &v
  7037  	return s
  7038  }
  7039  
  7040  // SetResource sets the Resource field's value.
  7041  func (s *AccessPolicySummary) SetResource(v *Resource) *AccessPolicySummary {
  7042  	s.Resource = v
  7043  	return s
  7044  }
  7045  
  7046  // Contains aggregated asset property values (for example, average, minimum,
  7047  // and maximum).
  7048  type AggregatedValue struct {
  7049  	_ struct{} `type:"structure"`
  7050  
  7051  	// The quality of the aggregated data.
  7052  	Quality *string `locationName:"quality" type:"string" enum:"Quality"`
  7053  
  7054  	// The date the aggregating computations occurred, in Unix epoch time.
  7055  	//
  7056  	// Timestamp is a required field
  7057  	Timestamp *time.Time `locationName:"timestamp" type:"timestamp" required:"true"`
  7058  
  7059  	// The value of the aggregates.
  7060  	//
  7061  	// Value is a required field
  7062  	Value *Aggregates `locationName:"value" type:"structure" required:"true"`
  7063  }
  7064  
  7065  // String returns the string representation.
  7066  //
  7067  // API parameter values that are decorated as "sensitive" in the API will not
  7068  // be included in the string output. The member name will be present, but the
  7069  // value will be replaced with "sensitive".
  7070  func (s AggregatedValue) String() string {
  7071  	return awsutil.Prettify(s)
  7072  }
  7073  
  7074  // GoString returns the string representation.
  7075  //
  7076  // API parameter values that are decorated as "sensitive" in the API will not
  7077  // be included in the string output. The member name will be present, but the
  7078  // value will be replaced with "sensitive".
  7079  func (s AggregatedValue) GoString() string {
  7080  	return s.String()
  7081  }
  7082  
  7083  // SetQuality sets the Quality field's value.
  7084  func (s *AggregatedValue) SetQuality(v string) *AggregatedValue {
  7085  	s.Quality = &v
  7086  	return s
  7087  }
  7088  
  7089  // SetTimestamp sets the Timestamp field's value.
  7090  func (s *AggregatedValue) SetTimestamp(v time.Time) *AggregatedValue {
  7091  	s.Timestamp = &v
  7092  	return s
  7093  }
  7094  
  7095  // SetValue sets the Value field's value.
  7096  func (s *AggregatedValue) SetValue(v *Aggregates) *AggregatedValue {
  7097  	s.Value = v
  7098  	return s
  7099  }
  7100  
  7101  // Contains the (pre-calculated) aggregate values for an asset property.
  7102  type Aggregates struct {
  7103  	_ struct{} `type:"structure"`
  7104  
  7105  	// The average (mean) value of the time series over a time interval window.
  7106  	Average *float64 `locationName:"average" type:"double"`
  7107  
  7108  	// The count of data points in the time series over a time interval window.
  7109  	Count *float64 `locationName:"count" type:"double"`
  7110  
  7111  	// The maximum value of the time series over a time interval window.
  7112  	Maximum *float64 `locationName:"maximum" type:"double"`
  7113  
  7114  	// The minimum value of the time series over a time interval window.
  7115  	Minimum *float64 `locationName:"minimum" type:"double"`
  7116  
  7117  	// The standard deviation of the time series over a time interval window.
  7118  	StandardDeviation *float64 `locationName:"standardDeviation" type:"double"`
  7119  
  7120  	// The sum of the time series over a time interval window.
  7121  	Sum *float64 `locationName:"sum" type:"double"`
  7122  }
  7123  
  7124  // String returns the string representation.
  7125  //
  7126  // API parameter values that are decorated as "sensitive" in the API will not
  7127  // be included in the string output. The member name will be present, but the
  7128  // value will be replaced with "sensitive".
  7129  func (s Aggregates) String() string {
  7130  	return awsutil.Prettify(s)
  7131  }
  7132  
  7133  // GoString returns the string representation.
  7134  //
  7135  // API parameter values that are decorated as "sensitive" in the API will not
  7136  // be included in the string output. The member name will be present, but the
  7137  // value will be replaced with "sensitive".
  7138  func (s Aggregates) GoString() string {
  7139  	return s.String()
  7140  }
  7141  
  7142  // SetAverage sets the Average field's value.
  7143  func (s *Aggregates) SetAverage(v float64) *Aggregates {
  7144  	s.Average = &v
  7145  	return s
  7146  }
  7147  
  7148  // SetCount sets the Count field's value.
  7149  func (s *Aggregates) SetCount(v float64) *Aggregates {
  7150  	s.Count = &v
  7151  	return s
  7152  }
  7153  
  7154  // SetMaximum sets the Maximum field's value.
  7155  func (s *Aggregates) SetMaximum(v float64) *Aggregates {
  7156  	s.Maximum = &v
  7157  	return s
  7158  }
  7159  
  7160  // SetMinimum sets the Minimum field's value.
  7161  func (s *Aggregates) SetMinimum(v float64) *Aggregates {
  7162  	s.Minimum = &v
  7163  	return s
  7164  }
  7165  
  7166  // SetStandardDeviation sets the StandardDeviation field's value.
  7167  func (s *Aggregates) SetStandardDeviation(v float64) *Aggregates {
  7168  	s.StandardDeviation = &v
  7169  	return s
  7170  }
  7171  
  7172  // SetSum sets the Sum field's value.
  7173  func (s *Aggregates) SetSum(v float64) *Aggregates {
  7174  	s.Sum = &v
  7175  	return s
  7176  }
  7177  
  7178  // Contains the configuration information of an alarm created in an IoT SiteWise
  7179  // Monitor portal. You can use the alarm to monitor an asset property and get
  7180  // notified when the asset property value is outside a specified range. For
  7181  // more information, see Monitoring with alarms (https://docs.aws.amazon.com/iot-sitewise/latest/appguide/monitor-alarms.html)
  7182  // in the IoT SiteWise Application Guide.
  7183  type Alarms struct {
  7184  	_ struct{} `type:"structure"`
  7185  
  7186  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  7187  	// of the IAM role that allows the alarm to perform actions and access Amazon
  7188  	// Web Services resources and services, such as IoT Events.
  7189  	//
  7190  	// AlarmRoleArn is a required field
  7191  	AlarmRoleArn *string `locationName:"alarmRoleArn" min:"1" type:"string" required:"true"`
  7192  
  7193  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  7194  	// of the Lambda function that manages alarm notifications. For more information,
  7195  	// see Managing alarm notifications (https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html)
  7196  	// in the IoT Events Developer Guide.
  7197  	NotificationLambdaArn *string `locationName:"notificationLambdaArn" min:"1" type:"string"`
  7198  }
  7199  
  7200  // String returns the string representation.
  7201  //
  7202  // API parameter values that are decorated as "sensitive" in the API will not
  7203  // be included in the string output. The member name will be present, but the
  7204  // value will be replaced with "sensitive".
  7205  func (s Alarms) String() string {
  7206  	return awsutil.Prettify(s)
  7207  }
  7208  
  7209  // GoString returns the string representation.
  7210  //
  7211  // API parameter values that are decorated as "sensitive" in the API will not
  7212  // be included in the string output. The member name will be present, but the
  7213  // value will be replaced with "sensitive".
  7214  func (s Alarms) GoString() string {
  7215  	return s.String()
  7216  }
  7217  
  7218  // Validate inspects the fields of the type to determine if they are valid.
  7219  func (s *Alarms) Validate() error {
  7220  	invalidParams := request.ErrInvalidParams{Context: "Alarms"}
  7221  	if s.AlarmRoleArn == nil {
  7222  		invalidParams.Add(request.NewErrParamRequired("AlarmRoleArn"))
  7223  	}
  7224  	if s.AlarmRoleArn != nil && len(*s.AlarmRoleArn) < 1 {
  7225  		invalidParams.Add(request.NewErrParamMinLen("AlarmRoleArn", 1))
  7226  	}
  7227  	if s.NotificationLambdaArn != nil && len(*s.NotificationLambdaArn) < 1 {
  7228  		invalidParams.Add(request.NewErrParamMinLen("NotificationLambdaArn", 1))
  7229  	}
  7230  
  7231  	if invalidParams.Len() > 0 {
  7232  		return invalidParams
  7233  	}
  7234  	return nil
  7235  }
  7236  
  7237  // SetAlarmRoleArn sets the AlarmRoleArn field's value.
  7238  func (s *Alarms) SetAlarmRoleArn(v string) *Alarms {
  7239  	s.AlarmRoleArn = &v
  7240  	return s
  7241  }
  7242  
  7243  // SetNotificationLambdaArn sets the NotificationLambdaArn field's value.
  7244  func (s *Alarms) SetNotificationLambdaArn(v string) *Alarms {
  7245  	s.NotificationLambdaArn = &v
  7246  	return s
  7247  }
  7248  
  7249  // Contains information about a composite model in an asset. This object contains
  7250  // the asset's properties that you define in the composite model.
  7251  type AssetCompositeModel struct {
  7252  	_ struct{} `type:"structure"`
  7253  
  7254  	// The description of the composite model.
  7255  	Description *string `locationName:"description" min:"1" type:"string"`
  7256  
  7257  	// The name of the composite model.
  7258  	//
  7259  	// Name is a required field
  7260  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  7261  
  7262  	// The asset properties that this composite model defines.
  7263  	//
  7264  	// Properties is a required field
  7265  	Properties []*AssetProperty `locationName:"properties" type:"list" required:"true"`
  7266  
  7267  	// The type of the composite model. For alarm composite models, this type is
  7268  	// AWS/ALARM.
  7269  	//
  7270  	// Type is a required field
  7271  	Type *string `locationName:"type" min:"1" type:"string" required:"true"`
  7272  }
  7273  
  7274  // String returns the string representation.
  7275  //
  7276  // API parameter values that are decorated as "sensitive" in the API will not
  7277  // be included in the string output. The member name will be present, but the
  7278  // value will be replaced with "sensitive".
  7279  func (s AssetCompositeModel) String() string {
  7280  	return awsutil.Prettify(s)
  7281  }
  7282  
  7283  // GoString returns the string representation.
  7284  //
  7285  // API parameter values that are decorated as "sensitive" in the API will not
  7286  // be included in the string output. The member name will be present, but the
  7287  // value will be replaced with "sensitive".
  7288  func (s AssetCompositeModel) GoString() string {
  7289  	return s.String()
  7290  }
  7291  
  7292  // SetDescription sets the Description field's value.
  7293  func (s *AssetCompositeModel) SetDescription(v string) *AssetCompositeModel {
  7294  	s.Description = &v
  7295  	return s
  7296  }
  7297  
  7298  // SetName sets the Name field's value.
  7299  func (s *AssetCompositeModel) SetName(v string) *AssetCompositeModel {
  7300  	s.Name = &v
  7301  	return s
  7302  }
  7303  
  7304  // SetProperties sets the Properties field's value.
  7305  func (s *AssetCompositeModel) SetProperties(v []*AssetProperty) *AssetCompositeModel {
  7306  	s.Properties = v
  7307  	return s
  7308  }
  7309  
  7310  // SetType sets the Type field's value.
  7311  func (s *AssetCompositeModel) SetType(v string) *AssetCompositeModel {
  7312  	s.Type = &v
  7313  	return s
  7314  }
  7315  
  7316  // Contains error details for the requested associate project asset action.
  7317  type AssetErrorDetails struct {
  7318  	_ struct{} `type:"structure"`
  7319  
  7320  	// The ID of the asset.
  7321  	//
  7322  	// AssetId is a required field
  7323  	AssetId *string `locationName:"assetId" min:"36" type:"string" required:"true"`
  7324  
  7325  	// The error code.
  7326  	//
  7327  	// Code is a required field
  7328  	Code *string `locationName:"code" type:"string" required:"true" enum:"AssetErrorCode"`
  7329  
  7330  	// The error message.
  7331  	//
  7332  	// Message is a required field
  7333  	Message *string `locationName:"message" type:"string" required:"true"`
  7334  }
  7335  
  7336  // String returns the string representation.
  7337  //
  7338  // API parameter values that are decorated as "sensitive" in the API will not
  7339  // be included in the string output. The member name will be present, but the
  7340  // value will be replaced with "sensitive".
  7341  func (s AssetErrorDetails) String() string {
  7342  	return awsutil.Prettify(s)
  7343  }
  7344  
  7345  // GoString returns the string representation.
  7346  //
  7347  // API parameter values that are decorated as "sensitive" in the API will not
  7348  // be included in the string output. The member name will be present, but the
  7349  // value will be replaced with "sensitive".
  7350  func (s AssetErrorDetails) GoString() string {
  7351  	return s.String()
  7352  }
  7353  
  7354  // SetAssetId sets the AssetId field's value.
  7355  func (s *AssetErrorDetails) SetAssetId(v string) *AssetErrorDetails {
  7356  	s.AssetId = &v
  7357  	return s
  7358  }
  7359  
  7360  // SetCode sets the Code field's value.
  7361  func (s *AssetErrorDetails) SetCode(v string) *AssetErrorDetails {
  7362  	s.Code = &v
  7363  	return s
  7364  }
  7365  
  7366  // SetMessage sets the Message field's value.
  7367  func (s *AssetErrorDetails) SetMessage(v string) *AssetErrorDetails {
  7368  	s.Message = &v
  7369  	return s
  7370  }
  7371  
  7372  // Describes an asset hierarchy that contains a hierarchy's name and ID.
  7373  type AssetHierarchy struct {
  7374  	_ struct{} `type:"structure"`
  7375  
  7376  	// The ID of the hierarchy. This ID is a hierarchyId.
  7377  	Id *string `locationName:"id" min:"36" type:"string"`
  7378  
  7379  	// The hierarchy name provided in the CreateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html)
  7380  	// or UpdateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html)
  7381  	// API operation.
  7382  	//
  7383  	// Name is a required field
  7384  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  7385  }
  7386  
  7387  // String returns the string representation.
  7388  //
  7389  // API parameter values that are decorated as "sensitive" in the API will not
  7390  // be included in the string output. The member name will be present, but the
  7391  // value will be replaced with "sensitive".
  7392  func (s AssetHierarchy) String() string {
  7393  	return awsutil.Prettify(s)
  7394  }
  7395  
  7396  // GoString returns the string representation.
  7397  //
  7398  // API parameter values that are decorated as "sensitive" in the API will not
  7399  // be included in the string output. The member name will be present, but the
  7400  // value will be replaced with "sensitive".
  7401  func (s AssetHierarchy) GoString() string {
  7402  	return s.String()
  7403  }
  7404  
  7405  // SetId sets the Id field's value.
  7406  func (s *AssetHierarchy) SetId(v string) *AssetHierarchy {
  7407  	s.Id = &v
  7408  	return s
  7409  }
  7410  
  7411  // SetName sets the Name field's value.
  7412  func (s *AssetHierarchy) SetName(v string) *AssetHierarchy {
  7413  	s.Name = &v
  7414  	return s
  7415  }
  7416  
  7417  // Contains information about a parent asset and a child asset that are related
  7418  // through an asset hierarchy.
  7419  type AssetHierarchyInfo struct {
  7420  	_ struct{} `type:"structure"`
  7421  
  7422  	// The ID of the child asset in this asset relationship.
  7423  	ChildAssetId *string `locationName:"childAssetId" min:"36" type:"string"`
  7424  
  7425  	// The ID of the parent asset in this asset relationship.
  7426  	ParentAssetId *string `locationName:"parentAssetId" min:"36" type:"string"`
  7427  }
  7428  
  7429  // String returns the string representation.
  7430  //
  7431  // API parameter values that are decorated as "sensitive" in the API will not
  7432  // be included in the string output. The member name will be present, but the
  7433  // value will be replaced with "sensitive".
  7434  func (s AssetHierarchyInfo) String() string {
  7435  	return awsutil.Prettify(s)
  7436  }
  7437  
  7438  // GoString returns the string representation.
  7439  //
  7440  // API parameter values that are decorated as "sensitive" in the API will not
  7441  // be included in the string output. The member name will be present, but the
  7442  // value will be replaced with "sensitive".
  7443  func (s AssetHierarchyInfo) GoString() string {
  7444  	return s.String()
  7445  }
  7446  
  7447  // SetChildAssetId sets the ChildAssetId field's value.
  7448  func (s *AssetHierarchyInfo) SetChildAssetId(v string) *AssetHierarchyInfo {
  7449  	s.ChildAssetId = &v
  7450  	return s
  7451  }
  7452  
  7453  // SetParentAssetId sets the ParentAssetId field's value.
  7454  func (s *AssetHierarchyInfo) SetParentAssetId(v string) *AssetHierarchyInfo {
  7455  	s.ParentAssetId = &v
  7456  	return s
  7457  }
  7458  
  7459  // Contains information about a composite model in an asset model. This object
  7460  // contains the asset property definitions that you define in the composite
  7461  // model.
  7462  type AssetModelCompositeModel struct {
  7463  	_ struct{} `type:"structure"`
  7464  
  7465  	// The description of the composite model.
  7466  	Description *string `locationName:"description" min:"1" type:"string"`
  7467  
  7468  	// The name of the composite model.
  7469  	//
  7470  	// Name is a required field
  7471  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  7472  
  7473  	// The asset property definitions for this composite model.
  7474  	Properties []*AssetModelProperty `locationName:"properties" type:"list"`
  7475  
  7476  	// The type of the composite model. For alarm composite models, this type is
  7477  	// AWS/ALARM.
  7478  	//
  7479  	// Type is a required field
  7480  	Type *string `locationName:"type" min:"1" type:"string" required:"true"`
  7481  }
  7482  
  7483  // String returns the string representation.
  7484  //
  7485  // API parameter values that are decorated as "sensitive" in the API will not
  7486  // be included in the string output. The member name will be present, but the
  7487  // value will be replaced with "sensitive".
  7488  func (s AssetModelCompositeModel) String() string {
  7489  	return awsutil.Prettify(s)
  7490  }
  7491  
  7492  // GoString returns the string representation.
  7493  //
  7494  // API parameter values that are decorated as "sensitive" in the API will not
  7495  // be included in the string output. The member name will be present, but the
  7496  // value will be replaced with "sensitive".
  7497  func (s AssetModelCompositeModel) GoString() string {
  7498  	return s.String()
  7499  }
  7500  
  7501  // Validate inspects the fields of the type to determine if they are valid.
  7502  func (s *AssetModelCompositeModel) Validate() error {
  7503  	invalidParams := request.ErrInvalidParams{Context: "AssetModelCompositeModel"}
  7504  	if s.Description != nil && len(*s.Description) < 1 {
  7505  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  7506  	}
  7507  	if s.Name == nil {
  7508  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7509  	}
  7510  	if s.Name != nil && len(*s.Name) < 1 {
  7511  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7512  	}
  7513  	if s.Type == nil {
  7514  		invalidParams.Add(request.NewErrParamRequired("Type"))
  7515  	}
  7516  	if s.Type != nil && len(*s.Type) < 1 {
  7517  		invalidParams.Add(request.NewErrParamMinLen("Type", 1))
  7518  	}
  7519  	if s.Properties != nil {
  7520  		for i, v := range s.Properties {
  7521  			if v == nil {
  7522  				continue
  7523  			}
  7524  			if err := v.Validate(); err != nil {
  7525  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Properties", i), err.(request.ErrInvalidParams))
  7526  			}
  7527  		}
  7528  	}
  7529  
  7530  	if invalidParams.Len() > 0 {
  7531  		return invalidParams
  7532  	}
  7533  	return nil
  7534  }
  7535  
  7536  // SetDescription sets the Description field's value.
  7537  func (s *AssetModelCompositeModel) SetDescription(v string) *AssetModelCompositeModel {
  7538  	s.Description = &v
  7539  	return s
  7540  }
  7541  
  7542  // SetName sets the Name field's value.
  7543  func (s *AssetModelCompositeModel) SetName(v string) *AssetModelCompositeModel {
  7544  	s.Name = &v
  7545  	return s
  7546  }
  7547  
  7548  // SetProperties sets the Properties field's value.
  7549  func (s *AssetModelCompositeModel) SetProperties(v []*AssetModelProperty) *AssetModelCompositeModel {
  7550  	s.Properties = v
  7551  	return s
  7552  }
  7553  
  7554  // SetType sets the Type field's value.
  7555  func (s *AssetModelCompositeModel) SetType(v string) *AssetModelCompositeModel {
  7556  	s.Type = &v
  7557  	return s
  7558  }
  7559  
  7560  // Contains a composite model definition in an asset model. This composite model
  7561  // definition is applied to all assets created from the asset model.
  7562  type AssetModelCompositeModelDefinition struct {
  7563  	_ struct{} `type:"structure"`
  7564  
  7565  	// The description of the composite model.
  7566  	Description *string `locationName:"description" min:"1" type:"string"`
  7567  
  7568  	// The name of the composite model.
  7569  	//
  7570  	// Name is a required field
  7571  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  7572  
  7573  	// The asset property definitions for this composite model.
  7574  	Properties []*AssetModelPropertyDefinition `locationName:"properties" type:"list"`
  7575  
  7576  	// The type of the composite model. For alarm composite models, this type is
  7577  	// AWS/ALARM.
  7578  	//
  7579  	// Type is a required field
  7580  	Type *string `locationName:"type" min:"1" type:"string" required:"true"`
  7581  }
  7582  
  7583  // String returns the string representation.
  7584  //
  7585  // API parameter values that are decorated as "sensitive" in the API will not
  7586  // be included in the string output. The member name will be present, but the
  7587  // value will be replaced with "sensitive".
  7588  func (s AssetModelCompositeModelDefinition) String() string {
  7589  	return awsutil.Prettify(s)
  7590  }
  7591  
  7592  // GoString returns the string representation.
  7593  //
  7594  // API parameter values that are decorated as "sensitive" in the API will not
  7595  // be included in the string output. The member name will be present, but the
  7596  // value will be replaced with "sensitive".
  7597  func (s AssetModelCompositeModelDefinition) GoString() string {
  7598  	return s.String()
  7599  }
  7600  
  7601  // Validate inspects the fields of the type to determine if they are valid.
  7602  func (s *AssetModelCompositeModelDefinition) Validate() error {
  7603  	invalidParams := request.ErrInvalidParams{Context: "AssetModelCompositeModelDefinition"}
  7604  	if s.Description != nil && len(*s.Description) < 1 {
  7605  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  7606  	}
  7607  	if s.Name == nil {
  7608  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7609  	}
  7610  	if s.Name != nil && len(*s.Name) < 1 {
  7611  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7612  	}
  7613  	if s.Type == nil {
  7614  		invalidParams.Add(request.NewErrParamRequired("Type"))
  7615  	}
  7616  	if s.Type != nil && len(*s.Type) < 1 {
  7617  		invalidParams.Add(request.NewErrParamMinLen("Type", 1))
  7618  	}
  7619  	if s.Properties != nil {
  7620  		for i, v := range s.Properties {
  7621  			if v == nil {
  7622  				continue
  7623  			}
  7624  			if err := v.Validate(); err != nil {
  7625  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Properties", i), err.(request.ErrInvalidParams))
  7626  			}
  7627  		}
  7628  	}
  7629  
  7630  	if invalidParams.Len() > 0 {
  7631  		return invalidParams
  7632  	}
  7633  	return nil
  7634  }
  7635  
  7636  // SetDescription sets the Description field's value.
  7637  func (s *AssetModelCompositeModelDefinition) SetDescription(v string) *AssetModelCompositeModelDefinition {
  7638  	s.Description = &v
  7639  	return s
  7640  }
  7641  
  7642  // SetName sets the Name field's value.
  7643  func (s *AssetModelCompositeModelDefinition) SetName(v string) *AssetModelCompositeModelDefinition {
  7644  	s.Name = &v
  7645  	return s
  7646  }
  7647  
  7648  // SetProperties sets the Properties field's value.
  7649  func (s *AssetModelCompositeModelDefinition) SetProperties(v []*AssetModelPropertyDefinition) *AssetModelCompositeModelDefinition {
  7650  	s.Properties = v
  7651  	return s
  7652  }
  7653  
  7654  // SetType sets the Type field's value.
  7655  func (s *AssetModelCompositeModelDefinition) SetType(v string) *AssetModelCompositeModelDefinition {
  7656  	s.Type = &v
  7657  	return s
  7658  }
  7659  
  7660  // Describes an asset hierarchy that contains a hierarchy's name, ID, and child
  7661  // asset model ID that specifies the type of asset that can be in this hierarchy.
  7662  type AssetModelHierarchy struct {
  7663  	_ struct{} `type:"structure"`
  7664  
  7665  	// The ID of the asset model. All assets in this hierarchy must be instances
  7666  	// of the childAssetModelId asset model.
  7667  	//
  7668  	// ChildAssetModelId is a required field
  7669  	ChildAssetModelId *string `locationName:"childAssetModelId" min:"36" type:"string" required:"true"`
  7670  
  7671  	// The ID of the asset model hierarchy. This ID is a hierarchyId.
  7672  	Id *string `locationName:"id" min:"36" type:"string"`
  7673  
  7674  	// The name of the asset model hierarchy that you specify by using the CreateAssetModel
  7675  	// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html)
  7676  	// or UpdateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html)
  7677  	// API operation.
  7678  	//
  7679  	// Name is a required field
  7680  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  7681  }
  7682  
  7683  // String returns the string representation.
  7684  //
  7685  // API parameter values that are decorated as "sensitive" in the API will not
  7686  // be included in the string output. The member name will be present, but the
  7687  // value will be replaced with "sensitive".
  7688  func (s AssetModelHierarchy) String() string {
  7689  	return awsutil.Prettify(s)
  7690  }
  7691  
  7692  // GoString returns the string representation.
  7693  //
  7694  // API parameter values that are decorated as "sensitive" in the API will not
  7695  // be included in the string output. The member name will be present, but the
  7696  // value will be replaced with "sensitive".
  7697  func (s AssetModelHierarchy) GoString() string {
  7698  	return s.String()
  7699  }
  7700  
  7701  // Validate inspects the fields of the type to determine if they are valid.
  7702  func (s *AssetModelHierarchy) Validate() error {
  7703  	invalidParams := request.ErrInvalidParams{Context: "AssetModelHierarchy"}
  7704  	if s.ChildAssetModelId == nil {
  7705  		invalidParams.Add(request.NewErrParamRequired("ChildAssetModelId"))
  7706  	}
  7707  	if s.ChildAssetModelId != nil && len(*s.ChildAssetModelId) < 36 {
  7708  		invalidParams.Add(request.NewErrParamMinLen("ChildAssetModelId", 36))
  7709  	}
  7710  	if s.Id != nil && len(*s.Id) < 36 {
  7711  		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
  7712  	}
  7713  	if s.Name == nil {
  7714  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7715  	}
  7716  	if s.Name != nil && len(*s.Name) < 1 {
  7717  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7718  	}
  7719  
  7720  	if invalidParams.Len() > 0 {
  7721  		return invalidParams
  7722  	}
  7723  	return nil
  7724  }
  7725  
  7726  // SetChildAssetModelId sets the ChildAssetModelId field's value.
  7727  func (s *AssetModelHierarchy) SetChildAssetModelId(v string) *AssetModelHierarchy {
  7728  	s.ChildAssetModelId = &v
  7729  	return s
  7730  }
  7731  
  7732  // SetId sets the Id field's value.
  7733  func (s *AssetModelHierarchy) SetId(v string) *AssetModelHierarchy {
  7734  	s.Id = &v
  7735  	return s
  7736  }
  7737  
  7738  // SetName sets the Name field's value.
  7739  func (s *AssetModelHierarchy) SetName(v string) *AssetModelHierarchy {
  7740  	s.Name = &v
  7741  	return s
  7742  }
  7743  
  7744  // Contains an asset model hierarchy used in asset model creation. An asset
  7745  // model hierarchy determines the kind (or type) of asset that can belong to
  7746  // a hierarchy.
  7747  type AssetModelHierarchyDefinition struct {
  7748  	_ struct{} `type:"structure"`
  7749  
  7750  	// The ID of an asset model for this hierarchy.
  7751  	//
  7752  	// ChildAssetModelId is a required field
  7753  	ChildAssetModelId *string `locationName:"childAssetModelId" min:"36" type:"string" required:"true"`
  7754  
  7755  	// The name of the asset model hierarchy definition (as specified in the CreateAssetModel
  7756  	// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html)
  7757  	// or UpdateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html)
  7758  	// API operation).
  7759  	//
  7760  	// Name is a required field
  7761  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  7762  }
  7763  
  7764  // String returns the string representation.
  7765  //
  7766  // API parameter values that are decorated as "sensitive" in the API will not
  7767  // be included in the string output. The member name will be present, but the
  7768  // value will be replaced with "sensitive".
  7769  func (s AssetModelHierarchyDefinition) String() string {
  7770  	return awsutil.Prettify(s)
  7771  }
  7772  
  7773  // GoString returns the string representation.
  7774  //
  7775  // API parameter values that are decorated as "sensitive" in the API will not
  7776  // be included in the string output. The member name will be present, but the
  7777  // value will be replaced with "sensitive".
  7778  func (s AssetModelHierarchyDefinition) GoString() string {
  7779  	return s.String()
  7780  }
  7781  
  7782  // Validate inspects the fields of the type to determine if they are valid.
  7783  func (s *AssetModelHierarchyDefinition) Validate() error {
  7784  	invalidParams := request.ErrInvalidParams{Context: "AssetModelHierarchyDefinition"}
  7785  	if s.ChildAssetModelId == nil {
  7786  		invalidParams.Add(request.NewErrParamRequired("ChildAssetModelId"))
  7787  	}
  7788  	if s.ChildAssetModelId != nil && len(*s.ChildAssetModelId) < 36 {
  7789  		invalidParams.Add(request.NewErrParamMinLen("ChildAssetModelId", 36))
  7790  	}
  7791  	if s.Name == nil {
  7792  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7793  	}
  7794  	if s.Name != nil && len(*s.Name) < 1 {
  7795  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7796  	}
  7797  
  7798  	if invalidParams.Len() > 0 {
  7799  		return invalidParams
  7800  	}
  7801  	return nil
  7802  }
  7803  
  7804  // SetChildAssetModelId sets the ChildAssetModelId field's value.
  7805  func (s *AssetModelHierarchyDefinition) SetChildAssetModelId(v string) *AssetModelHierarchyDefinition {
  7806  	s.ChildAssetModelId = &v
  7807  	return s
  7808  }
  7809  
  7810  // SetName sets the Name field's value.
  7811  func (s *AssetModelHierarchyDefinition) SetName(v string) *AssetModelHierarchyDefinition {
  7812  	s.Name = &v
  7813  	return s
  7814  }
  7815  
  7816  // Contains information about an asset model property.
  7817  type AssetModelProperty struct {
  7818  	_ struct{} `type:"structure"`
  7819  
  7820  	// The data type of the asset model property.
  7821  	//
  7822  	// DataType is a required field
  7823  	DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"`
  7824  
  7825  	// The data type of the structure for this property. This parameter exists on
  7826  	// properties that have the STRUCT data type.
  7827  	DataTypeSpec *string `locationName:"dataTypeSpec" min:"1" type:"string"`
  7828  
  7829  	// The ID of the asset model property.
  7830  	Id *string `locationName:"id" min:"36" type:"string"`
  7831  
  7832  	// The name of the asset model property.
  7833  	//
  7834  	// Name is a required field
  7835  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  7836  
  7837  	// The property type (see PropertyType).
  7838  	//
  7839  	// Type is a required field
  7840  	Type *PropertyType `locationName:"type" type:"structure" required:"true"`
  7841  
  7842  	// The unit of the asset model property, such as Newtons or RPM.
  7843  	Unit *string `locationName:"unit" min:"1" type:"string"`
  7844  }
  7845  
  7846  // String returns the string representation.
  7847  //
  7848  // API parameter values that are decorated as "sensitive" in the API will not
  7849  // be included in the string output. The member name will be present, but the
  7850  // value will be replaced with "sensitive".
  7851  func (s AssetModelProperty) String() string {
  7852  	return awsutil.Prettify(s)
  7853  }
  7854  
  7855  // GoString returns the string representation.
  7856  //
  7857  // API parameter values that are decorated as "sensitive" in the API will not
  7858  // be included in the string output. The member name will be present, but the
  7859  // value will be replaced with "sensitive".
  7860  func (s AssetModelProperty) GoString() string {
  7861  	return s.String()
  7862  }
  7863  
  7864  // Validate inspects the fields of the type to determine if they are valid.
  7865  func (s *AssetModelProperty) Validate() error {
  7866  	invalidParams := request.ErrInvalidParams{Context: "AssetModelProperty"}
  7867  	if s.DataType == nil {
  7868  		invalidParams.Add(request.NewErrParamRequired("DataType"))
  7869  	}
  7870  	if s.DataTypeSpec != nil && len(*s.DataTypeSpec) < 1 {
  7871  		invalidParams.Add(request.NewErrParamMinLen("DataTypeSpec", 1))
  7872  	}
  7873  	if s.Id != nil && len(*s.Id) < 36 {
  7874  		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
  7875  	}
  7876  	if s.Name == nil {
  7877  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7878  	}
  7879  	if s.Name != nil && len(*s.Name) < 1 {
  7880  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7881  	}
  7882  	if s.Type == nil {
  7883  		invalidParams.Add(request.NewErrParamRequired("Type"))
  7884  	}
  7885  	if s.Unit != nil && len(*s.Unit) < 1 {
  7886  		invalidParams.Add(request.NewErrParamMinLen("Unit", 1))
  7887  	}
  7888  	if s.Type != nil {
  7889  		if err := s.Type.Validate(); err != nil {
  7890  			invalidParams.AddNested("Type", err.(request.ErrInvalidParams))
  7891  		}
  7892  	}
  7893  
  7894  	if invalidParams.Len() > 0 {
  7895  		return invalidParams
  7896  	}
  7897  	return nil
  7898  }
  7899  
  7900  // SetDataType sets the DataType field's value.
  7901  func (s *AssetModelProperty) SetDataType(v string) *AssetModelProperty {
  7902  	s.DataType = &v
  7903  	return s
  7904  }
  7905  
  7906  // SetDataTypeSpec sets the DataTypeSpec field's value.
  7907  func (s *AssetModelProperty) SetDataTypeSpec(v string) *AssetModelProperty {
  7908  	s.DataTypeSpec = &v
  7909  	return s
  7910  }
  7911  
  7912  // SetId sets the Id field's value.
  7913  func (s *AssetModelProperty) SetId(v string) *AssetModelProperty {
  7914  	s.Id = &v
  7915  	return s
  7916  }
  7917  
  7918  // SetName sets the Name field's value.
  7919  func (s *AssetModelProperty) SetName(v string) *AssetModelProperty {
  7920  	s.Name = &v
  7921  	return s
  7922  }
  7923  
  7924  // SetType sets the Type field's value.
  7925  func (s *AssetModelProperty) SetType(v *PropertyType) *AssetModelProperty {
  7926  	s.Type = v
  7927  	return s
  7928  }
  7929  
  7930  // SetUnit sets the Unit field's value.
  7931  func (s *AssetModelProperty) SetUnit(v string) *AssetModelProperty {
  7932  	s.Unit = &v
  7933  	return s
  7934  }
  7935  
  7936  // Contains an asset model property definition. This property definition is
  7937  // applied to all assets created from the asset model.
  7938  type AssetModelPropertyDefinition struct {
  7939  	_ struct{} `type:"structure"`
  7940  
  7941  	// The data type of the property definition.
  7942  	//
  7943  	// If you specify STRUCT, you must also specify dataTypeSpec to identify the
  7944  	// type of the structure for this property.
  7945  	//
  7946  	// DataType is a required field
  7947  	DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"`
  7948  
  7949  	// The data type of the structure for this property. This parameter is required
  7950  	// on properties that have the STRUCT data type.
  7951  	//
  7952  	// The options for this parameter depend on the type of the composite model
  7953  	// in which you define this property. Use AWS/ALARM_STATE for alarm state in
  7954  	// alarm composite models.
  7955  	DataTypeSpec *string `locationName:"dataTypeSpec" min:"1" type:"string"`
  7956  
  7957  	// The name of the property definition.
  7958  	//
  7959  	// Name is a required field
  7960  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  7961  
  7962  	// The property definition type (see PropertyType). You can only specify one
  7963  	// type in a property definition.
  7964  	//
  7965  	// Type is a required field
  7966  	Type *PropertyType `locationName:"type" type:"structure" required:"true"`
  7967  
  7968  	// The unit of the property definition, such as Newtons or RPM.
  7969  	Unit *string `locationName:"unit" min:"1" type:"string"`
  7970  }
  7971  
  7972  // String returns the string representation.
  7973  //
  7974  // API parameter values that are decorated as "sensitive" in the API will not
  7975  // be included in the string output. The member name will be present, but the
  7976  // value will be replaced with "sensitive".
  7977  func (s AssetModelPropertyDefinition) String() string {
  7978  	return awsutil.Prettify(s)
  7979  }
  7980  
  7981  // GoString returns the string representation.
  7982  //
  7983  // API parameter values that are decorated as "sensitive" in the API will not
  7984  // be included in the string output. The member name will be present, but the
  7985  // value will be replaced with "sensitive".
  7986  func (s AssetModelPropertyDefinition) GoString() string {
  7987  	return s.String()
  7988  }
  7989  
  7990  // Validate inspects the fields of the type to determine if they are valid.
  7991  func (s *AssetModelPropertyDefinition) Validate() error {
  7992  	invalidParams := request.ErrInvalidParams{Context: "AssetModelPropertyDefinition"}
  7993  	if s.DataType == nil {
  7994  		invalidParams.Add(request.NewErrParamRequired("DataType"))
  7995  	}
  7996  	if s.DataTypeSpec != nil && len(*s.DataTypeSpec) < 1 {
  7997  		invalidParams.Add(request.NewErrParamMinLen("DataTypeSpec", 1))
  7998  	}
  7999  	if s.Name == nil {
  8000  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8001  	}
  8002  	if s.Name != nil && len(*s.Name) < 1 {
  8003  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  8004  	}
  8005  	if s.Type == nil {
  8006  		invalidParams.Add(request.NewErrParamRequired("Type"))
  8007  	}
  8008  	if s.Unit != nil && len(*s.Unit) < 1 {
  8009  		invalidParams.Add(request.NewErrParamMinLen("Unit", 1))
  8010  	}
  8011  	if s.Type != nil {
  8012  		if err := s.Type.Validate(); err != nil {
  8013  			invalidParams.AddNested("Type", err.(request.ErrInvalidParams))
  8014  		}
  8015  	}
  8016  
  8017  	if invalidParams.Len() > 0 {
  8018  		return invalidParams
  8019  	}
  8020  	return nil
  8021  }
  8022  
  8023  // SetDataType sets the DataType field's value.
  8024  func (s *AssetModelPropertyDefinition) SetDataType(v string) *AssetModelPropertyDefinition {
  8025  	s.DataType = &v
  8026  	return s
  8027  }
  8028  
  8029  // SetDataTypeSpec sets the DataTypeSpec field's value.
  8030  func (s *AssetModelPropertyDefinition) SetDataTypeSpec(v string) *AssetModelPropertyDefinition {
  8031  	s.DataTypeSpec = &v
  8032  	return s
  8033  }
  8034  
  8035  // SetName sets the Name field's value.
  8036  func (s *AssetModelPropertyDefinition) SetName(v string) *AssetModelPropertyDefinition {
  8037  	s.Name = &v
  8038  	return s
  8039  }
  8040  
  8041  // SetType sets the Type field's value.
  8042  func (s *AssetModelPropertyDefinition) SetType(v *PropertyType) *AssetModelPropertyDefinition {
  8043  	s.Type = v
  8044  	return s
  8045  }
  8046  
  8047  // SetUnit sets the Unit field's value.
  8048  func (s *AssetModelPropertyDefinition) SetUnit(v string) *AssetModelPropertyDefinition {
  8049  	s.Unit = &v
  8050  	return s
  8051  }
  8052  
  8053  // Contains current status information for an asset model. For more information,
  8054  // see Asset and model states (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-and-model-states.html)
  8055  // in the IoT SiteWise User Guide.
  8056  type AssetModelStatus struct {
  8057  	_ struct{} `type:"structure"`
  8058  
  8059  	// Contains associated error information, if any.
  8060  	Error *ErrorDetails `locationName:"error" type:"structure"`
  8061  
  8062  	// The current state of the asset model.
  8063  	//
  8064  	// State is a required field
  8065  	State *string `locationName:"state" type:"string" required:"true" enum:"AssetModelState"`
  8066  }
  8067  
  8068  // String returns the string representation.
  8069  //
  8070  // API parameter values that are decorated as "sensitive" in the API will not
  8071  // be included in the string output. The member name will be present, but the
  8072  // value will be replaced with "sensitive".
  8073  func (s AssetModelStatus) String() string {
  8074  	return awsutil.Prettify(s)
  8075  }
  8076  
  8077  // GoString returns the string representation.
  8078  //
  8079  // API parameter values that are decorated as "sensitive" in the API will not
  8080  // be included in the string output. The member name will be present, but the
  8081  // value will be replaced with "sensitive".
  8082  func (s AssetModelStatus) GoString() string {
  8083  	return s.String()
  8084  }
  8085  
  8086  // SetError sets the Error field's value.
  8087  func (s *AssetModelStatus) SetError(v *ErrorDetails) *AssetModelStatus {
  8088  	s.Error = v
  8089  	return s
  8090  }
  8091  
  8092  // SetState sets the State field's value.
  8093  func (s *AssetModelStatus) SetState(v string) *AssetModelStatus {
  8094  	s.State = &v
  8095  	return s
  8096  }
  8097  
  8098  // Contains a summary of an asset model.
  8099  type AssetModelSummary struct {
  8100  	_ struct{} `type:"structure"`
  8101  
  8102  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  8103  	// of the asset model, which has the following format.
  8104  	//
  8105  	// arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId}
  8106  	//
  8107  	// Arn is a required field
  8108  	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
  8109  
  8110  	// The date the asset model was created, in Unix epoch time.
  8111  	//
  8112  	// CreationDate is a required field
  8113  	CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"`
  8114  
  8115  	// The asset model description.
  8116  	//
  8117  	// Description is a required field
  8118  	Description *string `locationName:"description" min:"1" type:"string" required:"true"`
  8119  
  8120  	// The ID of the asset model (used with IoT SiteWise APIs).
  8121  	//
  8122  	// Id is a required field
  8123  	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
  8124  
  8125  	// The date the asset model was last updated, in Unix epoch time.
  8126  	//
  8127  	// LastUpdateDate is a required field
  8128  	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp" required:"true"`
  8129  
  8130  	// The name of the asset model.
  8131  	//
  8132  	// Name is a required field
  8133  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  8134  
  8135  	// The current status of the asset model.
  8136  	//
  8137  	// Status is a required field
  8138  	Status *AssetModelStatus `locationName:"status" type:"structure" required:"true"`
  8139  }
  8140  
  8141  // String returns the string representation.
  8142  //
  8143  // API parameter values that are decorated as "sensitive" in the API will not
  8144  // be included in the string output. The member name will be present, but the
  8145  // value will be replaced with "sensitive".
  8146  func (s AssetModelSummary) String() string {
  8147  	return awsutil.Prettify(s)
  8148  }
  8149  
  8150  // GoString returns the string representation.
  8151  //
  8152  // API parameter values that are decorated as "sensitive" in the API will not
  8153  // be included in the string output. The member name will be present, but the
  8154  // value will be replaced with "sensitive".
  8155  func (s AssetModelSummary) GoString() string {
  8156  	return s.String()
  8157  }
  8158  
  8159  // SetArn sets the Arn field's value.
  8160  func (s *AssetModelSummary) SetArn(v string) *AssetModelSummary {
  8161  	s.Arn = &v
  8162  	return s
  8163  }
  8164  
  8165  // SetCreationDate sets the CreationDate field's value.
  8166  func (s *AssetModelSummary) SetCreationDate(v time.Time) *AssetModelSummary {
  8167  	s.CreationDate = &v
  8168  	return s
  8169  }
  8170  
  8171  // SetDescription sets the Description field's value.
  8172  func (s *AssetModelSummary) SetDescription(v string) *AssetModelSummary {
  8173  	s.Description = &v
  8174  	return s
  8175  }
  8176  
  8177  // SetId sets the Id field's value.
  8178  func (s *AssetModelSummary) SetId(v string) *AssetModelSummary {
  8179  	s.Id = &v
  8180  	return s
  8181  }
  8182  
  8183  // SetLastUpdateDate sets the LastUpdateDate field's value.
  8184  func (s *AssetModelSummary) SetLastUpdateDate(v time.Time) *AssetModelSummary {
  8185  	s.LastUpdateDate = &v
  8186  	return s
  8187  }
  8188  
  8189  // SetName sets the Name field's value.
  8190  func (s *AssetModelSummary) SetName(v string) *AssetModelSummary {
  8191  	s.Name = &v
  8192  	return s
  8193  }
  8194  
  8195  // SetStatus sets the Status field's value.
  8196  func (s *AssetModelSummary) SetStatus(v *AssetModelStatus) *AssetModelSummary {
  8197  	s.Status = v
  8198  	return s
  8199  }
  8200  
  8201  // Contains asset property information.
  8202  type AssetProperty struct {
  8203  	_ struct{} `type:"structure"`
  8204  
  8205  	// The alias that identifies the property, such as an OPC-UA server data stream
  8206  	// path (for example, /company/windfarm/3/turbine/7/temperature). For more information,
  8207  	// see Mapping industrial data streams to asset properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
  8208  	// in the IoT SiteWise User Guide.
  8209  	Alias *string `locationName:"alias" min:"1" type:"string"`
  8210  
  8211  	// The data type of the asset property.
  8212  	//
  8213  	// DataType is a required field
  8214  	DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"`
  8215  
  8216  	// The data type of the structure for this property. This parameter exists on
  8217  	// properties that have the STRUCT data type.
  8218  	DataTypeSpec *string `locationName:"dataTypeSpec" min:"1" type:"string"`
  8219  
  8220  	// The ID of the asset property.
  8221  	//
  8222  	// Id is a required field
  8223  	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
  8224  
  8225  	// The name of the property.
  8226  	//
  8227  	// Name is a required field
  8228  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  8229  
  8230  	// The asset property's notification topic and state. For more information,
  8231  	// see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html).
  8232  	Notification *PropertyNotification `locationName:"notification" type:"structure"`
  8233  
  8234  	// The unit (such as Newtons or RPM) of the asset property.
  8235  	Unit *string `locationName:"unit" min:"1" type:"string"`
  8236  }
  8237  
  8238  // String returns the string representation.
  8239  //
  8240  // API parameter values that are decorated as "sensitive" in the API will not
  8241  // be included in the string output. The member name will be present, but the
  8242  // value will be replaced with "sensitive".
  8243  func (s AssetProperty) String() string {
  8244  	return awsutil.Prettify(s)
  8245  }
  8246  
  8247  // GoString returns the string representation.
  8248  //
  8249  // API parameter values that are decorated as "sensitive" in the API will not
  8250  // be included in the string output. The member name will be present, but the
  8251  // value will be replaced with "sensitive".
  8252  func (s AssetProperty) GoString() string {
  8253  	return s.String()
  8254  }
  8255  
  8256  // SetAlias sets the Alias field's value.
  8257  func (s *AssetProperty) SetAlias(v string) *AssetProperty {
  8258  	s.Alias = &v
  8259  	return s
  8260  }
  8261  
  8262  // SetDataType sets the DataType field's value.
  8263  func (s *AssetProperty) SetDataType(v string) *AssetProperty {
  8264  	s.DataType = &v
  8265  	return s
  8266  }
  8267  
  8268  // SetDataTypeSpec sets the DataTypeSpec field's value.
  8269  func (s *AssetProperty) SetDataTypeSpec(v string) *AssetProperty {
  8270  	s.DataTypeSpec = &v
  8271  	return s
  8272  }
  8273  
  8274  // SetId sets the Id field's value.
  8275  func (s *AssetProperty) SetId(v string) *AssetProperty {
  8276  	s.Id = &v
  8277  	return s
  8278  }
  8279  
  8280  // SetName sets the Name field's value.
  8281  func (s *AssetProperty) SetName(v string) *AssetProperty {
  8282  	s.Name = &v
  8283  	return s
  8284  }
  8285  
  8286  // SetNotification sets the Notification field's value.
  8287  func (s *AssetProperty) SetNotification(v *PropertyNotification) *AssetProperty {
  8288  	s.Notification = v
  8289  	return s
  8290  }
  8291  
  8292  // SetUnit sets the Unit field's value.
  8293  func (s *AssetProperty) SetUnit(v string) *AssetProperty {
  8294  	s.Unit = &v
  8295  	return s
  8296  }
  8297  
  8298  // Contains asset property value information.
  8299  type AssetPropertyValue struct {
  8300  	_ struct{} `type:"structure"`
  8301  
  8302  	// The quality of the asset property value.
  8303  	Quality *string `locationName:"quality" type:"string" enum:"Quality"`
  8304  
  8305  	// The timestamp of the asset property value.
  8306  	//
  8307  	// Timestamp is a required field
  8308  	Timestamp *TimeInNanos `locationName:"timestamp" type:"structure" required:"true"`
  8309  
  8310  	// The value of the asset property (see Variant).
  8311  	//
  8312  	// Value is a required field
  8313  	Value *Variant `locationName:"value" type:"structure" required:"true"`
  8314  }
  8315  
  8316  // String returns the string representation.
  8317  //
  8318  // API parameter values that are decorated as "sensitive" in the API will not
  8319  // be included in the string output. The member name will be present, but the
  8320  // value will be replaced with "sensitive".
  8321  func (s AssetPropertyValue) String() string {
  8322  	return awsutil.Prettify(s)
  8323  }
  8324  
  8325  // GoString returns the string representation.
  8326  //
  8327  // API parameter values that are decorated as "sensitive" in the API will not
  8328  // be included in the string output. The member name will be present, but the
  8329  // value will be replaced with "sensitive".
  8330  func (s AssetPropertyValue) GoString() string {
  8331  	return s.String()
  8332  }
  8333  
  8334  // Validate inspects the fields of the type to determine if they are valid.
  8335  func (s *AssetPropertyValue) Validate() error {
  8336  	invalidParams := request.ErrInvalidParams{Context: "AssetPropertyValue"}
  8337  	if s.Timestamp == nil {
  8338  		invalidParams.Add(request.NewErrParamRequired("Timestamp"))
  8339  	}
  8340  	if s.Value == nil {
  8341  		invalidParams.Add(request.NewErrParamRequired("Value"))
  8342  	}
  8343  	if s.Timestamp != nil {
  8344  		if err := s.Timestamp.Validate(); err != nil {
  8345  			invalidParams.AddNested("Timestamp", err.(request.ErrInvalidParams))
  8346  		}
  8347  	}
  8348  
  8349  	if invalidParams.Len() > 0 {
  8350  		return invalidParams
  8351  	}
  8352  	return nil
  8353  }
  8354  
  8355  // SetQuality sets the Quality field's value.
  8356  func (s *AssetPropertyValue) SetQuality(v string) *AssetPropertyValue {
  8357  	s.Quality = &v
  8358  	return s
  8359  }
  8360  
  8361  // SetTimestamp sets the Timestamp field's value.
  8362  func (s *AssetPropertyValue) SetTimestamp(v *TimeInNanos) *AssetPropertyValue {
  8363  	s.Timestamp = v
  8364  	return s
  8365  }
  8366  
  8367  // SetValue sets the Value field's value.
  8368  func (s *AssetPropertyValue) SetValue(v *Variant) *AssetPropertyValue {
  8369  	s.Value = v
  8370  	return s
  8371  }
  8372  
  8373  // Contains information about assets that are related to one another.
  8374  type AssetRelationshipSummary struct {
  8375  	_ struct{} `type:"structure"`
  8376  
  8377  	// The assets that are related through an asset hierarchy.
  8378  	//
  8379  	// This object is present if the relationshipType is HIERARCHY.
  8380  	HierarchyInfo *AssetHierarchyInfo `locationName:"hierarchyInfo" type:"structure"`
  8381  
  8382  	// The relationship type of the assets in this relationship. This value is one
  8383  	// of the following:
  8384  	//
  8385  	//    * HIERARCHY – The assets are related through an asset hierarchy. If
  8386  	//    you specify this relationship type, this asset relationship includes the
  8387  	//    hierarchyInfo object.
  8388  	//
  8389  	// RelationshipType is a required field
  8390  	RelationshipType *string `locationName:"relationshipType" type:"string" required:"true" enum:"AssetRelationshipType"`
  8391  }
  8392  
  8393  // String returns the string representation.
  8394  //
  8395  // API parameter values that are decorated as "sensitive" in the API will not
  8396  // be included in the string output. The member name will be present, but the
  8397  // value will be replaced with "sensitive".
  8398  func (s AssetRelationshipSummary) String() string {
  8399  	return awsutil.Prettify(s)
  8400  }
  8401  
  8402  // GoString returns the string representation.
  8403  //
  8404  // API parameter values that are decorated as "sensitive" in the API will not
  8405  // be included in the string output. The member name will be present, but the
  8406  // value will be replaced with "sensitive".
  8407  func (s AssetRelationshipSummary) GoString() string {
  8408  	return s.String()
  8409  }
  8410  
  8411  // SetHierarchyInfo sets the HierarchyInfo field's value.
  8412  func (s *AssetRelationshipSummary) SetHierarchyInfo(v *AssetHierarchyInfo) *AssetRelationshipSummary {
  8413  	s.HierarchyInfo = v
  8414  	return s
  8415  }
  8416  
  8417  // SetRelationshipType sets the RelationshipType field's value.
  8418  func (s *AssetRelationshipSummary) SetRelationshipType(v string) *AssetRelationshipSummary {
  8419  	s.RelationshipType = &v
  8420  	return s
  8421  }
  8422  
  8423  // Contains information about the current status of an asset. For more information,
  8424  // see Asset and model states (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-and-model-states.html)
  8425  // in the IoT SiteWise User Guide.
  8426  type AssetStatus struct {
  8427  	_ struct{} `type:"structure"`
  8428  
  8429  	// Contains associated error information, if any.
  8430  	Error *ErrorDetails `locationName:"error" type:"structure"`
  8431  
  8432  	// The current status of the asset.
  8433  	//
  8434  	// State is a required field
  8435  	State *string `locationName:"state" type:"string" required:"true" enum:"AssetState"`
  8436  }
  8437  
  8438  // String returns the string representation.
  8439  //
  8440  // API parameter values that are decorated as "sensitive" in the API will not
  8441  // be included in the string output. The member name will be present, but the
  8442  // value will be replaced with "sensitive".
  8443  func (s AssetStatus) String() string {
  8444  	return awsutil.Prettify(s)
  8445  }
  8446  
  8447  // GoString returns the string representation.
  8448  //
  8449  // API parameter values that are decorated as "sensitive" in the API will not
  8450  // be included in the string output. The member name will be present, but the
  8451  // value will be replaced with "sensitive".
  8452  func (s AssetStatus) GoString() string {
  8453  	return s.String()
  8454  }
  8455  
  8456  // SetError sets the Error field's value.
  8457  func (s *AssetStatus) SetError(v *ErrorDetails) *AssetStatus {
  8458  	s.Error = v
  8459  	return s
  8460  }
  8461  
  8462  // SetState sets the State field's value.
  8463  func (s *AssetStatus) SetState(v string) *AssetStatus {
  8464  	s.State = &v
  8465  	return s
  8466  }
  8467  
  8468  // Contains a summary of an asset.
  8469  type AssetSummary struct {
  8470  	_ struct{} `type:"structure"`
  8471  
  8472  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  8473  	// of the asset, which has the following format.
  8474  	//
  8475  	// arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}
  8476  	//
  8477  	// Arn is a required field
  8478  	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
  8479  
  8480  	// The ID of the asset model used to create this asset.
  8481  	//
  8482  	// AssetModelId is a required field
  8483  	AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"`
  8484  
  8485  	// The date the asset was created, in Unix epoch time.
  8486  	//
  8487  	// CreationDate is a required field
  8488  	CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"`
  8489  
  8490  	// A list of asset hierarchies that each contain a hierarchyId. A hierarchy
  8491  	// specifies allowed parent/child asset relationships.
  8492  	//
  8493  	// Hierarchies is a required field
  8494  	Hierarchies []*AssetHierarchy `locationName:"hierarchies" type:"list" required:"true"`
  8495  
  8496  	// The ID of the asset.
  8497  	//
  8498  	// Id is a required field
  8499  	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
  8500  
  8501  	// The date the asset was last updated, in Unix epoch time.
  8502  	//
  8503  	// LastUpdateDate is a required field
  8504  	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp" required:"true"`
  8505  
  8506  	// The name of the asset.
  8507  	//
  8508  	// Name is a required field
  8509  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  8510  
  8511  	// The current status of the asset.
  8512  	//
  8513  	// Status is a required field
  8514  	Status *AssetStatus `locationName:"status" type:"structure" required:"true"`
  8515  }
  8516  
  8517  // String returns the string representation.
  8518  //
  8519  // API parameter values that are decorated as "sensitive" in the API will not
  8520  // be included in the string output. The member name will be present, but the
  8521  // value will be replaced with "sensitive".
  8522  func (s AssetSummary) String() string {
  8523  	return awsutil.Prettify(s)
  8524  }
  8525  
  8526  // GoString returns the string representation.
  8527  //
  8528  // API parameter values that are decorated as "sensitive" in the API will not
  8529  // be included in the string output. The member name will be present, but the
  8530  // value will be replaced with "sensitive".
  8531  func (s AssetSummary) GoString() string {
  8532  	return s.String()
  8533  }
  8534  
  8535  // SetArn sets the Arn field's value.
  8536  func (s *AssetSummary) SetArn(v string) *AssetSummary {
  8537  	s.Arn = &v
  8538  	return s
  8539  }
  8540  
  8541  // SetAssetModelId sets the AssetModelId field's value.
  8542  func (s *AssetSummary) SetAssetModelId(v string) *AssetSummary {
  8543  	s.AssetModelId = &v
  8544  	return s
  8545  }
  8546  
  8547  // SetCreationDate sets the CreationDate field's value.
  8548  func (s *AssetSummary) SetCreationDate(v time.Time) *AssetSummary {
  8549  	s.CreationDate = &v
  8550  	return s
  8551  }
  8552  
  8553  // SetHierarchies sets the Hierarchies field's value.
  8554  func (s *AssetSummary) SetHierarchies(v []*AssetHierarchy) *AssetSummary {
  8555  	s.Hierarchies = v
  8556  	return s
  8557  }
  8558  
  8559  // SetId sets the Id field's value.
  8560  func (s *AssetSummary) SetId(v string) *AssetSummary {
  8561  	s.Id = &v
  8562  	return s
  8563  }
  8564  
  8565  // SetLastUpdateDate sets the LastUpdateDate field's value.
  8566  func (s *AssetSummary) SetLastUpdateDate(v time.Time) *AssetSummary {
  8567  	s.LastUpdateDate = &v
  8568  	return s
  8569  }
  8570  
  8571  // SetName sets the Name field's value.
  8572  func (s *AssetSummary) SetName(v string) *AssetSummary {
  8573  	s.Name = &v
  8574  	return s
  8575  }
  8576  
  8577  // SetStatus sets the Status field's value.
  8578  func (s *AssetSummary) SetStatus(v *AssetStatus) *AssetSummary {
  8579  	s.Status = v
  8580  	return s
  8581  }
  8582  
  8583  type AssociateAssetsInput struct {
  8584  	_ struct{} `type:"structure"`
  8585  
  8586  	// The ID of the parent asset.
  8587  	//
  8588  	// AssetId is a required field
  8589  	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
  8590  
  8591  	// The ID of the child asset to be associated.
  8592  	//
  8593  	// ChildAssetId is a required field
  8594  	ChildAssetId *string `locationName:"childAssetId" min:"36" type:"string" required:"true"`
  8595  
  8596  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
  8597  	// of the request. Don't reuse this client token if a new idempotent request
  8598  	// is required.
  8599  	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
  8600  
  8601  	// The ID of a hierarchy in the parent asset's model. Hierarchies allow different
  8602  	// groupings of assets to be formed that all come from the same asset model.
  8603  	// For more information, see Asset hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html)
  8604  	// in the IoT SiteWise User Guide.
  8605  	//
  8606  	// HierarchyId is a required field
  8607  	HierarchyId *string `locationName:"hierarchyId" min:"36" type:"string" required:"true"`
  8608  }
  8609  
  8610  // String returns the string representation.
  8611  //
  8612  // API parameter values that are decorated as "sensitive" in the API will not
  8613  // be included in the string output. The member name will be present, but the
  8614  // value will be replaced with "sensitive".
  8615  func (s AssociateAssetsInput) String() string {
  8616  	return awsutil.Prettify(s)
  8617  }
  8618  
  8619  // GoString returns the string representation.
  8620  //
  8621  // API parameter values that are decorated as "sensitive" in the API will not
  8622  // be included in the string output. The member name will be present, but the
  8623  // value will be replaced with "sensitive".
  8624  func (s AssociateAssetsInput) GoString() string {
  8625  	return s.String()
  8626  }
  8627  
  8628  // Validate inspects the fields of the type to determine if they are valid.
  8629  func (s *AssociateAssetsInput) Validate() error {
  8630  	invalidParams := request.ErrInvalidParams{Context: "AssociateAssetsInput"}
  8631  	if s.AssetId == nil {
  8632  		invalidParams.Add(request.NewErrParamRequired("AssetId"))
  8633  	}
  8634  	if s.AssetId != nil && len(*s.AssetId) < 36 {
  8635  		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
  8636  	}
  8637  	if s.ChildAssetId == nil {
  8638  		invalidParams.Add(request.NewErrParamRequired("ChildAssetId"))
  8639  	}
  8640  	if s.ChildAssetId != nil && len(*s.ChildAssetId) < 36 {
  8641  		invalidParams.Add(request.NewErrParamMinLen("ChildAssetId", 36))
  8642  	}
  8643  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
  8644  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
  8645  	}
  8646  	if s.HierarchyId == nil {
  8647  		invalidParams.Add(request.NewErrParamRequired("HierarchyId"))
  8648  	}
  8649  	if s.HierarchyId != nil && len(*s.HierarchyId) < 36 {
  8650  		invalidParams.Add(request.NewErrParamMinLen("HierarchyId", 36))
  8651  	}
  8652  
  8653  	if invalidParams.Len() > 0 {
  8654  		return invalidParams
  8655  	}
  8656  	return nil
  8657  }
  8658  
  8659  // SetAssetId sets the AssetId field's value.
  8660  func (s *AssociateAssetsInput) SetAssetId(v string) *AssociateAssetsInput {
  8661  	s.AssetId = &v
  8662  	return s
  8663  }
  8664  
  8665  // SetChildAssetId sets the ChildAssetId field's value.
  8666  func (s *AssociateAssetsInput) SetChildAssetId(v string) *AssociateAssetsInput {
  8667  	s.ChildAssetId = &v
  8668  	return s
  8669  }
  8670  
  8671  // SetClientToken sets the ClientToken field's value.
  8672  func (s *AssociateAssetsInput) SetClientToken(v string) *AssociateAssetsInput {
  8673  	s.ClientToken = &v
  8674  	return s
  8675  }
  8676  
  8677  // SetHierarchyId sets the HierarchyId field's value.
  8678  func (s *AssociateAssetsInput) SetHierarchyId(v string) *AssociateAssetsInput {
  8679  	s.HierarchyId = &v
  8680  	return s
  8681  }
  8682  
  8683  type AssociateAssetsOutput struct {
  8684  	_ struct{} `type:"structure" nopayload:"true"`
  8685  }
  8686  
  8687  // String returns the string representation.
  8688  //
  8689  // API parameter values that are decorated as "sensitive" in the API will not
  8690  // be included in the string output. The member name will be present, but the
  8691  // value will be replaced with "sensitive".
  8692  func (s AssociateAssetsOutput) String() string {
  8693  	return awsutil.Prettify(s)
  8694  }
  8695  
  8696  // GoString returns the string representation.
  8697  //
  8698  // API parameter values that are decorated as "sensitive" in the API will not
  8699  // be included in the string output. The member name will be present, but the
  8700  // value will be replaced with "sensitive".
  8701  func (s AssociateAssetsOutput) GoString() string {
  8702  	return s.String()
  8703  }
  8704  
  8705  // Contains a summary of an associated asset.
  8706  type AssociatedAssetsSummary struct {
  8707  	_ struct{} `type:"structure"`
  8708  
  8709  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  8710  	// of the asset, which has the following format.
  8711  	//
  8712  	// arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}
  8713  	//
  8714  	// Arn is a required field
  8715  	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
  8716  
  8717  	// The ID of the asset model used to create the asset.
  8718  	//
  8719  	// AssetModelId is a required field
  8720  	AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"`
  8721  
  8722  	// The date the asset was created, in Unix epoch time.
  8723  	//
  8724  	// CreationDate is a required field
  8725  	CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"`
  8726  
  8727  	// A list of asset hierarchies that each contain a hierarchyId. A hierarchy
  8728  	// specifies allowed parent/child asset relationships.
  8729  	//
  8730  	// Hierarchies is a required field
  8731  	Hierarchies []*AssetHierarchy `locationName:"hierarchies" type:"list" required:"true"`
  8732  
  8733  	// The ID of the asset.
  8734  	//
  8735  	// Id is a required field
  8736  	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
  8737  
  8738  	// The date the asset was last updated, in Unix epoch time.
  8739  	//
  8740  	// LastUpdateDate is a required field
  8741  	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp" required:"true"`
  8742  
  8743  	// The name of the asset.
  8744  	//
  8745  	// Name is a required field
  8746  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  8747  
  8748  	// The current status of the asset.
  8749  	//
  8750  	// Status is a required field
  8751  	Status *AssetStatus `locationName:"status" type:"structure" required:"true"`
  8752  }
  8753  
  8754  // String returns the string representation.
  8755  //
  8756  // API parameter values that are decorated as "sensitive" in the API will not
  8757  // be included in the string output. The member name will be present, but the
  8758  // value will be replaced with "sensitive".
  8759  func (s AssociatedAssetsSummary) String() string {
  8760  	return awsutil.Prettify(s)
  8761  }
  8762  
  8763  // GoString returns the string representation.
  8764  //
  8765  // API parameter values that are decorated as "sensitive" in the API will not
  8766  // be included in the string output. The member name will be present, but the
  8767  // value will be replaced with "sensitive".
  8768  func (s AssociatedAssetsSummary) GoString() string {
  8769  	return s.String()
  8770  }
  8771  
  8772  // SetArn sets the Arn field's value.
  8773  func (s *AssociatedAssetsSummary) SetArn(v string) *AssociatedAssetsSummary {
  8774  	s.Arn = &v
  8775  	return s
  8776  }
  8777  
  8778  // SetAssetModelId sets the AssetModelId field's value.
  8779  func (s *AssociatedAssetsSummary) SetAssetModelId(v string) *AssociatedAssetsSummary {
  8780  	s.AssetModelId = &v
  8781  	return s
  8782  }
  8783  
  8784  // SetCreationDate sets the CreationDate field's value.
  8785  func (s *AssociatedAssetsSummary) SetCreationDate(v time.Time) *AssociatedAssetsSummary {
  8786  	s.CreationDate = &v
  8787  	return s
  8788  }
  8789  
  8790  // SetHierarchies sets the Hierarchies field's value.
  8791  func (s *AssociatedAssetsSummary) SetHierarchies(v []*AssetHierarchy) *AssociatedAssetsSummary {
  8792  	s.Hierarchies = v
  8793  	return s
  8794  }
  8795  
  8796  // SetId sets the Id field's value.
  8797  func (s *AssociatedAssetsSummary) SetId(v string) *AssociatedAssetsSummary {
  8798  	s.Id = &v
  8799  	return s
  8800  }
  8801  
  8802  // SetLastUpdateDate sets the LastUpdateDate field's value.
  8803  func (s *AssociatedAssetsSummary) SetLastUpdateDate(v time.Time) *AssociatedAssetsSummary {
  8804  	s.LastUpdateDate = &v
  8805  	return s
  8806  }
  8807  
  8808  // SetName sets the Name field's value.
  8809  func (s *AssociatedAssetsSummary) SetName(v string) *AssociatedAssetsSummary {
  8810  	s.Name = &v
  8811  	return s
  8812  }
  8813  
  8814  // SetStatus sets the Status field's value.
  8815  func (s *AssociatedAssetsSummary) SetStatus(v *AssetStatus) *AssociatedAssetsSummary {
  8816  	s.Status = v
  8817  	return s
  8818  }
  8819  
  8820  // Contains an asset attribute property. For more information, see Attributes
  8821  // (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html#attributes)
  8822  // in the IoT SiteWise User Guide.
  8823  type Attribute struct {
  8824  	_ struct{} `type:"structure"`
  8825  
  8826  	// The default value of the asset model property attribute. All assets that
  8827  	// you create from the asset model contain this attribute value. You can update
  8828  	// an attribute's value after you create an asset. For more information, see
  8829  	// Updating attribute values (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-attribute-values.html)
  8830  	// in the IoT SiteWise User Guide.
  8831  	DefaultValue *string `locationName:"defaultValue" min:"1" type:"string"`
  8832  }
  8833  
  8834  // String returns the string representation.
  8835  //
  8836  // API parameter values that are decorated as "sensitive" in the API will not
  8837  // be included in the string output. The member name will be present, but the
  8838  // value will be replaced with "sensitive".
  8839  func (s Attribute) String() string {
  8840  	return awsutil.Prettify(s)
  8841  }
  8842  
  8843  // GoString returns the string representation.
  8844  //
  8845  // API parameter values that are decorated as "sensitive" in the API will not
  8846  // be included in the string output. The member name will be present, but the
  8847  // value will be replaced with "sensitive".
  8848  func (s Attribute) GoString() string {
  8849  	return s.String()
  8850  }
  8851  
  8852  // Validate inspects the fields of the type to determine if they are valid.
  8853  func (s *Attribute) Validate() error {
  8854  	invalidParams := request.ErrInvalidParams{Context: "Attribute"}
  8855  	if s.DefaultValue != nil && len(*s.DefaultValue) < 1 {
  8856  		invalidParams.Add(request.NewErrParamMinLen("DefaultValue", 1))
  8857  	}
  8858  
  8859  	if invalidParams.Len() > 0 {
  8860  		return invalidParams
  8861  	}
  8862  	return nil
  8863  }
  8864  
  8865  // SetDefaultValue sets the DefaultValue field's value.
  8866  func (s *Attribute) SetDefaultValue(v string) *Attribute {
  8867  	s.DefaultValue = &v
  8868  	return s
  8869  }
  8870  
  8871  type BatchAssociateProjectAssetsInput struct {
  8872  	_ struct{} `type:"structure"`
  8873  
  8874  	// The IDs of the assets to be associated to the project.
  8875  	//
  8876  	// AssetIds is a required field
  8877  	AssetIds []*string `locationName:"assetIds" min:"1" type:"list" required:"true"`
  8878  
  8879  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
  8880  	// of the request. Don't reuse this client token if a new idempotent request
  8881  	// is required.
  8882  	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
  8883  
  8884  	// The ID of the project to which to associate the assets.
  8885  	//
  8886  	// ProjectId is a required field
  8887  	ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"`
  8888  }
  8889  
  8890  // String returns the string representation.
  8891  //
  8892  // API parameter values that are decorated as "sensitive" in the API will not
  8893  // be included in the string output. The member name will be present, but the
  8894  // value will be replaced with "sensitive".
  8895  func (s BatchAssociateProjectAssetsInput) String() string {
  8896  	return awsutil.Prettify(s)
  8897  }
  8898  
  8899  // GoString returns the string representation.
  8900  //
  8901  // API parameter values that are decorated as "sensitive" in the API will not
  8902  // be included in the string output. The member name will be present, but the
  8903  // value will be replaced with "sensitive".
  8904  func (s BatchAssociateProjectAssetsInput) GoString() string {
  8905  	return s.String()
  8906  }
  8907  
  8908  // Validate inspects the fields of the type to determine if they are valid.
  8909  func (s *BatchAssociateProjectAssetsInput) Validate() error {
  8910  	invalidParams := request.ErrInvalidParams{Context: "BatchAssociateProjectAssetsInput"}
  8911  	if s.AssetIds == nil {
  8912  		invalidParams.Add(request.NewErrParamRequired("AssetIds"))
  8913  	}
  8914  	if s.AssetIds != nil && len(s.AssetIds) < 1 {
  8915  		invalidParams.Add(request.NewErrParamMinLen("AssetIds", 1))
  8916  	}
  8917  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
  8918  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
  8919  	}
  8920  	if s.ProjectId == nil {
  8921  		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
  8922  	}
  8923  	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
  8924  		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
  8925  	}
  8926  
  8927  	if invalidParams.Len() > 0 {
  8928  		return invalidParams
  8929  	}
  8930  	return nil
  8931  }
  8932  
  8933  // SetAssetIds sets the AssetIds field's value.
  8934  func (s *BatchAssociateProjectAssetsInput) SetAssetIds(v []*string) *BatchAssociateProjectAssetsInput {
  8935  	s.AssetIds = v
  8936  	return s
  8937  }
  8938  
  8939  // SetClientToken sets the ClientToken field's value.
  8940  func (s *BatchAssociateProjectAssetsInput) SetClientToken(v string) *BatchAssociateProjectAssetsInput {
  8941  	s.ClientToken = &v
  8942  	return s
  8943  }
  8944  
  8945  // SetProjectId sets the ProjectId field's value.
  8946  func (s *BatchAssociateProjectAssetsInput) SetProjectId(v string) *BatchAssociateProjectAssetsInput {
  8947  	s.ProjectId = &v
  8948  	return s
  8949  }
  8950  
  8951  type BatchAssociateProjectAssetsOutput struct {
  8952  	_ struct{} `type:"structure"`
  8953  
  8954  	// A list of associated error information, if any.
  8955  	Errors []*AssetErrorDetails `locationName:"errors" type:"list"`
  8956  }
  8957  
  8958  // String returns the string representation.
  8959  //
  8960  // API parameter values that are decorated as "sensitive" in the API will not
  8961  // be included in the string output. The member name will be present, but the
  8962  // value will be replaced with "sensitive".
  8963  func (s BatchAssociateProjectAssetsOutput) String() string {
  8964  	return awsutil.Prettify(s)
  8965  }
  8966  
  8967  // GoString returns the string representation.
  8968  //
  8969  // API parameter values that are decorated as "sensitive" in the API will not
  8970  // be included in the string output. The member name will be present, but the
  8971  // value will be replaced with "sensitive".
  8972  func (s BatchAssociateProjectAssetsOutput) GoString() string {
  8973  	return s.String()
  8974  }
  8975  
  8976  // SetErrors sets the Errors field's value.
  8977  func (s *BatchAssociateProjectAssetsOutput) SetErrors(v []*AssetErrorDetails) *BatchAssociateProjectAssetsOutput {
  8978  	s.Errors = v
  8979  	return s
  8980  }
  8981  
  8982  type BatchDisassociateProjectAssetsInput struct {
  8983  	_ struct{} `type:"structure"`
  8984  
  8985  	// The IDs of the assets to be disassociated from the project.
  8986  	//
  8987  	// AssetIds is a required field
  8988  	AssetIds []*string `locationName:"assetIds" min:"1" type:"list" required:"true"`
  8989  
  8990  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
  8991  	// of the request. Don't reuse this client token if a new idempotent request
  8992  	// is required.
  8993  	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
  8994  
  8995  	// The ID of the project from which to disassociate the assets.
  8996  	//
  8997  	// ProjectId is a required field
  8998  	ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"`
  8999  }
  9000  
  9001  // String returns the string representation.
  9002  //
  9003  // API parameter values that are decorated as "sensitive" in the API will not
  9004  // be included in the string output. The member name will be present, but the
  9005  // value will be replaced with "sensitive".
  9006  func (s BatchDisassociateProjectAssetsInput) String() string {
  9007  	return awsutil.Prettify(s)
  9008  }
  9009  
  9010  // GoString returns the string representation.
  9011  //
  9012  // API parameter values that are decorated as "sensitive" in the API will not
  9013  // be included in the string output. The member name will be present, but the
  9014  // value will be replaced with "sensitive".
  9015  func (s BatchDisassociateProjectAssetsInput) GoString() string {
  9016  	return s.String()
  9017  }
  9018  
  9019  // Validate inspects the fields of the type to determine if they are valid.
  9020  func (s *BatchDisassociateProjectAssetsInput) Validate() error {
  9021  	invalidParams := request.ErrInvalidParams{Context: "BatchDisassociateProjectAssetsInput"}
  9022  	if s.AssetIds == nil {
  9023  		invalidParams.Add(request.NewErrParamRequired("AssetIds"))
  9024  	}
  9025  	if s.AssetIds != nil && len(s.AssetIds) < 1 {
  9026  		invalidParams.Add(request.NewErrParamMinLen("AssetIds", 1))
  9027  	}
  9028  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
  9029  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
  9030  	}
  9031  	if s.ProjectId == nil {
  9032  		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
  9033  	}
  9034  	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
  9035  		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
  9036  	}
  9037  
  9038  	if invalidParams.Len() > 0 {
  9039  		return invalidParams
  9040  	}
  9041  	return nil
  9042  }
  9043  
  9044  // SetAssetIds sets the AssetIds field's value.
  9045  func (s *BatchDisassociateProjectAssetsInput) SetAssetIds(v []*string) *BatchDisassociateProjectAssetsInput {
  9046  	s.AssetIds = v
  9047  	return s
  9048  }
  9049  
  9050  // SetClientToken sets the ClientToken field's value.
  9051  func (s *BatchDisassociateProjectAssetsInput) SetClientToken(v string) *BatchDisassociateProjectAssetsInput {
  9052  	s.ClientToken = &v
  9053  	return s
  9054  }
  9055  
  9056  // SetProjectId sets the ProjectId field's value.
  9057  func (s *BatchDisassociateProjectAssetsInput) SetProjectId(v string) *BatchDisassociateProjectAssetsInput {
  9058  	s.ProjectId = &v
  9059  	return s
  9060  }
  9061  
  9062  type BatchDisassociateProjectAssetsOutput struct {
  9063  	_ struct{} `type:"structure"`
  9064  
  9065  	// A list of associated error information, if any.
  9066  	Errors []*AssetErrorDetails `locationName:"errors" type:"list"`
  9067  }
  9068  
  9069  // String returns the string representation.
  9070  //
  9071  // API parameter values that are decorated as "sensitive" in the API will not
  9072  // be included in the string output. The member name will be present, but the
  9073  // value will be replaced with "sensitive".
  9074  func (s BatchDisassociateProjectAssetsOutput) String() string {
  9075  	return awsutil.Prettify(s)
  9076  }
  9077  
  9078  // GoString returns the string representation.
  9079  //
  9080  // API parameter values that are decorated as "sensitive" in the API will not
  9081  // be included in the string output. The member name will be present, but the
  9082  // value will be replaced with "sensitive".
  9083  func (s BatchDisassociateProjectAssetsOutput) GoString() string {
  9084  	return s.String()
  9085  }
  9086  
  9087  // SetErrors sets the Errors field's value.
  9088  func (s *BatchDisassociateProjectAssetsOutput) SetErrors(v []*AssetErrorDetails) *BatchDisassociateProjectAssetsOutput {
  9089  	s.Errors = v
  9090  	return s
  9091  }
  9092  
  9093  // Contains error information from updating a batch of asset property values.
  9094  type BatchPutAssetPropertyError struct {
  9095  	_ struct{} `type:"structure"`
  9096  
  9097  	// The error code.
  9098  	//
  9099  	// ErrorCode is a required field
  9100  	ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"BatchPutAssetPropertyValueErrorCode"`
  9101  
  9102  	// The associated error message.
  9103  	//
  9104  	// ErrorMessage is a required field
  9105  	ErrorMessage *string `locationName:"errorMessage" type:"string" required:"true"`
  9106  
  9107  	// A list of timestamps for each error, if any.
  9108  	//
  9109  	// Timestamps is a required field
  9110  	Timestamps []*TimeInNanos `locationName:"timestamps" type:"list" required:"true"`
  9111  }
  9112  
  9113  // String returns the string representation.
  9114  //
  9115  // API parameter values that are decorated as "sensitive" in the API will not
  9116  // be included in the string output. The member name will be present, but the
  9117  // value will be replaced with "sensitive".
  9118  func (s BatchPutAssetPropertyError) String() string {
  9119  	return awsutil.Prettify(s)
  9120  }
  9121  
  9122  // GoString returns the string representation.
  9123  //
  9124  // API parameter values that are decorated as "sensitive" in the API will not
  9125  // be included in the string output. The member name will be present, but the
  9126  // value will be replaced with "sensitive".
  9127  func (s BatchPutAssetPropertyError) GoString() string {
  9128  	return s.String()
  9129  }
  9130  
  9131  // SetErrorCode sets the ErrorCode field's value.
  9132  func (s *BatchPutAssetPropertyError) SetErrorCode(v string) *BatchPutAssetPropertyError {
  9133  	s.ErrorCode = &v
  9134  	return s
  9135  }
  9136  
  9137  // SetErrorMessage sets the ErrorMessage field's value.
  9138  func (s *BatchPutAssetPropertyError) SetErrorMessage(v string) *BatchPutAssetPropertyError {
  9139  	s.ErrorMessage = &v
  9140  	return s
  9141  }
  9142  
  9143  // SetTimestamps sets the Timestamps field's value.
  9144  func (s *BatchPutAssetPropertyError) SetTimestamps(v []*TimeInNanos) *BatchPutAssetPropertyError {
  9145  	s.Timestamps = v
  9146  	return s
  9147  }
  9148  
  9149  // Contains error information for asset property value entries that are associated
  9150  // with the BatchPutAssetPropertyValue (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html)
  9151  // API.
  9152  type BatchPutAssetPropertyErrorEntry struct {
  9153  	_ struct{} `type:"structure"`
  9154  
  9155  	// The ID of the failed entry.
  9156  	//
  9157  	// EntryId is a required field
  9158  	EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"`
  9159  
  9160  	// The list of update property value errors.
  9161  	//
  9162  	// Errors is a required field
  9163  	Errors []*BatchPutAssetPropertyError `locationName:"errors" type:"list" required:"true"`
  9164  }
  9165  
  9166  // String returns the string representation.
  9167  //
  9168  // API parameter values that are decorated as "sensitive" in the API will not
  9169  // be included in the string output. The member name will be present, but the
  9170  // value will be replaced with "sensitive".
  9171  func (s BatchPutAssetPropertyErrorEntry) String() string {
  9172  	return awsutil.Prettify(s)
  9173  }
  9174  
  9175  // GoString returns the string representation.
  9176  //
  9177  // API parameter values that are decorated as "sensitive" in the API will not
  9178  // be included in the string output. The member name will be present, but the
  9179  // value will be replaced with "sensitive".
  9180  func (s BatchPutAssetPropertyErrorEntry) GoString() string {
  9181  	return s.String()
  9182  }
  9183  
  9184  // SetEntryId sets the EntryId field's value.
  9185  func (s *BatchPutAssetPropertyErrorEntry) SetEntryId(v string) *BatchPutAssetPropertyErrorEntry {
  9186  	s.EntryId = &v
  9187  	return s
  9188  }
  9189  
  9190  // SetErrors sets the Errors field's value.
  9191  func (s *BatchPutAssetPropertyErrorEntry) SetErrors(v []*BatchPutAssetPropertyError) *BatchPutAssetPropertyErrorEntry {
  9192  	s.Errors = v
  9193  	return s
  9194  }
  9195  
  9196  type BatchPutAssetPropertyValueInput struct {
  9197  	_ struct{} `type:"structure"`
  9198  
  9199  	// The list of asset property value entries for the batch put request. You can
  9200  	// specify up to 10 entries per request.
  9201  	//
  9202  	// Entries is a required field
  9203  	Entries []*PutAssetPropertyValueEntry `locationName:"entries" type:"list" required:"true"`
  9204  }
  9205  
  9206  // String returns the string representation.
  9207  //
  9208  // API parameter values that are decorated as "sensitive" in the API will not
  9209  // be included in the string output. The member name will be present, but the
  9210  // value will be replaced with "sensitive".
  9211  func (s BatchPutAssetPropertyValueInput) String() string {
  9212  	return awsutil.Prettify(s)
  9213  }
  9214  
  9215  // GoString returns the string representation.
  9216  //
  9217  // API parameter values that are decorated as "sensitive" in the API will not
  9218  // be included in the string output. The member name will be present, but the
  9219  // value will be replaced with "sensitive".
  9220  func (s BatchPutAssetPropertyValueInput) GoString() string {
  9221  	return s.String()
  9222  }
  9223  
  9224  // Validate inspects the fields of the type to determine if they are valid.
  9225  func (s *BatchPutAssetPropertyValueInput) Validate() error {
  9226  	invalidParams := request.ErrInvalidParams{Context: "BatchPutAssetPropertyValueInput"}
  9227  	if s.Entries == nil {
  9228  		invalidParams.Add(request.NewErrParamRequired("Entries"))
  9229  	}
  9230  	if s.Entries != nil {
  9231  		for i, v := range s.Entries {
  9232  			if v == nil {
  9233  				continue
  9234  			}
  9235  			if err := v.Validate(); err != nil {
  9236  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams))
  9237  			}
  9238  		}
  9239  	}
  9240  
  9241  	if invalidParams.Len() > 0 {
  9242  		return invalidParams
  9243  	}
  9244  	return nil
  9245  }
  9246  
  9247  // SetEntries sets the Entries field's value.
  9248  func (s *BatchPutAssetPropertyValueInput) SetEntries(v []*PutAssetPropertyValueEntry) *BatchPutAssetPropertyValueInput {
  9249  	s.Entries = v
  9250  	return s
  9251  }
  9252  
  9253  type BatchPutAssetPropertyValueOutput struct {
  9254  	_ struct{} `type:"structure"`
  9255  
  9256  	// A list of the errors (if any) associated with the batch put request. Each
  9257  	// error entry contains the entryId of the entry that failed.
  9258  	//
  9259  	// ErrorEntries is a required field
  9260  	ErrorEntries []*BatchPutAssetPropertyErrorEntry `locationName:"errorEntries" type:"list" required:"true"`
  9261  }
  9262  
  9263  // String returns the string representation.
  9264  //
  9265  // API parameter values that are decorated as "sensitive" in the API will not
  9266  // be included in the string output. The member name will be present, but the
  9267  // value will be replaced with "sensitive".
  9268  func (s BatchPutAssetPropertyValueOutput) String() string {
  9269  	return awsutil.Prettify(s)
  9270  }
  9271  
  9272  // GoString returns the string representation.
  9273  //
  9274  // API parameter values that are decorated as "sensitive" in the API will not
  9275  // be included in the string output. The member name will be present, but the
  9276  // value will be replaced with "sensitive".
  9277  func (s BatchPutAssetPropertyValueOutput) GoString() string {
  9278  	return s.String()
  9279  }
  9280  
  9281  // SetErrorEntries sets the ErrorEntries field's value.
  9282  func (s *BatchPutAssetPropertyValueOutput) SetErrorEntries(v []*BatchPutAssetPropertyErrorEntry) *BatchPutAssetPropertyValueOutput {
  9283  	s.ErrorEntries = v
  9284  	return s
  9285  }
  9286  
  9287  // Contains information about a composite model property on an asset.
  9288  type CompositeModelProperty struct {
  9289  	_ struct{} `type:"structure"`
  9290  
  9291  	// Contains asset property information.
  9292  	//
  9293  	// AssetProperty is a required field
  9294  	AssetProperty *Property `locationName:"assetProperty" type:"structure" required:"true"`
  9295  
  9296  	// The name of the property.
  9297  	//
  9298  	// Name is a required field
  9299  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  9300  
  9301  	// The type of the composite model that defines this property.
  9302  	//
  9303  	// Type is a required field
  9304  	Type *string `locationName:"type" min:"1" type:"string" required:"true"`
  9305  }
  9306  
  9307  // String returns the string representation.
  9308  //
  9309  // API parameter values that are decorated as "sensitive" in the API will not
  9310  // be included in the string output. The member name will be present, but the
  9311  // value will be replaced with "sensitive".
  9312  func (s CompositeModelProperty) String() string {
  9313  	return awsutil.Prettify(s)
  9314  }
  9315  
  9316  // GoString returns the string representation.
  9317  //
  9318  // API parameter values that are decorated as "sensitive" in the API will not
  9319  // be included in the string output. The member name will be present, but the
  9320  // value will be replaced with "sensitive".
  9321  func (s CompositeModelProperty) GoString() string {
  9322  	return s.String()
  9323  }
  9324  
  9325  // SetAssetProperty sets the AssetProperty field's value.
  9326  func (s *CompositeModelProperty) SetAssetProperty(v *Property) *CompositeModelProperty {
  9327  	s.AssetProperty = v
  9328  	return s
  9329  }
  9330  
  9331  // SetName sets the Name field's value.
  9332  func (s *CompositeModelProperty) SetName(v string) *CompositeModelProperty {
  9333  	s.Name = &v
  9334  	return s
  9335  }
  9336  
  9337  // SetType sets the Type field's value.
  9338  func (s *CompositeModelProperty) SetType(v string) *CompositeModelProperty {
  9339  	s.Type = &v
  9340  	return s
  9341  }
  9342  
  9343  // Contains the details of an IoT SiteWise configuration error.
  9344  type ConfigurationErrorDetails struct {
  9345  	_ struct{} `type:"structure"`
  9346  
  9347  	// The error code.
  9348  	//
  9349  	// Code is a required field
  9350  	Code *string `locationName:"code" type:"string" required:"true" enum:"ErrorCode"`
  9351  
  9352  	// The error message.
  9353  	//
  9354  	// Message is a required field
  9355  	Message *string `locationName:"message" type:"string" required:"true"`
  9356  }
  9357  
  9358  // String returns the string representation.
  9359  //
  9360  // API parameter values that are decorated as "sensitive" in the API will not
  9361  // be included in the string output. The member name will be present, but the
  9362  // value will be replaced with "sensitive".
  9363  func (s ConfigurationErrorDetails) String() string {
  9364  	return awsutil.Prettify(s)
  9365  }
  9366  
  9367  // GoString returns the string representation.
  9368  //
  9369  // API parameter values that are decorated as "sensitive" in the API will not
  9370  // be included in the string output. The member name will be present, but the
  9371  // value will be replaced with "sensitive".
  9372  func (s ConfigurationErrorDetails) GoString() string {
  9373  	return s.String()
  9374  }
  9375  
  9376  // SetCode sets the Code field's value.
  9377  func (s *ConfigurationErrorDetails) SetCode(v string) *ConfigurationErrorDetails {
  9378  	s.Code = &v
  9379  	return s
  9380  }
  9381  
  9382  // SetMessage sets the Message field's value.
  9383  func (s *ConfigurationErrorDetails) SetMessage(v string) *ConfigurationErrorDetails {
  9384  	s.Message = &v
  9385  	return s
  9386  }
  9387  
  9388  // Contains current status information for the configuration.
  9389  type ConfigurationStatus struct {
  9390  	_ struct{} `type:"structure"`
  9391  
  9392  	// Contains associated error information, if any.
  9393  	Error *ConfigurationErrorDetails `locationName:"error" type:"structure"`
  9394  
  9395  	// The current state of the configuration.
  9396  	//
  9397  	// State is a required field
  9398  	State *string `locationName:"state" type:"string" required:"true" enum:"ConfigurationState"`
  9399  }
  9400  
  9401  // String returns the string representation.
  9402  //
  9403  // API parameter values that are decorated as "sensitive" in the API will not
  9404  // be included in the string output. The member name will be present, but the
  9405  // value will be replaced with "sensitive".
  9406  func (s ConfigurationStatus) String() string {
  9407  	return awsutil.Prettify(s)
  9408  }
  9409  
  9410  // GoString returns the string representation.
  9411  //
  9412  // API parameter values that are decorated as "sensitive" in the API will not
  9413  // be included in the string output. The member name will be present, but the
  9414  // value will be replaced with "sensitive".
  9415  func (s ConfigurationStatus) GoString() string {
  9416  	return s.String()
  9417  }
  9418  
  9419  // SetError sets the Error field's value.
  9420  func (s *ConfigurationStatus) SetError(v *ConfigurationErrorDetails) *ConfigurationStatus {
  9421  	s.Error = v
  9422  	return s
  9423  }
  9424  
  9425  // SetState sets the State field's value.
  9426  func (s *ConfigurationStatus) SetState(v string) *ConfigurationStatus {
  9427  	s.State = &v
  9428  	return s
  9429  }
  9430  
  9431  // Your request has conflicting operations. This can occur if you're trying
  9432  // to perform more than one operation on the same resource at the same time.
  9433  type ConflictingOperationException struct {
  9434  	_            struct{}                  `type:"structure"`
  9435  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9436  
  9437  	Message_ *string `locationName:"message" type:"string"`
  9438  
  9439  	// The ARN of the resource that conflicts with this operation.
  9440  	//
  9441  	// ResourceArn is a required field
  9442  	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
  9443  
  9444  	// The ID of the resource that conflicts with this operation.
  9445  	//
  9446  	// ResourceId is a required field
  9447  	ResourceId *string `locationName:"resourceId" type:"string" required:"true"`
  9448  }
  9449  
  9450  // String returns the string representation.
  9451  //
  9452  // API parameter values that are decorated as "sensitive" in the API will not
  9453  // be included in the string output. The member name will be present, but the
  9454  // value will be replaced with "sensitive".
  9455  func (s ConflictingOperationException) String() string {
  9456  	return awsutil.Prettify(s)
  9457  }
  9458  
  9459  // GoString returns the string representation.
  9460  //
  9461  // API parameter values that are decorated as "sensitive" in the API will not
  9462  // be included in the string output. The member name will be present, but the
  9463  // value will be replaced with "sensitive".
  9464  func (s ConflictingOperationException) GoString() string {
  9465  	return s.String()
  9466  }
  9467  
  9468  func newErrorConflictingOperationException(v protocol.ResponseMetadata) error {
  9469  	return &ConflictingOperationException{
  9470  		RespMetadata: v,
  9471  	}
  9472  }
  9473  
  9474  // Code returns the exception type name.
  9475  func (s *ConflictingOperationException) Code() string {
  9476  	return "ConflictingOperationException"
  9477  }
  9478  
  9479  // Message returns the exception's message.
  9480  func (s *ConflictingOperationException) Message() string {
  9481  	if s.Message_ != nil {
  9482  		return *s.Message_
  9483  	}
  9484  	return ""
  9485  }
  9486  
  9487  // OrigErr always returns nil, satisfies awserr.Error interface.
  9488  func (s *ConflictingOperationException) OrigErr() error {
  9489  	return nil
  9490  }
  9491  
  9492  func (s *ConflictingOperationException) Error() string {
  9493  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  9494  }
  9495  
  9496  // Status code returns the HTTP status code for the request's response error.
  9497  func (s *ConflictingOperationException) StatusCode() int {
  9498  	return s.RespMetadata.StatusCode
  9499  }
  9500  
  9501  // RequestID returns the service's response RequestID for request.
  9502  func (s *ConflictingOperationException) RequestID() string {
  9503  	return s.RespMetadata.RequestID
  9504  }
  9505  
  9506  type CreateAccessPolicyInput struct {
  9507  	_ struct{} `type:"structure"`
  9508  
  9509  	// The identity for this access policy. Choose an Amazon Web Services SSO user,
  9510  	// an Amazon Web Services SSO group, or an IAM user.
  9511  	//
  9512  	// AccessPolicyIdentity is a required field
  9513  	AccessPolicyIdentity *Identity `locationName:"accessPolicyIdentity" type:"structure" required:"true"`
  9514  
  9515  	// The permission level for this access policy. Note that a project ADMINISTRATOR
  9516  	// is also known as a project owner.
  9517  	//
  9518  	// AccessPolicyPermission is a required field
  9519  	AccessPolicyPermission *string `locationName:"accessPolicyPermission" type:"string" required:"true" enum:"Permission"`
  9520  
  9521  	// The IoT SiteWise Monitor resource for this access policy. Choose either a
  9522  	// portal or a project.
  9523  	//
  9524  	// AccessPolicyResource is a required field
  9525  	AccessPolicyResource *Resource `locationName:"accessPolicyResource" type:"structure" required:"true"`
  9526  
  9527  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
  9528  	// of the request. Don't reuse this client token if a new idempotent request
  9529  	// is required.
  9530  	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
  9531  
  9532  	// A list of key-value pairs that contain metadata for the access policy. For
  9533  	// more information, see Tagging your IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
  9534  	// in the IoT SiteWise User Guide.
  9535  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  9536  }
  9537  
  9538  // String returns the string representation.
  9539  //
  9540  // API parameter values that are decorated as "sensitive" in the API will not
  9541  // be included in the string output. The member name will be present, but the
  9542  // value will be replaced with "sensitive".
  9543  func (s CreateAccessPolicyInput) String() string {
  9544  	return awsutil.Prettify(s)
  9545  }
  9546  
  9547  // GoString returns the string representation.
  9548  //
  9549  // API parameter values that are decorated as "sensitive" in the API will not
  9550  // be included in the string output. The member name will be present, but the
  9551  // value will be replaced with "sensitive".
  9552  func (s CreateAccessPolicyInput) GoString() string {
  9553  	return s.String()
  9554  }
  9555  
  9556  // Validate inspects the fields of the type to determine if they are valid.
  9557  func (s *CreateAccessPolicyInput) Validate() error {
  9558  	invalidParams := request.ErrInvalidParams{Context: "CreateAccessPolicyInput"}
  9559  	if s.AccessPolicyIdentity == nil {
  9560  		invalidParams.Add(request.NewErrParamRequired("AccessPolicyIdentity"))
  9561  	}
  9562  	if s.AccessPolicyPermission == nil {
  9563  		invalidParams.Add(request.NewErrParamRequired("AccessPolicyPermission"))
  9564  	}
  9565  	if s.AccessPolicyResource == nil {
  9566  		invalidParams.Add(request.NewErrParamRequired("AccessPolicyResource"))
  9567  	}
  9568  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
  9569  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
  9570  	}
  9571  	if s.Tags != nil && len(s.Tags) < 1 {
  9572  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  9573  	}
  9574  	if s.AccessPolicyIdentity != nil {
  9575  		if err := s.AccessPolicyIdentity.Validate(); err != nil {
  9576  			invalidParams.AddNested("AccessPolicyIdentity", err.(request.ErrInvalidParams))
  9577  		}
  9578  	}
  9579  	if s.AccessPolicyResource != nil {
  9580  		if err := s.AccessPolicyResource.Validate(); err != nil {
  9581  			invalidParams.AddNested("AccessPolicyResource", err.(request.ErrInvalidParams))
  9582  		}
  9583  	}
  9584  
  9585  	if invalidParams.Len() > 0 {
  9586  		return invalidParams
  9587  	}
  9588  	return nil
  9589  }
  9590  
  9591  // SetAccessPolicyIdentity sets the AccessPolicyIdentity field's value.
  9592  func (s *CreateAccessPolicyInput) SetAccessPolicyIdentity(v *Identity) *CreateAccessPolicyInput {
  9593  	s.AccessPolicyIdentity = v
  9594  	return s
  9595  }
  9596  
  9597  // SetAccessPolicyPermission sets the AccessPolicyPermission field's value.
  9598  func (s *CreateAccessPolicyInput) SetAccessPolicyPermission(v string) *CreateAccessPolicyInput {
  9599  	s.AccessPolicyPermission = &v
  9600  	return s
  9601  }
  9602  
  9603  // SetAccessPolicyResource sets the AccessPolicyResource field's value.
  9604  func (s *CreateAccessPolicyInput) SetAccessPolicyResource(v *Resource) *CreateAccessPolicyInput {
  9605  	s.AccessPolicyResource = v
  9606  	return s
  9607  }
  9608  
  9609  // SetClientToken sets the ClientToken field's value.
  9610  func (s *CreateAccessPolicyInput) SetClientToken(v string) *CreateAccessPolicyInput {
  9611  	s.ClientToken = &v
  9612  	return s
  9613  }
  9614  
  9615  // SetTags sets the Tags field's value.
  9616  func (s *CreateAccessPolicyInput) SetTags(v map[string]*string) *CreateAccessPolicyInput {
  9617  	s.Tags = v
  9618  	return s
  9619  }
  9620  
  9621  type CreateAccessPolicyOutput struct {
  9622  	_ struct{} `type:"structure"`
  9623  
  9624  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  9625  	// of the access policy, which has the following format.
  9626  	//
  9627  	// arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy/${AccessPolicyId}
  9628  	//
  9629  	// AccessPolicyArn is a required field
  9630  	AccessPolicyArn *string `locationName:"accessPolicyArn" min:"1" type:"string" required:"true"`
  9631  
  9632  	// The ID of the access policy.
  9633  	//
  9634  	// AccessPolicyId is a required field
  9635  	AccessPolicyId *string `locationName:"accessPolicyId" min:"36" type:"string" required:"true"`
  9636  }
  9637  
  9638  // String returns the string representation.
  9639  //
  9640  // API parameter values that are decorated as "sensitive" in the API will not
  9641  // be included in the string output. The member name will be present, but the
  9642  // value will be replaced with "sensitive".
  9643  func (s CreateAccessPolicyOutput) String() string {
  9644  	return awsutil.Prettify(s)
  9645  }
  9646  
  9647  // GoString returns the string representation.
  9648  //
  9649  // API parameter values that are decorated as "sensitive" in the API will not
  9650  // be included in the string output. The member name will be present, but the
  9651  // value will be replaced with "sensitive".
  9652  func (s CreateAccessPolicyOutput) GoString() string {
  9653  	return s.String()
  9654  }
  9655  
  9656  // SetAccessPolicyArn sets the AccessPolicyArn field's value.
  9657  func (s *CreateAccessPolicyOutput) SetAccessPolicyArn(v string) *CreateAccessPolicyOutput {
  9658  	s.AccessPolicyArn = &v
  9659  	return s
  9660  }
  9661  
  9662  // SetAccessPolicyId sets the AccessPolicyId field's value.
  9663  func (s *CreateAccessPolicyOutput) SetAccessPolicyId(v string) *CreateAccessPolicyOutput {
  9664  	s.AccessPolicyId = &v
  9665  	return s
  9666  }
  9667  
  9668  type CreateAssetInput struct {
  9669  	_ struct{} `type:"structure"`
  9670  
  9671  	// The ID of the asset model from which to create the asset.
  9672  	//
  9673  	// AssetModelId is a required field
  9674  	AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"`
  9675  
  9676  	// A unique, friendly name for the asset.
  9677  	//
  9678  	// AssetName is a required field
  9679  	AssetName *string `locationName:"assetName" min:"1" type:"string" required:"true"`
  9680  
  9681  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
  9682  	// of the request. Don't reuse this client token if a new idempotent request
  9683  	// is required.
  9684  	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
  9685  
  9686  	// A list of key-value pairs that contain metadata for the asset. For more information,
  9687  	// see Tagging your IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
  9688  	// in the IoT SiteWise User Guide.
  9689  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  9690  }
  9691  
  9692  // String returns the string representation.
  9693  //
  9694  // API parameter values that are decorated as "sensitive" in the API will not
  9695  // be included in the string output. The member name will be present, but the
  9696  // value will be replaced with "sensitive".
  9697  func (s CreateAssetInput) String() string {
  9698  	return awsutil.Prettify(s)
  9699  }
  9700  
  9701  // GoString returns the string representation.
  9702  //
  9703  // API parameter values that are decorated as "sensitive" in the API will not
  9704  // be included in the string output. The member name will be present, but the
  9705  // value will be replaced with "sensitive".
  9706  func (s CreateAssetInput) GoString() string {
  9707  	return s.String()
  9708  }
  9709  
  9710  // Validate inspects the fields of the type to determine if they are valid.
  9711  func (s *CreateAssetInput) Validate() error {
  9712  	invalidParams := request.ErrInvalidParams{Context: "CreateAssetInput"}
  9713  	if s.AssetModelId == nil {
  9714  		invalidParams.Add(request.NewErrParamRequired("AssetModelId"))
  9715  	}
  9716  	if s.AssetModelId != nil && len(*s.AssetModelId) < 36 {
  9717  		invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36))
  9718  	}
  9719  	if s.AssetName == nil {
  9720  		invalidParams.Add(request.NewErrParamRequired("AssetName"))
  9721  	}
  9722  	if s.AssetName != nil && len(*s.AssetName) < 1 {
  9723  		invalidParams.Add(request.NewErrParamMinLen("AssetName", 1))
  9724  	}
  9725  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
  9726  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
  9727  	}
  9728  	if s.Tags != nil && len(s.Tags) < 1 {
  9729  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  9730  	}
  9731  
  9732  	if invalidParams.Len() > 0 {
  9733  		return invalidParams
  9734  	}
  9735  	return nil
  9736  }
  9737  
  9738  // SetAssetModelId sets the AssetModelId field's value.
  9739  func (s *CreateAssetInput) SetAssetModelId(v string) *CreateAssetInput {
  9740  	s.AssetModelId = &v
  9741  	return s
  9742  }
  9743  
  9744  // SetAssetName sets the AssetName field's value.
  9745  func (s *CreateAssetInput) SetAssetName(v string) *CreateAssetInput {
  9746  	s.AssetName = &v
  9747  	return s
  9748  }
  9749  
  9750  // SetClientToken sets the ClientToken field's value.
  9751  func (s *CreateAssetInput) SetClientToken(v string) *CreateAssetInput {
  9752  	s.ClientToken = &v
  9753  	return s
  9754  }
  9755  
  9756  // SetTags sets the Tags field's value.
  9757  func (s *CreateAssetInput) SetTags(v map[string]*string) *CreateAssetInput {
  9758  	s.Tags = v
  9759  	return s
  9760  }
  9761  
  9762  type CreateAssetModelInput struct {
  9763  	_ struct{} `type:"structure"`
  9764  
  9765  	// The composite asset models that are part of this asset model. Composite asset
  9766  	// models are asset models that contain specific properties. Each composite
  9767  	// model has a type that defines the properties that the composite model supports.
  9768  	// Use composite asset models to define alarms on this asset model.
  9769  	AssetModelCompositeModels []*AssetModelCompositeModelDefinition `locationName:"assetModelCompositeModels" type:"list"`
  9770  
  9771  	// A description for the asset model.
  9772  	AssetModelDescription *string `locationName:"assetModelDescription" min:"1" type:"string"`
  9773  
  9774  	// The hierarchy definitions of the asset model. Each hierarchy specifies an
  9775  	// asset model whose assets can be children of any other assets created from
  9776  	// this asset model. For more information, see Asset hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html)
  9777  	// in the IoT SiteWise User Guide.
  9778  	//
  9779  	// You can specify up to 10 hierarchies per asset model. For more information,
  9780  	// see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  9781  	// in the IoT SiteWise User Guide.
  9782  	AssetModelHierarchies []*AssetModelHierarchyDefinition `locationName:"assetModelHierarchies" type:"list"`
  9783  
  9784  	// A unique, friendly name for the asset model.
  9785  	//
  9786  	// AssetModelName is a required field
  9787  	AssetModelName *string `locationName:"assetModelName" min:"1" type:"string" required:"true"`
  9788  
  9789  	// The property definitions of the asset model. For more information, see Asset
  9790  	// properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html)
  9791  	// in the IoT SiteWise User Guide.
  9792  	//
  9793  	// You can specify up to 200 properties per asset model. For more information,
  9794  	// see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
  9795  	// in the IoT SiteWise User Guide.
  9796  	AssetModelProperties []*AssetModelPropertyDefinition `locationName:"assetModelProperties" type:"list"`
  9797  
  9798  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
  9799  	// of the request. Don't reuse this client token if a new idempotent request
  9800  	// is required.
  9801  	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
  9802  
  9803  	// A list of key-value pairs that contain metadata for the asset model. For
  9804  	// more information, see Tagging your IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
  9805  	// in the IoT SiteWise User Guide.
  9806  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  9807  }
  9808  
  9809  // String returns the string representation.
  9810  //
  9811  // API parameter values that are decorated as "sensitive" in the API will not
  9812  // be included in the string output. The member name will be present, but the
  9813  // value will be replaced with "sensitive".
  9814  func (s CreateAssetModelInput) String() string {
  9815  	return awsutil.Prettify(s)
  9816  }
  9817  
  9818  // GoString returns the string representation.
  9819  //
  9820  // API parameter values that are decorated as "sensitive" in the API will not
  9821  // be included in the string output. The member name will be present, but the
  9822  // value will be replaced with "sensitive".
  9823  func (s CreateAssetModelInput) GoString() string {
  9824  	return s.String()
  9825  }
  9826  
  9827  // Validate inspects the fields of the type to determine if they are valid.
  9828  func (s *CreateAssetModelInput) Validate() error {
  9829  	invalidParams := request.ErrInvalidParams{Context: "CreateAssetModelInput"}
  9830  	if s.AssetModelDescription != nil && len(*s.AssetModelDescription) < 1 {
  9831  		invalidParams.Add(request.NewErrParamMinLen("AssetModelDescription", 1))
  9832  	}
  9833  	if s.AssetModelName == nil {
  9834  		invalidParams.Add(request.NewErrParamRequired("AssetModelName"))
  9835  	}
  9836  	if s.AssetModelName != nil && len(*s.AssetModelName) < 1 {
  9837  		invalidParams.Add(request.NewErrParamMinLen("AssetModelName", 1))
  9838  	}
  9839  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
  9840  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
  9841  	}
  9842  	if s.Tags != nil && len(s.Tags) < 1 {
  9843  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  9844  	}
  9845  	if s.AssetModelCompositeModels != nil {
  9846  		for i, v := range s.AssetModelCompositeModels {
  9847  			if v == nil {
  9848  				continue
  9849  			}
  9850  			if err := v.Validate(); err != nil {
  9851  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelCompositeModels", i), err.(request.ErrInvalidParams))
  9852  			}
  9853  		}
  9854  	}
  9855  	if s.AssetModelHierarchies != nil {
  9856  		for i, v := range s.AssetModelHierarchies {
  9857  			if v == nil {
  9858  				continue
  9859  			}
  9860  			if err := v.Validate(); err != nil {
  9861  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelHierarchies", i), err.(request.ErrInvalidParams))
  9862  			}
  9863  		}
  9864  	}
  9865  	if s.AssetModelProperties != nil {
  9866  		for i, v := range s.AssetModelProperties {
  9867  			if v == nil {
  9868  				continue
  9869  			}
  9870  			if err := v.Validate(); err != nil {
  9871  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelProperties", i), err.(request.ErrInvalidParams))
  9872  			}
  9873  		}
  9874  	}
  9875  
  9876  	if invalidParams.Len() > 0 {
  9877  		return invalidParams
  9878  	}
  9879  	return nil
  9880  }
  9881  
  9882  // SetAssetModelCompositeModels sets the AssetModelCompositeModels field's value.
  9883  func (s *CreateAssetModelInput) SetAssetModelCompositeModels(v []*AssetModelCompositeModelDefinition) *CreateAssetModelInput {
  9884  	s.AssetModelCompositeModels = v
  9885  	return s
  9886  }
  9887  
  9888  // SetAssetModelDescription sets the AssetModelDescription field's value.
  9889  func (s *CreateAssetModelInput) SetAssetModelDescription(v string) *CreateAssetModelInput {
  9890  	s.AssetModelDescription = &v
  9891  	return s
  9892  }
  9893  
  9894  // SetAssetModelHierarchies sets the AssetModelHierarchies field's value.
  9895  func (s *CreateAssetModelInput) SetAssetModelHierarchies(v []*AssetModelHierarchyDefinition) *CreateAssetModelInput {
  9896  	s.AssetModelHierarchies = v
  9897  	return s
  9898  }
  9899  
  9900  // SetAssetModelName sets the AssetModelName field's value.
  9901  func (s *CreateAssetModelInput) SetAssetModelName(v string) *CreateAssetModelInput {
  9902  	s.AssetModelName = &v
  9903  	return s
  9904  }
  9905  
  9906  // SetAssetModelProperties sets the AssetModelProperties field's value.
  9907  func (s *CreateAssetModelInput) SetAssetModelProperties(v []*AssetModelPropertyDefinition) *CreateAssetModelInput {
  9908  	s.AssetModelProperties = v
  9909  	return s
  9910  }
  9911  
  9912  // SetClientToken sets the ClientToken field's value.
  9913  func (s *CreateAssetModelInput) SetClientToken(v string) *CreateAssetModelInput {
  9914  	s.ClientToken = &v
  9915  	return s
  9916  }
  9917  
  9918  // SetTags sets the Tags field's value.
  9919  func (s *CreateAssetModelInput) SetTags(v map[string]*string) *CreateAssetModelInput {
  9920  	s.Tags = v
  9921  	return s
  9922  }
  9923  
  9924  type CreateAssetModelOutput struct {
  9925  	_ struct{} `type:"structure"`
  9926  
  9927  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  9928  	// of the asset model, which has the following format.
  9929  	//
  9930  	// arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId}
  9931  	//
  9932  	// AssetModelArn is a required field
  9933  	AssetModelArn *string `locationName:"assetModelArn" min:"1" type:"string" required:"true"`
  9934  
  9935  	// The ID of the asset model. You can use this ID when you call other IoT SiteWise
  9936  	// APIs.
  9937  	//
  9938  	// AssetModelId is a required field
  9939  	AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"`
  9940  
  9941  	// The status of the asset model, which contains a state (CREATING after successfully
  9942  	// calling this operation) and any error message.
  9943  	//
  9944  	// AssetModelStatus is a required field
  9945  	AssetModelStatus *AssetModelStatus `locationName:"assetModelStatus" type:"structure" required:"true"`
  9946  }
  9947  
  9948  // String returns the string representation.
  9949  //
  9950  // API parameter values that are decorated as "sensitive" in the API will not
  9951  // be included in the string output. The member name will be present, but the
  9952  // value will be replaced with "sensitive".
  9953  func (s CreateAssetModelOutput) String() string {
  9954  	return awsutil.Prettify(s)
  9955  }
  9956  
  9957  // GoString returns the string representation.
  9958  //
  9959  // API parameter values that are decorated as "sensitive" in the API will not
  9960  // be included in the string output. The member name will be present, but the
  9961  // value will be replaced with "sensitive".
  9962  func (s CreateAssetModelOutput) GoString() string {
  9963  	return s.String()
  9964  }
  9965  
  9966  // SetAssetModelArn sets the AssetModelArn field's value.
  9967  func (s *CreateAssetModelOutput) SetAssetModelArn(v string) *CreateAssetModelOutput {
  9968  	s.AssetModelArn = &v
  9969  	return s
  9970  }
  9971  
  9972  // SetAssetModelId sets the AssetModelId field's value.
  9973  func (s *CreateAssetModelOutput) SetAssetModelId(v string) *CreateAssetModelOutput {
  9974  	s.AssetModelId = &v
  9975  	return s
  9976  }
  9977  
  9978  // SetAssetModelStatus sets the AssetModelStatus field's value.
  9979  func (s *CreateAssetModelOutput) SetAssetModelStatus(v *AssetModelStatus) *CreateAssetModelOutput {
  9980  	s.AssetModelStatus = v
  9981  	return s
  9982  }
  9983  
  9984  type CreateAssetOutput struct {
  9985  	_ struct{} `type:"structure"`
  9986  
  9987  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  9988  	// of the asset, which has the following format.
  9989  	//
  9990  	// arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}
  9991  	//
  9992  	// AssetArn is a required field
  9993  	AssetArn *string `locationName:"assetArn" min:"1" type:"string" required:"true"`
  9994  
  9995  	// The ID of the asset. This ID uniquely identifies the asset within IoT SiteWise
  9996  	// and can be used with other IoT SiteWise APIs.
  9997  	//
  9998  	// AssetId is a required field
  9999  	AssetId *string `locationName:"assetId" min:"36" type:"string" required:"true"`
 10000  
 10001  	// The status of the asset, which contains a state (CREATING after successfully
 10002  	// calling this operation) and any error message.
 10003  	//
 10004  	// AssetStatus is a required field
 10005  	AssetStatus *AssetStatus `locationName:"assetStatus" type:"structure" required:"true"`
 10006  }
 10007  
 10008  // String returns the string representation.
 10009  //
 10010  // API parameter values that are decorated as "sensitive" in the API will not
 10011  // be included in the string output. The member name will be present, but the
 10012  // value will be replaced with "sensitive".
 10013  func (s CreateAssetOutput) String() string {
 10014  	return awsutil.Prettify(s)
 10015  }
 10016  
 10017  // GoString returns the string representation.
 10018  //
 10019  // API parameter values that are decorated as "sensitive" in the API will not
 10020  // be included in the string output. The member name will be present, but the
 10021  // value will be replaced with "sensitive".
 10022  func (s CreateAssetOutput) GoString() string {
 10023  	return s.String()
 10024  }
 10025  
 10026  // SetAssetArn sets the AssetArn field's value.
 10027  func (s *CreateAssetOutput) SetAssetArn(v string) *CreateAssetOutput {
 10028  	s.AssetArn = &v
 10029  	return s
 10030  }
 10031  
 10032  // SetAssetId sets the AssetId field's value.
 10033  func (s *CreateAssetOutput) SetAssetId(v string) *CreateAssetOutput {
 10034  	s.AssetId = &v
 10035  	return s
 10036  }
 10037  
 10038  // SetAssetStatus sets the AssetStatus field's value.
 10039  func (s *CreateAssetOutput) SetAssetStatus(v *AssetStatus) *CreateAssetOutput {
 10040  	s.AssetStatus = v
 10041  	return s
 10042  }
 10043  
 10044  type CreateDashboardInput struct {
 10045  	_ struct{} `type:"structure"`
 10046  
 10047  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
 10048  	// of the request. Don't reuse this client token if a new idempotent request
 10049  	// is required.
 10050  	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
 10051  
 10052  	// The dashboard definition specified in a JSON literal. For detailed information,
 10053  	// see Creating dashboards (CLI) (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html)
 10054  	// in the IoT SiteWise User Guide.
 10055  	//
 10056  	// DashboardDefinition is a required field
 10057  	DashboardDefinition *string `locationName:"dashboardDefinition" type:"string" required:"true"`
 10058  
 10059  	// A description for the dashboard.
 10060  	DashboardDescription *string `locationName:"dashboardDescription" min:"1" type:"string"`
 10061  
 10062  	// A friendly name for the dashboard.
 10063  	//
 10064  	// DashboardName is a required field
 10065  	DashboardName *string `locationName:"dashboardName" min:"1" type:"string" required:"true"`
 10066  
 10067  	// The ID of the project in which to create the dashboard.
 10068  	//
 10069  	// ProjectId is a required field
 10070  	ProjectId *string `locationName:"projectId" min:"36" type:"string" required:"true"`
 10071  
 10072  	// A list of key-value pairs that contain metadata for the dashboard. For more
 10073  	// information, see Tagging your IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
 10074  	// in the IoT SiteWise User Guide.
 10075  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
 10076  }
 10077  
 10078  // String returns the string representation.
 10079  //
 10080  // API parameter values that are decorated as "sensitive" in the API will not
 10081  // be included in the string output. The member name will be present, but the
 10082  // value will be replaced with "sensitive".
 10083  func (s CreateDashboardInput) String() string {
 10084  	return awsutil.Prettify(s)
 10085  }
 10086  
 10087  // GoString returns the string representation.
 10088  //
 10089  // API parameter values that are decorated as "sensitive" in the API will not
 10090  // be included in the string output. The member name will be present, but the
 10091  // value will be replaced with "sensitive".
 10092  func (s CreateDashboardInput) GoString() string {
 10093  	return s.String()
 10094  }
 10095  
 10096  // Validate inspects the fields of the type to determine if they are valid.
 10097  func (s *CreateDashboardInput) Validate() error {
 10098  	invalidParams := request.ErrInvalidParams{Context: "CreateDashboardInput"}
 10099  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
 10100  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
 10101  	}
 10102  	if s.DashboardDefinition == nil {
 10103  		invalidParams.Add(request.NewErrParamRequired("DashboardDefinition"))
 10104  	}
 10105  	if s.DashboardDescription != nil && len(*s.DashboardDescription) < 1 {
 10106  		invalidParams.Add(request.NewErrParamMinLen("DashboardDescription", 1))
 10107  	}
 10108  	if s.DashboardName == nil {
 10109  		invalidParams.Add(request.NewErrParamRequired("DashboardName"))
 10110  	}
 10111  	if s.DashboardName != nil && len(*s.DashboardName) < 1 {
 10112  		invalidParams.Add(request.NewErrParamMinLen("DashboardName", 1))
 10113  	}
 10114  	if s.ProjectId == nil {
 10115  		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
 10116  	}
 10117  	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
 10118  		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
 10119  	}
 10120  	if s.Tags != nil && len(s.Tags) < 1 {
 10121  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 10122  	}
 10123  
 10124  	if invalidParams.Len() > 0 {
 10125  		return invalidParams
 10126  	}
 10127  	return nil
 10128  }
 10129  
 10130  // SetClientToken sets the ClientToken field's value.
 10131  func (s *CreateDashboardInput) SetClientToken(v string) *CreateDashboardInput {
 10132  	s.ClientToken = &v
 10133  	return s
 10134  }
 10135  
 10136  // SetDashboardDefinition sets the DashboardDefinition field's value.
 10137  func (s *CreateDashboardInput) SetDashboardDefinition(v string) *CreateDashboardInput {
 10138  	s.DashboardDefinition = &v
 10139  	return s
 10140  }
 10141  
 10142  // SetDashboardDescription sets the DashboardDescription field's value.
 10143  func (s *CreateDashboardInput) SetDashboardDescription(v string) *CreateDashboardInput {
 10144  	s.DashboardDescription = &v
 10145  	return s
 10146  }
 10147  
 10148  // SetDashboardName sets the DashboardName field's value.
 10149  func (s *CreateDashboardInput) SetDashboardName(v string) *CreateDashboardInput {
 10150  	s.DashboardName = &v
 10151  	return s
 10152  }
 10153  
 10154  // SetProjectId sets the ProjectId field's value.
 10155  func (s *CreateDashboardInput) SetProjectId(v string) *CreateDashboardInput {
 10156  	s.ProjectId = &v
 10157  	return s
 10158  }
 10159  
 10160  // SetTags sets the Tags field's value.
 10161  func (s *CreateDashboardInput) SetTags(v map[string]*string) *CreateDashboardInput {
 10162  	s.Tags = v
 10163  	return s
 10164  }
 10165  
 10166  type CreateDashboardOutput struct {
 10167  	_ struct{} `type:"structure"`
 10168  
 10169  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 10170  	// of the dashboard, which has the following format.
 10171  	//
 10172  	// arn:${Partition}:iotsitewise:${Region}:${Account}:dashboard/${DashboardId}
 10173  	//
 10174  	// DashboardArn is a required field
 10175  	DashboardArn *string `locationName:"dashboardArn" min:"1" type:"string" required:"true"`
 10176  
 10177  	// The ID of the dashboard.
 10178  	//
 10179  	// DashboardId is a required field
 10180  	DashboardId *string `locationName:"dashboardId" min:"36" type:"string" required:"true"`
 10181  }
 10182  
 10183  // String returns the string representation.
 10184  //
 10185  // API parameter values that are decorated as "sensitive" in the API will not
 10186  // be included in the string output. The member name will be present, but the
 10187  // value will be replaced with "sensitive".
 10188  func (s CreateDashboardOutput) String() string {
 10189  	return awsutil.Prettify(s)
 10190  }
 10191  
 10192  // GoString returns the string representation.
 10193  //
 10194  // API parameter values that are decorated as "sensitive" in the API will not
 10195  // be included in the string output. The member name will be present, but the
 10196  // value will be replaced with "sensitive".
 10197  func (s CreateDashboardOutput) GoString() string {
 10198  	return s.String()
 10199  }
 10200  
 10201  // SetDashboardArn sets the DashboardArn field's value.
 10202  func (s *CreateDashboardOutput) SetDashboardArn(v string) *CreateDashboardOutput {
 10203  	s.DashboardArn = &v
 10204  	return s
 10205  }
 10206  
 10207  // SetDashboardId sets the DashboardId field's value.
 10208  func (s *CreateDashboardOutput) SetDashboardId(v string) *CreateDashboardOutput {
 10209  	s.DashboardId = &v
 10210  	return s
 10211  }
 10212  
 10213  type CreateGatewayInput struct {
 10214  	_ struct{} `type:"structure"`
 10215  
 10216  	// A unique, friendly name for the gateway.
 10217  	//
 10218  	// GatewayName is a required field
 10219  	GatewayName *string `locationName:"gatewayName" min:"1" type:"string" required:"true"`
 10220  
 10221  	// The gateway's platform. You can only specify one platform in a gateway.
 10222  	//
 10223  	// GatewayPlatform is a required field
 10224  	GatewayPlatform *GatewayPlatform `locationName:"gatewayPlatform" type:"structure" required:"true"`
 10225  
 10226  	// A list of key-value pairs that contain metadata for the gateway. For more
 10227  	// information, see Tagging your IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
 10228  	// in the IoT SiteWise User Guide.
 10229  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
 10230  }
 10231  
 10232  // String returns the string representation.
 10233  //
 10234  // API parameter values that are decorated as "sensitive" in the API will not
 10235  // be included in the string output. The member name will be present, but the
 10236  // value will be replaced with "sensitive".
 10237  func (s CreateGatewayInput) String() string {
 10238  	return awsutil.Prettify(s)
 10239  }
 10240  
 10241  // GoString returns the string representation.
 10242  //
 10243  // API parameter values that are decorated as "sensitive" in the API will not
 10244  // be included in the string output. The member name will be present, but the
 10245  // value will be replaced with "sensitive".
 10246  func (s CreateGatewayInput) GoString() string {
 10247  	return s.String()
 10248  }
 10249  
 10250  // Validate inspects the fields of the type to determine if they are valid.
 10251  func (s *CreateGatewayInput) Validate() error {
 10252  	invalidParams := request.ErrInvalidParams{Context: "CreateGatewayInput"}
 10253  	if s.GatewayName == nil {
 10254  		invalidParams.Add(request.NewErrParamRequired("GatewayName"))
 10255  	}
 10256  	if s.GatewayName != nil && len(*s.GatewayName) < 1 {
 10257  		invalidParams.Add(request.NewErrParamMinLen("GatewayName", 1))
 10258  	}
 10259  	if s.GatewayPlatform == nil {
 10260  		invalidParams.Add(request.NewErrParamRequired("GatewayPlatform"))
 10261  	}
 10262  	if s.Tags != nil && len(s.Tags) < 1 {
 10263  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 10264  	}
 10265  	if s.GatewayPlatform != nil {
 10266  		if err := s.GatewayPlatform.Validate(); err != nil {
 10267  			invalidParams.AddNested("GatewayPlatform", err.(request.ErrInvalidParams))
 10268  		}
 10269  	}
 10270  
 10271  	if invalidParams.Len() > 0 {
 10272  		return invalidParams
 10273  	}
 10274  	return nil
 10275  }
 10276  
 10277  // SetGatewayName sets the GatewayName field's value.
 10278  func (s *CreateGatewayInput) SetGatewayName(v string) *CreateGatewayInput {
 10279  	s.GatewayName = &v
 10280  	return s
 10281  }
 10282  
 10283  // SetGatewayPlatform sets the GatewayPlatform field's value.
 10284  func (s *CreateGatewayInput) SetGatewayPlatform(v *GatewayPlatform) *CreateGatewayInput {
 10285  	s.GatewayPlatform = v
 10286  	return s
 10287  }
 10288  
 10289  // SetTags sets the Tags field's value.
 10290  func (s *CreateGatewayInput) SetTags(v map[string]*string) *CreateGatewayInput {
 10291  	s.Tags = v
 10292  	return s
 10293  }
 10294  
 10295  type CreateGatewayOutput struct {
 10296  	_ struct{} `type:"structure"`
 10297  
 10298  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 10299  	// of the gateway, which has the following format.
 10300  	//
 10301  	// arn:${Partition}:iotsitewise:${Region}:${Account}:gateway/${GatewayId}
 10302  	//
 10303  	// GatewayArn is a required field
 10304  	GatewayArn *string `locationName:"gatewayArn" min:"1" type:"string" required:"true"`
 10305  
 10306  	// The ID of the gateway device. You can use this ID when you call other IoT
 10307  	// SiteWise APIs.
 10308  	//
 10309  	// GatewayId is a required field
 10310  	GatewayId *string `locationName:"gatewayId" min:"36" type:"string" required:"true"`
 10311  }
 10312  
 10313  // String returns the string representation.
 10314  //
 10315  // API parameter values that are decorated as "sensitive" in the API will not
 10316  // be included in the string output. The member name will be present, but the
 10317  // value will be replaced with "sensitive".
 10318  func (s CreateGatewayOutput) String() string {
 10319  	return awsutil.Prettify(s)
 10320  }
 10321  
 10322  // GoString returns the string representation.
 10323  //
 10324  // API parameter values that are decorated as "sensitive" in the API will not
 10325  // be included in the string output. The member name will be present, but the
 10326  // value will be replaced with "sensitive".
 10327  func (s CreateGatewayOutput) GoString() string {
 10328  	return s.String()
 10329  }
 10330  
 10331  // SetGatewayArn sets the GatewayArn field's value.
 10332  func (s *CreateGatewayOutput) SetGatewayArn(v string) *CreateGatewayOutput {
 10333  	s.GatewayArn = &v
 10334  	return s
 10335  }
 10336  
 10337  // SetGatewayId sets the GatewayId field's value.
 10338  func (s *CreateGatewayOutput) SetGatewayId(v string) *CreateGatewayOutput {
 10339  	s.GatewayId = &v
 10340  	return s
 10341  }
 10342  
 10343  type CreatePortalInput struct {
 10344  	_ struct{} `type:"structure"`
 10345  
 10346  	// Contains the configuration information of an alarm created in an IoT SiteWise
 10347  	// Monitor portal. You can use the alarm to monitor an asset property and get
 10348  	// notified when the asset property value is outside a specified range. For
 10349  	// more information, see Monitoring with alarms (https://docs.aws.amazon.com/iot-sitewise/latest/appguide/monitor-alarms.html)
 10350  	// in the IoT SiteWise Application Guide.
 10351  	Alarms *Alarms `locationName:"alarms" type:"structure"`
 10352  
 10353  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
 10354  	// of the request. Don't reuse this client token if a new idempotent request
 10355  	// is required.
 10356  	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
 10357  
 10358  	// The email address that sends alarm notifications.
 10359  	//
 10360  	// If you use the IoT Events managed Lambda function (https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html)
 10361  	// to manage your emails, you must verify the sender email address in Amazon
 10362  	// SES (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html).
 10363  	NotificationSenderEmail *string `locationName:"notificationSenderEmail" min:"1" type:"string"`
 10364  
 10365  	// The service to use to authenticate users to the portal. Choose from the following
 10366  	// options:
 10367  	//
 10368  	//    * SSO – The portal uses Amazon Web Services Single Sign On to authenticate
 10369  	//    users and manage user permissions. Before you can create a portal that
 10370  	//    uses Amazon Web Services SSO, you must enable Amazon Web Services SSO.
 10371  	//    For more information, see Enabling Amazon Web Services SSO (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-get-started.html#mon-gs-sso)
 10372  	//    in the IoT SiteWise User Guide. This option is only available in Amazon
 10373  	//    Web Services Regions other than the China Regions.
 10374  	//
 10375  	//    * IAM – The portal uses Identity and Access Management to authenticate
 10376  	//    users and manage user permissions. This option is only available in the
 10377  	//    China Regions.
 10378  	//
 10379  	// You can't change this value after you create a portal.
 10380  	//
 10381  	// Default: SSO
 10382  	PortalAuthMode *string `locationName:"portalAuthMode" type:"string" enum:"AuthMode"`
 10383  
 10384  	// The Amazon Web Services administrator's contact email address.
 10385  	//
 10386  	// PortalContactEmail is a required field
 10387  	PortalContactEmail *string `locationName:"portalContactEmail" min:"1" type:"string" required:"true"`
 10388  
 10389  	// A description for the portal.
 10390  	PortalDescription *string `locationName:"portalDescription" min:"1" type:"string"`
 10391  
 10392  	// A logo image to display in the portal. Upload a square, high-resolution image.
 10393  	// The image is displayed on a dark background.
 10394  	PortalLogoImageFile *ImageFile `locationName:"portalLogoImageFile" type:"structure"`
 10395  
 10396  	// A friendly name for the portal.
 10397  	//
 10398  	// PortalName is a required field
 10399  	PortalName *string `locationName:"portalName" min:"1" type:"string" required:"true"`
 10400  
 10401  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 10402  	// of a service role that allows the portal's users to access your IoT SiteWise
 10403  	// resources on your behalf. For more information, see Using service roles for
 10404  	// IoT SiteWise Monitor (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html)
 10405  	// in the IoT SiteWise User Guide.
 10406  	//
 10407  	// RoleArn is a required field
 10408  	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
 10409  
 10410  	// A list of key-value pairs that contain metadata for the portal. For more
 10411  	// information, see Tagging your IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
 10412  	// in the IoT SiteWise User Guide.
 10413  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
 10414  }
 10415  
 10416  // String returns the string representation.
 10417  //
 10418  // API parameter values that are decorated as "sensitive" in the API will not
 10419  // be included in the string output. The member name will be present, but the
 10420  // value will be replaced with "sensitive".
 10421  func (s CreatePortalInput) String() string {
 10422  	return awsutil.Prettify(s)
 10423  }
 10424  
 10425  // GoString returns the string representation.
 10426  //
 10427  // API parameter values that are decorated as "sensitive" in the API will not
 10428  // be included in the string output. The member name will be present, but the
 10429  // value will be replaced with "sensitive".
 10430  func (s CreatePortalInput) GoString() string {
 10431  	return s.String()
 10432  }
 10433  
 10434  // Validate inspects the fields of the type to determine if they are valid.
 10435  func (s *CreatePortalInput) Validate() error {
 10436  	invalidParams := request.ErrInvalidParams{Context: "CreatePortalInput"}
 10437  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
 10438  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
 10439  	}
 10440  	if s.NotificationSenderEmail != nil && len(*s.NotificationSenderEmail) < 1 {
 10441  		invalidParams.Add(request.NewErrParamMinLen("NotificationSenderEmail", 1))
 10442  	}
 10443  	if s.PortalContactEmail == nil {
 10444  		invalidParams.Add(request.NewErrParamRequired("PortalContactEmail"))
 10445  	}
 10446  	if s.PortalContactEmail != nil && len(*s.PortalContactEmail) < 1 {
 10447  		invalidParams.Add(request.NewErrParamMinLen("PortalContactEmail", 1))
 10448  	}
 10449  	if s.PortalDescription != nil && len(*s.PortalDescription) < 1 {
 10450  		invalidParams.Add(request.NewErrParamMinLen("PortalDescription", 1))
 10451  	}
 10452  	if s.PortalName == nil {
 10453  		invalidParams.Add(request.NewErrParamRequired("PortalName"))
 10454  	}
 10455  	if s.PortalName != nil && len(*s.PortalName) < 1 {
 10456  		invalidParams.Add(request.NewErrParamMinLen("PortalName", 1))
 10457  	}
 10458  	if s.RoleArn == nil {
 10459  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 10460  	}
 10461  	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
 10462  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
 10463  	}
 10464  	if s.Tags != nil && len(s.Tags) < 1 {
 10465  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 10466  	}
 10467  	if s.Alarms != nil {
 10468  		if err := s.Alarms.Validate(); err != nil {
 10469  			invalidParams.AddNested("Alarms", err.(request.ErrInvalidParams))
 10470  		}
 10471  	}
 10472  	if s.PortalLogoImageFile != nil {
 10473  		if err := s.PortalLogoImageFile.Validate(); err != nil {
 10474  			invalidParams.AddNested("PortalLogoImageFile", err.(request.ErrInvalidParams))
 10475  		}
 10476  	}
 10477  
 10478  	if invalidParams.Len() > 0 {
 10479  		return invalidParams
 10480  	}
 10481  	return nil
 10482  }
 10483  
 10484  // SetAlarms sets the Alarms field's value.
 10485  func (s *CreatePortalInput) SetAlarms(v *Alarms) *CreatePortalInput {
 10486  	s.Alarms = v
 10487  	return s
 10488  }
 10489  
 10490  // SetClientToken sets the ClientToken field's value.
 10491  func (s *CreatePortalInput) SetClientToken(v string) *CreatePortalInput {
 10492  	s.ClientToken = &v
 10493  	return s
 10494  }
 10495  
 10496  // SetNotificationSenderEmail sets the NotificationSenderEmail field's value.
 10497  func (s *CreatePortalInput) SetNotificationSenderEmail(v string) *CreatePortalInput {
 10498  	s.NotificationSenderEmail = &v
 10499  	return s
 10500  }
 10501  
 10502  // SetPortalAuthMode sets the PortalAuthMode field's value.
 10503  func (s *CreatePortalInput) SetPortalAuthMode(v string) *CreatePortalInput {
 10504  	s.PortalAuthMode = &v
 10505  	return s
 10506  }
 10507  
 10508  // SetPortalContactEmail sets the PortalContactEmail field's value.
 10509  func (s *CreatePortalInput) SetPortalContactEmail(v string) *CreatePortalInput {
 10510  	s.PortalContactEmail = &v
 10511  	return s
 10512  }
 10513  
 10514  // SetPortalDescription sets the PortalDescription field's value.
 10515  func (s *CreatePortalInput) SetPortalDescription(v string) *CreatePortalInput {
 10516  	s.PortalDescription = &v
 10517  	return s
 10518  }
 10519  
 10520  // SetPortalLogoImageFile sets the PortalLogoImageFile field's value.
 10521  func (s *CreatePortalInput) SetPortalLogoImageFile(v *ImageFile) *CreatePortalInput {
 10522  	s.PortalLogoImageFile = v
 10523  	return s
 10524  }
 10525  
 10526  // SetPortalName sets the PortalName field's value.
 10527  func (s *CreatePortalInput) SetPortalName(v string) *CreatePortalInput {
 10528  	s.PortalName = &v
 10529  	return s
 10530  }
 10531  
 10532  // SetRoleArn sets the RoleArn field's value.
 10533  func (s *CreatePortalInput) SetRoleArn(v string) *CreatePortalInput {
 10534  	s.RoleArn = &v
 10535  	return s
 10536  }
 10537  
 10538  // SetTags sets the Tags field's value.
 10539  func (s *CreatePortalInput) SetTags(v map[string]*string) *CreatePortalInput {
 10540  	s.Tags = v
 10541  	return s
 10542  }
 10543  
 10544  type CreatePortalOutput struct {
 10545  	_ struct{} `type:"structure"`
 10546  
 10547  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 10548  	// of the portal, which has the following format.
 10549  	//
 10550  	// arn:${Partition}:iotsitewise:${Region}:${Account}:portal/${PortalId}
 10551  	//
 10552  	// PortalArn is a required field
 10553  	PortalArn *string `locationName:"portalArn" min:"1" type:"string" required:"true"`
 10554  
 10555  	// The ID of the created portal.
 10556  	//
 10557  	// PortalId is a required field
 10558  	PortalId *string `locationName:"portalId" min:"36" type:"string" required:"true"`
 10559  
 10560  	// The URL for the IoT SiteWise Monitor portal. You can use this URL to access
 10561  	// portals that use Amazon Web Services SSO for authentication. For portals
 10562  	// that use IAM for authentication, you must use the IoT SiteWise console to
 10563  	// get a URL that you can use to access the portal.
 10564  	//
 10565  	// PortalStartUrl is a required field
 10566  	PortalStartUrl *string `locationName:"portalStartUrl" min:"1" type:"string" required:"true"`
 10567  
 10568  	// The status of the portal, which contains a state (CREATING after successfully
 10569  	// calling this operation) and any error message.
 10570  	//
 10571  	// PortalStatus is a required field
 10572  	PortalStatus *PortalStatus `locationName:"portalStatus" type:"structure" required:"true"`
 10573  
 10574  	// The associated Amazon Web Services SSO application ID, if the portal uses
 10575  	// Amazon Web Services SSO.
 10576  	//
 10577  	// SsoApplicationId is a required field
 10578  	SsoApplicationId *string `locationName:"ssoApplicationId" min:"1" type:"string" required:"true"`
 10579  }
 10580  
 10581  // String returns the string representation.
 10582  //
 10583  // API parameter values that are decorated as "sensitive" in the API will not
 10584  // be included in the string output. The member name will be present, but the
 10585  // value will be replaced with "sensitive".
 10586  func (s CreatePortalOutput) String() string {
 10587  	return awsutil.Prettify(s)
 10588  }
 10589  
 10590  // GoString returns the string representation.
 10591  //
 10592  // API parameter values that are decorated as "sensitive" in the API will not
 10593  // be included in the string output. The member name will be present, but the
 10594  // value will be replaced with "sensitive".
 10595  func (s CreatePortalOutput) GoString() string {
 10596  	return s.String()
 10597  }
 10598  
 10599  // SetPortalArn sets the PortalArn field's value.
 10600  func (s *CreatePortalOutput) SetPortalArn(v string) *CreatePortalOutput {
 10601  	s.PortalArn = &v
 10602  	return s
 10603  }
 10604  
 10605  // SetPortalId sets the PortalId field's value.
 10606  func (s *CreatePortalOutput) SetPortalId(v string) *CreatePortalOutput {
 10607  	s.PortalId = &v
 10608  	return s
 10609  }
 10610  
 10611  // SetPortalStartUrl sets the PortalStartUrl field's value.
 10612  func (s *CreatePortalOutput) SetPortalStartUrl(v string) *CreatePortalOutput {
 10613  	s.PortalStartUrl = &v
 10614  	return s
 10615  }
 10616  
 10617  // SetPortalStatus sets the PortalStatus field's value.
 10618  func (s *CreatePortalOutput) SetPortalStatus(v *PortalStatus) *CreatePortalOutput {
 10619  	s.PortalStatus = v
 10620  	return s
 10621  }
 10622  
 10623  // SetSsoApplicationId sets the SsoApplicationId field's value.
 10624  func (s *CreatePortalOutput) SetSsoApplicationId(v string) *CreatePortalOutput {
 10625  	s.SsoApplicationId = &v
 10626  	return s
 10627  }
 10628  
 10629  type CreateProjectInput struct {
 10630  	_ struct{} `type:"structure"`
 10631  
 10632  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
 10633  	// of the request. Don't reuse this client token if a new idempotent request
 10634  	// is required.
 10635  	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
 10636  
 10637  	// The ID of the portal in which to create the project.
 10638  	//
 10639  	// PortalId is a required field
 10640  	PortalId *string `locationName:"portalId" min:"36" type:"string" required:"true"`
 10641  
 10642  	// A description for the project.
 10643  	ProjectDescription *string `locationName:"projectDescription" min:"1" type:"string"`
 10644  
 10645  	// A friendly name for the project.
 10646  	//
 10647  	// ProjectName is a required field
 10648  	ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"`
 10649  
 10650  	// A list of key-value pairs that contain metadata for the project. For more
 10651  	// information, see Tagging your IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
 10652  	// in the IoT SiteWise User Guide.
 10653  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
 10654  }
 10655  
 10656  // String returns the string representation.
 10657  //
 10658  // API parameter values that are decorated as "sensitive" in the API will not
 10659  // be included in the string output. The member name will be present, but the
 10660  // value will be replaced with "sensitive".
 10661  func (s CreateProjectInput) String() string {
 10662  	return awsutil.Prettify(s)
 10663  }
 10664  
 10665  // GoString returns the string representation.
 10666  //
 10667  // API parameter values that are decorated as "sensitive" in the API will not
 10668  // be included in the string output. The member name will be present, but the
 10669  // value will be replaced with "sensitive".
 10670  func (s CreateProjectInput) GoString() string {
 10671  	return s.String()
 10672  }
 10673  
 10674  // Validate inspects the fields of the type to determine if they are valid.
 10675  func (s *CreateProjectInput) Validate() error {
 10676  	invalidParams := request.ErrInvalidParams{Context: "CreateProjectInput"}
 10677  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
 10678  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
 10679  	}
 10680  	if s.PortalId == nil {
 10681  		invalidParams.Add(request.NewErrParamRequired("PortalId"))
 10682  	}
 10683  	if s.PortalId != nil && len(*s.PortalId) < 36 {
 10684  		invalidParams.Add(request.NewErrParamMinLen("PortalId", 36))
 10685  	}
 10686  	if s.ProjectDescription != nil && len(*s.ProjectDescription) < 1 {
 10687  		invalidParams.Add(request.NewErrParamMinLen("ProjectDescription", 1))
 10688  	}
 10689  	if s.ProjectName == nil {
 10690  		invalidParams.Add(request.NewErrParamRequired("ProjectName"))
 10691  	}
 10692  	if s.ProjectName != nil && len(*s.ProjectName) < 1 {
 10693  		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1))
 10694  	}
 10695  	if s.Tags != nil && len(s.Tags) < 1 {
 10696  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 10697  	}
 10698  
 10699  	if invalidParams.Len() > 0 {
 10700  		return invalidParams
 10701  	}
 10702  	return nil
 10703  }
 10704  
 10705  // SetClientToken sets the ClientToken field's value.
 10706  func (s *CreateProjectInput) SetClientToken(v string) *CreateProjectInput {
 10707  	s.ClientToken = &v
 10708  	return s
 10709  }
 10710  
 10711  // SetPortalId sets the PortalId field's value.
 10712  func (s *CreateProjectInput) SetPortalId(v string) *CreateProjectInput {
 10713  	s.PortalId = &v
 10714  	return s
 10715  }
 10716  
 10717  // SetProjectDescription sets the ProjectDescription field's value.
 10718  func (s *CreateProjectInput) SetProjectDescription(v string) *CreateProjectInput {
 10719  	s.ProjectDescription = &v
 10720  	return s
 10721  }
 10722  
 10723  // SetProjectName sets the ProjectName field's value.
 10724  func (s *CreateProjectInput) SetProjectName(v string) *CreateProjectInput {
 10725  	s.ProjectName = &v
 10726  	return s
 10727  }
 10728  
 10729  // SetTags sets the Tags field's value.
 10730  func (s *CreateProjectInput) SetTags(v map[string]*string) *CreateProjectInput {
 10731  	s.Tags = v
 10732  	return s
 10733  }
 10734  
 10735  type CreateProjectOutput struct {
 10736  	_ struct{} `type:"structure"`
 10737  
 10738  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 10739  	// of the project, which has the following format.
 10740  	//
 10741  	// arn:${Partition}:iotsitewise:${Region}:${Account}:project/${ProjectId}
 10742  	//
 10743  	// ProjectArn is a required field
 10744  	ProjectArn *string `locationName:"projectArn" min:"1" type:"string" required:"true"`
 10745  
 10746  	// The ID of the project.
 10747  	//
 10748  	// ProjectId is a required field
 10749  	ProjectId *string `locationName:"projectId" min:"36" type:"string" required:"true"`
 10750  }
 10751  
 10752  // String returns the string representation.
 10753  //
 10754  // API parameter values that are decorated as "sensitive" in the API will not
 10755  // be included in the string output. The member name will be present, but the
 10756  // value will be replaced with "sensitive".
 10757  func (s CreateProjectOutput) String() string {
 10758  	return awsutil.Prettify(s)
 10759  }
 10760  
 10761  // GoString returns the string representation.
 10762  //
 10763  // API parameter values that are decorated as "sensitive" in the API will not
 10764  // be included in the string output. The member name will be present, but the
 10765  // value will be replaced with "sensitive".
 10766  func (s CreateProjectOutput) GoString() string {
 10767  	return s.String()
 10768  }
 10769  
 10770  // SetProjectArn sets the ProjectArn field's value.
 10771  func (s *CreateProjectOutput) SetProjectArn(v string) *CreateProjectOutput {
 10772  	s.ProjectArn = &v
 10773  	return s
 10774  }
 10775  
 10776  // SetProjectId sets the ProjectId field's value.
 10777  func (s *CreateProjectOutput) SetProjectId(v string) *CreateProjectOutput {
 10778  	s.ProjectId = &v
 10779  	return s
 10780  }
 10781  
 10782  // Contains information about a customer managed Amazon S3 bucket.
 10783  type CustomerManagedS3Storage struct {
 10784  	_ struct{} `type:"structure"`
 10785  
 10786  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 10787  	// of the Identity and Access Management role that allows IoT SiteWise to send
 10788  	// data to Amazon S3.
 10789  	//
 10790  	// RoleArn is a required field
 10791  	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
 10792  
 10793  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 10794  	// of the Amazon S3 object. For more information about how to find the ARN for
 10795  	// an Amazon S3 object, see Amazon S3 resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-arn-format.html)
 10796  	// in the Amazon Simple Storage Service User Guide.
 10797  	//
 10798  	// S3ResourceArn is a required field
 10799  	S3ResourceArn *string `locationName:"s3ResourceArn" min:"1" type:"string" required:"true"`
 10800  }
 10801  
 10802  // String returns the string representation.
 10803  //
 10804  // API parameter values that are decorated as "sensitive" in the API will not
 10805  // be included in the string output. The member name will be present, but the
 10806  // value will be replaced with "sensitive".
 10807  func (s CustomerManagedS3Storage) String() string {
 10808  	return awsutil.Prettify(s)
 10809  }
 10810  
 10811  // GoString returns the string representation.
 10812  //
 10813  // API parameter values that are decorated as "sensitive" in the API will not
 10814  // be included in the string output. The member name will be present, but the
 10815  // value will be replaced with "sensitive".
 10816  func (s CustomerManagedS3Storage) GoString() string {
 10817  	return s.String()
 10818  }
 10819  
 10820  // Validate inspects the fields of the type to determine if they are valid.
 10821  func (s *CustomerManagedS3Storage) Validate() error {
 10822  	invalidParams := request.ErrInvalidParams{Context: "CustomerManagedS3Storage"}
 10823  	if s.RoleArn == nil {
 10824  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 10825  	}
 10826  	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
 10827  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
 10828  	}
 10829  	if s.S3ResourceArn == nil {
 10830  		invalidParams.Add(request.NewErrParamRequired("S3ResourceArn"))
 10831  	}
 10832  	if s.S3ResourceArn != nil && len(*s.S3ResourceArn) < 1 {
 10833  		invalidParams.Add(request.NewErrParamMinLen("S3ResourceArn", 1))
 10834  	}
 10835  
 10836  	if invalidParams.Len() > 0 {
 10837  		return invalidParams
 10838  	}
 10839  	return nil
 10840  }
 10841  
 10842  // SetRoleArn sets the RoleArn field's value.
 10843  func (s *CustomerManagedS3Storage) SetRoleArn(v string) *CustomerManagedS3Storage {
 10844  	s.RoleArn = &v
 10845  	return s
 10846  }
 10847  
 10848  // SetS3ResourceArn sets the S3ResourceArn field's value.
 10849  func (s *CustomerManagedS3Storage) SetS3ResourceArn(v string) *CustomerManagedS3Storage {
 10850  	s.S3ResourceArn = &v
 10851  	return s
 10852  }
 10853  
 10854  // Contains a dashboard summary.
 10855  type DashboardSummary struct {
 10856  	_ struct{} `type:"structure"`
 10857  
 10858  	// The date the dashboard was created, in Unix epoch time.
 10859  	CreationDate *time.Time `locationName:"creationDate" type:"timestamp"`
 10860  
 10861  	// The dashboard's description.
 10862  	Description *string `locationName:"description" min:"1" type:"string"`
 10863  
 10864  	// The ID of the dashboard.
 10865  	//
 10866  	// Id is a required field
 10867  	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
 10868  
 10869  	// The date the dashboard was last updated, in Unix epoch time.
 10870  	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp"`
 10871  
 10872  	// The name of the dashboard
 10873  	//
 10874  	// Name is a required field
 10875  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 10876  }
 10877  
 10878  // String returns the string representation.
 10879  //
 10880  // API parameter values that are decorated as "sensitive" in the API will not
 10881  // be included in the string output. The member name will be present, but the
 10882  // value will be replaced with "sensitive".
 10883  func (s DashboardSummary) String() string {
 10884  	return awsutil.Prettify(s)
 10885  }
 10886  
 10887  // GoString returns the string representation.
 10888  //
 10889  // API parameter values that are decorated as "sensitive" in the API will not
 10890  // be included in the string output. The member name will be present, but the
 10891  // value will be replaced with "sensitive".
 10892  func (s DashboardSummary) GoString() string {
 10893  	return s.String()
 10894  }
 10895  
 10896  // SetCreationDate sets the CreationDate field's value.
 10897  func (s *DashboardSummary) SetCreationDate(v time.Time) *DashboardSummary {
 10898  	s.CreationDate = &v
 10899  	return s
 10900  }
 10901  
 10902  // SetDescription sets the Description field's value.
 10903  func (s *DashboardSummary) SetDescription(v string) *DashboardSummary {
 10904  	s.Description = &v
 10905  	return s
 10906  }
 10907  
 10908  // SetId sets the Id field's value.
 10909  func (s *DashboardSummary) SetId(v string) *DashboardSummary {
 10910  	s.Id = &v
 10911  	return s
 10912  }
 10913  
 10914  // SetLastUpdateDate sets the LastUpdateDate field's value.
 10915  func (s *DashboardSummary) SetLastUpdateDate(v time.Time) *DashboardSummary {
 10916  	s.LastUpdateDate = &v
 10917  	return s
 10918  }
 10919  
 10920  // SetName sets the Name field's value.
 10921  func (s *DashboardSummary) SetName(v string) *DashboardSummary {
 10922  	s.Name = &v
 10923  	return s
 10924  }
 10925  
 10926  type DeleteAccessPolicyInput struct {
 10927  	_ struct{} `type:"structure" nopayload:"true"`
 10928  
 10929  	// The ID of the access policy to be deleted.
 10930  	//
 10931  	// AccessPolicyId is a required field
 10932  	AccessPolicyId *string `location:"uri" locationName:"accessPolicyId" min:"36" type:"string" required:"true"`
 10933  
 10934  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
 10935  	// of the request. Don't reuse this client token if a new idempotent request
 10936  	// is required.
 10937  	ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
 10938  }
 10939  
 10940  // String returns the string representation.
 10941  //
 10942  // API parameter values that are decorated as "sensitive" in the API will not
 10943  // be included in the string output. The member name will be present, but the
 10944  // value will be replaced with "sensitive".
 10945  func (s DeleteAccessPolicyInput) String() string {
 10946  	return awsutil.Prettify(s)
 10947  }
 10948  
 10949  // GoString returns the string representation.
 10950  //
 10951  // API parameter values that are decorated as "sensitive" in the API will not
 10952  // be included in the string output. The member name will be present, but the
 10953  // value will be replaced with "sensitive".
 10954  func (s DeleteAccessPolicyInput) GoString() string {
 10955  	return s.String()
 10956  }
 10957  
 10958  // Validate inspects the fields of the type to determine if they are valid.
 10959  func (s *DeleteAccessPolicyInput) Validate() error {
 10960  	invalidParams := request.ErrInvalidParams{Context: "DeleteAccessPolicyInput"}
 10961  	if s.AccessPolicyId == nil {
 10962  		invalidParams.Add(request.NewErrParamRequired("AccessPolicyId"))
 10963  	}
 10964  	if s.AccessPolicyId != nil && len(*s.AccessPolicyId) < 36 {
 10965  		invalidParams.Add(request.NewErrParamMinLen("AccessPolicyId", 36))
 10966  	}
 10967  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
 10968  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
 10969  	}
 10970  
 10971  	if invalidParams.Len() > 0 {
 10972  		return invalidParams
 10973  	}
 10974  	return nil
 10975  }
 10976  
 10977  // SetAccessPolicyId sets the AccessPolicyId field's value.
 10978  func (s *DeleteAccessPolicyInput) SetAccessPolicyId(v string) *DeleteAccessPolicyInput {
 10979  	s.AccessPolicyId = &v
 10980  	return s
 10981  }
 10982  
 10983  // SetClientToken sets the ClientToken field's value.
 10984  func (s *DeleteAccessPolicyInput) SetClientToken(v string) *DeleteAccessPolicyInput {
 10985  	s.ClientToken = &v
 10986  	return s
 10987  }
 10988  
 10989  type DeleteAccessPolicyOutput struct {
 10990  	_ struct{} `type:"structure" nopayload:"true"`
 10991  }
 10992  
 10993  // String returns the string representation.
 10994  //
 10995  // API parameter values that are decorated as "sensitive" in the API will not
 10996  // be included in the string output. The member name will be present, but the
 10997  // value will be replaced with "sensitive".
 10998  func (s DeleteAccessPolicyOutput) String() string {
 10999  	return awsutil.Prettify(s)
 11000  }
 11001  
 11002  // GoString returns the string representation.
 11003  //
 11004  // API parameter values that are decorated as "sensitive" in the API will not
 11005  // be included in the string output. The member name will be present, but the
 11006  // value will be replaced with "sensitive".
 11007  func (s DeleteAccessPolicyOutput) GoString() string {
 11008  	return s.String()
 11009  }
 11010  
 11011  type DeleteAssetInput struct {
 11012  	_ struct{} `type:"structure" nopayload:"true"`
 11013  
 11014  	// The ID of the asset to delete.
 11015  	//
 11016  	// AssetId is a required field
 11017  	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
 11018  
 11019  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
 11020  	// of the request. Don't reuse this client token if a new idempotent request
 11021  	// is required.
 11022  	ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
 11023  }
 11024  
 11025  // String returns the string representation.
 11026  //
 11027  // API parameter values that are decorated as "sensitive" in the API will not
 11028  // be included in the string output. The member name will be present, but the
 11029  // value will be replaced with "sensitive".
 11030  func (s DeleteAssetInput) String() string {
 11031  	return awsutil.Prettify(s)
 11032  }
 11033  
 11034  // GoString returns the string representation.
 11035  //
 11036  // API parameter values that are decorated as "sensitive" in the API will not
 11037  // be included in the string output. The member name will be present, but the
 11038  // value will be replaced with "sensitive".
 11039  func (s DeleteAssetInput) GoString() string {
 11040  	return s.String()
 11041  }
 11042  
 11043  // Validate inspects the fields of the type to determine if they are valid.
 11044  func (s *DeleteAssetInput) Validate() error {
 11045  	invalidParams := request.ErrInvalidParams{Context: "DeleteAssetInput"}
 11046  	if s.AssetId == nil {
 11047  		invalidParams.Add(request.NewErrParamRequired("AssetId"))
 11048  	}
 11049  	if s.AssetId != nil && len(*s.AssetId) < 36 {
 11050  		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
 11051  	}
 11052  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
 11053  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
 11054  	}
 11055  
 11056  	if invalidParams.Len() > 0 {
 11057  		return invalidParams
 11058  	}
 11059  	return nil
 11060  }
 11061  
 11062  // SetAssetId sets the AssetId field's value.
 11063  func (s *DeleteAssetInput) SetAssetId(v string) *DeleteAssetInput {
 11064  	s.AssetId = &v
 11065  	return s
 11066  }
 11067  
 11068  // SetClientToken sets the ClientToken field's value.
 11069  func (s *DeleteAssetInput) SetClientToken(v string) *DeleteAssetInput {
 11070  	s.ClientToken = &v
 11071  	return s
 11072  }
 11073  
 11074  type DeleteAssetModelInput struct {
 11075  	_ struct{} `type:"structure" nopayload:"true"`
 11076  
 11077  	// The ID of the asset model to delete.
 11078  	//
 11079  	// AssetModelId is a required field
 11080  	AssetModelId *string `location:"uri" locationName:"assetModelId" min:"36" type:"string" required:"true"`
 11081  
 11082  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
 11083  	// of the request. Don't reuse this client token if a new idempotent request
 11084  	// is required.
 11085  	ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
 11086  }
 11087  
 11088  // String returns the string representation.
 11089  //
 11090  // API parameter values that are decorated as "sensitive" in the API will not
 11091  // be included in the string output. The member name will be present, but the
 11092  // value will be replaced with "sensitive".
 11093  func (s DeleteAssetModelInput) String() string {
 11094  	return awsutil.Prettify(s)
 11095  }
 11096  
 11097  // GoString returns the string representation.
 11098  //
 11099  // API parameter values that are decorated as "sensitive" in the API will not
 11100  // be included in the string output. The member name will be present, but the
 11101  // value will be replaced with "sensitive".
 11102  func (s DeleteAssetModelInput) GoString() string {
 11103  	return s.String()
 11104  }
 11105  
 11106  // Validate inspects the fields of the type to determine if they are valid.
 11107  func (s *DeleteAssetModelInput) Validate() error {
 11108  	invalidParams := request.ErrInvalidParams{Context: "DeleteAssetModelInput"}
 11109  	if s.AssetModelId == nil {
 11110  		invalidParams.Add(request.NewErrParamRequired("AssetModelId"))
 11111  	}
 11112  	if s.AssetModelId != nil && len(*s.AssetModelId) < 36 {
 11113  		invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36))
 11114  	}
 11115  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
 11116  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
 11117  	}
 11118  
 11119  	if invalidParams.Len() > 0 {
 11120  		return invalidParams
 11121  	}
 11122  	return nil
 11123  }
 11124  
 11125  // SetAssetModelId sets the AssetModelId field's value.
 11126  func (s *DeleteAssetModelInput) SetAssetModelId(v string) *DeleteAssetModelInput {
 11127  	s.AssetModelId = &v
 11128  	return s
 11129  }
 11130  
 11131  // SetClientToken sets the ClientToken field's value.
 11132  func (s *DeleteAssetModelInput) SetClientToken(v string) *DeleteAssetModelInput {
 11133  	s.ClientToken = &v
 11134  	return s
 11135  }
 11136  
 11137  type DeleteAssetModelOutput struct {
 11138  	_ struct{} `type:"structure"`
 11139  
 11140  	// The status of the asset model, which contains a state (DELETING after successfully
 11141  	// calling this operation) and any error message.
 11142  	//
 11143  	// AssetModelStatus is a required field
 11144  	AssetModelStatus *AssetModelStatus `locationName:"assetModelStatus" type:"structure" required:"true"`
 11145  }
 11146  
 11147  // String returns the string representation.
 11148  //
 11149  // API parameter values that are decorated as "sensitive" in the API will not
 11150  // be included in the string output. The member name will be present, but the
 11151  // value will be replaced with "sensitive".
 11152  func (s DeleteAssetModelOutput) String() string {
 11153  	return awsutil.Prettify(s)
 11154  }
 11155  
 11156  // GoString returns the string representation.
 11157  //
 11158  // API parameter values that are decorated as "sensitive" in the API will not
 11159  // be included in the string output. The member name will be present, but the
 11160  // value will be replaced with "sensitive".
 11161  func (s DeleteAssetModelOutput) GoString() string {
 11162  	return s.String()
 11163  }
 11164  
 11165  // SetAssetModelStatus sets the AssetModelStatus field's value.
 11166  func (s *DeleteAssetModelOutput) SetAssetModelStatus(v *AssetModelStatus) *DeleteAssetModelOutput {
 11167  	s.AssetModelStatus = v
 11168  	return s
 11169  }
 11170  
 11171  type DeleteAssetOutput struct {
 11172  	_ struct{} `type:"structure"`
 11173  
 11174  	// The status of the asset, which contains a state (DELETING after successfully
 11175  	// calling this operation) and any error message.
 11176  	//
 11177  	// AssetStatus is a required field
 11178  	AssetStatus *AssetStatus `locationName:"assetStatus" type:"structure" required:"true"`
 11179  }
 11180  
 11181  // String returns the string representation.
 11182  //
 11183  // API parameter values that are decorated as "sensitive" in the API will not
 11184  // be included in the string output. The member name will be present, but the
 11185  // value will be replaced with "sensitive".
 11186  func (s DeleteAssetOutput) String() string {
 11187  	return awsutil.Prettify(s)
 11188  }
 11189  
 11190  // GoString returns the string representation.
 11191  //
 11192  // API parameter values that are decorated as "sensitive" in the API will not
 11193  // be included in the string output. The member name will be present, but the
 11194  // value will be replaced with "sensitive".
 11195  func (s DeleteAssetOutput) GoString() string {
 11196  	return s.String()
 11197  }
 11198  
 11199  // SetAssetStatus sets the AssetStatus field's value.
 11200  func (s *DeleteAssetOutput) SetAssetStatus(v *AssetStatus) *DeleteAssetOutput {
 11201  	s.AssetStatus = v
 11202  	return s
 11203  }
 11204  
 11205  type DeleteDashboardInput struct {
 11206  	_ struct{} `type:"structure" nopayload:"true"`
 11207  
 11208  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
 11209  	// of the request. Don't reuse this client token if a new idempotent request
 11210  	// is required.
 11211  	ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
 11212  
 11213  	// The ID of the dashboard to delete.
 11214  	//
 11215  	// DashboardId is a required field
 11216  	DashboardId *string `location:"uri" locationName:"dashboardId" min:"36" type:"string" required:"true"`
 11217  }
 11218  
 11219  // String returns the string representation.
 11220  //
 11221  // API parameter values that are decorated as "sensitive" in the API will not
 11222  // be included in the string output. The member name will be present, but the
 11223  // value will be replaced with "sensitive".
 11224  func (s DeleteDashboardInput) String() string {
 11225  	return awsutil.Prettify(s)
 11226  }
 11227  
 11228  // GoString returns the string representation.
 11229  //
 11230  // API parameter values that are decorated as "sensitive" in the API will not
 11231  // be included in the string output. The member name will be present, but the
 11232  // value will be replaced with "sensitive".
 11233  func (s DeleteDashboardInput) GoString() string {
 11234  	return s.String()
 11235  }
 11236  
 11237  // Validate inspects the fields of the type to determine if they are valid.
 11238  func (s *DeleteDashboardInput) Validate() error {
 11239  	invalidParams := request.ErrInvalidParams{Context: "DeleteDashboardInput"}
 11240  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
 11241  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
 11242  	}
 11243  	if s.DashboardId == nil {
 11244  		invalidParams.Add(request.NewErrParamRequired("DashboardId"))
 11245  	}
 11246  	if s.DashboardId != nil && len(*s.DashboardId) < 36 {
 11247  		invalidParams.Add(request.NewErrParamMinLen("DashboardId", 36))
 11248  	}
 11249  
 11250  	if invalidParams.Len() > 0 {
 11251  		return invalidParams
 11252  	}
 11253  	return nil
 11254  }
 11255  
 11256  // SetClientToken sets the ClientToken field's value.
 11257  func (s *DeleteDashboardInput) SetClientToken(v string) *DeleteDashboardInput {
 11258  	s.ClientToken = &v
 11259  	return s
 11260  }
 11261  
 11262  // SetDashboardId sets the DashboardId field's value.
 11263  func (s *DeleteDashboardInput) SetDashboardId(v string) *DeleteDashboardInput {
 11264  	s.DashboardId = &v
 11265  	return s
 11266  }
 11267  
 11268  type DeleteDashboardOutput struct {
 11269  	_ struct{} `type:"structure" nopayload:"true"`
 11270  }
 11271  
 11272  // String returns the string representation.
 11273  //
 11274  // API parameter values that are decorated as "sensitive" in the API will not
 11275  // be included in the string output. The member name will be present, but the
 11276  // value will be replaced with "sensitive".
 11277  func (s DeleteDashboardOutput) String() string {
 11278  	return awsutil.Prettify(s)
 11279  }
 11280  
 11281  // GoString returns the string representation.
 11282  //
 11283  // API parameter values that are decorated as "sensitive" in the API will not
 11284  // be included in the string output. The member name will be present, but the
 11285  // value will be replaced with "sensitive".
 11286  func (s DeleteDashboardOutput) GoString() string {
 11287  	return s.String()
 11288  }
 11289  
 11290  type DeleteGatewayInput struct {
 11291  	_ struct{} `type:"structure" nopayload:"true"`
 11292  
 11293  	// The ID of the gateway to delete.
 11294  	//
 11295  	// GatewayId is a required field
 11296  	GatewayId *string `location:"uri" locationName:"gatewayId" min:"36" type:"string" required:"true"`
 11297  }
 11298  
 11299  // String returns the string representation.
 11300  //
 11301  // API parameter values that are decorated as "sensitive" in the API will not
 11302  // be included in the string output. The member name will be present, but the
 11303  // value will be replaced with "sensitive".
 11304  func (s DeleteGatewayInput) String() string {
 11305  	return awsutil.Prettify(s)
 11306  }
 11307  
 11308  // GoString returns the string representation.
 11309  //
 11310  // API parameter values that are decorated as "sensitive" in the API will not
 11311  // be included in the string output. The member name will be present, but the
 11312  // value will be replaced with "sensitive".
 11313  func (s DeleteGatewayInput) GoString() string {
 11314  	return s.String()
 11315  }
 11316  
 11317  // Validate inspects the fields of the type to determine if they are valid.
 11318  func (s *DeleteGatewayInput) Validate() error {
 11319  	invalidParams := request.ErrInvalidParams{Context: "DeleteGatewayInput"}
 11320  	if s.GatewayId == nil {
 11321  		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
 11322  	}
 11323  	if s.GatewayId != nil && len(*s.GatewayId) < 36 {
 11324  		invalidParams.Add(request.NewErrParamMinLen("GatewayId", 36))
 11325  	}
 11326  
 11327  	if invalidParams.Len() > 0 {
 11328  		return invalidParams
 11329  	}
 11330  	return nil
 11331  }
 11332  
 11333  // SetGatewayId sets the GatewayId field's value.
 11334  func (s *DeleteGatewayInput) SetGatewayId(v string) *DeleteGatewayInput {
 11335  	s.GatewayId = &v
 11336  	return s
 11337  }
 11338  
 11339  type DeleteGatewayOutput struct {
 11340  	_ struct{} `type:"structure" nopayload:"true"`
 11341  }
 11342  
 11343  // String returns the string representation.
 11344  //
 11345  // API parameter values that are decorated as "sensitive" in the API will not
 11346  // be included in the string output. The member name will be present, but the
 11347  // value will be replaced with "sensitive".
 11348  func (s DeleteGatewayOutput) String() string {
 11349  	return awsutil.Prettify(s)
 11350  }
 11351  
 11352  // GoString returns the string representation.
 11353  //
 11354  // API parameter values that are decorated as "sensitive" in the API will not
 11355  // be included in the string output. The member name will be present, but the
 11356  // value will be replaced with "sensitive".
 11357  func (s DeleteGatewayOutput) GoString() string {
 11358  	return s.String()
 11359  }
 11360  
 11361  type DeletePortalInput struct {
 11362  	_ struct{} `type:"structure" nopayload:"true"`
 11363  
 11364  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
 11365  	// of the request. Don't reuse this client token if a new idempotent request
 11366  	// is required.
 11367  	ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
 11368  
 11369  	// The ID of the portal to delete.
 11370  	//
 11371  	// PortalId is a required field
 11372  	PortalId *string `location:"uri" locationName:"portalId" min:"36" type:"string" required:"true"`
 11373  }
 11374  
 11375  // String returns the string representation.
 11376  //
 11377  // API parameter values that are decorated as "sensitive" in the API will not
 11378  // be included in the string output. The member name will be present, but the
 11379  // value will be replaced with "sensitive".
 11380  func (s DeletePortalInput) String() string {
 11381  	return awsutil.Prettify(s)
 11382  }
 11383  
 11384  // GoString returns the string representation.
 11385  //
 11386  // API parameter values that are decorated as "sensitive" in the API will not
 11387  // be included in the string output. The member name will be present, but the
 11388  // value will be replaced with "sensitive".
 11389  func (s DeletePortalInput) GoString() string {
 11390  	return s.String()
 11391  }
 11392  
 11393  // Validate inspects the fields of the type to determine if they are valid.
 11394  func (s *DeletePortalInput) Validate() error {
 11395  	invalidParams := request.ErrInvalidParams{Context: "DeletePortalInput"}
 11396  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
 11397  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
 11398  	}
 11399  	if s.PortalId == nil {
 11400  		invalidParams.Add(request.NewErrParamRequired("PortalId"))
 11401  	}
 11402  	if s.PortalId != nil && len(*s.PortalId) < 36 {
 11403  		invalidParams.Add(request.NewErrParamMinLen("PortalId", 36))
 11404  	}
 11405  
 11406  	if invalidParams.Len() > 0 {
 11407  		return invalidParams
 11408  	}
 11409  	return nil
 11410  }
 11411  
 11412  // SetClientToken sets the ClientToken field's value.
 11413  func (s *DeletePortalInput) SetClientToken(v string) *DeletePortalInput {
 11414  	s.ClientToken = &v
 11415  	return s
 11416  }
 11417  
 11418  // SetPortalId sets the PortalId field's value.
 11419  func (s *DeletePortalInput) SetPortalId(v string) *DeletePortalInput {
 11420  	s.PortalId = &v
 11421  	return s
 11422  }
 11423  
 11424  type DeletePortalOutput struct {
 11425  	_ struct{} `type:"structure"`
 11426  
 11427  	// The status of the portal, which contains a state (DELETING after successfully
 11428  	// calling this operation) and any error message.
 11429  	//
 11430  	// PortalStatus is a required field
 11431  	PortalStatus *PortalStatus `locationName:"portalStatus" type:"structure" required:"true"`
 11432  }
 11433  
 11434  // String returns the string representation.
 11435  //
 11436  // API parameter values that are decorated as "sensitive" in the API will not
 11437  // be included in the string output. The member name will be present, but the
 11438  // value will be replaced with "sensitive".
 11439  func (s DeletePortalOutput) String() string {
 11440  	return awsutil.Prettify(s)
 11441  }
 11442  
 11443  // GoString returns the string representation.
 11444  //
 11445  // API parameter values that are decorated as "sensitive" in the API will not
 11446  // be included in the string output. The member name will be present, but the
 11447  // value will be replaced with "sensitive".
 11448  func (s DeletePortalOutput) GoString() string {
 11449  	return s.String()
 11450  }
 11451  
 11452  // SetPortalStatus sets the PortalStatus field's value.
 11453  func (s *DeletePortalOutput) SetPortalStatus(v *PortalStatus) *DeletePortalOutput {
 11454  	s.PortalStatus = v
 11455  	return s
 11456  }
 11457  
 11458  type DeleteProjectInput struct {
 11459  	_ struct{} `type:"structure" nopayload:"true"`
 11460  
 11461  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
 11462  	// of the request. Don't reuse this client token if a new idempotent request
 11463  	// is required.
 11464  	ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
 11465  
 11466  	// The ID of the project.
 11467  	//
 11468  	// ProjectId is a required field
 11469  	ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"`
 11470  }
 11471  
 11472  // String returns the string representation.
 11473  //
 11474  // API parameter values that are decorated as "sensitive" in the API will not
 11475  // be included in the string output. The member name will be present, but the
 11476  // value will be replaced with "sensitive".
 11477  func (s DeleteProjectInput) String() string {
 11478  	return awsutil.Prettify(s)
 11479  }
 11480  
 11481  // GoString returns the string representation.
 11482  //
 11483  // API parameter values that are decorated as "sensitive" in the API will not
 11484  // be included in the string output. The member name will be present, but the
 11485  // value will be replaced with "sensitive".
 11486  func (s DeleteProjectInput) GoString() string {
 11487  	return s.String()
 11488  }
 11489  
 11490  // Validate inspects the fields of the type to determine if they are valid.
 11491  func (s *DeleteProjectInput) Validate() error {
 11492  	invalidParams := request.ErrInvalidParams{Context: "DeleteProjectInput"}
 11493  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
 11494  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
 11495  	}
 11496  	if s.ProjectId == nil {
 11497  		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
 11498  	}
 11499  	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
 11500  		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
 11501  	}
 11502  
 11503  	if invalidParams.Len() > 0 {
 11504  		return invalidParams
 11505  	}
 11506  	return nil
 11507  }
 11508  
 11509  // SetClientToken sets the ClientToken field's value.
 11510  func (s *DeleteProjectInput) SetClientToken(v string) *DeleteProjectInput {
 11511  	s.ClientToken = &v
 11512  	return s
 11513  }
 11514  
 11515  // SetProjectId sets the ProjectId field's value.
 11516  func (s *DeleteProjectInput) SetProjectId(v string) *DeleteProjectInput {
 11517  	s.ProjectId = &v
 11518  	return s
 11519  }
 11520  
 11521  type DeleteProjectOutput struct {
 11522  	_ struct{} `type:"structure" nopayload:"true"`
 11523  }
 11524  
 11525  // String returns the string representation.
 11526  //
 11527  // API parameter values that are decorated as "sensitive" in the API will not
 11528  // be included in the string output. The member name will be present, but the
 11529  // value will be replaced with "sensitive".
 11530  func (s DeleteProjectOutput) String() string {
 11531  	return awsutil.Prettify(s)
 11532  }
 11533  
 11534  // GoString returns the string representation.
 11535  //
 11536  // API parameter values that are decorated as "sensitive" in the API will not
 11537  // be included in the string output. The member name will be present, but the
 11538  // value will be replaced with "sensitive".
 11539  func (s DeleteProjectOutput) GoString() string {
 11540  	return s.String()
 11541  }
 11542  
 11543  type DescribeAccessPolicyInput struct {
 11544  	_ struct{} `type:"structure" nopayload:"true"`
 11545  
 11546  	// The ID of the access policy.
 11547  	//
 11548  	// AccessPolicyId is a required field
 11549  	AccessPolicyId *string `location:"uri" locationName:"accessPolicyId" min:"36" type:"string" required:"true"`
 11550  }
 11551  
 11552  // String returns the string representation.
 11553  //
 11554  // API parameter values that are decorated as "sensitive" in the API will not
 11555  // be included in the string output. The member name will be present, but the
 11556  // value will be replaced with "sensitive".
 11557  func (s DescribeAccessPolicyInput) String() string {
 11558  	return awsutil.Prettify(s)
 11559  }
 11560  
 11561  // GoString returns the string representation.
 11562  //
 11563  // API parameter values that are decorated as "sensitive" in the API will not
 11564  // be included in the string output. The member name will be present, but the
 11565  // value will be replaced with "sensitive".
 11566  func (s DescribeAccessPolicyInput) GoString() string {
 11567  	return s.String()
 11568  }
 11569  
 11570  // Validate inspects the fields of the type to determine if they are valid.
 11571  func (s *DescribeAccessPolicyInput) Validate() error {
 11572  	invalidParams := request.ErrInvalidParams{Context: "DescribeAccessPolicyInput"}
 11573  	if s.AccessPolicyId == nil {
 11574  		invalidParams.Add(request.NewErrParamRequired("AccessPolicyId"))
 11575  	}
 11576  	if s.AccessPolicyId != nil && len(*s.AccessPolicyId) < 36 {
 11577  		invalidParams.Add(request.NewErrParamMinLen("AccessPolicyId", 36))
 11578  	}
 11579  
 11580  	if invalidParams.Len() > 0 {
 11581  		return invalidParams
 11582  	}
 11583  	return nil
 11584  }
 11585  
 11586  // SetAccessPolicyId sets the AccessPolicyId field's value.
 11587  func (s *DescribeAccessPolicyInput) SetAccessPolicyId(v string) *DescribeAccessPolicyInput {
 11588  	s.AccessPolicyId = &v
 11589  	return s
 11590  }
 11591  
 11592  type DescribeAccessPolicyOutput struct {
 11593  	_ struct{} `type:"structure"`
 11594  
 11595  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 11596  	// of the access policy, which has the following format.
 11597  	//
 11598  	// arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy/${AccessPolicyId}
 11599  	//
 11600  	// AccessPolicyArn is a required field
 11601  	AccessPolicyArn *string `locationName:"accessPolicyArn" min:"1" type:"string" required:"true"`
 11602  
 11603  	// The date the access policy was created, in Unix epoch time.
 11604  	//
 11605  	// AccessPolicyCreationDate is a required field
 11606  	AccessPolicyCreationDate *time.Time `locationName:"accessPolicyCreationDate" type:"timestamp" required:"true"`
 11607  
 11608  	// The ID of the access policy.
 11609  	//
 11610  	// AccessPolicyId is a required field
 11611  	AccessPolicyId *string `locationName:"accessPolicyId" min:"36" type:"string" required:"true"`
 11612  
 11613  	// The identity (Amazon Web Services SSO user, Amazon Web Services SSO group,
 11614  	// or IAM user) to which this access policy applies.
 11615  	//
 11616  	// AccessPolicyIdentity is a required field
 11617  	AccessPolicyIdentity *Identity `locationName:"accessPolicyIdentity" type:"structure" required:"true"`
 11618  
 11619  	// The date the access policy was last updated, in Unix epoch time.
 11620  	//
 11621  	// AccessPolicyLastUpdateDate is a required field
 11622  	AccessPolicyLastUpdateDate *time.Time `locationName:"accessPolicyLastUpdateDate" type:"timestamp" required:"true"`
 11623  
 11624  	// The access policy permission. Note that a project ADMINISTRATOR is also known
 11625  	// as a project owner.
 11626  	//
 11627  	// AccessPolicyPermission is a required field
 11628  	AccessPolicyPermission *string `locationName:"accessPolicyPermission" type:"string" required:"true" enum:"Permission"`
 11629  
 11630  	// The IoT SiteWise Monitor resource (portal or project) to which this access
 11631  	// policy provides access.
 11632  	//
 11633  	// AccessPolicyResource is a required field
 11634  	AccessPolicyResource *Resource `locationName:"accessPolicyResource" type:"structure" required:"true"`
 11635  }
 11636  
 11637  // String returns the string representation.
 11638  //
 11639  // API parameter values that are decorated as "sensitive" in the API will not
 11640  // be included in the string output. The member name will be present, but the
 11641  // value will be replaced with "sensitive".
 11642  func (s DescribeAccessPolicyOutput) String() string {
 11643  	return awsutil.Prettify(s)
 11644  }
 11645  
 11646  // GoString returns the string representation.
 11647  //
 11648  // API parameter values that are decorated as "sensitive" in the API will not
 11649  // be included in the string output. The member name will be present, but the
 11650  // value will be replaced with "sensitive".
 11651  func (s DescribeAccessPolicyOutput) GoString() string {
 11652  	return s.String()
 11653  }
 11654  
 11655  // SetAccessPolicyArn sets the AccessPolicyArn field's value.
 11656  func (s *DescribeAccessPolicyOutput) SetAccessPolicyArn(v string) *DescribeAccessPolicyOutput {
 11657  	s.AccessPolicyArn = &v
 11658  	return s
 11659  }
 11660  
 11661  // SetAccessPolicyCreationDate sets the AccessPolicyCreationDate field's value.
 11662  func (s *DescribeAccessPolicyOutput) SetAccessPolicyCreationDate(v time.Time) *DescribeAccessPolicyOutput {
 11663  	s.AccessPolicyCreationDate = &v
 11664  	return s
 11665  }
 11666  
 11667  // SetAccessPolicyId sets the AccessPolicyId field's value.
 11668  func (s *DescribeAccessPolicyOutput) SetAccessPolicyId(v string) *DescribeAccessPolicyOutput {
 11669  	s.AccessPolicyId = &v
 11670  	return s
 11671  }
 11672  
 11673  // SetAccessPolicyIdentity sets the AccessPolicyIdentity field's value.
 11674  func (s *DescribeAccessPolicyOutput) SetAccessPolicyIdentity(v *Identity) *DescribeAccessPolicyOutput {
 11675  	s.AccessPolicyIdentity = v
 11676  	return s
 11677  }
 11678  
 11679  // SetAccessPolicyLastUpdateDate sets the AccessPolicyLastUpdateDate field's value.
 11680  func (s *DescribeAccessPolicyOutput) SetAccessPolicyLastUpdateDate(v time.Time) *DescribeAccessPolicyOutput {
 11681  	s.AccessPolicyLastUpdateDate = &v
 11682  	return s
 11683  }
 11684  
 11685  // SetAccessPolicyPermission sets the AccessPolicyPermission field's value.
 11686  func (s *DescribeAccessPolicyOutput) SetAccessPolicyPermission(v string) *DescribeAccessPolicyOutput {
 11687  	s.AccessPolicyPermission = &v
 11688  	return s
 11689  }
 11690  
 11691  // SetAccessPolicyResource sets the AccessPolicyResource field's value.
 11692  func (s *DescribeAccessPolicyOutput) SetAccessPolicyResource(v *Resource) *DescribeAccessPolicyOutput {
 11693  	s.AccessPolicyResource = v
 11694  	return s
 11695  }
 11696  
 11697  type DescribeAssetInput struct {
 11698  	_ struct{} `type:"structure" nopayload:"true"`
 11699  
 11700  	// The ID of the asset.
 11701  	//
 11702  	// AssetId is a required field
 11703  	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
 11704  }
 11705  
 11706  // String returns the string representation.
 11707  //
 11708  // API parameter values that are decorated as "sensitive" in the API will not
 11709  // be included in the string output. The member name will be present, but the
 11710  // value will be replaced with "sensitive".
 11711  func (s DescribeAssetInput) String() string {
 11712  	return awsutil.Prettify(s)
 11713  }
 11714  
 11715  // GoString returns the string representation.
 11716  //
 11717  // API parameter values that are decorated as "sensitive" in the API will not
 11718  // be included in the string output. The member name will be present, but the
 11719  // value will be replaced with "sensitive".
 11720  func (s DescribeAssetInput) GoString() string {
 11721  	return s.String()
 11722  }
 11723  
 11724  // Validate inspects the fields of the type to determine if they are valid.
 11725  func (s *DescribeAssetInput) Validate() error {
 11726  	invalidParams := request.ErrInvalidParams{Context: "DescribeAssetInput"}
 11727  	if s.AssetId == nil {
 11728  		invalidParams.Add(request.NewErrParamRequired("AssetId"))
 11729  	}
 11730  	if s.AssetId != nil && len(*s.AssetId) < 36 {
 11731  		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
 11732  	}
 11733  
 11734  	if invalidParams.Len() > 0 {
 11735  		return invalidParams
 11736  	}
 11737  	return nil
 11738  }
 11739  
 11740  // SetAssetId sets the AssetId field's value.
 11741  func (s *DescribeAssetInput) SetAssetId(v string) *DescribeAssetInput {
 11742  	s.AssetId = &v
 11743  	return s
 11744  }
 11745  
 11746  type DescribeAssetModelInput struct {
 11747  	_ struct{} `type:"structure" nopayload:"true"`
 11748  
 11749  	// The ID of the asset model.
 11750  	//
 11751  	// AssetModelId is a required field
 11752  	AssetModelId *string `location:"uri" locationName:"assetModelId" min:"36" type:"string" required:"true"`
 11753  }
 11754  
 11755  // String returns the string representation.
 11756  //
 11757  // API parameter values that are decorated as "sensitive" in the API will not
 11758  // be included in the string output. The member name will be present, but the
 11759  // value will be replaced with "sensitive".
 11760  func (s DescribeAssetModelInput) String() string {
 11761  	return awsutil.Prettify(s)
 11762  }
 11763  
 11764  // GoString returns the string representation.
 11765  //
 11766  // API parameter values that are decorated as "sensitive" in the API will not
 11767  // be included in the string output. The member name will be present, but the
 11768  // value will be replaced with "sensitive".
 11769  func (s DescribeAssetModelInput) GoString() string {
 11770  	return s.String()
 11771  }
 11772  
 11773  // Validate inspects the fields of the type to determine if they are valid.
 11774  func (s *DescribeAssetModelInput) Validate() error {
 11775  	invalidParams := request.ErrInvalidParams{Context: "DescribeAssetModelInput"}
 11776  	if s.AssetModelId == nil {
 11777  		invalidParams.Add(request.NewErrParamRequired("AssetModelId"))
 11778  	}
 11779  	if s.AssetModelId != nil && len(*s.AssetModelId) < 36 {
 11780  		invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36))
 11781  	}
 11782  
 11783  	if invalidParams.Len() > 0 {
 11784  		return invalidParams
 11785  	}
 11786  	return nil
 11787  }
 11788  
 11789  // SetAssetModelId sets the AssetModelId field's value.
 11790  func (s *DescribeAssetModelInput) SetAssetModelId(v string) *DescribeAssetModelInput {
 11791  	s.AssetModelId = &v
 11792  	return s
 11793  }
 11794  
 11795  type DescribeAssetModelOutput struct {
 11796  	_ struct{} `type:"structure"`
 11797  
 11798  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 11799  	// of the asset model, which has the following format.
 11800  	//
 11801  	// arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId}
 11802  	//
 11803  	// AssetModelArn is a required field
 11804  	AssetModelArn *string `locationName:"assetModelArn" min:"1" type:"string" required:"true"`
 11805  
 11806  	// The list of composite asset models for the asset model.
 11807  	AssetModelCompositeModels []*AssetModelCompositeModel `locationName:"assetModelCompositeModels" type:"list"`
 11808  
 11809  	// The date the asset model was created, in Unix epoch time.
 11810  	//
 11811  	// AssetModelCreationDate is a required field
 11812  	AssetModelCreationDate *time.Time `locationName:"assetModelCreationDate" type:"timestamp" required:"true"`
 11813  
 11814  	// The asset model's description.
 11815  	//
 11816  	// AssetModelDescription is a required field
 11817  	AssetModelDescription *string `locationName:"assetModelDescription" min:"1" type:"string" required:"true"`
 11818  
 11819  	// A list of asset model hierarchies that each contain a childAssetModelId and
 11820  	// a hierarchyId (named id). A hierarchy specifies allowed parent/child asset
 11821  	// relationships for an asset model.
 11822  	//
 11823  	// AssetModelHierarchies is a required field
 11824  	AssetModelHierarchies []*AssetModelHierarchy `locationName:"assetModelHierarchies" type:"list" required:"true"`
 11825  
 11826  	// The ID of the asset model.
 11827  	//
 11828  	// AssetModelId is a required field
 11829  	AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"`
 11830  
 11831  	// The date the asset model was last updated, in Unix epoch time.
 11832  	//
 11833  	// AssetModelLastUpdateDate is a required field
 11834  	AssetModelLastUpdateDate *time.Time `locationName:"assetModelLastUpdateDate" type:"timestamp" required:"true"`
 11835  
 11836  	// The name of the asset model.
 11837  	//
 11838  	// AssetModelName is a required field
 11839  	AssetModelName *string `locationName:"assetModelName" min:"1" type:"string" required:"true"`
 11840  
 11841  	// The list of asset properties for the asset model.
 11842  	//
 11843  	// This object doesn't include properties that you define in composite models.
 11844  	// You can find composite model properties in the assetModelCompositeModels
 11845  	// object.
 11846  	//
 11847  	// AssetModelProperties is a required field
 11848  	AssetModelProperties []*AssetModelProperty `locationName:"assetModelProperties" type:"list" required:"true"`
 11849  
 11850  	// The current status of the asset model, which contains a state and any error
 11851  	// message.
 11852  	//
 11853  	// AssetModelStatus is a required field
 11854  	AssetModelStatus *AssetModelStatus `locationName:"assetModelStatus" type:"structure" required:"true"`
 11855  }
 11856  
 11857  // String returns the string representation.
 11858  //
 11859  // API parameter values that are decorated as "sensitive" in the API will not
 11860  // be included in the string output. The member name will be present, but the
 11861  // value will be replaced with "sensitive".
 11862  func (s DescribeAssetModelOutput) String() string {
 11863  	return awsutil.Prettify(s)
 11864  }
 11865  
 11866  // GoString returns the string representation.
 11867  //
 11868  // API parameter values that are decorated as "sensitive" in the API will not
 11869  // be included in the string output. The member name will be present, but the
 11870  // value will be replaced with "sensitive".
 11871  func (s DescribeAssetModelOutput) GoString() string {
 11872  	return s.String()
 11873  }
 11874  
 11875  // SetAssetModelArn sets the AssetModelArn field's value.
 11876  func (s *DescribeAssetModelOutput) SetAssetModelArn(v string) *DescribeAssetModelOutput {
 11877  	s.AssetModelArn = &v
 11878  	return s
 11879  }
 11880  
 11881  // SetAssetModelCompositeModels sets the AssetModelCompositeModels field's value.
 11882  func (s *DescribeAssetModelOutput) SetAssetModelCompositeModels(v []*AssetModelCompositeModel) *DescribeAssetModelOutput {
 11883  	s.AssetModelCompositeModels = v
 11884  	return s
 11885  }
 11886  
 11887  // SetAssetModelCreationDate sets the AssetModelCreationDate field's value.
 11888  func (s *DescribeAssetModelOutput) SetAssetModelCreationDate(v time.Time) *DescribeAssetModelOutput {
 11889  	s.AssetModelCreationDate = &v
 11890  	return s
 11891  }
 11892  
 11893  // SetAssetModelDescription sets the AssetModelDescription field's value.
 11894  func (s *DescribeAssetModelOutput) SetAssetModelDescription(v string) *DescribeAssetModelOutput {
 11895  	s.AssetModelDescription = &v
 11896  	return s
 11897  }
 11898  
 11899  // SetAssetModelHierarchies sets the AssetModelHierarchies field's value.
 11900  func (s *DescribeAssetModelOutput) SetAssetModelHierarchies(v []*AssetModelHierarchy) *DescribeAssetModelOutput {
 11901  	s.AssetModelHierarchies = v
 11902  	return s
 11903  }
 11904  
 11905  // SetAssetModelId sets the AssetModelId field's value.
 11906  func (s *DescribeAssetModelOutput) SetAssetModelId(v string) *DescribeAssetModelOutput {
 11907  	s.AssetModelId = &v
 11908  	return s
 11909  }
 11910  
 11911  // SetAssetModelLastUpdateDate sets the AssetModelLastUpdateDate field's value.
 11912  func (s *DescribeAssetModelOutput) SetAssetModelLastUpdateDate(v time.Time) *DescribeAssetModelOutput {
 11913  	s.AssetModelLastUpdateDate = &v
 11914  	return s
 11915  }
 11916  
 11917  // SetAssetModelName sets the AssetModelName field's value.
 11918  func (s *DescribeAssetModelOutput) SetAssetModelName(v string) *DescribeAssetModelOutput {
 11919  	s.AssetModelName = &v
 11920  	return s
 11921  }
 11922  
 11923  // SetAssetModelProperties sets the AssetModelProperties field's value.
 11924  func (s *DescribeAssetModelOutput) SetAssetModelProperties(v []*AssetModelProperty) *DescribeAssetModelOutput {
 11925  	s.AssetModelProperties = v
 11926  	return s
 11927  }
 11928  
 11929  // SetAssetModelStatus sets the AssetModelStatus field's value.
 11930  func (s *DescribeAssetModelOutput) SetAssetModelStatus(v *AssetModelStatus) *DescribeAssetModelOutput {
 11931  	s.AssetModelStatus = v
 11932  	return s
 11933  }
 11934  
 11935  type DescribeAssetOutput struct {
 11936  	_ struct{} `type:"structure"`
 11937  
 11938  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 11939  	// of the asset, which has the following format.
 11940  	//
 11941  	// arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}
 11942  	//
 11943  	// AssetArn is a required field
 11944  	AssetArn *string `locationName:"assetArn" min:"1" type:"string" required:"true"`
 11945  
 11946  	// The composite models for the asset.
 11947  	AssetCompositeModels []*AssetCompositeModel `locationName:"assetCompositeModels" type:"list"`
 11948  
 11949  	// The date the asset was created, in Unix epoch time.
 11950  	//
 11951  	// AssetCreationDate is a required field
 11952  	AssetCreationDate *time.Time `locationName:"assetCreationDate" type:"timestamp" required:"true"`
 11953  
 11954  	// A list of asset hierarchies that each contain a hierarchyId. A hierarchy
 11955  	// specifies allowed parent/child asset relationships.
 11956  	//
 11957  	// AssetHierarchies is a required field
 11958  	AssetHierarchies []*AssetHierarchy `locationName:"assetHierarchies" type:"list" required:"true"`
 11959  
 11960  	// The ID of the asset.
 11961  	//
 11962  	// AssetId is a required field
 11963  	AssetId *string `locationName:"assetId" min:"36" type:"string" required:"true"`
 11964  
 11965  	// The date the asset was last updated, in Unix epoch time.
 11966  	//
 11967  	// AssetLastUpdateDate is a required field
 11968  	AssetLastUpdateDate *time.Time `locationName:"assetLastUpdateDate" type:"timestamp" required:"true"`
 11969  
 11970  	// The ID of the asset model that was used to create the asset.
 11971  	//
 11972  	// AssetModelId is a required field
 11973  	AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"`
 11974  
 11975  	// The name of the asset.
 11976  	//
 11977  	// AssetName is a required field
 11978  	AssetName *string `locationName:"assetName" min:"1" type:"string" required:"true"`
 11979  
 11980  	// The list of asset properties for the asset.
 11981  	//
 11982  	// This object doesn't include properties that you define in composite models.
 11983  	// You can find composite model properties in the assetCompositeModels object.
 11984  	//
 11985  	// AssetProperties is a required field
 11986  	AssetProperties []*AssetProperty `locationName:"assetProperties" type:"list" required:"true"`
 11987  
 11988  	// The current status of the asset, which contains a state and any error message.
 11989  	//
 11990  	// AssetStatus is a required field
 11991  	AssetStatus *AssetStatus `locationName:"assetStatus" type:"structure" required:"true"`
 11992  }
 11993  
 11994  // String returns the string representation.
 11995  //
 11996  // API parameter values that are decorated as "sensitive" in the API will not
 11997  // be included in the string output. The member name will be present, but the
 11998  // value will be replaced with "sensitive".
 11999  func (s DescribeAssetOutput) String() string {
 12000  	return awsutil.Prettify(s)
 12001  }
 12002  
 12003  // GoString returns the string representation.
 12004  //
 12005  // API parameter values that are decorated as "sensitive" in the API will not
 12006  // be included in the string output. The member name will be present, but the
 12007  // value will be replaced with "sensitive".
 12008  func (s DescribeAssetOutput) GoString() string {
 12009  	return s.String()
 12010  }
 12011  
 12012  // SetAssetArn sets the AssetArn field's value.
 12013  func (s *DescribeAssetOutput) SetAssetArn(v string) *DescribeAssetOutput {
 12014  	s.AssetArn = &v
 12015  	return s
 12016  }
 12017  
 12018  // SetAssetCompositeModels sets the AssetCompositeModels field's value.
 12019  func (s *DescribeAssetOutput) SetAssetCompositeModels(v []*AssetCompositeModel) *DescribeAssetOutput {
 12020  	s.AssetCompositeModels = v
 12021  	return s
 12022  }
 12023  
 12024  // SetAssetCreationDate sets the AssetCreationDate field's value.
 12025  func (s *DescribeAssetOutput) SetAssetCreationDate(v time.Time) *DescribeAssetOutput {
 12026  	s.AssetCreationDate = &v
 12027  	return s
 12028  }
 12029  
 12030  // SetAssetHierarchies sets the AssetHierarchies field's value.
 12031  func (s *DescribeAssetOutput) SetAssetHierarchies(v []*AssetHierarchy) *DescribeAssetOutput {
 12032  	s.AssetHierarchies = v
 12033  	return s
 12034  }
 12035  
 12036  // SetAssetId sets the AssetId field's value.
 12037  func (s *DescribeAssetOutput) SetAssetId(v string) *DescribeAssetOutput {
 12038  	s.AssetId = &v
 12039  	return s
 12040  }
 12041  
 12042  // SetAssetLastUpdateDate sets the AssetLastUpdateDate field's value.
 12043  func (s *DescribeAssetOutput) SetAssetLastUpdateDate(v time.Time) *DescribeAssetOutput {
 12044  	s.AssetLastUpdateDate = &v
 12045  	return s
 12046  }
 12047  
 12048  // SetAssetModelId sets the AssetModelId field's value.
 12049  func (s *DescribeAssetOutput) SetAssetModelId(v string) *DescribeAssetOutput {
 12050  	s.AssetModelId = &v
 12051  	return s
 12052  }
 12053  
 12054  // SetAssetName sets the AssetName field's value.
 12055  func (s *DescribeAssetOutput) SetAssetName(v string) *DescribeAssetOutput {
 12056  	s.AssetName = &v
 12057  	return s
 12058  }
 12059  
 12060  // SetAssetProperties sets the AssetProperties field's value.
 12061  func (s *DescribeAssetOutput) SetAssetProperties(v []*AssetProperty) *DescribeAssetOutput {
 12062  	s.AssetProperties = v
 12063  	return s
 12064  }
 12065  
 12066  // SetAssetStatus sets the AssetStatus field's value.
 12067  func (s *DescribeAssetOutput) SetAssetStatus(v *AssetStatus) *DescribeAssetOutput {
 12068  	s.AssetStatus = v
 12069  	return s
 12070  }
 12071  
 12072  type DescribeAssetPropertyInput struct {
 12073  	_ struct{} `type:"structure" nopayload:"true"`
 12074  
 12075  	// The ID of the asset.
 12076  	//
 12077  	// AssetId is a required field
 12078  	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
 12079  
 12080  	// The ID of the asset property.
 12081  	//
 12082  	// PropertyId is a required field
 12083  	PropertyId *string `location:"uri" locationName:"propertyId" min:"36" type:"string" required:"true"`
 12084  }
 12085  
 12086  // String returns the string representation.
 12087  //
 12088  // API parameter values that are decorated as "sensitive" in the API will not
 12089  // be included in the string output. The member name will be present, but the
 12090  // value will be replaced with "sensitive".
 12091  func (s DescribeAssetPropertyInput) String() string {
 12092  	return awsutil.Prettify(s)
 12093  }
 12094  
 12095  // GoString returns the string representation.
 12096  //
 12097  // API parameter values that are decorated as "sensitive" in the API will not
 12098  // be included in the string output. The member name will be present, but the
 12099  // value will be replaced with "sensitive".
 12100  func (s DescribeAssetPropertyInput) GoString() string {
 12101  	return s.String()
 12102  }
 12103  
 12104  // Validate inspects the fields of the type to determine if they are valid.
 12105  func (s *DescribeAssetPropertyInput) Validate() error {
 12106  	invalidParams := request.ErrInvalidParams{Context: "DescribeAssetPropertyInput"}
 12107  	if s.AssetId == nil {
 12108  		invalidParams.Add(request.NewErrParamRequired("AssetId"))
 12109  	}
 12110  	if s.AssetId != nil && len(*s.AssetId) < 36 {
 12111  		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
 12112  	}
 12113  	if s.PropertyId == nil {
 12114  		invalidParams.Add(request.NewErrParamRequired("PropertyId"))
 12115  	}
 12116  	if s.PropertyId != nil && len(*s.PropertyId) < 36 {
 12117  		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36))
 12118  	}
 12119  
 12120  	if invalidParams.Len() > 0 {
 12121  		return invalidParams
 12122  	}
 12123  	return nil
 12124  }
 12125  
 12126  // SetAssetId sets the AssetId field's value.
 12127  func (s *DescribeAssetPropertyInput) SetAssetId(v string) *DescribeAssetPropertyInput {
 12128  	s.AssetId = &v
 12129  	return s
 12130  }
 12131  
 12132  // SetPropertyId sets the PropertyId field's value.
 12133  func (s *DescribeAssetPropertyInput) SetPropertyId(v string) *DescribeAssetPropertyInput {
 12134  	s.PropertyId = &v
 12135  	return s
 12136  }
 12137  
 12138  type DescribeAssetPropertyOutput struct {
 12139  	_ struct{} `type:"structure"`
 12140  
 12141  	// The ID of the asset.
 12142  	//
 12143  	// AssetId is a required field
 12144  	AssetId *string `locationName:"assetId" min:"36" type:"string" required:"true"`
 12145  
 12146  	// The ID of the asset model.
 12147  	//
 12148  	// AssetModelId is a required field
 12149  	AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"`
 12150  
 12151  	// The name of the asset.
 12152  	//
 12153  	// AssetName is a required field
 12154  	AssetName *string `locationName:"assetName" min:"1" type:"string" required:"true"`
 12155  
 12156  	// The asset property's definition, alias, and notification state.
 12157  	//
 12158  	// This response includes this object for normal asset properties. If you describe
 12159  	// an asset property in a composite model, this response includes the asset
 12160  	// property information in compositeModel.
 12161  	AssetProperty *Property `locationName:"assetProperty" type:"structure"`
 12162  
 12163  	// The composite asset model that declares this asset property, if this asset
 12164  	// property exists in a composite model.
 12165  	CompositeModel *CompositeModelProperty `locationName:"compositeModel" type:"structure"`
 12166  }
 12167  
 12168  // String returns the string representation.
 12169  //
 12170  // API parameter values that are decorated as "sensitive" in the API will not
 12171  // be included in the string output. The member name will be present, but the
 12172  // value will be replaced with "sensitive".
 12173  func (s DescribeAssetPropertyOutput) String() string {
 12174  	return awsutil.Prettify(s)
 12175  }
 12176  
 12177  // GoString returns the string representation.
 12178  //
 12179  // API parameter values that are decorated as "sensitive" in the API will not
 12180  // be included in the string output. The member name will be present, but the
 12181  // value will be replaced with "sensitive".
 12182  func (s DescribeAssetPropertyOutput) GoString() string {
 12183  	return s.String()
 12184  }
 12185  
 12186  // SetAssetId sets the AssetId field's value.
 12187  func (s *DescribeAssetPropertyOutput) SetAssetId(v string) *DescribeAssetPropertyOutput {
 12188  	s.AssetId = &v
 12189  	return s
 12190  }
 12191  
 12192  // SetAssetModelId sets the AssetModelId field's value.
 12193  func (s *DescribeAssetPropertyOutput) SetAssetModelId(v string) *DescribeAssetPropertyOutput {
 12194  	s.AssetModelId = &v
 12195  	return s
 12196  }
 12197  
 12198  // SetAssetName sets the AssetName field's value.
 12199  func (s *DescribeAssetPropertyOutput) SetAssetName(v string) *DescribeAssetPropertyOutput {
 12200  	s.AssetName = &v
 12201  	return s
 12202  }
 12203  
 12204  // SetAssetProperty sets the AssetProperty field's value.
 12205  func (s *DescribeAssetPropertyOutput) SetAssetProperty(v *Property) *DescribeAssetPropertyOutput {
 12206  	s.AssetProperty = v
 12207  	return s
 12208  }
 12209  
 12210  // SetCompositeModel sets the CompositeModel field's value.
 12211  func (s *DescribeAssetPropertyOutput) SetCompositeModel(v *CompositeModelProperty) *DescribeAssetPropertyOutput {
 12212  	s.CompositeModel = v
 12213  	return s
 12214  }
 12215  
 12216  type DescribeDashboardInput struct {
 12217  	_ struct{} `type:"structure" nopayload:"true"`
 12218  
 12219  	// The ID of the dashboard.
 12220  	//
 12221  	// DashboardId is a required field
 12222  	DashboardId *string `location:"uri" locationName:"dashboardId" min:"36" type:"string" required:"true"`
 12223  }
 12224  
 12225  // String returns the string representation.
 12226  //
 12227  // API parameter values that are decorated as "sensitive" in the API will not
 12228  // be included in the string output. The member name will be present, but the
 12229  // value will be replaced with "sensitive".
 12230  func (s DescribeDashboardInput) String() string {
 12231  	return awsutil.Prettify(s)
 12232  }
 12233  
 12234  // GoString returns the string representation.
 12235  //
 12236  // API parameter values that are decorated as "sensitive" in the API will not
 12237  // be included in the string output. The member name will be present, but the
 12238  // value will be replaced with "sensitive".
 12239  func (s DescribeDashboardInput) GoString() string {
 12240  	return s.String()
 12241  }
 12242  
 12243  // Validate inspects the fields of the type to determine if they are valid.
 12244  func (s *DescribeDashboardInput) Validate() error {
 12245  	invalidParams := request.ErrInvalidParams{Context: "DescribeDashboardInput"}
 12246  	if s.DashboardId == nil {
 12247  		invalidParams.Add(request.NewErrParamRequired("DashboardId"))
 12248  	}
 12249  	if s.DashboardId != nil && len(*s.DashboardId) < 36 {
 12250  		invalidParams.Add(request.NewErrParamMinLen("DashboardId", 36))
 12251  	}
 12252  
 12253  	if invalidParams.Len() > 0 {
 12254  		return invalidParams
 12255  	}
 12256  	return nil
 12257  }
 12258  
 12259  // SetDashboardId sets the DashboardId field's value.
 12260  func (s *DescribeDashboardInput) SetDashboardId(v string) *DescribeDashboardInput {
 12261  	s.DashboardId = &v
 12262  	return s
 12263  }
 12264  
 12265  type DescribeDashboardOutput struct {
 12266  	_ struct{} `type:"structure"`
 12267  
 12268  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 12269  	// of the dashboard, which has the following format.
 12270  	//
 12271  	// arn:${Partition}:iotsitewise:${Region}:${Account}:dashboard/${DashboardId}
 12272  	//
 12273  	// DashboardArn is a required field
 12274  	DashboardArn *string `locationName:"dashboardArn" min:"1" type:"string" required:"true"`
 12275  
 12276  	// The date the dashboard was created, in Unix epoch time.
 12277  	//
 12278  	// DashboardCreationDate is a required field
 12279  	DashboardCreationDate *time.Time `locationName:"dashboardCreationDate" type:"timestamp" required:"true"`
 12280  
 12281  	// The dashboard's definition JSON literal. For detailed information, see Creating
 12282  	// dashboards (CLI) (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html)
 12283  	// in the IoT SiteWise User Guide.
 12284  	//
 12285  	// DashboardDefinition is a required field
 12286  	DashboardDefinition *string `locationName:"dashboardDefinition" type:"string" required:"true"`
 12287  
 12288  	// The dashboard's description.
 12289  	DashboardDescription *string `locationName:"dashboardDescription" min:"1" type:"string"`
 12290  
 12291  	// The ID of the dashboard.
 12292  	//
 12293  	// DashboardId is a required field
 12294  	DashboardId *string `locationName:"dashboardId" min:"36" type:"string" required:"true"`
 12295  
 12296  	// The date the dashboard was last updated, in Unix epoch time.
 12297  	//
 12298  	// DashboardLastUpdateDate is a required field
 12299  	DashboardLastUpdateDate *time.Time `locationName:"dashboardLastUpdateDate" type:"timestamp" required:"true"`
 12300  
 12301  	// The name of the dashboard.
 12302  	//
 12303  	// DashboardName is a required field
 12304  	DashboardName *string `locationName:"dashboardName" min:"1" type:"string" required:"true"`
 12305  
 12306  	// The ID of the project that the dashboard is in.
 12307  	//
 12308  	// ProjectId is a required field
 12309  	ProjectId *string `locationName:"projectId" min:"36" type:"string" required:"true"`
 12310  }
 12311  
 12312  // String returns the string representation.
 12313  //
 12314  // API parameter values that are decorated as "sensitive" in the API will not
 12315  // be included in the string output. The member name will be present, but the
 12316  // value will be replaced with "sensitive".
 12317  func (s DescribeDashboardOutput) String() string {
 12318  	return awsutil.Prettify(s)
 12319  }
 12320  
 12321  // GoString returns the string representation.
 12322  //
 12323  // API parameter values that are decorated as "sensitive" in the API will not
 12324  // be included in the string output. The member name will be present, but the
 12325  // value will be replaced with "sensitive".
 12326  func (s DescribeDashboardOutput) GoString() string {
 12327  	return s.String()
 12328  }
 12329  
 12330  // SetDashboardArn sets the DashboardArn field's value.
 12331  func (s *DescribeDashboardOutput) SetDashboardArn(v string) *DescribeDashboardOutput {
 12332  	s.DashboardArn = &v
 12333  	return s
 12334  }
 12335  
 12336  // SetDashboardCreationDate sets the DashboardCreationDate field's value.
 12337  func (s *DescribeDashboardOutput) SetDashboardCreationDate(v time.Time) *DescribeDashboardOutput {
 12338  	s.DashboardCreationDate = &v
 12339  	return s
 12340  }
 12341  
 12342  // SetDashboardDefinition sets the DashboardDefinition field's value.
 12343  func (s *DescribeDashboardOutput) SetDashboardDefinition(v string) *DescribeDashboardOutput {
 12344  	s.DashboardDefinition = &v
 12345  	return s
 12346  }
 12347  
 12348  // SetDashboardDescription sets the DashboardDescription field's value.
 12349  func (s *DescribeDashboardOutput) SetDashboardDescription(v string) *DescribeDashboardOutput {
 12350  	s.DashboardDescription = &v
 12351  	return s
 12352  }
 12353  
 12354  // SetDashboardId sets the DashboardId field's value.
 12355  func (s *DescribeDashboardOutput) SetDashboardId(v string) *DescribeDashboardOutput {
 12356  	s.DashboardId = &v
 12357  	return s
 12358  }
 12359  
 12360  // SetDashboardLastUpdateDate sets the DashboardLastUpdateDate field's value.
 12361  func (s *DescribeDashboardOutput) SetDashboardLastUpdateDate(v time.Time) *DescribeDashboardOutput {
 12362  	s.DashboardLastUpdateDate = &v
 12363  	return s
 12364  }
 12365  
 12366  // SetDashboardName sets the DashboardName field's value.
 12367  func (s *DescribeDashboardOutput) SetDashboardName(v string) *DescribeDashboardOutput {
 12368  	s.DashboardName = &v
 12369  	return s
 12370  }
 12371  
 12372  // SetProjectId sets the ProjectId field's value.
 12373  func (s *DescribeDashboardOutput) SetProjectId(v string) *DescribeDashboardOutput {
 12374  	s.ProjectId = &v
 12375  	return s
 12376  }
 12377  
 12378  type DescribeDefaultEncryptionConfigurationInput struct {
 12379  	_ struct{} `type:"structure" nopayload:"true"`
 12380  }
 12381  
 12382  // String returns the string representation.
 12383  //
 12384  // API parameter values that are decorated as "sensitive" in the API will not
 12385  // be included in the string output. The member name will be present, but the
 12386  // value will be replaced with "sensitive".
 12387  func (s DescribeDefaultEncryptionConfigurationInput) String() string {
 12388  	return awsutil.Prettify(s)
 12389  }
 12390  
 12391  // GoString returns the string representation.
 12392  //
 12393  // API parameter values that are decorated as "sensitive" in the API will not
 12394  // be included in the string output. The member name will be present, but the
 12395  // value will be replaced with "sensitive".
 12396  func (s DescribeDefaultEncryptionConfigurationInput) GoString() string {
 12397  	return s.String()
 12398  }
 12399  
 12400  type DescribeDefaultEncryptionConfigurationOutput struct {
 12401  	_ struct{} `type:"structure"`
 12402  
 12403  	// The status of the account configuration. This contains the ConfigurationState.
 12404  	// If there's an error, it also contains the ErrorDetails.
 12405  	//
 12406  	// ConfigurationStatus is a required field
 12407  	ConfigurationStatus *ConfigurationStatus `locationName:"configurationStatus" type:"structure" required:"true"`
 12408  
 12409  	// The type of encryption used for the encryption configuration.
 12410  	//
 12411  	// EncryptionType is a required field
 12412  	EncryptionType *string `locationName:"encryptionType" type:"string" required:"true" enum:"EncryptionType"`
 12413  
 12414  	// The key ARN of the customer managed customer master key (CMK) used for KMS
 12415  	// encryption if you use KMS_BASED_ENCRYPTION.
 12416  	KmsKeyArn *string `locationName:"kmsKeyArn" min:"1" type:"string"`
 12417  }
 12418  
 12419  // String returns the string representation.
 12420  //
 12421  // API parameter values that are decorated as "sensitive" in the API will not
 12422  // be included in the string output. The member name will be present, but the
 12423  // value will be replaced with "sensitive".
 12424  func (s DescribeDefaultEncryptionConfigurationOutput) String() string {
 12425  	return awsutil.Prettify(s)
 12426  }
 12427  
 12428  // GoString returns the string representation.
 12429  //
 12430  // API parameter values that are decorated as "sensitive" in the API will not
 12431  // be included in the string output. The member name will be present, but the
 12432  // value will be replaced with "sensitive".
 12433  func (s DescribeDefaultEncryptionConfigurationOutput) GoString() string {
 12434  	return s.String()
 12435  }
 12436  
 12437  // SetConfigurationStatus sets the ConfigurationStatus field's value.
 12438  func (s *DescribeDefaultEncryptionConfigurationOutput) SetConfigurationStatus(v *ConfigurationStatus) *DescribeDefaultEncryptionConfigurationOutput {
 12439  	s.ConfigurationStatus = v
 12440  	return s
 12441  }
 12442  
 12443  // SetEncryptionType sets the EncryptionType field's value.
 12444  func (s *DescribeDefaultEncryptionConfigurationOutput) SetEncryptionType(v string) *DescribeDefaultEncryptionConfigurationOutput {
 12445  	s.EncryptionType = &v
 12446  	return s
 12447  }
 12448  
 12449  // SetKmsKeyArn sets the KmsKeyArn field's value.
 12450  func (s *DescribeDefaultEncryptionConfigurationOutput) SetKmsKeyArn(v string) *DescribeDefaultEncryptionConfigurationOutput {
 12451  	s.KmsKeyArn = &v
 12452  	return s
 12453  }
 12454  
 12455  type DescribeGatewayCapabilityConfigurationInput struct {
 12456  	_ struct{} `type:"structure" nopayload:"true"`
 12457  
 12458  	// The namespace of the capability configuration. For example, if you configure
 12459  	// OPC-UA sources from the IoT SiteWise console, your OPC-UA capability configuration
 12460  	// has the namespace iotsitewise:opcuacollector:version, where version is a
 12461  	// number such as 1.
 12462  	//
 12463  	// CapabilityNamespace is a required field
 12464  	CapabilityNamespace *string `location:"uri" locationName:"capabilityNamespace" min:"1" type:"string" required:"true"`
 12465  
 12466  	// The ID of the gateway that defines the capability configuration.
 12467  	//
 12468  	// GatewayId is a required field
 12469  	GatewayId *string `location:"uri" locationName:"gatewayId" min:"36" type:"string" required:"true"`
 12470  }
 12471  
 12472  // String returns the string representation.
 12473  //
 12474  // API parameter values that are decorated as "sensitive" in the API will not
 12475  // be included in the string output. The member name will be present, but the
 12476  // value will be replaced with "sensitive".
 12477  func (s DescribeGatewayCapabilityConfigurationInput) String() string {
 12478  	return awsutil.Prettify(s)
 12479  }
 12480  
 12481  // GoString returns the string representation.
 12482  //
 12483  // API parameter values that are decorated as "sensitive" in the API will not
 12484  // be included in the string output. The member name will be present, but the
 12485  // value will be replaced with "sensitive".
 12486  func (s DescribeGatewayCapabilityConfigurationInput) GoString() string {
 12487  	return s.String()
 12488  }
 12489  
 12490  // Validate inspects the fields of the type to determine if they are valid.
 12491  func (s *DescribeGatewayCapabilityConfigurationInput) Validate() error {
 12492  	invalidParams := request.ErrInvalidParams{Context: "DescribeGatewayCapabilityConfigurationInput"}
 12493  	if s.CapabilityNamespace == nil {
 12494  		invalidParams.Add(request.NewErrParamRequired("CapabilityNamespace"))
 12495  	}
 12496  	if s.CapabilityNamespace != nil && len(*s.CapabilityNamespace) < 1 {
 12497  		invalidParams.Add(request.NewErrParamMinLen("CapabilityNamespace", 1))
 12498  	}
 12499  	if s.GatewayId == nil {
 12500  		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
 12501  	}
 12502  	if s.GatewayId != nil && len(*s.GatewayId) < 36 {
 12503  		invalidParams.Add(request.NewErrParamMinLen("GatewayId", 36))
 12504  	}
 12505  
 12506  	if invalidParams.Len() > 0 {
 12507  		return invalidParams
 12508  	}
 12509  	return nil
 12510  }
 12511  
 12512  // SetCapabilityNamespace sets the CapabilityNamespace field's value.
 12513  func (s *DescribeGatewayCapabilityConfigurationInput) SetCapabilityNamespace(v string) *DescribeGatewayCapabilityConfigurationInput {
 12514  	s.CapabilityNamespace = &v
 12515  	return s
 12516  }
 12517  
 12518  // SetGatewayId sets the GatewayId field's value.
 12519  func (s *DescribeGatewayCapabilityConfigurationInput) SetGatewayId(v string) *DescribeGatewayCapabilityConfigurationInput {
 12520  	s.GatewayId = &v
 12521  	return s
 12522  }
 12523  
 12524  type DescribeGatewayCapabilityConfigurationOutput struct {
 12525  	_ struct{} `type:"structure"`
 12526  
 12527  	// The JSON document that defines the gateway capability's configuration. For
 12528  	// more information, see Configuring data sources (CLI) (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/configure-sources.html#configure-source-cli)
 12529  	// in the IoT SiteWise User Guide.
 12530  	//
 12531  	// CapabilityConfiguration is a required field
 12532  	CapabilityConfiguration *string `locationName:"capabilityConfiguration" min:"1" type:"string" required:"true"`
 12533  
 12534  	// The namespace of the gateway capability.
 12535  	//
 12536  	// CapabilityNamespace is a required field
 12537  	CapabilityNamespace *string `locationName:"capabilityNamespace" min:"1" type:"string" required:"true"`
 12538  
 12539  	// The synchronization status of the capability configuration. The sync status
 12540  	// can be one of the following:
 12541  	//
 12542  	//    * IN_SYNC – The gateway is running the capability configuration.
 12543  	//
 12544  	//    * OUT_OF_SYNC – The gateway hasn't received the capability configuration.
 12545  	//
 12546  	//    * SYNC_FAILED – The gateway rejected the capability configuration.
 12547  	//
 12548  	// CapabilitySyncStatus is a required field
 12549  	CapabilitySyncStatus *string `locationName:"capabilitySyncStatus" type:"string" required:"true" enum:"CapabilitySyncStatus"`
 12550  
 12551  	// The ID of the gateway that defines the capability configuration.
 12552  	//
 12553  	// GatewayId is a required field
 12554  	GatewayId *string `locationName:"gatewayId" min:"36" type:"string" required:"true"`
 12555  }
 12556  
 12557  // String returns the string representation.
 12558  //
 12559  // API parameter values that are decorated as "sensitive" in the API will not
 12560  // be included in the string output. The member name will be present, but the
 12561  // value will be replaced with "sensitive".
 12562  func (s DescribeGatewayCapabilityConfigurationOutput) String() string {
 12563  	return awsutil.Prettify(s)
 12564  }
 12565  
 12566  // GoString returns the string representation.
 12567  //
 12568  // API parameter values that are decorated as "sensitive" in the API will not
 12569  // be included in the string output. The member name will be present, but the
 12570  // value will be replaced with "sensitive".
 12571  func (s DescribeGatewayCapabilityConfigurationOutput) GoString() string {
 12572  	return s.String()
 12573  }
 12574  
 12575  // SetCapabilityConfiguration sets the CapabilityConfiguration field's value.
 12576  func (s *DescribeGatewayCapabilityConfigurationOutput) SetCapabilityConfiguration(v string) *DescribeGatewayCapabilityConfigurationOutput {
 12577  	s.CapabilityConfiguration = &v
 12578  	return s
 12579  }
 12580  
 12581  // SetCapabilityNamespace sets the CapabilityNamespace field's value.
 12582  func (s *DescribeGatewayCapabilityConfigurationOutput) SetCapabilityNamespace(v string) *DescribeGatewayCapabilityConfigurationOutput {
 12583  	s.CapabilityNamespace = &v
 12584  	return s
 12585  }
 12586  
 12587  // SetCapabilitySyncStatus sets the CapabilitySyncStatus field's value.
 12588  func (s *DescribeGatewayCapabilityConfigurationOutput) SetCapabilitySyncStatus(v string) *DescribeGatewayCapabilityConfigurationOutput {
 12589  	s.CapabilitySyncStatus = &v
 12590  	return s
 12591  }
 12592  
 12593  // SetGatewayId sets the GatewayId field's value.
 12594  func (s *DescribeGatewayCapabilityConfigurationOutput) SetGatewayId(v string) *DescribeGatewayCapabilityConfigurationOutput {
 12595  	s.GatewayId = &v
 12596  	return s
 12597  }
 12598  
 12599  type DescribeGatewayInput struct {
 12600  	_ struct{} `type:"structure" nopayload:"true"`
 12601  
 12602  	// The ID of the gateway device.
 12603  	//
 12604  	// GatewayId is a required field
 12605  	GatewayId *string `location:"uri" locationName:"gatewayId" min:"36" type:"string" required:"true"`
 12606  }
 12607  
 12608  // String returns the string representation.
 12609  //
 12610  // API parameter values that are decorated as "sensitive" in the API will not
 12611  // be included in the string output. The member name will be present, but the
 12612  // value will be replaced with "sensitive".
 12613  func (s DescribeGatewayInput) String() string {
 12614  	return awsutil.Prettify(s)
 12615  }
 12616  
 12617  // GoString returns the string representation.
 12618  //
 12619  // API parameter values that are decorated as "sensitive" in the API will not
 12620  // be included in the string output. The member name will be present, but the
 12621  // value will be replaced with "sensitive".
 12622  func (s DescribeGatewayInput) GoString() string {
 12623  	return s.String()
 12624  }
 12625  
 12626  // Validate inspects the fields of the type to determine if they are valid.
 12627  func (s *DescribeGatewayInput) Validate() error {
 12628  	invalidParams := request.ErrInvalidParams{Context: "DescribeGatewayInput"}
 12629  	if s.GatewayId == nil {
 12630  		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
 12631  	}
 12632  	if s.GatewayId != nil && len(*s.GatewayId) < 36 {
 12633  		invalidParams.Add(request.NewErrParamMinLen("GatewayId", 36))
 12634  	}
 12635  
 12636  	if invalidParams.Len() > 0 {
 12637  		return invalidParams
 12638  	}
 12639  	return nil
 12640  }
 12641  
 12642  // SetGatewayId sets the GatewayId field's value.
 12643  func (s *DescribeGatewayInput) SetGatewayId(v string) *DescribeGatewayInput {
 12644  	s.GatewayId = &v
 12645  	return s
 12646  }
 12647  
 12648  type DescribeGatewayOutput struct {
 12649  	_ struct{} `type:"structure"`
 12650  
 12651  	// The date the gateway was created, in Unix epoch time.
 12652  	//
 12653  	// CreationDate is a required field
 12654  	CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"`
 12655  
 12656  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 12657  	// of the gateway, which has the following format.
 12658  	//
 12659  	// arn:${Partition}:iotsitewise:${Region}:${Account}:gateway/${GatewayId}
 12660  	//
 12661  	// GatewayArn is a required field
 12662  	GatewayArn *string `locationName:"gatewayArn" min:"1" type:"string" required:"true"`
 12663  
 12664  	// A list of gateway capability summaries that each contain a namespace and
 12665  	// status. Each gateway capability defines data sources for the gateway. To
 12666  	// retrieve a capability configuration's definition, use DescribeGatewayCapabilityConfiguration
 12667  	// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGatewayCapabilityConfiguration.html).
 12668  	//
 12669  	// GatewayCapabilitySummaries is a required field
 12670  	GatewayCapabilitySummaries []*GatewayCapabilitySummary `locationName:"gatewayCapabilitySummaries" type:"list" required:"true"`
 12671  
 12672  	// The ID of the gateway device.
 12673  	//
 12674  	// GatewayId is a required field
 12675  	GatewayId *string `locationName:"gatewayId" min:"36" type:"string" required:"true"`
 12676  
 12677  	// The name of the gateway.
 12678  	//
 12679  	// GatewayName is a required field
 12680  	GatewayName *string `locationName:"gatewayName" min:"1" type:"string" required:"true"`
 12681  
 12682  	// The gateway's platform.
 12683  	GatewayPlatform *GatewayPlatform `locationName:"gatewayPlatform" type:"structure"`
 12684  
 12685  	// The date the gateway was last updated, in Unix epoch time.
 12686  	//
 12687  	// LastUpdateDate is a required field
 12688  	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp" required:"true"`
 12689  }
 12690  
 12691  // String returns the string representation.
 12692  //
 12693  // API parameter values that are decorated as "sensitive" in the API will not
 12694  // be included in the string output. The member name will be present, but the
 12695  // value will be replaced with "sensitive".
 12696  func (s DescribeGatewayOutput) String() string {
 12697  	return awsutil.Prettify(s)
 12698  }
 12699  
 12700  // GoString returns the string representation.
 12701  //
 12702  // API parameter values that are decorated as "sensitive" in the API will not
 12703  // be included in the string output. The member name will be present, but the
 12704  // value will be replaced with "sensitive".
 12705  func (s DescribeGatewayOutput) GoString() string {
 12706  	return s.String()
 12707  }
 12708  
 12709  // SetCreationDate sets the CreationDate field's value.
 12710  func (s *DescribeGatewayOutput) SetCreationDate(v time.Time) *DescribeGatewayOutput {
 12711  	s.CreationDate = &v
 12712  	return s
 12713  }
 12714  
 12715  // SetGatewayArn sets the GatewayArn field's value.
 12716  func (s *DescribeGatewayOutput) SetGatewayArn(v string) *DescribeGatewayOutput {
 12717  	s.GatewayArn = &v
 12718  	return s
 12719  }
 12720  
 12721  // SetGatewayCapabilitySummaries sets the GatewayCapabilitySummaries field's value.
 12722  func (s *DescribeGatewayOutput) SetGatewayCapabilitySummaries(v []*GatewayCapabilitySummary) *DescribeGatewayOutput {
 12723  	s.GatewayCapabilitySummaries = v
 12724  	return s
 12725  }
 12726  
 12727  // SetGatewayId sets the GatewayId field's value.
 12728  func (s *DescribeGatewayOutput) SetGatewayId(v string) *DescribeGatewayOutput {
 12729  	s.GatewayId = &v
 12730  	return s
 12731  }
 12732  
 12733  // SetGatewayName sets the GatewayName field's value.
 12734  func (s *DescribeGatewayOutput) SetGatewayName(v string) *DescribeGatewayOutput {
 12735  	s.GatewayName = &v
 12736  	return s
 12737  }
 12738  
 12739  // SetGatewayPlatform sets the GatewayPlatform field's value.
 12740  func (s *DescribeGatewayOutput) SetGatewayPlatform(v *GatewayPlatform) *DescribeGatewayOutput {
 12741  	s.GatewayPlatform = v
 12742  	return s
 12743  }
 12744  
 12745  // SetLastUpdateDate sets the LastUpdateDate field's value.
 12746  func (s *DescribeGatewayOutput) SetLastUpdateDate(v time.Time) *DescribeGatewayOutput {
 12747  	s.LastUpdateDate = &v
 12748  	return s
 12749  }
 12750  
 12751  type DescribeLoggingOptionsInput struct {
 12752  	_ struct{} `type:"structure" nopayload:"true"`
 12753  }
 12754  
 12755  // String returns the string representation.
 12756  //
 12757  // API parameter values that are decorated as "sensitive" in the API will not
 12758  // be included in the string output. The member name will be present, but the
 12759  // value will be replaced with "sensitive".
 12760  func (s DescribeLoggingOptionsInput) String() string {
 12761  	return awsutil.Prettify(s)
 12762  }
 12763  
 12764  // GoString returns the string representation.
 12765  //
 12766  // API parameter values that are decorated as "sensitive" in the API will not
 12767  // be included in the string output. The member name will be present, but the
 12768  // value will be replaced with "sensitive".
 12769  func (s DescribeLoggingOptionsInput) GoString() string {
 12770  	return s.String()
 12771  }
 12772  
 12773  type DescribeLoggingOptionsOutput struct {
 12774  	_ struct{} `type:"structure"`
 12775  
 12776  	// The current logging options.
 12777  	//
 12778  	// LoggingOptions is a required field
 12779  	LoggingOptions *LoggingOptions `locationName:"loggingOptions" type:"structure" required:"true"`
 12780  }
 12781  
 12782  // String returns the string representation.
 12783  //
 12784  // API parameter values that are decorated as "sensitive" in the API will not
 12785  // be included in the string output. The member name will be present, but the
 12786  // value will be replaced with "sensitive".
 12787  func (s DescribeLoggingOptionsOutput) String() string {
 12788  	return awsutil.Prettify(s)
 12789  }
 12790  
 12791  // GoString returns the string representation.
 12792  //
 12793  // API parameter values that are decorated as "sensitive" in the API will not
 12794  // be included in the string output. The member name will be present, but the
 12795  // value will be replaced with "sensitive".
 12796  func (s DescribeLoggingOptionsOutput) GoString() string {
 12797  	return s.String()
 12798  }
 12799  
 12800  // SetLoggingOptions sets the LoggingOptions field's value.
 12801  func (s *DescribeLoggingOptionsOutput) SetLoggingOptions(v *LoggingOptions) *DescribeLoggingOptionsOutput {
 12802  	s.LoggingOptions = v
 12803  	return s
 12804  }
 12805  
 12806  type DescribePortalInput struct {
 12807  	_ struct{} `type:"structure" nopayload:"true"`
 12808  
 12809  	// The ID of the portal.
 12810  	//
 12811  	// PortalId is a required field
 12812  	PortalId *string `location:"uri" locationName:"portalId" min:"36" type:"string" required:"true"`
 12813  }
 12814  
 12815  // String returns the string representation.
 12816  //
 12817  // API parameter values that are decorated as "sensitive" in the API will not
 12818  // be included in the string output. The member name will be present, but the
 12819  // value will be replaced with "sensitive".
 12820  func (s DescribePortalInput) String() string {
 12821  	return awsutil.Prettify(s)
 12822  }
 12823  
 12824  // GoString returns the string representation.
 12825  //
 12826  // API parameter values that are decorated as "sensitive" in the API will not
 12827  // be included in the string output. The member name will be present, but the
 12828  // value will be replaced with "sensitive".
 12829  func (s DescribePortalInput) GoString() string {
 12830  	return s.String()
 12831  }
 12832  
 12833  // Validate inspects the fields of the type to determine if they are valid.
 12834  func (s *DescribePortalInput) Validate() error {
 12835  	invalidParams := request.ErrInvalidParams{Context: "DescribePortalInput"}
 12836  	if s.PortalId == nil {
 12837  		invalidParams.Add(request.NewErrParamRequired("PortalId"))
 12838  	}
 12839  	if s.PortalId != nil && len(*s.PortalId) < 36 {
 12840  		invalidParams.Add(request.NewErrParamMinLen("PortalId", 36))
 12841  	}
 12842  
 12843  	if invalidParams.Len() > 0 {
 12844  		return invalidParams
 12845  	}
 12846  	return nil
 12847  }
 12848  
 12849  // SetPortalId sets the PortalId field's value.
 12850  func (s *DescribePortalInput) SetPortalId(v string) *DescribePortalInput {
 12851  	s.PortalId = &v
 12852  	return s
 12853  }
 12854  
 12855  type DescribePortalOutput struct {
 12856  	_ struct{} `type:"structure"`
 12857  
 12858  	// Contains the configuration information of an alarm created in an IoT SiteWise
 12859  	// Monitor portal.
 12860  	Alarms *Alarms `locationName:"alarms" type:"structure"`
 12861  
 12862  	// The email address that sends alarm notifications.
 12863  	NotificationSenderEmail *string `locationName:"notificationSenderEmail" min:"1" type:"string"`
 12864  
 12865  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 12866  	// of the portal, which has the following format.
 12867  	//
 12868  	// arn:${Partition}:iotsitewise:${Region}:${Account}:portal/${PortalId}
 12869  	//
 12870  	// PortalArn is a required field
 12871  	PortalArn *string `locationName:"portalArn" min:"1" type:"string" required:"true"`
 12872  
 12873  	// The service to use to authenticate users to the portal.
 12874  	PortalAuthMode *string `locationName:"portalAuthMode" type:"string" enum:"AuthMode"`
 12875  
 12876  	// The Amazon Web Services SSO application generated client ID (used with Amazon
 12877  	// Web Services SSO APIs). IoT SiteWise includes portalClientId for only portals
 12878  	// that use Amazon Web Services SSO to authenticate users.
 12879  	//
 12880  	// PortalClientId is a required field
 12881  	PortalClientId *string `locationName:"portalClientId" min:"1" type:"string" required:"true"`
 12882  
 12883  	// The Amazon Web Services administrator's contact email address.
 12884  	//
 12885  	// PortalContactEmail is a required field
 12886  	PortalContactEmail *string `locationName:"portalContactEmail" min:"1" type:"string" required:"true"`
 12887  
 12888  	// The date the portal was created, in Unix epoch time.
 12889  	//
 12890  	// PortalCreationDate is a required field
 12891  	PortalCreationDate *time.Time `locationName:"portalCreationDate" type:"timestamp" required:"true"`
 12892  
 12893  	// The portal's description.
 12894  	PortalDescription *string `locationName:"portalDescription" min:"1" type:"string"`
 12895  
 12896  	// The ID of the portal.
 12897  	//
 12898  	// PortalId is a required field
 12899  	PortalId *string `locationName:"portalId" min:"36" type:"string" required:"true"`
 12900  
 12901  	// The date the portal was last updated, in Unix epoch time.
 12902  	//
 12903  	// PortalLastUpdateDate is a required field
 12904  	PortalLastUpdateDate *time.Time `locationName:"portalLastUpdateDate" type:"timestamp" required:"true"`
 12905  
 12906  	// The portal's logo image, which is available at a URL.
 12907  	PortalLogoImageLocation *ImageLocation `locationName:"portalLogoImageLocation" type:"structure"`
 12908  
 12909  	// The name of the portal.
 12910  	//
 12911  	// PortalName is a required field
 12912  	PortalName *string `locationName:"portalName" min:"1" type:"string" required:"true"`
 12913  
 12914  	// The URL for the IoT SiteWise Monitor portal. You can use this URL to access
 12915  	// portals that use Amazon Web Services SSO for authentication. For portals
 12916  	// that use IAM for authentication, you must use the IoT SiteWise console to
 12917  	// get a URL that you can use to access the portal.
 12918  	//
 12919  	// PortalStartUrl is a required field
 12920  	PortalStartUrl *string `locationName:"portalStartUrl" min:"1" type:"string" required:"true"`
 12921  
 12922  	// The current status of the portal, which contains a state and any error message.
 12923  	//
 12924  	// PortalStatus is a required field
 12925  	PortalStatus *PortalStatus `locationName:"portalStatus" type:"structure" required:"true"`
 12926  
 12927  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 12928  	// of the service role that allows the portal's users to access your IoT SiteWise
 12929  	// resources on your behalf. For more information, see Using service roles for
 12930  	// IoT SiteWise Monitor (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html)
 12931  	// in the IoT SiteWise User Guide.
 12932  	RoleArn *string `locationName:"roleArn" min:"1" type:"string"`
 12933  }
 12934  
 12935  // String returns the string representation.
 12936  //
 12937  // API parameter values that are decorated as "sensitive" in the API will not
 12938  // be included in the string output. The member name will be present, but the
 12939  // value will be replaced with "sensitive".
 12940  func (s DescribePortalOutput) String() string {
 12941  	return awsutil.Prettify(s)
 12942  }
 12943  
 12944  // GoString returns the string representation.
 12945  //
 12946  // API parameter values that are decorated as "sensitive" in the API will not
 12947  // be included in the string output. The member name will be present, but the
 12948  // value will be replaced with "sensitive".
 12949  func (s DescribePortalOutput) GoString() string {
 12950  	return s.String()
 12951  }
 12952  
 12953  // SetAlarms sets the Alarms field's value.
 12954  func (s *DescribePortalOutput) SetAlarms(v *Alarms) *DescribePortalOutput {
 12955  	s.Alarms = v
 12956  	return s
 12957  }
 12958  
 12959  // SetNotificationSenderEmail sets the NotificationSenderEmail field's value.
 12960  func (s *DescribePortalOutput) SetNotificationSenderEmail(v string) *DescribePortalOutput {
 12961  	s.NotificationSenderEmail = &v
 12962  	return s
 12963  }
 12964  
 12965  // SetPortalArn sets the PortalArn field's value.
 12966  func (s *DescribePortalOutput) SetPortalArn(v string) *DescribePortalOutput {
 12967  	s.PortalArn = &v
 12968  	return s
 12969  }
 12970  
 12971  // SetPortalAuthMode sets the PortalAuthMode field's value.
 12972  func (s *DescribePortalOutput) SetPortalAuthMode(v string) *DescribePortalOutput {
 12973  	s.PortalAuthMode = &v
 12974  	return s
 12975  }
 12976  
 12977  // SetPortalClientId sets the PortalClientId field's value.
 12978  func (s *DescribePortalOutput) SetPortalClientId(v string) *DescribePortalOutput {
 12979  	s.PortalClientId = &v
 12980  	return s
 12981  }
 12982  
 12983  // SetPortalContactEmail sets the PortalContactEmail field's value.
 12984  func (s *DescribePortalOutput) SetPortalContactEmail(v string) *DescribePortalOutput {
 12985  	s.PortalContactEmail = &v
 12986  	return s
 12987  }
 12988  
 12989  // SetPortalCreationDate sets the PortalCreationDate field's value.
 12990  func (s *DescribePortalOutput) SetPortalCreationDate(v time.Time) *DescribePortalOutput {
 12991  	s.PortalCreationDate = &v
 12992  	return s
 12993  }
 12994  
 12995  // SetPortalDescription sets the PortalDescription field's value.
 12996  func (s *DescribePortalOutput) SetPortalDescription(v string) *DescribePortalOutput {
 12997  	s.PortalDescription = &v
 12998  	return s
 12999  }
 13000  
 13001  // SetPortalId sets the PortalId field's value.
 13002  func (s *DescribePortalOutput) SetPortalId(v string) *DescribePortalOutput {
 13003  	s.PortalId = &v
 13004  	return s
 13005  }
 13006  
 13007  // SetPortalLastUpdateDate sets the PortalLastUpdateDate field's value.
 13008  func (s *DescribePortalOutput) SetPortalLastUpdateDate(v time.Time) *DescribePortalOutput {
 13009  	s.PortalLastUpdateDate = &v
 13010  	return s
 13011  }
 13012  
 13013  // SetPortalLogoImageLocation sets the PortalLogoImageLocation field's value.
 13014  func (s *DescribePortalOutput) SetPortalLogoImageLocation(v *ImageLocation) *DescribePortalOutput {
 13015  	s.PortalLogoImageLocation = v
 13016  	return s
 13017  }
 13018  
 13019  // SetPortalName sets the PortalName field's value.
 13020  func (s *DescribePortalOutput) SetPortalName(v string) *DescribePortalOutput {
 13021  	s.PortalName = &v
 13022  	return s
 13023  }
 13024  
 13025  // SetPortalStartUrl sets the PortalStartUrl field's value.
 13026  func (s *DescribePortalOutput) SetPortalStartUrl(v string) *DescribePortalOutput {
 13027  	s.PortalStartUrl = &v
 13028  	return s
 13029  }
 13030  
 13031  // SetPortalStatus sets the PortalStatus field's value.
 13032  func (s *DescribePortalOutput) SetPortalStatus(v *PortalStatus) *DescribePortalOutput {
 13033  	s.PortalStatus = v
 13034  	return s
 13035  }
 13036  
 13037  // SetRoleArn sets the RoleArn field's value.
 13038  func (s *DescribePortalOutput) SetRoleArn(v string) *DescribePortalOutput {
 13039  	s.RoleArn = &v
 13040  	return s
 13041  }
 13042  
 13043  type DescribeProjectInput struct {
 13044  	_ struct{} `type:"structure" nopayload:"true"`
 13045  
 13046  	// The ID of the project.
 13047  	//
 13048  	// ProjectId is a required field
 13049  	ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"`
 13050  }
 13051  
 13052  // String returns the string representation.
 13053  //
 13054  // API parameter values that are decorated as "sensitive" in the API will not
 13055  // be included in the string output. The member name will be present, but the
 13056  // value will be replaced with "sensitive".
 13057  func (s DescribeProjectInput) String() string {
 13058  	return awsutil.Prettify(s)
 13059  }
 13060  
 13061  // GoString returns the string representation.
 13062  //
 13063  // API parameter values that are decorated as "sensitive" in the API will not
 13064  // be included in the string output. The member name will be present, but the
 13065  // value will be replaced with "sensitive".
 13066  func (s DescribeProjectInput) GoString() string {
 13067  	return s.String()
 13068  }
 13069  
 13070  // Validate inspects the fields of the type to determine if they are valid.
 13071  func (s *DescribeProjectInput) Validate() error {
 13072  	invalidParams := request.ErrInvalidParams{Context: "DescribeProjectInput"}
 13073  	if s.ProjectId == nil {
 13074  		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
 13075  	}
 13076  	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
 13077  		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
 13078  	}
 13079  
 13080  	if invalidParams.Len() > 0 {
 13081  		return invalidParams
 13082  	}
 13083  	return nil
 13084  }
 13085  
 13086  // SetProjectId sets the ProjectId field's value.
 13087  func (s *DescribeProjectInput) SetProjectId(v string) *DescribeProjectInput {
 13088  	s.ProjectId = &v
 13089  	return s
 13090  }
 13091  
 13092  type DescribeProjectOutput struct {
 13093  	_ struct{} `type:"structure"`
 13094  
 13095  	// The ID of the portal that the project is in.
 13096  	//
 13097  	// PortalId is a required field
 13098  	PortalId *string `locationName:"portalId" min:"36" type:"string" required:"true"`
 13099  
 13100  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 13101  	// of the project, which has the following format.
 13102  	//
 13103  	// arn:${Partition}:iotsitewise:${Region}:${Account}:project/${ProjectId}
 13104  	//
 13105  	// ProjectArn is a required field
 13106  	ProjectArn *string `locationName:"projectArn" min:"1" type:"string" required:"true"`
 13107  
 13108  	// The date the project was created, in Unix epoch time.
 13109  	//
 13110  	// ProjectCreationDate is a required field
 13111  	ProjectCreationDate *time.Time `locationName:"projectCreationDate" type:"timestamp" required:"true"`
 13112  
 13113  	// The project's description.
 13114  	ProjectDescription *string `locationName:"projectDescription" min:"1" type:"string"`
 13115  
 13116  	// The ID of the project.
 13117  	//
 13118  	// ProjectId is a required field
 13119  	ProjectId *string `locationName:"projectId" min:"36" type:"string" required:"true"`
 13120  
 13121  	// The date the project was last updated, in Unix epoch time.
 13122  	//
 13123  	// ProjectLastUpdateDate is a required field
 13124  	ProjectLastUpdateDate *time.Time `locationName:"projectLastUpdateDate" type:"timestamp" required:"true"`
 13125  
 13126  	// The name of the project.
 13127  	//
 13128  	// ProjectName is a required field
 13129  	ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"`
 13130  }
 13131  
 13132  // String returns the string representation.
 13133  //
 13134  // API parameter values that are decorated as "sensitive" in the API will not
 13135  // be included in the string output. The member name will be present, but the
 13136  // value will be replaced with "sensitive".
 13137  func (s DescribeProjectOutput) String() string {
 13138  	return awsutil.Prettify(s)
 13139  }
 13140  
 13141  // GoString returns the string representation.
 13142  //
 13143  // API parameter values that are decorated as "sensitive" in the API will not
 13144  // be included in the string output. The member name will be present, but the
 13145  // value will be replaced with "sensitive".
 13146  func (s DescribeProjectOutput) GoString() string {
 13147  	return s.String()
 13148  }
 13149  
 13150  // SetPortalId sets the PortalId field's value.
 13151  func (s *DescribeProjectOutput) SetPortalId(v string) *DescribeProjectOutput {
 13152  	s.PortalId = &v
 13153  	return s
 13154  }
 13155  
 13156  // SetProjectArn sets the ProjectArn field's value.
 13157  func (s *DescribeProjectOutput) SetProjectArn(v string) *DescribeProjectOutput {
 13158  	s.ProjectArn = &v
 13159  	return s
 13160  }
 13161  
 13162  // SetProjectCreationDate sets the ProjectCreationDate field's value.
 13163  func (s *DescribeProjectOutput) SetProjectCreationDate(v time.Time) *DescribeProjectOutput {
 13164  	s.ProjectCreationDate = &v
 13165  	return s
 13166  }
 13167  
 13168  // SetProjectDescription sets the ProjectDescription field's value.
 13169  func (s *DescribeProjectOutput) SetProjectDescription(v string) *DescribeProjectOutput {
 13170  	s.ProjectDescription = &v
 13171  	return s
 13172  }
 13173  
 13174  // SetProjectId sets the ProjectId field's value.
 13175  func (s *DescribeProjectOutput) SetProjectId(v string) *DescribeProjectOutput {
 13176  	s.ProjectId = &v
 13177  	return s
 13178  }
 13179  
 13180  // SetProjectLastUpdateDate sets the ProjectLastUpdateDate field's value.
 13181  func (s *DescribeProjectOutput) SetProjectLastUpdateDate(v time.Time) *DescribeProjectOutput {
 13182  	s.ProjectLastUpdateDate = &v
 13183  	return s
 13184  }
 13185  
 13186  // SetProjectName sets the ProjectName field's value.
 13187  func (s *DescribeProjectOutput) SetProjectName(v string) *DescribeProjectOutput {
 13188  	s.ProjectName = &v
 13189  	return s
 13190  }
 13191  
 13192  type DescribeStorageConfigurationInput struct {
 13193  	_ struct{} `type:"structure" nopayload:"true"`
 13194  }
 13195  
 13196  // String returns the string representation.
 13197  //
 13198  // API parameter values that are decorated as "sensitive" in the API will not
 13199  // be included in the string output. The member name will be present, but the
 13200  // value will be replaced with "sensitive".
 13201  func (s DescribeStorageConfigurationInput) String() string {
 13202  	return awsutil.Prettify(s)
 13203  }
 13204  
 13205  // GoString returns the string representation.
 13206  //
 13207  // API parameter values that are decorated as "sensitive" in the API will not
 13208  // be included in the string output. The member name will be present, but the
 13209  // value will be replaced with "sensitive".
 13210  func (s DescribeStorageConfigurationInput) GoString() string {
 13211  	return s.String()
 13212  }
 13213  
 13214  type DescribeStorageConfigurationOutput struct {
 13215  	_ struct{} `type:"structure"`
 13216  
 13217  	// Contains current status information for the configuration.
 13218  	//
 13219  	// ConfigurationStatus is a required field
 13220  	ConfigurationStatus *ConfigurationStatus `locationName:"configurationStatus" type:"structure" required:"true"`
 13221  
 13222  	// The date the storage configuration was last updated, in Unix epoch time.
 13223  	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp"`
 13224  
 13225  	// Contains information about the storage destination.
 13226  	MultiLayerStorage *MultiLayerStorage `locationName:"multiLayerStorage" type:"structure"`
 13227  
 13228  	// The type of storage that you specified for your data. The storage type can
 13229  	// be one of the following values:
 13230  	//
 13231  	//    * SITEWISE_DEFAULT_STORAGE – IoT SiteWise replicates your data into
 13232  	//    a service managed database.
 13233  	//
 13234  	//    * MULTI_LAYER_STORAGE – IoT SiteWise replicates your data into a service
 13235  	//    managed database and saves a copy of your raw data and metadata in an
 13236  	//    Amazon S3 object that you specified.
 13237  	//
 13238  	// StorageType is a required field
 13239  	StorageType *string `locationName:"storageType" type:"string" required:"true" enum:"StorageType"`
 13240  }
 13241  
 13242  // String returns the string representation.
 13243  //
 13244  // API parameter values that are decorated as "sensitive" in the API will not
 13245  // be included in the string output. The member name will be present, but the
 13246  // value will be replaced with "sensitive".
 13247  func (s DescribeStorageConfigurationOutput) String() string {
 13248  	return awsutil.Prettify(s)
 13249  }
 13250  
 13251  // GoString returns the string representation.
 13252  //
 13253  // API parameter values that are decorated as "sensitive" in the API will not
 13254  // be included in the string output. The member name will be present, but the
 13255  // value will be replaced with "sensitive".
 13256  func (s DescribeStorageConfigurationOutput) GoString() string {
 13257  	return s.String()
 13258  }
 13259  
 13260  // SetConfigurationStatus sets the ConfigurationStatus field's value.
 13261  func (s *DescribeStorageConfigurationOutput) SetConfigurationStatus(v *ConfigurationStatus) *DescribeStorageConfigurationOutput {
 13262  	s.ConfigurationStatus = v
 13263  	return s
 13264  }
 13265  
 13266  // SetLastUpdateDate sets the LastUpdateDate field's value.
 13267  func (s *DescribeStorageConfigurationOutput) SetLastUpdateDate(v time.Time) *DescribeStorageConfigurationOutput {
 13268  	s.LastUpdateDate = &v
 13269  	return s
 13270  }
 13271  
 13272  // SetMultiLayerStorage sets the MultiLayerStorage field's value.
 13273  func (s *DescribeStorageConfigurationOutput) SetMultiLayerStorage(v *MultiLayerStorage) *DescribeStorageConfigurationOutput {
 13274  	s.MultiLayerStorage = v
 13275  	return s
 13276  }
 13277  
 13278  // SetStorageType sets the StorageType field's value.
 13279  func (s *DescribeStorageConfigurationOutput) SetStorageType(v string) *DescribeStorageConfigurationOutput {
 13280  	s.StorageType = &v
 13281  	return s
 13282  }
 13283  
 13284  // Contains detailed error information.
 13285  type DetailedError struct {
 13286  	_ struct{} `type:"structure"`
 13287  
 13288  	// The error code.
 13289  	//
 13290  	// Code is a required field
 13291  	Code *string `locationName:"code" type:"string" required:"true" enum:"DetailedErrorCode"`
 13292  
 13293  	// The error message.
 13294  	//
 13295  	// Message is a required field
 13296  	Message *string `locationName:"message" type:"string" required:"true"`
 13297  }
 13298  
 13299  // String returns the string representation.
 13300  //
 13301  // API parameter values that are decorated as "sensitive" in the API will not
 13302  // be included in the string output. The member name will be present, but the
 13303  // value will be replaced with "sensitive".
 13304  func (s DetailedError) String() string {
 13305  	return awsutil.Prettify(s)
 13306  }
 13307  
 13308  // GoString returns the string representation.
 13309  //
 13310  // API parameter values that are decorated as "sensitive" in the API will not
 13311  // be included in the string output. The member name will be present, but the
 13312  // value will be replaced with "sensitive".
 13313  func (s DetailedError) GoString() string {
 13314  	return s.String()
 13315  }
 13316  
 13317  // SetCode sets the Code field's value.
 13318  func (s *DetailedError) SetCode(v string) *DetailedError {
 13319  	s.Code = &v
 13320  	return s
 13321  }
 13322  
 13323  // SetMessage sets the Message field's value.
 13324  func (s *DetailedError) SetMessage(v string) *DetailedError {
 13325  	s.Message = &v
 13326  	return s
 13327  }
 13328  
 13329  type DisassociateAssetsInput struct {
 13330  	_ struct{} `type:"structure"`
 13331  
 13332  	// The ID of the parent asset from which to disassociate the child asset.
 13333  	//
 13334  	// AssetId is a required field
 13335  	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
 13336  
 13337  	// The ID of the child asset to disassociate.
 13338  	//
 13339  	// ChildAssetId is a required field
 13340  	ChildAssetId *string `locationName:"childAssetId" min:"36" type:"string" required:"true"`
 13341  
 13342  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
 13343  	// of the request. Don't reuse this client token if a new idempotent request
 13344  	// is required.
 13345  	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
 13346  
 13347  	// The ID of a hierarchy in the parent asset's model. Hierarchies allow different
 13348  	// groupings of assets to be formed that all come from the same asset model.
 13349  	// You can use the hierarchy ID to identify the correct asset to disassociate.
 13350  	// For more information, see Asset hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html)
 13351  	// in the IoT SiteWise User Guide.
 13352  	//
 13353  	// HierarchyId is a required field
 13354  	HierarchyId *string `locationName:"hierarchyId" min:"36" type:"string" required:"true"`
 13355  }
 13356  
 13357  // String returns the string representation.
 13358  //
 13359  // API parameter values that are decorated as "sensitive" in the API will not
 13360  // be included in the string output. The member name will be present, but the
 13361  // value will be replaced with "sensitive".
 13362  func (s DisassociateAssetsInput) String() string {
 13363  	return awsutil.Prettify(s)
 13364  }
 13365  
 13366  // GoString returns the string representation.
 13367  //
 13368  // API parameter values that are decorated as "sensitive" in the API will not
 13369  // be included in the string output. The member name will be present, but the
 13370  // value will be replaced with "sensitive".
 13371  func (s DisassociateAssetsInput) GoString() string {
 13372  	return s.String()
 13373  }
 13374  
 13375  // Validate inspects the fields of the type to determine if they are valid.
 13376  func (s *DisassociateAssetsInput) Validate() error {
 13377  	invalidParams := request.ErrInvalidParams{Context: "DisassociateAssetsInput"}
 13378  	if s.AssetId == nil {
 13379  		invalidParams.Add(request.NewErrParamRequired("AssetId"))
 13380  	}
 13381  	if s.AssetId != nil && len(*s.AssetId) < 36 {
 13382  		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
 13383  	}
 13384  	if s.ChildAssetId == nil {
 13385  		invalidParams.Add(request.NewErrParamRequired("ChildAssetId"))
 13386  	}
 13387  	if s.ChildAssetId != nil && len(*s.ChildAssetId) < 36 {
 13388  		invalidParams.Add(request.NewErrParamMinLen("ChildAssetId", 36))
 13389  	}
 13390  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
 13391  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
 13392  	}
 13393  	if s.HierarchyId == nil {
 13394  		invalidParams.Add(request.NewErrParamRequired("HierarchyId"))
 13395  	}
 13396  	if s.HierarchyId != nil && len(*s.HierarchyId) < 36 {
 13397  		invalidParams.Add(request.NewErrParamMinLen("HierarchyId", 36))
 13398  	}
 13399  
 13400  	if invalidParams.Len() > 0 {
 13401  		return invalidParams
 13402  	}
 13403  	return nil
 13404  }
 13405  
 13406  // SetAssetId sets the AssetId field's value.
 13407  func (s *DisassociateAssetsInput) SetAssetId(v string) *DisassociateAssetsInput {
 13408  	s.AssetId = &v
 13409  	return s
 13410  }
 13411  
 13412  // SetChildAssetId sets the ChildAssetId field's value.
 13413  func (s *DisassociateAssetsInput) SetChildAssetId(v string) *DisassociateAssetsInput {
 13414  	s.ChildAssetId = &v
 13415  	return s
 13416  }
 13417  
 13418  // SetClientToken sets the ClientToken field's value.
 13419  func (s *DisassociateAssetsInput) SetClientToken(v string) *DisassociateAssetsInput {
 13420  	s.ClientToken = &v
 13421  	return s
 13422  }
 13423  
 13424  // SetHierarchyId sets the HierarchyId field's value.
 13425  func (s *DisassociateAssetsInput) SetHierarchyId(v string) *DisassociateAssetsInput {
 13426  	s.HierarchyId = &v
 13427  	return s
 13428  }
 13429  
 13430  type DisassociateAssetsOutput struct {
 13431  	_ struct{} `type:"structure" nopayload:"true"`
 13432  }
 13433  
 13434  // String returns the string representation.
 13435  //
 13436  // API parameter values that are decorated as "sensitive" in the API will not
 13437  // be included in the string output. The member name will be present, but the
 13438  // value will be replaced with "sensitive".
 13439  func (s DisassociateAssetsOutput) String() string {
 13440  	return awsutil.Prettify(s)
 13441  }
 13442  
 13443  // GoString returns the string representation.
 13444  //
 13445  // API parameter values that are decorated as "sensitive" in the API will not
 13446  // be included in the string output. The member name will be present, but the
 13447  // value will be replaced with "sensitive".
 13448  func (s DisassociateAssetsOutput) GoString() string {
 13449  	return s.String()
 13450  }
 13451  
 13452  // Contains the details of an IoT SiteWise error.
 13453  type ErrorDetails struct {
 13454  	_ struct{} `type:"structure"`
 13455  
 13456  	// The error code.
 13457  	//
 13458  	// Code is a required field
 13459  	Code *string `locationName:"code" type:"string" required:"true" enum:"ErrorCode"`
 13460  
 13461  	// A list of detailed errors.
 13462  	Details []*DetailedError `locationName:"details" type:"list"`
 13463  
 13464  	// The error message.
 13465  	//
 13466  	// Message is a required field
 13467  	Message *string `locationName:"message" type:"string" required:"true"`
 13468  }
 13469  
 13470  // String returns the string representation.
 13471  //
 13472  // API parameter values that are decorated as "sensitive" in the API will not
 13473  // be included in the string output. The member name will be present, but the
 13474  // value will be replaced with "sensitive".
 13475  func (s ErrorDetails) String() string {
 13476  	return awsutil.Prettify(s)
 13477  }
 13478  
 13479  // GoString returns the string representation.
 13480  //
 13481  // API parameter values that are decorated as "sensitive" in the API will not
 13482  // be included in the string output. The member name will be present, but the
 13483  // value will be replaced with "sensitive".
 13484  func (s ErrorDetails) GoString() string {
 13485  	return s.String()
 13486  }
 13487  
 13488  // SetCode sets the Code field's value.
 13489  func (s *ErrorDetails) SetCode(v string) *ErrorDetails {
 13490  	s.Code = &v
 13491  	return s
 13492  }
 13493  
 13494  // SetDetails sets the Details field's value.
 13495  func (s *ErrorDetails) SetDetails(v []*DetailedError) *ErrorDetails {
 13496  	s.Details = v
 13497  	return s
 13498  }
 13499  
 13500  // SetMessage sets the Message field's value.
 13501  func (s *ErrorDetails) SetMessage(v string) *ErrorDetails {
 13502  	s.Message = &v
 13503  	return s
 13504  }
 13505  
 13506  // Contains expression variable information.
 13507  type ExpressionVariable struct {
 13508  	_ struct{} `type:"structure"`
 13509  
 13510  	// The friendly name of the variable to be used in the expression.
 13511  	//
 13512  	// Name is a required field
 13513  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 13514  
 13515  	// The variable that identifies an asset property from which to use values.
 13516  	//
 13517  	// Value is a required field
 13518  	Value *VariableValue `locationName:"value" type:"structure" required:"true"`
 13519  }
 13520  
 13521  // String returns the string representation.
 13522  //
 13523  // API parameter values that are decorated as "sensitive" in the API will not
 13524  // be included in the string output. The member name will be present, but the
 13525  // value will be replaced with "sensitive".
 13526  func (s ExpressionVariable) String() string {
 13527  	return awsutil.Prettify(s)
 13528  }
 13529  
 13530  // GoString returns the string representation.
 13531  //
 13532  // API parameter values that are decorated as "sensitive" in the API will not
 13533  // be included in the string output. The member name will be present, but the
 13534  // value will be replaced with "sensitive".
 13535  func (s ExpressionVariable) GoString() string {
 13536  	return s.String()
 13537  }
 13538  
 13539  // Validate inspects the fields of the type to determine if they are valid.
 13540  func (s *ExpressionVariable) Validate() error {
 13541  	invalidParams := request.ErrInvalidParams{Context: "ExpressionVariable"}
 13542  	if s.Name == nil {
 13543  		invalidParams.Add(request.NewErrParamRequired("Name"))
 13544  	}
 13545  	if s.Name != nil && len(*s.Name) < 1 {
 13546  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 13547  	}
 13548  	if s.Value == nil {
 13549  		invalidParams.Add(request.NewErrParamRequired("Value"))
 13550  	}
 13551  	if s.Value != nil {
 13552  		if err := s.Value.Validate(); err != nil {
 13553  			invalidParams.AddNested("Value", err.(request.ErrInvalidParams))
 13554  		}
 13555  	}
 13556  
 13557  	if invalidParams.Len() > 0 {
 13558  		return invalidParams
 13559  	}
 13560  	return nil
 13561  }
 13562  
 13563  // SetName sets the Name field's value.
 13564  func (s *ExpressionVariable) SetName(v string) *ExpressionVariable {
 13565  	s.Name = &v
 13566  	return s
 13567  }
 13568  
 13569  // SetValue sets the Value field's value.
 13570  func (s *ExpressionVariable) SetValue(v *VariableValue) *ExpressionVariable {
 13571  	s.Value = v
 13572  	return s
 13573  }
 13574  
 13575  // The forwarding configuration for a given property.
 13576  type ForwardingConfig struct {
 13577  	_ struct{} `type:"structure"`
 13578  
 13579  	// The forwarding state for the given property.
 13580  	//
 13581  	// State is a required field
 13582  	State *string `locationName:"state" type:"string" required:"true" enum:"ForwardingConfigState"`
 13583  }
 13584  
 13585  // String returns the string representation.
 13586  //
 13587  // API parameter values that are decorated as "sensitive" in the API will not
 13588  // be included in the string output. The member name will be present, but the
 13589  // value will be replaced with "sensitive".
 13590  func (s ForwardingConfig) String() string {
 13591  	return awsutil.Prettify(s)
 13592  }
 13593  
 13594  // GoString returns the string representation.
 13595  //
 13596  // API parameter values that are decorated as "sensitive" in the API will not
 13597  // be included in the string output. The member name will be present, but the
 13598  // value will be replaced with "sensitive".
 13599  func (s ForwardingConfig) GoString() string {
 13600  	return s.String()
 13601  }
 13602  
 13603  // Validate inspects the fields of the type to determine if they are valid.
 13604  func (s *ForwardingConfig) Validate() error {
 13605  	invalidParams := request.ErrInvalidParams{Context: "ForwardingConfig"}
 13606  	if s.State == nil {
 13607  		invalidParams.Add(request.NewErrParamRequired("State"))
 13608  	}
 13609  
 13610  	if invalidParams.Len() > 0 {
 13611  		return invalidParams
 13612  	}
 13613  	return nil
 13614  }
 13615  
 13616  // SetState sets the State field's value.
 13617  func (s *ForwardingConfig) SetState(v string) *ForwardingConfig {
 13618  	s.State = &v
 13619  	return s
 13620  }
 13621  
 13622  // Contains a summary of a gateway capability configuration.
 13623  type GatewayCapabilitySummary struct {
 13624  	_ struct{} `type:"structure"`
 13625  
 13626  	// The namespace of the capability configuration. For example, if you configure
 13627  	// OPC-UA sources from the IoT SiteWise console, your OPC-UA capability configuration
 13628  	// has the namespace iotsitewise:opcuacollector:version, where version is a
 13629  	// number such as 1.
 13630  	//
 13631  	// CapabilityNamespace is a required field
 13632  	CapabilityNamespace *string `locationName:"capabilityNamespace" min:"1" type:"string" required:"true"`
 13633  
 13634  	// The synchronization status of the capability configuration. The sync status
 13635  	// can be one of the following:
 13636  	//
 13637  	//    * IN_SYNC – The gateway is running the capability configuration.
 13638  	//
 13639  	//    * OUT_OF_SYNC – The gateway hasn't received the capability configuration.
 13640  	//
 13641  	//    * SYNC_FAILED – The gateway rejected the capability configuration.
 13642  	//
 13643  	// CapabilitySyncStatus is a required field
 13644  	CapabilitySyncStatus *string `locationName:"capabilitySyncStatus" type:"string" required:"true" enum:"CapabilitySyncStatus"`
 13645  }
 13646  
 13647  // String returns the string representation.
 13648  //
 13649  // API parameter values that are decorated as "sensitive" in the API will not
 13650  // be included in the string output. The member name will be present, but the
 13651  // value will be replaced with "sensitive".
 13652  func (s GatewayCapabilitySummary) String() string {
 13653  	return awsutil.Prettify(s)
 13654  }
 13655  
 13656  // GoString returns the string representation.
 13657  //
 13658  // API parameter values that are decorated as "sensitive" in the API will not
 13659  // be included in the string output. The member name will be present, but the
 13660  // value will be replaced with "sensitive".
 13661  func (s GatewayCapabilitySummary) GoString() string {
 13662  	return s.String()
 13663  }
 13664  
 13665  // SetCapabilityNamespace sets the CapabilityNamespace field's value.
 13666  func (s *GatewayCapabilitySummary) SetCapabilityNamespace(v string) *GatewayCapabilitySummary {
 13667  	s.CapabilityNamespace = &v
 13668  	return s
 13669  }
 13670  
 13671  // SetCapabilitySyncStatus sets the CapabilitySyncStatus field's value.
 13672  func (s *GatewayCapabilitySummary) SetCapabilitySyncStatus(v string) *GatewayCapabilitySummary {
 13673  	s.CapabilitySyncStatus = &v
 13674  	return s
 13675  }
 13676  
 13677  // Contains a gateway's platform information.
 13678  type GatewayPlatform struct {
 13679  	_ struct{} `type:"structure"`
 13680  
 13681  	// A gateway that runs on IoT Greengrass.
 13682  	Greengrass *Greengrass `locationName:"greengrass" type:"structure"`
 13683  
 13684  	// A gateway that runs on IoT Greengrass V2.
 13685  	GreengrassV2 *GreengrassV2 `locationName:"greengrassV2" type:"structure"`
 13686  }
 13687  
 13688  // String returns the string representation.
 13689  //
 13690  // API parameter values that are decorated as "sensitive" in the API will not
 13691  // be included in the string output. The member name will be present, but the
 13692  // value will be replaced with "sensitive".
 13693  func (s GatewayPlatform) String() string {
 13694  	return awsutil.Prettify(s)
 13695  }
 13696  
 13697  // GoString returns the string representation.
 13698  //
 13699  // API parameter values that are decorated as "sensitive" in the API will not
 13700  // be included in the string output. The member name will be present, but the
 13701  // value will be replaced with "sensitive".
 13702  func (s GatewayPlatform) GoString() string {
 13703  	return s.String()
 13704  }
 13705  
 13706  // Validate inspects the fields of the type to determine if they are valid.
 13707  func (s *GatewayPlatform) Validate() error {
 13708  	invalidParams := request.ErrInvalidParams{Context: "GatewayPlatform"}
 13709  	if s.Greengrass != nil {
 13710  		if err := s.Greengrass.Validate(); err != nil {
 13711  			invalidParams.AddNested("Greengrass", err.(request.ErrInvalidParams))
 13712  		}
 13713  	}
 13714  	if s.GreengrassV2 != nil {
 13715  		if err := s.GreengrassV2.Validate(); err != nil {
 13716  			invalidParams.AddNested("GreengrassV2", err.(request.ErrInvalidParams))
 13717  		}
 13718  	}
 13719  
 13720  	if invalidParams.Len() > 0 {
 13721  		return invalidParams
 13722  	}
 13723  	return nil
 13724  }
 13725  
 13726  // SetGreengrass sets the Greengrass field's value.
 13727  func (s *GatewayPlatform) SetGreengrass(v *Greengrass) *GatewayPlatform {
 13728  	s.Greengrass = v
 13729  	return s
 13730  }
 13731  
 13732  // SetGreengrassV2 sets the GreengrassV2 field's value.
 13733  func (s *GatewayPlatform) SetGreengrassV2(v *GreengrassV2) *GatewayPlatform {
 13734  	s.GreengrassV2 = v
 13735  	return s
 13736  }
 13737  
 13738  // Contains a summary of a gateway.
 13739  type GatewaySummary struct {
 13740  	_ struct{} `type:"structure"`
 13741  
 13742  	// The date the gateway was created, in Unix epoch time.
 13743  	//
 13744  	// CreationDate is a required field
 13745  	CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"`
 13746  
 13747  	// A list of gateway capability summaries that each contain a namespace and
 13748  	// status. Each gateway capability defines data sources for the gateway. To
 13749  	// retrieve a capability configuration's definition, use DescribeGatewayCapabilityConfiguration
 13750  	// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGatewayCapabilityConfiguration.html).
 13751  	GatewayCapabilitySummaries []*GatewayCapabilitySummary `locationName:"gatewayCapabilitySummaries" type:"list"`
 13752  
 13753  	// The ID of the gateway device.
 13754  	//
 13755  	// GatewayId is a required field
 13756  	GatewayId *string `locationName:"gatewayId" min:"36" type:"string" required:"true"`
 13757  
 13758  	// The name of the asset.
 13759  	//
 13760  	// GatewayName is a required field
 13761  	GatewayName *string `locationName:"gatewayName" min:"1" type:"string" required:"true"`
 13762  
 13763  	// Contains a gateway's platform information.
 13764  	GatewayPlatform *GatewayPlatform `locationName:"gatewayPlatform" type:"structure"`
 13765  
 13766  	// The date the gateway was last updated, in Unix epoch time.
 13767  	//
 13768  	// LastUpdateDate is a required field
 13769  	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp" required:"true"`
 13770  }
 13771  
 13772  // String returns the string representation.
 13773  //
 13774  // API parameter values that are decorated as "sensitive" in the API will not
 13775  // be included in the string output. The member name will be present, but the
 13776  // value will be replaced with "sensitive".
 13777  func (s GatewaySummary) String() string {
 13778  	return awsutil.Prettify(s)
 13779  }
 13780  
 13781  // GoString returns the string representation.
 13782  //
 13783  // API parameter values that are decorated as "sensitive" in the API will not
 13784  // be included in the string output. The member name will be present, but the
 13785  // value will be replaced with "sensitive".
 13786  func (s GatewaySummary) GoString() string {
 13787  	return s.String()
 13788  }
 13789  
 13790  // SetCreationDate sets the CreationDate field's value.
 13791  func (s *GatewaySummary) SetCreationDate(v time.Time) *GatewaySummary {
 13792  	s.CreationDate = &v
 13793  	return s
 13794  }
 13795  
 13796  // SetGatewayCapabilitySummaries sets the GatewayCapabilitySummaries field's value.
 13797  func (s *GatewaySummary) SetGatewayCapabilitySummaries(v []*GatewayCapabilitySummary) *GatewaySummary {
 13798  	s.GatewayCapabilitySummaries = v
 13799  	return s
 13800  }
 13801  
 13802  // SetGatewayId sets the GatewayId field's value.
 13803  func (s *GatewaySummary) SetGatewayId(v string) *GatewaySummary {
 13804  	s.GatewayId = &v
 13805  	return s
 13806  }
 13807  
 13808  // SetGatewayName sets the GatewayName field's value.
 13809  func (s *GatewaySummary) SetGatewayName(v string) *GatewaySummary {
 13810  	s.GatewayName = &v
 13811  	return s
 13812  }
 13813  
 13814  // SetGatewayPlatform sets the GatewayPlatform field's value.
 13815  func (s *GatewaySummary) SetGatewayPlatform(v *GatewayPlatform) *GatewaySummary {
 13816  	s.GatewayPlatform = v
 13817  	return s
 13818  }
 13819  
 13820  // SetLastUpdateDate sets the LastUpdateDate field's value.
 13821  func (s *GatewaySummary) SetLastUpdateDate(v time.Time) *GatewaySummary {
 13822  	s.LastUpdateDate = &v
 13823  	return s
 13824  }
 13825  
 13826  type GetAssetPropertyAggregatesInput struct {
 13827  	_ struct{} `type:"structure" nopayload:"true"`
 13828  
 13829  	// The data aggregating function.
 13830  	//
 13831  	// AggregateTypes is a required field
 13832  	AggregateTypes []*string `location:"querystring" locationName:"aggregateTypes" min:"1" type:"list" required:"true"`
 13833  
 13834  	// The ID of the asset.
 13835  	AssetId *string `location:"querystring" locationName:"assetId" min:"36" type:"string"`
 13836  
 13837  	// The inclusive end of the range from which to query historical data, expressed
 13838  	// in seconds in Unix epoch time.
 13839  	//
 13840  	// EndDate is a required field
 13841  	EndDate *time.Time `location:"querystring" locationName:"endDate" type:"timestamp" required:"true"`
 13842  
 13843  	// The maximum number of results to return for each paginated request.
 13844  	//
 13845  	// Default: 100
 13846  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 13847  
 13848  	// The token to be used for the next set of paginated results.
 13849  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
 13850  
 13851  	// The alias that identifies the property, such as an OPC-UA server data stream
 13852  	// path (for example, /company/windfarm/3/turbine/7/temperature). For more information,
 13853  	// see Mapping industrial data streams to asset properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
 13854  	// in the IoT SiteWise User Guide.
 13855  	PropertyAlias *string `location:"querystring" locationName:"propertyAlias" min:"1" type:"string"`
 13856  
 13857  	// The ID of the asset property.
 13858  	PropertyId *string `location:"querystring" locationName:"propertyId" min:"36" type:"string"`
 13859  
 13860  	// The quality by which to filter asset data.
 13861  	Qualities []*string `location:"querystring" locationName:"qualities" min:"1" type:"list"`
 13862  
 13863  	// The time interval over which to aggregate data.
 13864  	//
 13865  	// Resolution is a required field
 13866  	Resolution *string `location:"querystring" locationName:"resolution" min:"2" type:"string" required:"true"`
 13867  
 13868  	// The exclusive start of the range from which to query historical data, expressed
 13869  	// in seconds in Unix epoch time.
 13870  	//
 13871  	// StartDate is a required field
 13872  	StartDate *time.Time `location:"querystring" locationName:"startDate" type:"timestamp" required:"true"`
 13873  
 13874  	// The chronological sorting order of the requested information.
 13875  	//
 13876  	// Default: ASCENDING
 13877  	TimeOrdering *string `location:"querystring" locationName:"timeOrdering" type:"string" enum:"TimeOrdering"`
 13878  }
 13879  
 13880  // String returns the string representation.
 13881  //
 13882  // API parameter values that are decorated as "sensitive" in the API will not
 13883  // be included in the string output. The member name will be present, but the
 13884  // value will be replaced with "sensitive".
 13885  func (s GetAssetPropertyAggregatesInput) String() string {
 13886  	return awsutil.Prettify(s)
 13887  }
 13888  
 13889  // GoString returns the string representation.
 13890  //
 13891  // API parameter values that are decorated as "sensitive" in the API will not
 13892  // be included in the string output. The member name will be present, but the
 13893  // value will be replaced with "sensitive".
 13894  func (s GetAssetPropertyAggregatesInput) GoString() string {
 13895  	return s.String()
 13896  }
 13897  
 13898  // Validate inspects the fields of the type to determine if they are valid.
 13899  func (s *GetAssetPropertyAggregatesInput) Validate() error {
 13900  	invalidParams := request.ErrInvalidParams{Context: "GetAssetPropertyAggregatesInput"}
 13901  	if s.AggregateTypes == nil {
 13902  		invalidParams.Add(request.NewErrParamRequired("AggregateTypes"))
 13903  	}
 13904  	if s.AggregateTypes != nil && len(s.AggregateTypes) < 1 {
 13905  		invalidParams.Add(request.NewErrParamMinLen("AggregateTypes", 1))
 13906  	}
 13907  	if s.AssetId != nil && len(*s.AssetId) < 36 {
 13908  		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
 13909  	}
 13910  	if s.EndDate == nil {
 13911  		invalidParams.Add(request.NewErrParamRequired("EndDate"))
 13912  	}
 13913  	if s.MaxResults != nil && *s.MaxResults < 1 {
 13914  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 13915  	}
 13916  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 13917  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 13918  	}
 13919  	if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 {
 13920  		invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1))
 13921  	}
 13922  	if s.PropertyId != nil && len(*s.PropertyId) < 36 {
 13923  		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36))
 13924  	}
 13925  	if s.Qualities != nil && len(s.Qualities) < 1 {
 13926  		invalidParams.Add(request.NewErrParamMinLen("Qualities", 1))
 13927  	}
 13928  	if s.Resolution == nil {
 13929  		invalidParams.Add(request.NewErrParamRequired("Resolution"))
 13930  	}
 13931  	if s.Resolution != nil && len(*s.Resolution) < 2 {
 13932  		invalidParams.Add(request.NewErrParamMinLen("Resolution", 2))
 13933  	}
 13934  	if s.StartDate == nil {
 13935  		invalidParams.Add(request.NewErrParamRequired("StartDate"))
 13936  	}
 13937  
 13938  	if invalidParams.Len() > 0 {
 13939  		return invalidParams
 13940  	}
 13941  	return nil
 13942  }
 13943  
 13944  // SetAggregateTypes sets the AggregateTypes field's value.
 13945  func (s *GetAssetPropertyAggregatesInput) SetAggregateTypes(v []*string) *GetAssetPropertyAggregatesInput {
 13946  	s.AggregateTypes = v
 13947  	return s
 13948  }
 13949  
 13950  // SetAssetId sets the AssetId field's value.
 13951  func (s *GetAssetPropertyAggregatesInput) SetAssetId(v string) *GetAssetPropertyAggregatesInput {
 13952  	s.AssetId = &v
 13953  	return s
 13954  }
 13955  
 13956  // SetEndDate sets the EndDate field's value.
 13957  func (s *GetAssetPropertyAggregatesInput) SetEndDate(v time.Time) *GetAssetPropertyAggregatesInput {
 13958  	s.EndDate = &v
 13959  	return s
 13960  }
 13961  
 13962  // SetMaxResults sets the MaxResults field's value.
 13963  func (s *GetAssetPropertyAggregatesInput) SetMaxResults(v int64) *GetAssetPropertyAggregatesInput {
 13964  	s.MaxResults = &v
 13965  	return s
 13966  }
 13967  
 13968  // SetNextToken sets the NextToken field's value.
 13969  func (s *GetAssetPropertyAggregatesInput) SetNextToken(v string) *GetAssetPropertyAggregatesInput {
 13970  	s.NextToken = &v
 13971  	return s
 13972  }
 13973  
 13974  // SetPropertyAlias sets the PropertyAlias field's value.
 13975  func (s *GetAssetPropertyAggregatesInput) SetPropertyAlias(v string) *GetAssetPropertyAggregatesInput {
 13976  	s.PropertyAlias = &v
 13977  	return s
 13978  }
 13979  
 13980  // SetPropertyId sets the PropertyId field's value.
 13981  func (s *GetAssetPropertyAggregatesInput) SetPropertyId(v string) *GetAssetPropertyAggregatesInput {
 13982  	s.PropertyId = &v
 13983  	return s
 13984  }
 13985  
 13986  // SetQualities sets the Qualities field's value.
 13987  func (s *GetAssetPropertyAggregatesInput) SetQualities(v []*string) *GetAssetPropertyAggregatesInput {
 13988  	s.Qualities = v
 13989  	return s
 13990  }
 13991  
 13992  // SetResolution sets the Resolution field's value.
 13993  func (s *GetAssetPropertyAggregatesInput) SetResolution(v string) *GetAssetPropertyAggregatesInput {
 13994  	s.Resolution = &v
 13995  	return s
 13996  }
 13997  
 13998  // SetStartDate sets the StartDate field's value.
 13999  func (s *GetAssetPropertyAggregatesInput) SetStartDate(v time.Time) *GetAssetPropertyAggregatesInput {
 14000  	s.StartDate = &v
 14001  	return s
 14002  }
 14003  
 14004  // SetTimeOrdering sets the TimeOrdering field's value.
 14005  func (s *GetAssetPropertyAggregatesInput) SetTimeOrdering(v string) *GetAssetPropertyAggregatesInput {
 14006  	s.TimeOrdering = &v
 14007  	return s
 14008  }
 14009  
 14010  type GetAssetPropertyAggregatesOutput struct {
 14011  	_ struct{} `type:"structure"`
 14012  
 14013  	// The requested aggregated values.
 14014  	//
 14015  	// AggregatedValues is a required field
 14016  	AggregatedValues []*AggregatedValue `locationName:"aggregatedValues" type:"list" required:"true"`
 14017  
 14018  	// The token for the next set of results, or null if there are no additional
 14019  	// results.
 14020  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14021  }
 14022  
 14023  // String returns the string representation.
 14024  //
 14025  // API parameter values that are decorated as "sensitive" in the API will not
 14026  // be included in the string output. The member name will be present, but the
 14027  // value will be replaced with "sensitive".
 14028  func (s GetAssetPropertyAggregatesOutput) String() string {
 14029  	return awsutil.Prettify(s)
 14030  }
 14031  
 14032  // GoString returns the string representation.
 14033  //
 14034  // API parameter values that are decorated as "sensitive" in the API will not
 14035  // be included in the string output. The member name will be present, but the
 14036  // value will be replaced with "sensitive".
 14037  func (s GetAssetPropertyAggregatesOutput) GoString() string {
 14038  	return s.String()
 14039  }
 14040  
 14041  // SetAggregatedValues sets the AggregatedValues field's value.
 14042  func (s *GetAssetPropertyAggregatesOutput) SetAggregatedValues(v []*AggregatedValue) *GetAssetPropertyAggregatesOutput {
 14043  	s.AggregatedValues = v
 14044  	return s
 14045  }
 14046  
 14047  // SetNextToken sets the NextToken field's value.
 14048  func (s *GetAssetPropertyAggregatesOutput) SetNextToken(v string) *GetAssetPropertyAggregatesOutput {
 14049  	s.NextToken = &v
 14050  	return s
 14051  }
 14052  
 14053  type GetAssetPropertyValueHistoryInput struct {
 14054  	_ struct{} `type:"structure" nopayload:"true"`
 14055  
 14056  	// The ID of the asset.
 14057  	AssetId *string `location:"querystring" locationName:"assetId" min:"36" type:"string"`
 14058  
 14059  	// The inclusive end of the range from which to query historical data, expressed
 14060  	// in seconds in Unix epoch time.
 14061  	EndDate *time.Time `location:"querystring" locationName:"endDate" type:"timestamp"`
 14062  
 14063  	// The maximum number of results to return for each paginated request.
 14064  	//
 14065  	// Default: 100
 14066  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 14067  
 14068  	// The token to be used for the next set of paginated results.
 14069  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
 14070  
 14071  	// The alias that identifies the property, such as an OPC-UA server data stream
 14072  	// path (for example, /company/windfarm/3/turbine/7/temperature). For more information,
 14073  	// see Mapping industrial data streams to asset properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
 14074  	// in the IoT SiteWise User Guide.
 14075  	PropertyAlias *string `location:"querystring" locationName:"propertyAlias" min:"1" type:"string"`
 14076  
 14077  	// The ID of the asset property.
 14078  	PropertyId *string `location:"querystring" locationName:"propertyId" min:"36" type:"string"`
 14079  
 14080  	// The quality by which to filter asset data.
 14081  	Qualities []*string `location:"querystring" locationName:"qualities" min:"1" type:"list"`
 14082  
 14083  	// The exclusive start of the range from which to query historical data, expressed
 14084  	// in seconds in Unix epoch time.
 14085  	StartDate *time.Time `location:"querystring" locationName:"startDate" type:"timestamp"`
 14086  
 14087  	// The chronological sorting order of the requested information.
 14088  	//
 14089  	// Default: ASCENDING
 14090  	TimeOrdering *string `location:"querystring" locationName:"timeOrdering" type:"string" enum:"TimeOrdering"`
 14091  }
 14092  
 14093  // String returns the string representation.
 14094  //
 14095  // API parameter values that are decorated as "sensitive" in the API will not
 14096  // be included in the string output. The member name will be present, but the
 14097  // value will be replaced with "sensitive".
 14098  func (s GetAssetPropertyValueHistoryInput) String() string {
 14099  	return awsutil.Prettify(s)
 14100  }
 14101  
 14102  // GoString returns the string representation.
 14103  //
 14104  // API parameter values that are decorated as "sensitive" in the API will not
 14105  // be included in the string output. The member name will be present, but the
 14106  // value will be replaced with "sensitive".
 14107  func (s GetAssetPropertyValueHistoryInput) GoString() string {
 14108  	return s.String()
 14109  }
 14110  
 14111  // Validate inspects the fields of the type to determine if they are valid.
 14112  func (s *GetAssetPropertyValueHistoryInput) Validate() error {
 14113  	invalidParams := request.ErrInvalidParams{Context: "GetAssetPropertyValueHistoryInput"}
 14114  	if s.AssetId != nil && len(*s.AssetId) < 36 {
 14115  		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
 14116  	}
 14117  	if s.MaxResults != nil && *s.MaxResults < 1 {
 14118  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 14119  	}
 14120  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 14121  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 14122  	}
 14123  	if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 {
 14124  		invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1))
 14125  	}
 14126  	if s.PropertyId != nil && len(*s.PropertyId) < 36 {
 14127  		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36))
 14128  	}
 14129  	if s.Qualities != nil && len(s.Qualities) < 1 {
 14130  		invalidParams.Add(request.NewErrParamMinLen("Qualities", 1))
 14131  	}
 14132  
 14133  	if invalidParams.Len() > 0 {
 14134  		return invalidParams
 14135  	}
 14136  	return nil
 14137  }
 14138  
 14139  // SetAssetId sets the AssetId field's value.
 14140  func (s *GetAssetPropertyValueHistoryInput) SetAssetId(v string) *GetAssetPropertyValueHistoryInput {
 14141  	s.AssetId = &v
 14142  	return s
 14143  }
 14144  
 14145  // SetEndDate sets the EndDate field's value.
 14146  func (s *GetAssetPropertyValueHistoryInput) SetEndDate(v time.Time) *GetAssetPropertyValueHistoryInput {
 14147  	s.EndDate = &v
 14148  	return s
 14149  }
 14150  
 14151  // SetMaxResults sets the MaxResults field's value.
 14152  func (s *GetAssetPropertyValueHistoryInput) SetMaxResults(v int64) *GetAssetPropertyValueHistoryInput {
 14153  	s.MaxResults = &v
 14154  	return s
 14155  }
 14156  
 14157  // SetNextToken sets the NextToken field's value.
 14158  func (s *GetAssetPropertyValueHistoryInput) SetNextToken(v string) *GetAssetPropertyValueHistoryInput {
 14159  	s.NextToken = &v
 14160  	return s
 14161  }
 14162  
 14163  // SetPropertyAlias sets the PropertyAlias field's value.
 14164  func (s *GetAssetPropertyValueHistoryInput) SetPropertyAlias(v string) *GetAssetPropertyValueHistoryInput {
 14165  	s.PropertyAlias = &v
 14166  	return s
 14167  }
 14168  
 14169  // SetPropertyId sets the PropertyId field's value.
 14170  func (s *GetAssetPropertyValueHistoryInput) SetPropertyId(v string) *GetAssetPropertyValueHistoryInput {
 14171  	s.PropertyId = &v
 14172  	return s
 14173  }
 14174  
 14175  // SetQualities sets the Qualities field's value.
 14176  func (s *GetAssetPropertyValueHistoryInput) SetQualities(v []*string) *GetAssetPropertyValueHistoryInput {
 14177  	s.Qualities = v
 14178  	return s
 14179  }
 14180  
 14181  // SetStartDate sets the StartDate field's value.
 14182  func (s *GetAssetPropertyValueHistoryInput) SetStartDate(v time.Time) *GetAssetPropertyValueHistoryInput {
 14183  	s.StartDate = &v
 14184  	return s
 14185  }
 14186  
 14187  // SetTimeOrdering sets the TimeOrdering field's value.
 14188  func (s *GetAssetPropertyValueHistoryInput) SetTimeOrdering(v string) *GetAssetPropertyValueHistoryInput {
 14189  	s.TimeOrdering = &v
 14190  	return s
 14191  }
 14192  
 14193  type GetAssetPropertyValueHistoryOutput struct {
 14194  	_ struct{} `type:"structure"`
 14195  
 14196  	// The asset property's value history.
 14197  	//
 14198  	// AssetPropertyValueHistory is a required field
 14199  	AssetPropertyValueHistory []*AssetPropertyValue `locationName:"assetPropertyValueHistory" type:"list" required:"true"`
 14200  
 14201  	// The token for the next set of results, or null if there are no additional
 14202  	// results.
 14203  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14204  }
 14205  
 14206  // String returns the string representation.
 14207  //
 14208  // API parameter values that are decorated as "sensitive" in the API will not
 14209  // be included in the string output. The member name will be present, but the
 14210  // value will be replaced with "sensitive".
 14211  func (s GetAssetPropertyValueHistoryOutput) String() string {
 14212  	return awsutil.Prettify(s)
 14213  }
 14214  
 14215  // GoString returns the string representation.
 14216  //
 14217  // API parameter values that are decorated as "sensitive" in the API will not
 14218  // be included in the string output. The member name will be present, but the
 14219  // value will be replaced with "sensitive".
 14220  func (s GetAssetPropertyValueHistoryOutput) GoString() string {
 14221  	return s.String()
 14222  }
 14223  
 14224  // SetAssetPropertyValueHistory sets the AssetPropertyValueHistory field's value.
 14225  func (s *GetAssetPropertyValueHistoryOutput) SetAssetPropertyValueHistory(v []*AssetPropertyValue) *GetAssetPropertyValueHistoryOutput {
 14226  	s.AssetPropertyValueHistory = v
 14227  	return s
 14228  }
 14229  
 14230  // SetNextToken sets the NextToken field's value.
 14231  func (s *GetAssetPropertyValueHistoryOutput) SetNextToken(v string) *GetAssetPropertyValueHistoryOutput {
 14232  	s.NextToken = &v
 14233  	return s
 14234  }
 14235  
 14236  type GetAssetPropertyValueInput struct {
 14237  	_ struct{} `type:"structure" nopayload:"true"`
 14238  
 14239  	// The ID of the asset.
 14240  	AssetId *string `location:"querystring" locationName:"assetId" min:"36" type:"string"`
 14241  
 14242  	// The alias that identifies the property, such as an OPC-UA server data stream
 14243  	// path (for example, /company/windfarm/3/turbine/7/temperature). For more information,
 14244  	// see Mapping industrial data streams to asset properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
 14245  	// in the IoT SiteWise User Guide.
 14246  	PropertyAlias *string `location:"querystring" locationName:"propertyAlias" min:"1" type:"string"`
 14247  
 14248  	// The ID of the asset property.
 14249  	PropertyId *string `location:"querystring" locationName:"propertyId" min:"36" type:"string"`
 14250  }
 14251  
 14252  // String returns the string representation.
 14253  //
 14254  // API parameter values that are decorated as "sensitive" in the API will not
 14255  // be included in the string output. The member name will be present, but the
 14256  // value will be replaced with "sensitive".
 14257  func (s GetAssetPropertyValueInput) String() string {
 14258  	return awsutil.Prettify(s)
 14259  }
 14260  
 14261  // GoString returns the string representation.
 14262  //
 14263  // API parameter values that are decorated as "sensitive" in the API will not
 14264  // be included in the string output. The member name will be present, but the
 14265  // value will be replaced with "sensitive".
 14266  func (s GetAssetPropertyValueInput) GoString() string {
 14267  	return s.String()
 14268  }
 14269  
 14270  // Validate inspects the fields of the type to determine if they are valid.
 14271  func (s *GetAssetPropertyValueInput) Validate() error {
 14272  	invalidParams := request.ErrInvalidParams{Context: "GetAssetPropertyValueInput"}
 14273  	if s.AssetId != nil && len(*s.AssetId) < 36 {
 14274  		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
 14275  	}
 14276  	if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 {
 14277  		invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1))
 14278  	}
 14279  	if s.PropertyId != nil && len(*s.PropertyId) < 36 {
 14280  		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36))
 14281  	}
 14282  
 14283  	if invalidParams.Len() > 0 {
 14284  		return invalidParams
 14285  	}
 14286  	return nil
 14287  }
 14288  
 14289  // SetAssetId sets the AssetId field's value.
 14290  func (s *GetAssetPropertyValueInput) SetAssetId(v string) *GetAssetPropertyValueInput {
 14291  	s.AssetId = &v
 14292  	return s
 14293  }
 14294  
 14295  // SetPropertyAlias sets the PropertyAlias field's value.
 14296  func (s *GetAssetPropertyValueInput) SetPropertyAlias(v string) *GetAssetPropertyValueInput {
 14297  	s.PropertyAlias = &v
 14298  	return s
 14299  }
 14300  
 14301  // SetPropertyId sets the PropertyId field's value.
 14302  func (s *GetAssetPropertyValueInput) SetPropertyId(v string) *GetAssetPropertyValueInput {
 14303  	s.PropertyId = &v
 14304  	return s
 14305  }
 14306  
 14307  type GetAssetPropertyValueOutput struct {
 14308  	_ struct{} `type:"structure"`
 14309  
 14310  	// The current asset property value.
 14311  	PropertyValue *AssetPropertyValue `locationName:"propertyValue" type:"structure"`
 14312  }
 14313  
 14314  // String returns the string representation.
 14315  //
 14316  // API parameter values that are decorated as "sensitive" in the API will not
 14317  // be included in the string output. The member name will be present, but the
 14318  // value will be replaced with "sensitive".
 14319  func (s GetAssetPropertyValueOutput) String() string {
 14320  	return awsutil.Prettify(s)
 14321  }
 14322  
 14323  // GoString returns the string representation.
 14324  //
 14325  // API parameter values that are decorated as "sensitive" in the API will not
 14326  // be included in the string output. The member name will be present, but the
 14327  // value will be replaced with "sensitive".
 14328  func (s GetAssetPropertyValueOutput) GoString() string {
 14329  	return s.String()
 14330  }
 14331  
 14332  // SetPropertyValue sets the PropertyValue field's value.
 14333  func (s *GetAssetPropertyValueOutput) SetPropertyValue(v *AssetPropertyValue) *GetAssetPropertyValueOutput {
 14334  	s.PropertyValue = v
 14335  	return s
 14336  }
 14337  
 14338  type GetInterpolatedAssetPropertyValuesInput struct {
 14339  	_ struct{} `type:"structure" nopayload:"true"`
 14340  
 14341  	// The ID of the asset.
 14342  	AssetId *string `location:"querystring" locationName:"assetId" min:"36" type:"string"`
 14343  
 14344  	// The inclusive end of the range from which to interpolate data, expressed
 14345  	// in seconds in Unix epoch time.
 14346  	//
 14347  	// EndTimeInSeconds is a required field
 14348  	EndTimeInSeconds *int64 `location:"querystring" locationName:"endTimeInSeconds" min:"1" type:"long" required:"true"`
 14349  
 14350  	// The nanosecond offset converted from endTimeInSeconds.
 14351  	EndTimeOffsetInNanos *int64 `location:"querystring" locationName:"endTimeOffsetInNanos" type:"integer"`
 14352  
 14353  	// The time interval in seconds over which to interpolate data. Each interval
 14354  	// starts when the previous one ends.
 14355  	//
 14356  	// IntervalInSeconds is a required field
 14357  	IntervalInSeconds *int64 `location:"querystring" locationName:"intervalInSeconds" min:"1" type:"long" required:"true"`
 14358  
 14359  	// The query interval for the window in seconds. IoT SiteWise computes each
 14360  	// interpolated value by using data points from the timestamp of each interval
 14361  	// minus the window to the timestamp of each interval plus the window. If not
 14362  	// specified, the window is between the start time minus the interval and the
 14363  	// end time plus the interval.
 14364  	//
 14365  	//    * If you specify a value for the intervalWindowInSeconds parameter, the
 14366  	//    type parameter must be LINEAR_INTERPOLATION.
 14367  	//
 14368  	//    * If no data point is found during the specified query window, IoT SiteWise
 14369  	//    won't return an interpolated value for the interval. This indicates that
 14370  	//    there's a gap in the ingested data points.
 14371  	//
 14372  	// For example, you can get the interpolated temperature values for a wind turbine
 14373  	// every 24 hours over a duration of 7 days. If the interpolation starts on
 14374  	// July 1, 2021, at 9 AM with a window of 2 hours, IoT SiteWise uses the data
 14375  	// points from 7 AM (9 AM - 2 hours) to 11 AM (9 AM + 2 hours) on July 2, 2021
 14376  	// to compute the first interpolated value, uses the data points from 7 AM (9
 14377  	// AM - 2 hours) to 11 AM (9 AM + 2 hours) on July 3, 2021 to compute the second
 14378  	// interpolated value, and so on.
 14379  	IntervalWindowInSeconds *int64 `location:"querystring" locationName:"intervalWindowInSeconds" min:"1" type:"long"`
 14380  
 14381  	// The maximum number of results to return for each paginated request. If not
 14382  	// specified, the default value is 10.
 14383  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 14384  
 14385  	// The token to be used for the next set of paginated results.
 14386  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
 14387  
 14388  	// The alias that identifies the property, such as an OPC-UA server data stream
 14389  	// path (for example, /company/windfarm/3/turbine/7/temperature). For more information,
 14390  	// see Mapping industrial data streams to asset properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
 14391  	// in the IoT SiteWise User Guide.
 14392  	PropertyAlias *string `location:"querystring" locationName:"propertyAlias" min:"1" type:"string"`
 14393  
 14394  	// The ID of the asset property.
 14395  	PropertyId *string `location:"querystring" locationName:"propertyId" min:"36" type:"string"`
 14396  
 14397  	// The quality of the asset property value. You can use this parameter as a
 14398  	// filter to choose only the asset property values that have a specific quality.
 14399  	//
 14400  	// Quality is a required field
 14401  	Quality *string `location:"querystring" locationName:"quality" type:"string" required:"true" enum:"Quality"`
 14402  
 14403  	// The exclusive start of the range from which to interpolate data, expressed
 14404  	// in seconds in Unix epoch time.
 14405  	//
 14406  	// StartTimeInSeconds is a required field
 14407  	StartTimeInSeconds *int64 `location:"querystring" locationName:"startTimeInSeconds" min:"1" type:"long" required:"true"`
 14408  
 14409  	// The nanosecond offset converted from startTimeInSeconds.
 14410  	StartTimeOffsetInNanos *int64 `location:"querystring" locationName:"startTimeOffsetInNanos" type:"integer"`
 14411  
 14412  	// The interpolation type.
 14413  	//
 14414  	// Valid values: LINEAR_INTERPOLATION | LOCF_INTERPOLATION
 14415  	//
 14416  	//    * LINEAR_INTERPOLATION – Estimates missing data using linear interpolation
 14417  	//    (https://en.wikipedia.org/wiki/Linear_interpolation). For example, you
 14418  	//    can use this operation to return the interpolated temperature values for
 14419  	//    a wind turbine every 24 hours over a duration of 7 days. If the interpolation
 14420  	//    starts on July 1, 2021, at 9 AM, IoT SiteWise returns the first interpolated
 14421  	//    value on July 2, 2021, at 9 AM, the second interpolated value on July
 14422  	//    3, 2021, at 9 AM, and so on.
 14423  	//
 14424  	//    * LOCF_INTERPOLATION – Estimates missing data using last observation
 14425  	//    carried forward interpolation If no data point is found for an interval,
 14426  	//    IoT SiteWise returns the last observed data point for the previous interval
 14427  	//    and carries forward this interpolated value until a new data point is
 14428  	//    found. For example, you can get the state of an on-off valve every 24
 14429  	//    hours over a duration of 7 days. If the interpolation starts on July 1,
 14430  	//    2021, at 9 AM, IoT SiteWise returns the last observed data point between
 14431  	//    July 1, 2021, at 9 AM and July 2, 2021, at 9 AM as the first interpolated
 14432  	//    value. If no data point is found after 9 AM on July 2, 2021, IoT SiteWise
 14433  	//    uses the same interpolated value for the rest of the days.
 14434  	//
 14435  	// Type is a required field
 14436  	Type *string `location:"querystring" locationName:"type" min:"1" type:"string" required:"true"`
 14437  }
 14438  
 14439  // String returns the string representation.
 14440  //
 14441  // API parameter values that are decorated as "sensitive" in the API will not
 14442  // be included in the string output. The member name will be present, but the
 14443  // value will be replaced with "sensitive".
 14444  func (s GetInterpolatedAssetPropertyValuesInput) String() string {
 14445  	return awsutil.Prettify(s)
 14446  }
 14447  
 14448  // GoString returns the string representation.
 14449  //
 14450  // API parameter values that are decorated as "sensitive" in the API will not
 14451  // be included in the string output. The member name will be present, but the
 14452  // value will be replaced with "sensitive".
 14453  func (s GetInterpolatedAssetPropertyValuesInput) GoString() string {
 14454  	return s.String()
 14455  }
 14456  
 14457  // Validate inspects the fields of the type to determine if they are valid.
 14458  func (s *GetInterpolatedAssetPropertyValuesInput) Validate() error {
 14459  	invalidParams := request.ErrInvalidParams{Context: "GetInterpolatedAssetPropertyValuesInput"}
 14460  	if s.AssetId != nil && len(*s.AssetId) < 36 {
 14461  		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
 14462  	}
 14463  	if s.EndTimeInSeconds == nil {
 14464  		invalidParams.Add(request.NewErrParamRequired("EndTimeInSeconds"))
 14465  	}
 14466  	if s.EndTimeInSeconds != nil && *s.EndTimeInSeconds < 1 {
 14467  		invalidParams.Add(request.NewErrParamMinValue("EndTimeInSeconds", 1))
 14468  	}
 14469  	if s.IntervalInSeconds == nil {
 14470  		invalidParams.Add(request.NewErrParamRequired("IntervalInSeconds"))
 14471  	}
 14472  	if s.IntervalInSeconds != nil && *s.IntervalInSeconds < 1 {
 14473  		invalidParams.Add(request.NewErrParamMinValue("IntervalInSeconds", 1))
 14474  	}
 14475  	if s.IntervalWindowInSeconds != nil && *s.IntervalWindowInSeconds < 1 {
 14476  		invalidParams.Add(request.NewErrParamMinValue("IntervalWindowInSeconds", 1))
 14477  	}
 14478  	if s.MaxResults != nil && *s.MaxResults < 1 {
 14479  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 14480  	}
 14481  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 14482  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 14483  	}
 14484  	if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 {
 14485  		invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1))
 14486  	}
 14487  	if s.PropertyId != nil && len(*s.PropertyId) < 36 {
 14488  		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36))
 14489  	}
 14490  	if s.Quality == nil {
 14491  		invalidParams.Add(request.NewErrParamRequired("Quality"))
 14492  	}
 14493  	if s.StartTimeInSeconds == nil {
 14494  		invalidParams.Add(request.NewErrParamRequired("StartTimeInSeconds"))
 14495  	}
 14496  	if s.StartTimeInSeconds != nil && *s.StartTimeInSeconds < 1 {
 14497  		invalidParams.Add(request.NewErrParamMinValue("StartTimeInSeconds", 1))
 14498  	}
 14499  	if s.Type == nil {
 14500  		invalidParams.Add(request.NewErrParamRequired("Type"))
 14501  	}
 14502  	if s.Type != nil && len(*s.Type) < 1 {
 14503  		invalidParams.Add(request.NewErrParamMinLen("Type", 1))
 14504  	}
 14505  
 14506  	if invalidParams.Len() > 0 {
 14507  		return invalidParams
 14508  	}
 14509  	return nil
 14510  }
 14511  
 14512  // SetAssetId sets the AssetId field's value.
 14513  func (s *GetInterpolatedAssetPropertyValuesInput) SetAssetId(v string) *GetInterpolatedAssetPropertyValuesInput {
 14514  	s.AssetId = &v
 14515  	return s
 14516  }
 14517  
 14518  // SetEndTimeInSeconds sets the EndTimeInSeconds field's value.
 14519  func (s *GetInterpolatedAssetPropertyValuesInput) SetEndTimeInSeconds(v int64) *GetInterpolatedAssetPropertyValuesInput {
 14520  	s.EndTimeInSeconds = &v
 14521  	return s
 14522  }
 14523  
 14524  // SetEndTimeOffsetInNanos sets the EndTimeOffsetInNanos field's value.
 14525  func (s *GetInterpolatedAssetPropertyValuesInput) SetEndTimeOffsetInNanos(v int64) *GetInterpolatedAssetPropertyValuesInput {
 14526  	s.EndTimeOffsetInNanos = &v
 14527  	return s
 14528  }
 14529  
 14530  // SetIntervalInSeconds sets the IntervalInSeconds field's value.
 14531  func (s *GetInterpolatedAssetPropertyValuesInput) SetIntervalInSeconds(v int64) *GetInterpolatedAssetPropertyValuesInput {
 14532  	s.IntervalInSeconds = &v
 14533  	return s
 14534  }
 14535  
 14536  // SetIntervalWindowInSeconds sets the IntervalWindowInSeconds field's value.
 14537  func (s *GetInterpolatedAssetPropertyValuesInput) SetIntervalWindowInSeconds(v int64) *GetInterpolatedAssetPropertyValuesInput {
 14538  	s.IntervalWindowInSeconds = &v
 14539  	return s
 14540  }
 14541  
 14542  // SetMaxResults sets the MaxResults field's value.
 14543  func (s *GetInterpolatedAssetPropertyValuesInput) SetMaxResults(v int64) *GetInterpolatedAssetPropertyValuesInput {
 14544  	s.MaxResults = &v
 14545  	return s
 14546  }
 14547  
 14548  // SetNextToken sets the NextToken field's value.
 14549  func (s *GetInterpolatedAssetPropertyValuesInput) SetNextToken(v string) *GetInterpolatedAssetPropertyValuesInput {
 14550  	s.NextToken = &v
 14551  	return s
 14552  }
 14553  
 14554  // SetPropertyAlias sets the PropertyAlias field's value.
 14555  func (s *GetInterpolatedAssetPropertyValuesInput) SetPropertyAlias(v string) *GetInterpolatedAssetPropertyValuesInput {
 14556  	s.PropertyAlias = &v
 14557  	return s
 14558  }
 14559  
 14560  // SetPropertyId sets the PropertyId field's value.
 14561  func (s *GetInterpolatedAssetPropertyValuesInput) SetPropertyId(v string) *GetInterpolatedAssetPropertyValuesInput {
 14562  	s.PropertyId = &v
 14563  	return s
 14564  }
 14565  
 14566  // SetQuality sets the Quality field's value.
 14567  func (s *GetInterpolatedAssetPropertyValuesInput) SetQuality(v string) *GetInterpolatedAssetPropertyValuesInput {
 14568  	s.Quality = &v
 14569  	return s
 14570  }
 14571  
 14572  // SetStartTimeInSeconds sets the StartTimeInSeconds field's value.
 14573  func (s *GetInterpolatedAssetPropertyValuesInput) SetStartTimeInSeconds(v int64) *GetInterpolatedAssetPropertyValuesInput {
 14574  	s.StartTimeInSeconds = &v
 14575  	return s
 14576  }
 14577  
 14578  // SetStartTimeOffsetInNanos sets the StartTimeOffsetInNanos field's value.
 14579  func (s *GetInterpolatedAssetPropertyValuesInput) SetStartTimeOffsetInNanos(v int64) *GetInterpolatedAssetPropertyValuesInput {
 14580  	s.StartTimeOffsetInNanos = &v
 14581  	return s
 14582  }
 14583  
 14584  // SetType sets the Type field's value.
 14585  func (s *GetInterpolatedAssetPropertyValuesInput) SetType(v string) *GetInterpolatedAssetPropertyValuesInput {
 14586  	s.Type = &v
 14587  	return s
 14588  }
 14589  
 14590  type GetInterpolatedAssetPropertyValuesOutput struct {
 14591  	_ struct{} `type:"structure"`
 14592  
 14593  	// The requested interpolated values.
 14594  	//
 14595  	// InterpolatedAssetPropertyValues is a required field
 14596  	InterpolatedAssetPropertyValues []*InterpolatedAssetPropertyValue `locationName:"interpolatedAssetPropertyValues" type:"list" required:"true"`
 14597  
 14598  	// The token for the next set of results, or null if there are no additional
 14599  	// results.
 14600  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14601  }
 14602  
 14603  // String returns the string representation.
 14604  //
 14605  // API parameter values that are decorated as "sensitive" in the API will not
 14606  // be included in the string output. The member name will be present, but the
 14607  // value will be replaced with "sensitive".
 14608  func (s GetInterpolatedAssetPropertyValuesOutput) String() string {
 14609  	return awsutil.Prettify(s)
 14610  }
 14611  
 14612  // GoString returns the string representation.
 14613  //
 14614  // API parameter values that are decorated as "sensitive" in the API will not
 14615  // be included in the string output. The member name will be present, but the
 14616  // value will be replaced with "sensitive".
 14617  func (s GetInterpolatedAssetPropertyValuesOutput) GoString() string {
 14618  	return s.String()
 14619  }
 14620  
 14621  // SetInterpolatedAssetPropertyValues sets the InterpolatedAssetPropertyValues field's value.
 14622  func (s *GetInterpolatedAssetPropertyValuesOutput) SetInterpolatedAssetPropertyValues(v []*InterpolatedAssetPropertyValue) *GetInterpolatedAssetPropertyValuesOutput {
 14623  	s.InterpolatedAssetPropertyValues = v
 14624  	return s
 14625  }
 14626  
 14627  // SetNextToken sets the NextToken field's value.
 14628  func (s *GetInterpolatedAssetPropertyValuesOutput) SetNextToken(v string) *GetInterpolatedAssetPropertyValuesOutput {
 14629  	s.NextToken = &v
 14630  	return s
 14631  }
 14632  
 14633  // Contains details for a gateway that runs on IoT Greengrass. To create a gateway
 14634  // that runs on IoT Greengrass, you must add the IoT SiteWise connector to a
 14635  // Greengrass group and deploy it. Your Greengrass group must also have permissions
 14636  // to upload data to IoT SiteWise. For more information, see Ingesting data
 14637  // using a gateway (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/gateway-connector.html)
 14638  // in the IoT SiteWise User Guide.
 14639  type Greengrass struct {
 14640  	_ struct{} `type:"structure"`
 14641  
 14642  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 14643  	// of the Greengrass group. For more information about how to find a group's
 14644  	// ARN, see ListGroups (https://docs.aws.amazon.com/greengrass/latest/apireference/listgroups-get.html)
 14645  	// and GetGroup (https://docs.aws.amazon.com/greengrass/latest/apireference/getgroup-get.html)
 14646  	// in the IoT Greengrass API Reference.
 14647  	//
 14648  	// GroupArn is a required field
 14649  	GroupArn *string `locationName:"groupArn" min:"1" type:"string" required:"true"`
 14650  }
 14651  
 14652  // String returns the string representation.
 14653  //
 14654  // API parameter values that are decorated as "sensitive" in the API will not
 14655  // be included in the string output. The member name will be present, but the
 14656  // value will be replaced with "sensitive".
 14657  func (s Greengrass) String() string {
 14658  	return awsutil.Prettify(s)
 14659  }
 14660  
 14661  // GoString returns the string representation.
 14662  //
 14663  // API parameter values that are decorated as "sensitive" in the API will not
 14664  // be included in the string output. The member name will be present, but the
 14665  // value will be replaced with "sensitive".
 14666  func (s Greengrass) GoString() string {
 14667  	return s.String()
 14668  }
 14669  
 14670  // Validate inspects the fields of the type to determine if they are valid.
 14671  func (s *Greengrass) Validate() error {
 14672  	invalidParams := request.ErrInvalidParams{Context: "Greengrass"}
 14673  	if s.GroupArn == nil {
 14674  		invalidParams.Add(request.NewErrParamRequired("GroupArn"))
 14675  	}
 14676  	if s.GroupArn != nil && len(*s.GroupArn) < 1 {
 14677  		invalidParams.Add(request.NewErrParamMinLen("GroupArn", 1))
 14678  	}
 14679  
 14680  	if invalidParams.Len() > 0 {
 14681  		return invalidParams
 14682  	}
 14683  	return nil
 14684  }
 14685  
 14686  // SetGroupArn sets the GroupArn field's value.
 14687  func (s *Greengrass) SetGroupArn(v string) *Greengrass {
 14688  	s.GroupArn = &v
 14689  	return s
 14690  }
 14691  
 14692  // Contains details for a gateway that runs on IoT Greengrass V2. To create
 14693  // a gateway that runs on IoT Greengrass V2, you must deploy the IoT SiteWise
 14694  // Edge component to your gateway device. Your Greengrass device role (https://docs.aws.amazon.com/greengrass/v2/developerguide/device-service-role.html)
 14695  // must use the AWSIoTSiteWiseEdgeAccess policy. For more information, see Using
 14696  // IoT SiteWise at the edge (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/sw-gateways.html)
 14697  // in the IoT SiteWise User Guide.
 14698  type GreengrassV2 struct {
 14699  	_ struct{} `type:"structure"`
 14700  
 14701  	// The name of the IoT thing for your IoT Greengrass V2 core device.
 14702  	//
 14703  	// CoreDeviceThingName is a required field
 14704  	CoreDeviceThingName *string `locationName:"coreDeviceThingName" min:"1" type:"string" required:"true"`
 14705  }
 14706  
 14707  // String returns the string representation.
 14708  //
 14709  // API parameter values that are decorated as "sensitive" in the API will not
 14710  // be included in the string output. The member name will be present, but the
 14711  // value will be replaced with "sensitive".
 14712  func (s GreengrassV2) String() string {
 14713  	return awsutil.Prettify(s)
 14714  }
 14715  
 14716  // GoString returns the string representation.
 14717  //
 14718  // API parameter values that are decorated as "sensitive" in the API will not
 14719  // be included in the string output. The member name will be present, but the
 14720  // value will be replaced with "sensitive".
 14721  func (s GreengrassV2) GoString() string {
 14722  	return s.String()
 14723  }
 14724  
 14725  // Validate inspects the fields of the type to determine if they are valid.
 14726  func (s *GreengrassV2) Validate() error {
 14727  	invalidParams := request.ErrInvalidParams{Context: "GreengrassV2"}
 14728  	if s.CoreDeviceThingName == nil {
 14729  		invalidParams.Add(request.NewErrParamRequired("CoreDeviceThingName"))
 14730  	}
 14731  	if s.CoreDeviceThingName != nil && len(*s.CoreDeviceThingName) < 1 {
 14732  		invalidParams.Add(request.NewErrParamMinLen("CoreDeviceThingName", 1))
 14733  	}
 14734  
 14735  	if invalidParams.Len() > 0 {
 14736  		return invalidParams
 14737  	}
 14738  	return nil
 14739  }
 14740  
 14741  // SetCoreDeviceThingName sets the CoreDeviceThingName field's value.
 14742  func (s *GreengrassV2) SetCoreDeviceThingName(v string) *GreengrassV2 {
 14743  	s.CoreDeviceThingName = &v
 14744  	return s
 14745  }
 14746  
 14747  // Contains information for a group identity in an access policy.
 14748  type GroupIdentity struct {
 14749  	_ struct{} `type:"structure"`
 14750  
 14751  	// The Amazon Web Services SSO ID of the group.
 14752  	//
 14753  	// Id is a required field
 14754  	Id *string `locationName:"id" min:"1" type:"string" required:"true"`
 14755  }
 14756  
 14757  // String returns the string representation.
 14758  //
 14759  // API parameter values that are decorated as "sensitive" in the API will not
 14760  // be included in the string output. The member name will be present, but the
 14761  // value will be replaced with "sensitive".
 14762  func (s GroupIdentity) String() string {
 14763  	return awsutil.Prettify(s)
 14764  }
 14765  
 14766  // GoString returns the string representation.
 14767  //
 14768  // API parameter values that are decorated as "sensitive" in the API will not
 14769  // be included in the string output. The member name will be present, but the
 14770  // value will be replaced with "sensitive".
 14771  func (s GroupIdentity) GoString() string {
 14772  	return s.String()
 14773  }
 14774  
 14775  // Validate inspects the fields of the type to determine if they are valid.
 14776  func (s *GroupIdentity) Validate() error {
 14777  	invalidParams := request.ErrInvalidParams{Context: "GroupIdentity"}
 14778  	if s.Id == nil {
 14779  		invalidParams.Add(request.NewErrParamRequired("Id"))
 14780  	}
 14781  	if s.Id != nil && len(*s.Id) < 1 {
 14782  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 14783  	}
 14784  
 14785  	if invalidParams.Len() > 0 {
 14786  		return invalidParams
 14787  	}
 14788  	return nil
 14789  }
 14790  
 14791  // SetId sets the Id field's value.
 14792  func (s *GroupIdentity) SetId(v string) *GroupIdentity {
 14793  	s.Id = &v
 14794  	return s
 14795  }
 14796  
 14797  // Contains information about an Identity and Access Management role. For more
 14798  // information, see IAM roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)
 14799  // in the IAM User Guide.
 14800  type IAMRoleIdentity struct {
 14801  	_ struct{} `type:"structure"`
 14802  
 14803  	// The ARN of the IAM role. For more information, see IAM ARNs (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html)
 14804  	// in the IAM User Guide.
 14805  	//
 14806  	// Arn is a required field
 14807  	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
 14808  }
 14809  
 14810  // String returns the string representation.
 14811  //
 14812  // API parameter values that are decorated as "sensitive" in the API will not
 14813  // be included in the string output. The member name will be present, but the
 14814  // value will be replaced with "sensitive".
 14815  func (s IAMRoleIdentity) String() string {
 14816  	return awsutil.Prettify(s)
 14817  }
 14818  
 14819  // GoString returns the string representation.
 14820  //
 14821  // API parameter values that are decorated as "sensitive" in the API will not
 14822  // be included in the string output. The member name will be present, but the
 14823  // value will be replaced with "sensitive".
 14824  func (s IAMRoleIdentity) GoString() string {
 14825  	return s.String()
 14826  }
 14827  
 14828  // Validate inspects the fields of the type to determine if they are valid.
 14829  func (s *IAMRoleIdentity) Validate() error {
 14830  	invalidParams := request.ErrInvalidParams{Context: "IAMRoleIdentity"}
 14831  	if s.Arn == nil {
 14832  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 14833  	}
 14834  	if s.Arn != nil && len(*s.Arn) < 1 {
 14835  		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
 14836  	}
 14837  
 14838  	if invalidParams.Len() > 0 {
 14839  		return invalidParams
 14840  	}
 14841  	return nil
 14842  }
 14843  
 14844  // SetArn sets the Arn field's value.
 14845  func (s *IAMRoleIdentity) SetArn(v string) *IAMRoleIdentity {
 14846  	s.Arn = &v
 14847  	return s
 14848  }
 14849  
 14850  // Contains information about an Identity and Access Management user.
 14851  type IAMUserIdentity struct {
 14852  	_ struct{} `type:"structure"`
 14853  
 14854  	// The ARN of the IAM user. For more information, see IAM ARNs (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html)
 14855  	// in the IAM User Guide.
 14856  	//
 14857  	// If you delete the IAM user, access policies that contain this identity include
 14858  	// an empty arn. You can delete the access policy for the IAM user that no longer
 14859  	// exists.
 14860  	//
 14861  	// Arn is a required field
 14862  	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
 14863  }
 14864  
 14865  // String returns the string representation.
 14866  //
 14867  // API parameter values that are decorated as "sensitive" in the API will not
 14868  // be included in the string output. The member name will be present, but the
 14869  // value will be replaced with "sensitive".
 14870  func (s IAMUserIdentity) String() string {
 14871  	return awsutil.Prettify(s)
 14872  }
 14873  
 14874  // GoString returns the string representation.
 14875  //
 14876  // API parameter values that are decorated as "sensitive" in the API will not
 14877  // be included in the string output. The member name will be present, but the
 14878  // value will be replaced with "sensitive".
 14879  func (s IAMUserIdentity) GoString() string {
 14880  	return s.String()
 14881  }
 14882  
 14883  // Validate inspects the fields of the type to determine if they are valid.
 14884  func (s *IAMUserIdentity) Validate() error {
 14885  	invalidParams := request.ErrInvalidParams{Context: "IAMUserIdentity"}
 14886  	if s.Arn == nil {
 14887  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 14888  	}
 14889  	if s.Arn != nil && len(*s.Arn) < 1 {
 14890  		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
 14891  	}
 14892  
 14893  	if invalidParams.Len() > 0 {
 14894  		return invalidParams
 14895  	}
 14896  	return nil
 14897  }
 14898  
 14899  // SetArn sets the Arn field's value.
 14900  func (s *IAMUserIdentity) SetArn(v string) *IAMUserIdentity {
 14901  	s.Arn = &v
 14902  	return s
 14903  }
 14904  
 14905  // Contains an identity that can access an IoT SiteWise Monitor resource.
 14906  //
 14907  // Currently, you can't use Amazon Web Services APIs to retrieve Amazon Web
 14908  // Services SSO identity IDs. You can find the Amazon Web Services SSO identity
 14909  // IDs in the URL of user and group pages in the Amazon Web Services SSO console
 14910  // (https://console.aws.amazon.com/singlesignon).
 14911  type Identity struct {
 14912  	_ struct{} `type:"structure"`
 14913  
 14914  	// An Amazon Web Services SSO group identity.
 14915  	Group *GroupIdentity `locationName:"group" type:"structure"`
 14916  
 14917  	// An IAM role identity.
 14918  	IamRole *IAMRoleIdentity `locationName:"iamRole" type:"structure"`
 14919  
 14920  	// An IAM user identity.
 14921  	IamUser *IAMUserIdentity `locationName:"iamUser" type:"structure"`
 14922  
 14923  	// An Amazon Web Services SSO user identity.
 14924  	User *UserIdentity `locationName:"user" type:"structure"`
 14925  }
 14926  
 14927  // String returns the string representation.
 14928  //
 14929  // API parameter values that are decorated as "sensitive" in the API will not
 14930  // be included in the string output. The member name will be present, but the
 14931  // value will be replaced with "sensitive".
 14932  func (s Identity) String() string {
 14933  	return awsutil.Prettify(s)
 14934  }
 14935  
 14936  // GoString returns the string representation.
 14937  //
 14938  // API parameter values that are decorated as "sensitive" in the API will not
 14939  // be included in the string output. The member name will be present, but the
 14940  // value will be replaced with "sensitive".
 14941  func (s Identity) GoString() string {
 14942  	return s.String()
 14943  }
 14944  
 14945  // Validate inspects the fields of the type to determine if they are valid.
 14946  func (s *Identity) Validate() error {
 14947  	invalidParams := request.ErrInvalidParams{Context: "Identity"}
 14948  	if s.Group != nil {
 14949  		if err := s.Group.Validate(); err != nil {
 14950  			invalidParams.AddNested("Group", err.(request.ErrInvalidParams))
 14951  		}
 14952  	}
 14953  	if s.IamRole != nil {
 14954  		if err := s.IamRole.Validate(); err != nil {
 14955  			invalidParams.AddNested("IamRole", err.(request.ErrInvalidParams))
 14956  		}
 14957  	}
 14958  	if s.IamUser != nil {
 14959  		if err := s.IamUser.Validate(); err != nil {
 14960  			invalidParams.AddNested("IamUser", err.(request.ErrInvalidParams))
 14961  		}
 14962  	}
 14963  	if s.User != nil {
 14964  		if err := s.User.Validate(); err != nil {
 14965  			invalidParams.AddNested("User", err.(request.ErrInvalidParams))
 14966  		}
 14967  	}
 14968  
 14969  	if invalidParams.Len() > 0 {
 14970  		return invalidParams
 14971  	}
 14972  	return nil
 14973  }
 14974  
 14975  // SetGroup sets the Group field's value.
 14976  func (s *Identity) SetGroup(v *GroupIdentity) *Identity {
 14977  	s.Group = v
 14978  	return s
 14979  }
 14980  
 14981  // SetIamRole sets the IamRole field's value.
 14982  func (s *Identity) SetIamRole(v *IAMRoleIdentity) *Identity {
 14983  	s.IamRole = v
 14984  	return s
 14985  }
 14986  
 14987  // SetIamUser sets the IamUser field's value.
 14988  func (s *Identity) SetIamUser(v *IAMUserIdentity) *Identity {
 14989  	s.IamUser = v
 14990  	return s
 14991  }
 14992  
 14993  // SetUser sets the User field's value.
 14994  func (s *Identity) SetUser(v *UserIdentity) *Identity {
 14995  	s.User = v
 14996  	return s
 14997  }
 14998  
 14999  // Contains an image that is one of the following:
 15000  //
 15001  //    * An image file. Choose this option to upload a new image.
 15002  //
 15003  //    * The ID of an existing image. Choose this option to keep an existing
 15004  //    image.
 15005  type Image struct {
 15006  	_ struct{} `type:"structure"`
 15007  
 15008  	// Contains an image file.
 15009  	File *ImageFile `locationName:"file" type:"structure"`
 15010  
 15011  	// The ID of an existing image. Specify this parameter to keep an existing image.
 15012  	Id *string `locationName:"id" min:"36" type:"string"`
 15013  }
 15014  
 15015  // String returns the string representation.
 15016  //
 15017  // API parameter values that are decorated as "sensitive" in the API will not
 15018  // be included in the string output. The member name will be present, but the
 15019  // value will be replaced with "sensitive".
 15020  func (s Image) String() string {
 15021  	return awsutil.Prettify(s)
 15022  }
 15023  
 15024  // GoString returns the string representation.
 15025  //
 15026  // API parameter values that are decorated as "sensitive" in the API will not
 15027  // be included in the string output. The member name will be present, but the
 15028  // value will be replaced with "sensitive".
 15029  func (s Image) GoString() string {
 15030  	return s.String()
 15031  }
 15032  
 15033  // Validate inspects the fields of the type to determine if they are valid.
 15034  func (s *Image) Validate() error {
 15035  	invalidParams := request.ErrInvalidParams{Context: "Image"}
 15036  	if s.Id != nil && len(*s.Id) < 36 {
 15037  		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
 15038  	}
 15039  	if s.File != nil {
 15040  		if err := s.File.Validate(); err != nil {
 15041  			invalidParams.AddNested("File", err.(request.ErrInvalidParams))
 15042  		}
 15043  	}
 15044  
 15045  	if invalidParams.Len() > 0 {
 15046  		return invalidParams
 15047  	}
 15048  	return nil
 15049  }
 15050  
 15051  // SetFile sets the File field's value.
 15052  func (s *Image) SetFile(v *ImageFile) *Image {
 15053  	s.File = v
 15054  	return s
 15055  }
 15056  
 15057  // SetId sets the Id field's value.
 15058  func (s *Image) SetId(v string) *Image {
 15059  	s.Id = &v
 15060  	return s
 15061  }
 15062  
 15063  // Contains an image file.
 15064  type ImageFile struct {
 15065  	_ struct{} `type:"structure"`
 15066  
 15067  	// The image file contents, represented as a base64-encoded string. The file
 15068  	// size must be less than 1 MB.
 15069  	// Data is automatically base64 encoded/decoded by the SDK.
 15070  	//
 15071  	// Data is a required field
 15072  	Data []byte `locationName:"data" min:"1" type:"blob" required:"true"`
 15073  
 15074  	// The file type of the image.
 15075  	//
 15076  	// Type is a required field
 15077  	Type *string `locationName:"type" type:"string" required:"true" enum:"ImageFileType"`
 15078  }
 15079  
 15080  // String returns the string representation.
 15081  //
 15082  // API parameter values that are decorated as "sensitive" in the API will not
 15083  // be included in the string output. The member name will be present, but the
 15084  // value will be replaced with "sensitive".
 15085  func (s ImageFile) String() string {
 15086  	return awsutil.Prettify(s)
 15087  }
 15088  
 15089  // GoString returns the string representation.
 15090  //
 15091  // API parameter values that are decorated as "sensitive" in the API will not
 15092  // be included in the string output. The member name will be present, but the
 15093  // value will be replaced with "sensitive".
 15094  func (s ImageFile) GoString() string {
 15095  	return s.String()
 15096  }
 15097  
 15098  // Validate inspects the fields of the type to determine if they are valid.
 15099  func (s *ImageFile) Validate() error {
 15100  	invalidParams := request.ErrInvalidParams{Context: "ImageFile"}
 15101  	if s.Data == nil {
 15102  		invalidParams.Add(request.NewErrParamRequired("Data"))
 15103  	}
 15104  	if s.Data != nil && len(s.Data) < 1 {
 15105  		invalidParams.Add(request.NewErrParamMinLen("Data", 1))
 15106  	}
 15107  	if s.Type == nil {
 15108  		invalidParams.Add(request.NewErrParamRequired("Type"))
 15109  	}
 15110  
 15111  	if invalidParams.Len() > 0 {
 15112  		return invalidParams
 15113  	}
 15114  	return nil
 15115  }
 15116  
 15117  // SetData sets the Data field's value.
 15118  func (s *ImageFile) SetData(v []byte) *ImageFile {
 15119  	s.Data = v
 15120  	return s
 15121  }
 15122  
 15123  // SetType sets the Type field's value.
 15124  func (s *ImageFile) SetType(v string) *ImageFile {
 15125  	s.Type = &v
 15126  	return s
 15127  }
 15128  
 15129  // Contains an image that is uploaded to IoT SiteWise and available at a URL.
 15130  type ImageLocation struct {
 15131  	_ struct{} `type:"structure"`
 15132  
 15133  	// The ID of the image.
 15134  	//
 15135  	// Id is a required field
 15136  	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
 15137  
 15138  	// The URL where the image is available. The URL is valid for 15 minutes so
 15139  	// that you can view and download the image
 15140  	//
 15141  	// Url is a required field
 15142  	Url *string `locationName:"url" min:"1" type:"string" required:"true"`
 15143  }
 15144  
 15145  // String returns the string representation.
 15146  //
 15147  // API parameter values that are decorated as "sensitive" in the API will not
 15148  // be included in the string output. The member name will be present, but the
 15149  // value will be replaced with "sensitive".
 15150  func (s ImageLocation) String() string {
 15151  	return awsutil.Prettify(s)
 15152  }
 15153  
 15154  // GoString returns the string representation.
 15155  //
 15156  // API parameter values that are decorated as "sensitive" in the API will not
 15157  // be included in the string output. The member name will be present, but the
 15158  // value will be replaced with "sensitive".
 15159  func (s ImageLocation) GoString() string {
 15160  	return s.String()
 15161  }
 15162  
 15163  // SetId sets the Id field's value.
 15164  func (s *ImageLocation) SetId(v string) *ImageLocation {
 15165  	s.Id = &v
 15166  	return s
 15167  }
 15168  
 15169  // SetUrl sets the Url field's value.
 15170  func (s *ImageLocation) SetUrl(v string) *ImageLocation {
 15171  	s.Url = &v
 15172  	return s
 15173  }
 15174  
 15175  // IoT SiteWise can't process your request right now. Try again later.
 15176  type InternalFailureException struct {
 15177  	_            struct{}                  `type:"structure"`
 15178  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15179  
 15180  	Message_ *string `locationName:"message" type:"string"`
 15181  }
 15182  
 15183  // String returns the string representation.
 15184  //
 15185  // API parameter values that are decorated as "sensitive" in the API will not
 15186  // be included in the string output. The member name will be present, but the
 15187  // value will be replaced with "sensitive".
 15188  func (s InternalFailureException) String() string {
 15189  	return awsutil.Prettify(s)
 15190  }
 15191  
 15192  // GoString returns the string representation.
 15193  //
 15194  // API parameter values that are decorated as "sensitive" in the API will not
 15195  // be included in the string output. The member name will be present, but the
 15196  // value will be replaced with "sensitive".
 15197  func (s InternalFailureException) GoString() string {
 15198  	return s.String()
 15199  }
 15200  
 15201  func newErrorInternalFailureException(v protocol.ResponseMetadata) error {
 15202  	return &InternalFailureException{
 15203  		RespMetadata: v,
 15204  	}
 15205  }
 15206  
 15207  // Code returns the exception type name.
 15208  func (s *InternalFailureException) Code() string {
 15209  	return "InternalFailureException"
 15210  }
 15211  
 15212  // Message returns the exception's message.
 15213  func (s *InternalFailureException) Message() string {
 15214  	if s.Message_ != nil {
 15215  		return *s.Message_
 15216  	}
 15217  	return ""
 15218  }
 15219  
 15220  // OrigErr always returns nil, satisfies awserr.Error interface.
 15221  func (s *InternalFailureException) OrigErr() error {
 15222  	return nil
 15223  }
 15224  
 15225  func (s *InternalFailureException) Error() string {
 15226  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15227  }
 15228  
 15229  // Status code returns the HTTP status code for the request's response error.
 15230  func (s *InternalFailureException) StatusCode() int {
 15231  	return s.RespMetadata.StatusCode
 15232  }
 15233  
 15234  // RequestID returns the service's response RequestID for request.
 15235  func (s *InternalFailureException) RequestID() string {
 15236  	return s.RespMetadata.RequestID
 15237  }
 15238  
 15239  // Contains information about an interpolated asset property value.
 15240  type InterpolatedAssetPropertyValue struct {
 15241  	_ struct{} `type:"structure"`
 15242  
 15243  	// Contains a timestamp with optional nanosecond granularity.
 15244  	//
 15245  	// Timestamp is a required field
 15246  	Timestamp *TimeInNanos `locationName:"timestamp" type:"structure" required:"true"`
 15247  
 15248  	// Contains an asset property value (of a single type only).
 15249  	//
 15250  	// Value is a required field
 15251  	Value *Variant `locationName:"value" type:"structure" required:"true"`
 15252  }
 15253  
 15254  // String returns the string representation.
 15255  //
 15256  // API parameter values that are decorated as "sensitive" in the API will not
 15257  // be included in the string output. The member name will be present, but the
 15258  // value will be replaced with "sensitive".
 15259  func (s InterpolatedAssetPropertyValue) String() string {
 15260  	return awsutil.Prettify(s)
 15261  }
 15262  
 15263  // GoString returns the string representation.
 15264  //
 15265  // API parameter values that are decorated as "sensitive" in the API will not
 15266  // be included in the string output. The member name will be present, but the
 15267  // value will be replaced with "sensitive".
 15268  func (s InterpolatedAssetPropertyValue) GoString() string {
 15269  	return s.String()
 15270  }
 15271  
 15272  // SetTimestamp sets the Timestamp field's value.
 15273  func (s *InterpolatedAssetPropertyValue) SetTimestamp(v *TimeInNanos) *InterpolatedAssetPropertyValue {
 15274  	s.Timestamp = v
 15275  	return s
 15276  }
 15277  
 15278  // SetValue sets the Value field's value.
 15279  func (s *InterpolatedAssetPropertyValue) SetValue(v *Variant) *InterpolatedAssetPropertyValue {
 15280  	s.Value = v
 15281  	return s
 15282  }
 15283  
 15284  // The request isn't valid. This can occur if your request contains malformed
 15285  // JSON or unsupported characters. Check your request and try again.
 15286  type InvalidRequestException struct {
 15287  	_            struct{}                  `type:"structure"`
 15288  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15289  
 15290  	Message_ *string `locationName:"message" type:"string"`
 15291  }
 15292  
 15293  // String returns the string representation.
 15294  //
 15295  // API parameter values that are decorated as "sensitive" in the API will not
 15296  // be included in the string output. The member name will be present, but the
 15297  // value will be replaced with "sensitive".
 15298  func (s InvalidRequestException) String() string {
 15299  	return awsutil.Prettify(s)
 15300  }
 15301  
 15302  // GoString returns the string representation.
 15303  //
 15304  // API parameter values that are decorated as "sensitive" in the API will not
 15305  // be included in the string output. The member name will be present, but the
 15306  // value will be replaced with "sensitive".
 15307  func (s InvalidRequestException) GoString() string {
 15308  	return s.String()
 15309  }
 15310  
 15311  func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
 15312  	return &InvalidRequestException{
 15313  		RespMetadata: v,
 15314  	}
 15315  }
 15316  
 15317  // Code returns the exception type name.
 15318  func (s *InvalidRequestException) Code() string {
 15319  	return "InvalidRequestException"
 15320  }
 15321  
 15322  // Message returns the exception's message.
 15323  func (s *InvalidRequestException) Message() string {
 15324  	if s.Message_ != nil {
 15325  		return *s.Message_
 15326  	}
 15327  	return ""
 15328  }
 15329  
 15330  // OrigErr always returns nil, satisfies awserr.Error interface.
 15331  func (s *InvalidRequestException) OrigErr() error {
 15332  	return nil
 15333  }
 15334  
 15335  func (s *InvalidRequestException) Error() string {
 15336  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15337  }
 15338  
 15339  // Status code returns the HTTP status code for the request's response error.
 15340  func (s *InvalidRequestException) StatusCode() int {
 15341  	return s.RespMetadata.StatusCode
 15342  }
 15343  
 15344  // RequestID returns the service's response RequestID for request.
 15345  func (s *InvalidRequestException) RequestID() string {
 15346  	return s.RespMetadata.RequestID
 15347  }
 15348  
 15349  // You've reached the limit for a resource. For example, this can occur if you're
 15350  // trying to associate more than the allowed number of child assets or attempting
 15351  // to create more than the allowed number of properties for an asset model.
 15352  //
 15353  // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
 15354  // in the IoT SiteWise User Guide.
 15355  type LimitExceededException struct {
 15356  	_            struct{}                  `type:"structure"`
 15357  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15358  
 15359  	Message_ *string `locationName:"message" type:"string"`
 15360  }
 15361  
 15362  // String returns the string representation.
 15363  //
 15364  // API parameter values that are decorated as "sensitive" in the API will not
 15365  // be included in the string output. The member name will be present, but the
 15366  // value will be replaced with "sensitive".
 15367  func (s LimitExceededException) String() string {
 15368  	return awsutil.Prettify(s)
 15369  }
 15370  
 15371  // GoString returns the string representation.
 15372  //
 15373  // API parameter values that are decorated as "sensitive" in the API will not
 15374  // be included in the string output. The member name will be present, but the
 15375  // value will be replaced with "sensitive".
 15376  func (s LimitExceededException) GoString() string {
 15377  	return s.String()
 15378  }
 15379  
 15380  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
 15381  	return &LimitExceededException{
 15382  		RespMetadata: v,
 15383  	}
 15384  }
 15385  
 15386  // Code returns the exception type name.
 15387  func (s *LimitExceededException) Code() string {
 15388  	return "LimitExceededException"
 15389  }
 15390  
 15391  // Message returns the exception's message.
 15392  func (s *LimitExceededException) Message() string {
 15393  	if s.Message_ != nil {
 15394  		return *s.Message_
 15395  	}
 15396  	return ""
 15397  }
 15398  
 15399  // OrigErr always returns nil, satisfies awserr.Error interface.
 15400  func (s *LimitExceededException) OrigErr() error {
 15401  	return nil
 15402  }
 15403  
 15404  func (s *LimitExceededException) Error() string {
 15405  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15406  }
 15407  
 15408  // Status code returns the HTTP status code for the request's response error.
 15409  func (s *LimitExceededException) StatusCode() int {
 15410  	return s.RespMetadata.StatusCode
 15411  }
 15412  
 15413  // RequestID returns the service's response RequestID for request.
 15414  func (s *LimitExceededException) RequestID() string {
 15415  	return s.RespMetadata.RequestID
 15416  }
 15417  
 15418  type ListAccessPoliciesInput struct {
 15419  	_ struct{} `type:"structure" nopayload:"true"`
 15420  
 15421  	// The ARN of the IAM user. For more information, see IAM ARNs (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html)
 15422  	// in the IAM User Guide. This parameter is required if you specify IAM for
 15423  	// identityType.
 15424  	IamArn *string `location:"querystring" locationName:"iamArn" min:"1" type:"string"`
 15425  
 15426  	// The ID of the identity. This parameter is required if you specify USER or
 15427  	// GROUP for identityType.
 15428  	IdentityId *string `location:"querystring" locationName:"identityId" min:"1" type:"string"`
 15429  
 15430  	// The type of identity (Amazon Web Services SSO user, Amazon Web Services SSO
 15431  	// group, or IAM user). This parameter is required if you specify identityId.
 15432  	IdentityType *string `location:"querystring" locationName:"identityType" type:"string" enum:"IdentityType"`
 15433  
 15434  	// The maximum number of results to return for each paginated request.
 15435  	//
 15436  	// Default: 50
 15437  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 15438  
 15439  	// The token to be used for the next set of paginated results.
 15440  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
 15441  
 15442  	// The ID of the resource. This parameter is required if you specify resourceType.
 15443  	ResourceId *string `location:"querystring" locationName:"resourceId" min:"36" type:"string"`
 15444  
 15445  	// The type of resource (portal or project). This parameter is required if you
 15446  	// specify resourceId.
 15447  	ResourceType *string `location:"querystring" locationName:"resourceType" type:"string" enum:"ResourceType"`
 15448  }
 15449  
 15450  // String returns the string representation.
 15451  //
 15452  // API parameter values that are decorated as "sensitive" in the API will not
 15453  // be included in the string output. The member name will be present, but the
 15454  // value will be replaced with "sensitive".
 15455  func (s ListAccessPoliciesInput) String() string {
 15456  	return awsutil.Prettify(s)
 15457  }
 15458  
 15459  // GoString returns the string representation.
 15460  //
 15461  // API parameter values that are decorated as "sensitive" in the API will not
 15462  // be included in the string output. The member name will be present, but the
 15463  // value will be replaced with "sensitive".
 15464  func (s ListAccessPoliciesInput) GoString() string {
 15465  	return s.String()
 15466  }
 15467  
 15468  // Validate inspects the fields of the type to determine if they are valid.
 15469  func (s *ListAccessPoliciesInput) Validate() error {
 15470  	invalidParams := request.ErrInvalidParams{Context: "ListAccessPoliciesInput"}
 15471  	if s.IamArn != nil && len(*s.IamArn) < 1 {
 15472  		invalidParams.Add(request.NewErrParamMinLen("IamArn", 1))
 15473  	}
 15474  	if s.IdentityId != nil && len(*s.IdentityId) < 1 {
 15475  		invalidParams.Add(request.NewErrParamMinLen("IdentityId", 1))
 15476  	}
 15477  	if s.MaxResults != nil && *s.MaxResults < 1 {
 15478  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 15479  	}
 15480  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 15481  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 15482  	}
 15483  	if s.ResourceId != nil && len(*s.ResourceId) < 36 {
 15484  		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 36))
 15485  	}
 15486  
 15487  	if invalidParams.Len() > 0 {
 15488  		return invalidParams
 15489  	}
 15490  	return nil
 15491  }
 15492  
 15493  // SetIamArn sets the IamArn field's value.
 15494  func (s *ListAccessPoliciesInput) SetIamArn(v string) *ListAccessPoliciesInput {
 15495  	s.IamArn = &v
 15496  	return s
 15497  }
 15498  
 15499  // SetIdentityId sets the IdentityId field's value.
 15500  func (s *ListAccessPoliciesInput) SetIdentityId(v string) *ListAccessPoliciesInput {
 15501  	s.IdentityId = &v
 15502  	return s
 15503  }
 15504  
 15505  // SetIdentityType sets the IdentityType field's value.
 15506  func (s *ListAccessPoliciesInput) SetIdentityType(v string) *ListAccessPoliciesInput {
 15507  	s.IdentityType = &v
 15508  	return s
 15509  }
 15510  
 15511  // SetMaxResults sets the MaxResults field's value.
 15512  func (s *ListAccessPoliciesInput) SetMaxResults(v int64) *ListAccessPoliciesInput {
 15513  	s.MaxResults = &v
 15514  	return s
 15515  }
 15516  
 15517  // SetNextToken sets the NextToken field's value.
 15518  func (s *ListAccessPoliciesInput) SetNextToken(v string) *ListAccessPoliciesInput {
 15519  	s.NextToken = &v
 15520  	return s
 15521  }
 15522  
 15523  // SetResourceId sets the ResourceId field's value.
 15524  func (s *ListAccessPoliciesInput) SetResourceId(v string) *ListAccessPoliciesInput {
 15525  	s.ResourceId = &v
 15526  	return s
 15527  }
 15528  
 15529  // SetResourceType sets the ResourceType field's value.
 15530  func (s *ListAccessPoliciesInput) SetResourceType(v string) *ListAccessPoliciesInput {
 15531  	s.ResourceType = &v
 15532  	return s
 15533  }
 15534  
 15535  type ListAccessPoliciesOutput struct {
 15536  	_ struct{} `type:"structure"`
 15537  
 15538  	// A list that summarizes each access policy.
 15539  	//
 15540  	// AccessPolicySummaries is a required field
 15541  	AccessPolicySummaries []*AccessPolicySummary `locationName:"accessPolicySummaries" type:"list" required:"true"`
 15542  
 15543  	// The token for the next set of results, or null if there are no additional
 15544  	// results.
 15545  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 15546  }
 15547  
 15548  // String returns the string representation.
 15549  //
 15550  // API parameter values that are decorated as "sensitive" in the API will not
 15551  // be included in the string output. The member name will be present, but the
 15552  // value will be replaced with "sensitive".
 15553  func (s ListAccessPoliciesOutput) String() string {
 15554  	return awsutil.Prettify(s)
 15555  }
 15556  
 15557  // GoString returns the string representation.
 15558  //
 15559  // API parameter values that are decorated as "sensitive" in the API will not
 15560  // be included in the string output. The member name will be present, but the
 15561  // value will be replaced with "sensitive".
 15562  func (s ListAccessPoliciesOutput) GoString() string {
 15563  	return s.String()
 15564  }
 15565  
 15566  // SetAccessPolicySummaries sets the AccessPolicySummaries field's value.
 15567  func (s *ListAccessPoliciesOutput) SetAccessPolicySummaries(v []*AccessPolicySummary) *ListAccessPoliciesOutput {
 15568  	s.AccessPolicySummaries = v
 15569  	return s
 15570  }
 15571  
 15572  // SetNextToken sets the NextToken field's value.
 15573  func (s *ListAccessPoliciesOutput) SetNextToken(v string) *ListAccessPoliciesOutput {
 15574  	s.NextToken = &v
 15575  	return s
 15576  }
 15577  
 15578  type ListAssetModelsInput struct {
 15579  	_ struct{} `type:"structure" nopayload:"true"`
 15580  
 15581  	// The maximum number of results to return for each paginated request.
 15582  	//
 15583  	// Default: 50
 15584  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 15585  
 15586  	// The token to be used for the next set of paginated results.
 15587  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
 15588  }
 15589  
 15590  // String returns the string representation.
 15591  //
 15592  // API parameter values that are decorated as "sensitive" in the API will not
 15593  // be included in the string output. The member name will be present, but the
 15594  // value will be replaced with "sensitive".
 15595  func (s ListAssetModelsInput) String() string {
 15596  	return awsutil.Prettify(s)
 15597  }
 15598  
 15599  // GoString returns the string representation.
 15600  //
 15601  // API parameter values that are decorated as "sensitive" in the API will not
 15602  // be included in the string output. The member name will be present, but the
 15603  // value will be replaced with "sensitive".
 15604  func (s ListAssetModelsInput) GoString() string {
 15605  	return s.String()
 15606  }
 15607  
 15608  // Validate inspects the fields of the type to determine if they are valid.
 15609  func (s *ListAssetModelsInput) Validate() error {
 15610  	invalidParams := request.ErrInvalidParams{Context: "ListAssetModelsInput"}
 15611  	if s.MaxResults != nil && *s.MaxResults < 1 {
 15612  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 15613  	}
 15614  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 15615  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 15616  	}
 15617  
 15618  	if invalidParams.Len() > 0 {
 15619  		return invalidParams
 15620  	}
 15621  	return nil
 15622  }
 15623  
 15624  // SetMaxResults sets the MaxResults field's value.
 15625  func (s *ListAssetModelsInput) SetMaxResults(v int64) *ListAssetModelsInput {
 15626  	s.MaxResults = &v
 15627  	return s
 15628  }
 15629  
 15630  // SetNextToken sets the NextToken field's value.
 15631  func (s *ListAssetModelsInput) SetNextToken(v string) *ListAssetModelsInput {
 15632  	s.NextToken = &v
 15633  	return s
 15634  }
 15635  
 15636  type ListAssetModelsOutput struct {
 15637  	_ struct{} `type:"structure"`
 15638  
 15639  	// A list that summarizes each asset model.
 15640  	//
 15641  	// AssetModelSummaries is a required field
 15642  	AssetModelSummaries []*AssetModelSummary `locationName:"assetModelSummaries" type:"list" required:"true"`
 15643  
 15644  	// The token for the next set of results, or null if there are no additional
 15645  	// results.
 15646  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 15647  }
 15648  
 15649  // String returns the string representation.
 15650  //
 15651  // API parameter values that are decorated as "sensitive" in the API will not
 15652  // be included in the string output. The member name will be present, but the
 15653  // value will be replaced with "sensitive".
 15654  func (s ListAssetModelsOutput) String() string {
 15655  	return awsutil.Prettify(s)
 15656  }
 15657  
 15658  // GoString returns the string representation.
 15659  //
 15660  // API parameter values that are decorated as "sensitive" in the API will not
 15661  // be included in the string output. The member name will be present, but the
 15662  // value will be replaced with "sensitive".
 15663  func (s ListAssetModelsOutput) GoString() string {
 15664  	return s.String()
 15665  }
 15666  
 15667  // SetAssetModelSummaries sets the AssetModelSummaries field's value.
 15668  func (s *ListAssetModelsOutput) SetAssetModelSummaries(v []*AssetModelSummary) *ListAssetModelsOutput {
 15669  	s.AssetModelSummaries = v
 15670  	return s
 15671  }
 15672  
 15673  // SetNextToken sets the NextToken field's value.
 15674  func (s *ListAssetModelsOutput) SetNextToken(v string) *ListAssetModelsOutput {
 15675  	s.NextToken = &v
 15676  	return s
 15677  }
 15678  
 15679  type ListAssetRelationshipsInput struct {
 15680  	_ struct{} `type:"structure" nopayload:"true"`
 15681  
 15682  	// The ID of the asset.
 15683  	//
 15684  	// AssetId is a required field
 15685  	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
 15686  
 15687  	// The maximum number of results to return for each paginated request.
 15688  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 15689  
 15690  	// The token to be used for the next set of paginated results.
 15691  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
 15692  
 15693  	// The type of traversal to use to identify asset relationships. Choose the
 15694  	// following option:
 15695  	//
 15696  	//    * PATH_TO_ROOT – Identify the asset's parent assets up to the root asset.
 15697  	//    The asset that you specify in assetId is the first result in the list
 15698  	//    of assetRelationshipSummaries, and the root asset is the last result.
 15699  	//
 15700  	// TraversalType is a required field
 15701  	TraversalType *string `location:"querystring" locationName:"traversalType" type:"string" required:"true" enum:"TraversalType"`
 15702  }
 15703  
 15704  // String returns the string representation.
 15705  //
 15706  // API parameter values that are decorated as "sensitive" in the API will not
 15707  // be included in the string output. The member name will be present, but the
 15708  // value will be replaced with "sensitive".
 15709  func (s ListAssetRelationshipsInput) String() string {
 15710  	return awsutil.Prettify(s)
 15711  }
 15712  
 15713  // GoString returns the string representation.
 15714  //
 15715  // API parameter values that are decorated as "sensitive" in the API will not
 15716  // be included in the string output. The member name will be present, but the
 15717  // value will be replaced with "sensitive".
 15718  func (s ListAssetRelationshipsInput) GoString() string {
 15719  	return s.String()
 15720  }
 15721  
 15722  // Validate inspects the fields of the type to determine if they are valid.
 15723  func (s *ListAssetRelationshipsInput) Validate() error {
 15724  	invalidParams := request.ErrInvalidParams{Context: "ListAssetRelationshipsInput"}
 15725  	if s.AssetId == nil {
 15726  		invalidParams.Add(request.NewErrParamRequired("AssetId"))
 15727  	}
 15728  	if s.AssetId != nil && len(*s.AssetId) < 36 {
 15729  		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
 15730  	}
 15731  	if s.MaxResults != nil && *s.MaxResults < 1 {
 15732  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 15733  	}
 15734  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 15735  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 15736  	}
 15737  	if s.TraversalType == nil {
 15738  		invalidParams.Add(request.NewErrParamRequired("TraversalType"))
 15739  	}
 15740  
 15741  	if invalidParams.Len() > 0 {
 15742  		return invalidParams
 15743  	}
 15744  	return nil
 15745  }
 15746  
 15747  // SetAssetId sets the AssetId field's value.
 15748  func (s *ListAssetRelationshipsInput) SetAssetId(v string) *ListAssetRelationshipsInput {
 15749  	s.AssetId = &v
 15750  	return s
 15751  }
 15752  
 15753  // SetMaxResults sets the MaxResults field's value.
 15754  func (s *ListAssetRelationshipsInput) SetMaxResults(v int64) *ListAssetRelationshipsInput {
 15755  	s.MaxResults = &v
 15756  	return s
 15757  }
 15758  
 15759  // SetNextToken sets the NextToken field's value.
 15760  func (s *ListAssetRelationshipsInput) SetNextToken(v string) *ListAssetRelationshipsInput {
 15761  	s.NextToken = &v
 15762  	return s
 15763  }
 15764  
 15765  // SetTraversalType sets the TraversalType field's value.
 15766  func (s *ListAssetRelationshipsInput) SetTraversalType(v string) *ListAssetRelationshipsInput {
 15767  	s.TraversalType = &v
 15768  	return s
 15769  }
 15770  
 15771  type ListAssetRelationshipsOutput struct {
 15772  	_ struct{} `type:"structure"`
 15773  
 15774  	// A list that summarizes each asset relationship.
 15775  	//
 15776  	// AssetRelationshipSummaries is a required field
 15777  	AssetRelationshipSummaries []*AssetRelationshipSummary `locationName:"assetRelationshipSummaries" type:"list" required:"true"`
 15778  
 15779  	// The token for the next set of results, or null if there are no additional
 15780  	// results.
 15781  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 15782  }
 15783  
 15784  // String returns the string representation.
 15785  //
 15786  // API parameter values that are decorated as "sensitive" in the API will not
 15787  // be included in the string output. The member name will be present, but the
 15788  // value will be replaced with "sensitive".
 15789  func (s ListAssetRelationshipsOutput) String() string {
 15790  	return awsutil.Prettify(s)
 15791  }
 15792  
 15793  // GoString returns the string representation.
 15794  //
 15795  // API parameter values that are decorated as "sensitive" in the API will not
 15796  // be included in the string output. The member name will be present, but the
 15797  // value will be replaced with "sensitive".
 15798  func (s ListAssetRelationshipsOutput) GoString() string {
 15799  	return s.String()
 15800  }
 15801  
 15802  // SetAssetRelationshipSummaries sets the AssetRelationshipSummaries field's value.
 15803  func (s *ListAssetRelationshipsOutput) SetAssetRelationshipSummaries(v []*AssetRelationshipSummary) *ListAssetRelationshipsOutput {
 15804  	s.AssetRelationshipSummaries = v
 15805  	return s
 15806  }
 15807  
 15808  // SetNextToken sets the NextToken field's value.
 15809  func (s *ListAssetRelationshipsOutput) SetNextToken(v string) *ListAssetRelationshipsOutput {
 15810  	s.NextToken = &v
 15811  	return s
 15812  }
 15813  
 15814  type ListAssetsInput struct {
 15815  	_ struct{} `type:"structure" nopayload:"true"`
 15816  
 15817  	// The ID of the asset model by which to filter the list of assets. This parameter
 15818  	// is required if you choose ALL for filter.
 15819  	AssetModelId *string `location:"querystring" locationName:"assetModelId" min:"36" type:"string"`
 15820  
 15821  	// The filter for the requested list of assets. Choose one of the following
 15822  	// options:
 15823  	//
 15824  	//    * ALL – The list includes all assets for a given asset model ID. The
 15825  	//    assetModelId parameter is required if you filter by ALL.
 15826  	//
 15827  	//    * TOP_LEVEL – The list includes only top-level assets in the asset hierarchy
 15828  	//    tree.
 15829  	//
 15830  	// Default: ALL
 15831  	Filter *string `location:"querystring" locationName:"filter" type:"string" enum:"ListAssetsFilter"`
 15832  
 15833  	// The maximum number of results to return for each paginated request.
 15834  	//
 15835  	// Default: 50
 15836  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 15837  
 15838  	// The token to be used for the next set of paginated results.
 15839  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
 15840  }
 15841  
 15842  // String returns the string representation.
 15843  //
 15844  // API parameter values that are decorated as "sensitive" in the API will not
 15845  // be included in the string output. The member name will be present, but the
 15846  // value will be replaced with "sensitive".
 15847  func (s ListAssetsInput) String() string {
 15848  	return awsutil.Prettify(s)
 15849  }
 15850  
 15851  // GoString returns the string representation.
 15852  //
 15853  // API parameter values that are decorated as "sensitive" in the API will not
 15854  // be included in the string output. The member name will be present, but the
 15855  // value will be replaced with "sensitive".
 15856  func (s ListAssetsInput) GoString() string {
 15857  	return s.String()
 15858  }
 15859  
 15860  // Validate inspects the fields of the type to determine if they are valid.
 15861  func (s *ListAssetsInput) Validate() error {
 15862  	invalidParams := request.ErrInvalidParams{Context: "ListAssetsInput"}
 15863  	if s.AssetModelId != nil && len(*s.AssetModelId) < 36 {
 15864  		invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36))
 15865  	}
 15866  	if s.MaxResults != nil && *s.MaxResults < 1 {
 15867  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 15868  	}
 15869  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 15870  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 15871  	}
 15872  
 15873  	if invalidParams.Len() > 0 {
 15874  		return invalidParams
 15875  	}
 15876  	return nil
 15877  }
 15878  
 15879  // SetAssetModelId sets the AssetModelId field's value.
 15880  func (s *ListAssetsInput) SetAssetModelId(v string) *ListAssetsInput {
 15881  	s.AssetModelId = &v
 15882  	return s
 15883  }
 15884  
 15885  // SetFilter sets the Filter field's value.
 15886  func (s *ListAssetsInput) SetFilter(v string) *ListAssetsInput {
 15887  	s.Filter = &v
 15888  	return s
 15889  }
 15890  
 15891  // SetMaxResults sets the MaxResults field's value.
 15892  func (s *ListAssetsInput) SetMaxResults(v int64) *ListAssetsInput {
 15893  	s.MaxResults = &v
 15894  	return s
 15895  }
 15896  
 15897  // SetNextToken sets the NextToken field's value.
 15898  func (s *ListAssetsInput) SetNextToken(v string) *ListAssetsInput {
 15899  	s.NextToken = &v
 15900  	return s
 15901  }
 15902  
 15903  type ListAssetsOutput struct {
 15904  	_ struct{} `type:"structure"`
 15905  
 15906  	// A list that summarizes each asset.
 15907  	//
 15908  	// AssetSummaries is a required field
 15909  	AssetSummaries []*AssetSummary `locationName:"assetSummaries" type:"list" required:"true"`
 15910  
 15911  	// The token for the next set of results, or null if there are no additional
 15912  	// results.
 15913  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 15914  }
 15915  
 15916  // String returns the string representation.
 15917  //
 15918  // API parameter values that are decorated as "sensitive" in the API will not
 15919  // be included in the string output. The member name will be present, but the
 15920  // value will be replaced with "sensitive".
 15921  func (s ListAssetsOutput) String() string {
 15922  	return awsutil.Prettify(s)
 15923  }
 15924  
 15925  // GoString returns the string representation.
 15926  //
 15927  // API parameter values that are decorated as "sensitive" in the API will not
 15928  // be included in the string output. The member name will be present, but the
 15929  // value will be replaced with "sensitive".
 15930  func (s ListAssetsOutput) GoString() string {
 15931  	return s.String()
 15932  }
 15933  
 15934  // SetAssetSummaries sets the AssetSummaries field's value.
 15935  func (s *ListAssetsOutput) SetAssetSummaries(v []*AssetSummary) *ListAssetsOutput {
 15936  	s.AssetSummaries = v
 15937  	return s
 15938  }
 15939  
 15940  // SetNextToken sets the NextToken field's value.
 15941  func (s *ListAssetsOutput) SetNextToken(v string) *ListAssetsOutput {
 15942  	s.NextToken = &v
 15943  	return s
 15944  }
 15945  
 15946  type ListAssociatedAssetsInput struct {
 15947  	_ struct{} `type:"structure" nopayload:"true"`
 15948  
 15949  	// The ID of the asset to query.
 15950  	//
 15951  	// AssetId is a required field
 15952  	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
 15953  
 15954  	// The ID of the hierarchy by which child assets are associated to the asset.
 15955  	// To find a hierarchy ID, use the DescribeAsset (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAsset.html)
 15956  	// or DescribeAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html)
 15957  	// operations. This parameter is required if you choose CHILD for traversalDirection.
 15958  	//
 15959  	// For more information, see Asset hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html)
 15960  	// in the IoT SiteWise User Guide.
 15961  	HierarchyId *string `location:"querystring" locationName:"hierarchyId" min:"36" type:"string"`
 15962  
 15963  	// The maximum number of results to return for each paginated request.
 15964  	//
 15965  	// Default: 50
 15966  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 15967  
 15968  	// The token to be used for the next set of paginated results.
 15969  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
 15970  
 15971  	// The direction to list associated assets. Choose one of the following options:
 15972  	//
 15973  	//    * CHILD – The list includes all child assets associated to the asset.
 15974  	//    The hierarchyId parameter is required if you choose CHILD.
 15975  	//
 15976  	//    * PARENT – The list includes the asset's parent asset.
 15977  	//
 15978  	// Default: CHILD
 15979  	TraversalDirection *string `location:"querystring" locationName:"traversalDirection" type:"string" enum:"TraversalDirection"`
 15980  }
 15981  
 15982  // String returns the string representation.
 15983  //
 15984  // API parameter values that are decorated as "sensitive" in the API will not
 15985  // be included in the string output. The member name will be present, but the
 15986  // value will be replaced with "sensitive".
 15987  func (s ListAssociatedAssetsInput) String() string {
 15988  	return awsutil.Prettify(s)
 15989  }
 15990  
 15991  // GoString returns the string representation.
 15992  //
 15993  // API parameter values that are decorated as "sensitive" in the API will not
 15994  // be included in the string output. The member name will be present, but the
 15995  // value will be replaced with "sensitive".
 15996  func (s ListAssociatedAssetsInput) GoString() string {
 15997  	return s.String()
 15998  }
 15999  
 16000  // Validate inspects the fields of the type to determine if they are valid.
 16001  func (s *ListAssociatedAssetsInput) Validate() error {
 16002  	invalidParams := request.ErrInvalidParams{Context: "ListAssociatedAssetsInput"}
 16003  	if s.AssetId == nil {
 16004  		invalidParams.Add(request.NewErrParamRequired("AssetId"))
 16005  	}
 16006  	if s.AssetId != nil && len(*s.AssetId) < 36 {
 16007  		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
 16008  	}
 16009  	if s.HierarchyId != nil && len(*s.HierarchyId) < 36 {
 16010  		invalidParams.Add(request.NewErrParamMinLen("HierarchyId", 36))
 16011  	}
 16012  	if s.MaxResults != nil && *s.MaxResults < 1 {
 16013  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 16014  	}
 16015  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 16016  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 16017  	}
 16018  
 16019  	if invalidParams.Len() > 0 {
 16020  		return invalidParams
 16021  	}
 16022  	return nil
 16023  }
 16024  
 16025  // SetAssetId sets the AssetId field's value.
 16026  func (s *ListAssociatedAssetsInput) SetAssetId(v string) *ListAssociatedAssetsInput {
 16027  	s.AssetId = &v
 16028  	return s
 16029  }
 16030  
 16031  // SetHierarchyId sets the HierarchyId field's value.
 16032  func (s *ListAssociatedAssetsInput) SetHierarchyId(v string) *ListAssociatedAssetsInput {
 16033  	s.HierarchyId = &v
 16034  	return s
 16035  }
 16036  
 16037  // SetMaxResults sets the MaxResults field's value.
 16038  func (s *ListAssociatedAssetsInput) SetMaxResults(v int64) *ListAssociatedAssetsInput {
 16039  	s.MaxResults = &v
 16040  	return s
 16041  }
 16042  
 16043  // SetNextToken sets the NextToken field's value.
 16044  func (s *ListAssociatedAssetsInput) SetNextToken(v string) *ListAssociatedAssetsInput {
 16045  	s.NextToken = &v
 16046  	return s
 16047  }
 16048  
 16049  // SetTraversalDirection sets the TraversalDirection field's value.
 16050  func (s *ListAssociatedAssetsInput) SetTraversalDirection(v string) *ListAssociatedAssetsInput {
 16051  	s.TraversalDirection = &v
 16052  	return s
 16053  }
 16054  
 16055  type ListAssociatedAssetsOutput struct {
 16056  	_ struct{} `type:"structure"`
 16057  
 16058  	// A list that summarizes the associated assets.
 16059  	//
 16060  	// AssetSummaries is a required field
 16061  	AssetSummaries []*AssociatedAssetsSummary `locationName:"assetSummaries" type:"list" required:"true"`
 16062  
 16063  	// The token for the next set of results, or null if there are no additional
 16064  	// results.
 16065  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 16066  }
 16067  
 16068  // String returns the string representation.
 16069  //
 16070  // API parameter values that are decorated as "sensitive" in the API will not
 16071  // be included in the string output. The member name will be present, but the
 16072  // value will be replaced with "sensitive".
 16073  func (s ListAssociatedAssetsOutput) String() string {
 16074  	return awsutil.Prettify(s)
 16075  }
 16076  
 16077  // GoString returns the string representation.
 16078  //
 16079  // API parameter values that are decorated as "sensitive" in the API will not
 16080  // be included in the string output. The member name will be present, but the
 16081  // value will be replaced with "sensitive".
 16082  func (s ListAssociatedAssetsOutput) GoString() string {
 16083  	return s.String()
 16084  }
 16085  
 16086  // SetAssetSummaries sets the AssetSummaries field's value.
 16087  func (s *ListAssociatedAssetsOutput) SetAssetSummaries(v []*AssociatedAssetsSummary) *ListAssociatedAssetsOutput {
 16088  	s.AssetSummaries = v
 16089  	return s
 16090  }
 16091  
 16092  // SetNextToken sets the NextToken field's value.
 16093  func (s *ListAssociatedAssetsOutput) SetNextToken(v string) *ListAssociatedAssetsOutput {
 16094  	s.NextToken = &v
 16095  	return s
 16096  }
 16097  
 16098  type ListDashboardsInput struct {
 16099  	_ struct{} `type:"structure" nopayload:"true"`
 16100  
 16101  	// The maximum number of results to return for each paginated request.
 16102  	//
 16103  	// Default: 50
 16104  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 16105  
 16106  	// The token to be used for the next set of paginated results.
 16107  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
 16108  
 16109  	// The ID of the project.
 16110  	//
 16111  	// ProjectId is a required field
 16112  	ProjectId *string `location:"querystring" locationName:"projectId" min:"36" type:"string" required:"true"`
 16113  }
 16114  
 16115  // String returns the string representation.
 16116  //
 16117  // API parameter values that are decorated as "sensitive" in the API will not
 16118  // be included in the string output. The member name will be present, but the
 16119  // value will be replaced with "sensitive".
 16120  func (s ListDashboardsInput) String() string {
 16121  	return awsutil.Prettify(s)
 16122  }
 16123  
 16124  // GoString returns the string representation.
 16125  //
 16126  // API parameter values that are decorated as "sensitive" in the API will not
 16127  // be included in the string output. The member name will be present, but the
 16128  // value will be replaced with "sensitive".
 16129  func (s ListDashboardsInput) GoString() string {
 16130  	return s.String()
 16131  }
 16132  
 16133  // Validate inspects the fields of the type to determine if they are valid.
 16134  func (s *ListDashboardsInput) Validate() error {
 16135  	invalidParams := request.ErrInvalidParams{Context: "ListDashboardsInput"}
 16136  	if s.MaxResults != nil && *s.MaxResults < 1 {
 16137  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 16138  	}
 16139  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 16140  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 16141  	}
 16142  	if s.ProjectId == nil {
 16143  		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
 16144  	}
 16145  	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
 16146  		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
 16147  	}
 16148  
 16149  	if invalidParams.Len() > 0 {
 16150  		return invalidParams
 16151  	}
 16152  	return nil
 16153  }
 16154  
 16155  // SetMaxResults sets the MaxResults field's value.
 16156  func (s *ListDashboardsInput) SetMaxResults(v int64) *ListDashboardsInput {
 16157  	s.MaxResults = &v
 16158  	return s
 16159  }
 16160  
 16161  // SetNextToken sets the NextToken field's value.
 16162  func (s *ListDashboardsInput) SetNextToken(v string) *ListDashboardsInput {
 16163  	s.NextToken = &v
 16164  	return s
 16165  }
 16166  
 16167  // SetProjectId sets the ProjectId field's value.
 16168  func (s *ListDashboardsInput) SetProjectId(v string) *ListDashboardsInput {
 16169  	s.ProjectId = &v
 16170  	return s
 16171  }
 16172  
 16173  type ListDashboardsOutput struct {
 16174  	_ struct{} `type:"structure"`
 16175  
 16176  	// A list that summarizes each dashboard in the project.
 16177  	//
 16178  	// DashboardSummaries is a required field
 16179  	DashboardSummaries []*DashboardSummary `locationName:"dashboardSummaries" type:"list" required:"true"`
 16180  
 16181  	// The token for the next set of results, or null if there are no additional
 16182  	// results.
 16183  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 16184  }
 16185  
 16186  // String returns the string representation.
 16187  //
 16188  // API parameter values that are decorated as "sensitive" in the API will not
 16189  // be included in the string output. The member name will be present, but the
 16190  // value will be replaced with "sensitive".
 16191  func (s ListDashboardsOutput) String() string {
 16192  	return awsutil.Prettify(s)
 16193  }
 16194  
 16195  // GoString returns the string representation.
 16196  //
 16197  // API parameter values that are decorated as "sensitive" in the API will not
 16198  // be included in the string output. The member name will be present, but the
 16199  // value will be replaced with "sensitive".
 16200  func (s ListDashboardsOutput) GoString() string {
 16201  	return s.String()
 16202  }
 16203  
 16204  // SetDashboardSummaries sets the DashboardSummaries field's value.
 16205  func (s *ListDashboardsOutput) SetDashboardSummaries(v []*DashboardSummary) *ListDashboardsOutput {
 16206  	s.DashboardSummaries = v
 16207  	return s
 16208  }
 16209  
 16210  // SetNextToken sets the NextToken field's value.
 16211  func (s *ListDashboardsOutput) SetNextToken(v string) *ListDashboardsOutput {
 16212  	s.NextToken = &v
 16213  	return s
 16214  }
 16215  
 16216  type ListGatewaysInput struct {
 16217  	_ struct{} `type:"structure" nopayload:"true"`
 16218  
 16219  	// The maximum number of results to return for each paginated request.
 16220  	//
 16221  	// Default: 50
 16222  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 16223  
 16224  	// The token to be used for the next set of paginated results.
 16225  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
 16226  }
 16227  
 16228  // String returns the string representation.
 16229  //
 16230  // API parameter values that are decorated as "sensitive" in the API will not
 16231  // be included in the string output. The member name will be present, but the
 16232  // value will be replaced with "sensitive".
 16233  func (s ListGatewaysInput) String() string {
 16234  	return awsutil.Prettify(s)
 16235  }
 16236  
 16237  // GoString returns the string representation.
 16238  //
 16239  // API parameter values that are decorated as "sensitive" in the API will not
 16240  // be included in the string output. The member name will be present, but the
 16241  // value will be replaced with "sensitive".
 16242  func (s ListGatewaysInput) GoString() string {
 16243  	return s.String()
 16244  }
 16245  
 16246  // Validate inspects the fields of the type to determine if they are valid.
 16247  func (s *ListGatewaysInput) Validate() error {
 16248  	invalidParams := request.ErrInvalidParams{Context: "ListGatewaysInput"}
 16249  	if s.MaxResults != nil && *s.MaxResults < 1 {
 16250  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 16251  	}
 16252  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 16253  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 16254  	}
 16255  
 16256  	if invalidParams.Len() > 0 {
 16257  		return invalidParams
 16258  	}
 16259  	return nil
 16260  }
 16261  
 16262  // SetMaxResults sets the MaxResults field's value.
 16263  func (s *ListGatewaysInput) SetMaxResults(v int64) *ListGatewaysInput {
 16264  	s.MaxResults = &v
 16265  	return s
 16266  }
 16267  
 16268  // SetNextToken sets the NextToken field's value.
 16269  func (s *ListGatewaysInput) SetNextToken(v string) *ListGatewaysInput {
 16270  	s.NextToken = &v
 16271  	return s
 16272  }
 16273  
 16274  type ListGatewaysOutput struct {
 16275  	_ struct{} `type:"structure"`
 16276  
 16277  	// A list that summarizes each gateway.
 16278  	//
 16279  	// GatewaySummaries is a required field
 16280  	GatewaySummaries []*GatewaySummary `locationName:"gatewaySummaries" type:"list" required:"true"`
 16281  
 16282  	// The token for the next set of results, or null if there are no additional
 16283  	// results.
 16284  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 16285  }
 16286  
 16287  // String returns the string representation.
 16288  //
 16289  // API parameter values that are decorated as "sensitive" in the API will not
 16290  // be included in the string output. The member name will be present, but the
 16291  // value will be replaced with "sensitive".
 16292  func (s ListGatewaysOutput) String() string {
 16293  	return awsutil.Prettify(s)
 16294  }
 16295  
 16296  // GoString returns the string representation.
 16297  //
 16298  // API parameter values that are decorated as "sensitive" in the API will not
 16299  // be included in the string output. The member name will be present, but the
 16300  // value will be replaced with "sensitive".
 16301  func (s ListGatewaysOutput) GoString() string {
 16302  	return s.String()
 16303  }
 16304  
 16305  // SetGatewaySummaries sets the GatewaySummaries field's value.
 16306  func (s *ListGatewaysOutput) SetGatewaySummaries(v []*GatewaySummary) *ListGatewaysOutput {
 16307  	s.GatewaySummaries = v
 16308  	return s
 16309  }
 16310  
 16311  // SetNextToken sets the NextToken field's value.
 16312  func (s *ListGatewaysOutput) SetNextToken(v string) *ListGatewaysOutput {
 16313  	s.NextToken = &v
 16314  	return s
 16315  }
 16316  
 16317  type ListPortalsInput struct {
 16318  	_ struct{} `type:"structure" nopayload:"true"`
 16319  
 16320  	// The maximum number of results to return for each paginated request.
 16321  	//
 16322  	// Default: 50
 16323  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 16324  
 16325  	// The token to be used for the next set of paginated results.
 16326  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
 16327  }
 16328  
 16329  // String returns the string representation.
 16330  //
 16331  // API parameter values that are decorated as "sensitive" in the API will not
 16332  // be included in the string output. The member name will be present, but the
 16333  // value will be replaced with "sensitive".
 16334  func (s ListPortalsInput) String() string {
 16335  	return awsutil.Prettify(s)
 16336  }
 16337  
 16338  // GoString returns the string representation.
 16339  //
 16340  // API parameter values that are decorated as "sensitive" in the API will not
 16341  // be included in the string output. The member name will be present, but the
 16342  // value will be replaced with "sensitive".
 16343  func (s ListPortalsInput) GoString() string {
 16344  	return s.String()
 16345  }
 16346  
 16347  // Validate inspects the fields of the type to determine if they are valid.
 16348  func (s *ListPortalsInput) Validate() error {
 16349  	invalidParams := request.ErrInvalidParams{Context: "ListPortalsInput"}
 16350  	if s.MaxResults != nil && *s.MaxResults < 1 {
 16351  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 16352  	}
 16353  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 16354  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 16355  	}
 16356  
 16357  	if invalidParams.Len() > 0 {
 16358  		return invalidParams
 16359  	}
 16360  	return nil
 16361  }
 16362  
 16363  // SetMaxResults sets the MaxResults field's value.
 16364  func (s *ListPortalsInput) SetMaxResults(v int64) *ListPortalsInput {
 16365  	s.MaxResults = &v
 16366  	return s
 16367  }
 16368  
 16369  // SetNextToken sets the NextToken field's value.
 16370  func (s *ListPortalsInput) SetNextToken(v string) *ListPortalsInput {
 16371  	s.NextToken = &v
 16372  	return s
 16373  }
 16374  
 16375  type ListPortalsOutput struct {
 16376  	_ struct{} `type:"structure"`
 16377  
 16378  	// The token for the next set of results, or null if there are no additional
 16379  	// results.
 16380  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 16381  
 16382  	// A list that summarizes each portal.
 16383  	PortalSummaries []*PortalSummary `locationName:"portalSummaries" type:"list"`
 16384  }
 16385  
 16386  // String returns the string representation.
 16387  //
 16388  // API parameter values that are decorated as "sensitive" in the API will not
 16389  // be included in the string output. The member name will be present, but the
 16390  // value will be replaced with "sensitive".
 16391  func (s ListPortalsOutput) String() string {
 16392  	return awsutil.Prettify(s)
 16393  }
 16394  
 16395  // GoString returns the string representation.
 16396  //
 16397  // API parameter values that are decorated as "sensitive" in the API will not
 16398  // be included in the string output. The member name will be present, but the
 16399  // value will be replaced with "sensitive".
 16400  func (s ListPortalsOutput) GoString() string {
 16401  	return s.String()
 16402  }
 16403  
 16404  // SetNextToken sets the NextToken field's value.
 16405  func (s *ListPortalsOutput) SetNextToken(v string) *ListPortalsOutput {
 16406  	s.NextToken = &v
 16407  	return s
 16408  }
 16409  
 16410  // SetPortalSummaries sets the PortalSummaries field's value.
 16411  func (s *ListPortalsOutput) SetPortalSummaries(v []*PortalSummary) *ListPortalsOutput {
 16412  	s.PortalSummaries = v
 16413  	return s
 16414  }
 16415  
 16416  type ListProjectAssetsInput struct {
 16417  	_ struct{} `type:"structure" nopayload:"true"`
 16418  
 16419  	// The maximum number of results to return for each paginated request.
 16420  	//
 16421  	// Default: 50
 16422  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 16423  
 16424  	// The token to be used for the next set of paginated results.
 16425  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
 16426  
 16427  	// The ID of the project.
 16428  	//
 16429  	// ProjectId is a required field
 16430  	ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"`
 16431  }
 16432  
 16433  // String returns the string representation.
 16434  //
 16435  // API parameter values that are decorated as "sensitive" in the API will not
 16436  // be included in the string output. The member name will be present, but the
 16437  // value will be replaced with "sensitive".
 16438  func (s ListProjectAssetsInput) String() string {
 16439  	return awsutil.Prettify(s)
 16440  }
 16441  
 16442  // GoString returns the string representation.
 16443  //
 16444  // API parameter values that are decorated as "sensitive" in the API will not
 16445  // be included in the string output. The member name will be present, but the
 16446  // value will be replaced with "sensitive".
 16447  func (s ListProjectAssetsInput) GoString() string {
 16448  	return s.String()
 16449  }
 16450  
 16451  // Validate inspects the fields of the type to determine if they are valid.
 16452  func (s *ListProjectAssetsInput) Validate() error {
 16453  	invalidParams := request.ErrInvalidParams{Context: "ListProjectAssetsInput"}
 16454  	if s.MaxResults != nil && *s.MaxResults < 1 {
 16455  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 16456  	}
 16457  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 16458  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 16459  	}
 16460  	if s.ProjectId == nil {
 16461  		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
 16462  	}
 16463  	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
 16464  		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
 16465  	}
 16466  
 16467  	if invalidParams.Len() > 0 {
 16468  		return invalidParams
 16469  	}
 16470  	return nil
 16471  }
 16472  
 16473  // SetMaxResults sets the MaxResults field's value.
 16474  func (s *ListProjectAssetsInput) SetMaxResults(v int64) *ListProjectAssetsInput {
 16475  	s.MaxResults = &v
 16476  	return s
 16477  }
 16478  
 16479  // SetNextToken sets the NextToken field's value.
 16480  func (s *ListProjectAssetsInput) SetNextToken(v string) *ListProjectAssetsInput {
 16481  	s.NextToken = &v
 16482  	return s
 16483  }
 16484  
 16485  // SetProjectId sets the ProjectId field's value.
 16486  func (s *ListProjectAssetsInput) SetProjectId(v string) *ListProjectAssetsInput {
 16487  	s.ProjectId = &v
 16488  	return s
 16489  }
 16490  
 16491  type ListProjectAssetsOutput struct {
 16492  	_ struct{} `type:"structure"`
 16493  
 16494  	// A list that contains the IDs of each asset associated with the project.
 16495  	//
 16496  	// AssetIds is a required field
 16497  	AssetIds []*string `locationName:"assetIds" type:"list" required:"true"`
 16498  
 16499  	// The token for the next set of results, or null if there are no additional
 16500  	// results.
 16501  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 16502  }
 16503  
 16504  // String returns the string representation.
 16505  //
 16506  // API parameter values that are decorated as "sensitive" in the API will not
 16507  // be included in the string output. The member name will be present, but the
 16508  // value will be replaced with "sensitive".
 16509  func (s ListProjectAssetsOutput) String() string {
 16510  	return awsutil.Prettify(s)
 16511  }
 16512  
 16513  // GoString returns the string representation.
 16514  //
 16515  // API parameter values that are decorated as "sensitive" in the API will not
 16516  // be included in the string output. The member name will be present, but the
 16517  // value will be replaced with "sensitive".
 16518  func (s ListProjectAssetsOutput) GoString() string {
 16519  	return s.String()
 16520  }
 16521  
 16522  // SetAssetIds sets the AssetIds field's value.
 16523  func (s *ListProjectAssetsOutput) SetAssetIds(v []*string) *ListProjectAssetsOutput {
 16524  	s.AssetIds = v
 16525  	return s
 16526  }
 16527  
 16528  // SetNextToken sets the NextToken field's value.
 16529  func (s *ListProjectAssetsOutput) SetNextToken(v string) *ListProjectAssetsOutput {
 16530  	s.NextToken = &v
 16531  	return s
 16532  }
 16533  
 16534  type ListProjectsInput struct {
 16535  	_ struct{} `type:"structure" nopayload:"true"`
 16536  
 16537  	// The maximum number of results to return for each paginated request.
 16538  	//
 16539  	// Default: 50
 16540  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 16541  
 16542  	// The token to be used for the next set of paginated results.
 16543  	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
 16544  
 16545  	// The ID of the portal.
 16546  	//
 16547  	// PortalId is a required field
 16548  	PortalId *string `location:"querystring" locationName:"portalId" min:"36" type:"string" required:"true"`
 16549  }
 16550  
 16551  // String returns the string representation.
 16552  //
 16553  // API parameter values that are decorated as "sensitive" in the API will not
 16554  // be included in the string output. The member name will be present, but the
 16555  // value will be replaced with "sensitive".
 16556  func (s ListProjectsInput) String() string {
 16557  	return awsutil.Prettify(s)
 16558  }
 16559  
 16560  // GoString returns the string representation.
 16561  //
 16562  // API parameter values that are decorated as "sensitive" in the API will not
 16563  // be included in the string output. The member name will be present, but the
 16564  // value will be replaced with "sensitive".
 16565  func (s ListProjectsInput) GoString() string {
 16566  	return s.String()
 16567  }
 16568  
 16569  // Validate inspects the fields of the type to determine if they are valid.
 16570  func (s *ListProjectsInput) Validate() error {
 16571  	invalidParams := request.ErrInvalidParams{Context: "ListProjectsInput"}
 16572  	if s.MaxResults != nil && *s.MaxResults < 1 {
 16573  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 16574  	}
 16575  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 16576  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 16577  	}
 16578  	if s.PortalId == nil {
 16579  		invalidParams.Add(request.NewErrParamRequired("PortalId"))
 16580  	}
 16581  	if s.PortalId != nil && len(*s.PortalId) < 36 {
 16582  		invalidParams.Add(request.NewErrParamMinLen("PortalId", 36))
 16583  	}
 16584  
 16585  	if invalidParams.Len() > 0 {
 16586  		return invalidParams
 16587  	}
 16588  	return nil
 16589  }
 16590  
 16591  // SetMaxResults sets the MaxResults field's value.
 16592  func (s *ListProjectsInput) SetMaxResults(v int64) *ListProjectsInput {
 16593  	s.MaxResults = &v
 16594  	return s
 16595  }
 16596  
 16597  // SetNextToken sets the NextToken field's value.
 16598  func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput {
 16599  	s.NextToken = &v
 16600  	return s
 16601  }
 16602  
 16603  // SetPortalId sets the PortalId field's value.
 16604  func (s *ListProjectsInput) SetPortalId(v string) *ListProjectsInput {
 16605  	s.PortalId = &v
 16606  	return s
 16607  }
 16608  
 16609  type ListProjectsOutput struct {
 16610  	_ struct{} `type:"structure"`
 16611  
 16612  	// The token for the next set of results, or null if there are no additional
 16613  	// results.
 16614  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 16615  
 16616  	// A list that summarizes each project in the portal.
 16617  	//
 16618  	// ProjectSummaries is a required field
 16619  	ProjectSummaries []*ProjectSummary `locationName:"projectSummaries" type:"list" required:"true"`
 16620  }
 16621  
 16622  // String returns the string representation.
 16623  //
 16624  // API parameter values that are decorated as "sensitive" in the API will not
 16625  // be included in the string output. The member name will be present, but the
 16626  // value will be replaced with "sensitive".
 16627  func (s ListProjectsOutput) String() string {
 16628  	return awsutil.Prettify(s)
 16629  }
 16630  
 16631  // GoString returns the string representation.
 16632  //
 16633  // API parameter values that are decorated as "sensitive" in the API will not
 16634  // be included in the string output. The member name will be present, but the
 16635  // value will be replaced with "sensitive".
 16636  func (s ListProjectsOutput) GoString() string {
 16637  	return s.String()
 16638  }
 16639  
 16640  // SetNextToken sets the NextToken field's value.
 16641  func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput {
 16642  	s.NextToken = &v
 16643  	return s
 16644  }
 16645  
 16646  // SetProjectSummaries sets the ProjectSummaries field's value.
 16647  func (s *ListProjectsOutput) SetProjectSummaries(v []*ProjectSummary) *ListProjectsOutput {
 16648  	s.ProjectSummaries = v
 16649  	return s
 16650  }
 16651  
 16652  type ListTagsForResourceInput struct {
 16653  	_ struct{} `type:"structure" nopayload:"true"`
 16654  
 16655  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 16656  	// of the resource.
 16657  	//
 16658  	// ResourceArn is a required field
 16659  	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
 16660  }
 16661  
 16662  // String returns the string representation.
 16663  //
 16664  // API parameter values that are decorated as "sensitive" in the API will not
 16665  // be included in the string output. The member name will be present, but the
 16666  // value will be replaced with "sensitive".
 16667  func (s ListTagsForResourceInput) String() string {
 16668  	return awsutil.Prettify(s)
 16669  }
 16670  
 16671  // GoString returns the string representation.
 16672  //
 16673  // API parameter values that are decorated as "sensitive" in the API will not
 16674  // be included in the string output. The member name will be present, but the
 16675  // value will be replaced with "sensitive".
 16676  func (s ListTagsForResourceInput) GoString() string {
 16677  	return s.String()
 16678  }
 16679  
 16680  // Validate inspects the fields of the type to determine if they are valid.
 16681  func (s *ListTagsForResourceInput) Validate() error {
 16682  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 16683  	if s.ResourceArn == nil {
 16684  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 16685  	}
 16686  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 16687  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 16688  	}
 16689  
 16690  	if invalidParams.Len() > 0 {
 16691  		return invalidParams
 16692  	}
 16693  	return nil
 16694  }
 16695  
 16696  // SetResourceArn sets the ResourceArn field's value.
 16697  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
 16698  	s.ResourceArn = &v
 16699  	return s
 16700  }
 16701  
 16702  type ListTagsForResourceOutput struct {
 16703  	_ struct{} `type:"structure"`
 16704  
 16705  	// The list of key-value pairs that contain metadata for the resource. For more
 16706  	// information, see Tagging your IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
 16707  	// in the IoT SiteWise User Guide.
 16708  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
 16709  }
 16710  
 16711  // String returns the string representation.
 16712  //
 16713  // API parameter values that are decorated as "sensitive" in the API will not
 16714  // be included in the string output. The member name will be present, but the
 16715  // value will be replaced with "sensitive".
 16716  func (s ListTagsForResourceOutput) String() string {
 16717  	return awsutil.Prettify(s)
 16718  }
 16719  
 16720  // GoString returns the string representation.
 16721  //
 16722  // API parameter values that are decorated as "sensitive" in the API will not
 16723  // be included in the string output. The member name will be present, but the
 16724  // value will be replaced with "sensitive".
 16725  func (s ListTagsForResourceOutput) GoString() string {
 16726  	return s.String()
 16727  }
 16728  
 16729  // SetTags sets the Tags field's value.
 16730  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
 16731  	s.Tags = v
 16732  	return s
 16733  }
 16734  
 16735  // Contains logging options.
 16736  type LoggingOptions struct {
 16737  	_ struct{} `type:"structure"`
 16738  
 16739  	// The IoT SiteWise logging verbosity level.
 16740  	//
 16741  	// Level is a required field
 16742  	Level *string `locationName:"level" type:"string" required:"true" enum:"LoggingLevel"`
 16743  }
 16744  
 16745  // String returns the string representation.
 16746  //
 16747  // API parameter values that are decorated as "sensitive" in the API will not
 16748  // be included in the string output. The member name will be present, but the
 16749  // value will be replaced with "sensitive".
 16750  func (s LoggingOptions) String() string {
 16751  	return awsutil.Prettify(s)
 16752  }
 16753  
 16754  // GoString returns the string representation.
 16755  //
 16756  // API parameter values that are decorated as "sensitive" in the API will not
 16757  // be included in the string output. The member name will be present, but the
 16758  // value will be replaced with "sensitive".
 16759  func (s LoggingOptions) GoString() string {
 16760  	return s.String()
 16761  }
 16762  
 16763  // Validate inspects the fields of the type to determine if they are valid.
 16764  func (s *LoggingOptions) Validate() error {
 16765  	invalidParams := request.ErrInvalidParams{Context: "LoggingOptions"}
 16766  	if s.Level == nil {
 16767  		invalidParams.Add(request.NewErrParamRequired("Level"))
 16768  	}
 16769  
 16770  	if invalidParams.Len() > 0 {
 16771  		return invalidParams
 16772  	}
 16773  	return nil
 16774  }
 16775  
 16776  // SetLevel sets the Level field's value.
 16777  func (s *LoggingOptions) SetLevel(v string) *LoggingOptions {
 16778  	s.Level = &v
 16779  	return s
 16780  }
 16781  
 16782  // Contains an asset measurement property. For more information, see Measurements
 16783  // (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html#measurements)
 16784  // in the IoT SiteWise User Guide.
 16785  type Measurement struct {
 16786  	_ struct{} `type:"structure"`
 16787  
 16788  	// The processing configuration for the given measurement property. You can
 16789  	// configure measurements to be kept at the edge or forwarded to the Amazon
 16790  	// Web Services Cloud. By default, measurements are forwarded to the cloud.
 16791  	ProcessingConfig *MeasurementProcessingConfig `locationName:"processingConfig" type:"structure"`
 16792  }
 16793  
 16794  // String returns the string representation.
 16795  //
 16796  // API parameter values that are decorated as "sensitive" in the API will not
 16797  // be included in the string output. The member name will be present, but the
 16798  // value will be replaced with "sensitive".
 16799  func (s Measurement) String() string {
 16800  	return awsutil.Prettify(s)
 16801  }
 16802  
 16803  // GoString returns the string representation.
 16804  //
 16805  // API parameter values that are decorated as "sensitive" in the API will not
 16806  // be included in the string output. The member name will be present, but the
 16807  // value will be replaced with "sensitive".
 16808  func (s Measurement) GoString() string {
 16809  	return s.String()
 16810  }
 16811  
 16812  // Validate inspects the fields of the type to determine if they are valid.
 16813  func (s *Measurement) Validate() error {
 16814  	invalidParams := request.ErrInvalidParams{Context: "Measurement"}
 16815  	if s.ProcessingConfig != nil {
 16816  		if err := s.ProcessingConfig.Validate(); err != nil {
 16817  			invalidParams.AddNested("ProcessingConfig", err.(request.ErrInvalidParams))
 16818  		}
 16819  	}
 16820  
 16821  	if invalidParams.Len() > 0 {
 16822  		return invalidParams
 16823  	}
 16824  	return nil
 16825  }
 16826  
 16827  // SetProcessingConfig sets the ProcessingConfig field's value.
 16828  func (s *Measurement) SetProcessingConfig(v *MeasurementProcessingConfig) *Measurement {
 16829  	s.ProcessingConfig = v
 16830  	return s
 16831  }
 16832  
 16833  // The processing configuration for the given measurement property. You can
 16834  // configure measurements to be kept at the edge or forwarded to the Amazon
 16835  // Web Services Cloud. By default, measurements are forwarded to the cloud.
 16836  type MeasurementProcessingConfig struct {
 16837  	_ struct{} `type:"structure"`
 16838  
 16839  	// The forwarding configuration for the given measurement property.
 16840  	//
 16841  	// ForwardingConfig is a required field
 16842  	ForwardingConfig *ForwardingConfig `locationName:"forwardingConfig" type:"structure" required:"true"`
 16843  }
 16844  
 16845  // String returns the string representation.
 16846  //
 16847  // API parameter values that are decorated as "sensitive" in the API will not
 16848  // be included in the string output. The member name will be present, but the
 16849  // value will be replaced with "sensitive".
 16850  func (s MeasurementProcessingConfig) String() string {
 16851  	return awsutil.Prettify(s)
 16852  }
 16853  
 16854  // GoString returns the string representation.
 16855  //
 16856  // API parameter values that are decorated as "sensitive" in the API will not
 16857  // be included in the string output. The member name will be present, but the
 16858  // value will be replaced with "sensitive".
 16859  func (s MeasurementProcessingConfig) GoString() string {
 16860  	return s.String()
 16861  }
 16862  
 16863  // Validate inspects the fields of the type to determine if they are valid.
 16864  func (s *MeasurementProcessingConfig) Validate() error {
 16865  	invalidParams := request.ErrInvalidParams{Context: "MeasurementProcessingConfig"}
 16866  	if s.ForwardingConfig == nil {
 16867  		invalidParams.Add(request.NewErrParamRequired("ForwardingConfig"))
 16868  	}
 16869  	if s.ForwardingConfig != nil {
 16870  		if err := s.ForwardingConfig.Validate(); err != nil {
 16871  			invalidParams.AddNested("ForwardingConfig", err.(request.ErrInvalidParams))
 16872  		}
 16873  	}
 16874  
 16875  	if invalidParams.Len() > 0 {
 16876  		return invalidParams
 16877  	}
 16878  	return nil
 16879  }
 16880  
 16881  // SetForwardingConfig sets the ForwardingConfig field's value.
 16882  func (s *MeasurementProcessingConfig) SetForwardingConfig(v *ForwardingConfig) *MeasurementProcessingConfig {
 16883  	s.ForwardingConfig = v
 16884  	return s
 16885  }
 16886  
 16887  // Contains an asset metric property. With metrics, you can calculate aggregate
 16888  // functions, such as an average, maximum, or minimum, as specified through
 16889  // an expression. A metric maps several values to a single value (such as a
 16890  // sum).
 16891  //
 16892  // The maximum number of dependent/cascading variables used in any one metric
 16893  // calculation is 10. Therefore, a root metric can have up to 10 cascading metrics
 16894  // in its computational dependency tree. Additionally, a metric can only have
 16895  // a data type of DOUBLE and consume properties with data types of INTEGER or
 16896  // DOUBLE.
 16897  //
 16898  // For more information, see Metrics (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html#metrics)
 16899  // in the IoT SiteWise User Guide.
 16900  type Metric struct {
 16901  	_ struct{} `type:"structure"`
 16902  
 16903  	// The mathematical expression that defines the metric aggregation function.
 16904  	// You can specify up to 10 variables per expression. You can specify up to
 16905  	// 10 functions per expression.
 16906  	//
 16907  	// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
 16908  	// in the IoT SiteWise User Guide.
 16909  	//
 16910  	// Expression is a required field
 16911  	Expression *string `locationName:"expression" min:"1" type:"string" required:"true"`
 16912  
 16913  	// The processing configuration for the given metric property. You can configure
 16914  	// metrics to be computed at the edge or in the Amazon Web Services Cloud. By
 16915  	// default, metrics are forwarded to the cloud.
 16916  	ProcessingConfig *MetricProcessingConfig `locationName:"processingConfig" type:"structure"`
 16917  
 16918  	// The list of variables used in the expression.
 16919  	//
 16920  	// Variables is a required field
 16921  	Variables []*ExpressionVariable `locationName:"variables" type:"list" required:"true"`
 16922  
 16923  	// The window (time interval) over which IoT SiteWise computes the metric's
 16924  	// aggregation expression. IoT SiteWise computes one data point per window.
 16925  	//
 16926  	// Window is a required field
 16927  	Window *MetricWindow `locationName:"window" type:"structure" required:"true"`
 16928  }
 16929  
 16930  // String returns the string representation.
 16931  //
 16932  // API parameter values that are decorated as "sensitive" in the API will not
 16933  // be included in the string output. The member name will be present, but the
 16934  // value will be replaced with "sensitive".
 16935  func (s Metric) String() string {
 16936  	return awsutil.Prettify(s)
 16937  }
 16938  
 16939  // GoString returns the string representation.
 16940  //
 16941  // API parameter values that are decorated as "sensitive" in the API will not
 16942  // be included in the string output. The member name will be present, but the
 16943  // value will be replaced with "sensitive".
 16944  func (s Metric) GoString() string {
 16945  	return s.String()
 16946  }
 16947  
 16948  // Validate inspects the fields of the type to determine if they are valid.
 16949  func (s *Metric) Validate() error {
 16950  	invalidParams := request.ErrInvalidParams{Context: "Metric"}
 16951  	if s.Expression == nil {
 16952  		invalidParams.Add(request.NewErrParamRequired("Expression"))
 16953  	}
 16954  	if s.Expression != nil && len(*s.Expression) < 1 {
 16955  		invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
 16956  	}
 16957  	if s.Variables == nil {
 16958  		invalidParams.Add(request.NewErrParamRequired("Variables"))
 16959  	}
 16960  	if s.Window == nil {
 16961  		invalidParams.Add(request.NewErrParamRequired("Window"))
 16962  	}
 16963  	if s.ProcessingConfig != nil {
 16964  		if err := s.ProcessingConfig.Validate(); err != nil {
 16965  			invalidParams.AddNested("ProcessingConfig", err.(request.ErrInvalidParams))
 16966  		}
 16967  	}
 16968  	if s.Variables != nil {
 16969  		for i, v := range s.Variables {
 16970  			if v == nil {
 16971  				continue
 16972  			}
 16973  			if err := v.Validate(); err != nil {
 16974  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Variables", i), err.(request.ErrInvalidParams))
 16975  			}
 16976  		}
 16977  	}
 16978  	if s.Window != nil {
 16979  		if err := s.Window.Validate(); err != nil {
 16980  			invalidParams.AddNested("Window", err.(request.ErrInvalidParams))
 16981  		}
 16982  	}
 16983  
 16984  	if invalidParams.Len() > 0 {
 16985  		return invalidParams
 16986  	}
 16987  	return nil
 16988  }
 16989  
 16990  // SetExpression sets the Expression field's value.
 16991  func (s *Metric) SetExpression(v string) *Metric {
 16992  	s.Expression = &v
 16993  	return s
 16994  }
 16995  
 16996  // SetProcessingConfig sets the ProcessingConfig field's value.
 16997  func (s *Metric) SetProcessingConfig(v *MetricProcessingConfig) *Metric {
 16998  	s.ProcessingConfig = v
 16999  	return s
 17000  }
 17001  
 17002  // SetVariables sets the Variables field's value.
 17003  func (s *Metric) SetVariables(v []*ExpressionVariable) *Metric {
 17004  	s.Variables = v
 17005  	return s
 17006  }
 17007  
 17008  // SetWindow sets the Window field's value.
 17009  func (s *Metric) SetWindow(v *MetricWindow) *Metric {
 17010  	s.Window = v
 17011  	return s
 17012  }
 17013  
 17014  // The processing configuration for the given metric property. You can configure
 17015  // metrics to be computed at the edge or in the Amazon Web Services Cloud. By
 17016  // default, metrics are forwarded to the cloud.
 17017  type MetricProcessingConfig struct {
 17018  	_ struct{} `type:"structure"`
 17019  
 17020  	// The compute location for the given metric property.
 17021  	//
 17022  	// ComputeLocation is a required field
 17023  	ComputeLocation *string `locationName:"computeLocation" type:"string" required:"true" enum:"ComputeLocation"`
 17024  }
 17025  
 17026  // String returns the string representation.
 17027  //
 17028  // API parameter values that are decorated as "sensitive" in the API will not
 17029  // be included in the string output. The member name will be present, but the
 17030  // value will be replaced with "sensitive".
 17031  func (s MetricProcessingConfig) String() string {
 17032  	return awsutil.Prettify(s)
 17033  }
 17034  
 17035  // GoString returns the string representation.
 17036  //
 17037  // API parameter values that are decorated as "sensitive" in the API will not
 17038  // be included in the string output. The member name will be present, but the
 17039  // value will be replaced with "sensitive".
 17040  func (s MetricProcessingConfig) GoString() string {
 17041  	return s.String()
 17042  }
 17043  
 17044  // Validate inspects the fields of the type to determine if they are valid.
 17045  func (s *MetricProcessingConfig) Validate() error {
 17046  	invalidParams := request.ErrInvalidParams{Context: "MetricProcessingConfig"}
 17047  	if s.ComputeLocation == nil {
 17048  		invalidParams.Add(request.NewErrParamRequired("ComputeLocation"))
 17049  	}
 17050  
 17051  	if invalidParams.Len() > 0 {
 17052  		return invalidParams
 17053  	}
 17054  	return nil
 17055  }
 17056  
 17057  // SetComputeLocation sets the ComputeLocation field's value.
 17058  func (s *MetricProcessingConfig) SetComputeLocation(v string) *MetricProcessingConfig {
 17059  	s.ComputeLocation = &v
 17060  	return s
 17061  }
 17062  
 17063  // Contains a time interval window used for data aggregate computations (for
 17064  // example, average, sum, count, and so on).
 17065  type MetricWindow struct {
 17066  	_ struct{} `type:"structure"`
 17067  
 17068  	// The tumbling time interval window.
 17069  	Tumbling *TumblingWindow `locationName:"tumbling" type:"structure"`
 17070  }
 17071  
 17072  // String returns the string representation.
 17073  //
 17074  // API parameter values that are decorated as "sensitive" in the API will not
 17075  // be included in the string output. The member name will be present, but the
 17076  // value will be replaced with "sensitive".
 17077  func (s MetricWindow) String() string {
 17078  	return awsutil.Prettify(s)
 17079  }
 17080  
 17081  // GoString returns the string representation.
 17082  //
 17083  // API parameter values that are decorated as "sensitive" in the API will not
 17084  // be included in the string output. The member name will be present, but the
 17085  // value will be replaced with "sensitive".
 17086  func (s MetricWindow) GoString() string {
 17087  	return s.String()
 17088  }
 17089  
 17090  // Validate inspects the fields of the type to determine if they are valid.
 17091  func (s *MetricWindow) Validate() error {
 17092  	invalidParams := request.ErrInvalidParams{Context: "MetricWindow"}
 17093  	if s.Tumbling != nil {
 17094  		if err := s.Tumbling.Validate(); err != nil {
 17095  			invalidParams.AddNested("Tumbling", err.(request.ErrInvalidParams))
 17096  		}
 17097  	}
 17098  
 17099  	if invalidParams.Len() > 0 {
 17100  		return invalidParams
 17101  	}
 17102  	return nil
 17103  }
 17104  
 17105  // SetTumbling sets the Tumbling field's value.
 17106  func (s *MetricWindow) SetTumbling(v *TumblingWindow) *MetricWindow {
 17107  	s.Tumbling = v
 17108  	return s
 17109  }
 17110  
 17111  // Contains IoT SiteWise Monitor error details.
 17112  type MonitorErrorDetails struct {
 17113  	_ struct{} `type:"structure"`
 17114  
 17115  	// The error code.
 17116  	Code *string `locationName:"code" type:"string" enum:"MonitorErrorCode"`
 17117  
 17118  	// The error message.
 17119  	Message *string `locationName:"message" type:"string"`
 17120  }
 17121  
 17122  // String returns the string representation.
 17123  //
 17124  // API parameter values that are decorated as "sensitive" in the API will not
 17125  // be included in the string output. The member name will be present, but the
 17126  // value will be replaced with "sensitive".
 17127  func (s MonitorErrorDetails) String() string {
 17128  	return awsutil.Prettify(s)
 17129  }
 17130  
 17131  // GoString returns the string representation.
 17132  //
 17133  // API parameter values that are decorated as "sensitive" in the API will not
 17134  // be included in the string output. The member name will be present, but the
 17135  // value will be replaced with "sensitive".
 17136  func (s MonitorErrorDetails) GoString() string {
 17137  	return s.String()
 17138  }
 17139  
 17140  // SetCode sets the Code field's value.
 17141  func (s *MonitorErrorDetails) SetCode(v string) *MonitorErrorDetails {
 17142  	s.Code = &v
 17143  	return s
 17144  }
 17145  
 17146  // SetMessage sets the Message field's value.
 17147  func (s *MonitorErrorDetails) SetMessage(v string) *MonitorErrorDetails {
 17148  	s.Message = &v
 17149  	return s
 17150  }
 17151  
 17152  // Contains information about the storage destination.
 17153  type MultiLayerStorage struct {
 17154  	_ struct{} `type:"structure"`
 17155  
 17156  	// Contains information about a customer managed Amazon S3 bucket.
 17157  	//
 17158  	// CustomerManagedS3Storage is a required field
 17159  	CustomerManagedS3Storage *CustomerManagedS3Storage `locationName:"customerManagedS3Storage" type:"structure" required:"true"`
 17160  }
 17161  
 17162  // String returns the string representation.
 17163  //
 17164  // API parameter values that are decorated as "sensitive" in the API will not
 17165  // be included in the string output. The member name will be present, but the
 17166  // value will be replaced with "sensitive".
 17167  func (s MultiLayerStorage) String() string {
 17168  	return awsutil.Prettify(s)
 17169  }
 17170  
 17171  // GoString returns the string representation.
 17172  //
 17173  // API parameter values that are decorated as "sensitive" in the API will not
 17174  // be included in the string output. The member name will be present, but the
 17175  // value will be replaced with "sensitive".
 17176  func (s MultiLayerStorage) GoString() string {
 17177  	return s.String()
 17178  }
 17179  
 17180  // Validate inspects the fields of the type to determine if they are valid.
 17181  func (s *MultiLayerStorage) Validate() error {
 17182  	invalidParams := request.ErrInvalidParams{Context: "MultiLayerStorage"}
 17183  	if s.CustomerManagedS3Storage == nil {
 17184  		invalidParams.Add(request.NewErrParamRequired("CustomerManagedS3Storage"))
 17185  	}
 17186  	if s.CustomerManagedS3Storage != nil {
 17187  		if err := s.CustomerManagedS3Storage.Validate(); err != nil {
 17188  			invalidParams.AddNested("CustomerManagedS3Storage", err.(request.ErrInvalidParams))
 17189  		}
 17190  	}
 17191  
 17192  	if invalidParams.Len() > 0 {
 17193  		return invalidParams
 17194  	}
 17195  	return nil
 17196  }
 17197  
 17198  // SetCustomerManagedS3Storage sets the CustomerManagedS3Storage field's value.
 17199  func (s *MultiLayerStorage) SetCustomerManagedS3Storage(v *CustomerManagedS3Storage) *MultiLayerStorage {
 17200  	s.CustomerManagedS3Storage = v
 17201  	return s
 17202  }
 17203  
 17204  // Identifies an IoT SiteWise Monitor portal.
 17205  type PortalResource struct {
 17206  	_ struct{} `type:"structure"`
 17207  
 17208  	// The ID of the portal.
 17209  	//
 17210  	// Id is a required field
 17211  	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
 17212  }
 17213  
 17214  // String returns the string representation.
 17215  //
 17216  // API parameter values that are decorated as "sensitive" in the API will not
 17217  // be included in the string output. The member name will be present, but the
 17218  // value will be replaced with "sensitive".
 17219  func (s PortalResource) String() string {
 17220  	return awsutil.Prettify(s)
 17221  }
 17222  
 17223  // GoString returns the string representation.
 17224  //
 17225  // API parameter values that are decorated as "sensitive" in the API will not
 17226  // be included in the string output. The member name will be present, but the
 17227  // value will be replaced with "sensitive".
 17228  func (s PortalResource) GoString() string {
 17229  	return s.String()
 17230  }
 17231  
 17232  // Validate inspects the fields of the type to determine if they are valid.
 17233  func (s *PortalResource) Validate() error {
 17234  	invalidParams := request.ErrInvalidParams{Context: "PortalResource"}
 17235  	if s.Id == nil {
 17236  		invalidParams.Add(request.NewErrParamRequired("Id"))
 17237  	}
 17238  	if s.Id != nil && len(*s.Id) < 36 {
 17239  		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
 17240  	}
 17241  
 17242  	if invalidParams.Len() > 0 {
 17243  		return invalidParams
 17244  	}
 17245  	return nil
 17246  }
 17247  
 17248  // SetId sets the Id field's value.
 17249  func (s *PortalResource) SetId(v string) *PortalResource {
 17250  	s.Id = &v
 17251  	return s
 17252  }
 17253  
 17254  // Contains information about the current status of a portal.
 17255  type PortalStatus struct {
 17256  	_ struct{} `type:"structure"`
 17257  
 17258  	// Contains associated error information, if any.
 17259  	Error *MonitorErrorDetails `locationName:"error" type:"structure"`
 17260  
 17261  	// The current state of the portal.
 17262  	//
 17263  	// State is a required field
 17264  	State *string `locationName:"state" type:"string" required:"true" enum:"PortalState"`
 17265  }
 17266  
 17267  // String returns the string representation.
 17268  //
 17269  // API parameter values that are decorated as "sensitive" in the API will not
 17270  // be included in the string output. The member name will be present, but the
 17271  // value will be replaced with "sensitive".
 17272  func (s PortalStatus) String() string {
 17273  	return awsutil.Prettify(s)
 17274  }
 17275  
 17276  // GoString returns the string representation.
 17277  //
 17278  // API parameter values that are decorated as "sensitive" in the API will not
 17279  // be included in the string output. The member name will be present, but the
 17280  // value will be replaced with "sensitive".
 17281  func (s PortalStatus) GoString() string {
 17282  	return s.String()
 17283  }
 17284  
 17285  // SetError sets the Error field's value.
 17286  func (s *PortalStatus) SetError(v *MonitorErrorDetails) *PortalStatus {
 17287  	s.Error = v
 17288  	return s
 17289  }
 17290  
 17291  // SetState sets the State field's value.
 17292  func (s *PortalStatus) SetState(v string) *PortalStatus {
 17293  	s.State = &v
 17294  	return s
 17295  }
 17296  
 17297  // Contains a portal summary.
 17298  type PortalSummary struct {
 17299  	_ struct{} `type:"structure"`
 17300  
 17301  	// The date the portal was created, in Unix epoch time.
 17302  	CreationDate *time.Time `locationName:"creationDate" type:"timestamp"`
 17303  
 17304  	// The portal's description.
 17305  	Description *string `locationName:"description" min:"1" type:"string"`
 17306  
 17307  	// The ID of the portal.
 17308  	//
 17309  	// Id is a required field
 17310  	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
 17311  
 17312  	// The date the portal was last updated, in Unix epoch time.
 17313  	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp"`
 17314  
 17315  	// The name of the portal.
 17316  	//
 17317  	// Name is a required field
 17318  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 17319  
 17320  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 17321  	// of the service role that allows the portal's users to access your IoT SiteWise
 17322  	// resources on your behalf. For more information, see Using service roles for
 17323  	// IoT SiteWise Monitor (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html)
 17324  	// in the IoT SiteWise User Guide.
 17325  	RoleArn *string `locationName:"roleArn" min:"1" type:"string"`
 17326  
 17327  	// The URL for the IoT SiteWise Monitor portal. You can use this URL to access
 17328  	// portals that use Amazon Web Services SSO for authentication. For portals
 17329  	// that use IAM for authentication, you must use the IoT SiteWise console to
 17330  	// get a URL that you can use to access the portal.
 17331  	//
 17332  	// StartUrl is a required field
 17333  	StartUrl *string `locationName:"startUrl" min:"1" type:"string" required:"true"`
 17334  
 17335  	// Contains information about the current status of a portal.
 17336  	//
 17337  	// Status is a required field
 17338  	Status *PortalStatus `locationName:"status" type:"structure" required:"true"`
 17339  }
 17340  
 17341  // String returns the string representation.
 17342  //
 17343  // API parameter values that are decorated as "sensitive" in the API will not
 17344  // be included in the string output. The member name will be present, but the
 17345  // value will be replaced with "sensitive".
 17346  func (s PortalSummary) String() string {
 17347  	return awsutil.Prettify(s)
 17348  }
 17349  
 17350  // GoString returns the string representation.
 17351  //
 17352  // API parameter values that are decorated as "sensitive" in the API will not
 17353  // be included in the string output. The member name will be present, but the
 17354  // value will be replaced with "sensitive".
 17355  func (s PortalSummary) GoString() string {
 17356  	return s.String()
 17357  }
 17358  
 17359  // SetCreationDate sets the CreationDate field's value.
 17360  func (s *PortalSummary) SetCreationDate(v time.Time) *PortalSummary {
 17361  	s.CreationDate = &v
 17362  	return s
 17363  }
 17364  
 17365  // SetDescription sets the Description field's value.
 17366  func (s *PortalSummary) SetDescription(v string) *PortalSummary {
 17367  	s.Description = &v
 17368  	return s
 17369  }
 17370  
 17371  // SetId sets the Id field's value.
 17372  func (s *PortalSummary) SetId(v string) *PortalSummary {
 17373  	s.Id = &v
 17374  	return s
 17375  }
 17376  
 17377  // SetLastUpdateDate sets the LastUpdateDate field's value.
 17378  func (s *PortalSummary) SetLastUpdateDate(v time.Time) *PortalSummary {
 17379  	s.LastUpdateDate = &v
 17380  	return s
 17381  }
 17382  
 17383  // SetName sets the Name field's value.
 17384  func (s *PortalSummary) SetName(v string) *PortalSummary {
 17385  	s.Name = &v
 17386  	return s
 17387  }
 17388  
 17389  // SetRoleArn sets the RoleArn field's value.
 17390  func (s *PortalSummary) SetRoleArn(v string) *PortalSummary {
 17391  	s.RoleArn = &v
 17392  	return s
 17393  }
 17394  
 17395  // SetStartUrl sets the StartUrl field's value.
 17396  func (s *PortalSummary) SetStartUrl(v string) *PortalSummary {
 17397  	s.StartUrl = &v
 17398  	return s
 17399  }
 17400  
 17401  // SetStatus sets the Status field's value.
 17402  func (s *PortalSummary) SetStatus(v *PortalStatus) *PortalSummary {
 17403  	s.Status = v
 17404  	return s
 17405  }
 17406  
 17407  // Identifies a specific IoT SiteWise Monitor project.
 17408  type ProjectResource struct {
 17409  	_ struct{} `type:"structure"`
 17410  
 17411  	// The ID of the project.
 17412  	//
 17413  	// Id is a required field
 17414  	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
 17415  }
 17416  
 17417  // String returns the string representation.
 17418  //
 17419  // API parameter values that are decorated as "sensitive" in the API will not
 17420  // be included in the string output. The member name will be present, but the
 17421  // value will be replaced with "sensitive".
 17422  func (s ProjectResource) String() string {
 17423  	return awsutil.Prettify(s)
 17424  }
 17425  
 17426  // GoString returns the string representation.
 17427  //
 17428  // API parameter values that are decorated as "sensitive" in the API will not
 17429  // be included in the string output. The member name will be present, but the
 17430  // value will be replaced with "sensitive".
 17431  func (s ProjectResource) GoString() string {
 17432  	return s.String()
 17433  }
 17434  
 17435  // Validate inspects the fields of the type to determine if they are valid.
 17436  func (s *ProjectResource) Validate() error {
 17437  	invalidParams := request.ErrInvalidParams{Context: "ProjectResource"}
 17438  	if s.Id == nil {
 17439  		invalidParams.Add(request.NewErrParamRequired("Id"))
 17440  	}
 17441  	if s.Id != nil && len(*s.Id) < 36 {
 17442  		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
 17443  	}
 17444  
 17445  	if invalidParams.Len() > 0 {
 17446  		return invalidParams
 17447  	}
 17448  	return nil
 17449  }
 17450  
 17451  // SetId sets the Id field's value.
 17452  func (s *ProjectResource) SetId(v string) *ProjectResource {
 17453  	s.Id = &v
 17454  	return s
 17455  }
 17456  
 17457  // Contains project summary information.
 17458  type ProjectSummary struct {
 17459  	_ struct{} `type:"structure"`
 17460  
 17461  	// The date the project was created, in Unix epoch time.
 17462  	CreationDate *time.Time `locationName:"creationDate" type:"timestamp"`
 17463  
 17464  	// The project's description.
 17465  	Description *string `locationName:"description" min:"1" type:"string"`
 17466  
 17467  	// The ID of the project.
 17468  	//
 17469  	// Id is a required field
 17470  	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
 17471  
 17472  	// The date the project was last updated, in Unix epoch time.
 17473  	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp"`
 17474  
 17475  	// The name of the project.
 17476  	//
 17477  	// Name is a required field
 17478  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 17479  }
 17480  
 17481  // String returns the string representation.
 17482  //
 17483  // API parameter values that are decorated as "sensitive" in the API will not
 17484  // be included in the string output. The member name will be present, but the
 17485  // value will be replaced with "sensitive".
 17486  func (s ProjectSummary) String() string {
 17487  	return awsutil.Prettify(s)
 17488  }
 17489  
 17490  // GoString returns the string representation.
 17491  //
 17492  // API parameter values that are decorated as "sensitive" in the API will not
 17493  // be included in the string output. The member name will be present, but the
 17494  // value will be replaced with "sensitive".
 17495  func (s ProjectSummary) GoString() string {
 17496  	return s.String()
 17497  }
 17498  
 17499  // SetCreationDate sets the CreationDate field's value.
 17500  func (s *ProjectSummary) SetCreationDate(v time.Time) *ProjectSummary {
 17501  	s.CreationDate = &v
 17502  	return s
 17503  }
 17504  
 17505  // SetDescription sets the Description field's value.
 17506  func (s *ProjectSummary) SetDescription(v string) *ProjectSummary {
 17507  	s.Description = &v
 17508  	return s
 17509  }
 17510  
 17511  // SetId sets the Id field's value.
 17512  func (s *ProjectSummary) SetId(v string) *ProjectSummary {
 17513  	s.Id = &v
 17514  	return s
 17515  }
 17516  
 17517  // SetLastUpdateDate sets the LastUpdateDate field's value.
 17518  func (s *ProjectSummary) SetLastUpdateDate(v time.Time) *ProjectSummary {
 17519  	s.LastUpdateDate = &v
 17520  	return s
 17521  }
 17522  
 17523  // SetName sets the Name field's value.
 17524  func (s *ProjectSummary) SetName(v string) *ProjectSummary {
 17525  	s.Name = &v
 17526  	return s
 17527  }
 17528  
 17529  // Contains asset property information.
 17530  type Property struct {
 17531  	_ struct{} `type:"structure"`
 17532  
 17533  	// The alias that identifies the property, such as an OPC-UA server data stream
 17534  	// path (for example, /company/windfarm/3/turbine/7/temperature). For more information,
 17535  	// see Mapping industrial data streams to asset properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
 17536  	// in the IoT SiteWise User Guide.
 17537  	Alias *string `locationName:"alias" min:"1" type:"string"`
 17538  
 17539  	// The property data type.
 17540  	//
 17541  	// DataType is a required field
 17542  	DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"`
 17543  
 17544  	// The ID of the asset property.
 17545  	//
 17546  	// Id is a required field
 17547  	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
 17548  
 17549  	// The name of the property.
 17550  	//
 17551  	// Name is a required field
 17552  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 17553  
 17554  	// The asset property's notification topic and state. For more information,
 17555  	// see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html).
 17556  	Notification *PropertyNotification `locationName:"notification" type:"structure"`
 17557  
 17558  	// The property type (see PropertyType). A property contains one type.
 17559  	Type *PropertyType `locationName:"type" type:"structure"`
 17560  
 17561  	// The unit (such as Newtons or RPM) of the asset property.
 17562  	Unit *string `locationName:"unit" min:"1" type:"string"`
 17563  }
 17564  
 17565  // String returns the string representation.
 17566  //
 17567  // API parameter values that are decorated as "sensitive" in the API will not
 17568  // be included in the string output. The member name will be present, but the
 17569  // value will be replaced with "sensitive".
 17570  func (s Property) String() string {
 17571  	return awsutil.Prettify(s)
 17572  }
 17573  
 17574  // GoString returns the string representation.
 17575  //
 17576  // API parameter values that are decorated as "sensitive" in the API will not
 17577  // be included in the string output. The member name will be present, but the
 17578  // value will be replaced with "sensitive".
 17579  func (s Property) GoString() string {
 17580  	return s.String()
 17581  }
 17582  
 17583  // SetAlias sets the Alias field's value.
 17584  func (s *Property) SetAlias(v string) *Property {
 17585  	s.Alias = &v
 17586  	return s
 17587  }
 17588  
 17589  // SetDataType sets the DataType field's value.
 17590  func (s *Property) SetDataType(v string) *Property {
 17591  	s.DataType = &v
 17592  	return s
 17593  }
 17594  
 17595  // SetId sets the Id field's value.
 17596  func (s *Property) SetId(v string) *Property {
 17597  	s.Id = &v
 17598  	return s
 17599  }
 17600  
 17601  // SetName sets the Name field's value.
 17602  func (s *Property) SetName(v string) *Property {
 17603  	s.Name = &v
 17604  	return s
 17605  }
 17606  
 17607  // SetNotification sets the Notification field's value.
 17608  func (s *Property) SetNotification(v *PropertyNotification) *Property {
 17609  	s.Notification = v
 17610  	return s
 17611  }
 17612  
 17613  // SetType sets the Type field's value.
 17614  func (s *Property) SetType(v *PropertyType) *Property {
 17615  	s.Type = v
 17616  	return s
 17617  }
 17618  
 17619  // SetUnit sets the Unit field's value.
 17620  func (s *Property) SetUnit(v string) *Property {
 17621  	s.Unit = &v
 17622  	return s
 17623  }
 17624  
 17625  // Contains asset property value notification information. When the notification
 17626  // state is enabled, IoT SiteWise publishes property value updates to a unique
 17627  // MQTT topic. For more information, see Interacting with other services (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/interact-with-other-services.html)
 17628  // in the IoT SiteWise User Guide.
 17629  type PropertyNotification struct {
 17630  	_ struct{} `type:"structure"`
 17631  
 17632  	// The current notification state.
 17633  	//
 17634  	// State is a required field
 17635  	State *string `locationName:"state" type:"string" required:"true" enum:"PropertyNotificationState"`
 17636  
 17637  	// The MQTT topic to which IoT SiteWise publishes property value update notifications.
 17638  	//
 17639  	// Topic is a required field
 17640  	Topic *string `locationName:"topic" type:"string" required:"true"`
 17641  }
 17642  
 17643  // String returns the string representation.
 17644  //
 17645  // API parameter values that are decorated as "sensitive" in the API will not
 17646  // be included in the string output. The member name will be present, but the
 17647  // value will be replaced with "sensitive".
 17648  func (s PropertyNotification) String() string {
 17649  	return awsutil.Prettify(s)
 17650  }
 17651  
 17652  // GoString returns the string representation.
 17653  //
 17654  // API parameter values that are decorated as "sensitive" in the API will not
 17655  // be included in the string output. The member name will be present, but the
 17656  // value will be replaced with "sensitive".
 17657  func (s PropertyNotification) GoString() string {
 17658  	return s.String()
 17659  }
 17660  
 17661  // SetState sets the State field's value.
 17662  func (s *PropertyNotification) SetState(v string) *PropertyNotification {
 17663  	s.State = &v
 17664  	return s
 17665  }
 17666  
 17667  // SetTopic sets the Topic field's value.
 17668  func (s *PropertyNotification) SetTopic(v string) *PropertyNotification {
 17669  	s.Topic = &v
 17670  	return s
 17671  }
 17672  
 17673  // Contains a property type, which can be one of attribute, measurement, metric,
 17674  // or transform.
 17675  type PropertyType struct {
 17676  	_ struct{} `type:"structure"`
 17677  
 17678  	// Specifies an asset attribute property. An attribute generally contains static
 17679  	// information, such as the serial number of an IIoT (https://en.wikipedia.org/wiki/Internet_of_things#Industrial_applications)
 17680  	// wind turbine.
 17681  	Attribute *Attribute `locationName:"attribute" type:"structure"`
 17682  
 17683  	// Specifies an asset measurement property. A measurement represents a device's
 17684  	// raw sensor data stream, such as timestamped temperature values or timestamped
 17685  	// power values.
 17686  	Measurement *Measurement `locationName:"measurement" type:"structure"`
 17687  
 17688  	// Specifies an asset metric property. A metric contains a mathematical expression
 17689  	// that uses aggregate functions to process all input data points over a time
 17690  	// interval and output a single data point, such as to calculate the average
 17691  	// hourly temperature.
 17692  	Metric *Metric `locationName:"metric" type:"structure"`
 17693  
 17694  	// Specifies an asset transform property. A transform contains a mathematical
 17695  	// expression that maps a property's data points from one form to another, such
 17696  	// as a unit conversion from Celsius to Fahrenheit.
 17697  	Transform *Transform `locationName:"transform" type:"structure"`
 17698  }
 17699  
 17700  // String returns the string representation.
 17701  //
 17702  // API parameter values that are decorated as "sensitive" in the API will not
 17703  // be included in the string output. The member name will be present, but the
 17704  // value will be replaced with "sensitive".
 17705  func (s PropertyType) String() string {
 17706  	return awsutil.Prettify(s)
 17707  }
 17708  
 17709  // GoString returns the string representation.
 17710  //
 17711  // API parameter values that are decorated as "sensitive" in the API will not
 17712  // be included in the string output. The member name will be present, but the
 17713  // value will be replaced with "sensitive".
 17714  func (s PropertyType) GoString() string {
 17715  	return s.String()
 17716  }
 17717  
 17718  // Validate inspects the fields of the type to determine if they are valid.
 17719  func (s *PropertyType) Validate() error {
 17720  	invalidParams := request.ErrInvalidParams{Context: "PropertyType"}
 17721  	if s.Attribute != nil {
 17722  		if err := s.Attribute.Validate(); err != nil {
 17723  			invalidParams.AddNested("Attribute", err.(request.ErrInvalidParams))
 17724  		}
 17725  	}
 17726  	if s.Measurement != nil {
 17727  		if err := s.Measurement.Validate(); err != nil {
 17728  			invalidParams.AddNested("Measurement", err.(request.ErrInvalidParams))
 17729  		}
 17730  	}
 17731  	if s.Metric != nil {
 17732  		if err := s.Metric.Validate(); err != nil {
 17733  			invalidParams.AddNested("Metric", err.(request.ErrInvalidParams))
 17734  		}
 17735  	}
 17736  	if s.Transform != nil {
 17737  		if err := s.Transform.Validate(); err != nil {
 17738  			invalidParams.AddNested("Transform", err.(request.ErrInvalidParams))
 17739  		}
 17740  	}
 17741  
 17742  	if invalidParams.Len() > 0 {
 17743  		return invalidParams
 17744  	}
 17745  	return nil
 17746  }
 17747  
 17748  // SetAttribute sets the Attribute field's value.
 17749  func (s *PropertyType) SetAttribute(v *Attribute) *PropertyType {
 17750  	s.Attribute = v
 17751  	return s
 17752  }
 17753  
 17754  // SetMeasurement sets the Measurement field's value.
 17755  func (s *PropertyType) SetMeasurement(v *Measurement) *PropertyType {
 17756  	s.Measurement = v
 17757  	return s
 17758  }
 17759  
 17760  // SetMetric sets the Metric field's value.
 17761  func (s *PropertyType) SetMetric(v *Metric) *PropertyType {
 17762  	s.Metric = v
 17763  	return s
 17764  }
 17765  
 17766  // SetTransform sets the Transform field's value.
 17767  func (s *PropertyType) SetTransform(v *Transform) *PropertyType {
 17768  	s.Transform = v
 17769  	return s
 17770  }
 17771  
 17772  // Contains a list of value updates for an asset property in the list of asset
 17773  // entries consumed by the BatchPutAssetPropertyValue (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html)
 17774  // API operation.
 17775  type PutAssetPropertyValueEntry struct {
 17776  	_ struct{} `type:"structure"`
 17777  
 17778  	// The ID of the asset to update.
 17779  	AssetId *string `locationName:"assetId" min:"36" type:"string"`
 17780  
 17781  	// The user specified ID for the entry. You can use this ID to identify which
 17782  	// entries failed.
 17783  	//
 17784  	// EntryId is a required field
 17785  	EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"`
 17786  
 17787  	// The alias that identifies the property, such as an OPC-UA server data stream
 17788  	// path (for example, /company/windfarm/3/turbine/7/temperature). For more information,
 17789  	// see Mapping industrial data streams to asset properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
 17790  	// in the IoT SiteWise User Guide.
 17791  	PropertyAlias *string `locationName:"propertyAlias" min:"1" type:"string"`
 17792  
 17793  	// The ID of the asset property for this entry.
 17794  	PropertyId *string `locationName:"propertyId" min:"36" type:"string"`
 17795  
 17796  	// The list of property values to upload. You can specify up to 10 propertyValues
 17797  	// array elements.
 17798  	//
 17799  	// PropertyValues is a required field
 17800  	PropertyValues []*AssetPropertyValue `locationName:"propertyValues" type:"list" required:"true"`
 17801  }
 17802  
 17803  // String returns the string representation.
 17804  //
 17805  // API parameter values that are decorated as "sensitive" in the API will not
 17806  // be included in the string output. The member name will be present, but the
 17807  // value will be replaced with "sensitive".
 17808  func (s PutAssetPropertyValueEntry) String() string {
 17809  	return awsutil.Prettify(s)
 17810  }
 17811  
 17812  // GoString returns the string representation.
 17813  //
 17814  // API parameter values that are decorated as "sensitive" in the API will not
 17815  // be included in the string output. The member name will be present, but the
 17816  // value will be replaced with "sensitive".
 17817  func (s PutAssetPropertyValueEntry) GoString() string {
 17818  	return s.String()
 17819  }
 17820  
 17821  // Validate inspects the fields of the type to determine if they are valid.
 17822  func (s *PutAssetPropertyValueEntry) Validate() error {
 17823  	invalidParams := request.ErrInvalidParams{Context: "PutAssetPropertyValueEntry"}
 17824  	if s.AssetId != nil && len(*s.AssetId) < 36 {
 17825  		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
 17826  	}
 17827  	if s.EntryId == nil {
 17828  		invalidParams.Add(request.NewErrParamRequired("EntryId"))
 17829  	}
 17830  	if s.EntryId != nil && len(*s.EntryId) < 1 {
 17831  		invalidParams.Add(request.NewErrParamMinLen("EntryId", 1))
 17832  	}
 17833  	if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 {
 17834  		invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1))
 17835  	}
 17836  	if s.PropertyId != nil && len(*s.PropertyId) < 36 {
 17837  		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36))
 17838  	}
 17839  	if s.PropertyValues == nil {
 17840  		invalidParams.Add(request.NewErrParamRequired("PropertyValues"))
 17841  	}
 17842  	if s.PropertyValues != nil {
 17843  		for i, v := range s.PropertyValues {
 17844  			if v == nil {
 17845  				continue
 17846  			}
 17847  			if err := v.Validate(); err != nil {
 17848  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyValues", i), err.(request.ErrInvalidParams))
 17849  			}
 17850  		}
 17851  	}
 17852  
 17853  	if invalidParams.Len() > 0 {
 17854  		return invalidParams
 17855  	}
 17856  	return nil
 17857  }
 17858  
 17859  // SetAssetId sets the AssetId field's value.
 17860  func (s *PutAssetPropertyValueEntry) SetAssetId(v string) *PutAssetPropertyValueEntry {
 17861  	s.AssetId = &v
 17862  	return s
 17863  }
 17864  
 17865  // SetEntryId sets the EntryId field's value.
 17866  func (s *PutAssetPropertyValueEntry) SetEntryId(v string) *PutAssetPropertyValueEntry {
 17867  	s.EntryId = &v
 17868  	return s
 17869  }
 17870  
 17871  // SetPropertyAlias sets the PropertyAlias field's value.
 17872  func (s *PutAssetPropertyValueEntry) SetPropertyAlias(v string) *PutAssetPropertyValueEntry {
 17873  	s.PropertyAlias = &v
 17874  	return s
 17875  }
 17876  
 17877  // SetPropertyId sets the PropertyId field's value.
 17878  func (s *PutAssetPropertyValueEntry) SetPropertyId(v string) *PutAssetPropertyValueEntry {
 17879  	s.PropertyId = &v
 17880  	return s
 17881  }
 17882  
 17883  // SetPropertyValues sets the PropertyValues field's value.
 17884  func (s *PutAssetPropertyValueEntry) SetPropertyValues(v []*AssetPropertyValue) *PutAssetPropertyValueEntry {
 17885  	s.PropertyValues = v
 17886  	return s
 17887  }
 17888  
 17889  type PutDefaultEncryptionConfigurationInput struct {
 17890  	_ struct{} `type:"structure"`
 17891  
 17892  	// The type of encryption used for the encryption configuration.
 17893  	//
 17894  	// EncryptionType is a required field
 17895  	EncryptionType *string `locationName:"encryptionType" type:"string" required:"true" enum:"EncryptionType"`
 17896  
 17897  	// The Key ID of the customer managed customer master key (CMK) used for KMS
 17898  	// encryption. This is required if you use KMS_BASED_ENCRYPTION.
 17899  	KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"`
 17900  }
 17901  
 17902  // String returns the string representation.
 17903  //
 17904  // API parameter values that are decorated as "sensitive" in the API will not
 17905  // be included in the string output. The member name will be present, but the
 17906  // value will be replaced with "sensitive".
 17907  func (s PutDefaultEncryptionConfigurationInput) String() string {
 17908  	return awsutil.Prettify(s)
 17909  }
 17910  
 17911  // GoString returns the string representation.
 17912  //
 17913  // API parameter values that are decorated as "sensitive" in the API will not
 17914  // be included in the string output. The member name will be present, but the
 17915  // value will be replaced with "sensitive".
 17916  func (s PutDefaultEncryptionConfigurationInput) GoString() string {
 17917  	return s.String()
 17918  }
 17919  
 17920  // Validate inspects the fields of the type to determine if they are valid.
 17921  func (s *PutDefaultEncryptionConfigurationInput) Validate() error {
 17922  	invalidParams := request.ErrInvalidParams{Context: "PutDefaultEncryptionConfigurationInput"}
 17923  	if s.EncryptionType == nil {
 17924  		invalidParams.Add(request.NewErrParamRequired("EncryptionType"))
 17925  	}
 17926  	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
 17927  		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
 17928  	}
 17929  
 17930  	if invalidParams.Len() > 0 {
 17931  		return invalidParams
 17932  	}
 17933  	return nil
 17934  }
 17935  
 17936  // SetEncryptionType sets the EncryptionType field's value.
 17937  func (s *PutDefaultEncryptionConfigurationInput) SetEncryptionType(v string) *PutDefaultEncryptionConfigurationInput {
 17938  	s.EncryptionType = &v
 17939  	return s
 17940  }
 17941  
 17942  // SetKmsKeyId sets the KmsKeyId field's value.
 17943  func (s *PutDefaultEncryptionConfigurationInput) SetKmsKeyId(v string) *PutDefaultEncryptionConfigurationInput {
 17944  	s.KmsKeyId = &v
 17945  	return s
 17946  }
 17947  
 17948  type PutDefaultEncryptionConfigurationOutput struct {
 17949  	_ struct{} `type:"structure"`
 17950  
 17951  	// The status of the account configuration. This contains the ConfigurationState.
 17952  	// If there is an error, it also contains the ErrorDetails.
 17953  	//
 17954  	// ConfigurationStatus is a required field
 17955  	ConfigurationStatus *ConfigurationStatus `locationName:"configurationStatus" type:"structure" required:"true"`
 17956  
 17957  	// The type of encryption used for the encryption configuration.
 17958  	//
 17959  	// EncryptionType is a required field
 17960  	EncryptionType *string `locationName:"encryptionType" type:"string" required:"true" enum:"EncryptionType"`
 17961  
 17962  	// The Key ARN of the KMS CMK used for KMS encryption if you use KMS_BASED_ENCRYPTION.
 17963  	KmsKeyArn *string `locationName:"kmsKeyArn" min:"1" type:"string"`
 17964  }
 17965  
 17966  // String returns the string representation.
 17967  //
 17968  // API parameter values that are decorated as "sensitive" in the API will not
 17969  // be included in the string output. The member name will be present, but the
 17970  // value will be replaced with "sensitive".
 17971  func (s PutDefaultEncryptionConfigurationOutput) String() string {
 17972  	return awsutil.Prettify(s)
 17973  }
 17974  
 17975  // GoString returns the string representation.
 17976  //
 17977  // API parameter values that are decorated as "sensitive" in the API will not
 17978  // be included in the string output. The member name will be present, but the
 17979  // value will be replaced with "sensitive".
 17980  func (s PutDefaultEncryptionConfigurationOutput) GoString() string {
 17981  	return s.String()
 17982  }
 17983  
 17984  // SetConfigurationStatus sets the ConfigurationStatus field's value.
 17985  func (s *PutDefaultEncryptionConfigurationOutput) SetConfigurationStatus(v *ConfigurationStatus) *PutDefaultEncryptionConfigurationOutput {
 17986  	s.ConfigurationStatus = v
 17987  	return s
 17988  }
 17989  
 17990  // SetEncryptionType sets the EncryptionType field's value.
 17991  func (s *PutDefaultEncryptionConfigurationOutput) SetEncryptionType(v string) *PutDefaultEncryptionConfigurationOutput {
 17992  	s.EncryptionType = &v
 17993  	return s
 17994  }
 17995  
 17996  // SetKmsKeyArn sets the KmsKeyArn field's value.
 17997  func (s *PutDefaultEncryptionConfigurationOutput) SetKmsKeyArn(v string) *PutDefaultEncryptionConfigurationOutput {
 17998  	s.KmsKeyArn = &v
 17999  	return s
 18000  }
 18001  
 18002  type PutLoggingOptionsInput struct {
 18003  	_ struct{} `type:"structure"`
 18004  
 18005  	// The logging options to set.
 18006  	//
 18007  	// LoggingOptions is a required field
 18008  	LoggingOptions *LoggingOptions `locationName:"loggingOptions" type:"structure" required:"true"`
 18009  }
 18010  
 18011  // String returns the string representation.
 18012  //
 18013  // API parameter values that are decorated as "sensitive" in the API will not
 18014  // be included in the string output. The member name will be present, but the
 18015  // value will be replaced with "sensitive".
 18016  func (s PutLoggingOptionsInput) String() string {
 18017  	return awsutil.Prettify(s)
 18018  }
 18019  
 18020  // GoString returns the string representation.
 18021  //
 18022  // API parameter values that are decorated as "sensitive" in the API will not
 18023  // be included in the string output. The member name will be present, but the
 18024  // value will be replaced with "sensitive".
 18025  func (s PutLoggingOptionsInput) GoString() string {
 18026  	return s.String()
 18027  }
 18028  
 18029  // Validate inspects the fields of the type to determine if they are valid.
 18030  func (s *PutLoggingOptionsInput) Validate() error {
 18031  	invalidParams := request.ErrInvalidParams{Context: "PutLoggingOptionsInput"}
 18032  	if s.LoggingOptions == nil {
 18033  		invalidParams.Add(request.NewErrParamRequired("LoggingOptions"))
 18034  	}
 18035  	if s.LoggingOptions != nil {
 18036  		if err := s.LoggingOptions.Validate(); err != nil {
 18037  			invalidParams.AddNested("LoggingOptions", err.(request.ErrInvalidParams))
 18038  		}
 18039  	}
 18040  
 18041  	if invalidParams.Len() > 0 {
 18042  		return invalidParams
 18043  	}
 18044  	return nil
 18045  }
 18046  
 18047  // SetLoggingOptions sets the LoggingOptions field's value.
 18048  func (s *PutLoggingOptionsInput) SetLoggingOptions(v *LoggingOptions) *PutLoggingOptionsInput {
 18049  	s.LoggingOptions = v
 18050  	return s
 18051  }
 18052  
 18053  type PutLoggingOptionsOutput struct {
 18054  	_ struct{} `type:"structure" nopayload:"true"`
 18055  }
 18056  
 18057  // String returns the string representation.
 18058  //
 18059  // API parameter values that are decorated as "sensitive" in the API will not
 18060  // be included in the string output. The member name will be present, but the
 18061  // value will be replaced with "sensitive".
 18062  func (s PutLoggingOptionsOutput) String() string {
 18063  	return awsutil.Prettify(s)
 18064  }
 18065  
 18066  // GoString returns the string representation.
 18067  //
 18068  // API parameter values that are decorated as "sensitive" in the API will not
 18069  // be included in the string output. The member name will be present, but the
 18070  // value will be replaced with "sensitive".
 18071  func (s PutLoggingOptionsOutput) GoString() string {
 18072  	return s.String()
 18073  }
 18074  
 18075  type PutStorageConfigurationInput struct {
 18076  	_ struct{} `type:"structure"`
 18077  
 18078  	// Identifies a storage destination. If you specified MULTI_LAYER_STORAGE for
 18079  	// the storage type, you must specify a MultiLayerStorage object.
 18080  	MultiLayerStorage *MultiLayerStorage `locationName:"multiLayerStorage" type:"structure"`
 18081  
 18082  	// The type of storage that you specified for your data. The storage type can
 18083  	// be one of the following values:
 18084  	//
 18085  	//    * SITEWISE_DEFAULT_STORAGE – IoT SiteWise replicates your data into
 18086  	//    a service managed database.
 18087  	//
 18088  	//    * MULTI_LAYER_STORAGE – IoT SiteWise replicates your data into a service
 18089  	//    managed database and saves a copy of your raw data and metadata in an
 18090  	//    Amazon S3 object that you specified.
 18091  	//
 18092  	// StorageType is a required field
 18093  	StorageType *string `locationName:"storageType" type:"string" required:"true" enum:"StorageType"`
 18094  }
 18095  
 18096  // String returns the string representation.
 18097  //
 18098  // API parameter values that are decorated as "sensitive" in the API will not
 18099  // be included in the string output. The member name will be present, but the
 18100  // value will be replaced with "sensitive".
 18101  func (s PutStorageConfigurationInput) String() string {
 18102  	return awsutil.Prettify(s)
 18103  }
 18104  
 18105  // GoString returns the string representation.
 18106  //
 18107  // API parameter values that are decorated as "sensitive" in the API will not
 18108  // be included in the string output. The member name will be present, but the
 18109  // value will be replaced with "sensitive".
 18110  func (s PutStorageConfigurationInput) GoString() string {
 18111  	return s.String()
 18112  }
 18113  
 18114  // Validate inspects the fields of the type to determine if they are valid.
 18115  func (s *PutStorageConfigurationInput) Validate() error {
 18116  	invalidParams := request.ErrInvalidParams{Context: "PutStorageConfigurationInput"}
 18117  	if s.StorageType == nil {
 18118  		invalidParams.Add(request.NewErrParamRequired("StorageType"))
 18119  	}
 18120  	if s.MultiLayerStorage != nil {
 18121  		if err := s.MultiLayerStorage.Validate(); err != nil {
 18122  			invalidParams.AddNested("MultiLayerStorage", err.(request.ErrInvalidParams))
 18123  		}
 18124  	}
 18125  
 18126  	if invalidParams.Len() > 0 {
 18127  		return invalidParams
 18128  	}
 18129  	return nil
 18130  }
 18131  
 18132  // SetMultiLayerStorage sets the MultiLayerStorage field's value.
 18133  func (s *PutStorageConfigurationInput) SetMultiLayerStorage(v *MultiLayerStorage) *PutStorageConfigurationInput {
 18134  	s.MultiLayerStorage = v
 18135  	return s
 18136  }
 18137  
 18138  // SetStorageType sets the StorageType field's value.
 18139  func (s *PutStorageConfigurationInput) SetStorageType(v string) *PutStorageConfigurationInput {
 18140  	s.StorageType = &v
 18141  	return s
 18142  }
 18143  
 18144  type PutStorageConfigurationOutput struct {
 18145  	_ struct{} `type:"structure"`
 18146  
 18147  	// Contains current status information for the configuration.
 18148  	//
 18149  	// ConfigurationStatus is a required field
 18150  	ConfigurationStatus *ConfigurationStatus `locationName:"configurationStatus" type:"structure" required:"true"`
 18151  
 18152  	// Contains information about the storage destination.
 18153  	MultiLayerStorage *MultiLayerStorage `locationName:"multiLayerStorage" type:"structure"`
 18154  
 18155  	// The type of storage that you specified for your data. The storage type can
 18156  	// be one of the following values:
 18157  	//
 18158  	//    * SITEWISE_DEFAULT_STORAGE – IoT SiteWise replicates your data into
 18159  	//    a service managed database.
 18160  	//
 18161  	//    * MULTI_LAYER_STORAGE – IoT SiteWise replicates your data into a service
 18162  	//    managed database and saves a copy of your raw data and metadata in an
 18163  	//    Amazon S3 object that you specified.
 18164  	//
 18165  	// StorageType is a required field
 18166  	StorageType *string `locationName:"storageType" type:"string" required:"true" enum:"StorageType"`
 18167  }
 18168  
 18169  // String returns the string representation.
 18170  //
 18171  // API parameter values that are decorated as "sensitive" in the API will not
 18172  // be included in the string output. The member name will be present, but the
 18173  // value will be replaced with "sensitive".
 18174  func (s PutStorageConfigurationOutput) String() string {
 18175  	return awsutil.Prettify(s)
 18176  }
 18177  
 18178  // GoString returns the string representation.
 18179  //
 18180  // API parameter values that are decorated as "sensitive" in the API will not
 18181  // be included in the string output. The member name will be present, but the
 18182  // value will be replaced with "sensitive".
 18183  func (s PutStorageConfigurationOutput) GoString() string {
 18184  	return s.String()
 18185  }
 18186  
 18187  // SetConfigurationStatus sets the ConfigurationStatus field's value.
 18188  func (s *PutStorageConfigurationOutput) SetConfigurationStatus(v *ConfigurationStatus) *PutStorageConfigurationOutput {
 18189  	s.ConfigurationStatus = v
 18190  	return s
 18191  }
 18192  
 18193  // SetMultiLayerStorage sets the MultiLayerStorage field's value.
 18194  func (s *PutStorageConfigurationOutput) SetMultiLayerStorage(v *MultiLayerStorage) *PutStorageConfigurationOutput {
 18195  	s.MultiLayerStorage = v
 18196  	return s
 18197  }
 18198  
 18199  // SetStorageType sets the StorageType field's value.
 18200  func (s *PutStorageConfigurationOutput) SetStorageType(v string) *PutStorageConfigurationOutput {
 18201  	s.StorageType = &v
 18202  	return s
 18203  }
 18204  
 18205  // Contains an IoT SiteWise Monitor resource ID for a portal or project.
 18206  type Resource struct {
 18207  	_ struct{} `type:"structure"`
 18208  
 18209  	// A portal resource.
 18210  	Portal *PortalResource `locationName:"portal" type:"structure"`
 18211  
 18212  	// A project resource.
 18213  	Project *ProjectResource `locationName:"project" type:"structure"`
 18214  }
 18215  
 18216  // String returns the string representation.
 18217  //
 18218  // API parameter values that are decorated as "sensitive" in the API will not
 18219  // be included in the string output. The member name will be present, but the
 18220  // value will be replaced with "sensitive".
 18221  func (s Resource) String() string {
 18222  	return awsutil.Prettify(s)
 18223  }
 18224  
 18225  // GoString returns the string representation.
 18226  //
 18227  // API parameter values that are decorated as "sensitive" in the API will not
 18228  // be included in the string output. The member name will be present, but the
 18229  // value will be replaced with "sensitive".
 18230  func (s Resource) GoString() string {
 18231  	return s.String()
 18232  }
 18233  
 18234  // Validate inspects the fields of the type to determine if they are valid.
 18235  func (s *Resource) Validate() error {
 18236  	invalidParams := request.ErrInvalidParams{Context: "Resource"}
 18237  	if s.Portal != nil {
 18238  		if err := s.Portal.Validate(); err != nil {
 18239  			invalidParams.AddNested("Portal", err.(request.ErrInvalidParams))
 18240  		}
 18241  	}
 18242  	if s.Project != nil {
 18243  		if err := s.Project.Validate(); err != nil {
 18244  			invalidParams.AddNested("Project", err.(request.ErrInvalidParams))
 18245  		}
 18246  	}
 18247  
 18248  	if invalidParams.Len() > 0 {
 18249  		return invalidParams
 18250  	}
 18251  	return nil
 18252  }
 18253  
 18254  // SetPortal sets the Portal field's value.
 18255  func (s *Resource) SetPortal(v *PortalResource) *Resource {
 18256  	s.Portal = v
 18257  	return s
 18258  }
 18259  
 18260  // SetProject sets the Project field's value.
 18261  func (s *Resource) SetProject(v *ProjectResource) *Resource {
 18262  	s.Project = v
 18263  	return s
 18264  }
 18265  
 18266  // The resource already exists.
 18267  type ResourceAlreadyExistsException struct {
 18268  	_            struct{}                  `type:"structure"`
 18269  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 18270  
 18271  	Message_ *string `locationName:"message" type:"string"`
 18272  
 18273  	// The ARN of the resource that already exists.
 18274  	//
 18275  	// ResourceArn is a required field
 18276  	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
 18277  
 18278  	// The ID of the resource that already exists.
 18279  	//
 18280  	// ResourceId is a required field
 18281  	ResourceId *string `locationName:"resourceId" type:"string" required:"true"`
 18282  }
 18283  
 18284  // String returns the string representation.
 18285  //
 18286  // API parameter values that are decorated as "sensitive" in the API will not
 18287  // be included in the string output. The member name will be present, but the
 18288  // value will be replaced with "sensitive".
 18289  func (s ResourceAlreadyExistsException) String() string {
 18290  	return awsutil.Prettify(s)
 18291  }
 18292  
 18293  // GoString returns the string representation.
 18294  //
 18295  // API parameter values that are decorated as "sensitive" in the API will not
 18296  // be included in the string output. The member name will be present, but the
 18297  // value will be replaced with "sensitive".
 18298  func (s ResourceAlreadyExistsException) GoString() string {
 18299  	return s.String()
 18300  }
 18301  
 18302  func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
 18303  	return &ResourceAlreadyExistsException{
 18304  		RespMetadata: v,
 18305  	}
 18306  }
 18307  
 18308  // Code returns the exception type name.
 18309  func (s *ResourceAlreadyExistsException) Code() string {
 18310  	return "ResourceAlreadyExistsException"
 18311  }
 18312  
 18313  // Message returns the exception's message.
 18314  func (s *ResourceAlreadyExistsException) Message() string {
 18315  	if s.Message_ != nil {
 18316  		return *s.Message_
 18317  	}
 18318  	return ""
 18319  }
 18320  
 18321  // OrigErr always returns nil, satisfies awserr.Error interface.
 18322  func (s *ResourceAlreadyExistsException) OrigErr() error {
 18323  	return nil
 18324  }
 18325  
 18326  func (s *ResourceAlreadyExistsException) Error() string {
 18327  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 18328  }
 18329  
 18330  // Status code returns the HTTP status code for the request's response error.
 18331  func (s *ResourceAlreadyExistsException) StatusCode() int {
 18332  	return s.RespMetadata.StatusCode
 18333  }
 18334  
 18335  // RequestID returns the service's response RequestID for request.
 18336  func (s *ResourceAlreadyExistsException) RequestID() string {
 18337  	return s.RespMetadata.RequestID
 18338  }
 18339  
 18340  // The requested resource can't be found.
 18341  type ResourceNotFoundException struct {
 18342  	_            struct{}                  `type:"structure"`
 18343  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 18344  
 18345  	Message_ *string `locationName:"message" type:"string"`
 18346  }
 18347  
 18348  // String returns the string representation.
 18349  //
 18350  // API parameter values that are decorated as "sensitive" in the API will not
 18351  // be included in the string output. The member name will be present, but the
 18352  // value will be replaced with "sensitive".
 18353  func (s ResourceNotFoundException) String() string {
 18354  	return awsutil.Prettify(s)
 18355  }
 18356  
 18357  // GoString returns the string representation.
 18358  //
 18359  // API parameter values that are decorated as "sensitive" in the API will not
 18360  // be included in the string output. The member name will be present, but the
 18361  // value will be replaced with "sensitive".
 18362  func (s ResourceNotFoundException) GoString() string {
 18363  	return s.String()
 18364  }
 18365  
 18366  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 18367  	return &ResourceNotFoundException{
 18368  		RespMetadata: v,
 18369  	}
 18370  }
 18371  
 18372  // Code returns the exception type name.
 18373  func (s *ResourceNotFoundException) Code() string {
 18374  	return "ResourceNotFoundException"
 18375  }
 18376  
 18377  // Message returns the exception's message.
 18378  func (s *ResourceNotFoundException) Message() string {
 18379  	if s.Message_ != nil {
 18380  		return *s.Message_
 18381  	}
 18382  	return ""
 18383  }
 18384  
 18385  // OrigErr always returns nil, satisfies awserr.Error interface.
 18386  func (s *ResourceNotFoundException) OrigErr() error {
 18387  	return nil
 18388  }
 18389  
 18390  func (s *ResourceNotFoundException) Error() string {
 18391  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 18392  }
 18393  
 18394  // Status code returns the HTTP status code for the request's response error.
 18395  func (s *ResourceNotFoundException) StatusCode() int {
 18396  	return s.RespMetadata.StatusCode
 18397  }
 18398  
 18399  // RequestID returns the service's response RequestID for request.
 18400  func (s *ResourceNotFoundException) RequestID() string {
 18401  	return s.RespMetadata.RequestID
 18402  }
 18403  
 18404  // The requested service is unavailable.
 18405  type ServiceUnavailableException struct {
 18406  	_            struct{}                  `type:"structure"`
 18407  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 18408  
 18409  	Message_ *string `locationName:"message" type:"string"`
 18410  }
 18411  
 18412  // String returns the string representation.
 18413  //
 18414  // API parameter values that are decorated as "sensitive" in the API will not
 18415  // be included in the string output. The member name will be present, but the
 18416  // value will be replaced with "sensitive".
 18417  func (s ServiceUnavailableException) String() string {
 18418  	return awsutil.Prettify(s)
 18419  }
 18420  
 18421  // GoString returns the string representation.
 18422  //
 18423  // API parameter values that are decorated as "sensitive" in the API will not
 18424  // be included in the string output. The member name will be present, but the
 18425  // value will be replaced with "sensitive".
 18426  func (s ServiceUnavailableException) GoString() string {
 18427  	return s.String()
 18428  }
 18429  
 18430  func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
 18431  	return &ServiceUnavailableException{
 18432  		RespMetadata: v,
 18433  	}
 18434  }
 18435  
 18436  // Code returns the exception type name.
 18437  func (s *ServiceUnavailableException) Code() string {
 18438  	return "ServiceUnavailableException"
 18439  }
 18440  
 18441  // Message returns the exception's message.
 18442  func (s *ServiceUnavailableException) Message() string {
 18443  	if s.Message_ != nil {
 18444  		return *s.Message_
 18445  	}
 18446  	return ""
 18447  }
 18448  
 18449  // OrigErr always returns nil, satisfies awserr.Error interface.
 18450  func (s *ServiceUnavailableException) OrigErr() error {
 18451  	return nil
 18452  }
 18453  
 18454  func (s *ServiceUnavailableException) Error() string {
 18455  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 18456  }
 18457  
 18458  // Status code returns the HTTP status code for the request's response error.
 18459  func (s *ServiceUnavailableException) StatusCode() int {
 18460  	return s.RespMetadata.StatusCode
 18461  }
 18462  
 18463  // RequestID returns the service's response RequestID for request.
 18464  func (s *ServiceUnavailableException) RequestID() string {
 18465  	return s.RespMetadata.RequestID
 18466  }
 18467  
 18468  type TagResourceInput struct {
 18469  	_ struct{} `type:"structure"`
 18470  
 18471  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 18472  	// of the resource to tag.
 18473  	//
 18474  	// ResourceArn is a required field
 18475  	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
 18476  
 18477  	// A list of key-value pairs that contain metadata for the resource. For more
 18478  	// information, see Tagging your IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
 18479  	// in the IoT SiteWise User Guide.
 18480  	//
 18481  	// Tags is a required field
 18482  	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
 18483  }
 18484  
 18485  // String returns the string representation.
 18486  //
 18487  // API parameter values that are decorated as "sensitive" in the API will not
 18488  // be included in the string output. The member name will be present, but the
 18489  // value will be replaced with "sensitive".
 18490  func (s TagResourceInput) String() string {
 18491  	return awsutil.Prettify(s)
 18492  }
 18493  
 18494  // GoString returns the string representation.
 18495  //
 18496  // API parameter values that are decorated as "sensitive" in the API will not
 18497  // be included in the string output. The member name will be present, but the
 18498  // value will be replaced with "sensitive".
 18499  func (s TagResourceInput) GoString() string {
 18500  	return s.String()
 18501  }
 18502  
 18503  // Validate inspects the fields of the type to determine if they are valid.
 18504  func (s *TagResourceInput) Validate() error {
 18505  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 18506  	if s.ResourceArn == nil {
 18507  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 18508  	}
 18509  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 18510  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 18511  	}
 18512  	if s.Tags == nil {
 18513  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 18514  	}
 18515  	if s.Tags != nil && len(s.Tags) < 1 {
 18516  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 18517  	}
 18518  
 18519  	if invalidParams.Len() > 0 {
 18520  		return invalidParams
 18521  	}
 18522  	return nil
 18523  }
 18524  
 18525  // SetResourceArn sets the ResourceArn field's value.
 18526  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 18527  	s.ResourceArn = &v
 18528  	return s
 18529  }
 18530  
 18531  // SetTags sets the Tags field's value.
 18532  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
 18533  	s.Tags = v
 18534  	return s
 18535  }
 18536  
 18537  type TagResourceOutput struct {
 18538  	_ struct{} `type:"structure" nopayload:"true"`
 18539  }
 18540  
 18541  // String returns the string representation.
 18542  //
 18543  // API parameter values that are decorated as "sensitive" in the API will not
 18544  // be included in the string output. The member name will be present, but the
 18545  // value will be replaced with "sensitive".
 18546  func (s TagResourceOutput) String() string {
 18547  	return awsutil.Prettify(s)
 18548  }
 18549  
 18550  // GoString returns the string representation.
 18551  //
 18552  // API parameter values that are decorated as "sensitive" in the API will not
 18553  // be included in the string output. The member name will be present, but the
 18554  // value will be replaced with "sensitive".
 18555  func (s TagResourceOutput) GoString() string {
 18556  	return s.String()
 18557  }
 18558  
 18559  // Your request exceeded a rate limit. For example, you might have exceeded
 18560  // the number of IoT SiteWise assets that can be created per second, the allowed
 18561  // number of messages per second, and so on.
 18562  //
 18563  // For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
 18564  // in the IoT SiteWise User Guide.
 18565  type ThrottlingException struct {
 18566  	_            struct{}                  `type:"structure"`
 18567  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 18568  
 18569  	Message_ *string `locationName:"message" type:"string"`
 18570  }
 18571  
 18572  // String returns the string representation.
 18573  //
 18574  // API parameter values that are decorated as "sensitive" in the API will not
 18575  // be included in the string output. The member name will be present, but the
 18576  // value will be replaced with "sensitive".
 18577  func (s ThrottlingException) String() string {
 18578  	return awsutil.Prettify(s)
 18579  }
 18580  
 18581  // GoString returns the string representation.
 18582  //
 18583  // API parameter values that are decorated as "sensitive" in the API will not
 18584  // be included in the string output. The member name will be present, but the
 18585  // value will be replaced with "sensitive".
 18586  func (s ThrottlingException) GoString() string {
 18587  	return s.String()
 18588  }
 18589  
 18590  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
 18591  	return &ThrottlingException{
 18592  		RespMetadata: v,
 18593  	}
 18594  }
 18595  
 18596  // Code returns the exception type name.
 18597  func (s *ThrottlingException) Code() string {
 18598  	return "ThrottlingException"
 18599  }
 18600  
 18601  // Message returns the exception's message.
 18602  func (s *ThrottlingException) Message() string {
 18603  	if s.Message_ != nil {
 18604  		return *s.Message_
 18605  	}
 18606  	return ""
 18607  }
 18608  
 18609  // OrigErr always returns nil, satisfies awserr.Error interface.
 18610  func (s *ThrottlingException) OrigErr() error {
 18611  	return nil
 18612  }
 18613  
 18614  func (s *ThrottlingException) Error() string {
 18615  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 18616  }
 18617  
 18618  // Status code returns the HTTP status code for the request's response error.
 18619  func (s *ThrottlingException) StatusCode() int {
 18620  	return s.RespMetadata.StatusCode
 18621  }
 18622  
 18623  // RequestID returns the service's response RequestID for request.
 18624  func (s *ThrottlingException) RequestID() string {
 18625  	return s.RespMetadata.RequestID
 18626  }
 18627  
 18628  // Contains a timestamp with optional nanosecond granularity.
 18629  type TimeInNanos struct {
 18630  	_ struct{} `type:"structure"`
 18631  
 18632  	// The nanosecond offset from timeInSeconds.
 18633  	OffsetInNanos *int64 `locationName:"offsetInNanos" type:"integer"`
 18634  
 18635  	// The timestamp date, in seconds, in the Unix epoch format. Fractional nanosecond
 18636  	// data is provided by offsetInNanos.
 18637  	//
 18638  	// TimeInSeconds is a required field
 18639  	TimeInSeconds *int64 `locationName:"timeInSeconds" min:"1" type:"long" required:"true"`
 18640  }
 18641  
 18642  // String returns the string representation.
 18643  //
 18644  // API parameter values that are decorated as "sensitive" in the API will not
 18645  // be included in the string output. The member name will be present, but the
 18646  // value will be replaced with "sensitive".
 18647  func (s TimeInNanos) String() string {
 18648  	return awsutil.Prettify(s)
 18649  }
 18650  
 18651  // GoString returns the string representation.
 18652  //
 18653  // API parameter values that are decorated as "sensitive" in the API will not
 18654  // be included in the string output. The member name will be present, but the
 18655  // value will be replaced with "sensitive".
 18656  func (s TimeInNanos) GoString() string {
 18657  	return s.String()
 18658  }
 18659  
 18660  // Validate inspects the fields of the type to determine if they are valid.
 18661  func (s *TimeInNanos) Validate() error {
 18662  	invalidParams := request.ErrInvalidParams{Context: "TimeInNanos"}
 18663  	if s.TimeInSeconds == nil {
 18664  		invalidParams.Add(request.NewErrParamRequired("TimeInSeconds"))
 18665  	}
 18666  	if s.TimeInSeconds != nil && *s.TimeInSeconds < 1 {
 18667  		invalidParams.Add(request.NewErrParamMinValue("TimeInSeconds", 1))
 18668  	}
 18669  
 18670  	if invalidParams.Len() > 0 {
 18671  		return invalidParams
 18672  	}
 18673  	return nil
 18674  }
 18675  
 18676  // SetOffsetInNanos sets the OffsetInNanos field's value.
 18677  func (s *TimeInNanos) SetOffsetInNanos(v int64) *TimeInNanos {
 18678  	s.OffsetInNanos = &v
 18679  	return s
 18680  }
 18681  
 18682  // SetTimeInSeconds sets the TimeInSeconds field's value.
 18683  func (s *TimeInNanos) SetTimeInSeconds(v int64) *TimeInNanos {
 18684  	s.TimeInSeconds = &v
 18685  	return s
 18686  }
 18687  
 18688  // You've reached the limit for the number of tags allowed for a resource. For
 18689  // more information, see Tag naming limits and requirements (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions)
 18690  // in the Amazon Web Services General Reference.
 18691  type TooManyTagsException struct {
 18692  	_            struct{}                  `type:"structure"`
 18693  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 18694  
 18695  	Message_ *string `locationName:"message" type:"string"`
 18696  
 18697  	// The name of the resource with too many tags.
 18698  	ResourceName *string `locationName:"resourceName" min:"1" type:"string"`
 18699  }
 18700  
 18701  // String returns the string representation.
 18702  //
 18703  // API parameter values that are decorated as "sensitive" in the API will not
 18704  // be included in the string output. The member name will be present, but the
 18705  // value will be replaced with "sensitive".
 18706  func (s TooManyTagsException) String() string {
 18707  	return awsutil.Prettify(s)
 18708  }
 18709  
 18710  // GoString returns the string representation.
 18711  //
 18712  // API parameter values that are decorated as "sensitive" in the API will not
 18713  // be included in the string output. The member name will be present, but the
 18714  // value will be replaced with "sensitive".
 18715  func (s TooManyTagsException) GoString() string {
 18716  	return s.String()
 18717  }
 18718  
 18719  func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
 18720  	return &TooManyTagsException{
 18721  		RespMetadata: v,
 18722  	}
 18723  }
 18724  
 18725  // Code returns the exception type name.
 18726  func (s *TooManyTagsException) Code() string {
 18727  	return "TooManyTagsException"
 18728  }
 18729  
 18730  // Message returns the exception's message.
 18731  func (s *TooManyTagsException) Message() string {
 18732  	if s.Message_ != nil {
 18733  		return *s.Message_
 18734  	}
 18735  	return ""
 18736  }
 18737  
 18738  // OrigErr always returns nil, satisfies awserr.Error interface.
 18739  func (s *TooManyTagsException) OrigErr() error {
 18740  	return nil
 18741  }
 18742  
 18743  func (s *TooManyTagsException) Error() string {
 18744  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 18745  }
 18746  
 18747  // Status code returns the HTTP status code for the request's response error.
 18748  func (s *TooManyTagsException) StatusCode() int {
 18749  	return s.RespMetadata.StatusCode
 18750  }
 18751  
 18752  // RequestID returns the service's response RequestID for request.
 18753  func (s *TooManyTagsException) RequestID() string {
 18754  	return s.RespMetadata.RequestID
 18755  }
 18756  
 18757  // Contains an asset transform property. A transform is a one-to-one mapping
 18758  // of a property's data points from one form to another. For example, you can
 18759  // use a transform to convert a Celsius data stream to Fahrenheit by applying
 18760  // the transformation expression to each data point of the Celsius stream. A
 18761  // transform can only have a data type of DOUBLE and consume properties with
 18762  // data types of INTEGER or DOUBLE.
 18763  //
 18764  // For more information, see Transforms (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html#transforms)
 18765  // in the IoT SiteWise User Guide.
 18766  type Transform struct {
 18767  	_ struct{} `type:"structure"`
 18768  
 18769  	// The mathematical expression that defines the transformation function. You
 18770  	// can specify up to 10 variables per expression. You can specify up to 10 functions
 18771  	// per expression.
 18772  	//
 18773  	// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
 18774  	// in the IoT SiteWise User Guide.
 18775  	//
 18776  	// Expression is a required field
 18777  	Expression *string `locationName:"expression" min:"1" type:"string" required:"true"`
 18778  
 18779  	// The processing configuration for the given transform property. You can configure
 18780  	// transforms to be kept at the edge or forwarded to the Amazon Web Services
 18781  	// Cloud. You can also configure transforms to be computed at the edge or in
 18782  	// the cloud.
 18783  	ProcessingConfig *TransformProcessingConfig `locationName:"processingConfig" type:"structure"`
 18784  
 18785  	// The list of variables used in the expression.
 18786  	//
 18787  	// Variables is a required field
 18788  	Variables []*ExpressionVariable `locationName:"variables" type:"list" required:"true"`
 18789  }
 18790  
 18791  // String returns the string representation.
 18792  //
 18793  // API parameter values that are decorated as "sensitive" in the API will not
 18794  // be included in the string output. The member name will be present, but the
 18795  // value will be replaced with "sensitive".
 18796  func (s Transform) String() string {
 18797  	return awsutil.Prettify(s)
 18798  }
 18799  
 18800  // GoString returns the string representation.
 18801  //
 18802  // API parameter values that are decorated as "sensitive" in the API will not
 18803  // be included in the string output. The member name will be present, but the
 18804  // value will be replaced with "sensitive".
 18805  func (s Transform) GoString() string {
 18806  	return s.String()
 18807  }
 18808  
 18809  // Validate inspects the fields of the type to determine if they are valid.
 18810  func (s *Transform) Validate() error {
 18811  	invalidParams := request.ErrInvalidParams{Context: "Transform"}
 18812  	if s.Expression == nil {
 18813  		invalidParams.Add(request.NewErrParamRequired("Expression"))
 18814  	}
 18815  	if s.Expression != nil && len(*s.Expression) < 1 {
 18816  		invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
 18817  	}
 18818  	if s.Variables == nil {
 18819  		invalidParams.Add(request.NewErrParamRequired("Variables"))
 18820  	}
 18821  	if s.ProcessingConfig != nil {
 18822  		if err := s.ProcessingConfig.Validate(); err != nil {
 18823  			invalidParams.AddNested("ProcessingConfig", err.(request.ErrInvalidParams))
 18824  		}
 18825  	}
 18826  	if s.Variables != nil {
 18827  		for i, v := range s.Variables {
 18828  			if v == nil {
 18829  				continue
 18830  			}
 18831  			if err := v.Validate(); err != nil {
 18832  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Variables", i), err.(request.ErrInvalidParams))
 18833  			}
 18834  		}
 18835  	}
 18836  
 18837  	if invalidParams.Len() > 0 {
 18838  		return invalidParams
 18839  	}
 18840  	return nil
 18841  }
 18842  
 18843  // SetExpression sets the Expression field's value.
 18844  func (s *Transform) SetExpression(v string) *Transform {
 18845  	s.Expression = &v
 18846  	return s
 18847  }
 18848  
 18849  // SetProcessingConfig sets the ProcessingConfig field's value.
 18850  func (s *Transform) SetProcessingConfig(v *TransformProcessingConfig) *Transform {
 18851  	s.ProcessingConfig = v
 18852  	return s
 18853  }
 18854  
 18855  // SetVariables sets the Variables field's value.
 18856  func (s *Transform) SetVariables(v []*ExpressionVariable) *Transform {
 18857  	s.Variables = v
 18858  	return s
 18859  }
 18860  
 18861  // The processing configuration for the given transform property. You can configure
 18862  // transforms to be kept at the edge or forwarded to the Amazon Web Services
 18863  // Cloud. You can also configure transforms to be computed at the edge or in
 18864  // the cloud.
 18865  type TransformProcessingConfig struct {
 18866  	_ struct{} `type:"structure"`
 18867  
 18868  	// The compute location for the given transform property.
 18869  	//
 18870  	// ComputeLocation is a required field
 18871  	ComputeLocation *string `locationName:"computeLocation" type:"string" required:"true" enum:"ComputeLocation"`
 18872  
 18873  	// The forwarding configuration for a given property.
 18874  	ForwardingConfig *ForwardingConfig `locationName:"forwardingConfig" type:"structure"`
 18875  }
 18876  
 18877  // String returns the string representation.
 18878  //
 18879  // API parameter values that are decorated as "sensitive" in the API will not
 18880  // be included in the string output. The member name will be present, but the
 18881  // value will be replaced with "sensitive".
 18882  func (s TransformProcessingConfig) String() string {
 18883  	return awsutil.Prettify(s)
 18884  }
 18885  
 18886  // GoString returns the string representation.
 18887  //
 18888  // API parameter values that are decorated as "sensitive" in the API will not
 18889  // be included in the string output. The member name will be present, but the
 18890  // value will be replaced with "sensitive".
 18891  func (s TransformProcessingConfig) GoString() string {
 18892  	return s.String()
 18893  }
 18894  
 18895  // Validate inspects the fields of the type to determine if they are valid.
 18896  func (s *TransformProcessingConfig) Validate() error {
 18897  	invalidParams := request.ErrInvalidParams{Context: "TransformProcessingConfig"}
 18898  	if s.ComputeLocation == nil {
 18899  		invalidParams.Add(request.NewErrParamRequired("ComputeLocation"))
 18900  	}
 18901  	if s.ForwardingConfig != nil {
 18902  		if err := s.ForwardingConfig.Validate(); err != nil {
 18903  			invalidParams.AddNested("ForwardingConfig", err.(request.ErrInvalidParams))
 18904  		}
 18905  	}
 18906  
 18907  	if invalidParams.Len() > 0 {
 18908  		return invalidParams
 18909  	}
 18910  	return nil
 18911  }
 18912  
 18913  // SetComputeLocation sets the ComputeLocation field's value.
 18914  func (s *TransformProcessingConfig) SetComputeLocation(v string) *TransformProcessingConfig {
 18915  	s.ComputeLocation = &v
 18916  	return s
 18917  }
 18918  
 18919  // SetForwardingConfig sets the ForwardingConfig field's value.
 18920  func (s *TransformProcessingConfig) SetForwardingConfig(v *ForwardingConfig) *TransformProcessingConfig {
 18921  	s.ForwardingConfig = v
 18922  	return s
 18923  }
 18924  
 18925  // Contains a tumbling window, which is a repeating fixed-sized, non-overlapping,
 18926  // and contiguous time window. You use this window in metrics to aggregate data
 18927  // from properties and other assets.
 18928  //
 18929  // You can use m, h, d, and w when you specify an interval or offset. Note that
 18930  // m represents minutes, and w represents weeks. You can also use s to represent
 18931  // seconds in offset.
 18932  //
 18933  // The interval and offset parameters support the ISO 8601 format (https://en.wikipedia.org/wiki/ISO_8601).
 18934  // For example, PT5S represents five seconds, PT5M represents five minutes,
 18935  // and PT5H represents five hours.
 18936  type TumblingWindow struct {
 18937  	_ struct{} `type:"structure"`
 18938  
 18939  	// The time interval for the tumbling window. The interval time must be between
 18940  	// 1 minute and 1 week.
 18941  	//
 18942  	// IoT SiteWise computes the 1w interval the end of Sunday at midnight each
 18943  	// week (UTC), the 1d interval at the end of each day at midnight (UTC), the
 18944  	// 1h interval at the end of each hour, and so on.
 18945  	//
 18946  	// When IoT SiteWise aggregates data points for metric computations, the start
 18947  	// of each interval is exclusive and the end of each interval is inclusive.
 18948  	// IoT SiteWise places the computed data point at the end of the interval.
 18949  	//
 18950  	// Interval is a required field
 18951  	Interval *string `locationName:"interval" min:"2" type:"string" required:"true"`
 18952  
 18953  	// The offset for the tumbling window. The offset parameter accepts the following:
 18954  	//
 18955  	//    * The offset time. For example, if you specify 18h for offset and 1d for
 18956  	//    interval, IoT SiteWise aggregates data in one of the following ways: If
 18957  	//    you create the metric before or at 6:00 PM (UTC), you get the first aggregation
 18958  	//    result at 6 PM (UTC) on the day when you create the metric. If you create
 18959  	//    the metric after 6:00 PM (UTC), you get the first aggregation result at
 18960  	//    6 PM (UTC) the next day.
 18961  	//
 18962  	//    * The ISO 8601 format. For example, if you specify PT18H for offset and
 18963  	//    1d for interval, IoT SiteWise aggregates data in one of the following
 18964  	//    ways: If you create the metric before or at 6:00 PM (UTC), you get the
 18965  	//    first aggregation result at 6 PM (UTC) on the day when you create the
 18966  	//    metric. If you create the metric after 6:00 PM (UTC), you get the first
 18967  	//    aggregation result at 6 PM (UTC) the next day.
 18968  	//
 18969  	//    * The 24-hour clock. For example, if you specify 00:03:00 for offset and
 18970  	//    5m for interval, and you create the metric at 2 PM (UTC), you get the
 18971  	//    first aggregation result at 2:03 PM (UTC). You get the second aggregation
 18972  	//    result at 2:08 PM (UTC).
 18973  	//
 18974  	//    * The offset time zone. For example, if you specify 2021-07-23T18:00-08
 18975  	//    for offset and 1d for interval, IoT SiteWise aggregates data in one of
 18976  	//    the following ways: If you create the metric before or at 6:00 PM (PST),
 18977  	//    you get the first aggregation result at 6 PM (PST) on the day when you
 18978  	//    create the metric. If you create the metric after 6:00 PM (PST), you get
 18979  	//    the first aggregation result at 6 PM (PST) the next day.
 18980  	Offset *string `locationName:"offset" min:"2" type:"string"`
 18981  }
 18982  
 18983  // String returns the string representation.
 18984  //
 18985  // API parameter values that are decorated as "sensitive" in the API will not
 18986  // be included in the string output. The member name will be present, but the
 18987  // value will be replaced with "sensitive".
 18988  func (s TumblingWindow) String() string {
 18989  	return awsutil.Prettify(s)
 18990  }
 18991  
 18992  // GoString returns the string representation.
 18993  //
 18994  // API parameter values that are decorated as "sensitive" in the API will not
 18995  // be included in the string output. The member name will be present, but the
 18996  // value will be replaced with "sensitive".
 18997  func (s TumblingWindow) GoString() string {
 18998  	return s.String()
 18999  }
 19000  
 19001  // Validate inspects the fields of the type to determine if they are valid.
 19002  func (s *TumblingWindow) Validate() error {
 19003  	invalidParams := request.ErrInvalidParams{Context: "TumblingWindow"}
 19004  	if s.Interval == nil {
 19005  		invalidParams.Add(request.NewErrParamRequired("Interval"))
 19006  	}
 19007  	if s.Interval != nil && len(*s.Interval) < 2 {
 19008  		invalidParams.Add(request.NewErrParamMinLen("Interval", 2))
 19009  	}
 19010  	if s.Offset != nil && len(*s.Offset) < 2 {
 19011  		invalidParams.Add(request.NewErrParamMinLen("Offset", 2))
 19012  	}
 19013  
 19014  	if invalidParams.Len() > 0 {
 19015  		return invalidParams
 19016  	}
 19017  	return nil
 19018  }
 19019  
 19020  // SetInterval sets the Interval field's value.
 19021  func (s *TumblingWindow) SetInterval(v string) *TumblingWindow {
 19022  	s.Interval = &v
 19023  	return s
 19024  }
 19025  
 19026  // SetOffset sets the Offset field's value.
 19027  func (s *TumblingWindow) SetOffset(v string) *TumblingWindow {
 19028  	s.Offset = &v
 19029  	return s
 19030  }
 19031  
 19032  // You are not authorized.
 19033  type UnauthorizedException struct {
 19034  	_            struct{}                  `type:"structure"`
 19035  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 19036  
 19037  	Message_ *string `locationName:"message" type:"string"`
 19038  }
 19039  
 19040  // String returns the string representation.
 19041  //
 19042  // API parameter values that are decorated as "sensitive" in the API will not
 19043  // be included in the string output. The member name will be present, but the
 19044  // value will be replaced with "sensitive".
 19045  func (s UnauthorizedException) String() string {
 19046  	return awsutil.Prettify(s)
 19047  }
 19048  
 19049  // GoString returns the string representation.
 19050  //
 19051  // API parameter values that are decorated as "sensitive" in the API will not
 19052  // be included in the string output. The member name will be present, but the
 19053  // value will be replaced with "sensitive".
 19054  func (s UnauthorizedException) GoString() string {
 19055  	return s.String()
 19056  }
 19057  
 19058  func newErrorUnauthorizedException(v protocol.ResponseMetadata) error {
 19059  	return &UnauthorizedException{
 19060  		RespMetadata: v,
 19061  	}
 19062  }
 19063  
 19064  // Code returns the exception type name.
 19065  func (s *UnauthorizedException) Code() string {
 19066  	return "UnauthorizedException"
 19067  }
 19068  
 19069  // Message returns the exception's message.
 19070  func (s *UnauthorizedException) Message() string {
 19071  	if s.Message_ != nil {
 19072  		return *s.Message_
 19073  	}
 19074  	return ""
 19075  }
 19076  
 19077  // OrigErr always returns nil, satisfies awserr.Error interface.
 19078  func (s *UnauthorizedException) OrigErr() error {
 19079  	return nil
 19080  }
 19081  
 19082  func (s *UnauthorizedException) Error() string {
 19083  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 19084  }
 19085  
 19086  // Status code returns the HTTP status code for the request's response error.
 19087  func (s *UnauthorizedException) StatusCode() int {
 19088  	return s.RespMetadata.StatusCode
 19089  }
 19090  
 19091  // RequestID returns the service's response RequestID for request.
 19092  func (s *UnauthorizedException) RequestID() string {
 19093  	return s.RespMetadata.RequestID
 19094  }
 19095  
 19096  type UntagResourceInput struct {
 19097  	_ struct{} `type:"structure" nopayload:"true"`
 19098  
 19099  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 19100  	// of the resource to untag.
 19101  	//
 19102  	// ResourceArn is a required field
 19103  	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
 19104  
 19105  	// A list of keys for tags to remove from the resource.
 19106  	//
 19107  	// TagKeys is a required field
 19108  	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
 19109  }
 19110  
 19111  // String returns the string representation.
 19112  //
 19113  // API parameter values that are decorated as "sensitive" in the API will not
 19114  // be included in the string output. The member name will be present, but the
 19115  // value will be replaced with "sensitive".
 19116  func (s UntagResourceInput) String() string {
 19117  	return awsutil.Prettify(s)
 19118  }
 19119  
 19120  // GoString returns the string representation.
 19121  //
 19122  // API parameter values that are decorated as "sensitive" in the API will not
 19123  // be included in the string output. The member name will be present, but the
 19124  // value will be replaced with "sensitive".
 19125  func (s UntagResourceInput) GoString() string {
 19126  	return s.String()
 19127  }
 19128  
 19129  // Validate inspects the fields of the type to determine if they are valid.
 19130  func (s *UntagResourceInput) Validate() error {
 19131  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 19132  	if s.ResourceArn == nil {
 19133  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 19134  	}
 19135  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 19136  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 19137  	}
 19138  	if s.TagKeys == nil {
 19139  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 19140  	}
 19141  
 19142  	if invalidParams.Len() > 0 {
 19143  		return invalidParams
 19144  	}
 19145  	return nil
 19146  }
 19147  
 19148  // SetResourceArn sets the ResourceArn field's value.
 19149  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 19150  	s.ResourceArn = &v
 19151  	return s
 19152  }
 19153  
 19154  // SetTagKeys sets the TagKeys field's value.
 19155  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 19156  	s.TagKeys = v
 19157  	return s
 19158  }
 19159  
 19160  type UntagResourceOutput struct {
 19161  	_ struct{} `type:"structure" nopayload:"true"`
 19162  }
 19163  
 19164  // String returns the string representation.
 19165  //
 19166  // API parameter values that are decorated as "sensitive" in the API will not
 19167  // be included in the string output. The member name will be present, but the
 19168  // value will be replaced with "sensitive".
 19169  func (s UntagResourceOutput) String() string {
 19170  	return awsutil.Prettify(s)
 19171  }
 19172  
 19173  // GoString returns the string representation.
 19174  //
 19175  // API parameter values that are decorated as "sensitive" in the API will not
 19176  // be included in the string output. The member name will be present, but the
 19177  // value will be replaced with "sensitive".
 19178  func (s UntagResourceOutput) GoString() string {
 19179  	return s.String()
 19180  }
 19181  
 19182  type UpdateAccessPolicyInput struct {
 19183  	_ struct{} `type:"structure"`
 19184  
 19185  	// The ID of the access policy.
 19186  	//
 19187  	// AccessPolicyId is a required field
 19188  	AccessPolicyId *string `location:"uri" locationName:"accessPolicyId" min:"36" type:"string" required:"true"`
 19189  
 19190  	// The identity for this access policy. Choose an Amazon Web Services SSO user,
 19191  	// an Amazon Web Services SSO group, or an IAM user.
 19192  	//
 19193  	// AccessPolicyIdentity is a required field
 19194  	AccessPolicyIdentity *Identity `locationName:"accessPolicyIdentity" type:"structure" required:"true"`
 19195  
 19196  	// The permission level for this access policy. Note that a project ADMINISTRATOR
 19197  	// is also known as a project owner.
 19198  	//
 19199  	// AccessPolicyPermission is a required field
 19200  	AccessPolicyPermission *string `locationName:"accessPolicyPermission" type:"string" required:"true" enum:"Permission"`
 19201  
 19202  	// The IoT SiteWise Monitor resource for this access policy. Choose either a
 19203  	// portal or a project.
 19204  	//
 19205  	// AccessPolicyResource is a required field
 19206  	AccessPolicyResource *Resource `locationName:"accessPolicyResource" type:"structure" required:"true"`
 19207  
 19208  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
 19209  	// of the request. Don't reuse this client token if a new idempotent request
 19210  	// is required.
 19211  	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
 19212  }
 19213  
 19214  // String returns the string representation.
 19215  //
 19216  // API parameter values that are decorated as "sensitive" in the API will not
 19217  // be included in the string output. The member name will be present, but the
 19218  // value will be replaced with "sensitive".
 19219  func (s UpdateAccessPolicyInput) String() string {
 19220  	return awsutil.Prettify(s)
 19221  }
 19222  
 19223  // GoString returns the string representation.
 19224  //
 19225  // API parameter values that are decorated as "sensitive" in the API will not
 19226  // be included in the string output. The member name will be present, but the
 19227  // value will be replaced with "sensitive".
 19228  func (s UpdateAccessPolicyInput) GoString() string {
 19229  	return s.String()
 19230  }
 19231  
 19232  // Validate inspects the fields of the type to determine if they are valid.
 19233  func (s *UpdateAccessPolicyInput) Validate() error {
 19234  	invalidParams := request.ErrInvalidParams{Context: "UpdateAccessPolicyInput"}
 19235  	if s.AccessPolicyId == nil {
 19236  		invalidParams.Add(request.NewErrParamRequired("AccessPolicyId"))
 19237  	}
 19238  	if s.AccessPolicyId != nil && len(*s.AccessPolicyId) < 36 {
 19239  		invalidParams.Add(request.NewErrParamMinLen("AccessPolicyId", 36))
 19240  	}
 19241  	if s.AccessPolicyIdentity == nil {
 19242  		invalidParams.Add(request.NewErrParamRequired("AccessPolicyIdentity"))
 19243  	}
 19244  	if s.AccessPolicyPermission == nil {
 19245  		invalidParams.Add(request.NewErrParamRequired("AccessPolicyPermission"))
 19246  	}
 19247  	if s.AccessPolicyResource == nil {
 19248  		invalidParams.Add(request.NewErrParamRequired("AccessPolicyResource"))
 19249  	}
 19250  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
 19251  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
 19252  	}
 19253  	if s.AccessPolicyIdentity != nil {
 19254  		if err := s.AccessPolicyIdentity.Validate(); err != nil {
 19255  			invalidParams.AddNested("AccessPolicyIdentity", err.(request.ErrInvalidParams))
 19256  		}
 19257  	}
 19258  	if s.AccessPolicyResource != nil {
 19259  		if err := s.AccessPolicyResource.Validate(); err != nil {
 19260  			invalidParams.AddNested("AccessPolicyResource", err.(request.ErrInvalidParams))
 19261  		}
 19262  	}
 19263  
 19264  	if invalidParams.Len() > 0 {
 19265  		return invalidParams
 19266  	}
 19267  	return nil
 19268  }
 19269  
 19270  // SetAccessPolicyId sets the AccessPolicyId field's value.
 19271  func (s *UpdateAccessPolicyInput) SetAccessPolicyId(v string) *UpdateAccessPolicyInput {
 19272  	s.AccessPolicyId = &v
 19273  	return s
 19274  }
 19275  
 19276  // SetAccessPolicyIdentity sets the AccessPolicyIdentity field's value.
 19277  func (s *UpdateAccessPolicyInput) SetAccessPolicyIdentity(v *Identity) *UpdateAccessPolicyInput {
 19278  	s.AccessPolicyIdentity = v
 19279  	return s
 19280  }
 19281  
 19282  // SetAccessPolicyPermission sets the AccessPolicyPermission field's value.
 19283  func (s *UpdateAccessPolicyInput) SetAccessPolicyPermission(v string) *UpdateAccessPolicyInput {
 19284  	s.AccessPolicyPermission = &v
 19285  	return s
 19286  }
 19287  
 19288  // SetAccessPolicyResource sets the AccessPolicyResource field's value.
 19289  func (s *UpdateAccessPolicyInput) SetAccessPolicyResource(v *Resource) *UpdateAccessPolicyInput {
 19290  	s.AccessPolicyResource = v
 19291  	return s
 19292  }
 19293  
 19294  // SetClientToken sets the ClientToken field's value.
 19295  func (s *UpdateAccessPolicyInput) SetClientToken(v string) *UpdateAccessPolicyInput {
 19296  	s.ClientToken = &v
 19297  	return s
 19298  }
 19299  
 19300  type UpdateAccessPolicyOutput struct {
 19301  	_ struct{} `type:"structure" nopayload:"true"`
 19302  }
 19303  
 19304  // String returns the string representation.
 19305  //
 19306  // API parameter values that are decorated as "sensitive" in the API will not
 19307  // be included in the string output. The member name will be present, but the
 19308  // value will be replaced with "sensitive".
 19309  func (s UpdateAccessPolicyOutput) String() string {
 19310  	return awsutil.Prettify(s)
 19311  }
 19312  
 19313  // GoString returns the string representation.
 19314  //
 19315  // API parameter values that are decorated as "sensitive" in the API will not
 19316  // be included in the string output. The member name will be present, but the
 19317  // value will be replaced with "sensitive".
 19318  func (s UpdateAccessPolicyOutput) GoString() string {
 19319  	return s.String()
 19320  }
 19321  
 19322  type UpdateAssetInput struct {
 19323  	_ struct{} `type:"structure"`
 19324  
 19325  	// The ID of the asset to update.
 19326  	//
 19327  	// AssetId is a required field
 19328  	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
 19329  
 19330  	// A unique, friendly name for the asset.
 19331  	//
 19332  	// AssetName is a required field
 19333  	AssetName *string `locationName:"assetName" min:"1" type:"string" required:"true"`
 19334  
 19335  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
 19336  	// of the request. Don't reuse this client token if a new idempotent request
 19337  	// is required.
 19338  	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
 19339  }
 19340  
 19341  // String returns the string representation.
 19342  //
 19343  // API parameter values that are decorated as "sensitive" in the API will not
 19344  // be included in the string output. The member name will be present, but the
 19345  // value will be replaced with "sensitive".
 19346  func (s UpdateAssetInput) String() string {
 19347  	return awsutil.Prettify(s)
 19348  }
 19349  
 19350  // GoString returns the string representation.
 19351  //
 19352  // API parameter values that are decorated as "sensitive" in the API will not
 19353  // be included in the string output. The member name will be present, but the
 19354  // value will be replaced with "sensitive".
 19355  func (s UpdateAssetInput) GoString() string {
 19356  	return s.String()
 19357  }
 19358  
 19359  // Validate inspects the fields of the type to determine if they are valid.
 19360  func (s *UpdateAssetInput) Validate() error {
 19361  	invalidParams := request.ErrInvalidParams{Context: "UpdateAssetInput"}
 19362  	if s.AssetId == nil {
 19363  		invalidParams.Add(request.NewErrParamRequired("AssetId"))
 19364  	}
 19365  	if s.AssetId != nil && len(*s.AssetId) < 36 {
 19366  		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
 19367  	}
 19368  	if s.AssetName == nil {
 19369  		invalidParams.Add(request.NewErrParamRequired("AssetName"))
 19370  	}
 19371  	if s.AssetName != nil && len(*s.AssetName) < 1 {
 19372  		invalidParams.Add(request.NewErrParamMinLen("AssetName", 1))
 19373  	}
 19374  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
 19375  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
 19376  	}
 19377  
 19378  	if invalidParams.Len() > 0 {
 19379  		return invalidParams
 19380  	}
 19381  	return nil
 19382  }
 19383  
 19384  // SetAssetId sets the AssetId field's value.
 19385  func (s *UpdateAssetInput) SetAssetId(v string) *UpdateAssetInput {
 19386  	s.AssetId = &v
 19387  	return s
 19388  }
 19389  
 19390  // SetAssetName sets the AssetName field's value.
 19391  func (s *UpdateAssetInput) SetAssetName(v string) *UpdateAssetInput {
 19392  	s.AssetName = &v
 19393  	return s
 19394  }
 19395  
 19396  // SetClientToken sets the ClientToken field's value.
 19397  func (s *UpdateAssetInput) SetClientToken(v string) *UpdateAssetInput {
 19398  	s.ClientToken = &v
 19399  	return s
 19400  }
 19401  
 19402  type UpdateAssetModelInput struct {
 19403  	_ struct{} `type:"structure"`
 19404  
 19405  	// The composite asset models that are part of this asset model. Composite asset
 19406  	// models are asset models that contain specific properties. Each composite
 19407  	// model has a type that defines the properties that the composite model supports.
 19408  	// Use composite asset models to define alarms on this asset model.
 19409  	AssetModelCompositeModels []*AssetModelCompositeModel `locationName:"assetModelCompositeModels" type:"list"`
 19410  
 19411  	// A description for the asset model.
 19412  	AssetModelDescription *string `locationName:"assetModelDescription" min:"1" type:"string"`
 19413  
 19414  	// The updated hierarchy definitions of the asset model. Each hierarchy specifies
 19415  	// an asset model whose assets can be children of any other assets created from
 19416  	// this asset model. For more information, see Asset hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html)
 19417  	// in the IoT SiteWise User Guide.
 19418  	//
 19419  	// You can specify up to 10 hierarchies per asset model. For more information,
 19420  	// see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
 19421  	// in the IoT SiteWise User Guide.
 19422  	AssetModelHierarchies []*AssetModelHierarchy `locationName:"assetModelHierarchies" type:"list"`
 19423  
 19424  	// The ID of the asset model to update.
 19425  	//
 19426  	// AssetModelId is a required field
 19427  	AssetModelId *string `location:"uri" locationName:"assetModelId" min:"36" type:"string" required:"true"`
 19428  
 19429  	// A unique, friendly name for the asset model.
 19430  	//
 19431  	// AssetModelName is a required field
 19432  	AssetModelName *string `locationName:"assetModelName" min:"1" type:"string" required:"true"`
 19433  
 19434  	// The updated property definitions of the asset model. For more information,
 19435  	// see Asset properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html)
 19436  	// in the IoT SiteWise User Guide.
 19437  	//
 19438  	// You can specify up to 200 properties per asset model. For more information,
 19439  	// see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
 19440  	// in the IoT SiteWise User Guide.
 19441  	AssetModelProperties []*AssetModelProperty `locationName:"assetModelProperties" type:"list"`
 19442  
 19443  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
 19444  	// of the request. Don't reuse this client token if a new idempotent request
 19445  	// is required.
 19446  	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
 19447  }
 19448  
 19449  // String returns the string representation.
 19450  //
 19451  // API parameter values that are decorated as "sensitive" in the API will not
 19452  // be included in the string output. The member name will be present, but the
 19453  // value will be replaced with "sensitive".
 19454  func (s UpdateAssetModelInput) String() string {
 19455  	return awsutil.Prettify(s)
 19456  }
 19457  
 19458  // GoString returns the string representation.
 19459  //
 19460  // API parameter values that are decorated as "sensitive" in the API will not
 19461  // be included in the string output. The member name will be present, but the
 19462  // value will be replaced with "sensitive".
 19463  func (s UpdateAssetModelInput) GoString() string {
 19464  	return s.String()
 19465  }
 19466  
 19467  // Validate inspects the fields of the type to determine if they are valid.
 19468  func (s *UpdateAssetModelInput) Validate() error {
 19469  	invalidParams := request.ErrInvalidParams{Context: "UpdateAssetModelInput"}
 19470  	if s.AssetModelDescription != nil && len(*s.AssetModelDescription) < 1 {
 19471  		invalidParams.Add(request.NewErrParamMinLen("AssetModelDescription", 1))
 19472  	}
 19473  	if s.AssetModelId == nil {
 19474  		invalidParams.Add(request.NewErrParamRequired("AssetModelId"))
 19475  	}
 19476  	if s.AssetModelId != nil && len(*s.AssetModelId) < 36 {
 19477  		invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36))
 19478  	}
 19479  	if s.AssetModelName == nil {
 19480  		invalidParams.Add(request.NewErrParamRequired("AssetModelName"))
 19481  	}
 19482  	if s.AssetModelName != nil && len(*s.AssetModelName) < 1 {
 19483  		invalidParams.Add(request.NewErrParamMinLen("AssetModelName", 1))
 19484  	}
 19485  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
 19486  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
 19487  	}
 19488  	if s.AssetModelCompositeModels != nil {
 19489  		for i, v := range s.AssetModelCompositeModels {
 19490  			if v == nil {
 19491  				continue
 19492  			}
 19493  			if err := v.Validate(); err != nil {
 19494  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelCompositeModels", i), err.(request.ErrInvalidParams))
 19495  			}
 19496  		}
 19497  	}
 19498  	if s.AssetModelHierarchies != nil {
 19499  		for i, v := range s.AssetModelHierarchies {
 19500  			if v == nil {
 19501  				continue
 19502  			}
 19503  			if err := v.Validate(); err != nil {
 19504  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelHierarchies", i), err.(request.ErrInvalidParams))
 19505  			}
 19506  		}
 19507  	}
 19508  	if s.AssetModelProperties != nil {
 19509  		for i, v := range s.AssetModelProperties {
 19510  			if v == nil {
 19511  				continue
 19512  			}
 19513  			if err := v.Validate(); err != nil {
 19514  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelProperties", i), err.(request.ErrInvalidParams))
 19515  			}
 19516  		}
 19517  	}
 19518  
 19519  	if invalidParams.Len() > 0 {
 19520  		return invalidParams
 19521  	}
 19522  	return nil
 19523  }
 19524  
 19525  // SetAssetModelCompositeModels sets the AssetModelCompositeModels field's value.
 19526  func (s *UpdateAssetModelInput) SetAssetModelCompositeModels(v []*AssetModelCompositeModel) *UpdateAssetModelInput {
 19527  	s.AssetModelCompositeModels = v
 19528  	return s
 19529  }
 19530  
 19531  // SetAssetModelDescription sets the AssetModelDescription field's value.
 19532  func (s *UpdateAssetModelInput) SetAssetModelDescription(v string) *UpdateAssetModelInput {
 19533  	s.AssetModelDescription = &v
 19534  	return s
 19535  }
 19536  
 19537  // SetAssetModelHierarchies sets the AssetModelHierarchies field's value.
 19538  func (s *UpdateAssetModelInput) SetAssetModelHierarchies(v []*AssetModelHierarchy) *UpdateAssetModelInput {
 19539  	s.AssetModelHierarchies = v
 19540  	return s
 19541  }
 19542  
 19543  // SetAssetModelId sets the AssetModelId field's value.
 19544  func (s *UpdateAssetModelInput) SetAssetModelId(v string) *UpdateAssetModelInput {
 19545  	s.AssetModelId = &v
 19546  	return s
 19547  }
 19548  
 19549  // SetAssetModelName sets the AssetModelName field's value.
 19550  func (s *UpdateAssetModelInput) SetAssetModelName(v string) *UpdateAssetModelInput {
 19551  	s.AssetModelName = &v
 19552  	return s
 19553  }
 19554  
 19555  // SetAssetModelProperties sets the AssetModelProperties field's value.
 19556  func (s *UpdateAssetModelInput) SetAssetModelProperties(v []*AssetModelProperty) *UpdateAssetModelInput {
 19557  	s.AssetModelProperties = v
 19558  	return s
 19559  }
 19560  
 19561  // SetClientToken sets the ClientToken field's value.
 19562  func (s *UpdateAssetModelInput) SetClientToken(v string) *UpdateAssetModelInput {
 19563  	s.ClientToken = &v
 19564  	return s
 19565  }
 19566  
 19567  type UpdateAssetModelOutput struct {
 19568  	_ struct{} `type:"structure"`
 19569  
 19570  	// The status of the asset model, which contains a state (UPDATING after successfully
 19571  	// calling this operation) and any error message.
 19572  	//
 19573  	// AssetModelStatus is a required field
 19574  	AssetModelStatus *AssetModelStatus `locationName:"assetModelStatus" type:"structure" required:"true"`
 19575  }
 19576  
 19577  // String returns the string representation.
 19578  //
 19579  // API parameter values that are decorated as "sensitive" in the API will not
 19580  // be included in the string output. The member name will be present, but the
 19581  // value will be replaced with "sensitive".
 19582  func (s UpdateAssetModelOutput) String() string {
 19583  	return awsutil.Prettify(s)
 19584  }
 19585  
 19586  // GoString returns the string representation.
 19587  //
 19588  // API parameter values that are decorated as "sensitive" in the API will not
 19589  // be included in the string output. The member name will be present, but the
 19590  // value will be replaced with "sensitive".
 19591  func (s UpdateAssetModelOutput) GoString() string {
 19592  	return s.String()
 19593  }
 19594  
 19595  // SetAssetModelStatus sets the AssetModelStatus field's value.
 19596  func (s *UpdateAssetModelOutput) SetAssetModelStatus(v *AssetModelStatus) *UpdateAssetModelOutput {
 19597  	s.AssetModelStatus = v
 19598  	return s
 19599  }
 19600  
 19601  type UpdateAssetOutput struct {
 19602  	_ struct{} `type:"structure"`
 19603  
 19604  	// The status of the asset, which contains a state (UPDATING after successfully
 19605  	// calling this operation) and any error message.
 19606  	//
 19607  	// AssetStatus is a required field
 19608  	AssetStatus *AssetStatus `locationName:"assetStatus" type:"structure" required:"true"`
 19609  }
 19610  
 19611  // String returns the string representation.
 19612  //
 19613  // API parameter values that are decorated as "sensitive" in the API will not
 19614  // be included in the string output. The member name will be present, but the
 19615  // value will be replaced with "sensitive".
 19616  func (s UpdateAssetOutput) String() string {
 19617  	return awsutil.Prettify(s)
 19618  }
 19619  
 19620  // GoString returns the string representation.
 19621  //
 19622  // API parameter values that are decorated as "sensitive" in the API will not
 19623  // be included in the string output. The member name will be present, but the
 19624  // value will be replaced with "sensitive".
 19625  func (s UpdateAssetOutput) GoString() string {
 19626  	return s.String()
 19627  }
 19628  
 19629  // SetAssetStatus sets the AssetStatus field's value.
 19630  func (s *UpdateAssetOutput) SetAssetStatus(v *AssetStatus) *UpdateAssetOutput {
 19631  	s.AssetStatus = v
 19632  	return s
 19633  }
 19634  
 19635  type UpdateAssetPropertyInput struct {
 19636  	_ struct{} `type:"structure"`
 19637  
 19638  	// The ID of the asset to be updated.
 19639  	//
 19640  	// AssetId is a required field
 19641  	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
 19642  
 19643  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
 19644  	// of the request. Don't reuse this client token if a new idempotent request
 19645  	// is required.
 19646  	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
 19647  
 19648  	// The alias that identifies the property, such as an OPC-UA server data stream
 19649  	// path (for example, /company/windfarm/3/turbine/7/temperature). For more information,
 19650  	// see Mapping industrial data streams to asset properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
 19651  	// in the IoT SiteWise User Guide.
 19652  	//
 19653  	// If you omit this parameter, the alias is removed from the property.
 19654  	PropertyAlias *string `locationName:"propertyAlias" min:"1" type:"string"`
 19655  
 19656  	// The ID of the asset property to be updated.
 19657  	//
 19658  	// PropertyId is a required field
 19659  	PropertyId *string `location:"uri" locationName:"propertyId" min:"36" type:"string" required:"true"`
 19660  
 19661  	// The MQTT notification state (enabled or disabled) for this asset property.
 19662  	// When the notification state is enabled, IoT SiteWise publishes property value
 19663  	// updates to a unique MQTT topic. For more information, see Interacting with
 19664  	// other services (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/interact-with-other-services.html)
 19665  	// in the IoT SiteWise User Guide.
 19666  	//
 19667  	// If you omit this parameter, the notification state is set to DISABLED.
 19668  	PropertyNotificationState *string `locationName:"propertyNotificationState" type:"string" enum:"PropertyNotificationState"`
 19669  }
 19670  
 19671  // String returns the string representation.
 19672  //
 19673  // API parameter values that are decorated as "sensitive" in the API will not
 19674  // be included in the string output. The member name will be present, but the
 19675  // value will be replaced with "sensitive".
 19676  func (s UpdateAssetPropertyInput) String() string {
 19677  	return awsutil.Prettify(s)
 19678  }
 19679  
 19680  // GoString returns the string representation.
 19681  //
 19682  // API parameter values that are decorated as "sensitive" in the API will not
 19683  // be included in the string output. The member name will be present, but the
 19684  // value will be replaced with "sensitive".
 19685  func (s UpdateAssetPropertyInput) GoString() string {
 19686  	return s.String()
 19687  }
 19688  
 19689  // Validate inspects the fields of the type to determine if they are valid.
 19690  func (s *UpdateAssetPropertyInput) Validate() error {
 19691  	invalidParams := request.ErrInvalidParams{Context: "UpdateAssetPropertyInput"}
 19692  	if s.AssetId == nil {
 19693  		invalidParams.Add(request.NewErrParamRequired("AssetId"))
 19694  	}
 19695  	if s.AssetId != nil && len(*s.AssetId) < 36 {
 19696  		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
 19697  	}
 19698  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
 19699  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
 19700  	}
 19701  	if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 {
 19702  		invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1))
 19703  	}
 19704  	if s.PropertyId == nil {
 19705  		invalidParams.Add(request.NewErrParamRequired("PropertyId"))
 19706  	}
 19707  	if s.PropertyId != nil && len(*s.PropertyId) < 36 {
 19708  		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36))
 19709  	}
 19710  
 19711  	if invalidParams.Len() > 0 {
 19712  		return invalidParams
 19713  	}
 19714  	return nil
 19715  }
 19716  
 19717  // SetAssetId sets the AssetId field's value.
 19718  func (s *UpdateAssetPropertyInput) SetAssetId(v string) *UpdateAssetPropertyInput {
 19719  	s.AssetId = &v
 19720  	return s
 19721  }
 19722  
 19723  // SetClientToken sets the ClientToken field's value.
 19724  func (s *UpdateAssetPropertyInput) SetClientToken(v string) *UpdateAssetPropertyInput {
 19725  	s.ClientToken = &v
 19726  	return s
 19727  }
 19728  
 19729  // SetPropertyAlias sets the PropertyAlias field's value.
 19730  func (s *UpdateAssetPropertyInput) SetPropertyAlias(v string) *UpdateAssetPropertyInput {
 19731  	s.PropertyAlias = &v
 19732  	return s
 19733  }
 19734  
 19735  // SetPropertyId sets the PropertyId field's value.
 19736  func (s *UpdateAssetPropertyInput) SetPropertyId(v string) *UpdateAssetPropertyInput {
 19737  	s.PropertyId = &v
 19738  	return s
 19739  }
 19740  
 19741  // SetPropertyNotificationState sets the PropertyNotificationState field's value.
 19742  func (s *UpdateAssetPropertyInput) SetPropertyNotificationState(v string) *UpdateAssetPropertyInput {
 19743  	s.PropertyNotificationState = &v
 19744  	return s
 19745  }
 19746  
 19747  type UpdateAssetPropertyOutput struct {
 19748  	_ struct{} `type:"structure" nopayload:"true"`
 19749  }
 19750  
 19751  // String returns the string representation.
 19752  //
 19753  // API parameter values that are decorated as "sensitive" in the API will not
 19754  // be included in the string output. The member name will be present, but the
 19755  // value will be replaced with "sensitive".
 19756  func (s UpdateAssetPropertyOutput) String() string {
 19757  	return awsutil.Prettify(s)
 19758  }
 19759  
 19760  // GoString returns the string representation.
 19761  //
 19762  // API parameter values that are decorated as "sensitive" in the API will not
 19763  // be included in the string output. The member name will be present, but the
 19764  // value will be replaced with "sensitive".
 19765  func (s UpdateAssetPropertyOutput) GoString() string {
 19766  	return s.String()
 19767  }
 19768  
 19769  type UpdateDashboardInput struct {
 19770  	_ struct{} `type:"structure"`
 19771  
 19772  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
 19773  	// of the request. Don't reuse this client token if a new idempotent request
 19774  	// is required.
 19775  	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
 19776  
 19777  	// The new dashboard definition, as specified in a JSON literal. For detailed
 19778  	// information, see Creating dashboards (CLI) (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html)
 19779  	// in the IoT SiteWise User Guide.
 19780  	//
 19781  	// DashboardDefinition is a required field
 19782  	DashboardDefinition *string `locationName:"dashboardDefinition" type:"string" required:"true"`
 19783  
 19784  	// A new description for the dashboard.
 19785  	DashboardDescription *string `locationName:"dashboardDescription" min:"1" type:"string"`
 19786  
 19787  	// The ID of the dashboard to update.
 19788  	//
 19789  	// DashboardId is a required field
 19790  	DashboardId *string `location:"uri" locationName:"dashboardId" min:"36" type:"string" required:"true"`
 19791  
 19792  	// A new friendly name for the dashboard.
 19793  	//
 19794  	// DashboardName is a required field
 19795  	DashboardName *string `locationName:"dashboardName" min:"1" type:"string" required:"true"`
 19796  }
 19797  
 19798  // String returns the string representation.
 19799  //
 19800  // API parameter values that are decorated as "sensitive" in the API will not
 19801  // be included in the string output. The member name will be present, but the
 19802  // value will be replaced with "sensitive".
 19803  func (s UpdateDashboardInput) String() string {
 19804  	return awsutil.Prettify(s)
 19805  }
 19806  
 19807  // GoString returns the string representation.
 19808  //
 19809  // API parameter values that are decorated as "sensitive" in the API will not
 19810  // be included in the string output. The member name will be present, but the
 19811  // value will be replaced with "sensitive".
 19812  func (s UpdateDashboardInput) GoString() string {
 19813  	return s.String()
 19814  }
 19815  
 19816  // Validate inspects the fields of the type to determine if they are valid.
 19817  func (s *UpdateDashboardInput) Validate() error {
 19818  	invalidParams := request.ErrInvalidParams{Context: "UpdateDashboardInput"}
 19819  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
 19820  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
 19821  	}
 19822  	if s.DashboardDefinition == nil {
 19823  		invalidParams.Add(request.NewErrParamRequired("DashboardDefinition"))
 19824  	}
 19825  	if s.DashboardDescription != nil && len(*s.DashboardDescription) < 1 {
 19826  		invalidParams.Add(request.NewErrParamMinLen("DashboardDescription", 1))
 19827  	}
 19828  	if s.DashboardId == nil {
 19829  		invalidParams.Add(request.NewErrParamRequired("DashboardId"))
 19830  	}
 19831  	if s.DashboardId != nil && len(*s.DashboardId) < 36 {
 19832  		invalidParams.Add(request.NewErrParamMinLen("DashboardId", 36))
 19833  	}
 19834  	if s.DashboardName == nil {
 19835  		invalidParams.Add(request.NewErrParamRequired("DashboardName"))
 19836  	}
 19837  	if s.DashboardName != nil && len(*s.DashboardName) < 1 {
 19838  		invalidParams.Add(request.NewErrParamMinLen("DashboardName", 1))
 19839  	}
 19840  
 19841  	if invalidParams.Len() > 0 {
 19842  		return invalidParams
 19843  	}
 19844  	return nil
 19845  }
 19846  
 19847  // SetClientToken sets the ClientToken field's value.
 19848  func (s *UpdateDashboardInput) SetClientToken(v string) *UpdateDashboardInput {
 19849  	s.ClientToken = &v
 19850  	return s
 19851  }
 19852  
 19853  // SetDashboardDefinition sets the DashboardDefinition field's value.
 19854  func (s *UpdateDashboardInput) SetDashboardDefinition(v string) *UpdateDashboardInput {
 19855  	s.DashboardDefinition = &v
 19856  	return s
 19857  }
 19858  
 19859  // SetDashboardDescription sets the DashboardDescription field's value.
 19860  func (s *UpdateDashboardInput) SetDashboardDescription(v string) *UpdateDashboardInput {
 19861  	s.DashboardDescription = &v
 19862  	return s
 19863  }
 19864  
 19865  // SetDashboardId sets the DashboardId field's value.
 19866  func (s *UpdateDashboardInput) SetDashboardId(v string) *UpdateDashboardInput {
 19867  	s.DashboardId = &v
 19868  	return s
 19869  }
 19870  
 19871  // SetDashboardName sets the DashboardName field's value.
 19872  func (s *UpdateDashboardInput) SetDashboardName(v string) *UpdateDashboardInput {
 19873  	s.DashboardName = &v
 19874  	return s
 19875  }
 19876  
 19877  type UpdateDashboardOutput struct {
 19878  	_ struct{} `type:"structure" nopayload:"true"`
 19879  }
 19880  
 19881  // String returns the string representation.
 19882  //
 19883  // API parameter values that are decorated as "sensitive" in the API will not
 19884  // be included in the string output. The member name will be present, but the
 19885  // value will be replaced with "sensitive".
 19886  func (s UpdateDashboardOutput) String() string {
 19887  	return awsutil.Prettify(s)
 19888  }
 19889  
 19890  // GoString returns the string representation.
 19891  //
 19892  // API parameter values that are decorated as "sensitive" in the API will not
 19893  // be included in the string output. The member name will be present, but the
 19894  // value will be replaced with "sensitive".
 19895  func (s UpdateDashboardOutput) GoString() string {
 19896  	return s.String()
 19897  }
 19898  
 19899  type UpdateGatewayCapabilityConfigurationInput struct {
 19900  	_ struct{} `type:"structure"`
 19901  
 19902  	// The JSON document that defines the configuration for the gateway capability.
 19903  	// For more information, see Configuring data sources (CLI) (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/configure-sources.html#configure-source-cli)
 19904  	// in the IoT SiteWise User Guide.
 19905  	//
 19906  	// CapabilityConfiguration is a required field
 19907  	CapabilityConfiguration *string `locationName:"capabilityConfiguration" min:"1" type:"string" required:"true"`
 19908  
 19909  	// The namespace of the gateway capability configuration to be updated. For
 19910  	// example, if you configure OPC-UA sources from the IoT SiteWise console, your
 19911  	// OPC-UA capability configuration has the namespace iotsitewise:opcuacollector:version,
 19912  	// where version is a number such as 1.
 19913  	//
 19914  	// CapabilityNamespace is a required field
 19915  	CapabilityNamespace *string `locationName:"capabilityNamespace" min:"1" type:"string" required:"true"`
 19916  
 19917  	// The ID of the gateway to be updated.
 19918  	//
 19919  	// GatewayId is a required field
 19920  	GatewayId *string `location:"uri" locationName:"gatewayId" min:"36" type:"string" required:"true"`
 19921  }
 19922  
 19923  // String returns the string representation.
 19924  //
 19925  // API parameter values that are decorated as "sensitive" in the API will not
 19926  // be included in the string output. The member name will be present, but the
 19927  // value will be replaced with "sensitive".
 19928  func (s UpdateGatewayCapabilityConfigurationInput) String() string {
 19929  	return awsutil.Prettify(s)
 19930  }
 19931  
 19932  // GoString returns the string representation.
 19933  //
 19934  // API parameter values that are decorated as "sensitive" in the API will not
 19935  // be included in the string output. The member name will be present, but the
 19936  // value will be replaced with "sensitive".
 19937  func (s UpdateGatewayCapabilityConfigurationInput) GoString() string {
 19938  	return s.String()
 19939  }
 19940  
 19941  // Validate inspects the fields of the type to determine if they are valid.
 19942  func (s *UpdateGatewayCapabilityConfigurationInput) Validate() error {
 19943  	invalidParams := request.ErrInvalidParams{Context: "UpdateGatewayCapabilityConfigurationInput"}
 19944  	if s.CapabilityConfiguration == nil {
 19945  		invalidParams.Add(request.NewErrParamRequired("CapabilityConfiguration"))
 19946  	}
 19947  	if s.CapabilityConfiguration != nil && len(*s.CapabilityConfiguration) < 1 {
 19948  		invalidParams.Add(request.NewErrParamMinLen("CapabilityConfiguration", 1))
 19949  	}
 19950  	if s.CapabilityNamespace == nil {
 19951  		invalidParams.Add(request.NewErrParamRequired("CapabilityNamespace"))
 19952  	}
 19953  	if s.CapabilityNamespace != nil && len(*s.CapabilityNamespace) < 1 {
 19954  		invalidParams.Add(request.NewErrParamMinLen("CapabilityNamespace", 1))
 19955  	}
 19956  	if s.GatewayId == nil {
 19957  		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
 19958  	}
 19959  	if s.GatewayId != nil && len(*s.GatewayId) < 36 {
 19960  		invalidParams.Add(request.NewErrParamMinLen("GatewayId", 36))
 19961  	}
 19962  
 19963  	if invalidParams.Len() > 0 {
 19964  		return invalidParams
 19965  	}
 19966  	return nil
 19967  }
 19968  
 19969  // SetCapabilityConfiguration sets the CapabilityConfiguration field's value.
 19970  func (s *UpdateGatewayCapabilityConfigurationInput) SetCapabilityConfiguration(v string) *UpdateGatewayCapabilityConfigurationInput {
 19971  	s.CapabilityConfiguration = &v
 19972  	return s
 19973  }
 19974  
 19975  // SetCapabilityNamespace sets the CapabilityNamespace field's value.
 19976  func (s *UpdateGatewayCapabilityConfigurationInput) SetCapabilityNamespace(v string) *UpdateGatewayCapabilityConfigurationInput {
 19977  	s.CapabilityNamespace = &v
 19978  	return s
 19979  }
 19980  
 19981  // SetGatewayId sets the GatewayId field's value.
 19982  func (s *UpdateGatewayCapabilityConfigurationInput) SetGatewayId(v string) *UpdateGatewayCapabilityConfigurationInput {
 19983  	s.GatewayId = &v
 19984  	return s
 19985  }
 19986  
 19987  type UpdateGatewayCapabilityConfigurationOutput struct {
 19988  	_ struct{} `type:"structure"`
 19989  
 19990  	// The namespace of the gateway capability.
 19991  	//
 19992  	// CapabilityNamespace is a required field
 19993  	CapabilityNamespace *string `locationName:"capabilityNamespace" min:"1" type:"string" required:"true"`
 19994  
 19995  	// The synchronization status of the capability configuration. The sync status
 19996  	// can be one of the following:
 19997  	//
 19998  	//    * IN_SYNC – The gateway is running the capability configuration.
 19999  	//
 20000  	//    * OUT_OF_SYNC – The gateway hasn't received the capability configuration.
 20001  	//
 20002  	//    * SYNC_FAILED – The gateway rejected the capability configuration.
 20003  	//
 20004  	// After you update a capability configuration, its sync status is OUT_OF_SYNC
 20005  	// until the gateway receives and applies or rejects the updated configuration.
 20006  	//
 20007  	// CapabilitySyncStatus is a required field
 20008  	CapabilitySyncStatus *string `locationName:"capabilitySyncStatus" type:"string" required:"true" enum:"CapabilitySyncStatus"`
 20009  }
 20010  
 20011  // String returns the string representation.
 20012  //
 20013  // API parameter values that are decorated as "sensitive" in the API will not
 20014  // be included in the string output. The member name will be present, but the
 20015  // value will be replaced with "sensitive".
 20016  func (s UpdateGatewayCapabilityConfigurationOutput) String() string {
 20017  	return awsutil.Prettify(s)
 20018  }
 20019  
 20020  // GoString returns the string representation.
 20021  //
 20022  // API parameter values that are decorated as "sensitive" in the API will not
 20023  // be included in the string output. The member name will be present, but the
 20024  // value will be replaced with "sensitive".
 20025  func (s UpdateGatewayCapabilityConfigurationOutput) GoString() string {
 20026  	return s.String()
 20027  }
 20028  
 20029  // SetCapabilityNamespace sets the CapabilityNamespace field's value.
 20030  func (s *UpdateGatewayCapabilityConfigurationOutput) SetCapabilityNamespace(v string) *UpdateGatewayCapabilityConfigurationOutput {
 20031  	s.CapabilityNamespace = &v
 20032  	return s
 20033  }
 20034  
 20035  // SetCapabilitySyncStatus sets the CapabilitySyncStatus field's value.
 20036  func (s *UpdateGatewayCapabilityConfigurationOutput) SetCapabilitySyncStatus(v string) *UpdateGatewayCapabilityConfigurationOutput {
 20037  	s.CapabilitySyncStatus = &v
 20038  	return s
 20039  }
 20040  
 20041  type UpdateGatewayInput struct {
 20042  	_ struct{} `type:"structure"`
 20043  
 20044  	// The ID of the gateway to update.
 20045  	//
 20046  	// GatewayId is a required field
 20047  	GatewayId *string `location:"uri" locationName:"gatewayId" min:"36" type:"string" required:"true"`
 20048  
 20049  	// A unique, friendly name for the gateway.
 20050  	//
 20051  	// GatewayName is a required field
 20052  	GatewayName *string `locationName:"gatewayName" min:"1" type:"string" required:"true"`
 20053  }
 20054  
 20055  // String returns the string representation.
 20056  //
 20057  // API parameter values that are decorated as "sensitive" in the API will not
 20058  // be included in the string output. The member name will be present, but the
 20059  // value will be replaced with "sensitive".
 20060  func (s UpdateGatewayInput) String() string {
 20061  	return awsutil.Prettify(s)
 20062  }
 20063  
 20064  // GoString returns the string representation.
 20065  //
 20066  // API parameter values that are decorated as "sensitive" in the API will not
 20067  // be included in the string output. The member name will be present, but the
 20068  // value will be replaced with "sensitive".
 20069  func (s UpdateGatewayInput) GoString() string {
 20070  	return s.String()
 20071  }
 20072  
 20073  // Validate inspects the fields of the type to determine if they are valid.
 20074  func (s *UpdateGatewayInput) Validate() error {
 20075  	invalidParams := request.ErrInvalidParams{Context: "UpdateGatewayInput"}
 20076  	if s.GatewayId == nil {
 20077  		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
 20078  	}
 20079  	if s.GatewayId != nil && len(*s.GatewayId) < 36 {
 20080  		invalidParams.Add(request.NewErrParamMinLen("GatewayId", 36))
 20081  	}
 20082  	if s.GatewayName == nil {
 20083  		invalidParams.Add(request.NewErrParamRequired("GatewayName"))
 20084  	}
 20085  	if s.GatewayName != nil && len(*s.GatewayName) < 1 {
 20086  		invalidParams.Add(request.NewErrParamMinLen("GatewayName", 1))
 20087  	}
 20088  
 20089  	if invalidParams.Len() > 0 {
 20090  		return invalidParams
 20091  	}
 20092  	return nil
 20093  }
 20094  
 20095  // SetGatewayId sets the GatewayId field's value.
 20096  func (s *UpdateGatewayInput) SetGatewayId(v string) *UpdateGatewayInput {
 20097  	s.GatewayId = &v
 20098  	return s
 20099  }
 20100  
 20101  // SetGatewayName sets the GatewayName field's value.
 20102  func (s *UpdateGatewayInput) SetGatewayName(v string) *UpdateGatewayInput {
 20103  	s.GatewayName = &v
 20104  	return s
 20105  }
 20106  
 20107  type UpdateGatewayOutput struct {
 20108  	_ struct{} `type:"structure" nopayload:"true"`
 20109  }
 20110  
 20111  // String returns the string representation.
 20112  //
 20113  // API parameter values that are decorated as "sensitive" in the API will not
 20114  // be included in the string output. The member name will be present, but the
 20115  // value will be replaced with "sensitive".
 20116  func (s UpdateGatewayOutput) String() string {
 20117  	return awsutil.Prettify(s)
 20118  }
 20119  
 20120  // GoString returns the string representation.
 20121  //
 20122  // API parameter values that are decorated as "sensitive" in the API will not
 20123  // be included in the string output. The member name will be present, but the
 20124  // value will be replaced with "sensitive".
 20125  func (s UpdateGatewayOutput) GoString() string {
 20126  	return s.String()
 20127  }
 20128  
 20129  type UpdatePortalInput struct {
 20130  	_ struct{} `type:"structure"`
 20131  
 20132  	// Contains the configuration information of an alarm created in an IoT SiteWise
 20133  	// Monitor portal. You can use the alarm to monitor an asset property and get
 20134  	// notified when the asset property value is outside a specified range. For
 20135  	// more information, see Monitoring with alarms (https://docs.aws.amazon.com/iot-sitewise/latest/appguide/monitor-alarms.html)
 20136  	// in the IoT SiteWise Application Guide.
 20137  	Alarms *Alarms `locationName:"alarms" type:"structure"`
 20138  
 20139  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
 20140  	// of the request. Don't reuse this client token if a new idempotent request
 20141  	// is required.
 20142  	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
 20143  
 20144  	// The email address that sends alarm notifications.
 20145  	NotificationSenderEmail *string `locationName:"notificationSenderEmail" min:"1" type:"string"`
 20146  
 20147  	// The Amazon Web Services administrator's contact email address.
 20148  	//
 20149  	// PortalContactEmail is a required field
 20150  	PortalContactEmail *string `locationName:"portalContactEmail" min:"1" type:"string" required:"true"`
 20151  
 20152  	// A new description for the portal.
 20153  	PortalDescription *string `locationName:"portalDescription" min:"1" type:"string"`
 20154  
 20155  	// The ID of the portal to update.
 20156  	//
 20157  	// PortalId is a required field
 20158  	PortalId *string `location:"uri" locationName:"portalId" min:"36" type:"string" required:"true"`
 20159  
 20160  	// Contains an image that is one of the following:
 20161  	//
 20162  	//    * An image file. Choose this option to upload a new image.
 20163  	//
 20164  	//    * The ID of an existing image. Choose this option to keep an existing
 20165  	//    image.
 20166  	PortalLogoImage *Image `locationName:"portalLogoImage" type:"structure"`
 20167  
 20168  	// A new friendly name for the portal.
 20169  	//
 20170  	// PortalName is a required field
 20171  	PortalName *string `locationName:"portalName" min:"1" type:"string" required:"true"`
 20172  
 20173  	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
 20174  	// of a service role that allows the portal's users to access your IoT SiteWise
 20175  	// resources on your behalf. For more information, see Using service roles for
 20176  	// IoT SiteWise Monitor (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html)
 20177  	// in the IoT SiteWise User Guide.
 20178  	//
 20179  	// RoleArn is a required field
 20180  	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
 20181  }
 20182  
 20183  // String returns the string representation.
 20184  //
 20185  // API parameter values that are decorated as "sensitive" in the API will not
 20186  // be included in the string output. The member name will be present, but the
 20187  // value will be replaced with "sensitive".
 20188  func (s UpdatePortalInput) String() string {
 20189  	return awsutil.Prettify(s)
 20190  }
 20191  
 20192  // GoString returns the string representation.
 20193  //
 20194  // API parameter values that are decorated as "sensitive" in the API will not
 20195  // be included in the string output. The member name will be present, but the
 20196  // value will be replaced with "sensitive".
 20197  func (s UpdatePortalInput) GoString() string {
 20198  	return s.String()
 20199  }
 20200  
 20201  // Validate inspects the fields of the type to determine if they are valid.
 20202  func (s *UpdatePortalInput) Validate() error {
 20203  	invalidParams := request.ErrInvalidParams{Context: "UpdatePortalInput"}
 20204  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
 20205  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
 20206  	}
 20207  	if s.NotificationSenderEmail != nil && len(*s.NotificationSenderEmail) < 1 {
 20208  		invalidParams.Add(request.NewErrParamMinLen("NotificationSenderEmail", 1))
 20209  	}
 20210  	if s.PortalContactEmail == nil {
 20211  		invalidParams.Add(request.NewErrParamRequired("PortalContactEmail"))
 20212  	}
 20213  	if s.PortalContactEmail != nil && len(*s.PortalContactEmail) < 1 {
 20214  		invalidParams.Add(request.NewErrParamMinLen("PortalContactEmail", 1))
 20215  	}
 20216  	if s.PortalDescription != nil && len(*s.PortalDescription) < 1 {
 20217  		invalidParams.Add(request.NewErrParamMinLen("PortalDescription", 1))
 20218  	}
 20219  	if s.PortalId == nil {
 20220  		invalidParams.Add(request.NewErrParamRequired("PortalId"))
 20221  	}
 20222  	if s.PortalId != nil && len(*s.PortalId) < 36 {
 20223  		invalidParams.Add(request.NewErrParamMinLen("PortalId", 36))
 20224  	}
 20225  	if s.PortalName == nil {
 20226  		invalidParams.Add(request.NewErrParamRequired("PortalName"))
 20227  	}
 20228  	if s.PortalName != nil && len(*s.PortalName) < 1 {
 20229  		invalidParams.Add(request.NewErrParamMinLen("PortalName", 1))
 20230  	}
 20231  	if s.RoleArn == nil {
 20232  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 20233  	}
 20234  	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
 20235  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
 20236  	}
 20237  	if s.Alarms != nil {
 20238  		if err := s.Alarms.Validate(); err != nil {
 20239  			invalidParams.AddNested("Alarms", err.(request.ErrInvalidParams))
 20240  		}
 20241  	}
 20242  	if s.PortalLogoImage != nil {
 20243  		if err := s.PortalLogoImage.Validate(); err != nil {
 20244  			invalidParams.AddNested("PortalLogoImage", err.(request.ErrInvalidParams))
 20245  		}
 20246  	}
 20247  
 20248  	if invalidParams.Len() > 0 {
 20249  		return invalidParams
 20250  	}
 20251  	return nil
 20252  }
 20253  
 20254  // SetAlarms sets the Alarms field's value.
 20255  func (s *UpdatePortalInput) SetAlarms(v *Alarms) *UpdatePortalInput {
 20256  	s.Alarms = v
 20257  	return s
 20258  }
 20259  
 20260  // SetClientToken sets the ClientToken field's value.
 20261  func (s *UpdatePortalInput) SetClientToken(v string) *UpdatePortalInput {
 20262  	s.ClientToken = &v
 20263  	return s
 20264  }
 20265  
 20266  // SetNotificationSenderEmail sets the NotificationSenderEmail field's value.
 20267  func (s *UpdatePortalInput) SetNotificationSenderEmail(v string) *UpdatePortalInput {
 20268  	s.NotificationSenderEmail = &v
 20269  	return s
 20270  }
 20271  
 20272  // SetPortalContactEmail sets the PortalContactEmail field's value.
 20273  func (s *UpdatePortalInput) SetPortalContactEmail(v string) *UpdatePortalInput {
 20274  	s.PortalContactEmail = &v
 20275  	return s
 20276  }
 20277  
 20278  // SetPortalDescription sets the PortalDescription field's value.
 20279  func (s *UpdatePortalInput) SetPortalDescription(v string) *UpdatePortalInput {
 20280  	s.PortalDescription = &v
 20281  	return s
 20282  }
 20283  
 20284  // SetPortalId sets the PortalId field's value.
 20285  func (s *UpdatePortalInput) SetPortalId(v string) *UpdatePortalInput {
 20286  	s.PortalId = &v
 20287  	return s
 20288  }
 20289  
 20290  // SetPortalLogoImage sets the PortalLogoImage field's value.
 20291  func (s *UpdatePortalInput) SetPortalLogoImage(v *Image) *UpdatePortalInput {
 20292  	s.PortalLogoImage = v
 20293  	return s
 20294  }
 20295  
 20296  // SetPortalName sets the PortalName field's value.
 20297  func (s *UpdatePortalInput) SetPortalName(v string) *UpdatePortalInput {
 20298  	s.PortalName = &v
 20299  	return s
 20300  }
 20301  
 20302  // SetRoleArn sets the RoleArn field's value.
 20303  func (s *UpdatePortalInput) SetRoleArn(v string) *UpdatePortalInput {
 20304  	s.RoleArn = &v
 20305  	return s
 20306  }
 20307  
 20308  type UpdatePortalOutput struct {
 20309  	_ struct{} `type:"structure"`
 20310  
 20311  	// The status of the portal, which contains a state (UPDATING after successfully
 20312  	// calling this operation) and any error message.
 20313  	//
 20314  	// PortalStatus is a required field
 20315  	PortalStatus *PortalStatus `locationName:"portalStatus" type:"structure" required:"true"`
 20316  }
 20317  
 20318  // String returns the string representation.
 20319  //
 20320  // API parameter values that are decorated as "sensitive" in the API will not
 20321  // be included in the string output. The member name will be present, but the
 20322  // value will be replaced with "sensitive".
 20323  func (s UpdatePortalOutput) String() string {
 20324  	return awsutil.Prettify(s)
 20325  }
 20326  
 20327  // GoString returns the string representation.
 20328  //
 20329  // API parameter values that are decorated as "sensitive" in the API will not
 20330  // be included in the string output. The member name will be present, but the
 20331  // value will be replaced with "sensitive".
 20332  func (s UpdatePortalOutput) GoString() string {
 20333  	return s.String()
 20334  }
 20335  
 20336  // SetPortalStatus sets the PortalStatus field's value.
 20337  func (s *UpdatePortalOutput) SetPortalStatus(v *PortalStatus) *UpdatePortalOutput {
 20338  	s.PortalStatus = v
 20339  	return s
 20340  }
 20341  
 20342  type UpdateProjectInput struct {
 20343  	_ struct{} `type:"structure"`
 20344  
 20345  	// A unique case-sensitive identifier that you can provide to ensure the idempotency
 20346  	// of the request. Don't reuse this client token if a new idempotent request
 20347  	// is required.
 20348  	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
 20349  
 20350  	// A new description for the project.
 20351  	ProjectDescription *string `locationName:"projectDescription" min:"1" type:"string"`
 20352  
 20353  	// The ID of the project to update.
 20354  	//
 20355  	// ProjectId is a required field
 20356  	ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"`
 20357  
 20358  	// A new friendly name for the project.
 20359  	//
 20360  	// ProjectName is a required field
 20361  	ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"`
 20362  }
 20363  
 20364  // String returns the string representation.
 20365  //
 20366  // API parameter values that are decorated as "sensitive" in the API will not
 20367  // be included in the string output. The member name will be present, but the
 20368  // value will be replaced with "sensitive".
 20369  func (s UpdateProjectInput) String() string {
 20370  	return awsutil.Prettify(s)
 20371  }
 20372  
 20373  // GoString returns the string representation.
 20374  //
 20375  // API parameter values that are decorated as "sensitive" in the API will not
 20376  // be included in the string output. The member name will be present, but the
 20377  // value will be replaced with "sensitive".
 20378  func (s UpdateProjectInput) GoString() string {
 20379  	return s.String()
 20380  }
 20381  
 20382  // Validate inspects the fields of the type to determine if they are valid.
 20383  func (s *UpdateProjectInput) Validate() error {
 20384  	invalidParams := request.ErrInvalidParams{Context: "UpdateProjectInput"}
 20385  	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
 20386  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
 20387  	}
 20388  	if s.ProjectDescription != nil && len(*s.ProjectDescription) < 1 {
 20389  		invalidParams.Add(request.NewErrParamMinLen("ProjectDescription", 1))
 20390  	}
 20391  	if s.ProjectId == nil {
 20392  		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
 20393  	}
 20394  	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
 20395  		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
 20396  	}
 20397  	if s.ProjectName == nil {
 20398  		invalidParams.Add(request.NewErrParamRequired("ProjectName"))
 20399  	}
 20400  	if s.ProjectName != nil && len(*s.ProjectName) < 1 {
 20401  		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1))
 20402  	}
 20403  
 20404  	if invalidParams.Len() > 0 {
 20405  		return invalidParams
 20406  	}
 20407  	return nil
 20408  }
 20409  
 20410  // SetClientToken sets the ClientToken field's value.
 20411  func (s *UpdateProjectInput) SetClientToken(v string) *UpdateProjectInput {
 20412  	s.ClientToken = &v
 20413  	return s
 20414  }
 20415  
 20416  // SetProjectDescription sets the ProjectDescription field's value.
 20417  func (s *UpdateProjectInput) SetProjectDescription(v string) *UpdateProjectInput {
 20418  	s.ProjectDescription = &v
 20419  	return s
 20420  }
 20421  
 20422  // SetProjectId sets the ProjectId field's value.
 20423  func (s *UpdateProjectInput) SetProjectId(v string) *UpdateProjectInput {
 20424  	s.ProjectId = &v
 20425  	return s
 20426  }
 20427  
 20428  // SetProjectName sets the ProjectName field's value.
 20429  func (s *UpdateProjectInput) SetProjectName(v string) *UpdateProjectInput {
 20430  	s.ProjectName = &v
 20431  	return s
 20432  }
 20433  
 20434  type UpdateProjectOutput struct {
 20435  	_ struct{} `type:"structure" nopayload:"true"`
 20436  }
 20437  
 20438  // String returns the string representation.
 20439  //
 20440  // API parameter values that are decorated as "sensitive" in the API will not
 20441  // be included in the string output. The member name will be present, but the
 20442  // value will be replaced with "sensitive".
 20443  func (s UpdateProjectOutput) String() string {
 20444  	return awsutil.Prettify(s)
 20445  }
 20446  
 20447  // GoString returns the string representation.
 20448  //
 20449  // API parameter values that are decorated as "sensitive" in the API will not
 20450  // be included in the string output. The member name will be present, but the
 20451  // value will be replaced with "sensitive".
 20452  func (s UpdateProjectOutput) GoString() string {
 20453  	return s.String()
 20454  }
 20455  
 20456  // Contains information for a user identity in an access policy.
 20457  type UserIdentity struct {
 20458  	_ struct{} `type:"structure"`
 20459  
 20460  	// The Amazon Web Services SSO ID of the user.
 20461  	//
 20462  	// Id is a required field
 20463  	Id *string `locationName:"id" min:"1" type:"string" required:"true"`
 20464  }
 20465  
 20466  // String returns the string representation.
 20467  //
 20468  // API parameter values that are decorated as "sensitive" in the API will not
 20469  // be included in the string output. The member name will be present, but the
 20470  // value will be replaced with "sensitive".
 20471  func (s UserIdentity) String() string {
 20472  	return awsutil.Prettify(s)
 20473  }
 20474  
 20475  // GoString returns the string representation.
 20476  //
 20477  // API parameter values that are decorated as "sensitive" in the API will not
 20478  // be included in the string output. The member name will be present, but the
 20479  // value will be replaced with "sensitive".
 20480  func (s UserIdentity) GoString() string {
 20481  	return s.String()
 20482  }
 20483  
 20484  // Validate inspects the fields of the type to determine if they are valid.
 20485  func (s *UserIdentity) Validate() error {
 20486  	invalidParams := request.ErrInvalidParams{Context: "UserIdentity"}
 20487  	if s.Id == nil {
 20488  		invalidParams.Add(request.NewErrParamRequired("Id"))
 20489  	}
 20490  	if s.Id != nil && len(*s.Id) < 1 {
 20491  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 20492  	}
 20493  
 20494  	if invalidParams.Len() > 0 {
 20495  		return invalidParams
 20496  	}
 20497  	return nil
 20498  }
 20499  
 20500  // SetId sets the Id field's value.
 20501  func (s *UserIdentity) SetId(v string) *UserIdentity {
 20502  	s.Id = &v
 20503  	return s
 20504  }
 20505  
 20506  // Identifies a property value used in an expression.
 20507  type VariableValue struct {
 20508  	_ struct{} `type:"structure"`
 20509  
 20510  	// The ID of the hierarchy to query for the property ID. You can use the hierarchy's
 20511  	// name instead of the hierarchy's ID.
 20512  	//
 20513  	// You use a hierarchy ID instead of a model ID because you can have several
 20514  	// hierarchies using the same model and therefore the same propertyId. For example,
 20515  	// you might have separately grouped assets that come from the same asset model.
 20516  	// For more information, see Asset hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html)
 20517  	// in the IoT SiteWise User Guide.
 20518  	HierarchyId *string `locationName:"hierarchyId" min:"1" type:"string"`
 20519  
 20520  	// The ID of the property to use as the variable. You can use the property name
 20521  	// if it's from the same asset model.
 20522  	//
 20523  	// PropertyId is a required field
 20524  	PropertyId *string `locationName:"propertyId" min:"1" type:"string" required:"true"`
 20525  }
 20526  
 20527  // String returns the string representation.
 20528  //
 20529  // API parameter values that are decorated as "sensitive" in the API will not
 20530  // be included in the string output. The member name will be present, but the
 20531  // value will be replaced with "sensitive".
 20532  func (s VariableValue) String() string {
 20533  	return awsutil.Prettify(s)
 20534  }
 20535  
 20536  // GoString returns the string representation.
 20537  //
 20538  // API parameter values that are decorated as "sensitive" in the API will not
 20539  // be included in the string output. The member name will be present, but the
 20540  // value will be replaced with "sensitive".
 20541  func (s VariableValue) GoString() string {
 20542  	return s.String()
 20543  }
 20544  
 20545  // Validate inspects the fields of the type to determine if they are valid.
 20546  func (s *VariableValue) Validate() error {
 20547  	invalidParams := request.ErrInvalidParams{Context: "VariableValue"}
 20548  	if s.HierarchyId != nil && len(*s.HierarchyId) < 1 {
 20549  		invalidParams.Add(request.NewErrParamMinLen("HierarchyId", 1))
 20550  	}
 20551  	if s.PropertyId == nil {
 20552  		invalidParams.Add(request.NewErrParamRequired("PropertyId"))
 20553  	}
 20554  	if s.PropertyId != nil && len(*s.PropertyId) < 1 {
 20555  		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 1))
 20556  	}
 20557  
 20558  	if invalidParams.Len() > 0 {
 20559  		return invalidParams
 20560  	}
 20561  	return nil
 20562  }
 20563  
 20564  // SetHierarchyId sets the HierarchyId field's value.
 20565  func (s *VariableValue) SetHierarchyId(v string) *VariableValue {
 20566  	s.HierarchyId = &v
 20567  	return s
 20568  }
 20569  
 20570  // SetPropertyId sets the PropertyId field's value.
 20571  func (s *VariableValue) SetPropertyId(v string) *VariableValue {
 20572  	s.PropertyId = &v
 20573  	return s
 20574  }
 20575  
 20576  // Contains an asset property value (of a single type only).
 20577  type Variant struct {
 20578  	_ struct{} `type:"structure"`
 20579  
 20580  	// Asset property data of type Boolean (true or false).
 20581  	BooleanValue *bool `locationName:"booleanValue" type:"boolean"`
 20582  
 20583  	// Asset property data of type double (floating point number).
 20584  	DoubleValue *float64 `locationName:"doubleValue" type:"double"`
 20585  
 20586  	// Asset property data of type integer (whole number).
 20587  	IntegerValue *int64 `locationName:"integerValue" type:"integer"`
 20588  
 20589  	// Asset property data of type string (sequence of characters).
 20590  	StringValue *string `locationName:"stringValue" type:"string"`
 20591  }
 20592  
 20593  // String returns the string representation.
 20594  //
 20595  // API parameter values that are decorated as "sensitive" in the API will not
 20596  // be included in the string output. The member name will be present, but the
 20597  // value will be replaced with "sensitive".
 20598  func (s Variant) String() string {
 20599  	return awsutil.Prettify(s)
 20600  }
 20601  
 20602  // GoString returns the string representation.
 20603  //
 20604  // API parameter values that are decorated as "sensitive" in the API will not
 20605  // be included in the string output. The member name will be present, but the
 20606  // value will be replaced with "sensitive".
 20607  func (s Variant) GoString() string {
 20608  	return s.String()
 20609  }
 20610  
 20611  // SetBooleanValue sets the BooleanValue field's value.
 20612  func (s *Variant) SetBooleanValue(v bool) *Variant {
 20613  	s.BooleanValue = &v
 20614  	return s
 20615  }
 20616  
 20617  // SetDoubleValue sets the DoubleValue field's value.
 20618  func (s *Variant) SetDoubleValue(v float64) *Variant {
 20619  	s.DoubleValue = &v
 20620  	return s
 20621  }
 20622  
 20623  // SetIntegerValue sets the IntegerValue field's value.
 20624  func (s *Variant) SetIntegerValue(v int64) *Variant {
 20625  	s.IntegerValue = &v
 20626  	return s
 20627  }
 20628  
 20629  // SetStringValue sets the StringValue field's value.
 20630  func (s *Variant) SetStringValue(v string) *Variant {
 20631  	s.StringValue = &v
 20632  	return s
 20633  }
 20634  
 20635  const (
 20636  	// AggregateTypeAverage is a AggregateType enum value
 20637  	AggregateTypeAverage = "AVERAGE"
 20638  
 20639  	// AggregateTypeCount is a AggregateType enum value
 20640  	AggregateTypeCount = "COUNT"
 20641  
 20642  	// AggregateTypeMaximum is a AggregateType enum value
 20643  	AggregateTypeMaximum = "MAXIMUM"
 20644  
 20645  	// AggregateTypeMinimum is a AggregateType enum value
 20646  	AggregateTypeMinimum = "MINIMUM"
 20647  
 20648  	// AggregateTypeSum is a AggregateType enum value
 20649  	AggregateTypeSum = "SUM"
 20650  
 20651  	// AggregateTypeStandardDeviation is a AggregateType enum value
 20652  	AggregateTypeStandardDeviation = "STANDARD_DEVIATION"
 20653  )
 20654  
 20655  // AggregateType_Values returns all elements of the AggregateType enum
 20656  func AggregateType_Values() []string {
 20657  	return []string{
 20658  		AggregateTypeAverage,
 20659  		AggregateTypeCount,
 20660  		AggregateTypeMaximum,
 20661  		AggregateTypeMinimum,
 20662  		AggregateTypeSum,
 20663  		AggregateTypeStandardDeviation,
 20664  	}
 20665  }
 20666  
 20667  const (
 20668  	// AssetErrorCodeInternalFailure is a AssetErrorCode enum value
 20669  	AssetErrorCodeInternalFailure = "INTERNAL_FAILURE"
 20670  )
 20671  
 20672  // AssetErrorCode_Values returns all elements of the AssetErrorCode enum
 20673  func AssetErrorCode_Values() []string {
 20674  	return []string{
 20675  		AssetErrorCodeInternalFailure,
 20676  	}
 20677  }
 20678  
 20679  const (
 20680  	// AssetModelStateCreating is a AssetModelState enum value
 20681  	AssetModelStateCreating = "CREATING"
 20682  
 20683  	// AssetModelStateActive is a AssetModelState enum value
 20684  	AssetModelStateActive = "ACTIVE"
 20685  
 20686  	// AssetModelStateUpdating is a AssetModelState enum value
 20687  	AssetModelStateUpdating = "UPDATING"
 20688  
 20689  	// AssetModelStatePropagating is a AssetModelState enum value
 20690  	AssetModelStatePropagating = "PROPAGATING"
 20691  
 20692  	// AssetModelStateDeleting is a AssetModelState enum value
 20693  	AssetModelStateDeleting = "DELETING"
 20694  
 20695  	// AssetModelStateFailed is a AssetModelState enum value
 20696  	AssetModelStateFailed = "FAILED"
 20697  )
 20698  
 20699  // AssetModelState_Values returns all elements of the AssetModelState enum
 20700  func AssetModelState_Values() []string {
 20701  	return []string{
 20702  		AssetModelStateCreating,
 20703  		AssetModelStateActive,
 20704  		AssetModelStateUpdating,
 20705  		AssetModelStatePropagating,
 20706  		AssetModelStateDeleting,
 20707  		AssetModelStateFailed,
 20708  	}
 20709  }
 20710  
 20711  const (
 20712  	// AssetRelationshipTypeHierarchy is a AssetRelationshipType enum value
 20713  	AssetRelationshipTypeHierarchy = "HIERARCHY"
 20714  )
 20715  
 20716  // AssetRelationshipType_Values returns all elements of the AssetRelationshipType enum
 20717  func AssetRelationshipType_Values() []string {
 20718  	return []string{
 20719  		AssetRelationshipTypeHierarchy,
 20720  	}
 20721  }
 20722  
 20723  const (
 20724  	// AssetStateCreating is a AssetState enum value
 20725  	AssetStateCreating = "CREATING"
 20726  
 20727  	// AssetStateActive is a AssetState enum value
 20728  	AssetStateActive = "ACTIVE"
 20729  
 20730  	// AssetStateUpdating is a AssetState enum value
 20731  	AssetStateUpdating = "UPDATING"
 20732  
 20733  	// AssetStateDeleting is a AssetState enum value
 20734  	AssetStateDeleting = "DELETING"
 20735  
 20736  	// AssetStateFailed is a AssetState enum value
 20737  	AssetStateFailed = "FAILED"
 20738  )
 20739  
 20740  // AssetState_Values returns all elements of the AssetState enum
 20741  func AssetState_Values() []string {
 20742  	return []string{
 20743  		AssetStateCreating,
 20744  		AssetStateActive,
 20745  		AssetStateUpdating,
 20746  		AssetStateDeleting,
 20747  		AssetStateFailed,
 20748  	}
 20749  }
 20750  
 20751  const (
 20752  	// AuthModeIam is a AuthMode enum value
 20753  	AuthModeIam = "IAM"
 20754  
 20755  	// AuthModeSso is a AuthMode enum value
 20756  	AuthModeSso = "SSO"
 20757  )
 20758  
 20759  // AuthMode_Values returns all elements of the AuthMode enum
 20760  func AuthMode_Values() []string {
 20761  	return []string{
 20762  		AuthModeIam,
 20763  		AuthModeSso,
 20764  	}
 20765  }
 20766  
 20767  const (
 20768  	// BatchPutAssetPropertyValueErrorCodeResourceNotFoundException is a BatchPutAssetPropertyValueErrorCode enum value
 20769  	BatchPutAssetPropertyValueErrorCodeResourceNotFoundException = "ResourceNotFoundException"
 20770  
 20771  	// BatchPutAssetPropertyValueErrorCodeInvalidRequestException is a BatchPutAssetPropertyValueErrorCode enum value
 20772  	BatchPutAssetPropertyValueErrorCodeInvalidRequestException = "InvalidRequestException"
 20773  
 20774  	// BatchPutAssetPropertyValueErrorCodeInternalFailureException is a BatchPutAssetPropertyValueErrorCode enum value
 20775  	BatchPutAssetPropertyValueErrorCodeInternalFailureException = "InternalFailureException"
 20776  
 20777  	// BatchPutAssetPropertyValueErrorCodeServiceUnavailableException is a BatchPutAssetPropertyValueErrorCode enum value
 20778  	BatchPutAssetPropertyValueErrorCodeServiceUnavailableException = "ServiceUnavailableException"
 20779  
 20780  	// BatchPutAssetPropertyValueErrorCodeThrottlingException is a BatchPutAssetPropertyValueErrorCode enum value
 20781  	BatchPutAssetPropertyValueErrorCodeThrottlingException = "ThrottlingException"
 20782  
 20783  	// BatchPutAssetPropertyValueErrorCodeLimitExceededException is a BatchPutAssetPropertyValueErrorCode enum value
 20784  	BatchPutAssetPropertyValueErrorCodeLimitExceededException = "LimitExceededException"
 20785  
 20786  	// BatchPutAssetPropertyValueErrorCodeConflictingOperationException is a BatchPutAssetPropertyValueErrorCode enum value
 20787  	BatchPutAssetPropertyValueErrorCodeConflictingOperationException = "ConflictingOperationException"
 20788  
 20789  	// BatchPutAssetPropertyValueErrorCodeTimestampOutOfRangeException is a BatchPutAssetPropertyValueErrorCode enum value
 20790  	BatchPutAssetPropertyValueErrorCodeTimestampOutOfRangeException = "TimestampOutOfRangeException"
 20791  
 20792  	// BatchPutAssetPropertyValueErrorCodeAccessDeniedException is a BatchPutAssetPropertyValueErrorCode enum value
 20793  	BatchPutAssetPropertyValueErrorCodeAccessDeniedException = "AccessDeniedException"
 20794  )
 20795  
 20796  // BatchPutAssetPropertyValueErrorCode_Values returns all elements of the BatchPutAssetPropertyValueErrorCode enum
 20797  func BatchPutAssetPropertyValueErrorCode_Values() []string {
 20798  	return []string{
 20799  		BatchPutAssetPropertyValueErrorCodeResourceNotFoundException,
 20800  		BatchPutAssetPropertyValueErrorCodeInvalidRequestException,
 20801  		BatchPutAssetPropertyValueErrorCodeInternalFailureException,
 20802  		BatchPutAssetPropertyValueErrorCodeServiceUnavailableException,
 20803  		BatchPutAssetPropertyValueErrorCodeThrottlingException,
 20804  		BatchPutAssetPropertyValueErrorCodeLimitExceededException,
 20805  		BatchPutAssetPropertyValueErrorCodeConflictingOperationException,
 20806  		BatchPutAssetPropertyValueErrorCodeTimestampOutOfRangeException,
 20807  		BatchPutAssetPropertyValueErrorCodeAccessDeniedException,
 20808  	}
 20809  }
 20810  
 20811  const (
 20812  	// CapabilitySyncStatusInSync is a CapabilitySyncStatus enum value
 20813  	CapabilitySyncStatusInSync = "IN_SYNC"
 20814  
 20815  	// CapabilitySyncStatusOutOfSync is a CapabilitySyncStatus enum value
 20816  	CapabilitySyncStatusOutOfSync = "OUT_OF_SYNC"
 20817  
 20818  	// CapabilitySyncStatusSyncFailed is a CapabilitySyncStatus enum value
 20819  	CapabilitySyncStatusSyncFailed = "SYNC_FAILED"
 20820  
 20821  	// CapabilitySyncStatusUnknown is a CapabilitySyncStatus enum value
 20822  	CapabilitySyncStatusUnknown = "UNKNOWN"
 20823  )
 20824  
 20825  // CapabilitySyncStatus_Values returns all elements of the CapabilitySyncStatus enum
 20826  func CapabilitySyncStatus_Values() []string {
 20827  	return []string{
 20828  		CapabilitySyncStatusInSync,
 20829  		CapabilitySyncStatusOutOfSync,
 20830  		CapabilitySyncStatusSyncFailed,
 20831  		CapabilitySyncStatusUnknown,
 20832  	}
 20833  }
 20834  
 20835  const (
 20836  	// ComputeLocationEdge is a ComputeLocation enum value
 20837  	ComputeLocationEdge = "EDGE"
 20838  
 20839  	// ComputeLocationCloud is a ComputeLocation enum value
 20840  	ComputeLocationCloud = "CLOUD"
 20841  )
 20842  
 20843  // ComputeLocation_Values returns all elements of the ComputeLocation enum
 20844  func ComputeLocation_Values() []string {
 20845  	return []string{
 20846  		ComputeLocationEdge,
 20847  		ComputeLocationCloud,
 20848  	}
 20849  }
 20850  
 20851  const (
 20852  	// ConfigurationStateActive is a ConfigurationState enum value
 20853  	ConfigurationStateActive = "ACTIVE"
 20854  
 20855  	// ConfigurationStateUpdateInProgress is a ConfigurationState enum value
 20856  	ConfigurationStateUpdateInProgress = "UPDATE_IN_PROGRESS"
 20857  
 20858  	// ConfigurationStateUpdateFailed is a ConfigurationState enum value
 20859  	ConfigurationStateUpdateFailed = "UPDATE_FAILED"
 20860  )
 20861  
 20862  // ConfigurationState_Values returns all elements of the ConfigurationState enum
 20863  func ConfigurationState_Values() []string {
 20864  	return []string{
 20865  		ConfigurationStateActive,
 20866  		ConfigurationStateUpdateInProgress,
 20867  		ConfigurationStateUpdateFailed,
 20868  	}
 20869  }
 20870  
 20871  const (
 20872  	// DetailedErrorCodeIncompatibleComputeLocation is a DetailedErrorCode enum value
 20873  	DetailedErrorCodeIncompatibleComputeLocation = "INCOMPATIBLE_COMPUTE_LOCATION"
 20874  
 20875  	// DetailedErrorCodeIncompatibleForwardingConfiguration is a DetailedErrorCode enum value
 20876  	DetailedErrorCodeIncompatibleForwardingConfiguration = "INCOMPATIBLE_FORWARDING_CONFIGURATION"
 20877  )
 20878  
 20879  // DetailedErrorCode_Values returns all elements of the DetailedErrorCode enum
 20880  func DetailedErrorCode_Values() []string {
 20881  	return []string{
 20882  		DetailedErrorCodeIncompatibleComputeLocation,
 20883  		DetailedErrorCodeIncompatibleForwardingConfiguration,
 20884  	}
 20885  }
 20886  
 20887  const (
 20888  	// EncryptionTypeSitewiseDefaultEncryption is a EncryptionType enum value
 20889  	EncryptionTypeSitewiseDefaultEncryption = "SITEWISE_DEFAULT_ENCRYPTION"
 20890  
 20891  	// EncryptionTypeKmsBasedEncryption is a EncryptionType enum value
 20892  	EncryptionTypeKmsBasedEncryption = "KMS_BASED_ENCRYPTION"
 20893  )
 20894  
 20895  // EncryptionType_Values returns all elements of the EncryptionType enum
 20896  func EncryptionType_Values() []string {
 20897  	return []string{
 20898  		EncryptionTypeSitewiseDefaultEncryption,
 20899  		EncryptionTypeKmsBasedEncryption,
 20900  	}
 20901  }
 20902  
 20903  const (
 20904  	// ErrorCodeValidationError is a ErrorCode enum value
 20905  	ErrorCodeValidationError = "VALIDATION_ERROR"
 20906  
 20907  	// ErrorCodeInternalFailure is a ErrorCode enum value
 20908  	ErrorCodeInternalFailure = "INTERNAL_FAILURE"
 20909  )
 20910  
 20911  // ErrorCode_Values returns all elements of the ErrorCode enum
 20912  func ErrorCode_Values() []string {
 20913  	return []string{
 20914  		ErrorCodeValidationError,
 20915  		ErrorCodeInternalFailure,
 20916  	}
 20917  }
 20918  
 20919  const (
 20920  	// ForwardingConfigStateDisabled is a ForwardingConfigState enum value
 20921  	ForwardingConfigStateDisabled = "DISABLED"
 20922  
 20923  	// ForwardingConfigStateEnabled is a ForwardingConfigState enum value
 20924  	ForwardingConfigStateEnabled = "ENABLED"
 20925  )
 20926  
 20927  // ForwardingConfigState_Values returns all elements of the ForwardingConfigState enum
 20928  func ForwardingConfigState_Values() []string {
 20929  	return []string{
 20930  		ForwardingConfigStateDisabled,
 20931  		ForwardingConfigStateEnabled,
 20932  	}
 20933  }
 20934  
 20935  const (
 20936  	// IdentityTypeUser is a IdentityType enum value
 20937  	IdentityTypeUser = "USER"
 20938  
 20939  	// IdentityTypeGroup is a IdentityType enum value
 20940  	IdentityTypeGroup = "GROUP"
 20941  
 20942  	// IdentityTypeIam is a IdentityType enum value
 20943  	IdentityTypeIam = "IAM"
 20944  )
 20945  
 20946  // IdentityType_Values returns all elements of the IdentityType enum
 20947  func IdentityType_Values() []string {
 20948  	return []string{
 20949  		IdentityTypeUser,
 20950  		IdentityTypeGroup,
 20951  		IdentityTypeIam,
 20952  	}
 20953  }
 20954  
 20955  const (
 20956  	// ImageFileTypePng is a ImageFileType enum value
 20957  	ImageFileTypePng = "PNG"
 20958  )
 20959  
 20960  // ImageFileType_Values returns all elements of the ImageFileType enum
 20961  func ImageFileType_Values() []string {
 20962  	return []string{
 20963  		ImageFileTypePng,
 20964  	}
 20965  }
 20966  
 20967  const (
 20968  	// ListAssetsFilterAll is a ListAssetsFilter enum value
 20969  	ListAssetsFilterAll = "ALL"
 20970  
 20971  	// ListAssetsFilterTopLevel is a ListAssetsFilter enum value
 20972  	ListAssetsFilterTopLevel = "TOP_LEVEL"
 20973  )
 20974  
 20975  // ListAssetsFilter_Values returns all elements of the ListAssetsFilter enum
 20976  func ListAssetsFilter_Values() []string {
 20977  	return []string{
 20978  		ListAssetsFilterAll,
 20979  		ListAssetsFilterTopLevel,
 20980  	}
 20981  }
 20982  
 20983  const (
 20984  	// LoggingLevelError is a LoggingLevel enum value
 20985  	LoggingLevelError = "ERROR"
 20986  
 20987  	// LoggingLevelInfo is a LoggingLevel enum value
 20988  	LoggingLevelInfo = "INFO"
 20989  
 20990  	// LoggingLevelOff is a LoggingLevel enum value
 20991  	LoggingLevelOff = "OFF"
 20992  )
 20993  
 20994  // LoggingLevel_Values returns all elements of the LoggingLevel enum
 20995  func LoggingLevel_Values() []string {
 20996  	return []string{
 20997  		LoggingLevelError,
 20998  		LoggingLevelInfo,
 20999  		LoggingLevelOff,
 21000  	}
 21001  }
 21002  
 21003  const (
 21004  	// MonitorErrorCodeInternalFailure is a MonitorErrorCode enum value
 21005  	MonitorErrorCodeInternalFailure = "INTERNAL_FAILURE"
 21006  
 21007  	// MonitorErrorCodeValidationError is a MonitorErrorCode enum value
 21008  	MonitorErrorCodeValidationError = "VALIDATION_ERROR"
 21009  
 21010  	// MonitorErrorCodeLimitExceeded is a MonitorErrorCode enum value
 21011  	MonitorErrorCodeLimitExceeded = "LIMIT_EXCEEDED"
 21012  )
 21013  
 21014  // MonitorErrorCode_Values returns all elements of the MonitorErrorCode enum
 21015  func MonitorErrorCode_Values() []string {
 21016  	return []string{
 21017  		MonitorErrorCodeInternalFailure,
 21018  		MonitorErrorCodeValidationError,
 21019  		MonitorErrorCodeLimitExceeded,
 21020  	}
 21021  }
 21022  
 21023  const (
 21024  	// PermissionAdministrator is a Permission enum value
 21025  	PermissionAdministrator = "ADMINISTRATOR"
 21026  
 21027  	// PermissionViewer is a Permission enum value
 21028  	PermissionViewer = "VIEWER"
 21029  )
 21030  
 21031  // Permission_Values returns all elements of the Permission enum
 21032  func Permission_Values() []string {
 21033  	return []string{
 21034  		PermissionAdministrator,
 21035  		PermissionViewer,
 21036  	}
 21037  }
 21038  
 21039  const (
 21040  	// PortalStateCreating is a PortalState enum value
 21041  	PortalStateCreating = "CREATING"
 21042  
 21043  	// PortalStateUpdating is a PortalState enum value
 21044  	PortalStateUpdating = "UPDATING"
 21045  
 21046  	// PortalStateDeleting is a PortalState enum value
 21047  	PortalStateDeleting = "DELETING"
 21048  
 21049  	// PortalStateActive is a PortalState enum value
 21050  	PortalStateActive = "ACTIVE"
 21051  
 21052  	// PortalStateFailed is a PortalState enum value
 21053  	PortalStateFailed = "FAILED"
 21054  )
 21055  
 21056  // PortalState_Values returns all elements of the PortalState enum
 21057  func PortalState_Values() []string {
 21058  	return []string{
 21059  		PortalStateCreating,
 21060  		PortalStateUpdating,
 21061  		PortalStateDeleting,
 21062  		PortalStateActive,
 21063  		PortalStateFailed,
 21064  	}
 21065  }
 21066  
 21067  const (
 21068  	// PropertyDataTypeString is a PropertyDataType enum value
 21069  	PropertyDataTypeString = "STRING"
 21070  
 21071  	// PropertyDataTypeInteger is a PropertyDataType enum value
 21072  	PropertyDataTypeInteger = "INTEGER"
 21073  
 21074  	// PropertyDataTypeDouble is a PropertyDataType enum value
 21075  	PropertyDataTypeDouble = "DOUBLE"
 21076  
 21077  	// PropertyDataTypeBoolean is a PropertyDataType enum value
 21078  	PropertyDataTypeBoolean = "BOOLEAN"
 21079  
 21080  	// PropertyDataTypeStruct is a PropertyDataType enum value
 21081  	PropertyDataTypeStruct = "STRUCT"
 21082  )
 21083  
 21084  // PropertyDataType_Values returns all elements of the PropertyDataType enum
 21085  func PropertyDataType_Values() []string {
 21086  	return []string{
 21087  		PropertyDataTypeString,
 21088  		PropertyDataTypeInteger,
 21089  		PropertyDataTypeDouble,
 21090  		PropertyDataTypeBoolean,
 21091  		PropertyDataTypeStruct,
 21092  	}
 21093  }
 21094  
 21095  const (
 21096  	// PropertyNotificationStateEnabled is a PropertyNotificationState enum value
 21097  	PropertyNotificationStateEnabled = "ENABLED"
 21098  
 21099  	// PropertyNotificationStateDisabled is a PropertyNotificationState enum value
 21100  	PropertyNotificationStateDisabled = "DISABLED"
 21101  )
 21102  
 21103  // PropertyNotificationState_Values returns all elements of the PropertyNotificationState enum
 21104  func PropertyNotificationState_Values() []string {
 21105  	return []string{
 21106  		PropertyNotificationStateEnabled,
 21107  		PropertyNotificationStateDisabled,
 21108  	}
 21109  }
 21110  
 21111  const (
 21112  	// QualityGood is a Quality enum value
 21113  	QualityGood = "GOOD"
 21114  
 21115  	// QualityBad is a Quality enum value
 21116  	QualityBad = "BAD"
 21117  
 21118  	// QualityUncertain is a Quality enum value
 21119  	QualityUncertain = "UNCERTAIN"
 21120  )
 21121  
 21122  // Quality_Values returns all elements of the Quality enum
 21123  func Quality_Values() []string {
 21124  	return []string{
 21125  		QualityGood,
 21126  		QualityBad,
 21127  		QualityUncertain,
 21128  	}
 21129  }
 21130  
 21131  const (
 21132  	// ResourceTypePortal is a ResourceType enum value
 21133  	ResourceTypePortal = "PORTAL"
 21134  
 21135  	// ResourceTypeProject is a ResourceType enum value
 21136  	ResourceTypeProject = "PROJECT"
 21137  )
 21138  
 21139  // ResourceType_Values returns all elements of the ResourceType enum
 21140  func ResourceType_Values() []string {
 21141  	return []string{
 21142  		ResourceTypePortal,
 21143  		ResourceTypeProject,
 21144  	}
 21145  }
 21146  
 21147  const (
 21148  	// StorageTypeSitewiseDefaultStorage is a StorageType enum value
 21149  	StorageTypeSitewiseDefaultStorage = "SITEWISE_DEFAULT_STORAGE"
 21150  
 21151  	// StorageTypeMultiLayerStorage is a StorageType enum value
 21152  	StorageTypeMultiLayerStorage = "MULTI_LAYER_STORAGE"
 21153  )
 21154  
 21155  // StorageType_Values returns all elements of the StorageType enum
 21156  func StorageType_Values() []string {
 21157  	return []string{
 21158  		StorageTypeSitewiseDefaultStorage,
 21159  		StorageTypeMultiLayerStorage,
 21160  	}
 21161  }
 21162  
 21163  const (
 21164  	// TimeOrderingAscending is a TimeOrdering enum value
 21165  	TimeOrderingAscending = "ASCENDING"
 21166  
 21167  	// TimeOrderingDescending is a TimeOrdering enum value
 21168  	TimeOrderingDescending = "DESCENDING"
 21169  )
 21170  
 21171  // TimeOrdering_Values returns all elements of the TimeOrdering enum
 21172  func TimeOrdering_Values() []string {
 21173  	return []string{
 21174  		TimeOrderingAscending,
 21175  		TimeOrderingDescending,
 21176  	}
 21177  }
 21178  
 21179  const (
 21180  	// TraversalDirectionParent is a TraversalDirection enum value
 21181  	TraversalDirectionParent = "PARENT"
 21182  
 21183  	// TraversalDirectionChild is a TraversalDirection enum value
 21184  	TraversalDirectionChild = "CHILD"
 21185  )
 21186  
 21187  // TraversalDirection_Values returns all elements of the TraversalDirection enum
 21188  func TraversalDirection_Values() []string {
 21189  	return []string{
 21190  		TraversalDirectionParent,
 21191  		TraversalDirectionChild,
 21192  	}
 21193  }
 21194  
 21195  const (
 21196  	// TraversalTypePathToRoot is a TraversalType enum value
 21197  	TraversalTypePathToRoot = "PATH_TO_ROOT"
 21198  )
 21199  
 21200  // TraversalType_Values returns all elements of the TraversalType enum
 21201  func TraversalType_Values() []string {
 21202  	return []string{
 21203  		TraversalTypePathToRoot,
 21204  	}
 21205  }