1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package iotsitewise
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const 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
42func (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("model.", 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 AWS 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//   AWS 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 AWS IoT SiteWise User Guide.
93//
94//   * ThrottlingException
95//   Your request exceeded a rate limit. For example, you might have exceeded
96//   the number of AWS IoT SiteWise assets that can be created per second, the
97//   allowed 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 AWS 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
107func (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.
121func (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
128const 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
154func (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 AWS 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//   AWS 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 AWS IoT SiteWise assets that can be created per second, the
197//   allowed 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 AWS 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 AWS IoT SiteWise User Guide.
209//
210// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/BatchAssociateProjectAssets
211func (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.
225func (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
232const 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
258func (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 AWS IoT SiteWise Monitor
279// project.
280//
281// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
282// with awserr.Error's Code and Message methods to get detailed information about
283// the error.
284//
285// See the AWS API reference guide for AWS IoT SiteWise's
286// API operation BatchDisassociateProjectAssets for usage and error information.
287//
288// Returned Error Types:
289//   * InvalidRequestException
290//   The request isn't valid. This can occur if your request contains malformed
291//   JSON or unsupported characters. Check your request and try again.
292//
293//   * ResourceNotFoundException
294//   The requested resource can't be found.
295//
296//   * InternalFailureException
297//   AWS IoT SiteWise can't process your request right now. Try again later.
298//
299//   * ThrottlingException
300//   Your request exceeded a rate limit. For example, you might have exceeded
301//   the number of AWS IoT SiteWise assets that can be created per second, the
302//   allowed number of messages per second, and so on.
303//
304//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
305//   in the AWS IoT SiteWise User Guide.
306//
307// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/BatchDisassociateProjectAssets
308func (c *IoTSiteWise) BatchDisassociateProjectAssets(input *BatchDisassociateProjectAssetsInput) (*BatchDisassociateProjectAssetsOutput, error) {
309	req, out := c.BatchDisassociateProjectAssetsRequest(input)
310	return out, req.Send()
311}
312
313// BatchDisassociateProjectAssetsWithContext is the same as BatchDisassociateProjectAssets with the addition of
314// the ability to pass a context and additional request options.
315//
316// See BatchDisassociateProjectAssets for details on how to use this API operation.
317//
318// The context must be non-nil and will be used for request cancellation. If
319// the context is nil a panic will occur. In the future the SDK may create
320// sub-contexts for http.Requests. See https://golang.org/pkg/context/
321// for more information on using Contexts.
322func (c *IoTSiteWise) BatchDisassociateProjectAssetsWithContext(ctx aws.Context, input *BatchDisassociateProjectAssetsInput, opts ...request.Option) (*BatchDisassociateProjectAssetsOutput, error) {
323	req, out := c.BatchDisassociateProjectAssetsRequest(input)
324	req.SetContext(ctx)
325	req.ApplyOptions(opts...)
326	return out, req.Send()
327}
328
329const opBatchPutAssetPropertyValue = "BatchPutAssetPropertyValue"
330
331// BatchPutAssetPropertyValueRequest generates a "aws/request.Request" representing the
332// client's request for the BatchPutAssetPropertyValue operation. The "output" return
333// value will be populated with the request's response once the request completes
334// successfully.
335//
336// Use "Send" method on the returned Request to send the API call to the service.
337// the "output" return value is not valid until after Send returns without error.
338//
339// See BatchPutAssetPropertyValue for more information on using the BatchPutAssetPropertyValue
340// API call, and error handling.
341//
342// This method is useful when you want to inject custom logic or configuration
343// into the SDK's request lifecycle. Such as custom headers, or retry logic.
344//
345//
346//    // Example sending a request using the BatchPutAssetPropertyValueRequest method.
347//    req, resp := client.BatchPutAssetPropertyValueRequest(params)
348//
349//    err := req.Send()
350//    if err == nil { // resp is now filled
351//        fmt.Println(resp)
352//    }
353//
354// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/BatchPutAssetPropertyValue
355func (c *IoTSiteWise) BatchPutAssetPropertyValueRequest(input *BatchPutAssetPropertyValueInput) (req *request.Request, output *BatchPutAssetPropertyValueOutput) {
356	op := &request.Operation{
357		Name:       opBatchPutAssetPropertyValue,
358		HTTPMethod: "POST",
359		HTTPPath:   "/properties",
360	}
361
362	if input == nil {
363		input = &BatchPutAssetPropertyValueInput{}
364	}
365
366	output = &BatchPutAssetPropertyValueOutput{}
367	req = c.newRequest(op, input, output)
368	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data.", nil))
369	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
370	return
371}
372
373// BatchPutAssetPropertyValue API operation for AWS IoT SiteWise.
374//
375// Sends a list of asset property values to AWS IoT SiteWise. Each value is
376// a timestamp-quality-value (TQV) data point. For more information, see Ingesting
377// Data Using the API (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/ingest-api.html)
378// in the AWS IoT SiteWise User Guide.
379//
380// To identify an asset property, you must specify one of the following:
381//
382//    * The assetId and propertyId of an asset property.
383//
384//    * A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature).
385//    To define an asset property's alias, see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html).
386//
387// With respect to Unix epoch time, AWS IoT SiteWise accepts only TQVs that
388// have a timestamp of no more than 15 minutes in the past and no more than
389// 5 minutes in the future. AWS IoT SiteWise rejects timestamps outside of the
390// inclusive range of [-15, +5] minutes and returns a TimestampOutOfRangeException
391// error.
392//
393// For each asset property, AWS IoT SiteWise overwrites TQVs with duplicate
394// timestamps unless the newer TQV has a different quality. For example, if
395// you store a TQV {T1, GOOD, V1}, then storing {T1, GOOD, V2} replaces the
396// existing TQV.
397//
398// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
399// with awserr.Error's Code and Message methods to get detailed information about
400// the error.
401//
402// See the AWS API reference guide for AWS IoT SiteWise's
403// API operation BatchPutAssetPropertyValue for usage and error information.
404//
405// Returned Error Types:
406//   * InvalidRequestException
407//   The request isn't valid. This can occur if your request contains malformed
408//   JSON or unsupported characters. Check your request and try again.
409//
410//   * ResourceNotFoundException
411//   The requested resource can't be found.
412//
413//   * InternalFailureException
414//   AWS IoT SiteWise can't process your request right now. Try again later.
415//
416//   * ThrottlingException
417//   Your request exceeded a rate limit. For example, you might have exceeded
418//   the number of AWS IoT SiteWise assets that can be created per second, the
419//   allowed number of messages per second, and so on.
420//
421//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
422//   in the AWS IoT SiteWise User Guide.
423//
424//   * LimitExceededException
425//   You've reached the limit for a resource. For example, this can occur if you're
426//   trying to associate more than the allowed number of child assets or attempting
427//   to create more than the allowed number of properties for an asset model.
428//
429//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
430//   in the AWS IoT SiteWise User Guide.
431//
432//   * ServiceUnavailableException
433//   The requested service is unavailable.
434//
435//   * ConflictingOperationException
436//   Your request has conflicting operations. This can occur if you're trying
437//   to perform more than one operation on the same resource at the same time.
438//
439// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/BatchPutAssetPropertyValue
440func (c *IoTSiteWise) BatchPutAssetPropertyValue(input *BatchPutAssetPropertyValueInput) (*BatchPutAssetPropertyValueOutput, error) {
441	req, out := c.BatchPutAssetPropertyValueRequest(input)
442	return out, req.Send()
443}
444
445// BatchPutAssetPropertyValueWithContext is the same as BatchPutAssetPropertyValue with the addition of
446// the ability to pass a context and additional request options.
447//
448// See BatchPutAssetPropertyValue for details on how to use this API operation.
449//
450// The context must be non-nil and will be used for request cancellation. If
451// the context is nil a panic will occur. In the future the SDK may create
452// sub-contexts for http.Requests. See https://golang.org/pkg/context/
453// for more information on using Contexts.
454func (c *IoTSiteWise) BatchPutAssetPropertyValueWithContext(ctx aws.Context, input *BatchPutAssetPropertyValueInput, opts ...request.Option) (*BatchPutAssetPropertyValueOutput, error) {
455	req, out := c.BatchPutAssetPropertyValueRequest(input)
456	req.SetContext(ctx)
457	req.ApplyOptions(opts...)
458	return out, req.Send()
459}
460
461const opCreateAccessPolicy = "CreateAccessPolicy"
462
463// CreateAccessPolicyRequest generates a "aws/request.Request" representing the
464// client's request for the CreateAccessPolicy operation. The "output" return
465// value will be populated with the request's response once the request completes
466// successfully.
467//
468// Use "Send" method on the returned Request to send the API call to the service.
469// the "output" return value is not valid until after Send returns without error.
470//
471// See CreateAccessPolicy for more information on using the CreateAccessPolicy
472// API call, and error handling.
473//
474// This method is useful when you want to inject custom logic or configuration
475// into the SDK's request lifecycle. Such as custom headers, or retry logic.
476//
477//
478//    // Example sending a request using the CreateAccessPolicyRequest method.
479//    req, resp := client.CreateAccessPolicyRequest(params)
480//
481//    err := req.Send()
482//    if err == nil { // resp is now filled
483//        fmt.Println(resp)
484//    }
485//
486// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateAccessPolicy
487func (c *IoTSiteWise) CreateAccessPolicyRequest(input *CreateAccessPolicyInput) (req *request.Request, output *CreateAccessPolicyOutput) {
488	op := &request.Operation{
489		Name:       opCreateAccessPolicy,
490		HTTPMethod: "POST",
491		HTTPPath:   "/access-policies",
492	}
493
494	if input == nil {
495		input = &CreateAccessPolicyInput{}
496	}
497
498	output = &CreateAccessPolicyOutput{}
499	req = c.newRequest(op, input, output)
500	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
501	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
502	return
503}
504
505// CreateAccessPolicy API operation for AWS IoT SiteWise.
506//
507// Creates an access policy that grants the specified AWS Single Sign-On user
508// or group access to the specified AWS IoT SiteWise Monitor portal or project
509// resource.
510//
511// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
512// with awserr.Error's Code and Message methods to get detailed information about
513// the error.
514//
515// See the AWS API reference guide for AWS IoT SiteWise's
516// API operation CreateAccessPolicy for usage and error information.
517//
518// Returned Error Types:
519//   * InvalidRequestException
520//   The request isn't valid. This can occur if your request contains malformed
521//   JSON or unsupported characters. Check your request and try again.
522//
523//   * ResourceNotFoundException
524//   The requested resource can't be found.
525//
526//   * InternalFailureException
527//   AWS IoT SiteWise can't process your request right now. Try again later.
528//
529//   * ThrottlingException
530//   Your request exceeded a rate limit. For example, you might have exceeded
531//   the number of AWS IoT SiteWise assets that can be created per second, the
532//   allowed number of messages per second, and so on.
533//
534//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
535//   in the AWS IoT SiteWise User Guide.
536//
537//   * LimitExceededException
538//   You've reached the limit for a resource. For example, this can occur if you're
539//   trying to associate more than the allowed number of child assets or attempting
540//   to create more than the allowed number of properties for an asset model.
541//
542//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
543//   in the AWS IoT SiteWise User Guide.
544//
545// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateAccessPolicy
546func (c *IoTSiteWise) CreateAccessPolicy(input *CreateAccessPolicyInput) (*CreateAccessPolicyOutput, error) {
547	req, out := c.CreateAccessPolicyRequest(input)
548	return out, req.Send()
549}
550
551// CreateAccessPolicyWithContext is the same as CreateAccessPolicy with the addition of
552// the ability to pass a context and additional request options.
553//
554// See CreateAccessPolicy for details on how to use this API operation.
555//
556// The context must be non-nil and will be used for request cancellation. If
557// the context is nil a panic will occur. In the future the SDK may create
558// sub-contexts for http.Requests. See https://golang.org/pkg/context/
559// for more information on using Contexts.
560func (c *IoTSiteWise) CreateAccessPolicyWithContext(ctx aws.Context, input *CreateAccessPolicyInput, opts ...request.Option) (*CreateAccessPolicyOutput, error) {
561	req, out := c.CreateAccessPolicyRequest(input)
562	req.SetContext(ctx)
563	req.ApplyOptions(opts...)
564	return out, req.Send()
565}
566
567const opCreateAsset = "CreateAsset"
568
569// CreateAssetRequest generates a "aws/request.Request" representing the
570// client's request for the CreateAsset operation. The "output" return
571// value will be populated with the request's response once the request completes
572// successfully.
573//
574// Use "Send" method on the returned Request to send the API call to the service.
575// the "output" return value is not valid until after Send returns without error.
576//
577// See CreateAsset for more information on using the CreateAsset
578// API call, and error handling.
579//
580// This method is useful when you want to inject custom logic or configuration
581// into the SDK's request lifecycle. Such as custom headers, or retry logic.
582//
583//
584//    // Example sending a request using the CreateAssetRequest method.
585//    req, resp := client.CreateAssetRequest(params)
586//
587//    err := req.Send()
588//    if err == nil { // resp is now filled
589//        fmt.Println(resp)
590//    }
591//
592// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateAsset
593func (c *IoTSiteWise) CreateAssetRequest(input *CreateAssetInput) (req *request.Request, output *CreateAssetOutput) {
594	op := &request.Operation{
595		Name:       opCreateAsset,
596		HTTPMethod: "POST",
597		HTTPPath:   "/assets",
598	}
599
600	if input == nil {
601		input = &CreateAssetInput{}
602	}
603
604	output = &CreateAssetOutput{}
605	req = c.newRequest(op, input, output)
606	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
607	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
608	return
609}
610
611// CreateAsset API operation for AWS IoT SiteWise.
612//
613// Creates an asset from an existing asset model. For more information, see
614// Creating Assets (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-assets.html)
615// in the AWS IoT SiteWise User Guide.
616//
617// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
618// with awserr.Error's Code and Message methods to get detailed information about
619// the error.
620//
621// See the AWS API reference guide for AWS IoT SiteWise's
622// API operation CreateAsset for usage and error information.
623//
624// Returned Error Types:
625//   * InvalidRequestException
626//   The request isn't valid. This can occur if your request contains malformed
627//   JSON or unsupported characters. Check your request and try again.
628//
629//   * ResourceAlreadyExistsException
630//   The resource already exists.
631//
632//   * ResourceNotFoundException
633//   The requested resource can't be found.
634//
635//   * InternalFailureException
636//   AWS IoT SiteWise can't process your request right now. Try again later.
637//
638//   * ThrottlingException
639//   Your request exceeded a rate limit. For example, you might have exceeded
640//   the number of AWS IoT SiteWise assets that can be created per second, the
641//   allowed number of messages per second, and so on.
642//
643//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
644//   in the AWS IoT SiteWise User Guide.
645//
646//   * LimitExceededException
647//   You've reached the limit for a resource. For example, this can occur if you're
648//   trying to associate more than the allowed number of child assets or attempting
649//   to create more than the allowed number of properties for an asset model.
650//
651//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
652//   in the AWS IoT SiteWise User Guide.
653//
654//   * ConflictingOperationException
655//   Your request has conflicting operations. This can occur if you're trying
656//   to perform more than one operation on the same resource at the same time.
657//
658// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateAsset
659func (c *IoTSiteWise) CreateAsset(input *CreateAssetInput) (*CreateAssetOutput, error) {
660	req, out := c.CreateAssetRequest(input)
661	return out, req.Send()
662}
663
664// CreateAssetWithContext is the same as CreateAsset with the addition of
665// the ability to pass a context and additional request options.
666//
667// See CreateAsset for details on how to use this API operation.
668//
669// The context must be non-nil and will be used for request cancellation. If
670// the context is nil a panic will occur. In the future the SDK may create
671// sub-contexts for http.Requests. See https://golang.org/pkg/context/
672// for more information on using Contexts.
673func (c *IoTSiteWise) CreateAssetWithContext(ctx aws.Context, input *CreateAssetInput, opts ...request.Option) (*CreateAssetOutput, error) {
674	req, out := c.CreateAssetRequest(input)
675	req.SetContext(ctx)
676	req.ApplyOptions(opts...)
677	return out, req.Send()
678}
679
680const opCreateAssetModel = "CreateAssetModel"
681
682// CreateAssetModelRequest generates a "aws/request.Request" representing the
683// client's request for the CreateAssetModel operation. The "output" return
684// value will be populated with the request's response once the request completes
685// successfully.
686//
687// Use "Send" method on the returned Request to send the API call to the service.
688// the "output" return value is not valid until after Send returns without error.
689//
690// See CreateAssetModel for more information on using the CreateAssetModel
691// API call, and error handling.
692//
693// This method is useful when you want to inject custom logic or configuration
694// into the SDK's request lifecycle. Such as custom headers, or retry logic.
695//
696//
697//    // Example sending a request using the CreateAssetModelRequest method.
698//    req, resp := client.CreateAssetModelRequest(params)
699//
700//    err := req.Send()
701//    if err == nil { // resp is now filled
702//        fmt.Println(resp)
703//    }
704//
705// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateAssetModel
706func (c *IoTSiteWise) CreateAssetModelRequest(input *CreateAssetModelInput) (req *request.Request, output *CreateAssetModelOutput) {
707	op := &request.Operation{
708		Name:       opCreateAssetModel,
709		HTTPMethod: "POST",
710		HTTPPath:   "/asset-models",
711	}
712
713	if input == nil {
714		input = &CreateAssetModelInput{}
715	}
716
717	output = &CreateAssetModelOutput{}
718	req = c.newRequest(op, input, output)
719	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
720	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
721	return
722}
723
724// CreateAssetModel API operation for AWS IoT SiteWise.
725//
726// Creates an asset model from specified property and hierarchy definitions.
727// You create assets from asset models. With asset models, you can easily create
728// assets of the same type that have standardized definitions. Each asset created
729// from a model inherits the asset model's property and hierarchy definitions.
730// For more information, see Defining Asset Models (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/define-models.html)
731// in the AWS IoT SiteWise User Guide.
732//
733// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
734// with awserr.Error's Code and Message methods to get detailed information about
735// the error.
736//
737// See the AWS API reference guide for AWS IoT SiteWise's
738// API operation CreateAssetModel for usage and error information.
739//
740// Returned Error Types:
741//   * InvalidRequestException
742//   The request isn't valid. This can occur if your request contains malformed
743//   JSON or unsupported characters. Check your request and try again.
744//
745//   * ResourceAlreadyExistsException
746//   The resource already exists.
747//
748//   * ResourceNotFoundException
749//   The requested resource can't be found.
750//
751//   * InternalFailureException
752//   AWS IoT SiteWise can't process your request right now. Try again later.
753//
754//   * ThrottlingException
755//   Your request exceeded a rate limit. For example, you might have exceeded
756//   the number of AWS IoT SiteWise assets that can be created per second, the
757//   allowed number of messages per second, and so on.
758//
759//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
760//   in the AWS IoT SiteWise User Guide.
761//
762//   * LimitExceededException
763//   You've reached the limit for a resource. For example, this can occur if you're
764//   trying to associate more than the allowed number of child assets or attempting
765//   to create more than the allowed number of properties for an asset model.
766//
767//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
768//   in the AWS IoT SiteWise User Guide.
769//
770//   * ConflictingOperationException
771//   Your request has conflicting operations. This can occur if you're trying
772//   to perform more than one operation on the same resource at the same time.
773//
774// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateAssetModel
775func (c *IoTSiteWise) CreateAssetModel(input *CreateAssetModelInput) (*CreateAssetModelOutput, error) {
776	req, out := c.CreateAssetModelRequest(input)
777	return out, req.Send()
778}
779
780// CreateAssetModelWithContext is the same as CreateAssetModel with the addition of
781// the ability to pass a context and additional request options.
782//
783// See CreateAssetModel for details on how to use this API operation.
784//
785// The context must be non-nil and will be used for request cancellation. If
786// the context is nil a panic will occur. In the future the SDK may create
787// sub-contexts for http.Requests. See https://golang.org/pkg/context/
788// for more information on using Contexts.
789func (c *IoTSiteWise) CreateAssetModelWithContext(ctx aws.Context, input *CreateAssetModelInput, opts ...request.Option) (*CreateAssetModelOutput, error) {
790	req, out := c.CreateAssetModelRequest(input)
791	req.SetContext(ctx)
792	req.ApplyOptions(opts...)
793	return out, req.Send()
794}
795
796const opCreateDashboard = "CreateDashboard"
797
798// CreateDashboardRequest generates a "aws/request.Request" representing the
799// client's request for the CreateDashboard operation. The "output" return
800// value will be populated with the request's response once the request completes
801// successfully.
802//
803// Use "Send" method on the returned Request to send the API call to the service.
804// the "output" return value is not valid until after Send returns without error.
805//
806// See CreateDashboard for more information on using the CreateDashboard
807// API call, and error handling.
808//
809// This method is useful when you want to inject custom logic or configuration
810// into the SDK's request lifecycle. Such as custom headers, or retry logic.
811//
812//
813//    // Example sending a request using the CreateDashboardRequest method.
814//    req, resp := client.CreateDashboardRequest(params)
815//
816//    err := req.Send()
817//    if err == nil { // resp is now filled
818//        fmt.Println(resp)
819//    }
820//
821// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateDashboard
822func (c *IoTSiteWise) CreateDashboardRequest(input *CreateDashboardInput) (req *request.Request, output *CreateDashboardOutput) {
823	op := &request.Operation{
824		Name:       opCreateDashboard,
825		HTTPMethod: "POST",
826		HTTPPath:   "/dashboards",
827	}
828
829	if input == nil {
830		input = &CreateDashboardInput{}
831	}
832
833	output = &CreateDashboardOutput{}
834	req = c.newRequest(op, input, output)
835	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
836	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
837	return
838}
839
840// CreateDashboard API operation for AWS IoT SiteWise.
841//
842// Creates a dashboard in an AWS IoT SiteWise Monitor project.
843//
844// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
845// with awserr.Error's Code and Message methods to get detailed information about
846// the error.
847//
848// See the AWS API reference guide for AWS IoT SiteWise's
849// API operation CreateDashboard for usage and error information.
850//
851// Returned Error Types:
852//   * InvalidRequestException
853//   The request isn't valid. This can occur if your request contains malformed
854//   JSON or unsupported characters. Check your request and try again.
855//
856//   * ResourceNotFoundException
857//   The requested resource can't be found.
858//
859//   * InternalFailureException
860//   AWS IoT SiteWise can't process your request right now. Try again later.
861//
862//   * ThrottlingException
863//   Your request exceeded a rate limit. For example, you might have exceeded
864//   the number of AWS IoT SiteWise assets that can be created per second, the
865//   allowed number of messages per second, and so on.
866//
867//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
868//   in the AWS IoT SiteWise User Guide.
869//
870//   * LimitExceededException
871//   You've reached the limit for a resource. For example, this can occur if you're
872//   trying to associate more than the allowed number of child assets or attempting
873//   to create more than the allowed number of properties for an asset model.
874//
875//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
876//   in the AWS IoT SiteWise User Guide.
877//
878// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateDashboard
879func (c *IoTSiteWise) CreateDashboard(input *CreateDashboardInput) (*CreateDashboardOutput, error) {
880	req, out := c.CreateDashboardRequest(input)
881	return out, req.Send()
882}
883
884// CreateDashboardWithContext is the same as CreateDashboard with the addition of
885// the ability to pass a context and additional request options.
886//
887// See CreateDashboard for details on how to use this API operation.
888//
889// The context must be non-nil and will be used for request cancellation. If
890// the context is nil a panic will occur. In the future the SDK may create
891// sub-contexts for http.Requests. See https://golang.org/pkg/context/
892// for more information on using Contexts.
893func (c *IoTSiteWise) CreateDashboardWithContext(ctx aws.Context, input *CreateDashboardInput, opts ...request.Option) (*CreateDashboardOutput, error) {
894	req, out := c.CreateDashboardRequest(input)
895	req.SetContext(ctx)
896	req.ApplyOptions(opts...)
897	return out, req.Send()
898}
899
900const opCreateGateway = "CreateGateway"
901
902// CreateGatewayRequest generates a "aws/request.Request" representing the
903// client's request for the CreateGateway operation. The "output" return
904// value will be populated with the request's response once the request completes
905// successfully.
906//
907// Use "Send" method on the returned Request to send the API call to the service.
908// the "output" return value is not valid until after Send returns without error.
909//
910// See CreateGateway for more information on using the CreateGateway
911// API call, and error handling.
912//
913// This method is useful when you want to inject custom logic or configuration
914// into the SDK's request lifecycle. Such as custom headers, or retry logic.
915//
916//
917//    // Example sending a request using the CreateGatewayRequest method.
918//    req, resp := client.CreateGatewayRequest(params)
919//
920//    err := req.Send()
921//    if err == nil { // resp is now filled
922//        fmt.Println(resp)
923//    }
924//
925// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateGateway
926func (c *IoTSiteWise) CreateGatewayRequest(input *CreateGatewayInput) (req *request.Request, output *CreateGatewayOutput) {
927	op := &request.Operation{
928		Name:       opCreateGateway,
929		HTTPMethod: "POST",
930		HTTPPath:   "/20200301/gateways",
931	}
932
933	if input == nil {
934		input = &CreateGatewayInput{}
935	}
936
937	output = &CreateGatewayOutput{}
938	req = c.newRequest(op, input, output)
939	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("edge.", nil))
940	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
941	return
942}
943
944// CreateGateway API operation for AWS IoT SiteWise.
945//
946// Creates a gateway, which is a virtual or edge device that delivers industrial
947// data streams from local servers to AWS IoT SiteWise. For more information,
948// see Ingesting data using a gateway (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/gateway-connector.html)
949// in the AWS IoT SiteWise User Guide.
950//
951// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
952// with awserr.Error's Code and Message methods to get detailed information about
953// the error.
954//
955// See the AWS API reference guide for AWS IoT SiteWise's
956// API operation CreateGateway for usage and error information.
957//
958// Returned Error Types:
959//   * InvalidRequestException
960//   The request isn't valid. This can occur if your request contains malformed
961//   JSON or unsupported characters. Check your request and try again.
962//
963//   * ResourceAlreadyExistsException
964//   The resource already exists.
965//
966//   * InternalFailureException
967//   AWS IoT SiteWise can't process your request right now. Try again later.
968//
969//   * ThrottlingException
970//   Your request exceeded a rate limit. For example, you might have exceeded
971//   the number of AWS IoT SiteWise assets that can be created per second, the
972//   allowed number of messages per second, and so on.
973//
974//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
975//   in the AWS IoT SiteWise User Guide.
976//
977//   * LimitExceededException
978//   You've reached the limit for a resource. For example, this can occur if you're
979//   trying to associate more than the allowed number of child assets or attempting
980//   to create more than the allowed number of properties for an asset model.
981//
982//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
983//   in the AWS IoT SiteWise User Guide.
984//
985// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateGateway
986func (c *IoTSiteWise) CreateGateway(input *CreateGatewayInput) (*CreateGatewayOutput, error) {
987	req, out := c.CreateGatewayRequest(input)
988	return out, req.Send()
989}
990
991// CreateGatewayWithContext is the same as CreateGateway with the addition of
992// the ability to pass a context and additional request options.
993//
994// See CreateGateway for details on how to use this API operation.
995//
996// The context must be non-nil and will be used for request cancellation. If
997// the context is nil a panic will occur. In the future the SDK may create
998// sub-contexts for http.Requests. See https://golang.org/pkg/context/
999// for more information on using Contexts.
1000func (c *IoTSiteWise) CreateGatewayWithContext(ctx aws.Context, input *CreateGatewayInput, opts ...request.Option) (*CreateGatewayOutput, error) {
1001	req, out := c.CreateGatewayRequest(input)
1002	req.SetContext(ctx)
1003	req.ApplyOptions(opts...)
1004	return out, req.Send()
1005}
1006
1007const opCreatePortal = "CreatePortal"
1008
1009// CreatePortalRequest generates a "aws/request.Request" representing the
1010// client's request for the CreatePortal operation. The "output" return
1011// value will be populated with the request's response once the request completes
1012// successfully.
1013//
1014// Use "Send" method on the returned Request to send the API call to the service.
1015// the "output" return value is not valid until after Send returns without error.
1016//
1017// See CreatePortal for more information on using the CreatePortal
1018// API call, and error handling.
1019//
1020// This method is useful when you want to inject custom logic or configuration
1021// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1022//
1023//
1024//    // Example sending a request using the CreatePortalRequest method.
1025//    req, resp := client.CreatePortalRequest(params)
1026//
1027//    err := req.Send()
1028//    if err == nil { // resp is now filled
1029//        fmt.Println(resp)
1030//    }
1031//
1032// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreatePortal
1033func (c *IoTSiteWise) CreatePortalRequest(input *CreatePortalInput) (req *request.Request, output *CreatePortalOutput) {
1034	op := &request.Operation{
1035		Name:       opCreatePortal,
1036		HTTPMethod: "POST",
1037		HTTPPath:   "/portals",
1038	}
1039
1040	if input == nil {
1041		input = &CreatePortalInput{}
1042	}
1043
1044	output = &CreatePortalOutput{}
1045	req = c.newRequest(op, input, output)
1046	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
1047	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1048	return
1049}
1050
1051// CreatePortal API operation for AWS IoT SiteWise.
1052//
1053// Creates a portal, which can contain projects and dashboards. Before you can
1054// create a portal, you must configure AWS Single Sign-On in the current Region.
1055// AWS IoT SiteWise Monitor uses AWS SSO to manage user permissions. For more
1056// information, see Enabling AWS SSO (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-get-started.html#mon-gs-sso)
1057// in the AWS IoT SiteWise User Guide.
1058//
1059// Before you can sign in to a new portal, you must add at least one AWS SSO
1060// user or group to that portal. For more information, see Adding or Removing
1061// Portal Administrators (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/administer-portals.html#portal-change-admins)
1062// in the AWS IoT SiteWise User Guide.
1063//
1064// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1065// with awserr.Error's Code and Message methods to get detailed information about
1066// the error.
1067//
1068// See the AWS API reference guide for AWS IoT SiteWise's
1069// API operation CreatePortal for usage and error information.
1070//
1071// Returned Error Types:
1072//   * InvalidRequestException
1073//   The request isn't valid. This can occur if your request contains malformed
1074//   JSON or unsupported characters. Check your request and try again.
1075//
1076//   * ResourceNotFoundException
1077//   The requested resource can't be found.
1078//
1079//   * InternalFailureException
1080//   AWS IoT SiteWise can't process your request right now. Try again later.
1081//
1082//   * ThrottlingException
1083//   Your request exceeded a rate limit. For example, you might have exceeded
1084//   the number of AWS IoT SiteWise assets that can be created per second, the
1085//   allowed number of messages per second, and so on.
1086//
1087//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
1088//   in the AWS IoT SiteWise User Guide.
1089//
1090//   * LimitExceededException
1091//   You've reached the limit for a resource. For example, this can occur if you're
1092//   trying to associate more than the allowed number of child assets or attempting
1093//   to create more than the allowed number of properties for an asset model.
1094//
1095//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
1096//   in the AWS IoT SiteWise User Guide.
1097//
1098// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreatePortal
1099func (c *IoTSiteWise) CreatePortal(input *CreatePortalInput) (*CreatePortalOutput, error) {
1100	req, out := c.CreatePortalRequest(input)
1101	return out, req.Send()
1102}
1103
1104// CreatePortalWithContext is the same as CreatePortal with the addition of
1105// the ability to pass a context and additional request options.
1106//
1107// See CreatePortal for details on how to use this API operation.
1108//
1109// The context must be non-nil and will be used for request cancellation. If
1110// the context is nil a panic will occur. In the future the SDK may create
1111// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1112// for more information on using Contexts.
1113func (c *IoTSiteWise) CreatePortalWithContext(ctx aws.Context, input *CreatePortalInput, opts ...request.Option) (*CreatePortalOutput, error) {
1114	req, out := c.CreatePortalRequest(input)
1115	req.SetContext(ctx)
1116	req.ApplyOptions(opts...)
1117	return out, req.Send()
1118}
1119
1120const opCreateProject = "CreateProject"
1121
1122// CreateProjectRequest generates a "aws/request.Request" representing the
1123// client's request for the CreateProject operation. The "output" return
1124// value will be populated with the request's response once the request completes
1125// successfully.
1126//
1127// Use "Send" method on the returned Request to send the API call to the service.
1128// the "output" return value is not valid until after Send returns without error.
1129//
1130// See CreateProject for more information on using the CreateProject
1131// API call, and error handling.
1132//
1133// This method is useful when you want to inject custom logic or configuration
1134// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1135//
1136//
1137//    // Example sending a request using the CreateProjectRequest method.
1138//    req, resp := client.CreateProjectRequest(params)
1139//
1140//    err := req.Send()
1141//    if err == nil { // resp is now filled
1142//        fmt.Println(resp)
1143//    }
1144//
1145// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateProject
1146func (c *IoTSiteWise) CreateProjectRequest(input *CreateProjectInput) (req *request.Request, output *CreateProjectOutput) {
1147	op := &request.Operation{
1148		Name:       opCreateProject,
1149		HTTPMethod: "POST",
1150		HTTPPath:   "/projects",
1151	}
1152
1153	if input == nil {
1154		input = &CreateProjectInput{}
1155	}
1156
1157	output = &CreateProjectOutput{}
1158	req = c.newRequest(op, input, output)
1159	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
1160	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1161	return
1162}
1163
1164// CreateProject API operation for AWS IoT SiteWise.
1165//
1166// Creates a project in the specified portal.
1167//
1168// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1169// with awserr.Error's Code and Message methods to get detailed information about
1170// the error.
1171//
1172// See the AWS API reference guide for AWS IoT SiteWise's
1173// API operation CreateProject for usage and error information.
1174//
1175// Returned Error Types:
1176//   * InvalidRequestException
1177//   The request isn't valid. This can occur if your request contains malformed
1178//   JSON or unsupported characters. Check your request and try again.
1179//
1180//   * ResourceNotFoundException
1181//   The requested resource can't be found.
1182//
1183//   * InternalFailureException
1184//   AWS IoT SiteWise can't process your request right now. Try again later.
1185//
1186//   * ThrottlingException
1187//   Your request exceeded a rate limit. For example, you might have exceeded
1188//   the number of AWS IoT SiteWise assets that can be created per second, the
1189//   allowed number of messages per second, and so on.
1190//
1191//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
1192//   in the AWS IoT SiteWise User Guide.
1193//
1194//   * LimitExceededException
1195//   You've reached the limit for a resource. For example, this can occur if you're
1196//   trying to associate more than the allowed number of child assets or attempting
1197//   to create more than the allowed number of properties for an asset model.
1198//
1199//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
1200//   in the AWS IoT SiteWise User Guide.
1201//
1202// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateProject
1203func (c *IoTSiteWise) CreateProject(input *CreateProjectInput) (*CreateProjectOutput, error) {
1204	req, out := c.CreateProjectRequest(input)
1205	return out, req.Send()
1206}
1207
1208// CreateProjectWithContext is the same as CreateProject with the addition of
1209// the ability to pass a context and additional request options.
1210//
1211// See CreateProject for details on how to use this API operation.
1212//
1213// The context must be non-nil and will be used for request cancellation. If
1214// the context is nil a panic will occur. In the future the SDK may create
1215// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1216// for more information on using Contexts.
1217func (c *IoTSiteWise) CreateProjectWithContext(ctx aws.Context, input *CreateProjectInput, opts ...request.Option) (*CreateProjectOutput, error) {
1218	req, out := c.CreateProjectRequest(input)
1219	req.SetContext(ctx)
1220	req.ApplyOptions(opts...)
1221	return out, req.Send()
1222}
1223
1224const opDeleteAccessPolicy = "DeleteAccessPolicy"
1225
1226// DeleteAccessPolicyRequest generates a "aws/request.Request" representing the
1227// client's request for the DeleteAccessPolicy operation. The "output" return
1228// value will be populated with the request's response once the request completes
1229// successfully.
1230//
1231// Use "Send" method on the returned Request to send the API call to the service.
1232// the "output" return value is not valid until after Send returns without error.
1233//
1234// See DeleteAccessPolicy for more information on using the DeleteAccessPolicy
1235// API call, and error handling.
1236//
1237// This method is useful when you want to inject custom logic or configuration
1238// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1239//
1240//
1241//    // Example sending a request using the DeleteAccessPolicyRequest method.
1242//    req, resp := client.DeleteAccessPolicyRequest(params)
1243//
1244//    err := req.Send()
1245//    if err == nil { // resp is now filled
1246//        fmt.Println(resp)
1247//    }
1248//
1249// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteAccessPolicy
1250func (c *IoTSiteWise) DeleteAccessPolicyRequest(input *DeleteAccessPolicyInput) (req *request.Request, output *DeleteAccessPolicyOutput) {
1251	op := &request.Operation{
1252		Name:       opDeleteAccessPolicy,
1253		HTTPMethod: "DELETE",
1254		HTTPPath:   "/access-policies/{accessPolicyId}",
1255	}
1256
1257	if input == nil {
1258		input = &DeleteAccessPolicyInput{}
1259	}
1260
1261	output = &DeleteAccessPolicyOutput{}
1262	req = c.newRequest(op, input, output)
1263	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1264	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
1265	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1266	return
1267}
1268
1269// DeleteAccessPolicy API operation for AWS IoT SiteWise.
1270//
1271// Deletes an access policy that grants the specified AWS Single Sign-On identity
1272// access to the specified AWS IoT SiteWise Monitor resource. You can use this
1273// operation to revoke access to an AWS IoT SiteWise Monitor resource.
1274//
1275// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1276// with awserr.Error's Code and Message methods to get detailed information about
1277// the error.
1278//
1279// See the AWS API reference guide for AWS IoT SiteWise's
1280// API operation DeleteAccessPolicy for usage and error information.
1281//
1282// Returned Error Types:
1283//   * InvalidRequestException
1284//   The request isn't valid. This can occur if your request contains malformed
1285//   JSON or unsupported characters. Check your request and try again.
1286//
1287//   * ResourceNotFoundException
1288//   The requested resource can't be found.
1289//
1290//   * InternalFailureException
1291//   AWS IoT SiteWise can't process your request right now. Try again later.
1292//
1293//   * ThrottlingException
1294//   Your request exceeded a rate limit. For example, you might have exceeded
1295//   the number of AWS IoT SiteWise assets that can be created per second, the
1296//   allowed number of messages per second, and so on.
1297//
1298//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
1299//   in the AWS IoT SiteWise User Guide.
1300//
1301// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteAccessPolicy
1302func (c *IoTSiteWise) DeleteAccessPolicy(input *DeleteAccessPolicyInput) (*DeleteAccessPolicyOutput, error) {
1303	req, out := c.DeleteAccessPolicyRequest(input)
1304	return out, req.Send()
1305}
1306
1307// DeleteAccessPolicyWithContext is the same as DeleteAccessPolicy with the addition of
1308// the ability to pass a context and additional request options.
1309//
1310// See DeleteAccessPolicy for details on how to use this API operation.
1311//
1312// The context must be non-nil and will be used for request cancellation. If
1313// the context is nil a panic will occur. In the future the SDK may create
1314// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1315// for more information on using Contexts.
1316func (c *IoTSiteWise) DeleteAccessPolicyWithContext(ctx aws.Context, input *DeleteAccessPolicyInput, opts ...request.Option) (*DeleteAccessPolicyOutput, error) {
1317	req, out := c.DeleteAccessPolicyRequest(input)
1318	req.SetContext(ctx)
1319	req.ApplyOptions(opts...)
1320	return out, req.Send()
1321}
1322
1323const opDeleteAsset = "DeleteAsset"
1324
1325// DeleteAssetRequest generates a "aws/request.Request" representing the
1326// client's request for the DeleteAsset operation. The "output" return
1327// value will be populated with the request's response once the request completes
1328// successfully.
1329//
1330// Use "Send" method on the returned Request to send the API call to the service.
1331// the "output" return value is not valid until after Send returns without error.
1332//
1333// See DeleteAsset for more information on using the DeleteAsset
1334// API call, and error handling.
1335//
1336// This method is useful when you want to inject custom logic or configuration
1337// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1338//
1339//
1340//    // Example sending a request using the DeleteAssetRequest method.
1341//    req, resp := client.DeleteAssetRequest(params)
1342//
1343//    err := req.Send()
1344//    if err == nil { // resp is now filled
1345//        fmt.Println(resp)
1346//    }
1347//
1348// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteAsset
1349func (c *IoTSiteWise) DeleteAssetRequest(input *DeleteAssetInput) (req *request.Request, output *DeleteAssetOutput) {
1350	op := &request.Operation{
1351		Name:       opDeleteAsset,
1352		HTTPMethod: "DELETE",
1353		HTTPPath:   "/assets/{assetId}",
1354	}
1355
1356	if input == nil {
1357		input = &DeleteAssetInput{}
1358	}
1359
1360	output = &DeleteAssetOutput{}
1361	req = c.newRequest(op, input, output)
1362	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
1363	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1364	return
1365}
1366
1367// DeleteAsset API operation for AWS IoT SiteWise.
1368//
1369// Deletes an asset. This action can't be undone. For more information, see
1370// Deleting Assets and Models (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/delete-assets-and-models.html)
1371// in the AWS IoT SiteWise User Guide.
1372//
1373// You can't delete an asset that's associated to another asset. For more information,
1374// see DisassociateAssets (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DisassociateAssets.html).
1375//
1376// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1377// with awserr.Error's Code and Message methods to get detailed information about
1378// the error.
1379//
1380// See the AWS API reference guide for AWS IoT SiteWise's
1381// API operation DeleteAsset for usage and error information.
1382//
1383// Returned Error Types:
1384//   * InvalidRequestException
1385//   The request isn't valid. This can occur if your request contains malformed
1386//   JSON or unsupported characters. Check your request and try again.
1387//
1388//   * ResourceNotFoundException
1389//   The requested resource can't be found.
1390//
1391//   * InternalFailureException
1392//   AWS IoT SiteWise can't process your request right now. Try again later.
1393//
1394//   * ThrottlingException
1395//   Your request exceeded a rate limit. For example, you might have exceeded
1396//   the number of AWS IoT SiteWise assets that can be created per second, the
1397//   allowed number of messages per second, and so on.
1398//
1399//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
1400//   in the AWS IoT SiteWise User Guide.
1401//
1402//   * ConflictingOperationException
1403//   Your request has conflicting operations. This can occur if you're trying
1404//   to perform more than one operation on the same resource at the same time.
1405//
1406// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteAsset
1407func (c *IoTSiteWise) DeleteAsset(input *DeleteAssetInput) (*DeleteAssetOutput, error) {
1408	req, out := c.DeleteAssetRequest(input)
1409	return out, req.Send()
1410}
1411
1412// DeleteAssetWithContext is the same as DeleteAsset with the addition of
1413// the ability to pass a context and additional request options.
1414//
1415// See DeleteAsset for details on how to use this API operation.
1416//
1417// The context must be non-nil and will be used for request cancellation. If
1418// the context is nil a panic will occur. In the future the SDK may create
1419// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1420// for more information on using Contexts.
1421func (c *IoTSiteWise) DeleteAssetWithContext(ctx aws.Context, input *DeleteAssetInput, opts ...request.Option) (*DeleteAssetOutput, error) {
1422	req, out := c.DeleteAssetRequest(input)
1423	req.SetContext(ctx)
1424	req.ApplyOptions(opts...)
1425	return out, req.Send()
1426}
1427
1428const opDeleteAssetModel = "DeleteAssetModel"
1429
1430// DeleteAssetModelRequest generates a "aws/request.Request" representing the
1431// client's request for the DeleteAssetModel operation. The "output" return
1432// value will be populated with the request's response once the request completes
1433// successfully.
1434//
1435// Use "Send" method on the returned Request to send the API call to the service.
1436// the "output" return value is not valid until after Send returns without error.
1437//
1438// See DeleteAssetModel for more information on using the DeleteAssetModel
1439// API call, and error handling.
1440//
1441// This method is useful when you want to inject custom logic or configuration
1442// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1443//
1444//
1445//    // Example sending a request using the DeleteAssetModelRequest method.
1446//    req, resp := client.DeleteAssetModelRequest(params)
1447//
1448//    err := req.Send()
1449//    if err == nil { // resp is now filled
1450//        fmt.Println(resp)
1451//    }
1452//
1453// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteAssetModel
1454func (c *IoTSiteWise) DeleteAssetModelRequest(input *DeleteAssetModelInput) (req *request.Request, output *DeleteAssetModelOutput) {
1455	op := &request.Operation{
1456		Name:       opDeleteAssetModel,
1457		HTTPMethod: "DELETE",
1458		HTTPPath:   "/asset-models/{assetModelId}",
1459	}
1460
1461	if input == nil {
1462		input = &DeleteAssetModelInput{}
1463	}
1464
1465	output = &DeleteAssetModelOutput{}
1466	req = c.newRequest(op, input, output)
1467	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
1468	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1469	return
1470}
1471
1472// DeleteAssetModel API operation for AWS IoT SiteWise.
1473//
1474// Deletes an asset model. This action can't be undone. You must delete all
1475// assets created from an asset model before you can delete the model. Also,
1476// you can't delete an asset model if a parent asset model exists that contains
1477// a property formula expression that depends on the asset model that you want
1478// to delete. For more information, see Deleting Assets and Models (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/delete-assets-and-models.html)
1479// in the AWS IoT SiteWise User Guide.
1480//
1481// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1482// with awserr.Error's Code and Message methods to get detailed information about
1483// the error.
1484//
1485// See the AWS API reference guide for AWS IoT SiteWise's
1486// API operation DeleteAssetModel for usage and error information.
1487//
1488// Returned Error Types:
1489//   * InvalidRequestException
1490//   The request isn't valid. This can occur if your request contains malformed
1491//   JSON or unsupported characters. Check your request and try again.
1492//
1493//   * ResourceNotFoundException
1494//   The requested resource can't be found.
1495//
1496//   * InternalFailureException
1497//   AWS IoT SiteWise can't process your request right now. Try again later.
1498//
1499//   * ThrottlingException
1500//   Your request exceeded a rate limit. For example, you might have exceeded
1501//   the number of AWS IoT SiteWise assets that can be created per second, the
1502//   allowed number of messages per second, and so on.
1503//
1504//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
1505//   in the AWS IoT SiteWise User Guide.
1506//
1507//   * ConflictingOperationException
1508//   Your request has conflicting operations. This can occur if you're trying
1509//   to perform more than one operation on the same resource at the same time.
1510//
1511// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteAssetModel
1512func (c *IoTSiteWise) DeleteAssetModel(input *DeleteAssetModelInput) (*DeleteAssetModelOutput, error) {
1513	req, out := c.DeleteAssetModelRequest(input)
1514	return out, req.Send()
1515}
1516
1517// DeleteAssetModelWithContext is the same as DeleteAssetModel with the addition of
1518// the ability to pass a context and additional request options.
1519//
1520// See DeleteAssetModel for details on how to use this API operation.
1521//
1522// The context must be non-nil and will be used for request cancellation. If
1523// the context is nil a panic will occur. In the future the SDK may create
1524// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1525// for more information on using Contexts.
1526func (c *IoTSiteWise) DeleteAssetModelWithContext(ctx aws.Context, input *DeleteAssetModelInput, opts ...request.Option) (*DeleteAssetModelOutput, error) {
1527	req, out := c.DeleteAssetModelRequest(input)
1528	req.SetContext(ctx)
1529	req.ApplyOptions(opts...)
1530	return out, req.Send()
1531}
1532
1533const opDeleteDashboard = "DeleteDashboard"
1534
1535// DeleteDashboardRequest generates a "aws/request.Request" representing the
1536// client's request for the DeleteDashboard operation. The "output" return
1537// value will be populated with the request's response once the request completes
1538// successfully.
1539//
1540// Use "Send" method on the returned Request to send the API call to the service.
1541// the "output" return value is not valid until after Send returns without error.
1542//
1543// See DeleteDashboard for more information on using the DeleteDashboard
1544// API call, and error handling.
1545//
1546// This method is useful when you want to inject custom logic or configuration
1547// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1548//
1549//
1550//    // Example sending a request using the DeleteDashboardRequest method.
1551//    req, resp := client.DeleteDashboardRequest(params)
1552//
1553//    err := req.Send()
1554//    if err == nil { // resp is now filled
1555//        fmt.Println(resp)
1556//    }
1557//
1558// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteDashboard
1559func (c *IoTSiteWise) DeleteDashboardRequest(input *DeleteDashboardInput) (req *request.Request, output *DeleteDashboardOutput) {
1560	op := &request.Operation{
1561		Name:       opDeleteDashboard,
1562		HTTPMethod: "DELETE",
1563		HTTPPath:   "/dashboards/{dashboardId}",
1564	}
1565
1566	if input == nil {
1567		input = &DeleteDashboardInput{}
1568	}
1569
1570	output = &DeleteDashboardOutput{}
1571	req = c.newRequest(op, input, output)
1572	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1573	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
1574	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1575	return
1576}
1577
1578// DeleteDashboard API operation for AWS IoT SiteWise.
1579//
1580// Deletes a dashboard from AWS IoT SiteWise Monitor.
1581//
1582// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1583// with awserr.Error's Code and Message methods to get detailed information about
1584// the error.
1585//
1586// See the AWS API reference guide for AWS IoT SiteWise's
1587// API operation DeleteDashboard for usage and error information.
1588//
1589// Returned Error Types:
1590//   * InvalidRequestException
1591//   The request isn't valid. This can occur if your request contains malformed
1592//   JSON or unsupported characters. Check your request and try again.
1593//
1594//   * ResourceNotFoundException
1595//   The requested resource can't be found.
1596//
1597//   * InternalFailureException
1598//   AWS IoT SiteWise can't process your request right now. Try again later.
1599//
1600//   * ThrottlingException
1601//   Your request exceeded a rate limit. For example, you might have exceeded
1602//   the number of AWS IoT SiteWise assets that can be created per second, the
1603//   allowed number of messages per second, and so on.
1604//
1605//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
1606//   in the AWS IoT SiteWise User Guide.
1607//
1608// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteDashboard
1609func (c *IoTSiteWise) DeleteDashboard(input *DeleteDashboardInput) (*DeleteDashboardOutput, error) {
1610	req, out := c.DeleteDashboardRequest(input)
1611	return out, req.Send()
1612}
1613
1614// DeleteDashboardWithContext is the same as DeleteDashboard with the addition of
1615// the ability to pass a context and additional request options.
1616//
1617// See DeleteDashboard for details on how to use this API operation.
1618//
1619// The context must be non-nil and will be used for request cancellation. If
1620// the context is nil a panic will occur. In the future the SDK may create
1621// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1622// for more information on using Contexts.
1623func (c *IoTSiteWise) DeleteDashboardWithContext(ctx aws.Context, input *DeleteDashboardInput, opts ...request.Option) (*DeleteDashboardOutput, error) {
1624	req, out := c.DeleteDashboardRequest(input)
1625	req.SetContext(ctx)
1626	req.ApplyOptions(opts...)
1627	return out, req.Send()
1628}
1629
1630const opDeleteGateway = "DeleteGateway"
1631
1632// DeleteGatewayRequest generates a "aws/request.Request" representing the
1633// client's request for the DeleteGateway operation. The "output" return
1634// value will be populated with the request's response once the request completes
1635// successfully.
1636//
1637// Use "Send" method on the returned Request to send the API call to the service.
1638// the "output" return value is not valid until after Send returns without error.
1639//
1640// See DeleteGateway for more information on using the DeleteGateway
1641// API call, and error handling.
1642//
1643// This method is useful when you want to inject custom logic or configuration
1644// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1645//
1646//
1647//    // Example sending a request using the DeleteGatewayRequest method.
1648//    req, resp := client.DeleteGatewayRequest(params)
1649//
1650//    err := req.Send()
1651//    if err == nil { // resp is now filled
1652//        fmt.Println(resp)
1653//    }
1654//
1655// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteGateway
1656func (c *IoTSiteWise) DeleteGatewayRequest(input *DeleteGatewayInput) (req *request.Request, output *DeleteGatewayOutput) {
1657	op := &request.Operation{
1658		Name:       opDeleteGateway,
1659		HTTPMethod: "DELETE",
1660		HTTPPath:   "/20200301/gateways/{gatewayId}",
1661	}
1662
1663	if input == nil {
1664		input = &DeleteGatewayInput{}
1665	}
1666
1667	output = &DeleteGatewayOutput{}
1668	req = c.newRequest(op, input, output)
1669	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1670	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("edge.", nil))
1671	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1672	return
1673}
1674
1675// DeleteGateway API operation for AWS IoT SiteWise.
1676//
1677// Deletes a gateway from AWS IoT SiteWise. When you delete a gateway, some
1678// of the gateway's files remain in your gateway's file system. For more information,
1679// see Data retention (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/data-retention.html)
1680// in the AWS IoT SiteWise User Guide.
1681//
1682// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1683// with awserr.Error's Code and Message methods to get detailed information about
1684// the error.
1685//
1686// See the AWS API reference guide for AWS IoT SiteWise's
1687// API operation DeleteGateway for usage and error information.
1688//
1689// Returned Error Types:
1690//   * InvalidRequestException
1691//   The request isn't valid. This can occur if your request contains malformed
1692//   JSON or unsupported characters. Check your request and try again.
1693//
1694//   * ResourceNotFoundException
1695//   The requested resource can't be found.
1696//
1697//   * InternalFailureException
1698//   AWS IoT SiteWise can't process your request right now. Try again later.
1699//
1700//   * ThrottlingException
1701//   Your request exceeded a rate limit. For example, you might have exceeded
1702//   the number of AWS IoT SiteWise assets that can be created per second, the
1703//   allowed number of messages per second, and so on.
1704//
1705//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
1706//   in the AWS IoT SiteWise User Guide.
1707//
1708// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteGateway
1709func (c *IoTSiteWise) DeleteGateway(input *DeleteGatewayInput) (*DeleteGatewayOutput, error) {
1710	req, out := c.DeleteGatewayRequest(input)
1711	return out, req.Send()
1712}
1713
1714// DeleteGatewayWithContext is the same as DeleteGateway with the addition of
1715// the ability to pass a context and additional request options.
1716//
1717// See DeleteGateway for details on how to use this API operation.
1718//
1719// The context must be non-nil and will be used for request cancellation. If
1720// the context is nil a panic will occur. In the future the SDK may create
1721// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1722// for more information on using Contexts.
1723func (c *IoTSiteWise) DeleteGatewayWithContext(ctx aws.Context, input *DeleteGatewayInput, opts ...request.Option) (*DeleteGatewayOutput, error) {
1724	req, out := c.DeleteGatewayRequest(input)
1725	req.SetContext(ctx)
1726	req.ApplyOptions(opts...)
1727	return out, req.Send()
1728}
1729
1730const opDeletePortal = "DeletePortal"
1731
1732// DeletePortalRequest generates a "aws/request.Request" representing the
1733// client's request for the DeletePortal operation. The "output" return
1734// value will be populated with the request's response once the request completes
1735// successfully.
1736//
1737// Use "Send" method on the returned Request to send the API call to the service.
1738// the "output" return value is not valid until after Send returns without error.
1739//
1740// See DeletePortal for more information on using the DeletePortal
1741// API call, and error handling.
1742//
1743// This method is useful when you want to inject custom logic or configuration
1744// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1745//
1746//
1747//    // Example sending a request using the DeletePortalRequest method.
1748//    req, resp := client.DeletePortalRequest(params)
1749//
1750//    err := req.Send()
1751//    if err == nil { // resp is now filled
1752//        fmt.Println(resp)
1753//    }
1754//
1755// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeletePortal
1756func (c *IoTSiteWise) DeletePortalRequest(input *DeletePortalInput) (req *request.Request, output *DeletePortalOutput) {
1757	op := &request.Operation{
1758		Name:       opDeletePortal,
1759		HTTPMethod: "DELETE",
1760		HTTPPath:   "/portals/{portalId}",
1761	}
1762
1763	if input == nil {
1764		input = &DeletePortalInput{}
1765	}
1766
1767	output = &DeletePortalOutput{}
1768	req = c.newRequest(op, input, output)
1769	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
1770	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1771	return
1772}
1773
1774// DeletePortal API operation for AWS IoT SiteWise.
1775//
1776// Deletes a portal from AWS IoT SiteWise Monitor.
1777//
1778// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1779// with awserr.Error's Code and Message methods to get detailed information about
1780// the error.
1781//
1782// See the AWS API reference guide for AWS IoT SiteWise's
1783// API operation DeletePortal for usage and error information.
1784//
1785// Returned Error Types:
1786//   * InvalidRequestException
1787//   The request isn't valid. This can occur if your request contains malformed
1788//   JSON or unsupported characters. Check your request and try again.
1789//
1790//   * ResourceNotFoundException
1791//   The requested resource can't be found.
1792//
1793//   * InternalFailureException
1794//   AWS IoT SiteWise can't process your request right now. Try again later.
1795//
1796//   * ThrottlingException
1797//   Your request exceeded a rate limit. For example, you might have exceeded
1798//   the number of AWS IoT SiteWise assets that can be created per second, the
1799//   allowed number of messages per second, and so on.
1800//
1801//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
1802//   in the AWS IoT SiteWise User Guide.
1803//
1804//   * ConflictingOperationException
1805//   Your request has conflicting operations. This can occur if you're trying
1806//   to perform more than one operation on the same resource at the same time.
1807//
1808// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeletePortal
1809func (c *IoTSiteWise) DeletePortal(input *DeletePortalInput) (*DeletePortalOutput, error) {
1810	req, out := c.DeletePortalRequest(input)
1811	return out, req.Send()
1812}
1813
1814// DeletePortalWithContext is the same as DeletePortal with the addition of
1815// the ability to pass a context and additional request options.
1816//
1817// See DeletePortal for details on how to use this API operation.
1818//
1819// The context must be non-nil and will be used for request cancellation. If
1820// the context is nil a panic will occur. In the future the SDK may create
1821// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1822// for more information on using Contexts.
1823func (c *IoTSiteWise) DeletePortalWithContext(ctx aws.Context, input *DeletePortalInput, opts ...request.Option) (*DeletePortalOutput, error) {
1824	req, out := c.DeletePortalRequest(input)
1825	req.SetContext(ctx)
1826	req.ApplyOptions(opts...)
1827	return out, req.Send()
1828}
1829
1830const opDeleteProject = "DeleteProject"
1831
1832// DeleteProjectRequest generates a "aws/request.Request" representing the
1833// client's request for the DeleteProject operation. The "output" return
1834// value will be populated with the request's response once the request completes
1835// successfully.
1836//
1837// Use "Send" method on the returned Request to send the API call to the service.
1838// the "output" return value is not valid until after Send returns without error.
1839//
1840// See DeleteProject for more information on using the DeleteProject
1841// API call, and error handling.
1842//
1843// This method is useful when you want to inject custom logic or configuration
1844// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1845//
1846//
1847//    // Example sending a request using the DeleteProjectRequest method.
1848//    req, resp := client.DeleteProjectRequest(params)
1849//
1850//    err := req.Send()
1851//    if err == nil { // resp is now filled
1852//        fmt.Println(resp)
1853//    }
1854//
1855// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteProject
1856func (c *IoTSiteWise) DeleteProjectRequest(input *DeleteProjectInput) (req *request.Request, output *DeleteProjectOutput) {
1857	op := &request.Operation{
1858		Name:       opDeleteProject,
1859		HTTPMethod: "DELETE",
1860		HTTPPath:   "/projects/{projectId}",
1861	}
1862
1863	if input == nil {
1864		input = &DeleteProjectInput{}
1865	}
1866
1867	output = &DeleteProjectOutput{}
1868	req = c.newRequest(op, input, output)
1869	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1870	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
1871	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1872	return
1873}
1874
1875// DeleteProject API operation for AWS IoT SiteWise.
1876//
1877// Deletes a project from AWS IoT SiteWise Monitor.
1878//
1879// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1880// with awserr.Error's Code and Message methods to get detailed information about
1881// the error.
1882//
1883// See the AWS API reference guide for AWS IoT SiteWise's
1884// API operation DeleteProject for usage and error information.
1885//
1886// Returned Error Types:
1887//   * InvalidRequestException
1888//   The request isn't valid. This can occur if your request contains malformed
1889//   JSON or unsupported characters. Check your request and try again.
1890//
1891//   * ResourceNotFoundException
1892//   The requested resource can't be found.
1893//
1894//   * InternalFailureException
1895//   AWS IoT SiteWise can't process your request right now. Try again later.
1896//
1897//   * ThrottlingException
1898//   Your request exceeded a rate limit. For example, you might have exceeded
1899//   the number of AWS IoT SiteWise assets that can be created per second, the
1900//   allowed number of messages per second, and so on.
1901//
1902//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
1903//   in the AWS IoT SiteWise User Guide.
1904//
1905// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteProject
1906func (c *IoTSiteWise) DeleteProject(input *DeleteProjectInput) (*DeleteProjectOutput, error) {
1907	req, out := c.DeleteProjectRequest(input)
1908	return out, req.Send()
1909}
1910
1911// DeleteProjectWithContext is the same as DeleteProject with the addition of
1912// the ability to pass a context and additional request options.
1913//
1914// See DeleteProject for details on how to use this API operation.
1915//
1916// The context must be non-nil and will be used for request cancellation. If
1917// the context is nil a panic will occur. In the future the SDK may create
1918// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1919// for more information on using Contexts.
1920func (c *IoTSiteWise) DeleteProjectWithContext(ctx aws.Context, input *DeleteProjectInput, opts ...request.Option) (*DeleteProjectOutput, error) {
1921	req, out := c.DeleteProjectRequest(input)
1922	req.SetContext(ctx)
1923	req.ApplyOptions(opts...)
1924	return out, req.Send()
1925}
1926
1927const opDescribeAccessPolicy = "DescribeAccessPolicy"
1928
1929// DescribeAccessPolicyRequest generates a "aws/request.Request" representing the
1930// client's request for the DescribeAccessPolicy operation. The "output" return
1931// value will be populated with the request's response once the request completes
1932// successfully.
1933//
1934// Use "Send" method on the returned Request to send the API call to the service.
1935// the "output" return value is not valid until after Send returns without error.
1936//
1937// See DescribeAccessPolicy for more information on using the DescribeAccessPolicy
1938// API call, and error handling.
1939//
1940// This method is useful when you want to inject custom logic or configuration
1941// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1942//
1943//
1944//    // Example sending a request using the DescribeAccessPolicyRequest method.
1945//    req, resp := client.DescribeAccessPolicyRequest(params)
1946//
1947//    err := req.Send()
1948//    if err == nil { // resp is now filled
1949//        fmt.Println(resp)
1950//    }
1951//
1952// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAccessPolicy
1953func (c *IoTSiteWise) DescribeAccessPolicyRequest(input *DescribeAccessPolicyInput) (req *request.Request, output *DescribeAccessPolicyOutput) {
1954	op := &request.Operation{
1955		Name:       opDescribeAccessPolicy,
1956		HTTPMethod: "GET",
1957		HTTPPath:   "/access-policies/{accessPolicyId}",
1958	}
1959
1960	if input == nil {
1961		input = &DescribeAccessPolicyInput{}
1962	}
1963
1964	output = &DescribeAccessPolicyOutput{}
1965	req = c.newRequest(op, input, output)
1966	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
1967	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1968	return
1969}
1970
1971// DescribeAccessPolicy API operation for AWS IoT SiteWise.
1972//
1973// Describes an access policy, which specifies an AWS SSO user or group's access
1974// to an AWS IoT SiteWise Monitor portal or project.
1975//
1976// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1977// with awserr.Error's Code and Message methods to get detailed information about
1978// the error.
1979//
1980// See the AWS API reference guide for AWS IoT SiteWise's
1981// API operation DescribeAccessPolicy for usage and error information.
1982//
1983// Returned Error Types:
1984//   * InvalidRequestException
1985//   The request isn't valid. This can occur if your request contains malformed
1986//   JSON or unsupported characters. Check your request and try again.
1987//
1988//   * ResourceNotFoundException
1989//   The requested resource can't be found.
1990//
1991//   * InternalFailureException
1992//   AWS IoT SiteWise can't process your request right now. Try again later.
1993//
1994//   * ThrottlingException
1995//   Your request exceeded a rate limit. For example, you might have exceeded
1996//   the number of AWS IoT SiteWise assets that can be created per second, the
1997//   allowed number of messages per second, and so on.
1998//
1999//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
2000//   in the AWS IoT SiteWise User Guide.
2001//
2002// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAccessPolicy
2003func (c *IoTSiteWise) DescribeAccessPolicy(input *DescribeAccessPolicyInput) (*DescribeAccessPolicyOutput, error) {
2004	req, out := c.DescribeAccessPolicyRequest(input)
2005	return out, req.Send()
2006}
2007
2008// DescribeAccessPolicyWithContext is the same as DescribeAccessPolicy with the addition of
2009// the ability to pass a context and additional request options.
2010//
2011// See DescribeAccessPolicy for details on how to use this API operation.
2012//
2013// The context must be non-nil and will be used for request cancellation. If
2014// the context is nil a panic will occur. In the future the SDK may create
2015// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2016// for more information on using Contexts.
2017func (c *IoTSiteWise) DescribeAccessPolicyWithContext(ctx aws.Context, input *DescribeAccessPolicyInput, opts ...request.Option) (*DescribeAccessPolicyOutput, error) {
2018	req, out := c.DescribeAccessPolicyRequest(input)
2019	req.SetContext(ctx)
2020	req.ApplyOptions(opts...)
2021	return out, req.Send()
2022}
2023
2024const opDescribeAsset = "DescribeAsset"
2025
2026// DescribeAssetRequest generates a "aws/request.Request" representing the
2027// client's request for the DescribeAsset operation. The "output" return
2028// value will be populated with the request's response once the request completes
2029// successfully.
2030//
2031// Use "Send" method on the returned Request to send the API call to the service.
2032// the "output" return value is not valid until after Send returns without error.
2033//
2034// See DescribeAsset for more information on using the DescribeAsset
2035// API call, and error handling.
2036//
2037// This method is useful when you want to inject custom logic or configuration
2038// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2039//
2040//
2041//    // Example sending a request using the DescribeAssetRequest method.
2042//    req, resp := client.DescribeAssetRequest(params)
2043//
2044//    err := req.Send()
2045//    if err == nil { // resp is now filled
2046//        fmt.Println(resp)
2047//    }
2048//
2049// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAsset
2050func (c *IoTSiteWise) DescribeAssetRequest(input *DescribeAssetInput) (req *request.Request, output *DescribeAssetOutput) {
2051	op := &request.Operation{
2052		Name:       opDescribeAsset,
2053		HTTPMethod: "GET",
2054		HTTPPath:   "/assets/{assetId}",
2055	}
2056
2057	if input == nil {
2058		input = &DescribeAssetInput{}
2059	}
2060
2061	output = &DescribeAssetOutput{}
2062	req = c.newRequest(op, input, output)
2063	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
2064	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2065	return
2066}
2067
2068// DescribeAsset API operation for AWS IoT SiteWise.
2069//
2070// Retrieves information about an asset.
2071//
2072// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2073// with awserr.Error's Code and Message methods to get detailed information about
2074// the error.
2075//
2076// See the AWS API reference guide for AWS IoT SiteWise's
2077// API operation DescribeAsset for usage and error information.
2078//
2079// Returned Error Types:
2080//   * InvalidRequestException
2081//   The request isn't valid. This can occur if your request contains malformed
2082//   JSON or unsupported characters. Check your request and try again.
2083//
2084//   * ResourceNotFoundException
2085//   The requested resource can't be found.
2086//
2087//   * InternalFailureException
2088//   AWS IoT SiteWise can't process your request right now. Try again later.
2089//
2090//   * ThrottlingException
2091//   Your request exceeded a rate limit. For example, you might have exceeded
2092//   the number of AWS IoT SiteWise assets that can be created per second, the
2093//   allowed number of messages per second, and so on.
2094//
2095//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
2096//   in the AWS IoT SiteWise User Guide.
2097//
2098// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAsset
2099func (c *IoTSiteWise) DescribeAsset(input *DescribeAssetInput) (*DescribeAssetOutput, error) {
2100	req, out := c.DescribeAssetRequest(input)
2101	return out, req.Send()
2102}
2103
2104// DescribeAssetWithContext is the same as DescribeAsset with the addition of
2105// the ability to pass a context and additional request options.
2106//
2107// See DescribeAsset for details on how to use this API operation.
2108//
2109// The context must be non-nil and will be used for request cancellation. If
2110// the context is nil a panic will occur. In the future the SDK may create
2111// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2112// for more information on using Contexts.
2113func (c *IoTSiteWise) DescribeAssetWithContext(ctx aws.Context, input *DescribeAssetInput, opts ...request.Option) (*DescribeAssetOutput, error) {
2114	req, out := c.DescribeAssetRequest(input)
2115	req.SetContext(ctx)
2116	req.ApplyOptions(opts...)
2117	return out, req.Send()
2118}
2119
2120const opDescribeAssetModel = "DescribeAssetModel"
2121
2122// DescribeAssetModelRequest generates a "aws/request.Request" representing the
2123// client's request for the DescribeAssetModel operation. The "output" return
2124// value will be populated with the request's response once the request completes
2125// successfully.
2126//
2127// Use "Send" method on the returned Request to send the API call to the service.
2128// the "output" return value is not valid until after Send returns without error.
2129//
2130// See DescribeAssetModel for more information on using the DescribeAssetModel
2131// API call, and error handling.
2132//
2133// This method is useful when you want to inject custom logic or configuration
2134// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2135//
2136//
2137//    // Example sending a request using the DescribeAssetModelRequest method.
2138//    req, resp := client.DescribeAssetModelRequest(params)
2139//
2140//    err := req.Send()
2141//    if err == nil { // resp is now filled
2142//        fmt.Println(resp)
2143//    }
2144//
2145// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAssetModel
2146func (c *IoTSiteWise) DescribeAssetModelRequest(input *DescribeAssetModelInput) (req *request.Request, output *DescribeAssetModelOutput) {
2147	op := &request.Operation{
2148		Name:       opDescribeAssetModel,
2149		HTTPMethod: "GET",
2150		HTTPPath:   "/asset-models/{assetModelId}",
2151	}
2152
2153	if input == nil {
2154		input = &DescribeAssetModelInput{}
2155	}
2156
2157	output = &DescribeAssetModelOutput{}
2158	req = c.newRequest(op, input, output)
2159	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
2160	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2161	return
2162}
2163
2164// DescribeAssetModel API operation for AWS IoT SiteWise.
2165//
2166// Retrieves information about an asset model.
2167//
2168// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2169// with awserr.Error's Code and Message methods to get detailed information about
2170// the error.
2171//
2172// See the AWS API reference guide for AWS IoT SiteWise's
2173// API operation DescribeAssetModel for usage and error information.
2174//
2175// Returned Error Types:
2176//   * InvalidRequestException
2177//   The request isn't valid. This can occur if your request contains malformed
2178//   JSON or unsupported characters. Check your request and try again.
2179//
2180//   * ResourceNotFoundException
2181//   The requested resource can't be found.
2182//
2183//   * InternalFailureException
2184//   AWS IoT SiteWise can't process your request right now. Try again later.
2185//
2186//   * ThrottlingException
2187//   Your request exceeded a rate limit. For example, you might have exceeded
2188//   the number of AWS IoT SiteWise assets that can be created per second, the
2189//   allowed number of messages per second, and so on.
2190//
2191//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
2192//   in the AWS IoT SiteWise User Guide.
2193//
2194// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAssetModel
2195func (c *IoTSiteWise) DescribeAssetModel(input *DescribeAssetModelInput) (*DescribeAssetModelOutput, error) {
2196	req, out := c.DescribeAssetModelRequest(input)
2197	return out, req.Send()
2198}
2199
2200// DescribeAssetModelWithContext is the same as DescribeAssetModel with the addition of
2201// the ability to pass a context and additional request options.
2202//
2203// See DescribeAssetModel for details on how to use this API operation.
2204//
2205// The context must be non-nil and will be used for request cancellation. If
2206// the context is nil a panic will occur. In the future the SDK may create
2207// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2208// for more information on using Contexts.
2209func (c *IoTSiteWise) DescribeAssetModelWithContext(ctx aws.Context, input *DescribeAssetModelInput, opts ...request.Option) (*DescribeAssetModelOutput, error) {
2210	req, out := c.DescribeAssetModelRequest(input)
2211	req.SetContext(ctx)
2212	req.ApplyOptions(opts...)
2213	return out, req.Send()
2214}
2215
2216const opDescribeAssetProperty = "DescribeAssetProperty"
2217
2218// DescribeAssetPropertyRequest generates a "aws/request.Request" representing the
2219// client's request for the DescribeAssetProperty operation. The "output" return
2220// value will be populated with the request's response once the request completes
2221// successfully.
2222//
2223// Use "Send" method on the returned Request to send the API call to the service.
2224// the "output" return value is not valid until after Send returns without error.
2225//
2226// See DescribeAssetProperty for more information on using the DescribeAssetProperty
2227// API call, and error handling.
2228//
2229// This method is useful when you want to inject custom logic or configuration
2230// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2231//
2232//
2233//    // Example sending a request using the DescribeAssetPropertyRequest method.
2234//    req, resp := client.DescribeAssetPropertyRequest(params)
2235//
2236//    err := req.Send()
2237//    if err == nil { // resp is now filled
2238//        fmt.Println(resp)
2239//    }
2240//
2241// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAssetProperty
2242func (c *IoTSiteWise) DescribeAssetPropertyRequest(input *DescribeAssetPropertyInput) (req *request.Request, output *DescribeAssetPropertyOutput) {
2243	op := &request.Operation{
2244		Name:       opDescribeAssetProperty,
2245		HTTPMethod: "GET",
2246		HTTPPath:   "/assets/{assetId}/properties/{propertyId}",
2247	}
2248
2249	if input == nil {
2250		input = &DescribeAssetPropertyInput{}
2251	}
2252
2253	output = &DescribeAssetPropertyOutput{}
2254	req = c.newRequest(op, input, output)
2255	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
2256	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2257	return
2258}
2259
2260// DescribeAssetProperty API operation for AWS IoT SiteWise.
2261//
2262// Retrieves information about an asset's property.
2263//
2264// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2265// with awserr.Error's Code and Message methods to get detailed information about
2266// the error.
2267//
2268// See the AWS API reference guide for AWS IoT SiteWise's
2269// API operation DescribeAssetProperty for usage and error information.
2270//
2271// Returned Error Types:
2272//   * InvalidRequestException
2273//   The request isn't valid. This can occur if your request contains malformed
2274//   JSON or unsupported characters. Check your request and try again.
2275//
2276//   * ResourceNotFoundException
2277//   The requested resource can't be found.
2278//
2279//   * InternalFailureException
2280//   AWS IoT SiteWise can't process your request right now. Try again later.
2281//
2282//   * ThrottlingException
2283//   Your request exceeded a rate limit. For example, you might have exceeded
2284//   the number of AWS IoT SiteWise assets that can be created per second, the
2285//   allowed number of messages per second, and so on.
2286//
2287//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
2288//   in the AWS IoT SiteWise User Guide.
2289//
2290// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAssetProperty
2291func (c *IoTSiteWise) DescribeAssetProperty(input *DescribeAssetPropertyInput) (*DescribeAssetPropertyOutput, error) {
2292	req, out := c.DescribeAssetPropertyRequest(input)
2293	return out, req.Send()
2294}
2295
2296// DescribeAssetPropertyWithContext is the same as DescribeAssetProperty with the addition of
2297// the ability to pass a context and additional request options.
2298//
2299// See DescribeAssetProperty for details on how to use this API operation.
2300//
2301// The context must be non-nil and will be used for request cancellation. If
2302// the context is nil a panic will occur. In the future the SDK may create
2303// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2304// for more information on using Contexts.
2305func (c *IoTSiteWise) DescribeAssetPropertyWithContext(ctx aws.Context, input *DescribeAssetPropertyInput, opts ...request.Option) (*DescribeAssetPropertyOutput, error) {
2306	req, out := c.DescribeAssetPropertyRequest(input)
2307	req.SetContext(ctx)
2308	req.ApplyOptions(opts...)
2309	return out, req.Send()
2310}
2311
2312const opDescribeDashboard = "DescribeDashboard"
2313
2314// DescribeDashboardRequest generates a "aws/request.Request" representing the
2315// client's request for the DescribeDashboard operation. The "output" return
2316// value will be populated with the request's response once the request completes
2317// successfully.
2318//
2319// Use "Send" method on the returned Request to send the API call to the service.
2320// the "output" return value is not valid until after Send returns without error.
2321//
2322// See DescribeDashboard for more information on using the DescribeDashboard
2323// API call, and error handling.
2324//
2325// This method is useful when you want to inject custom logic or configuration
2326// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2327//
2328//
2329//    // Example sending a request using the DescribeDashboardRequest method.
2330//    req, resp := client.DescribeDashboardRequest(params)
2331//
2332//    err := req.Send()
2333//    if err == nil { // resp is now filled
2334//        fmt.Println(resp)
2335//    }
2336//
2337// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeDashboard
2338func (c *IoTSiteWise) DescribeDashboardRequest(input *DescribeDashboardInput) (req *request.Request, output *DescribeDashboardOutput) {
2339	op := &request.Operation{
2340		Name:       opDescribeDashboard,
2341		HTTPMethod: "GET",
2342		HTTPPath:   "/dashboards/{dashboardId}",
2343	}
2344
2345	if input == nil {
2346		input = &DescribeDashboardInput{}
2347	}
2348
2349	output = &DescribeDashboardOutput{}
2350	req = c.newRequest(op, input, output)
2351	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
2352	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2353	return
2354}
2355
2356// DescribeDashboard API operation for AWS IoT SiteWise.
2357//
2358// Retrieves information about a dashboard.
2359//
2360// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2361// with awserr.Error's Code and Message methods to get detailed information about
2362// the error.
2363//
2364// See the AWS API reference guide for AWS IoT SiteWise's
2365// API operation DescribeDashboard for usage and error information.
2366//
2367// Returned Error Types:
2368//   * InvalidRequestException
2369//   The request isn't valid. This can occur if your request contains malformed
2370//   JSON or unsupported characters. Check your request and try again.
2371//
2372//   * ResourceNotFoundException
2373//   The requested resource can't be found.
2374//
2375//   * InternalFailureException
2376//   AWS IoT SiteWise can't process your request right now. Try again later.
2377//
2378//   * ThrottlingException
2379//   Your request exceeded a rate limit. For example, you might have exceeded
2380//   the number of AWS IoT SiteWise assets that can be created per second, the
2381//   allowed number of messages per second, and so on.
2382//
2383//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
2384//   in the AWS IoT SiteWise User Guide.
2385//
2386// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeDashboard
2387func (c *IoTSiteWise) DescribeDashboard(input *DescribeDashboardInput) (*DescribeDashboardOutput, error) {
2388	req, out := c.DescribeDashboardRequest(input)
2389	return out, req.Send()
2390}
2391
2392// DescribeDashboardWithContext is the same as DescribeDashboard with the addition of
2393// the ability to pass a context and additional request options.
2394//
2395// See DescribeDashboard for details on how to use this API operation.
2396//
2397// The context must be non-nil and will be used for request cancellation. If
2398// the context is nil a panic will occur. In the future the SDK may create
2399// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2400// for more information on using Contexts.
2401func (c *IoTSiteWise) DescribeDashboardWithContext(ctx aws.Context, input *DescribeDashboardInput, opts ...request.Option) (*DescribeDashboardOutput, error) {
2402	req, out := c.DescribeDashboardRequest(input)
2403	req.SetContext(ctx)
2404	req.ApplyOptions(opts...)
2405	return out, req.Send()
2406}
2407
2408const opDescribeGateway = "DescribeGateway"
2409
2410// DescribeGatewayRequest generates a "aws/request.Request" representing the
2411// client's request for the DescribeGateway operation. The "output" return
2412// value will be populated with the request's response once the request completes
2413// successfully.
2414//
2415// Use "Send" method on the returned Request to send the API call to the service.
2416// the "output" return value is not valid until after Send returns without error.
2417//
2418// See DescribeGateway for more information on using the DescribeGateway
2419// API call, and error handling.
2420//
2421// This method is useful when you want to inject custom logic or configuration
2422// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2423//
2424//
2425//    // Example sending a request using the DescribeGatewayRequest method.
2426//    req, resp := client.DescribeGatewayRequest(params)
2427//
2428//    err := req.Send()
2429//    if err == nil { // resp is now filled
2430//        fmt.Println(resp)
2431//    }
2432//
2433// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeGateway
2434func (c *IoTSiteWise) DescribeGatewayRequest(input *DescribeGatewayInput) (req *request.Request, output *DescribeGatewayOutput) {
2435	op := &request.Operation{
2436		Name:       opDescribeGateway,
2437		HTTPMethod: "GET",
2438		HTTPPath:   "/20200301/gateways/{gatewayId}",
2439	}
2440
2441	if input == nil {
2442		input = &DescribeGatewayInput{}
2443	}
2444
2445	output = &DescribeGatewayOutput{}
2446	req = c.newRequest(op, input, output)
2447	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("edge.", nil))
2448	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2449	return
2450}
2451
2452// DescribeGateway API operation for AWS IoT SiteWise.
2453//
2454// Retrieves information about a gateway.
2455//
2456// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2457// with awserr.Error's Code and Message methods to get detailed information about
2458// the error.
2459//
2460// See the AWS API reference guide for AWS IoT SiteWise's
2461// API operation DescribeGateway for usage and error information.
2462//
2463// Returned Error Types:
2464//   * InvalidRequestException
2465//   The request isn't valid. This can occur if your request contains malformed
2466//   JSON or unsupported characters. Check your request and try again.
2467//
2468//   * ResourceNotFoundException
2469//   The requested resource can't be found.
2470//
2471//   * InternalFailureException
2472//   AWS IoT SiteWise can't process your request right now. Try again later.
2473//
2474//   * ThrottlingException
2475//   Your request exceeded a rate limit. For example, you might have exceeded
2476//   the number of AWS IoT SiteWise assets that can be created per second, the
2477//   allowed number of messages per second, and so on.
2478//
2479//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
2480//   in the AWS IoT SiteWise User Guide.
2481//
2482// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeGateway
2483func (c *IoTSiteWise) DescribeGateway(input *DescribeGatewayInput) (*DescribeGatewayOutput, error) {
2484	req, out := c.DescribeGatewayRequest(input)
2485	return out, req.Send()
2486}
2487
2488// DescribeGatewayWithContext is the same as DescribeGateway with the addition of
2489// the ability to pass a context and additional request options.
2490//
2491// See DescribeGateway for details on how to use this API operation.
2492//
2493// The context must be non-nil and will be used for request cancellation. If
2494// the context is nil a panic will occur. In the future the SDK may create
2495// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2496// for more information on using Contexts.
2497func (c *IoTSiteWise) DescribeGatewayWithContext(ctx aws.Context, input *DescribeGatewayInput, opts ...request.Option) (*DescribeGatewayOutput, error) {
2498	req, out := c.DescribeGatewayRequest(input)
2499	req.SetContext(ctx)
2500	req.ApplyOptions(opts...)
2501	return out, req.Send()
2502}
2503
2504const opDescribeGatewayCapabilityConfiguration = "DescribeGatewayCapabilityConfiguration"
2505
2506// DescribeGatewayCapabilityConfigurationRequest generates a "aws/request.Request" representing the
2507// client's request for the DescribeGatewayCapabilityConfiguration operation. The "output" return
2508// value will be populated with the request's response once the request completes
2509// successfully.
2510//
2511// Use "Send" method on the returned Request to send the API call to the service.
2512// the "output" return value is not valid until after Send returns without error.
2513//
2514// See DescribeGatewayCapabilityConfiguration for more information on using the DescribeGatewayCapabilityConfiguration
2515// API call, and error handling.
2516//
2517// This method is useful when you want to inject custom logic or configuration
2518// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2519//
2520//
2521//    // Example sending a request using the DescribeGatewayCapabilityConfigurationRequest method.
2522//    req, resp := client.DescribeGatewayCapabilityConfigurationRequest(params)
2523//
2524//    err := req.Send()
2525//    if err == nil { // resp is now filled
2526//        fmt.Println(resp)
2527//    }
2528//
2529// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeGatewayCapabilityConfiguration
2530func (c *IoTSiteWise) DescribeGatewayCapabilityConfigurationRequest(input *DescribeGatewayCapabilityConfigurationInput) (req *request.Request, output *DescribeGatewayCapabilityConfigurationOutput) {
2531	op := &request.Operation{
2532		Name:       opDescribeGatewayCapabilityConfiguration,
2533		HTTPMethod: "GET",
2534		HTTPPath:   "/20200301/gateways/{gatewayId}/capability/{capabilityNamespace}",
2535	}
2536
2537	if input == nil {
2538		input = &DescribeGatewayCapabilityConfigurationInput{}
2539	}
2540
2541	output = &DescribeGatewayCapabilityConfigurationOutput{}
2542	req = c.newRequest(op, input, output)
2543	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("edge.", nil))
2544	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2545	return
2546}
2547
2548// DescribeGatewayCapabilityConfiguration API operation for AWS IoT SiteWise.
2549//
2550// Retrieves information about a gateway capability configuration. Each gateway
2551// capability defines data sources for a gateway. A capability configuration
2552// can contain multiple data source configurations. If you define OPC-UA sources
2553// for a gateway in the AWS IoT SiteWise console, all of your OPC-UA sources
2554// are stored in one capability configuration. To list all capability configurations
2555// for a gateway, use DescribeGateway (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGateway.html).
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 DescribeGatewayCapabilityConfiguration 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//   AWS 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 AWS IoT SiteWise assets that can be created per second, the
2578//   allowed 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 AWS IoT SiteWise User Guide.
2582//
2583// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeGatewayCapabilityConfiguration
2584func (c *IoTSiteWise) DescribeGatewayCapabilityConfiguration(input *DescribeGatewayCapabilityConfigurationInput) (*DescribeGatewayCapabilityConfigurationOutput, error) {
2585	req, out := c.DescribeGatewayCapabilityConfigurationRequest(input)
2586	return out, req.Send()
2587}
2588
2589// DescribeGatewayCapabilityConfigurationWithContext is the same as DescribeGatewayCapabilityConfiguration with the addition of
2590// the ability to pass a context and additional request options.
2591//
2592// See DescribeGatewayCapabilityConfiguration 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.
2598func (c *IoTSiteWise) DescribeGatewayCapabilityConfigurationWithContext(ctx aws.Context, input *DescribeGatewayCapabilityConfigurationInput, opts ...request.Option) (*DescribeGatewayCapabilityConfigurationOutput, error) {
2599	req, out := c.DescribeGatewayCapabilityConfigurationRequest(input)
2600	req.SetContext(ctx)
2601	req.ApplyOptions(opts...)
2602	return out, req.Send()
2603}
2604
2605const opDescribeLoggingOptions = "DescribeLoggingOptions"
2606
2607// DescribeLoggingOptionsRequest generates a "aws/request.Request" representing the
2608// client's request for the DescribeLoggingOptions 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 DescribeLoggingOptions for more information on using the DescribeLoggingOptions
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 DescribeLoggingOptionsRequest method.
2623//    req, resp := client.DescribeLoggingOptionsRequest(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/DescribeLoggingOptions
2631func (c *IoTSiteWise) DescribeLoggingOptionsRequest(input *DescribeLoggingOptionsInput) (req *request.Request, output *DescribeLoggingOptionsOutput) {
2632	op := &request.Operation{
2633		Name:       opDescribeLoggingOptions,
2634		HTTPMethod: "GET",
2635		HTTPPath:   "/logging",
2636	}
2637
2638	if input == nil {
2639		input = &DescribeLoggingOptionsInput{}
2640	}
2641
2642	output = &DescribeLoggingOptionsOutput{}
2643	req = c.newRequest(op, input, output)
2644	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
2645	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2646	return
2647}
2648
2649// DescribeLoggingOptions API operation for AWS IoT SiteWise.
2650//
2651// Retrieves the current AWS IoT SiteWise logging options.
2652//
2653// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2654// with awserr.Error's Code and Message methods to get detailed information about
2655// the error.
2656//
2657// See the AWS API reference guide for AWS IoT SiteWise's
2658// API operation DescribeLoggingOptions for usage and error information.
2659//
2660// Returned Error Types:
2661//   * InvalidRequestException
2662//   The request isn't valid. This can occur if your request contains malformed
2663//   JSON or unsupported characters. Check your request and try again.
2664//
2665//   * ThrottlingException
2666//   Your request exceeded a rate limit. For example, you might have exceeded
2667//   the number of AWS IoT SiteWise assets that can be created per second, the
2668//   allowed number of messages per second, and so on.
2669//
2670//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
2671//   in the AWS IoT SiteWise User Guide.
2672//
2673//   * InternalFailureException
2674//   AWS IoT SiteWise can't process your request right now. Try again later.
2675//
2676//   * ResourceNotFoundException
2677//   The requested resource can't be found.
2678//
2679// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeLoggingOptions
2680func (c *IoTSiteWise) DescribeLoggingOptions(input *DescribeLoggingOptionsInput) (*DescribeLoggingOptionsOutput, error) {
2681	req, out := c.DescribeLoggingOptionsRequest(input)
2682	return out, req.Send()
2683}
2684
2685// DescribeLoggingOptionsWithContext is the same as DescribeLoggingOptions with the addition of
2686// the ability to pass a context and additional request options.
2687//
2688// See DescribeLoggingOptions for details on how to use this API operation.
2689//
2690// The context must be non-nil and will be used for request cancellation. If
2691// the context is nil a panic will occur. In the future the SDK may create
2692// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2693// for more information on using Contexts.
2694func (c *IoTSiteWise) DescribeLoggingOptionsWithContext(ctx aws.Context, input *DescribeLoggingOptionsInput, opts ...request.Option) (*DescribeLoggingOptionsOutput, error) {
2695	req, out := c.DescribeLoggingOptionsRequest(input)
2696	req.SetContext(ctx)
2697	req.ApplyOptions(opts...)
2698	return out, req.Send()
2699}
2700
2701const opDescribePortal = "DescribePortal"
2702
2703// DescribePortalRequest generates a "aws/request.Request" representing the
2704// client's request for the DescribePortal operation. The "output" return
2705// value will be populated with the request's response once the request completes
2706// successfully.
2707//
2708// Use "Send" method on the returned Request to send the API call to the service.
2709// the "output" return value is not valid until after Send returns without error.
2710//
2711// See DescribePortal for more information on using the DescribePortal
2712// API call, and error handling.
2713//
2714// This method is useful when you want to inject custom logic or configuration
2715// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2716//
2717//
2718//    // Example sending a request using the DescribePortalRequest method.
2719//    req, resp := client.DescribePortalRequest(params)
2720//
2721//    err := req.Send()
2722//    if err == nil { // resp is now filled
2723//        fmt.Println(resp)
2724//    }
2725//
2726// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribePortal
2727func (c *IoTSiteWise) DescribePortalRequest(input *DescribePortalInput) (req *request.Request, output *DescribePortalOutput) {
2728	op := &request.Operation{
2729		Name:       opDescribePortal,
2730		HTTPMethod: "GET",
2731		HTTPPath:   "/portals/{portalId}",
2732	}
2733
2734	if input == nil {
2735		input = &DescribePortalInput{}
2736	}
2737
2738	output = &DescribePortalOutput{}
2739	req = c.newRequest(op, input, output)
2740	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
2741	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2742	return
2743}
2744
2745// DescribePortal API operation for AWS IoT SiteWise.
2746//
2747// Retrieves information about a portal.
2748//
2749// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2750// with awserr.Error's Code and Message methods to get detailed information about
2751// the error.
2752//
2753// See the AWS API reference guide for AWS IoT SiteWise's
2754// API operation DescribePortal for usage and error information.
2755//
2756// Returned Error Types:
2757//   * InvalidRequestException
2758//   The request isn't valid. This can occur if your request contains malformed
2759//   JSON or unsupported characters. Check your request and try again.
2760//
2761//   * ResourceNotFoundException
2762//   The requested resource can't be found.
2763//
2764//   * InternalFailureException
2765//   AWS IoT SiteWise can't process your request right now. Try again later.
2766//
2767//   * ThrottlingException
2768//   Your request exceeded a rate limit. For example, you might have exceeded
2769//   the number of AWS IoT SiteWise assets that can be created per second, the
2770//   allowed number of messages per second, and so on.
2771//
2772//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
2773//   in the AWS IoT SiteWise User Guide.
2774//
2775// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribePortal
2776func (c *IoTSiteWise) DescribePortal(input *DescribePortalInput) (*DescribePortalOutput, error) {
2777	req, out := c.DescribePortalRequest(input)
2778	return out, req.Send()
2779}
2780
2781// DescribePortalWithContext is the same as DescribePortal with the addition of
2782// the ability to pass a context and additional request options.
2783//
2784// See DescribePortal for details on how to use this API operation.
2785//
2786// The context must be non-nil and will be used for request cancellation. If
2787// the context is nil a panic will occur. In the future the SDK may create
2788// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2789// for more information on using Contexts.
2790func (c *IoTSiteWise) DescribePortalWithContext(ctx aws.Context, input *DescribePortalInput, opts ...request.Option) (*DescribePortalOutput, error) {
2791	req, out := c.DescribePortalRequest(input)
2792	req.SetContext(ctx)
2793	req.ApplyOptions(opts...)
2794	return out, req.Send()
2795}
2796
2797const opDescribeProject = "DescribeProject"
2798
2799// DescribeProjectRequest generates a "aws/request.Request" representing the
2800// client's request for the DescribeProject operation. The "output" return
2801// value will be populated with the request's response once the request completes
2802// successfully.
2803//
2804// Use "Send" method on the returned Request to send the API call to the service.
2805// the "output" return value is not valid until after Send returns without error.
2806//
2807// See DescribeProject for more information on using the DescribeProject
2808// API call, and error handling.
2809//
2810// This method is useful when you want to inject custom logic or configuration
2811// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2812//
2813//
2814//    // Example sending a request using the DescribeProjectRequest method.
2815//    req, resp := client.DescribeProjectRequest(params)
2816//
2817//    err := req.Send()
2818//    if err == nil { // resp is now filled
2819//        fmt.Println(resp)
2820//    }
2821//
2822// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeProject
2823func (c *IoTSiteWise) DescribeProjectRequest(input *DescribeProjectInput) (req *request.Request, output *DescribeProjectOutput) {
2824	op := &request.Operation{
2825		Name:       opDescribeProject,
2826		HTTPMethod: "GET",
2827		HTTPPath:   "/projects/{projectId}",
2828	}
2829
2830	if input == nil {
2831		input = &DescribeProjectInput{}
2832	}
2833
2834	output = &DescribeProjectOutput{}
2835	req = c.newRequest(op, input, output)
2836	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
2837	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2838	return
2839}
2840
2841// DescribeProject API operation for AWS IoT SiteWise.
2842//
2843// Retrieves information about a project.
2844//
2845// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2846// with awserr.Error's Code and Message methods to get detailed information about
2847// the error.
2848//
2849// See the AWS API reference guide for AWS IoT SiteWise's
2850// API operation DescribeProject for usage and error information.
2851//
2852// Returned Error Types:
2853//   * InvalidRequestException
2854//   The request isn't valid. This can occur if your request contains malformed
2855//   JSON or unsupported characters. Check your request and try again.
2856//
2857//   * ResourceNotFoundException
2858//   The requested resource can't be found.
2859//
2860//   * InternalFailureException
2861//   AWS IoT SiteWise can't process your request right now. Try again later.
2862//
2863//   * ThrottlingException
2864//   Your request exceeded a rate limit. For example, you might have exceeded
2865//   the number of AWS IoT SiteWise assets that can be created per second, the
2866//   allowed number of messages per second, and so on.
2867//
2868//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
2869//   in the AWS IoT SiteWise User Guide.
2870//
2871// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeProject
2872func (c *IoTSiteWise) DescribeProject(input *DescribeProjectInput) (*DescribeProjectOutput, error) {
2873	req, out := c.DescribeProjectRequest(input)
2874	return out, req.Send()
2875}
2876
2877// DescribeProjectWithContext is the same as DescribeProject with the addition of
2878// the ability to pass a context and additional request options.
2879//
2880// See DescribeProject for details on how to use this API operation.
2881//
2882// The context must be non-nil and will be used for request cancellation. If
2883// the context is nil a panic will occur. In the future the SDK may create
2884// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2885// for more information on using Contexts.
2886func (c *IoTSiteWise) DescribeProjectWithContext(ctx aws.Context, input *DescribeProjectInput, opts ...request.Option) (*DescribeProjectOutput, error) {
2887	req, out := c.DescribeProjectRequest(input)
2888	req.SetContext(ctx)
2889	req.ApplyOptions(opts...)
2890	return out, req.Send()
2891}
2892
2893const opDisassociateAssets = "DisassociateAssets"
2894
2895// DisassociateAssetsRequest generates a "aws/request.Request" representing the
2896// client's request for the DisassociateAssets operation. The "output" return
2897// value will be populated with the request's response once the request completes
2898// successfully.
2899//
2900// Use "Send" method on the returned Request to send the API call to the service.
2901// the "output" return value is not valid until after Send returns without error.
2902//
2903// See DisassociateAssets for more information on using the DisassociateAssets
2904// API call, and error handling.
2905//
2906// This method is useful when you want to inject custom logic or configuration
2907// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2908//
2909//
2910//    // Example sending a request using the DisassociateAssetsRequest method.
2911//    req, resp := client.DisassociateAssetsRequest(params)
2912//
2913//    err := req.Send()
2914//    if err == nil { // resp is now filled
2915//        fmt.Println(resp)
2916//    }
2917//
2918// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DisassociateAssets
2919func (c *IoTSiteWise) DisassociateAssetsRequest(input *DisassociateAssetsInput) (req *request.Request, output *DisassociateAssetsOutput) {
2920	op := &request.Operation{
2921		Name:       opDisassociateAssets,
2922		HTTPMethod: "POST",
2923		HTTPPath:   "/assets/{assetId}/disassociate",
2924	}
2925
2926	if input == nil {
2927		input = &DisassociateAssetsInput{}
2928	}
2929
2930	output = &DisassociateAssetsOutput{}
2931	req = c.newRequest(op, input, output)
2932	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2933	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
2934	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2935	return
2936}
2937
2938// DisassociateAssets API operation for AWS IoT SiteWise.
2939//
2940// Disassociates a child asset from the given parent asset through a hierarchy
2941// defined in the parent asset's model.
2942//
2943// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2944// with awserr.Error's Code and Message methods to get detailed information about
2945// the error.
2946//
2947// See the AWS API reference guide for AWS IoT SiteWise's
2948// API operation DisassociateAssets for usage and error information.
2949//
2950// Returned Error Types:
2951//   * InvalidRequestException
2952//   The request isn't valid. This can occur if your request contains malformed
2953//   JSON or unsupported characters. Check your request and try again.
2954//
2955//   * ResourceNotFoundException
2956//   The requested resource can't be found.
2957//
2958//   * InternalFailureException
2959//   AWS IoT SiteWise can't process your request right now. Try again later.
2960//
2961//   * ThrottlingException
2962//   Your request exceeded a rate limit. For example, you might have exceeded
2963//   the number of AWS IoT SiteWise assets that can be created per second, the
2964//   allowed number of messages per second, and so on.
2965//
2966//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
2967//   in the AWS IoT SiteWise User Guide.
2968//
2969//   * ConflictingOperationException
2970//   Your request has conflicting operations. This can occur if you're trying
2971//   to perform more than one operation on the same resource at the same time.
2972//
2973// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DisassociateAssets
2974func (c *IoTSiteWise) DisassociateAssets(input *DisassociateAssetsInput) (*DisassociateAssetsOutput, error) {
2975	req, out := c.DisassociateAssetsRequest(input)
2976	return out, req.Send()
2977}
2978
2979// DisassociateAssetsWithContext is the same as DisassociateAssets with the addition of
2980// the ability to pass a context and additional request options.
2981//
2982// See DisassociateAssets for details on how to use this API operation.
2983//
2984// The context must be non-nil and will be used for request cancellation. If
2985// the context is nil a panic will occur. In the future the SDK may create
2986// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2987// for more information on using Contexts.
2988func (c *IoTSiteWise) DisassociateAssetsWithContext(ctx aws.Context, input *DisassociateAssetsInput, opts ...request.Option) (*DisassociateAssetsOutput, error) {
2989	req, out := c.DisassociateAssetsRequest(input)
2990	req.SetContext(ctx)
2991	req.ApplyOptions(opts...)
2992	return out, req.Send()
2993}
2994
2995const opGetAssetPropertyAggregates = "GetAssetPropertyAggregates"
2996
2997// GetAssetPropertyAggregatesRequest generates a "aws/request.Request" representing the
2998// client's request for the GetAssetPropertyAggregates operation. The "output" return
2999// value will be populated with the request's response once the request completes
3000// successfully.
3001//
3002// Use "Send" method on the returned Request to send the API call to the service.
3003// the "output" return value is not valid until after Send returns without error.
3004//
3005// See GetAssetPropertyAggregates for more information on using the GetAssetPropertyAggregates
3006// API call, and error handling.
3007//
3008// This method is useful when you want to inject custom logic or configuration
3009// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3010//
3011//
3012//    // Example sending a request using the GetAssetPropertyAggregatesRequest method.
3013//    req, resp := client.GetAssetPropertyAggregatesRequest(params)
3014//
3015//    err := req.Send()
3016//    if err == nil { // resp is now filled
3017//        fmt.Println(resp)
3018//    }
3019//
3020// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetAssetPropertyAggregates
3021func (c *IoTSiteWise) GetAssetPropertyAggregatesRequest(input *GetAssetPropertyAggregatesInput) (req *request.Request, output *GetAssetPropertyAggregatesOutput) {
3022	op := &request.Operation{
3023		Name:       opGetAssetPropertyAggregates,
3024		HTTPMethod: "GET",
3025		HTTPPath:   "/properties/aggregates",
3026		Paginator: &request.Paginator{
3027			InputTokens:     []string{"nextToken"},
3028			OutputTokens:    []string{"nextToken"},
3029			LimitToken:      "maxResults",
3030			TruncationToken: "",
3031		},
3032	}
3033
3034	if input == nil {
3035		input = &GetAssetPropertyAggregatesInput{}
3036	}
3037
3038	output = &GetAssetPropertyAggregatesOutput{}
3039	req = c.newRequest(op, input, output)
3040	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data.", nil))
3041	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3042	return
3043}
3044
3045// GetAssetPropertyAggregates API operation for AWS IoT SiteWise.
3046//
3047// Gets aggregated values for an asset property. For more information, see Querying
3048// Aggregated Property Values (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/query-industrial-data.html#aggregates)
3049// in the AWS IoT SiteWise User Guide.
3050//
3051// To identify an asset property, you must specify one of the following:
3052//
3053//    * The assetId and propertyId of an asset property.
3054//
3055//    * A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature).
3056//    To define an asset property's alias, see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html).
3057//
3058// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3059// with awserr.Error's Code and Message methods to get detailed information about
3060// the error.
3061//
3062// See the AWS API reference guide for AWS IoT SiteWise's
3063// API operation GetAssetPropertyAggregates for usage and error information.
3064//
3065// Returned Error Types:
3066//   * InvalidRequestException
3067//   The request isn't valid. This can occur if your request contains malformed
3068//   JSON or unsupported characters. Check your request and try again.
3069//
3070//   * ResourceNotFoundException
3071//   The requested resource can't be found.
3072//
3073//   * InternalFailureException
3074//   AWS IoT SiteWise can't process your request right now. Try again later.
3075//
3076//   * ThrottlingException
3077//   Your request exceeded a rate limit. For example, you might have exceeded
3078//   the number of AWS IoT SiteWise assets that can be created per second, the
3079//   allowed number of messages per second, and so on.
3080//
3081//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
3082//   in the AWS IoT SiteWise User Guide.
3083//
3084//   * ServiceUnavailableException
3085//   The requested service is unavailable.
3086//
3087// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetAssetPropertyAggregates
3088func (c *IoTSiteWise) GetAssetPropertyAggregates(input *GetAssetPropertyAggregatesInput) (*GetAssetPropertyAggregatesOutput, error) {
3089	req, out := c.GetAssetPropertyAggregatesRequest(input)
3090	return out, req.Send()
3091}
3092
3093// GetAssetPropertyAggregatesWithContext is the same as GetAssetPropertyAggregates with the addition of
3094// the ability to pass a context and additional request options.
3095//
3096// See GetAssetPropertyAggregates for details on how to use this API operation.
3097//
3098// The context must be non-nil and will be used for request cancellation. If
3099// the context is nil a panic will occur. In the future the SDK may create
3100// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3101// for more information on using Contexts.
3102func (c *IoTSiteWise) GetAssetPropertyAggregatesWithContext(ctx aws.Context, input *GetAssetPropertyAggregatesInput, opts ...request.Option) (*GetAssetPropertyAggregatesOutput, error) {
3103	req, out := c.GetAssetPropertyAggregatesRequest(input)
3104	req.SetContext(ctx)
3105	req.ApplyOptions(opts...)
3106	return out, req.Send()
3107}
3108
3109// GetAssetPropertyAggregatesPages iterates over the pages of a GetAssetPropertyAggregates operation,
3110// calling the "fn" function with the response data for each page. To stop
3111// iterating, return false from the fn function.
3112//
3113// See GetAssetPropertyAggregates method for more information on how to use this operation.
3114//
3115// Note: This operation can generate multiple requests to a service.
3116//
3117//    // Example iterating over at most 3 pages of a GetAssetPropertyAggregates operation.
3118//    pageNum := 0
3119//    err := client.GetAssetPropertyAggregatesPages(params,
3120//        func(page *iotsitewise.GetAssetPropertyAggregatesOutput, lastPage bool) bool {
3121//            pageNum++
3122//            fmt.Println(page)
3123//            return pageNum <= 3
3124//        })
3125//
3126func (c *IoTSiteWise) GetAssetPropertyAggregatesPages(input *GetAssetPropertyAggregatesInput, fn func(*GetAssetPropertyAggregatesOutput, bool) bool) error {
3127	return c.GetAssetPropertyAggregatesPagesWithContext(aws.BackgroundContext(), input, fn)
3128}
3129
3130// GetAssetPropertyAggregatesPagesWithContext same as GetAssetPropertyAggregatesPages except
3131// it takes a Context and allows setting request options on the pages.
3132//
3133// The context must be non-nil and will be used for request cancellation. If
3134// the context is nil a panic will occur. In the future the SDK may create
3135// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3136// for more information on using Contexts.
3137func (c *IoTSiteWise) GetAssetPropertyAggregatesPagesWithContext(ctx aws.Context, input *GetAssetPropertyAggregatesInput, fn func(*GetAssetPropertyAggregatesOutput, bool) bool, opts ...request.Option) error {
3138	p := request.Pagination{
3139		NewRequest: func() (*request.Request, error) {
3140			var inCpy *GetAssetPropertyAggregatesInput
3141			if input != nil {
3142				tmp := *input
3143				inCpy = &tmp
3144			}
3145			req, _ := c.GetAssetPropertyAggregatesRequest(inCpy)
3146			req.SetContext(ctx)
3147			req.ApplyOptions(opts...)
3148			return req, nil
3149		},
3150	}
3151
3152	for p.Next() {
3153		if !fn(p.Page().(*GetAssetPropertyAggregatesOutput), !p.HasNextPage()) {
3154			break
3155		}
3156	}
3157
3158	return p.Err()
3159}
3160
3161const opGetAssetPropertyValue = "GetAssetPropertyValue"
3162
3163// GetAssetPropertyValueRequest generates a "aws/request.Request" representing the
3164// client's request for the GetAssetPropertyValue operation. The "output" return
3165// value will be populated with the request's response once the request completes
3166// successfully.
3167//
3168// Use "Send" method on the returned Request to send the API call to the service.
3169// the "output" return value is not valid until after Send returns without error.
3170//
3171// See GetAssetPropertyValue for more information on using the GetAssetPropertyValue
3172// API call, and error handling.
3173//
3174// This method is useful when you want to inject custom logic or configuration
3175// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3176//
3177//
3178//    // Example sending a request using the GetAssetPropertyValueRequest method.
3179//    req, resp := client.GetAssetPropertyValueRequest(params)
3180//
3181//    err := req.Send()
3182//    if err == nil { // resp is now filled
3183//        fmt.Println(resp)
3184//    }
3185//
3186// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetAssetPropertyValue
3187func (c *IoTSiteWise) GetAssetPropertyValueRequest(input *GetAssetPropertyValueInput) (req *request.Request, output *GetAssetPropertyValueOutput) {
3188	op := &request.Operation{
3189		Name:       opGetAssetPropertyValue,
3190		HTTPMethod: "GET",
3191		HTTPPath:   "/properties/latest",
3192	}
3193
3194	if input == nil {
3195		input = &GetAssetPropertyValueInput{}
3196	}
3197
3198	output = &GetAssetPropertyValueOutput{}
3199	req = c.newRequest(op, input, output)
3200	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data.", nil))
3201	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3202	return
3203}
3204
3205// GetAssetPropertyValue API operation for AWS IoT SiteWise.
3206//
3207// Gets an asset property's current value. For more information, see Querying
3208// Current Property Values (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/query-industrial-data.html#current-values)
3209// in the AWS IoT SiteWise User Guide.
3210//
3211// To identify an asset property, you must specify one of the following:
3212//
3213//    * The assetId and propertyId of an asset property.
3214//
3215//    * A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature).
3216//    To define an asset property's alias, see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html).
3217//
3218// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3219// with awserr.Error's Code and Message methods to get detailed information about
3220// the error.
3221//
3222// See the AWS API reference guide for AWS IoT SiteWise's
3223// API operation GetAssetPropertyValue for usage and error information.
3224//
3225// Returned Error Types:
3226//   * InvalidRequestException
3227//   The request isn't valid. This can occur if your request contains malformed
3228//   JSON or unsupported characters. Check your request and try again.
3229//
3230//   * ResourceNotFoundException
3231//   The requested resource can't be found.
3232//
3233//   * InternalFailureException
3234//   AWS IoT SiteWise can't process your request right now. Try again later.
3235//
3236//   * ThrottlingException
3237//   Your request exceeded a rate limit. For example, you might have exceeded
3238//   the number of AWS IoT SiteWise assets that can be created per second, the
3239//   allowed number of messages per second, and so on.
3240//
3241//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
3242//   in the AWS IoT SiteWise User Guide.
3243//
3244//   * ServiceUnavailableException
3245//   The requested service is unavailable.
3246//
3247// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetAssetPropertyValue
3248func (c *IoTSiteWise) GetAssetPropertyValue(input *GetAssetPropertyValueInput) (*GetAssetPropertyValueOutput, error) {
3249	req, out := c.GetAssetPropertyValueRequest(input)
3250	return out, req.Send()
3251}
3252
3253// GetAssetPropertyValueWithContext is the same as GetAssetPropertyValue with the addition of
3254// the ability to pass a context and additional request options.
3255//
3256// See GetAssetPropertyValue for details on how to use this API operation.
3257//
3258// The context must be non-nil and will be used for request cancellation. If
3259// the context is nil a panic will occur. In the future the SDK may create
3260// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3261// for more information on using Contexts.
3262func (c *IoTSiteWise) GetAssetPropertyValueWithContext(ctx aws.Context, input *GetAssetPropertyValueInput, opts ...request.Option) (*GetAssetPropertyValueOutput, error) {
3263	req, out := c.GetAssetPropertyValueRequest(input)
3264	req.SetContext(ctx)
3265	req.ApplyOptions(opts...)
3266	return out, req.Send()
3267}
3268
3269const opGetAssetPropertyValueHistory = "GetAssetPropertyValueHistory"
3270
3271// GetAssetPropertyValueHistoryRequest generates a "aws/request.Request" representing the
3272// client's request for the GetAssetPropertyValueHistory operation. The "output" return
3273// value will be populated with the request's response once the request completes
3274// successfully.
3275//
3276// Use "Send" method on the returned Request to send the API call to the service.
3277// the "output" return value is not valid until after Send returns without error.
3278//
3279// See GetAssetPropertyValueHistory for more information on using the GetAssetPropertyValueHistory
3280// API call, and error handling.
3281//
3282// This method is useful when you want to inject custom logic or configuration
3283// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3284//
3285//
3286//    // Example sending a request using the GetAssetPropertyValueHistoryRequest method.
3287//    req, resp := client.GetAssetPropertyValueHistoryRequest(params)
3288//
3289//    err := req.Send()
3290//    if err == nil { // resp is now filled
3291//        fmt.Println(resp)
3292//    }
3293//
3294// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetAssetPropertyValueHistory
3295func (c *IoTSiteWise) GetAssetPropertyValueHistoryRequest(input *GetAssetPropertyValueHistoryInput) (req *request.Request, output *GetAssetPropertyValueHistoryOutput) {
3296	op := &request.Operation{
3297		Name:       opGetAssetPropertyValueHistory,
3298		HTTPMethod: "GET",
3299		HTTPPath:   "/properties/history",
3300		Paginator: &request.Paginator{
3301			InputTokens:     []string{"nextToken"},
3302			OutputTokens:    []string{"nextToken"},
3303			LimitToken:      "maxResults",
3304			TruncationToken: "",
3305		},
3306	}
3307
3308	if input == nil {
3309		input = &GetAssetPropertyValueHistoryInput{}
3310	}
3311
3312	output = &GetAssetPropertyValueHistoryOutput{}
3313	req = c.newRequest(op, input, output)
3314	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data.", nil))
3315	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3316	return
3317}
3318
3319// GetAssetPropertyValueHistory API operation for AWS IoT SiteWise.
3320//
3321// Gets the history of an asset property's values. For more information, see
3322// Querying Historical Property Values (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/query-industrial-data.html#historical-values)
3323// in the AWS IoT SiteWise User Guide.
3324//
3325// To identify an asset property, you must specify one of the following:
3326//
3327//    * The assetId and propertyId of an asset property.
3328//
3329//    * A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature).
3330//    To define an asset property's alias, see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html).
3331//
3332// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3333// with awserr.Error's Code and Message methods to get detailed information about
3334// the error.
3335//
3336// See the AWS API reference guide for AWS IoT SiteWise's
3337// API operation GetAssetPropertyValueHistory for usage and error information.
3338//
3339// Returned Error Types:
3340//   * InvalidRequestException
3341//   The request isn't valid. This can occur if your request contains malformed
3342//   JSON or unsupported characters. Check your request and try again.
3343//
3344//   * ResourceNotFoundException
3345//   The requested resource can't be found.
3346//
3347//   * InternalFailureException
3348//   AWS IoT SiteWise can't process your request right now. Try again later.
3349//
3350//   * ThrottlingException
3351//   Your request exceeded a rate limit. For example, you might have exceeded
3352//   the number of AWS IoT SiteWise assets that can be created per second, the
3353//   allowed number of messages per second, and so on.
3354//
3355//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
3356//   in the AWS IoT SiteWise User Guide.
3357//
3358//   * ServiceUnavailableException
3359//   The requested service is unavailable.
3360//
3361// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetAssetPropertyValueHistory
3362func (c *IoTSiteWise) GetAssetPropertyValueHistory(input *GetAssetPropertyValueHistoryInput) (*GetAssetPropertyValueHistoryOutput, error) {
3363	req, out := c.GetAssetPropertyValueHistoryRequest(input)
3364	return out, req.Send()
3365}
3366
3367// GetAssetPropertyValueHistoryWithContext is the same as GetAssetPropertyValueHistory with the addition of
3368// the ability to pass a context and additional request options.
3369//
3370// See GetAssetPropertyValueHistory for details on how to use this API operation.
3371//
3372// The context must be non-nil and will be used for request cancellation. If
3373// the context is nil a panic will occur. In the future the SDK may create
3374// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3375// for more information on using Contexts.
3376func (c *IoTSiteWise) GetAssetPropertyValueHistoryWithContext(ctx aws.Context, input *GetAssetPropertyValueHistoryInput, opts ...request.Option) (*GetAssetPropertyValueHistoryOutput, error) {
3377	req, out := c.GetAssetPropertyValueHistoryRequest(input)
3378	req.SetContext(ctx)
3379	req.ApplyOptions(opts...)
3380	return out, req.Send()
3381}
3382
3383// GetAssetPropertyValueHistoryPages iterates over the pages of a GetAssetPropertyValueHistory operation,
3384// calling the "fn" function with the response data for each page. To stop
3385// iterating, return false from the fn function.
3386//
3387// See GetAssetPropertyValueHistory method for more information on how to use this operation.
3388//
3389// Note: This operation can generate multiple requests to a service.
3390//
3391//    // Example iterating over at most 3 pages of a GetAssetPropertyValueHistory operation.
3392//    pageNum := 0
3393//    err := client.GetAssetPropertyValueHistoryPages(params,
3394//        func(page *iotsitewise.GetAssetPropertyValueHistoryOutput, lastPage bool) bool {
3395//            pageNum++
3396//            fmt.Println(page)
3397//            return pageNum <= 3
3398//        })
3399//
3400func (c *IoTSiteWise) GetAssetPropertyValueHistoryPages(input *GetAssetPropertyValueHistoryInput, fn func(*GetAssetPropertyValueHistoryOutput, bool) bool) error {
3401	return c.GetAssetPropertyValueHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
3402}
3403
3404// GetAssetPropertyValueHistoryPagesWithContext same as GetAssetPropertyValueHistoryPages except
3405// it takes a Context and allows setting request options on the pages.
3406//
3407// The context must be non-nil and will be used for request cancellation. If
3408// the context is nil a panic will occur. In the future the SDK may create
3409// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3410// for more information on using Contexts.
3411func (c *IoTSiteWise) GetAssetPropertyValueHistoryPagesWithContext(ctx aws.Context, input *GetAssetPropertyValueHistoryInput, fn func(*GetAssetPropertyValueHistoryOutput, bool) bool, opts ...request.Option) error {
3412	p := request.Pagination{
3413		NewRequest: func() (*request.Request, error) {
3414			var inCpy *GetAssetPropertyValueHistoryInput
3415			if input != nil {
3416				tmp := *input
3417				inCpy = &tmp
3418			}
3419			req, _ := c.GetAssetPropertyValueHistoryRequest(inCpy)
3420			req.SetContext(ctx)
3421			req.ApplyOptions(opts...)
3422			return req, nil
3423		},
3424	}
3425
3426	for p.Next() {
3427		if !fn(p.Page().(*GetAssetPropertyValueHistoryOutput), !p.HasNextPage()) {
3428			break
3429		}
3430	}
3431
3432	return p.Err()
3433}
3434
3435const opListAccessPolicies = "ListAccessPolicies"
3436
3437// ListAccessPoliciesRequest generates a "aws/request.Request" representing the
3438// client's request for the ListAccessPolicies operation. The "output" return
3439// value will be populated with the request's response once the request completes
3440// successfully.
3441//
3442// Use "Send" method on the returned Request to send the API call to the service.
3443// the "output" return value is not valid until after Send returns without error.
3444//
3445// See ListAccessPolicies for more information on using the ListAccessPolicies
3446// API call, and error handling.
3447//
3448// This method is useful when you want to inject custom logic or configuration
3449// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3450//
3451//
3452//    // Example sending a request using the ListAccessPoliciesRequest method.
3453//    req, resp := client.ListAccessPoliciesRequest(params)
3454//
3455//    err := req.Send()
3456//    if err == nil { // resp is now filled
3457//        fmt.Println(resp)
3458//    }
3459//
3460// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAccessPolicies
3461func (c *IoTSiteWise) ListAccessPoliciesRequest(input *ListAccessPoliciesInput) (req *request.Request, output *ListAccessPoliciesOutput) {
3462	op := &request.Operation{
3463		Name:       opListAccessPolicies,
3464		HTTPMethod: "GET",
3465		HTTPPath:   "/access-policies",
3466		Paginator: &request.Paginator{
3467			InputTokens:     []string{"nextToken"},
3468			OutputTokens:    []string{"nextToken"},
3469			LimitToken:      "maxResults",
3470			TruncationToken: "",
3471		},
3472	}
3473
3474	if input == nil {
3475		input = &ListAccessPoliciesInput{}
3476	}
3477
3478	output = &ListAccessPoliciesOutput{}
3479	req = c.newRequest(op, input, output)
3480	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
3481	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3482	return
3483}
3484
3485// ListAccessPolicies API operation for AWS IoT SiteWise.
3486//
3487// Retrieves a paginated list of access policies for an AWS SSO identity (a
3488// user or group) or an AWS IoT SiteWise Monitor resource (a portal or project).
3489//
3490// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3491// with awserr.Error's Code and Message methods to get detailed information about
3492// the error.
3493//
3494// See the AWS API reference guide for AWS IoT SiteWise's
3495// API operation ListAccessPolicies for usage and error information.
3496//
3497// Returned Error Types:
3498//   * InvalidRequestException
3499//   The request isn't valid. This can occur if your request contains malformed
3500//   JSON or unsupported characters. Check your request and try again.
3501//
3502//   * InternalFailureException
3503//   AWS IoT SiteWise can't process your request right now. Try again later.
3504//
3505//   * ThrottlingException
3506//   Your request exceeded a rate limit. For example, you might have exceeded
3507//   the number of AWS IoT SiteWise assets that can be created per second, the
3508//   allowed number of messages per second, and so on.
3509//
3510//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
3511//   in the AWS IoT SiteWise User Guide.
3512//
3513// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAccessPolicies
3514func (c *IoTSiteWise) ListAccessPolicies(input *ListAccessPoliciesInput) (*ListAccessPoliciesOutput, error) {
3515	req, out := c.ListAccessPoliciesRequest(input)
3516	return out, req.Send()
3517}
3518
3519// ListAccessPoliciesWithContext is the same as ListAccessPolicies with the addition of
3520// the ability to pass a context and additional request options.
3521//
3522// See ListAccessPolicies for details on how to use this API operation.
3523//
3524// The context must be non-nil and will be used for request cancellation. If
3525// the context is nil a panic will occur. In the future the SDK may create
3526// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3527// for more information on using Contexts.
3528func (c *IoTSiteWise) ListAccessPoliciesWithContext(ctx aws.Context, input *ListAccessPoliciesInput, opts ...request.Option) (*ListAccessPoliciesOutput, error) {
3529	req, out := c.ListAccessPoliciesRequest(input)
3530	req.SetContext(ctx)
3531	req.ApplyOptions(opts...)
3532	return out, req.Send()
3533}
3534
3535// ListAccessPoliciesPages iterates over the pages of a ListAccessPolicies operation,
3536// calling the "fn" function with the response data for each page. To stop
3537// iterating, return false from the fn function.
3538//
3539// See ListAccessPolicies method for more information on how to use this operation.
3540//
3541// Note: This operation can generate multiple requests to a service.
3542//
3543//    // Example iterating over at most 3 pages of a ListAccessPolicies operation.
3544//    pageNum := 0
3545//    err := client.ListAccessPoliciesPages(params,
3546//        func(page *iotsitewise.ListAccessPoliciesOutput, lastPage bool) bool {
3547//            pageNum++
3548//            fmt.Println(page)
3549//            return pageNum <= 3
3550//        })
3551//
3552func (c *IoTSiteWise) ListAccessPoliciesPages(input *ListAccessPoliciesInput, fn func(*ListAccessPoliciesOutput, bool) bool) error {
3553	return c.ListAccessPoliciesPagesWithContext(aws.BackgroundContext(), input, fn)
3554}
3555
3556// ListAccessPoliciesPagesWithContext same as ListAccessPoliciesPages except
3557// it takes a Context and allows setting request options on the pages.
3558//
3559// The context must be non-nil and will be used for request cancellation. If
3560// the context is nil a panic will occur. In the future the SDK may create
3561// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3562// for more information on using Contexts.
3563func (c *IoTSiteWise) ListAccessPoliciesPagesWithContext(ctx aws.Context, input *ListAccessPoliciesInput, fn func(*ListAccessPoliciesOutput, bool) bool, opts ...request.Option) error {
3564	p := request.Pagination{
3565		NewRequest: func() (*request.Request, error) {
3566			var inCpy *ListAccessPoliciesInput
3567			if input != nil {
3568				tmp := *input
3569				inCpy = &tmp
3570			}
3571			req, _ := c.ListAccessPoliciesRequest(inCpy)
3572			req.SetContext(ctx)
3573			req.ApplyOptions(opts...)
3574			return req, nil
3575		},
3576	}
3577
3578	for p.Next() {
3579		if !fn(p.Page().(*ListAccessPoliciesOutput), !p.HasNextPage()) {
3580			break
3581		}
3582	}
3583
3584	return p.Err()
3585}
3586
3587const opListAssetModels = "ListAssetModels"
3588
3589// ListAssetModelsRequest generates a "aws/request.Request" representing the
3590// client's request for the ListAssetModels operation. The "output" return
3591// value will be populated with the request's response once the request completes
3592// successfully.
3593//
3594// Use "Send" method on the returned Request to send the API call to the service.
3595// the "output" return value is not valid until after Send returns without error.
3596//
3597// See ListAssetModels for more information on using the ListAssetModels
3598// API call, and error handling.
3599//
3600// This method is useful when you want to inject custom logic or configuration
3601// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3602//
3603//
3604//    // Example sending a request using the ListAssetModelsRequest method.
3605//    req, resp := client.ListAssetModelsRequest(params)
3606//
3607//    err := req.Send()
3608//    if err == nil { // resp is now filled
3609//        fmt.Println(resp)
3610//    }
3611//
3612// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetModels
3613func (c *IoTSiteWise) ListAssetModelsRequest(input *ListAssetModelsInput) (req *request.Request, output *ListAssetModelsOutput) {
3614	op := &request.Operation{
3615		Name:       opListAssetModels,
3616		HTTPMethod: "GET",
3617		HTTPPath:   "/asset-models",
3618		Paginator: &request.Paginator{
3619			InputTokens:     []string{"nextToken"},
3620			OutputTokens:    []string{"nextToken"},
3621			LimitToken:      "maxResults",
3622			TruncationToken: "",
3623		},
3624	}
3625
3626	if input == nil {
3627		input = &ListAssetModelsInput{}
3628	}
3629
3630	output = &ListAssetModelsOutput{}
3631	req = c.newRequest(op, input, output)
3632	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
3633	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3634	return
3635}
3636
3637// ListAssetModels API operation for AWS IoT SiteWise.
3638//
3639// Retrieves a paginated list of summaries of all asset models.
3640//
3641// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3642// with awserr.Error's Code and Message methods to get detailed information about
3643// the error.
3644//
3645// See the AWS API reference guide for AWS IoT SiteWise's
3646// API operation ListAssetModels for usage and error information.
3647//
3648// Returned Error Types:
3649//   * InvalidRequestException
3650//   The request isn't valid. This can occur if your request contains malformed
3651//   JSON or unsupported characters. Check your request and try again.
3652//
3653//   * InternalFailureException
3654//   AWS IoT SiteWise can't process your request right now. Try again later.
3655//
3656//   * ThrottlingException
3657//   Your request exceeded a rate limit. For example, you might have exceeded
3658//   the number of AWS IoT SiteWise assets that can be created per second, the
3659//   allowed number of messages per second, and so on.
3660//
3661//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
3662//   in the AWS IoT SiteWise User Guide.
3663//
3664// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetModels
3665func (c *IoTSiteWise) ListAssetModels(input *ListAssetModelsInput) (*ListAssetModelsOutput, error) {
3666	req, out := c.ListAssetModelsRequest(input)
3667	return out, req.Send()
3668}
3669
3670// ListAssetModelsWithContext is the same as ListAssetModels with the addition of
3671// the ability to pass a context and additional request options.
3672//
3673// See ListAssetModels for details on how to use this API operation.
3674//
3675// The context must be non-nil and will be used for request cancellation. If
3676// the context is nil a panic will occur. In the future the SDK may create
3677// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3678// for more information on using Contexts.
3679func (c *IoTSiteWise) ListAssetModelsWithContext(ctx aws.Context, input *ListAssetModelsInput, opts ...request.Option) (*ListAssetModelsOutput, error) {
3680	req, out := c.ListAssetModelsRequest(input)
3681	req.SetContext(ctx)
3682	req.ApplyOptions(opts...)
3683	return out, req.Send()
3684}
3685
3686// ListAssetModelsPages iterates over the pages of a ListAssetModels operation,
3687// calling the "fn" function with the response data for each page. To stop
3688// iterating, return false from the fn function.
3689//
3690// See ListAssetModels method for more information on how to use this operation.
3691//
3692// Note: This operation can generate multiple requests to a service.
3693//
3694//    // Example iterating over at most 3 pages of a ListAssetModels operation.
3695//    pageNum := 0
3696//    err := client.ListAssetModelsPages(params,
3697//        func(page *iotsitewise.ListAssetModelsOutput, lastPage bool) bool {
3698//            pageNum++
3699//            fmt.Println(page)
3700//            return pageNum <= 3
3701//        })
3702//
3703func (c *IoTSiteWise) ListAssetModelsPages(input *ListAssetModelsInput, fn func(*ListAssetModelsOutput, bool) bool) error {
3704	return c.ListAssetModelsPagesWithContext(aws.BackgroundContext(), input, fn)
3705}
3706
3707// ListAssetModelsPagesWithContext same as ListAssetModelsPages except
3708// it takes a Context and allows setting request options on the pages.
3709//
3710// The context must be non-nil and will be used for request cancellation. If
3711// the context is nil a panic will occur. In the future the SDK may create
3712// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3713// for more information on using Contexts.
3714func (c *IoTSiteWise) ListAssetModelsPagesWithContext(ctx aws.Context, input *ListAssetModelsInput, fn func(*ListAssetModelsOutput, bool) bool, opts ...request.Option) error {
3715	p := request.Pagination{
3716		NewRequest: func() (*request.Request, error) {
3717			var inCpy *ListAssetModelsInput
3718			if input != nil {
3719				tmp := *input
3720				inCpy = &tmp
3721			}
3722			req, _ := c.ListAssetModelsRequest(inCpy)
3723			req.SetContext(ctx)
3724			req.ApplyOptions(opts...)
3725			return req, nil
3726		},
3727	}
3728
3729	for p.Next() {
3730		if !fn(p.Page().(*ListAssetModelsOutput), !p.HasNextPage()) {
3731			break
3732		}
3733	}
3734
3735	return p.Err()
3736}
3737
3738const opListAssets = "ListAssets"
3739
3740// ListAssetsRequest generates a "aws/request.Request" representing the
3741// client's request for the ListAssets operation. The "output" return
3742// value will be populated with the request's response once the request completes
3743// successfully.
3744//
3745// Use "Send" method on the returned Request to send the API call to the service.
3746// the "output" return value is not valid until after Send returns without error.
3747//
3748// See ListAssets for more information on using the ListAssets
3749// API call, and error handling.
3750//
3751// This method is useful when you want to inject custom logic or configuration
3752// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3753//
3754//
3755//    // Example sending a request using the ListAssetsRequest method.
3756//    req, resp := client.ListAssetsRequest(params)
3757//
3758//    err := req.Send()
3759//    if err == nil { // resp is now filled
3760//        fmt.Println(resp)
3761//    }
3762//
3763// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssets
3764func (c *IoTSiteWise) ListAssetsRequest(input *ListAssetsInput) (req *request.Request, output *ListAssetsOutput) {
3765	op := &request.Operation{
3766		Name:       opListAssets,
3767		HTTPMethod: "GET",
3768		HTTPPath:   "/assets",
3769		Paginator: &request.Paginator{
3770			InputTokens:     []string{"nextToken"},
3771			OutputTokens:    []string{"nextToken"},
3772			LimitToken:      "maxResults",
3773			TruncationToken: "",
3774		},
3775	}
3776
3777	if input == nil {
3778		input = &ListAssetsInput{}
3779	}
3780
3781	output = &ListAssetsOutput{}
3782	req = c.newRequest(op, input, output)
3783	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
3784	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3785	return
3786}
3787
3788// ListAssets API operation for AWS IoT SiteWise.
3789//
3790// Retrieves a paginated list of asset summaries.
3791//
3792// You can use this operation to do the following:
3793//
3794//    * List assets based on a specific asset model.
3795//
3796//    * List top-level assets.
3797//
3798// You can't use this operation to list all assets. To retrieve summaries for
3799// all of your assets, use ListAssetModels (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ListAssetModels.html)
3800// to get all of your asset model IDs. Then, use ListAssets to get all assets
3801// for each asset model.
3802//
3803// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3804// with awserr.Error's Code and Message methods to get detailed information about
3805// the error.
3806//
3807// See the AWS API reference guide for AWS IoT SiteWise's
3808// API operation ListAssets for usage and error information.
3809//
3810// Returned Error Types:
3811//   * InvalidRequestException
3812//   The request isn't valid. This can occur if your request contains malformed
3813//   JSON or unsupported characters. Check your request and try again.
3814//
3815//   * InternalFailureException
3816//   AWS IoT SiteWise can't process your request right now. Try again later.
3817//
3818//   * ResourceNotFoundException
3819//   The requested resource can't be found.
3820//
3821//   * ThrottlingException
3822//   Your request exceeded a rate limit. For example, you might have exceeded
3823//   the number of AWS IoT SiteWise assets that can be created per second, the
3824//   allowed number of messages per second, and so on.
3825//
3826//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
3827//   in the AWS IoT SiteWise User Guide.
3828//
3829// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssets
3830func (c *IoTSiteWise) ListAssets(input *ListAssetsInput) (*ListAssetsOutput, error) {
3831	req, out := c.ListAssetsRequest(input)
3832	return out, req.Send()
3833}
3834
3835// ListAssetsWithContext is the same as ListAssets with the addition of
3836// the ability to pass a context and additional request options.
3837//
3838// See ListAssets for details on how to use this API operation.
3839//
3840// The context must be non-nil and will be used for request cancellation. If
3841// the context is nil a panic will occur. In the future the SDK may create
3842// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3843// for more information on using Contexts.
3844func (c *IoTSiteWise) ListAssetsWithContext(ctx aws.Context, input *ListAssetsInput, opts ...request.Option) (*ListAssetsOutput, error) {
3845	req, out := c.ListAssetsRequest(input)
3846	req.SetContext(ctx)
3847	req.ApplyOptions(opts...)
3848	return out, req.Send()
3849}
3850
3851// ListAssetsPages iterates over the pages of a ListAssets operation,
3852// calling the "fn" function with the response data for each page. To stop
3853// iterating, return false from the fn function.
3854//
3855// See ListAssets method for more information on how to use this operation.
3856//
3857// Note: This operation can generate multiple requests to a service.
3858//
3859//    // Example iterating over at most 3 pages of a ListAssets operation.
3860//    pageNum := 0
3861//    err := client.ListAssetsPages(params,
3862//        func(page *iotsitewise.ListAssetsOutput, lastPage bool) bool {
3863//            pageNum++
3864//            fmt.Println(page)
3865//            return pageNum <= 3
3866//        })
3867//
3868func (c *IoTSiteWise) ListAssetsPages(input *ListAssetsInput, fn func(*ListAssetsOutput, bool) bool) error {
3869	return c.ListAssetsPagesWithContext(aws.BackgroundContext(), input, fn)
3870}
3871
3872// ListAssetsPagesWithContext same as ListAssetsPages except
3873// it takes a Context and allows setting request options on the pages.
3874//
3875// The context must be non-nil and will be used for request cancellation. If
3876// the context is nil a panic will occur. In the future the SDK may create
3877// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3878// for more information on using Contexts.
3879func (c *IoTSiteWise) ListAssetsPagesWithContext(ctx aws.Context, input *ListAssetsInput, fn func(*ListAssetsOutput, bool) bool, opts ...request.Option) error {
3880	p := request.Pagination{
3881		NewRequest: func() (*request.Request, error) {
3882			var inCpy *ListAssetsInput
3883			if input != nil {
3884				tmp := *input
3885				inCpy = &tmp
3886			}
3887			req, _ := c.ListAssetsRequest(inCpy)
3888			req.SetContext(ctx)
3889			req.ApplyOptions(opts...)
3890			return req, nil
3891		},
3892	}
3893
3894	for p.Next() {
3895		if !fn(p.Page().(*ListAssetsOutput), !p.HasNextPage()) {
3896			break
3897		}
3898	}
3899
3900	return p.Err()
3901}
3902
3903const opListAssociatedAssets = "ListAssociatedAssets"
3904
3905// ListAssociatedAssetsRequest generates a "aws/request.Request" representing the
3906// client's request for the ListAssociatedAssets operation. The "output" return
3907// value will be populated with the request's response once the request completes
3908// successfully.
3909//
3910// Use "Send" method on the returned Request to send the API call to the service.
3911// the "output" return value is not valid until after Send returns without error.
3912//
3913// See ListAssociatedAssets for more information on using the ListAssociatedAssets
3914// API call, and error handling.
3915//
3916// This method is useful when you want to inject custom logic or configuration
3917// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3918//
3919//
3920//    // Example sending a request using the ListAssociatedAssetsRequest method.
3921//    req, resp := client.ListAssociatedAssetsRequest(params)
3922//
3923//    err := req.Send()
3924//    if err == nil { // resp is now filled
3925//        fmt.Println(resp)
3926//    }
3927//
3928// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssociatedAssets
3929func (c *IoTSiteWise) ListAssociatedAssetsRequest(input *ListAssociatedAssetsInput) (req *request.Request, output *ListAssociatedAssetsOutput) {
3930	op := &request.Operation{
3931		Name:       opListAssociatedAssets,
3932		HTTPMethod: "GET",
3933		HTTPPath:   "/assets/{assetId}/hierarchies",
3934		Paginator: &request.Paginator{
3935			InputTokens:     []string{"nextToken"},
3936			OutputTokens:    []string{"nextToken"},
3937			LimitToken:      "maxResults",
3938			TruncationToken: "",
3939		},
3940	}
3941
3942	if input == nil {
3943		input = &ListAssociatedAssetsInput{}
3944	}
3945
3946	output = &ListAssociatedAssetsOutput{}
3947	req = c.newRequest(op, input, output)
3948	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
3949	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3950	return
3951}
3952
3953// ListAssociatedAssets API operation for AWS IoT SiteWise.
3954//
3955// Retrieves a paginated list of the assets associated to a parent asset (assetId)
3956// by a given hierarchy (hierarchyId).
3957//
3958// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3959// with awserr.Error's Code and Message methods to get detailed information about
3960// the error.
3961//
3962// See the AWS API reference guide for AWS IoT SiteWise's
3963// API operation ListAssociatedAssets for usage and error information.
3964//
3965// Returned Error Types:
3966//   * InvalidRequestException
3967//   The request isn't valid. This can occur if your request contains malformed
3968//   JSON or unsupported characters. Check your request and try again.
3969//
3970//   * InternalFailureException
3971//   AWS IoT SiteWise can't process your request right now. Try again later.
3972//
3973//   * ResourceNotFoundException
3974//   The requested resource can't be found.
3975//
3976//   * ThrottlingException
3977//   Your request exceeded a rate limit. For example, you might have exceeded
3978//   the number of AWS IoT SiteWise assets that can be created per second, the
3979//   allowed number of messages per second, and so on.
3980//
3981//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
3982//   in the AWS IoT SiteWise User Guide.
3983//
3984// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssociatedAssets
3985func (c *IoTSiteWise) ListAssociatedAssets(input *ListAssociatedAssetsInput) (*ListAssociatedAssetsOutput, error) {
3986	req, out := c.ListAssociatedAssetsRequest(input)
3987	return out, req.Send()
3988}
3989
3990// ListAssociatedAssetsWithContext is the same as ListAssociatedAssets with the addition of
3991// the ability to pass a context and additional request options.
3992//
3993// See ListAssociatedAssets for details on how to use this API operation.
3994//
3995// The context must be non-nil and will be used for request cancellation. If
3996// the context is nil a panic will occur. In the future the SDK may create
3997// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3998// for more information on using Contexts.
3999func (c *IoTSiteWise) ListAssociatedAssetsWithContext(ctx aws.Context, input *ListAssociatedAssetsInput, opts ...request.Option) (*ListAssociatedAssetsOutput, error) {
4000	req, out := c.ListAssociatedAssetsRequest(input)
4001	req.SetContext(ctx)
4002	req.ApplyOptions(opts...)
4003	return out, req.Send()
4004}
4005
4006// ListAssociatedAssetsPages iterates over the pages of a ListAssociatedAssets operation,
4007// calling the "fn" function with the response data for each page. To stop
4008// iterating, return false from the fn function.
4009//
4010// See ListAssociatedAssets method for more information on how to use this operation.
4011//
4012// Note: This operation can generate multiple requests to a service.
4013//
4014//    // Example iterating over at most 3 pages of a ListAssociatedAssets operation.
4015//    pageNum := 0
4016//    err := client.ListAssociatedAssetsPages(params,
4017//        func(page *iotsitewise.ListAssociatedAssetsOutput, lastPage bool) bool {
4018//            pageNum++
4019//            fmt.Println(page)
4020//            return pageNum <= 3
4021//        })
4022//
4023func (c *IoTSiteWise) ListAssociatedAssetsPages(input *ListAssociatedAssetsInput, fn func(*ListAssociatedAssetsOutput, bool) bool) error {
4024	return c.ListAssociatedAssetsPagesWithContext(aws.BackgroundContext(), input, fn)
4025}
4026
4027// ListAssociatedAssetsPagesWithContext same as ListAssociatedAssetsPages except
4028// it takes a Context and allows setting request options on the pages.
4029//
4030// The context must be non-nil and will be used for request cancellation. If
4031// the context is nil a panic will occur. In the future the SDK may create
4032// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4033// for more information on using Contexts.
4034func (c *IoTSiteWise) ListAssociatedAssetsPagesWithContext(ctx aws.Context, input *ListAssociatedAssetsInput, fn func(*ListAssociatedAssetsOutput, bool) bool, opts ...request.Option) error {
4035	p := request.Pagination{
4036		NewRequest: func() (*request.Request, error) {
4037			var inCpy *ListAssociatedAssetsInput
4038			if input != nil {
4039				tmp := *input
4040				inCpy = &tmp
4041			}
4042			req, _ := c.ListAssociatedAssetsRequest(inCpy)
4043			req.SetContext(ctx)
4044			req.ApplyOptions(opts...)
4045			return req, nil
4046		},
4047	}
4048
4049	for p.Next() {
4050		if !fn(p.Page().(*ListAssociatedAssetsOutput), !p.HasNextPage()) {
4051			break
4052		}
4053	}
4054
4055	return p.Err()
4056}
4057
4058const opListDashboards = "ListDashboards"
4059
4060// ListDashboardsRequest generates a "aws/request.Request" representing the
4061// client's request for the ListDashboards operation. The "output" return
4062// value will be populated with the request's response once the request completes
4063// successfully.
4064//
4065// Use "Send" method on the returned Request to send the API call to the service.
4066// the "output" return value is not valid until after Send returns without error.
4067//
4068// See ListDashboards for more information on using the ListDashboards
4069// API call, and error handling.
4070//
4071// This method is useful when you want to inject custom logic or configuration
4072// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4073//
4074//
4075//    // Example sending a request using the ListDashboardsRequest method.
4076//    req, resp := client.ListDashboardsRequest(params)
4077//
4078//    err := req.Send()
4079//    if err == nil { // resp is now filled
4080//        fmt.Println(resp)
4081//    }
4082//
4083// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListDashboards
4084func (c *IoTSiteWise) ListDashboardsRequest(input *ListDashboardsInput) (req *request.Request, output *ListDashboardsOutput) {
4085	op := &request.Operation{
4086		Name:       opListDashboards,
4087		HTTPMethod: "GET",
4088		HTTPPath:   "/dashboards",
4089		Paginator: &request.Paginator{
4090			InputTokens:     []string{"nextToken"},
4091			OutputTokens:    []string{"nextToken"},
4092			LimitToken:      "maxResults",
4093			TruncationToken: "",
4094		},
4095	}
4096
4097	if input == nil {
4098		input = &ListDashboardsInput{}
4099	}
4100
4101	output = &ListDashboardsOutput{}
4102	req = c.newRequest(op, input, output)
4103	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
4104	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
4105	return
4106}
4107
4108// ListDashboards API operation for AWS IoT SiteWise.
4109//
4110// Retrieves a paginated list of dashboards for an AWS IoT SiteWise Monitor
4111// project.
4112//
4113// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4114// with awserr.Error's Code and Message methods to get detailed information about
4115// the error.
4116//
4117// See the AWS API reference guide for AWS IoT SiteWise's
4118// API operation ListDashboards for usage and error information.
4119//
4120// Returned Error Types:
4121//   * InvalidRequestException
4122//   The request isn't valid. This can occur if your request contains malformed
4123//   JSON or unsupported characters. Check your request and try again.
4124//
4125//   * InternalFailureException
4126//   AWS IoT SiteWise can't process your request right now. Try again later.
4127//
4128//   * ThrottlingException
4129//   Your request exceeded a rate limit. For example, you might have exceeded
4130//   the number of AWS IoT SiteWise assets that can be created per second, the
4131//   allowed number of messages per second, and so on.
4132//
4133//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
4134//   in the AWS IoT SiteWise User Guide.
4135//
4136// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListDashboards
4137func (c *IoTSiteWise) ListDashboards(input *ListDashboardsInput) (*ListDashboardsOutput, error) {
4138	req, out := c.ListDashboardsRequest(input)
4139	return out, req.Send()
4140}
4141
4142// ListDashboardsWithContext is the same as ListDashboards with the addition of
4143// the ability to pass a context and additional request options.
4144//
4145// See ListDashboards for details on how to use this API operation.
4146//
4147// The context must be non-nil and will be used for request cancellation. If
4148// the context is nil a panic will occur. In the future the SDK may create
4149// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4150// for more information on using Contexts.
4151func (c *IoTSiteWise) ListDashboardsWithContext(ctx aws.Context, input *ListDashboardsInput, opts ...request.Option) (*ListDashboardsOutput, error) {
4152	req, out := c.ListDashboardsRequest(input)
4153	req.SetContext(ctx)
4154	req.ApplyOptions(opts...)
4155	return out, req.Send()
4156}
4157
4158// ListDashboardsPages iterates over the pages of a ListDashboards operation,
4159// calling the "fn" function with the response data for each page. To stop
4160// iterating, return false from the fn function.
4161//
4162// See ListDashboards method for more information on how to use this operation.
4163//
4164// Note: This operation can generate multiple requests to a service.
4165//
4166//    // Example iterating over at most 3 pages of a ListDashboards operation.
4167//    pageNum := 0
4168//    err := client.ListDashboardsPages(params,
4169//        func(page *iotsitewise.ListDashboardsOutput, lastPage bool) bool {
4170//            pageNum++
4171//            fmt.Println(page)
4172//            return pageNum <= 3
4173//        })
4174//
4175func (c *IoTSiteWise) ListDashboardsPages(input *ListDashboardsInput, fn func(*ListDashboardsOutput, bool) bool) error {
4176	return c.ListDashboardsPagesWithContext(aws.BackgroundContext(), input, fn)
4177}
4178
4179// ListDashboardsPagesWithContext same as ListDashboardsPages except
4180// it takes a Context and allows setting request options on the pages.
4181//
4182// The context must be non-nil and will be used for request cancellation. If
4183// the context is nil a panic will occur. In the future the SDK may create
4184// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4185// for more information on using Contexts.
4186func (c *IoTSiteWise) ListDashboardsPagesWithContext(ctx aws.Context, input *ListDashboardsInput, fn func(*ListDashboardsOutput, bool) bool, opts ...request.Option) error {
4187	p := request.Pagination{
4188		NewRequest: func() (*request.Request, error) {
4189			var inCpy *ListDashboardsInput
4190			if input != nil {
4191				tmp := *input
4192				inCpy = &tmp
4193			}
4194			req, _ := c.ListDashboardsRequest(inCpy)
4195			req.SetContext(ctx)
4196			req.ApplyOptions(opts...)
4197			return req, nil
4198		},
4199	}
4200
4201	for p.Next() {
4202		if !fn(p.Page().(*ListDashboardsOutput), !p.HasNextPage()) {
4203			break
4204		}
4205	}
4206
4207	return p.Err()
4208}
4209
4210const opListGateways = "ListGateways"
4211
4212// ListGatewaysRequest generates a "aws/request.Request" representing the
4213// client's request for the ListGateways operation. The "output" return
4214// value will be populated with the request's response once the request completes
4215// successfully.
4216//
4217// Use "Send" method on the returned Request to send the API call to the service.
4218// the "output" return value is not valid until after Send returns without error.
4219//
4220// See ListGateways for more information on using the ListGateways
4221// API call, and error handling.
4222//
4223// This method is useful when you want to inject custom logic or configuration
4224// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4225//
4226//
4227//    // Example sending a request using the ListGatewaysRequest method.
4228//    req, resp := client.ListGatewaysRequest(params)
4229//
4230//    err := req.Send()
4231//    if err == nil { // resp is now filled
4232//        fmt.Println(resp)
4233//    }
4234//
4235// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListGateways
4236func (c *IoTSiteWise) ListGatewaysRequest(input *ListGatewaysInput) (req *request.Request, output *ListGatewaysOutput) {
4237	op := &request.Operation{
4238		Name:       opListGateways,
4239		HTTPMethod: "GET",
4240		HTTPPath:   "/20200301/gateways",
4241		Paginator: &request.Paginator{
4242			InputTokens:     []string{"nextToken"},
4243			OutputTokens:    []string{"nextToken"},
4244			LimitToken:      "maxResults",
4245			TruncationToken: "",
4246		},
4247	}
4248
4249	if input == nil {
4250		input = &ListGatewaysInput{}
4251	}
4252
4253	output = &ListGatewaysOutput{}
4254	req = c.newRequest(op, input, output)
4255	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("edge.", nil))
4256	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
4257	return
4258}
4259
4260// ListGateways API operation for AWS IoT SiteWise.
4261//
4262// Retrieves a paginated list of gateways.
4263//
4264// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4265// with awserr.Error's Code and Message methods to get detailed information about
4266// the error.
4267//
4268// See the AWS API reference guide for AWS IoT SiteWise's
4269// API operation ListGateways for usage and error information.
4270//
4271// Returned Error Types:
4272//   * InvalidRequestException
4273//   The request isn't valid. This can occur if your request contains malformed
4274//   JSON or unsupported characters. Check your request and try again.
4275//
4276//   * InternalFailureException
4277//   AWS IoT SiteWise can't process your request right now. Try again later.
4278//
4279//   * ThrottlingException
4280//   Your request exceeded a rate limit. For example, you might have exceeded
4281//   the number of AWS IoT SiteWise assets that can be created per second, the
4282//   allowed number of messages per second, and so on.
4283//
4284//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
4285//   in the AWS IoT SiteWise User Guide.
4286//
4287// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListGateways
4288func (c *IoTSiteWise) ListGateways(input *ListGatewaysInput) (*ListGatewaysOutput, error) {
4289	req, out := c.ListGatewaysRequest(input)
4290	return out, req.Send()
4291}
4292
4293// ListGatewaysWithContext is the same as ListGateways with the addition of
4294// the ability to pass a context and additional request options.
4295//
4296// See ListGateways for details on how to use this API operation.
4297//
4298// The context must be non-nil and will be used for request cancellation. If
4299// the context is nil a panic will occur. In the future the SDK may create
4300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4301// for more information on using Contexts.
4302func (c *IoTSiteWise) ListGatewaysWithContext(ctx aws.Context, input *ListGatewaysInput, opts ...request.Option) (*ListGatewaysOutput, error) {
4303	req, out := c.ListGatewaysRequest(input)
4304	req.SetContext(ctx)
4305	req.ApplyOptions(opts...)
4306	return out, req.Send()
4307}
4308
4309// ListGatewaysPages iterates over the pages of a ListGateways operation,
4310// calling the "fn" function with the response data for each page. To stop
4311// iterating, return false from the fn function.
4312//
4313// See ListGateways method for more information on how to use this operation.
4314//
4315// Note: This operation can generate multiple requests to a service.
4316//
4317//    // Example iterating over at most 3 pages of a ListGateways operation.
4318//    pageNum := 0
4319//    err := client.ListGatewaysPages(params,
4320//        func(page *iotsitewise.ListGatewaysOutput, lastPage bool) bool {
4321//            pageNum++
4322//            fmt.Println(page)
4323//            return pageNum <= 3
4324//        })
4325//
4326func (c *IoTSiteWise) ListGatewaysPages(input *ListGatewaysInput, fn func(*ListGatewaysOutput, bool) bool) error {
4327	return c.ListGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
4328}
4329
4330// ListGatewaysPagesWithContext same as ListGatewaysPages except
4331// it takes a Context and allows setting request options on the pages.
4332//
4333// The context must be non-nil and will be used for request cancellation. If
4334// the context is nil a panic will occur. In the future the SDK may create
4335// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4336// for more information on using Contexts.
4337func (c *IoTSiteWise) ListGatewaysPagesWithContext(ctx aws.Context, input *ListGatewaysInput, fn func(*ListGatewaysOutput, bool) bool, opts ...request.Option) error {
4338	p := request.Pagination{
4339		NewRequest: func() (*request.Request, error) {
4340			var inCpy *ListGatewaysInput
4341			if input != nil {
4342				tmp := *input
4343				inCpy = &tmp
4344			}
4345			req, _ := c.ListGatewaysRequest(inCpy)
4346			req.SetContext(ctx)
4347			req.ApplyOptions(opts...)
4348			return req, nil
4349		},
4350	}
4351
4352	for p.Next() {
4353		if !fn(p.Page().(*ListGatewaysOutput), !p.HasNextPage()) {
4354			break
4355		}
4356	}
4357
4358	return p.Err()
4359}
4360
4361const opListPortals = "ListPortals"
4362
4363// ListPortalsRequest generates a "aws/request.Request" representing the
4364// client's request for the ListPortals operation. The "output" return
4365// value will be populated with the request's response once the request completes
4366// successfully.
4367//
4368// Use "Send" method on the returned Request to send the API call to the service.
4369// the "output" return value is not valid until after Send returns without error.
4370//
4371// See ListPortals for more information on using the ListPortals
4372// API call, and error handling.
4373//
4374// This method is useful when you want to inject custom logic or configuration
4375// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4376//
4377//
4378//    // Example sending a request using the ListPortalsRequest method.
4379//    req, resp := client.ListPortalsRequest(params)
4380//
4381//    err := req.Send()
4382//    if err == nil { // resp is now filled
4383//        fmt.Println(resp)
4384//    }
4385//
4386// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListPortals
4387func (c *IoTSiteWise) ListPortalsRequest(input *ListPortalsInput) (req *request.Request, output *ListPortalsOutput) {
4388	op := &request.Operation{
4389		Name:       opListPortals,
4390		HTTPMethod: "GET",
4391		HTTPPath:   "/portals",
4392		Paginator: &request.Paginator{
4393			InputTokens:     []string{"nextToken"},
4394			OutputTokens:    []string{"nextToken"},
4395			LimitToken:      "maxResults",
4396			TruncationToken: "",
4397		},
4398	}
4399
4400	if input == nil {
4401		input = &ListPortalsInput{}
4402	}
4403
4404	output = &ListPortalsOutput{}
4405	req = c.newRequest(op, input, output)
4406	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
4407	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
4408	return
4409}
4410
4411// ListPortals API operation for AWS IoT SiteWise.
4412//
4413// Retrieves a paginated list of AWS IoT SiteWise Monitor portals.
4414//
4415// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4416// with awserr.Error's Code and Message methods to get detailed information about
4417// the error.
4418//
4419// See the AWS API reference guide for AWS IoT SiteWise's
4420// API operation ListPortals for usage and error information.
4421//
4422// Returned Error Types:
4423//   * InvalidRequestException
4424//   The request isn't valid. This can occur if your request contains malformed
4425//   JSON or unsupported characters. Check your request and try again.
4426//
4427//   * InternalFailureException
4428//   AWS IoT SiteWise can't process your request right now. Try again later.
4429//
4430//   * ThrottlingException
4431//   Your request exceeded a rate limit. For example, you might have exceeded
4432//   the number of AWS IoT SiteWise assets that can be created per second, the
4433//   allowed number of messages per second, and so on.
4434//
4435//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
4436//   in the AWS IoT SiteWise User Guide.
4437//
4438// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListPortals
4439func (c *IoTSiteWise) ListPortals(input *ListPortalsInput) (*ListPortalsOutput, error) {
4440	req, out := c.ListPortalsRequest(input)
4441	return out, req.Send()
4442}
4443
4444// ListPortalsWithContext is the same as ListPortals with the addition of
4445// the ability to pass a context and additional request options.
4446//
4447// See ListPortals for details on how to use this API operation.
4448//
4449// The context must be non-nil and will be used for request cancellation. If
4450// the context is nil a panic will occur. In the future the SDK may create
4451// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4452// for more information on using Contexts.
4453func (c *IoTSiteWise) ListPortalsWithContext(ctx aws.Context, input *ListPortalsInput, opts ...request.Option) (*ListPortalsOutput, error) {
4454	req, out := c.ListPortalsRequest(input)
4455	req.SetContext(ctx)
4456	req.ApplyOptions(opts...)
4457	return out, req.Send()
4458}
4459
4460// ListPortalsPages iterates over the pages of a ListPortals operation,
4461// calling the "fn" function with the response data for each page. To stop
4462// iterating, return false from the fn function.
4463//
4464// See ListPortals method for more information on how to use this operation.
4465//
4466// Note: This operation can generate multiple requests to a service.
4467//
4468//    // Example iterating over at most 3 pages of a ListPortals operation.
4469//    pageNum := 0
4470//    err := client.ListPortalsPages(params,
4471//        func(page *iotsitewise.ListPortalsOutput, lastPage bool) bool {
4472//            pageNum++
4473//            fmt.Println(page)
4474//            return pageNum <= 3
4475//        })
4476//
4477func (c *IoTSiteWise) ListPortalsPages(input *ListPortalsInput, fn func(*ListPortalsOutput, bool) bool) error {
4478	return c.ListPortalsPagesWithContext(aws.BackgroundContext(), input, fn)
4479}
4480
4481// ListPortalsPagesWithContext same as ListPortalsPages except
4482// it takes a Context and allows setting request options on the pages.
4483//
4484// The context must be non-nil and will be used for request cancellation. If
4485// the context is nil a panic will occur. In the future the SDK may create
4486// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4487// for more information on using Contexts.
4488func (c *IoTSiteWise) ListPortalsPagesWithContext(ctx aws.Context, input *ListPortalsInput, fn func(*ListPortalsOutput, bool) bool, opts ...request.Option) error {
4489	p := request.Pagination{
4490		NewRequest: func() (*request.Request, error) {
4491			var inCpy *ListPortalsInput
4492			if input != nil {
4493				tmp := *input
4494				inCpy = &tmp
4495			}
4496			req, _ := c.ListPortalsRequest(inCpy)
4497			req.SetContext(ctx)
4498			req.ApplyOptions(opts...)
4499			return req, nil
4500		},
4501	}
4502
4503	for p.Next() {
4504		if !fn(p.Page().(*ListPortalsOutput), !p.HasNextPage()) {
4505			break
4506		}
4507	}
4508
4509	return p.Err()
4510}
4511
4512const opListProjectAssets = "ListProjectAssets"
4513
4514// ListProjectAssetsRequest generates a "aws/request.Request" representing the
4515// client's request for the ListProjectAssets operation. The "output" return
4516// value will be populated with the request's response once the request completes
4517// successfully.
4518//
4519// Use "Send" method on the returned Request to send the API call to the service.
4520// the "output" return value is not valid until after Send returns without error.
4521//
4522// See ListProjectAssets for more information on using the ListProjectAssets
4523// API call, and error handling.
4524//
4525// This method is useful when you want to inject custom logic or configuration
4526// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4527//
4528//
4529//    // Example sending a request using the ListProjectAssetsRequest method.
4530//    req, resp := client.ListProjectAssetsRequest(params)
4531//
4532//    err := req.Send()
4533//    if err == nil { // resp is now filled
4534//        fmt.Println(resp)
4535//    }
4536//
4537// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListProjectAssets
4538func (c *IoTSiteWise) ListProjectAssetsRequest(input *ListProjectAssetsInput) (req *request.Request, output *ListProjectAssetsOutput) {
4539	op := &request.Operation{
4540		Name:       opListProjectAssets,
4541		HTTPMethod: "GET",
4542		HTTPPath:   "/projects/{projectId}/assets",
4543		Paginator: &request.Paginator{
4544			InputTokens:     []string{"nextToken"},
4545			OutputTokens:    []string{"nextToken"},
4546			LimitToken:      "maxResults",
4547			TruncationToken: "",
4548		},
4549	}
4550
4551	if input == nil {
4552		input = &ListProjectAssetsInput{}
4553	}
4554
4555	output = &ListProjectAssetsOutput{}
4556	req = c.newRequest(op, input, output)
4557	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
4558	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
4559	return
4560}
4561
4562// ListProjectAssets API operation for AWS IoT SiteWise.
4563//
4564// Retrieves a paginated list of assets associated with an AWS IoT SiteWise
4565// Monitor project.
4566//
4567// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4568// with awserr.Error's Code and Message methods to get detailed information about
4569// the error.
4570//
4571// See the AWS API reference guide for AWS IoT SiteWise's
4572// API operation ListProjectAssets for usage and error information.
4573//
4574// Returned Error Types:
4575//   * InvalidRequestException
4576//   The request isn't valid. This can occur if your request contains malformed
4577//   JSON or unsupported characters. Check your request and try again.
4578//
4579//   * InternalFailureException
4580//   AWS IoT SiteWise can't process your request right now. Try again later.
4581//
4582//   * ThrottlingException
4583//   Your request exceeded a rate limit. For example, you might have exceeded
4584//   the number of AWS IoT SiteWise assets that can be created per second, the
4585//   allowed number of messages per second, and so on.
4586//
4587//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
4588//   in the AWS IoT SiteWise User Guide.
4589//
4590// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListProjectAssets
4591func (c *IoTSiteWise) ListProjectAssets(input *ListProjectAssetsInput) (*ListProjectAssetsOutput, error) {
4592	req, out := c.ListProjectAssetsRequest(input)
4593	return out, req.Send()
4594}
4595
4596// ListProjectAssetsWithContext is the same as ListProjectAssets with the addition of
4597// the ability to pass a context and additional request options.
4598//
4599// See ListProjectAssets for details on how to use this API operation.
4600//
4601// The context must be non-nil and will be used for request cancellation. If
4602// the context is nil a panic will occur. In the future the SDK may create
4603// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4604// for more information on using Contexts.
4605func (c *IoTSiteWise) ListProjectAssetsWithContext(ctx aws.Context, input *ListProjectAssetsInput, opts ...request.Option) (*ListProjectAssetsOutput, error) {
4606	req, out := c.ListProjectAssetsRequest(input)
4607	req.SetContext(ctx)
4608	req.ApplyOptions(opts...)
4609	return out, req.Send()
4610}
4611
4612// ListProjectAssetsPages iterates over the pages of a ListProjectAssets operation,
4613// calling the "fn" function with the response data for each page. To stop
4614// iterating, return false from the fn function.
4615//
4616// See ListProjectAssets method for more information on how to use this operation.
4617//
4618// Note: This operation can generate multiple requests to a service.
4619//
4620//    // Example iterating over at most 3 pages of a ListProjectAssets operation.
4621//    pageNum := 0
4622//    err := client.ListProjectAssetsPages(params,
4623//        func(page *iotsitewise.ListProjectAssetsOutput, lastPage bool) bool {
4624//            pageNum++
4625//            fmt.Println(page)
4626//            return pageNum <= 3
4627//        })
4628//
4629func (c *IoTSiteWise) ListProjectAssetsPages(input *ListProjectAssetsInput, fn func(*ListProjectAssetsOutput, bool) bool) error {
4630	return c.ListProjectAssetsPagesWithContext(aws.BackgroundContext(), input, fn)
4631}
4632
4633// ListProjectAssetsPagesWithContext same as ListProjectAssetsPages except
4634// it takes a Context and allows setting request options on the pages.
4635//
4636// The context must be non-nil and will be used for request cancellation. If
4637// the context is nil a panic will occur. In the future the SDK may create
4638// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4639// for more information on using Contexts.
4640func (c *IoTSiteWise) ListProjectAssetsPagesWithContext(ctx aws.Context, input *ListProjectAssetsInput, fn func(*ListProjectAssetsOutput, bool) bool, opts ...request.Option) error {
4641	p := request.Pagination{
4642		NewRequest: func() (*request.Request, error) {
4643			var inCpy *ListProjectAssetsInput
4644			if input != nil {
4645				tmp := *input
4646				inCpy = &tmp
4647			}
4648			req, _ := c.ListProjectAssetsRequest(inCpy)
4649			req.SetContext(ctx)
4650			req.ApplyOptions(opts...)
4651			return req, nil
4652		},
4653	}
4654
4655	for p.Next() {
4656		if !fn(p.Page().(*ListProjectAssetsOutput), !p.HasNextPage()) {
4657			break
4658		}
4659	}
4660
4661	return p.Err()
4662}
4663
4664const opListProjects = "ListProjects"
4665
4666// ListProjectsRequest generates a "aws/request.Request" representing the
4667// client's request for the ListProjects operation. The "output" return
4668// value will be populated with the request's response once the request completes
4669// successfully.
4670//
4671// Use "Send" method on the returned Request to send the API call to the service.
4672// the "output" return value is not valid until after Send returns without error.
4673//
4674// See ListProjects for more information on using the ListProjects
4675// API call, and error handling.
4676//
4677// This method is useful when you want to inject custom logic or configuration
4678// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4679//
4680//
4681//    // Example sending a request using the ListProjectsRequest method.
4682//    req, resp := client.ListProjectsRequest(params)
4683//
4684//    err := req.Send()
4685//    if err == nil { // resp is now filled
4686//        fmt.Println(resp)
4687//    }
4688//
4689// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListProjects
4690func (c *IoTSiteWise) ListProjectsRequest(input *ListProjectsInput) (req *request.Request, output *ListProjectsOutput) {
4691	op := &request.Operation{
4692		Name:       opListProjects,
4693		HTTPMethod: "GET",
4694		HTTPPath:   "/projects",
4695		Paginator: &request.Paginator{
4696			InputTokens:     []string{"nextToken"},
4697			OutputTokens:    []string{"nextToken"},
4698			LimitToken:      "maxResults",
4699			TruncationToken: "",
4700		},
4701	}
4702
4703	if input == nil {
4704		input = &ListProjectsInput{}
4705	}
4706
4707	output = &ListProjectsOutput{}
4708	req = c.newRequest(op, input, output)
4709	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
4710	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
4711	return
4712}
4713
4714// ListProjects API operation for AWS IoT SiteWise.
4715//
4716// Retrieves a paginated list of projects for an AWS IoT SiteWise Monitor portal.
4717//
4718// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4719// with awserr.Error's Code and Message methods to get detailed information about
4720// the error.
4721//
4722// See the AWS API reference guide for AWS IoT SiteWise's
4723// API operation ListProjects for usage and error information.
4724//
4725// Returned Error Types:
4726//   * InvalidRequestException
4727//   The request isn't valid. This can occur if your request contains malformed
4728//   JSON or unsupported characters. Check your request and try again.
4729//
4730//   * InternalFailureException
4731//   AWS IoT SiteWise can't process your request right now. Try again later.
4732//
4733//   * ThrottlingException
4734//   Your request exceeded a rate limit. For example, you might have exceeded
4735//   the number of AWS IoT SiteWise assets that can be created per second, the
4736//   allowed number of messages per second, and so on.
4737//
4738//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
4739//   in the AWS IoT SiteWise User Guide.
4740//
4741// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListProjects
4742func (c *IoTSiteWise) ListProjects(input *ListProjectsInput) (*ListProjectsOutput, error) {
4743	req, out := c.ListProjectsRequest(input)
4744	return out, req.Send()
4745}
4746
4747// ListProjectsWithContext is the same as ListProjects with the addition of
4748// the ability to pass a context and additional request options.
4749//
4750// See ListProjects for details on how to use this API operation.
4751//
4752// The context must be non-nil and will be used for request cancellation. If
4753// the context is nil a panic will occur. In the future the SDK may create
4754// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4755// for more information on using Contexts.
4756func (c *IoTSiteWise) ListProjectsWithContext(ctx aws.Context, input *ListProjectsInput, opts ...request.Option) (*ListProjectsOutput, error) {
4757	req, out := c.ListProjectsRequest(input)
4758	req.SetContext(ctx)
4759	req.ApplyOptions(opts...)
4760	return out, req.Send()
4761}
4762
4763// ListProjectsPages iterates over the pages of a ListProjects operation,
4764// calling the "fn" function with the response data for each page. To stop
4765// iterating, return false from the fn function.
4766//
4767// See ListProjects method for more information on how to use this operation.
4768//
4769// Note: This operation can generate multiple requests to a service.
4770//
4771//    // Example iterating over at most 3 pages of a ListProjects operation.
4772//    pageNum := 0
4773//    err := client.ListProjectsPages(params,
4774//        func(page *iotsitewise.ListProjectsOutput, lastPage bool) bool {
4775//            pageNum++
4776//            fmt.Println(page)
4777//            return pageNum <= 3
4778//        })
4779//
4780func (c *IoTSiteWise) ListProjectsPages(input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool) error {
4781	return c.ListProjectsPagesWithContext(aws.BackgroundContext(), input, fn)
4782}
4783
4784// ListProjectsPagesWithContext same as ListProjectsPages except
4785// it takes a Context and allows setting request options on the pages.
4786//
4787// The context must be non-nil and will be used for request cancellation. If
4788// the context is nil a panic will occur. In the future the SDK may create
4789// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4790// for more information on using Contexts.
4791func (c *IoTSiteWise) ListProjectsPagesWithContext(ctx aws.Context, input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool, opts ...request.Option) error {
4792	p := request.Pagination{
4793		NewRequest: func() (*request.Request, error) {
4794			var inCpy *ListProjectsInput
4795			if input != nil {
4796				tmp := *input
4797				inCpy = &tmp
4798			}
4799			req, _ := c.ListProjectsRequest(inCpy)
4800			req.SetContext(ctx)
4801			req.ApplyOptions(opts...)
4802			return req, nil
4803		},
4804	}
4805
4806	for p.Next() {
4807		if !fn(p.Page().(*ListProjectsOutput), !p.HasNextPage()) {
4808			break
4809		}
4810	}
4811
4812	return p.Err()
4813}
4814
4815const opListTagsForResource = "ListTagsForResource"
4816
4817// ListTagsForResourceRequest generates a "aws/request.Request" representing the
4818// client's request for the ListTagsForResource operation. The "output" return
4819// value will be populated with the request's response once the request completes
4820// successfully.
4821//
4822// Use "Send" method on the returned Request to send the API call to the service.
4823// the "output" return value is not valid until after Send returns without error.
4824//
4825// See ListTagsForResource for more information on using the ListTagsForResource
4826// API call, and error handling.
4827//
4828// This method is useful when you want to inject custom logic or configuration
4829// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4830//
4831//
4832//    // Example sending a request using the ListTagsForResourceRequest method.
4833//    req, resp := client.ListTagsForResourceRequest(params)
4834//
4835//    err := req.Send()
4836//    if err == nil { // resp is now filled
4837//        fmt.Println(resp)
4838//    }
4839//
4840// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListTagsForResource
4841func (c *IoTSiteWise) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
4842	op := &request.Operation{
4843		Name:       opListTagsForResource,
4844		HTTPMethod: "GET",
4845		HTTPPath:   "/tags",
4846	}
4847
4848	if input == nil {
4849		input = &ListTagsForResourceInput{}
4850	}
4851
4852	output = &ListTagsForResourceOutput{}
4853	req = c.newRequest(op, input, output)
4854	return
4855}
4856
4857// ListTagsForResource API operation for AWS IoT SiteWise.
4858//
4859// Retrieves the list of tags for an AWS IoT SiteWise resource.
4860//
4861// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4862// with awserr.Error's Code and Message methods to get detailed information about
4863// the error.
4864//
4865// See the AWS API reference guide for AWS IoT SiteWise's
4866// API operation ListTagsForResource for usage and error information.
4867//
4868// Returned Error Types:
4869//   * InvalidRequestException
4870//   The request isn't valid. This can occur if your request contains malformed
4871//   JSON or unsupported characters. Check your request and try again.
4872//
4873//   * InternalFailureException
4874//   AWS IoT SiteWise can't process your request right now. Try again later.
4875//
4876//   * ThrottlingException
4877//   Your request exceeded a rate limit. For example, you might have exceeded
4878//   the number of AWS IoT SiteWise assets that can be created per second, the
4879//   allowed number of messages per second, and so on.
4880//
4881//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
4882//   in the AWS IoT SiteWise User Guide.
4883//
4884//   * ResourceNotFoundException
4885//   The requested resource can't be found.
4886//
4887// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListTagsForResource
4888func (c *IoTSiteWise) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
4889	req, out := c.ListTagsForResourceRequest(input)
4890	return out, req.Send()
4891}
4892
4893// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
4894// the ability to pass a context and additional request options.
4895//
4896// See ListTagsForResource for details on how to use this API operation.
4897//
4898// The context must be non-nil and will be used for request cancellation. If
4899// the context is nil a panic will occur. In the future the SDK may create
4900// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4901// for more information on using Contexts.
4902func (c *IoTSiteWise) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
4903	req, out := c.ListTagsForResourceRequest(input)
4904	req.SetContext(ctx)
4905	req.ApplyOptions(opts...)
4906	return out, req.Send()
4907}
4908
4909const opPutLoggingOptions = "PutLoggingOptions"
4910
4911// PutLoggingOptionsRequest generates a "aws/request.Request" representing the
4912// client's request for the PutLoggingOptions operation. The "output" return
4913// value will be populated with the request's response once the request completes
4914// successfully.
4915//
4916// Use "Send" method on the returned Request to send the API call to the service.
4917// the "output" return value is not valid until after Send returns without error.
4918//
4919// See PutLoggingOptions for more information on using the PutLoggingOptions
4920// API call, and error handling.
4921//
4922// This method is useful when you want to inject custom logic or configuration
4923// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4924//
4925//
4926//    // Example sending a request using the PutLoggingOptionsRequest method.
4927//    req, resp := client.PutLoggingOptionsRequest(params)
4928//
4929//    err := req.Send()
4930//    if err == nil { // resp is now filled
4931//        fmt.Println(resp)
4932//    }
4933//
4934// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutLoggingOptions
4935func (c *IoTSiteWise) PutLoggingOptionsRequest(input *PutLoggingOptionsInput) (req *request.Request, output *PutLoggingOptionsOutput) {
4936	op := &request.Operation{
4937		Name:       opPutLoggingOptions,
4938		HTTPMethod: "PUT",
4939		HTTPPath:   "/logging",
4940	}
4941
4942	if input == nil {
4943		input = &PutLoggingOptionsInput{}
4944	}
4945
4946	output = &PutLoggingOptionsOutput{}
4947	req = c.newRequest(op, input, output)
4948	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4949	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
4950	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
4951	return
4952}
4953
4954// PutLoggingOptions API operation for AWS IoT SiteWise.
4955//
4956// Sets logging options for AWS IoT SiteWise.
4957//
4958// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4959// with awserr.Error's Code and Message methods to get detailed information about
4960// the error.
4961//
4962// See the AWS API reference guide for AWS IoT SiteWise's
4963// API operation PutLoggingOptions for usage and error information.
4964//
4965// Returned Error Types:
4966//   * InvalidRequestException
4967//   The request isn't valid. This can occur if your request contains malformed
4968//   JSON or unsupported characters. Check your request and try again.
4969//
4970//   * ThrottlingException
4971//   Your request exceeded a rate limit. For example, you might have exceeded
4972//   the number of AWS IoT SiteWise assets that can be created per second, the
4973//   allowed number of messages per second, and so on.
4974//
4975//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
4976//   in the AWS IoT SiteWise User Guide.
4977//
4978//   * InternalFailureException
4979//   AWS IoT SiteWise can't process your request right now. Try again later.
4980//
4981//   * ConflictingOperationException
4982//   Your request has conflicting operations. This can occur if you're trying
4983//   to perform more than one operation on the same resource at the same time.
4984//
4985//   * ResourceNotFoundException
4986//   The requested resource can't be found.
4987//
4988// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutLoggingOptions
4989func (c *IoTSiteWise) PutLoggingOptions(input *PutLoggingOptionsInput) (*PutLoggingOptionsOutput, error) {
4990	req, out := c.PutLoggingOptionsRequest(input)
4991	return out, req.Send()
4992}
4993
4994// PutLoggingOptionsWithContext is the same as PutLoggingOptions with the addition of
4995// the ability to pass a context and additional request options.
4996//
4997// See PutLoggingOptions for details on how to use this API operation.
4998//
4999// The context must be non-nil and will be used for request cancellation. If
5000// the context is nil a panic will occur. In the future the SDK may create
5001// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5002// for more information on using Contexts.
5003func (c *IoTSiteWise) PutLoggingOptionsWithContext(ctx aws.Context, input *PutLoggingOptionsInput, opts ...request.Option) (*PutLoggingOptionsOutput, error) {
5004	req, out := c.PutLoggingOptionsRequest(input)
5005	req.SetContext(ctx)
5006	req.ApplyOptions(opts...)
5007	return out, req.Send()
5008}
5009
5010const opTagResource = "TagResource"
5011
5012// TagResourceRequest generates a "aws/request.Request" representing the
5013// client's request for the TagResource operation. The "output" return
5014// value will be populated with the request's response once the request completes
5015// successfully.
5016//
5017// Use "Send" method on the returned Request to send the API call to the service.
5018// the "output" return value is not valid until after Send returns without error.
5019//
5020// See TagResource for more information on using the TagResource
5021// API call, and error handling.
5022//
5023// This method is useful when you want to inject custom logic or configuration
5024// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5025//
5026//
5027//    // Example sending a request using the TagResourceRequest method.
5028//    req, resp := client.TagResourceRequest(params)
5029//
5030//    err := req.Send()
5031//    if err == nil { // resp is now filled
5032//        fmt.Println(resp)
5033//    }
5034//
5035// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/TagResource
5036func (c *IoTSiteWise) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
5037	op := &request.Operation{
5038		Name:       opTagResource,
5039		HTTPMethod: "POST",
5040		HTTPPath:   "/tags",
5041	}
5042
5043	if input == nil {
5044		input = &TagResourceInput{}
5045	}
5046
5047	output = &TagResourceOutput{}
5048	req = c.newRequest(op, input, output)
5049	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5050	return
5051}
5052
5053// TagResource API operation for AWS IoT SiteWise.
5054//
5055// Adds tags to an AWS IoT SiteWise resource. If a tag already exists for the
5056// resource, this operation updates the tag's value.
5057//
5058// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5059// with awserr.Error's Code and Message methods to get detailed information about
5060// the error.
5061//
5062// See the AWS API reference guide for AWS IoT SiteWise's
5063// API operation TagResource for usage and error information.
5064//
5065// Returned Error Types:
5066//   * InvalidRequestException
5067//   The request isn't valid. This can occur if your request contains malformed
5068//   JSON or unsupported characters. Check your request and try again.
5069//
5070//   * InternalFailureException
5071//   AWS IoT SiteWise can't process your request right now. Try again later.
5072//
5073//   * ThrottlingException
5074//   Your request exceeded a rate limit. For example, you might have exceeded
5075//   the number of AWS IoT SiteWise assets that can be created per second, the
5076//   allowed number of messages per second, and so on.
5077//
5078//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5079//   in the AWS IoT SiteWise User Guide.
5080//
5081//   * ResourceNotFoundException
5082//   The requested resource can't be found.
5083//
5084//   * TooManyTagsException
5085//   You've reached the limit for the number of tags allowed for a resource. For
5086//   more information, see Tag naming limits and requirements (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions)
5087//   in the AWS General Reference.
5088//
5089// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/TagResource
5090func (c *IoTSiteWise) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
5091	req, out := c.TagResourceRequest(input)
5092	return out, req.Send()
5093}
5094
5095// TagResourceWithContext is the same as TagResource with the addition of
5096// the ability to pass a context and additional request options.
5097//
5098// See TagResource for details on how to use this API operation.
5099//
5100// The context must be non-nil and will be used for request cancellation. If
5101// the context is nil a panic will occur. In the future the SDK may create
5102// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5103// for more information on using Contexts.
5104func (c *IoTSiteWise) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
5105	req, out := c.TagResourceRequest(input)
5106	req.SetContext(ctx)
5107	req.ApplyOptions(opts...)
5108	return out, req.Send()
5109}
5110
5111const opUntagResource = "UntagResource"
5112
5113// UntagResourceRequest generates a "aws/request.Request" representing the
5114// client's request for the UntagResource operation. The "output" return
5115// value will be populated with the request's response once the request completes
5116// successfully.
5117//
5118// Use "Send" method on the returned Request to send the API call to the service.
5119// the "output" return value is not valid until after Send returns without error.
5120//
5121// See UntagResource for more information on using the UntagResource
5122// API call, and error handling.
5123//
5124// This method is useful when you want to inject custom logic or configuration
5125// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5126//
5127//
5128//    // Example sending a request using the UntagResourceRequest method.
5129//    req, resp := client.UntagResourceRequest(params)
5130//
5131//    err := req.Send()
5132//    if err == nil { // resp is now filled
5133//        fmt.Println(resp)
5134//    }
5135//
5136// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UntagResource
5137func (c *IoTSiteWise) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
5138	op := &request.Operation{
5139		Name:       opUntagResource,
5140		HTTPMethod: "DELETE",
5141		HTTPPath:   "/tags",
5142	}
5143
5144	if input == nil {
5145		input = &UntagResourceInput{}
5146	}
5147
5148	output = &UntagResourceOutput{}
5149	req = c.newRequest(op, input, output)
5150	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5151	return
5152}
5153
5154// UntagResource API operation for AWS IoT SiteWise.
5155//
5156// Removes a tag from an AWS IoT SiteWise resource.
5157//
5158// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5159// with awserr.Error's Code and Message methods to get detailed information about
5160// the error.
5161//
5162// See the AWS API reference guide for AWS IoT SiteWise's
5163// API operation UntagResource for usage and error information.
5164//
5165// Returned Error Types:
5166//   * InvalidRequestException
5167//   The request isn't valid. This can occur if your request contains malformed
5168//   JSON or unsupported characters. Check your request and try again.
5169//
5170//   * InternalFailureException
5171//   AWS IoT SiteWise can't process your request right now. Try again later.
5172//
5173//   * ThrottlingException
5174//   Your request exceeded a rate limit. For example, you might have exceeded
5175//   the number of AWS IoT SiteWise assets that can be created per second, the
5176//   allowed number of messages per second, and so on.
5177//
5178//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5179//   in the AWS IoT SiteWise User Guide.
5180//
5181//   * ResourceNotFoundException
5182//   The requested resource can't be found.
5183//
5184// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UntagResource
5185func (c *IoTSiteWise) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
5186	req, out := c.UntagResourceRequest(input)
5187	return out, req.Send()
5188}
5189
5190// UntagResourceWithContext is the same as UntagResource with the addition of
5191// the ability to pass a context and additional request options.
5192//
5193// See UntagResource for details on how to use this API operation.
5194//
5195// The context must be non-nil and will be used for request cancellation. If
5196// the context is nil a panic will occur. In the future the SDK may create
5197// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5198// for more information on using Contexts.
5199func (c *IoTSiteWise) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
5200	req, out := c.UntagResourceRequest(input)
5201	req.SetContext(ctx)
5202	req.ApplyOptions(opts...)
5203	return out, req.Send()
5204}
5205
5206const opUpdateAccessPolicy = "UpdateAccessPolicy"
5207
5208// UpdateAccessPolicyRequest generates a "aws/request.Request" representing the
5209// client's request for the UpdateAccessPolicy operation. The "output" return
5210// value will be populated with the request's response once the request completes
5211// successfully.
5212//
5213// Use "Send" method on the returned Request to send the API call to the service.
5214// the "output" return value is not valid until after Send returns without error.
5215//
5216// See UpdateAccessPolicy for more information on using the UpdateAccessPolicy
5217// API call, and error handling.
5218//
5219// This method is useful when you want to inject custom logic or configuration
5220// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5221//
5222//
5223//    // Example sending a request using the UpdateAccessPolicyRequest method.
5224//    req, resp := client.UpdateAccessPolicyRequest(params)
5225//
5226//    err := req.Send()
5227//    if err == nil { // resp is now filled
5228//        fmt.Println(resp)
5229//    }
5230//
5231// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAccessPolicy
5232func (c *IoTSiteWise) UpdateAccessPolicyRequest(input *UpdateAccessPolicyInput) (req *request.Request, output *UpdateAccessPolicyOutput) {
5233	op := &request.Operation{
5234		Name:       opUpdateAccessPolicy,
5235		HTTPMethod: "PUT",
5236		HTTPPath:   "/access-policies/{accessPolicyId}",
5237	}
5238
5239	if input == nil {
5240		input = &UpdateAccessPolicyInput{}
5241	}
5242
5243	output = &UpdateAccessPolicyOutput{}
5244	req = c.newRequest(op, input, output)
5245	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5246	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
5247	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
5248	return
5249}
5250
5251// UpdateAccessPolicy API operation for AWS IoT SiteWise.
5252//
5253// Updates an existing access policy that specifies an AWS SSO user or group's
5254// access to an AWS IoT SiteWise Monitor portal or project resource.
5255//
5256// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5257// with awserr.Error's Code and Message methods to get detailed information about
5258// the error.
5259//
5260// See the AWS API reference guide for AWS IoT SiteWise's
5261// API operation UpdateAccessPolicy for usage and error information.
5262//
5263// Returned Error Types:
5264//   * InvalidRequestException
5265//   The request isn't valid. This can occur if your request contains malformed
5266//   JSON or unsupported characters. Check your request and try again.
5267//
5268//   * ResourceNotFoundException
5269//   The requested resource can't be found.
5270//
5271//   * InternalFailureException
5272//   AWS 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 AWS IoT SiteWise assets that can be created per second, the
5277//   allowed 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 AWS IoT SiteWise User Guide.
5281//
5282// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAccessPolicy
5283func (c *IoTSiteWise) UpdateAccessPolicy(input *UpdateAccessPolicyInput) (*UpdateAccessPolicyOutput, error) {
5284	req, out := c.UpdateAccessPolicyRequest(input)
5285	return out, req.Send()
5286}
5287
5288// UpdateAccessPolicyWithContext is the same as UpdateAccessPolicy with the addition of
5289// the ability to pass a context and additional request options.
5290//
5291// See UpdateAccessPolicy 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.
5297func (c *IoTSiteWise) UpdateAccessPolicyWithContext(ctx aws.Context, input *UpdateAccessPolicyInput, opts ...request.Option) (*UpdateAccessPolicyOutput, error) {
5298	req, out := c.UpdateAccessPolicyRequest(input)
5299	req.SetContext(ctx)
5300	req.ApplyOptions(opts...)
5301	return out, req.Send()
5302}
5303
5304const opUpdateAsset = "UpdateAsset"
5305
5306// UpdateAssetRequest generates a "aws/request.Request" representing the
5307// client's request for the UpdateAsset operation. The "output" return
5308// value will be populated with the request's response once the request completes
5309// successfully.
5310//
5311// Use "Send" method on the returned Request to send the API call to the service.
5312// the "output" return value is not valid until after Send returns without error.
5313//
5314// See UpdateAsset for more information on using the UpdateAsset
5315// API call, and error handling.
5316//
5317// This method is useful when you want to inject custom logic or configuration
5318// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5319//
5320//
5321//    // Example sending a request using the UpdateAssetRequest method.
5322//    req, resp := client.UpdateAssetRequest(params)
5323//
5324//    err := req.Send()
5325//    if err == nil { // resp is now filled
5326//        fmt.Println(resp)
5327//    }
5328//
5329// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAsset
5330func (c *IoTSiteWise) UpdateAssetRequest(input *UpdateAssetInput) (req *request.Request, output *UpdateAssetOutput) {
5331	op := &request.Operation{
5332		Name:       opUpdateAsset,
5333		HTTPMethod: "PUT",
5334		HTTPPath:   "/assets/{assetId}",
5335	}
5336
5337	if input == nil {
5338		input = &UpdateAssetInput{}
5339	}
5340
5341	output = &UpdateAssetOutput{}
5342	req = c.newRequest(op, input, output)
5343	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
5344	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
5345	return
5346}
5347
5348// UpdateAsset API operation for AWS IoT SiteWise.
5349//
5350// Updates an asset's name. For more information, see Updating Assets and Models
5351// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-assets-and-models.html)
5352// in the AWS IoT SiteWise User Guide.
5353//
5354// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5355// with awserr.Error's Code and Message methods to get detailed information about
5356// the error.
5357//
5358// See the AWS API reference guide for AWS IoT SiteWise's
5359// API operation UpdateAsset for usage and error information.
5360//
5361// Returned Error Types:
5362//   * InvalidRequestException
5363//   The request isn't valid. This can occur if your request contains malformed
5364//   JSON or unsupported characters. Check your request and try again.
5365//
5366//   * ResourceAlreadyExistsException
5367//   The resource already exists.
5368//
5369//   * ResourceNotFoundException
5370//   The requested resource can't be found.
5371//
5372//   * InternalFailureException
5373//   AWS IoT SiteWise can't process your request right now. Try again later.
5374//
5375//   * ThrottlingException
5376//   Your request exceeded a rate limit. For example, you might have exceeded
5377//   the number of AWS IoT SiteWise assets that can be created per second, the
5378//   allowed number of messages per second, and so on.
5379//
5380//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5381//   in the AWS IoT SiteWise User Guide.
5382//
5383//   * ConflictingOperationException
5384//   Your request has conflicting operations. This can occur if you're trying
5385//   to perform more than one operation on the same resource at the same time.
5386//
5387// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAsset
5388func (c *IoTSiteWise) UpdateAsset(input *UpdateAssetInput) (*UpdateAssetOutput, error) {
5389	req, out := c.UpdateAssetRequest(input)
5390	return out, req.Send()
5391}
5392
5393// UpdateAssetWithContext is the same as UpdateAsset with the addition of
5394// the ability to pass a context and additional request options.
5395//
5396// See UpdateAsset for details on how to use this API operation.
5397//
5398// The context must be non-nil and will be used for request cancellation. If
5399// the context is nil a panic will occur. In the future the SDK may create
5400// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5401// for more information on using Contexts.
5402func (c *IoTSiteWise) UpdateAssetWithContext(ctx aws.Context, input *UpdateAssetInput, opts ...request.Option) (*UpdateAssetOutput, error) {
5403	req, out := c.UpdateAssetRequest(input)
5404	req.SetContext(ctx)
5405	req.ApplyOptions(opts...)
5406	return out, req.Send()
5407}
5408
5409const opUpdateAssetModel = "UpdateAssetModel"
5410
5411// UpdateAssetModelRequest generates a "aws/request.Request" representing the
5412// client's request for the UpdateAssetModel operation. The "output" return
5413// value will be populated with the request's response once the request completes
5414// successfully.
5415//
5416// Use "Send" method on the returned Request to send the API call to the service.
5417// the "output" return value is not valid until after Send returns without error.
5418//
5419// See UpdateAssetModel for more information on using the UpdateAssetModel
5420// API call, and error handling.
5421//
5422// This method is useful when you want to inject custom logic or configuration
5423// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5424//
5425//
5426//    // Example sending a request using the UpdateAssetModelRequest method.
5427//    req, resp := client.UpdateAssetModelRequest(params)
5428//
5429//    err := req.Send()
5430//    if err == nil { // resp is now filled
5431//        fmt.Println(resp)
5432//    }
5433//
5434// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAssetModel
5435func (c *IoTSiteWise) UpdateAssetModelRequest(input *UpdateAssetModelInput) (req *request.Request, output *UpdateAssetModelOutput) {
5436	op := &request.Operation{
5437		Name:       opUpdateAssetModel,
5438		HTTPMethod: "PUT",
5439		HTTPPath:   "/asset-models/{assetModelId}",
5440	}
5441
5442	if input == nil {
5443		input = &UpdateAssetModelInput{}
5444	}
5445
5446	output = &UpdateAssetModelOutput{}
5447	req = c.newRequest(op, input, output)
5448	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
5449	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
5450	return
5451}
5452
5453// UpdateAssetModel API operation for AWS IoT SiteWise.
5454//
5455// Updates an asset model and all of the assets that were created from the model.
5456// Each asset created from the model inherits the updated asset model's property
5457// and hierarchy definitions. For more information, see Updating Assets and
5458// Models (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-assets-and-models.html)
5459// in the AWS IoT SiteWise User Guide.
5460//
5461// This operation overwrites the existing model with the provided model. To
5462// avoid deleting your asset model's properties or hierarchies, you must include
5463// their IDs and definitions in the updated asset model payload. For more information,
5464// see DescribeAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html).
5465//
5466// If you remove a property from an asset model or update a property's formula
5467// expression, AWS IoT SiteWise deletes all previous data for that property.
5468// If you remove a hierarchy definition from an asset model, AWS IoT SiteWise
5469// disassociates every asset associated with that hierarchy. You can't change
5470// the type or data type of an existing property.
5471//
5472// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5473// with awserr.Error's Code and Message methods to get detailed information about
5474// the error.
5475//
5476// See the AWS API reference guide for AWS IoT SiteWise's
5477// API operation UpdateAssetModel for usage and error information.
5478//
5479// Returned Error Types:
5480//   * InvalidRequestException
5481//   The request isn't valid. This can occur if your request contains malformed
5482//   JSON or unsupported characters. Check your request and try again.
5483//
5484//   * ResourceAlreadyExistsException
5485//   The resource already exists.
5486//
5487//   * ResourceNotFoundException
5488//   The requested resource can't be found.
5489//
5490//   * InternalFailureException
5491//   AWS IoT SiteWise can't process your request right now. Try again later.
5492//
5493//   * LimitExceededException
5494//   You've reached the limit for a resource. For example, this can occur if you're
5495//   trying to associate more than the allowed number of child assets or attempting
5496//   to create more than the allowed number of properties for an asset model.
5497//
5498//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5499//   in the AWS IoT SiteWise User Guide.
5500//
5501//   * ThrottlingException
5502//   Your request exceeded a rate limit. For example, you might have exceeded
5503//   the number of AWS IoT SiteWise assets that can be created per second, the
5504//   allowed number of messages per second, and so on.
5505//
5506//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5507//   in the AWS IoT SiteWise User Guide.
5508//
5509//   * ConflictingOperationException
5510//   Your request has conflicting operations. This can occur if you're trying
5511//   to perform more than one operation on the same resource at the same time.
5512//
5513// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAssetModel
5514func (c *IoTSiteWise) UpdateAssetModel(input *UpdateAssetModelInput) (*UpdateAssetModelOutput, error) {
5515	req, out := c.UpdateAssetModelRequest(input)
5516	return out, req.Send()
5517}
5518
5519// UpdateAssetModelWithContext is the same as UpdateAssetModel with the addition of
5520// the ability to pass a context and additional request options.
5521//
5522// See UpdateAssetModel for details on how to use this API operation.
5523//
5524// The context must be non-nil and will be used for request cancellation. If
5525// the context is nil a panic will occur. In the future the SDK may create
5526// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5527// for more information on using Contexts.
5528func (c *IoTSiteWise) UpdateAssetModelWithContext(ctx aws.Context, input *UpdateAssetModelInput, opts ...request.Option) (*UpdateAssetModelOutput, error) {
5529	req, out := c.UpdateAssetModelRequest(input)
5530	req.SetContext(ctx)
5531	req.ApplyOptions(opts...)
5532	return out, req.Send()
5533}
5534
5535const opUpdateAssetProperty = "UpdateAssetProperty"
5536
5537// UpdateAssetPropertyRequest generates a "aws/request.Request" representing the
5538// client's request for the UpdateAssetProperty operation. The "output" return
5539// value will be populated with the request's response once the request completes
5540// successfully.
5541//
5542// Use "Send" method on the returned Request to send the API call to the service.
5543// the "output" return value is not valid until after Send returns without error.
5544//
5545// See UpdateAssetProperty for more information on using the UpdateAssetProperty
5546// API call, and error handling.
5547//
5548// This method is useful when you want to inject custom logic or configuration
5549// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5550//
5551//
5552//    // Example sending a request using the UpdateAssetPropertyRequest method.
5553//    req, resp := client.UpdateAssetPropertyRequest(params)
5554//
5555//    err := req.Send()
5556//    if err == nil { // resp is now filled
5557//        fmt.Println(resp)
5558//    }
5559//
5560// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAssetProperty
5561func (c *IoTSiteWise) UpdateAssetPropertyRequest(input *UpdateAssetPropertyInput) (req *request.Request, output *UpdateAssetPropertyOutput) {
5562	op := &request.Operation{
5563		Name:       opUpdateAssetProperty,
5564		HTTPMethod: "PUT",
5565		HTTPPath:   "/assets/{assetId}/properties/{propertyId}",
5566	}
5567
5568	if input == nil {
5569		input = &UpdateAssetPropertyInput{}
5570	}
5571
5572	output = &UpdateAssetPropertyOutput{}
5573	req = c.newRequest(op, input, output)
5574	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5575	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
5576	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
5577	return
5578}
5579
5580// UpdateAssetProperty API operation for AWS IoT SiteWise.
5581//
5582// Updates an asset property's alias and notification state.
5583//
5584// This operation overwrites the property's existing alias and notification
5585// state. To keep your existing property's alias or notification state, you
5586// must include the existing values in the UpdateAssetProperty request. For
5587// more information, see DescribeAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetProperty.html).
5588//
5589// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5590// with awserr.Error's Code and Message methods to get detailed information about
5591// the error.
5592//
5593// See the AWS API reference guide for AWS IoT SiteWise's
5594// API operation UpdateAssetProperty for usage and error information.
5595//
5596// Returned Error Types:
5597//   * InvalidRequestException
5598//   The request isn't valid. This can occur if your request contains malformed
5599//   JSON or unsupported characters. Check your request and try again.
5600//
5601//   * ResourceNotFoundException
5602//   The requested resource can't be found.
5603//
5604//   * InternalFailureException
5605//   AWS IoT SiteWise can't process your request right now. Try again later.
5606//
5607//   * ThrottlingException
5608//   Your request exceeded a rate limit. For example, you might have exceeded
5609//   the number of AWS IoT SiteWise assets that can be created per second, the
5610//   allowed number of messages per second, and so on.
5611//
5612//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5613//   in the AWS IoT SiteWise User Guide.
5614//
5615//   * ConflictingOperationException
5616//   Your request has conflicting operations. This can occur if you're trying
5617//   to perform more than one operation on the same resource at the same time.
5618//
5619// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAssetProperty
5620func (c *IoTSiteWise) UpdateAssetProperty(input *UpdateAssetPropertyInput) (*UpdateAssetPropertyOutput, error) {
5621	req, out := c.UpdateAssetPropertyRequest(input)
5622	return out, req.Send()
5623}
5624
5625// UpdateAssetPropertyWithContext is the same as UpdateAssetProperty with the addition of
5626// the ability to pass a context and additional request options.
5627//
5628// See UpdateAssetProperty for details on how to use this API operation.
5629//
5630// The context must be non-nil and will be used for request cancellation. If
5631// the context is nil a panic will occur. In the future the SDK may create
5632// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5633// for more information on using Contexts.
5634func (c *IoTSiteWise) UpdateAssetPropertyWithContext(ctx aws.Context, input *UpdateAssetPropertyInput, opts ...request.Option) (*UpdateAssetPropertyOutput, error) {
5635	req, out := c.UpdateAssetPropertyRequest(input)
5636	req.SetContext(ctx)
5637	req.ApplyOptions(opts...)
5638	return out, req.Send()
5639}
5640
5641const opUpdateDashboard = "UpdateDashboard"
5642
5643// UpdateDashboardRequest generates a "aws/request.Request" representing the
5644// client's request for the UpdateDashboard operation. The "output" return
5645// value will be populated with the request's response once the request completes
5646// successfully.
5647//
5648// Use "Send" method on the returned Request to send the API call to the service.
5649// the "output" return value is not valid until after Send returns without error.
5650//
5651// See UpdateDashboard for more information on using the UpdateDashboard
5652// API call, and error handling.
5653//
5654// This method is useful when you want to inject custom logic or configuration
5655// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5656//
5657//
5658//    // Example sending a request using the UpdateDashboardRequest method.
5659//    req, resp := client.UpdateDashboardRequest(params)
5660//
5661//    err := req.Send()
5662//    if err == nil { // resp is now filled
5663//        fmt.Println(resp)
5664//    }
5665//
5666// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateDashboard
5667func (c *IoTSiteWise) UpdateDashboardRequest(input *UpdateDashboardInput) (req *request.Request, output *UpdateDashboardOutput) {
5668	op := &request.Operation{
5669		Name:       opUpdateDashboard,
5670		HTTPMethod: "PUT",
5671		HTTPPath:   "/dashboards/{dashboardId}",
5672	}
5673
5674	if input == nil {
5675		input = &UpdateDashboardInput{}
5676	}
5677
5678	output = &UpdateDashboardOutput{}
5679	req = c.newRequest(op, input, output)
5680	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5681	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
5682	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
5683	return
5684}
5685
5686// UpdateDashboard API operation for AWS IoT SiteWise.
5687//
5688// Updates an AWS IoT SiteWise Monitor dashboard.
5689//
5690// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5691// with awserr.Error's Code and Message methods to get detailed information about
5692// the error.
5693//
5694// See the AWS API reference guide for AWS IoT SiteWise's
5695// API operation UpdateDashboard for usage and error information.
5696//
5697// Returned Error Types:
5698//   * InvalidRequestException
5699//   The request isn't valid. This can occur if your request contains malformed
5700//   JSON or unsupported characters. Check your request and try again.
5701//
5702//   * ResourceNotFoundException
5703//   The requested resource can't be found.
5704//
5705//   * InternalFailureException
5706//   AWS IoT SiteWise can't process your request right now. Try again later.
5707//
5708//   * ThrottlingException
5709//   Your request exceeded a rate limit. For example, you might have exceeded
5710//   the number of AWS IoT SiteWise assets that can be created per second, the
5711//   allowed number of messages per second, and so on.
5712//
5713//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5714//   in the AWS IoT SiteWise User Guide.
5715//
5716// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateDashboard
5717func (c *IoTSiteWise) UpdateDashboard(input *UpdateDashboardInput) (*UpdateDashboardOutput, error) {
5718	req, out := c.UpdateDashboardRequest(input)
5719	return out, req.Send()
5720}
5721
5722// UpdateDashboardWithContext is the same as UpdateDashboard with the addition of
5723// the ability to pass a context and additional request options.
5724//
5725// See UpdateDashboard for details on how to use this API operation.
5726//
5727// The context must be non-nil and will be used for request cancellation. If
5728// the context is nil a panic will occur. In the future the SDK may create
5729// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5730// for more information on using Contexts.
5731func (c *IoTSiteWise) UpdateDashboardWithContext(ctx aws.Context, input *UpdateDashboardInput, opts ...request.Option) (*UpdateDashboardOutput, error) {
5732	req, out := c.UpdateDashboardRequest(input)
5733	req.SetContext(ctx)
5734	req.ApplyOptions(opts...)
5735	return out, req.Send()
5736}
5737
5738const opUpdateGateway = "UpdateGateway"
5739
5740// UpdateGatewayRequest generates a "aws/request.Request" representing the
5741// client's request for the UpdateGateway operation. The "output" return
5742// value will be populated with the request's response once the request completes
5743// successfully.
5744//
5745// Use "Send" method on the returned Request to send the API call to the service.
5746// the "output" return value is not valid until after Send returns without error.
5747//
5748// See UpdateGateway for more information on using the UpdateGateway
5749// API call, and error handling.
5750//
5751// This method is useful when you want to inject custom logic or configuration
5752// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5753//
5754//
5755//    // Example sending a request using the UpdateGatewayRequest method.
5756//    req, resp := client.UpdateGatewayRequest(params)
5757//
5758//    err := req.Send()
5759//    if err == nil { // resp is now filled
5760//        fmt.Println(resp)
5761//    }
5762//
5763// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateGateway
5764func (c *IoTSiteWise) UpdateGatewayRequest(input *UpdateGatewayInput) (req *request.Request, output *UpdateGatewayOutput) {
5765	op := &request.Operation{
5766		Name:       opUpdateGateway,
5767		HTTPMethod: "PUT",
5768		HTTPPath:   "/20200301/gateways/{gatewayId}",
5769	}
5770
5771	if input == nil {
5772		input = &UpdateGatewayInput{}
5773	}
5774
5775	output = &UpdateGatewayOutput{}
5776	req = c.newRequest(op, input, output)
5777	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5778	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("edge.", nil))
5779	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
5780	return
5781}
5782
5783// UpdateGateway API operation for AWS IoT SiteWise.
5784//
5785// Updates a gateway's name.
5786//
5787// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5788// with awserr.Error's Code and Message methods to get detailed information about
5789// the error.
5790//
5791// See the AWS API reference guide for AWS IoT SiteWise's
5792// API operation UpdateGateway for usage and error information.
5793//
5794// Returned Error Types:
5795//   * InvalidRequestException
5796//   The request isn't valid. This can occur if your request contains malformed
5797//   JSON or unsupported characters. Check your request and try again.
5798//
5799//   * ResourceNotFoundException
5800//   The requested resource can't be found.
5801//
5802//   * ConflictingOperationException
5803//   Your request has conflicting operations. This can occur if you're trying
5804//   to perform more than one operation on the same resource at the same time.
5805//
5806//   * InternalFailureException
5807//   AWS IoT SiteWise can't process your request right now. Try again later.
5808//
5809//   * ThrottlingException
5810//   Your request exceeded a rate limit. For example, you might have exceeded
5811//   the number of AWS IoT SiteWise assets that can be created per second, the
5812//   allowed number of messages per second, and so on.
5813//
5814//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5815//   in the AWS IoT SiteWise User Guide.
5816//
5817// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateGateway
5818func (c *IoTSiteWise) UpdateGateway(input *UpdateGatewayInput) (*UpdateGatewayOutput, error) {
5819	req, out := c.UpdateGatewayRequest(input)
5820	return out, req.Send()
5821}
5822
5823// UpdateGatewayWithContext is the same as UpdateGateway with the addition of
5824// the ability to pass a context and additional request options.
5825//
5826// See UpdateGateway for details on how to use this API operation.
5827//
5828// The context must be non-nil and will be used for request cancellation. If
5829// the context is nil a panic will occur. In the future the SDK may create
5830// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5831// for more information on using Contexts.
5832func (c *IoTSiteWise) UpdateGatewayWithContext(ctx aws.Context, input *UpdateGatewayInput, opts ...request.Option) (*UpdateGatewayOutput, error) {
5833	req, out := c.UpdateGatewayRequest(input)
5834	req.SetContext(ctx)
5835	req.ApplyOptions(opts...)
5836	return out, req.Send()
5837}
5838
5839const opUpdateGatewayCapabilityConfiguration = "UpdateGatewayCapabilityConfiguration"
5840
5841// UpdateGatewayCapabilityConfigurationRequest generates a "aws/request.Request" representing the
5842// client's request for the UpdateGatewayCapabilityConfiguration operation. The "output" return
5843// value will be populated with the request's response once the request completes
5844// successfully.
5845//
5846// Use "Send" method on the returned Request to send the API call to the service.
5847// the "output" return value is not valid until after Send returns without error.
5848//
5849// See UpdateGatewayCapabilityConfiguration for more information on using the UpdateGatewayCapabilityConfiguration
5850// API call, and error handling.
5851//
5852// This method is useful when you want to inject custom logic or configuration
5853// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5854//
5855//
5856//    // Example sending a request using the UpdateGatewayCapabilityConfigurationRequest method.
5857//    req, resp := client.UpdateGatewayCapabilityConfigurationRequest(params)
5858//
5859//    err := req.Send()
5860//    if err == nil { // resp is now filled
5861//        fmt.Println(resp)
5862//    }
5863//
5864// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateGatewayCapabilityConfiguration
5865func (c *IoTSiteWise) UpdateGatewayCapabilityConfigurationRequest(input *UpdateGatewayCapabilityConfigurationInput) (req *request.Request, output *UpdateGatewayCapabilityConfigurationOutput) {
5866	op := &request.Operation{
5867		Name:       opUpdateGatewayCapabilityConfiguration,
5868		HTTPMethod: "POST",
5869		HTTPPath:   "/20200301/gateways/{gatewayId}/capability",
5870	}
5871
5872	if input == nil {
5873		input = &UpdateGatewayCapabilityConfigurationInput{}
5874	}
5875
5876	output = &UpdateGatewayCapabilityConfigurationOutput{}
5877	req = c.newRequest(op, input, output)
5878	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("edge.", nil))
5879	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
5880	return
5881}
5882
5883// UpdateGatewayCapabilityConfiguration API operation for AWS IoT SiteWise.
5884//
5885// Updates a gateway capability configuration or defines a new capability configuration.
5886// Each gateway capability defines data sources for a gateway. A capability
5887// configuration can contain multiple data source configurations. If you define
5888// OPC-UA sources for a gateway in the AWS IoT SiteWise console, all of your
5889// OPC-UA sources are stored in one capability configuration. To list all capability
5890// configurations for a gateway, use DescribeGateway (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGateway.html).
5891//
5892// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5893// with awserr.Error's Code and Message methods to get detailed information about
5894// the error.
5895//
5896// See the AWS API reference guide for AWS IoT SiteWise's
5897// API operation UpdateGatewayCapabilityConfiguration for usage and error information.
5898//
5899// Returned Error Types:
5900//   * InvalidRequestException
5901//   The request isn't valid. This can occur if your request contains malformed
5902//   JSON or unsupported characters. Check your request and try again.
5903//
5904//   * ResourceNotFoundException
5905//   The requested resource can't be found.
5906//
5907//   * ConflictingOperationException
5908//   Your request has conflicting operations. This can occur if you're trying
5909//   to perform more than one operation on the same resource at the same time.
5910//
5911//   * InternalFailureException
5912//   AWS IoT SiteWise can't process your request right now. Try again later.
5913//
5914//   * ThrottlingException
5915//   Your request exceeded a rate limit. For example, you might have exceeded
5916//   the number of AWS IoT SiteWise assets that can be created per second, the
5917//   allowed number of messages per second, and so on.
5918//
5919//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5920//   in the AWS IoT SiteWise User Guide.
5921//
5922//   * LimitExceededException
5923//   You've reached the limit for a resource. For example, this can occur if you're
5924//   trying to associate more than the allowed number of child assets or attempting
5925//   to create more than the allowed number of properties for an asset model.
5926//
5927//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5928//   in the AWS IoT SiteWise User Guide.
5929//
5930// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateGatewayCapabilityConfiguration
5931func (c *IoTSiteWise) UpdateGatewayCapabilityConfiguration(input *UpdateGatewayCapabilityConfigurationInput) (*UpdateGatewayCapabilityConfigurationOutput, error) {
5932	req, out := c.UpdateGatewayCapabilityConfigurationRequest(input)
5933	return out, req.Send()
5934}
5935
5936// UpdateGatewayCapabilityConfigurationWithContext is the same as UpdateGatewayCapabilityConfiguration with the addition of
5937// the ability to pass a context and additional request options.
5938//
5939// See UpdateGatewayCapabilityConfiguration for details on how to use this API operation.
5940//
5941// The context must be non-nil and will be used for request cancellation. If
5942// the context is nil a panic will occur. In the future the SDK may create
5943// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5944// for more information on using Contexts.
5945func (c *IoTSiteWise) UpdateGatewayCapabilityConfigurationWithContext(ctx aws.Context, input *UpdateGatewayCapabilityConfigurationInput, opts ...request.Option) (*UpdateGatewayCapabilityConfigurationOutput, error) {
5946	req, out := c.UpdateGatewayCapabilityConfigurationRequest(input)
5947	req.SetContext(ctx)
5948	req.ApplyOptions(opts...)
5949	return out, req.Send()
5950}
5951
5952const opUpdatePortal = "UpdatePortal"
5953
5954// UpdatePortalRequest generates a "aws/request.Request" representing the
5955// client's request for the UpdatePortal operation. The "output" return
5956// value will be populated with the request's response once the request completes
5957// successfully.
5958//
5959// Use "Send" method on the returned Request to send the API call to the service.
5960// the "output" return value is not valid until after Send returns without error.
5961//
5962// See UpdatePortal for more information on using the UpdatePortal
5963// API call, and error handling.
5964//
5965// This method is useful when you want to inject custom logic or configuration
5966// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5967//
5968//
5969//    // Example sending a request using the UpdatePortalRequest method.
5970//    req, resp := client.UpdatePortalRequest(params)
5971//
5972//    err := req.Send()
5973//    if err == nil { // resp is now filled
5974//        fmt.Println(resp)
5975//    }
5976//
5977// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdatePortal
5978func (c *IoTSiteWise) UpdatePortalRequest(input *UpdatePortalInput) (req *request.Request, output *UpdatePortalOutput) {
5979	op := &request.Operation{
5980		Name:       opUpdatePortal,
5981		HTTPMethod: "PUT",
5982		HTTPPath:   "/portals/{portalId}",
5983	}
5984
5985	if input == nil {
5986		input = &UpdatePortalInput{}
5987	}
5988
5989	output = &UpdatePortalOutput{}
5990	req = c.newRequest(op, input, output)
5991	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
5992	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
5993	return
5994}
5995
5996// UpdatePortal API operation for AWS IoT SiteWise.
5997//
5998// Updates an AWS IoT SiteWise Monitor portal.
5999//
6000// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6001// with awserr.Error's Code and Message methods to get detailed information about
6002// the error.
6003//
6004// See the AWS API reference guide for AWS IoT SiteWise's
6005// API operation UpdatePortal for usage and error information.
6006//
6007// Returned Error Types:
6008//   * InvalidRequestException
6009//   The request isn't valid. This can occur if your request contains malformed
6010//   JSON or unsupported characters. Check your request and try again.
6011//
6012//   * ResourceNotFoundException
6013//   The requested resource can't be found.
6014//
6015//   * InternalFailureException
6016//   AWS IoT SiteWise can't process your request right now. Try again later.
6017//
6018//   * ThrottlingException
6019//   Your request exceeded a rate limit. For example, you might have exceeded
6020//   the number of AWS IoT SiteWise assets that can be created per second, the
6021//   allowed number of messages per second, and so on.
6022//
6023//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
6024//   in the AWS IoT SiteWise User Guide.
6025//
6026//   * ConflictingOperationException
6027//   Your request has conflicting operations. This can occur if you're trying
6028//   to perform more than one operation on the same resource at the same time.
6029//
6030// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdatePortal
6031func (c *IoTSiteWise) UpdatePortal(input *UpdatePortalInput) (*UpdatePortalOutput, error) {
6032	req, out := c.UpdatePortalRequest(input)
6033	return out, req.Send()
6034}
6035
6036// UpdatePortalWithContext is the same as UpdatePortal with the addition of
6037// the ability to pass a context and additional request options.
6038//
6039// See UpdatePortal for details on how to use this API operation.
6040//
6041// The context must be non-nil and will be used for request cancellation. If
6042// the context is nil a panic will occur. In the future the SDK may create
6043// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6044// for more information on using Contexts.
6045func (c *IoTSiteWise) UpdatePortalWithContext(ctx aws.Context, input *UpdatePortalInput, opts ...request.Option) (*UpdatePortalOutput, error) {
6046	req, out := c.UpdatePortalRequest(input)
6047	req.SetContext(ctx)
6048	req.ApplyOptions(opts...)
6049	return out, req.Send()
6050}
6051
6052const opUpdateProject = "UpdateProject"
6053
6054// UpdateProjectRequest generates a "aws/request.Request" representing the
6055// client's request for the UpdateProject operation. The "output" return
6056// value will be populated with the request's response once the request completes
6057// successfully.
6058//
6059// Use "Send" method on the returned Request to send the API call to the service.
6060// the "output" return value is not valid until after Send returns without error.
6061//
6062// See UpdateProject for more information on using the UpdateProject
6063// API call, and error handling.
6064//
6065// This method is useful when you want to inject custom logic or configuration
6066// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6067//
6068//
6069//    // Example sending a request using the UpdateProjectRequest method.
6070//    req, resp := client.UpdateProjectRequest(params)
6071//
6072//    err := req.Send()
6073//    if err == nil { // resp is now filled
6074//        fmt.Println(resp)
6075//    }
6076//
6077// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateProject
6078func (c *IoTSiteWise) UpdateProjectRequest(input *UpdateProjectInput) (req *request.Request, output *UpdateProjectOutput) {
6079	op := &request.Operation{
6080		Name:       opUpdateProject,
6081		HTTPMethod: "PUT",
6082		HTTPPath:   "/projects/{projectId}",
6083	}
6084
6085	if input == nil {
6086		input = &UpdateProjectInput{}
6087	}
6088
6089	output = &UpdateProjectOutput{}
6090	req = c.newRequest(op, input, output)
6091	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6092	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
6093	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
6094	return
6095}
6096
6097// UpdateProject API operation for AWS IoT SiteWise.
6098//
6099// Updates an AWS IoT SiteWise Monitor project.
6100//
6101// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6102// with awserr.Error's Code and Message methods to get detailed information about
6103// the error.
6104//
6105// See the AWS API reference guide for AWS IoT SiteWise's
6106// API operation UpdateProject for usage and error information.
6107//
6108// Returned Error Types:
6109//   * InvalidRequestException
6110//   The request isn't valid. This can occur if your request contains malformed
6111//   JSON or unsupported characters. Check your request and try again.
6112//
6113//   * ResourceNotFoundException
6114//   The requested resource can't be found.
6115//
6116//   * InternalFailureException
6117//   AWS IoT SiteWise can't process your request right now. Try again later.
6118//
6119//   * ThrottlingException
6120//   Your request exceeded a rate limit. For example, you might have exceeded
6121//   the number of AWS IoT SiteWise assets that can be created per second, the
6122//   allowed number of messages per second, and so on.
6123//
6124//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
6125//   in the AWS IoT SiteWise User Guide.
6126//
6127// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateProject
6128func (c *IoTSiteWise) UpdateProject(input *UpdateProjectInput) (*UpdateProjectOutput, error) {
6129	req, out := c.UpdateProjectRequest(input)
6130	return out, req.Send()
6131}
6132
6133// UpdateProjectWithContext is the same as UpdateProject with the addition of
6134// the ability to pass a context and additional request options.
6135//
6136// See UpdateProject for details on how to use this API operation.
6137//
6138// The context must be non-nil and will be used for request cancellation. If
6139// the context is nil a panic will occur. In the future the SDK may create
6140// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6141// for more information on using Contexts.
6142func (c *IoTSiteWise) UpdateProjectWithContext(ctx aws.Context, input *UpdateProjectInput, opts ...request.Option) (*UpdateProjectOutput, error) {
6143	req, out := c.UpdateProjectRequest(input)
6144	req.SetContext(ctx)
6145	req.ApplyOptions(opts...)
6146	return out, req.Send()
6147}
6148
6149// Contains an access policy that defines an AWS SSO identity's access to an
6150// AWS IoT SiteWise Monitor resource.
6151type AccessPolicySummary struct {
6152	_ struct{} `type:"structure"`
6153
6154	// The date the access policy was created, in Unix epoch time.
6155	CreationDate *time.Time `locationName:"creationDate" type:"timestamp"`
6156
6157	// The ID of the access policy.
6158	//
6159	// Id is a required field
6160	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
6161
6162	// The AWS SSO identity (a user or group).
6163	//
6164	// Identity is a required field
6165	Identity *Identity `locationName:"identity" type:"structure" required:"true"`
6166
6167	// The date the access policy was last updated, in Unix epoch time.
6168	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp"`
6169
6170	// The permissions for the access policy. Note that a project ADMINISTRATOR
6171	// is also known as a project owner.
6172	//
6173	// Permission is a required field
6174	Permission *string `locationName:"permission" type:"string" required:"true" enum:"Permission"`
6175
6176	// The AWS IoT SiteWise Monitor resource (a portal or project).
6177	//
6178	// Resource is a required field
6179	Resource *Resource `locationName:"resource" type:"structure" required:"true"`
6180}
6181
6182// String returns the string representation
6183func (s AccessPolicySummary) String() string {
6184	return awsutil.Prettify(s)
6185}
6186
6187// GoString returns the string representation
6188func (s AccessPolicySummary) GoString() string {
6189	return s.String()
6190}
6191
6192// SetCreationDate sets the CreationDate field's value.
6193func (s *AccessPolicySummary) SetCreationDate(v time.Time) *AccessPolicySummary {
6194	s.CreationDate = &v
6195	return s
6196}
6197
6198// SetId sets the Id field's value.
6199func (s *AccessPolicySummary) SetId(v string) *AccessPolicySummary {
6200	s.Id = &v
6201	return s
6202}
6203
6204// SetIdentity sets the Identity field's value.
6205func (s *AccessPolicySummary) SetIdentity(v *Identity) *AccessPolicySummary {
6206	s.Identity = v
6207	return s
6208}
6209
6210// SetLastUpdateDate sets the LastUpdateDate field's value.
6211func (s *AccessPolicySummary) SetLastUpdateDate(v time.Time) *AccessPolicySummary {
6212	s.LastUpdateDate = &v
6213	return s
6214}
6215
6216// SetPermission sets the Permission field's value.
6217func (s *AccessPolicySummary) SetPermission(v string) *AccessPolicySummary {
6218	s.Permission = &v
6219	return s
6220}
6221
6222// SetResource sets the Resource field's value.
6223func (s *AccessPolicySummary) SetResource(v *Resource) *AccessPolicySummary {
6224	s.Resource = v
6225	return s
6226}
6227
6228// Contains aggregated asset property values (for example, average, minimum,
6229// and maximum).
6230type AggregatedValue struct {
6231	_ struct{} `type:"structure"`
6232
6233	// The quality of the aggregated data.
6234	Quality *string `locationName:"quality" type:"string" enum:"Quality"`
6235
6236	// The date the aggregating computations occurred, in Unix epoch time.
6237	//
6238	// Timestamp is a required field
6239	Timestamp *time.Time `locationName:"timestamp" type:"timestamp" required:"true"`
6240
6241	// The value of the aggregates.
6242	//
6243	// Value is a required field
6244	Value *Aggregates `locationName:"value" type:"structure" required:"true"`
6245}
6246
6247// String returns the string representation
6248func (s AggregatedValue) String() string {
6249	return awsutil.Prettify(s)
6250}
6251
6252// GoString returns the string representation
6253func (s AggregatedValue) GoString() string {
6254	return s.String()
6255}
6256
6257// SetQuality sets the Quality field's value.
6258func (s *AggregatedValue) SetQuality(v string) *AggregatedValue {
6259	s.Quality = &v
6260	return s
6261}
6262
6263// SetTimestamp sets the Timestamp field's value.
6264func (s *AggregatedValue) SetTimestamp(v time.Time) *AggregatedValue {
6265	s.Timestamp = &v
6266	return s
6267}
6268
6269// SetValue sets the Value field's value.
6270func (s *AggregatedValue) SetValue(v *Aggregates) *AggregatedValue {
6271	s.Value = v
6272	return s
6273}
6274
6275// Contains the (pre-calculated) aggregate values for an asset property.
6276type Aggregates struct {
6277	_ struct{} `type:"structure"`
6278
6279	// The average (mean) value of the time series over a time interval window.
6280	Average *float64 `locationName:"average" type:"double"`
6281
6282	// The count of data points in the time series over a time interval window.
6283	Count *float64 `locationName:"count" type:"double"`
6284
6285	// The maximum value of the time series over a time interval window.
6286	Maximum *float64 `locationName:"maximum" type:"double"`
6287
6288	// The minimum value of the time series over a time interval window.
6289	Minimum *float64 `locationName:"minimum" type:"double"`
6290
6291	// The standard deviation of the time series over a time interval window.
6292	StandardDeviation *float64 `locationName:"standardDeviation" type:"double"`
6293
6294	// The sum of the time series over a time interval window.
6295	Sum *float64 `locationName:"sum" type:"double"`
6296}
6297
6298// String returns the string representation
6299func (s Aggregates) String() string {
6300	return awsutil.Prettify(s)
6301}
6302
6303// GoString returns the string representation
6304func (s Aggregates) GoString() string {
6305	return s.String()
6306}
6307
6308// SetAverage sets the Average field's value.
6309func (s *Aggregates) SetAverage(v float64) *Aggregates {
6310	s.Average = &v
6311	return s
6312}
6313
6314// SetCount sets the Count field's value.
6315func (s *Aggregates) SetCount(v float64) *Aggregates {
6316	s.Count = &v
6317	return s
6318}
6319
6320// SetMaximum sets the Maximum field's value.
6321func (s *Aggregates) SetMaximum(v float64) *Aggregates {
6322	s.Maximum = &v
6323	return s
6324}
6325
6326// SetMinimum sets the Minimum field's value.
6327func (s *Aggregates) SetMinimum(v float64) *Aggregates {
6328	s.Minimum = &v
6329	return s
6330}
6331
6332// SetStandardDeviation sets the StandardDeviation field's value.
6333func (s *Aggregates) SetStandardDeviation(v float64) *Aggregates {
6334	s.StandardDeviation = &v
6335	return s
6336}
6337
6338// SetSum sets the Sum field's value.
6339func (s *Aggregates) SetSum(v float64) *Aggregates {
6340	s.Sum = &v
6341	return s
6342}
6343
6344// Contains error details for the requested associate project asset action.
6345type AssetErrorDetails struct {
6346	_ struct{} `type:"structure"`
6347
6348	// The ID of the asset.
6349	//
6350	// AssetId is a required field
6351	AssetId *string `locationName:"assetId" min:"36" type:"string" required:"true"`
6352
6353	// The error code.
6354	//
6355	// Code is a required field
6356	Code *string `locationName:"code" type:"string" required:"true" enum:"AssetErrorCode"`
6357
6358	// The error message.
6359	//
6360	// Message is a required field
6361	Message *string `locationName:"message" type:"string" required:"true"`
6362}
6363
6364// String returns the string representation
6365func (s AssetErrorDetails) String() string {
6366	return awsutil.Prettify(s)
6367}
6368
6369// GoString returns the string representation
6370func (s AssetErrorDetails) GoString() string {
6371	return s.String()
6372}
6373
6374// SetAssetId sets the AssetId field's value.
6375func (s *AssetErrorDetails) SetAssetId(v string) *AssetErrorDetails {
6376	s.AssetId = &v
6377	return s
6378}
6379
6380// SetCode sets the Code field's value.
6381func (s *AssetErrorDetails) SetCode(v string) *AssetErrorDetails {
6382	s.Code = &v
6383	return s
6384}
6385
6386// SetMessage sets the Message field's value.
6387func (s *AssetErrorDetails) SetMessage(v string) *AssetErrorDetails {
6388	s.Message = &v
6389	return s
6390}
6391
6392// Describes an asset hierarchy that contains a hierarchy's name and ID.
6393type AssetHierarchy struct {
6394	_ struct{} `type:"structure"`
6395
6396	// The ID of the hierarchy. This ID is a hierarchyId.
6397	Id *string `locationName:"id" min:"36" type:"string"`
6398
6399	// The hierarchy name provided in the CreateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html)
6400	// or UpdateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html)
6401	// API.
6402	//
6403	// Name is a required field
6404	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6405}
6406
6407// String returns the string representation
6408func (s AssetHierarchy) String() string {
6409	return awsutil.Prettify(s)
6410}
6411
6412// GoString returns the string representation
6413func (s AssetHierarchy) GoString() string {
6414	return s.String()
6415}
6416
6417// SetId sets the Id field's value.
6418func (s *AssetHierarchy) SetId(v string) *AssetHierarchy {
6419	s.Id = &v
6420	return s
6421}
6422
6423// SetName sets the Name field's value.
6424func (s *AssetHierarchy) SetName(v string) *AssetHierarchy {
6425	s.Name = &v
6426	return s
6427}
6428
6429// Describes an asset hierarchy that contains a hierarchy's name, ID, and child
6430// asset model ID that specifies the type of asset that can be in this hierarchy.
6431type AssetModelHierarchy struct {
6432	_ struct{} `type:"structure"`
6433
6434	// The ID of the asset model. All assets in this hierarchy must be instances
6435	// of the childAssetModelId asset model.
6436	//
6437	// ChildAssetModelId is a required field
6438	ChildAssetModelId *string `locationName:"childAssetModelId" min:"36" type:"string" required:"true"`
6439
6440	// The ID of the asset model hierarchy. This ID is a hierarchyId.
6441	Id *string `locationName:"id" min:"36" type:"string"`
6442
6443	// The name of the asset model hierarchy that you specify by using the CreateAssetModel
6444	// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html)
6445	// or UpdateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html)
6446	// API.
6447	//
6448	// Name is a required field
6449	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6450}
6451
6452// String returns the string representation
6453func (s AssetModelHierarchy) String() string {
6454	return awsutil.Prettify(s)
6455}
6456
6457// GoString returns the string representation
6458func (s AssetModelHierarchy) GoString() string {
6459	return s.String()
6460}
6461
6462// Validate inspects the fields of the type to determine if they are valid.
6463func (s *AssetModelHierarchy) Validate() error {
6464	invalidParams := request.ErrInvalidParams{Context: "AssetModelHierarchy"}
6465	if s.ChildAssetModelId == nil {
6466		invalidParams.Add(request.NewErrParamRequired("ChildAssetModelId"))
6467	}
6468	if s.ChildAssetModelId != nil && len(*s.ChildAssetModelId) < 36 {
6469		invalidParams.Add(request.NewErrParamMinLen("ChildAssetModelId", 36))
6470	}
6471	if s.Id != nil && len(*s.Id) < 36 {
6472		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
6473	}
6474	if s.Name == nil {
6475		invalidParams.Add(request.NewErrParamRequired("Name"))
6476	}
6477	if s.Name != nil && len(*s.Name) < 1 {
6478		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6479	}
6480
6481	if invalidParams.Len() > 0 {
6482		return invalidParams
6483	}
6484	return nil
6485}
6486
6487// SetChildAssetModelId sets the ChildAssetModelId field's value.
6488func (s *AssetModelHierarchy) SetChildAssetModelId(v string) *AssetModelHierarchy {
6489	s.ChildAssetModelId = &v
6490	return s
6491}
6492
6493// SetId sets the Id field's value.
6494func (s *AssetModelHierarchy) SetId(v string) *AssetModelHierarchy {
6495	s.Id = &v
6496	return s
6497}
6498
6499// SetName sets the Name field's value.
6500func (s *AssetModelHierarchy) SetName(v string) *AssetModelHierarchy {
6501	s.Name = &v
6502	return s
6503}
6504
6505// Contains an asset model hierarchy used in asset model creation. An asset
6506// model hierarchy determines the kind (or type) of asset that can belong to
6507// a hierarchy.
6508type AssetModelHierarchyDefinition struct {
6509	_ struct{} `type:"structure"`
6510
6511	// The ID of an asset model for this hierarchy.
6512	//
6513	// ChildAssetModelId is a required field
6514	ChildAssetModelId *string `locationName:"childAssetModelId" min:"36" type:"string" required:"true"`
6515
6516	// The name of the asset model hierarchy definition (as specified in CreateAssetModel
6517	// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html)
6518	// or UpdateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html)).
6519	//
6520	// Name is a required field
6521	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6522}
6523
6524// String returns the string representation
6525func (s AssetModelHierarchyDefinition) String() string {
6526	return awsutil.Prettify(s)
6527}
6528
6529// GoString returns the string representation
6530func (s AssetModelHierarchyDefinition) GoString() string {
6531	return s.String()
6532}
6533
6534// Validate inspects the fields of the type to determine if they are valid.
6535func (s *AssetModelHierarchyDefinition) Validate() error {
6536	invalidParams := request.ErrInvalidParams{Context: "AssetModelHierarchyDefinition"}
6537	if s.ChildAssetModelId == nil {
6538		invalidParams.Add(request.NewErrParamRequired("ChildAssetModelId"))
6539	}
6540	if s.ChildAssetModelId != nil && len(*s.ChildAssetModelId) < 36 {
6541		invalidParams.Add(request.NewErrParamMinLen("ChildAssetModelId", 36))
6542	}
6543	if s.Name == nil {
6544		invalidParams.Add(request.NewErrParamRequired("Name"))
6545	}
6546	if s.Name != nil && len(*s.Name) < 1 {
6547		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6548	}
6549
6550	if invalidParams.Len() > 0 {
6551		return invalidParams
6552	}
6553	return nil
6554}
6555
6556// SetChildAssetModelId sets the ChildAssetModelId field's value.
6557func (s *AssetModelHierarchyDefinition) SetChildAssetModelId(v string) *AssetModelHierarchyDefinition {
6558	s.ChildAssetModelId = &v
6559	return s
6560}
6561
6562// SetName sets the Name field's value.
6563func (s *AssetModelHierarchyDefinition) SetName(v string) *AssetModelHierarchyDefinition {
6564	s.Name = &v
6565	return s
6566}
6567
6568// Contains information about an asset model property.
6569type AssetModelProperty struct {
6570	_ struct{} `type:"structure"`
6571
6572	// The data type of the asset model property.
6573	//
6574	// DataType is a required field
6575	DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"`
6576
6577	// The ID of the asset model property.
6578	Id *string `locationName:"id" min:"36" type:"string"`
6579
6580	// The name of the asset model property.
6581	//
6582	// Name is a required field
6583	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6584
6585	// The property type (see PropertyType).
6586	//
6587	// Type is a required field
6588	Type *PropertyType `locationName:"type" type:"structure" required:"true"`
6589
6590	// The unit of the asset model property, such as Newtons or RPM.
6591	Unit *string `locationName:"unit" min:"1" type:"string"`
6592}
6593
6594// String returns the string representation
6595func (s AssetModelProperty) String() string {
6596	return awsutil.Prettify(s)
6597}
6598
6599// GoString returns the string representation
6600func (s AssetModelProperty) GoString() string {
6601	return s.String()
6602}
6603
6604// Validate inspects the fields of the type to determine if they are valid.
6605func (s *AssetModelProperty) Validate() error {
6606	invalidParams := request.ErrInvalidParams{Context: "AssetModelProperty"}
6607	if s.DataType == nil {
6608		invalidParams.Add(request.NewErrParamRequired("DataType"))
6609	}
6610	if s.Id != nil && len(*s.Id) < 36 {
6611		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
6612	}
6613	if s.Name == nil {
6614		invalidParams.Add(request.NewErrParamRequired("Name"))
6615	}
6616	if s.Name != nil && len(*s.Name) < 1 {
6617		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6618	}
6619	if s.Type == nil {
6620		invalidParams.Add(request.NewErrParamRequired("Type"))
6621	}
6622	if s.Unit != nil && len(*s.Unit) < 1 {
6623		invalidParams.Add(request.NewErrParamMinLen("Unit", 1))
6624	}
6625	if s.Type != nil {
6626		if err := s.Type.Validate(); err != nil {
6627			invalidParams.AddNested("Type", err.(request.ErrInvalidParams))
6628		}
6629	}
6630
6631	if invalidParams.Len() > 0 {
6632		return invalidParams
6633	}
6634	return nil
6635}
6636
6637// SetDataType sets the DataType field's value.
6638func (s *AssetModelProperty) SetDataType(v string) *AssetModelProperty {
6639	s.DataType = &v
6640	return s
6641}
6642
6643// SetId sets the Id field's value.
6644func (s *AssetModelProperty) SetId(v string) *AssetModelProperty {
6645	s.Id = &v
6646	return s
6647}
6648
6649// SetName sets the Name field's value.
6650func (s *AssetModelProperty) SetName(v string) *AssetModelProperty {
6651	s.Name = &v
6652	return s
6653}
6654
6655// SetType sets the Type field's value.
6656func (s *AssetModelProperty) SetType(v *PropertyType) *AssetModelProperty {
6657	s.Type = v
6658	return s
6659}
6660
6661// SetUnit sets the Unit field's value.
6662func (s *AssetModelProperty) SetUnit(v string) *AssetModelProperty {
6663	s.Unit = &v
6664	return s
6665}
6666
6667// Contains an asset model property definition. This property definition is
6668// applied to all assets created from the asset model.
6669type AssetModelPropertyDefinition struct {
6670	_ struct{} `type:"structure"`
6671
6672	// The data type of the property definition.
6673	//
6674	// DataType is a required field
6675	DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"`
6676
6677	// The name of the property definition.
6678	//
6679	// Name is a required field
6680	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6681
6682	// The property definition type (see PropertyType). You can only specify one
6683	// type in a property definition.
6684	//
6685	// Type is a required field
6686	Type *PropertyType `locationName:"type" type:"structure" required:"true"`
6687
6688	// The unit of the property definition, such as Newtons or RPM.
6689	Unit *string `locationName:"unit" min:"1" type:"string"`
6690}
6691
6692// String returns the string representation
6693func (s AssetModelPropertyDefinition) String() string {
6694	return awsutil.Prettify(s)
6695}
6696
6697// GoString returns the string representation
6698func (s AssetModelPropertyDefinition) GoString() string {
6699	return s.String()
6700}
6701
6702// Validate inspects the fields of the type to determine if they are valid.
6703func (s *AssetModelPropertyDefinition) Validate() error {
6704	invalidParams := request.ErrInvalidParams{Context: "AssetModelPropertyDefinition"}
6705	if s.DataType == nil {
6706		invalidParams.Add(request.NewErrParamRequired("DataType"))
6707	}
6708	if s.Name == nil {
6709		invalidParams.Add(request.NewErrParamRequired("Name"))
6710	}
6711	if s.Name != nil && len(*s.Name) < 1 {
6712		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6713	}
6714	if s.Type == nil {
6715		invalidParams.Add(request.NewErrParamRequired("Type"))
6716	}
6717	if s.Unit != nil && len(*s.Unit) < 1 {
6718		invalidParams.Add(request.NewErrParamMinLen("Unit", 1))
6719	}
6720	if s.Type != nil {
6721		if err := s.Type.Validate(); err != nil {
6722			invalidParams.AddNested("Type", err.(request.ErrInvalidParams))
6723		}
6724	}
6725
6726	if invalidParams.Len() > 0 {
6727		return invalidParams
6728	}
6729	return nil
6730}
6731
6732// SetDataType sets the DataType field's value.
6733func (s *AssetModelPropertyDefinition) SetDataType(v string) *AssetModelPropertyDefinition {
6734	s.DataType = &v
6735	return s
6736}
6737
6738// SetName sets the Name field's value.
6739func (s *AssetModelPropertyDefinition) SetName(v string) *AssetModelPropertyDefinition {
6740	s.Name = &v
6741	return s
6742}
6743
6744// SetType sets the Type field's value.
6745func (s *AssetModelPropertyDefinition) SetType(v *PropertyType) *AssetModelPropertyDefinition {
6746	s.Type = v
6747	return s
6748}
6749
6750// SetUnit sets the Unit field's value.
6751func (s *AssetModelPropertyDefinition) SetUnit(v string) *AssetModelPropertyDefinition {
6752	s.Unit = &v
6753	return s
6754}
6755
6756// Contains current status information for an asset model. For more information,
6757// see Asset and Model States (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-and-model-states.html)
6758// in the AWS IoT SiteWise User Guide.
6759type AssetModelStatus struct {
6760	_ struct{} `type:"structure"`
6761
6762	// Contains associated error information, if any.
6763	Error *ErrorDetails `locationName:"error" type:"structure"`
6764
6765	// The current state of the asset model.
6766	//
6767	// State is a required field
6768	State *string `locationName:"state" type:"string" required:"true" enum:"AssetModelState"`
6769}
6770
6771// String returns the string representation
6772func (s AssetModelStatus) String() string {
6773	return awsutil.Prettify(s)
6774}
6775
6776// GoString returns the string representation
6777func (s AssetModelStatus) GoString() string {
6778	return s.String()
6779}
6780
6781// SetError sets the Error field's value.
6782func (s *AssetModelStatus) SetError(v *ErrorDetails) *AssetModelStatus {
6783	s.Error = v
6784	return s
6785}
6786
6787// SetState sets the State field's value.
6788func (s *AssetModelStatus) SetState(v string) *AssetModelStatus {
6789	s.State = &v
6790	return s
6791}
6792
6793// Contains a summary of an asset model.
6794type AssetModelSummary struct {
6795	_ struct{} `type:"structure"`
6796
6797	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
6798	// of the asset model, which has the following format.
6799	//
6800	// arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId}
6801	//
6802	// Arn is a required field
6803	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
6804
6805	// The date the asset model was created, in Unix epoch time.
6806	//
6807	// CreationDate is a required field
6808	CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"`
6809
6810	// The asset model description.
6811	//
6812	// Description is a required field
6813	Description *string `locationName:"description" min:"1" type:"string" required:"true"`
6814
6815	// The ID of the asset model (used with AWS IoT SiteWise APIs).
6816	//
6817	// Id is a required field
6818	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
6819
6820	// The date the asset model was last updated, in Unix epoch time.
6821	//
6822	// LastUpdateDate is a required field
6823	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp" required:"true"`
6824
6825	// The name of the asset model.
6826	//
6827	// Name is a required field
6828	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6829
6830	// The current status of the asset model.
6831	//
6832	// Status is a required field
6833	Status *AssetModelStatus `locationName:"status" type:"structure" required:"true"`
6834}
6835
6836// String returns the string representation
6837func (s AssetModelSummary) String() string {
6838	return awsutil.Prettify(s)
6839}
6840
6841// GoString returns the string representation
6842func (s AssetModelSummary) GoString() string {
6843	return s.String()
6844}
6845
6846// SetArn sets the Arn field's value.
6847func (s *AssetModelSummary) SetArn(v string) *AssetModelSummary {
6848	s.Arn = &v
6849	return s
6850}
6851
6852// SetCreationDate sets the CreationDate field's value.
6853func (s *AssetModelSummary) SetCreationDate(v time.Time) *AssetModelSummary {
6854	s.CreationDate = &v
6855	return s
6856}
6857
6858// SetDescription sets the Description field's value.
6859func (s *AssetModelSummary) SetDescription(v string) *AssetModelSummary {
6860	s.Description = &v
6861	return s
6862}
6863
6864// SetId sets the Id field's value.
6865func (s *AssetModelSummary) SetId(v string) *AssetModelSummary {
6866	s.Id = &v
6867	return s
6868}
6869
6870// SetLastUpdateDate sets the LastUpdateDate field's value.
6871func (s *AssetModelSummary) SetLastUpdateDate(v time.Time) *AssetModelSummary {
6872	s.LastUpdateDate = &v
6873	return s
6874}
6875
6876// SetName sets the Name field's value.
6877func (s *AssetModelSummary) SetName(v string) *AssetModelSummary {
6878	s.Name = &v
6879	return s
6880}
6881
6882// SetStatus sets the Status field's value.
6883func (s *AssetModelSummary) SetStatus(v *AssetModelStatus) *AssetModelSummary {
6884	s.Status = v
6885	return s
6886}
6887
6888// Contains asset property information.
6889type AssetProperty struct {
6890	_ struct{} `type:"structure"`
6891
6892	// The property alias that identifies the property, such as an OPC-UA server
6893	// data stream path (for example, /company/windfarm/3/turbine/7/temperature).
6894	// For more information, see Mapping Industrial Data Streams to Asset Properties
6895	// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
6896	// in the AWS IoT SiteWise User Guide.
6897	Alias *string `locationName:"alias" min:"1" type:"string"`
6898
6899	// The data type of the asset property.
6900	//
6901	// DataType is a required field
6902	DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"`
6903
6904	// The ID of the asset property.
6905	//
6906	// Id is a required field
6907	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
6908
6909	// The name of the property.
6910	//
6911	// Name is a required field
6912	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6913
6914	// The asset property's notification topic and state. For more information,
6915	// see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html)
6916	Notification *PropertyNotification `locationName:"notification" type:"structure"`
6917
6918	// The unit (such as Newtons or RPM) of the asset property.
6919	Unit *string `locationName:"unit" min:"1" type:"string"`
6920}
6921
6922// String returns the string representation
6923func (s AssetProperty) String() string {
6924	return awsutil.Prettify(s)
6925}
6926
6927// GoString returns the string representation
6928func (s AssetProperty) GoString() string {
6929	return s.String()
6930}
6931
6932// SetAlias sets the Alias field's value.
6933func (s *AssetProperty) SetAlias(v string) *AssetProperty {
6934	s.Alias = &v
6935	return s
6936}
6937
6938// SetDataType sets the DataType field's value.
6939func (s *AssetProperty) SetDataType(v string) *AssetProperty {
6940	s.DataType = &v
6941	return s
6942}
6943
6944// SetId sets the Id field's value.
6945func (s *AssetProperty) SetId(v string) *AssetProperty {
6946	s.Id = &v
6947	return s
6948}
6949
6950// SetName sets the Name field's value.
6951func (s *AssetProperty) SetName(v string) *AssetProperty {
6952	s.Name = &v
6953	return s
6954}
6955
6956// SetNotification sets the Notification field's value.
6957func (s *AssetProperty) SetNotification(v *PropertyNotification) *AssetProperty {
6958	s.Notification = v
6959	return s
6960}
6961
6962// SetUnit sets the Unit field's value.
6963func (s *AssetProperty) SetUnit(v string) *AssetProperty {
6964	s.Unit = &v
6965	return s
6966}
6967
6968// Contains asset property value information.
6969type AssetPropertyValue struct {
6970	_ struct{} `type:"structure"`
6971
6972	// The quality of the asset property value.
6973	Quality *string `locationName:"quality" type:"string" enum:"Quality"`
6974
6975	// The timestamp of the asset property value.
6976	//
6977	// Timestamp is a required field
6978	Timestamp *TimeInNanos `locationName:"timestamp" type:"structure" required:"true"`
6979
6980	// The value of the asset property (see Variant).
6981	//
6982	// Value is a required field
6983	Value *Variant `locationName:"value" type:"structure" required:"true"`
6984}
6985
6986// String returns the string representation
6987func (s AssetPropertyValue) String() string {
6988	return awsutil.Prettify(s)
6989}
6990
6991// GoString returns the string representation
6992func (s AssetPropertyValue) GoString() string {
6993	return s.String()
6994}
6995
6996// Validate inspects the fields of the type to determine if they are valid.
6997func (s *AssetPropertyValue) Validate() error {
6998	invalidParams := request.ErrInvalidParams{Context: "AssetPropertyValue"}
6999	if s.Timestamp == nil {
7000		invalidParams.Add(request.NewErrParamRequired("Timestamp"))
7001	}
7002	if s.Value == nil {
7003		invalidParams.Add(request.NewErrParamRequired("Value"))
7004	}
7005	if s.Timestamp != nil {
7006		if err := s.Timestamp.Validate(); err != nil {
7007			invalidParams.AddNested("Timestamp", err.(request.ErrInvalidParams))
7008		}
7009	}
7010	if s.Value != nil {
7011		if err := s.Value.Validate(); err != nil {
7012			invalidParams.AddNested("Value", err.(request.ErrInvalidParams))
7013		}
7014	}
7015
7016	if invalidParams.Len() > 0 {
7017		return invalidParams
7018	}
7019	return nil
7020}
7021
7022// SetQuality sets the Quality field's value.
7023func (s *AssetPropertyValue) SetQuality(v string) *AssetPropertyValue {
7024	s.Quality = &v
7025	return s
7026}
7027
7028// SetTimestamp sets the Timestamp field's value.
7029func (s *AssetPropertyValue) SetTimestamp(v *TimeInNanos) *AssetPropertyValue {
7030	s.Timestamp = v
7031	return s
7032}
7033
7034// SetValue sets the Value field's value.
7035func (s *AssetPropertyValue) SetValue(v *Variant) *AssetPropertyValue {
7036	s.Value = v
7037	return s
7038}
7039
7040// Contains information about the current status of an asset. For more information,
7041// see Asset and Model States (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-and-model-states.html)
7042// in the AWS IoT SiteWise User Guide.
7043type AssetStatus struct {
7044	_ struct{} `type:"structure"`
7045
7046	// Contains associated error information, if any.
7047	Error *ErrorDetails `locationName:"error" type:"structure"`
7048
7049	// The current status of the asset.
7050	//
7051	// State is a required field
7052	State *string `locationName:"state" type:"string" required:"true" enum:"AssetState"`
7053}
7054
7055// String returns the string representation
7056func (s AssetStatus) String() string {
7057	return awsutil.Prettify(s)
7058}
7059
7060// GoString returns the string representation
7061func (s AssetStatus) GoString() string {
7062	return s.String()
7063}
7064
7065// SetError sets the Error field's value.
7066func (s *AssetStatus) SetError(v *ErrorDetails) *AssetStatus {
7067	s.Error = v
7068	return s
7069}
7070
7071// SetState sets the State field's value.
7072func (s *AssetStatus) SetState(v string) *AssetStatus {
7073	s.State = &v
7074	return s
7075}
7076
7077// Contains a summary of an asset.
7078type AssetSummary struct {
7079	_ struct{} `type:"structure"`
7080
7081	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
7082	// of the asset, which has the following format.
7083	//
7084	// arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}
7085	//
7086	// Arn is a required field
7087	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
7088
7089	// The ID of the asset model used to create this asset.
7090	//
7091	// AssetModelId is a required field
7092	AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"`
7093
7094	// The date the asset was created, in Unix epoch time.
7095	//
7096	// CreationDate is a required field
7097	CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"`
7098
7099	// A list of asset hierarchies that each contain a hierarchyId. A hierarchy
7100	// specifies allowed parent/child asset relationships.
7101	//
7102	// Hierarchies is a required field
7103	Hierarchies []*AssetHierarchy `locationName:"hierarchies" type:"list" required:"true"`
7104
7105	// The ID of the asset.
7106	//
7107	// Id is a required field
7108	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
7109
7110	// The date the asset was last updated, in Unix epoch time.
7111	//
7112	// LastUpdateDate is a required field
7113	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp" required:"true"`
7114
7115	// The name of the asset.
7116	//
7117	// Name is a required field
7118	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7119
7120	// The current status of the asset.
7121	//
7122	// Status is a required field
7123	Status *AssetStatus `locationName:"status" type:"structure" required:"true"`
7124}
7125
7126// String returns the string representation
7127func (s AssetSummary) String() string {
7128	return awsutil.Prettify(s)
7129}
7130
7131// GoString returns the string representation
7132func (s AssetSummary) GoString() string {
7133	return s.String()
7134}
7135
7136// SetArn sets the Arn field's value.
7137func (s *AssetSummary) SetArn(v string) *AssetSummary {
7138	s.Arn = &v
7139	return s
7140}
7141
7142// SetAssetModelId sets the AssetModelId field's value.
7143func (s *AssetSummary) SetAssetModelId(v string) *AssetSummary {
7144	s.AssetModelId = &v
7145	return s
7146}
7147
7148// SetCreationDate sets the CreationDate field's value.
7149func (s *AssetSummary) SetCreationDate(v time.Time) *AssetSummary {
7150	s.CreationDate = &v
7151	return s
7152}
7153
7154// SetHierarchies sets the Hierarchies field's value.
7155func (s *AssetSummary) SetHierarchies(v []*AssetHierarchy) *AssetSummary {
7156	s.Hierarchies = v
7157	return s
7158}
7159
7160// SetId sets the Id field's value.
7161func (s *AssetSummary) SetId(v string) *AssetSummary {
7162	s.Id = &v
7163	return s
7164}
7165
7166// SetLastUpdateDate sets the LastUpdateDate field's value.
7167func (s *AssetSummary) SetLastUpdateDate(v time.Time) *AssetSummary {
7168	s.LastUpdateDate = &v
7169	return s
7170}
7171
7172// SetName sets the Name field's value.
7173func (s *AssetSummary) SetName(v string) *AssetSummary {
7174	s.Name = &v
7175	return s
7176}
7177
7178// SetStatus sets the Status field's value.
7179func (s *AssetSummary) SetStatus(v *AssetStatus) *AssetSummary {
7180	s.Status = v
7181	return s
7182}
7183
7184type AssociateAssetsInput struct {
7185	_ struct{} `type:"structure"`
7186
7187	// The ID of the parent asset.
7188	//
7189	// AssetId is a required field
7190	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
7191
7192	// The ID of the child asset to be associated.
7193	//
7194	// ChildAssetId is a required field
7195	ChildAssetId *string `locationName:"childAssetId" min:"36" type:"string" required:"true"`
7196
7197	// A unique case-sensitive identifier that you can provide to ensure the idempotency
7198	// of the request. Don't reuse this client token if a new idempotent request
7199	// is required.
7200	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
7201
7202	// The ID of a hierarchy in the parent asset's model. Hierarchies allow different
7203	// groupings of assets to be formed that all come from the same asset model.
7204	// For more information, see Asset Hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html)
7205	// in the AWS IoT SiteWise User Guide.
7206	//
7207	// HierarchyId is a required field
7208	HierarchyId *string `locationName:"hierarchyId" min:"36" type:"string" required:"true"`
7209}
7210
7211// String returns the string representation
7212func (s AssociateAssetsInput) String() string {
7213	return awsutil.Prettify(s)
7214}
7215
7216// GoString returns the string representation
7217func (s AssociateAssetsInput) GoString() string {
7218	return s.String()
7219}
7220
7221// Validate inspects the fields of the type to determine if they are valid.
7222func (s *AssociateAssetsInput) Validate() error {
7223	invalidParams := request.ErrInvalidParams{Context: "AssociateAssetsInput"}
7224	if s.AssetId == nil {
7225		invalidParams.Add(request.NewErrParamRequired("AssetId"))
7226	}
7227	if s.AssetId != nil && len(*s.AssetId) < 36 {
7228		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
7229	}
7230	if s.ChildAssetId == nil {
7231		invalidParams.Add(request.NewErrParamRequired("ChildAssetId"))
7232	}
7233	if s.ChildAssetId != nil && len(*s.ChildAssetId) < 36 {
7234		invalidParams.Add(request.NewErrParamMinLen("ChildAssetId", 36))
7235	}
7236	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
7237		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
7238	}
7239	if s.HierarchyId == nil {
7240		invalidParams.Add(request.NewErrParamRequired("HierarchyId"))
7241	}
7242	if s.HierarchyId != nil && len(*s.HierarchyId) < 36 {
7243		invalidParams.Add(request.NewErrParamMinLen("HierarchyId", 36))
7244	}
7245
7246	if invalidParams.Len() > 0 {
7247		return invalidParams
7248	}
7249	return nil
7250}
7251
7252// SetAssetId sets the AssetId field's value.
7253func (s *AssociateAssetsInput) SetAssetId(v string) *AssociateAssetsInput {
7254	s.AssetId = &v
7255	return s
7256}
7257
7258// SetChildAssetId sets the ChildAssetId field's value.
7259func (s *AssociateAssetsInput) SetChildAssetId(v string) *AssociateAssetsInput {
7260	s.ChildAssetId = &v
7261	return s
7262}
7263
7264// SetClientToken sets the ClientToken field's value.
7265func (s *AssociateAssetsInput) SetClientToken(v string) *AssociateAssetsInput {
7266	s.ClientToken = &v
7267	return s
7268}
7269
7270// SetHierarchyId sets the HierarchyId field's value.
7271func (s *AssociateAssetsInput) SetHierarchyId(v string) *AssociateAssetsInput {
7272	s.HierarchyId = &v
7273	return s
7274}
7275
7276type AssociateAssetsOutput struct {
7277	_ struct{} `type:"structure"`
7278}
7279
7280// String returns the string representation
7281func (s AssociateAssetsOutput) String() string {
7282	return awsutil.Prettify(s)
7283}
7284
7285// GoString returns the string representation
7286func (s AssociateAssetsOutput) GoString() string {
7287	return s.String()
7288}
7289
7290// Contains a summary of an associated asset.
7291type AssociatedAssetsSummary struct {
7292	_ struct{} `type:"structure"`
7293
7294	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
7295	// of the asset, which has the following format.
7296	//
7297	// arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}
7298	//
7299	// Arn is a required field
7300	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
7301
7302	// The ID of the asset model used to create the asset.
7303	//
7304	// AssetModelId is a required field
7305	AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"`
7306
7307	// The date the asset was created, in Unix epoch time.
7308	//
7309	// CreationDate is a required field
7310	CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"`
7311
7312	// A list of asset hierarchies that each contain a hierarchyId. A hierarchy
7313	// specifies allowed parent/child asset relationships.
7314	//
7315	// Hierarchies is a required field
7316	Hierarchies []*AssetHierarchy `locationName:"hierarchies" type:"list" required:"true"`
7317
7318	// The ID of the asset.
7319	//
7320	// Id is a required field
7321	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
7322
7323	// The date the asset was last updated, in Unix epoch time.
7324	//
7325	// LastUpdateDate is a required field
7326	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp" required:"true"`
7327
7328	// The name of the asset.
7329	//
7330	// Name is a required field
7331	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7332
7333	// The current status of the asset.
7334	//
7335	// Status is a required field
7336	Status *AssetStatus `locationName:"status" type:"structure" required:"true"`
7337}
7338
7339// String returns the string representation
7340func (s AssociatedAssetsSummary) String() string {
7341	return awsutil.Prettify(s)
7342}
7343
7344// GoString returns the string representation
7345func (s AssociatedAssetsSummary) GoString() string {
7346	return s.String()
7347}
7348
7349// SetArn sets the Arn field's value.
7350func (s *AssociatedAssetsSummary) SetArn(v string) *AssociatedAssetsSummary {
7351	s.Arn = &v
7352	return s
7353}
7354
7355// SetAssetModelId sets the AssetModelId field's value.
7356func (s *AssociatedAssetsSummary) SetAssetModelId(v string) *AssociatedAssetsSummary {
7357	s.AssetModelId = &v
7358	return s
7359}
7360
7361// SetCreationDate sets the CreationDate field's value.
7362func (s *AssociatedAssetsSummary) SetCreationDate(v time.Time) *AssociatedAssetsSummary {
7363	s.CreationDate = &v
7364	return s
7365}
7366
7367// SetHierarchies sets the Hierarchies field's value.
7368func (s *AssociatedAssetsSummary) SetHierarchies(v []*AssetHierarchy) *AssociatedAssetsSummary {
7369	s.Hierarchies = v
7370	return s
7371}
7372
7373// SetId sets the Id field's value.
7374func (s *AssociatedAssetsSummary) SetId(v string) *AssociatedAssetsSummary {
7375	s.Id = &v
7376	return s
7377}
7378
7379// SetLastUpdateDate sets the LastUpdateDate field's value.
7380func (s *AssociatedAssetsSummary) SetLastUpdateDate(v time.Time) *AssociatedAssetsSummary {
7381	s.LastUpdateDate = &v
7382	return s
7383}
7384
7385// SetName sets the Name field's value.
7386func (s *AssociatedAssetsSummary) SetName(v string) *AssociatedAssetsSummary {
7387	s.Name = &v
7388	return s
7389}
7390
7391// SetStatus sets the Status field's value.
7392func (s *AssociatedAssetsSummary) SetStatus(v *AssetStatus) *AssociatedAssetsSummary {
7393	s.Status = v
7394	return s
7395}
7396
7397// Contains an asset attribute property. For more information, see Attributes
7398// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html#attributes)
7399// in the AWS IoT SiteWise User Guide.
7400type Attribute struct {
7401	_ struct{} `type:"structure"`
7402
7403	// The default value of the asset model property attribute. All assets that
7404	// you create from the asset model contain this attribute value. You can update
7405	// an attribute's value after you create an asset. For more information, see
7406	// Updating Attribute Values (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-attribute-values.html)
7407	// in the AWS IoT SiteWise User Guide.
7408	DefaultValue *string `locationName:"defaultValue" min:"1" type:"string"`
7409}
7410
7411// String returns the string representation
7412func (s Attribute) String() string {
7413	return awsutil.Prettify(s)
7414}
7415
7416// GoString returns the string representation
7417func (s Attribute) GoString() string {
7418	return s.String()
7419}
7420
7421// Validate inspects the fields of the type to determine if they are valid.
7422func (s *Attribute) Validate() error {
7423	invalidParams := request.ErrInvalidParams{Context: "Attribute"}
7424	if s.DefaultValue != nil && len(*s.DefaultValue) < 1 {
7425		invalidParams.Add(request.NewErrParamMinLen("DefaultValue", 1))
7426	}
7427
7428	if invalidParams.Len() > 0 {
7429		return invalidParams
7430	}
7431	return nil
7432}
7433
7434// SetDefaultValue sets the DefaultValue field's value.
7435func (s *Attribute) SetDefaultValue(v string) *Attribute {
7436	s.DefaultValue = &v
7437	return s
7438}
7439
7440type BatchAssociateProjectAssetsInput struct {
7441	_ struct{} `type:"structure"`
7442
7443	// The IDs of the assets to be associated to the project.
7444	//
7445	// AssetIds is a required field
7446	AssetIds []*string `locationName:"assetIds" min:"1" type:"list" required:"true"`
7447
7448	// A unique case-sensitive identifier that you can provide to ensure the idempotency
7449	// of the request. Don't reuse this client token if a new idempotent request
7450	// is required.
7451	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
7452
7453	// The ID of the project to which to associate the assets.
7454	//
7455	// ProjectId is a required field
7456	ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"`
7457}
7458
7459// String returns the string representation
7460func (s BatchAssociateProjectAssetsInput) String() string {
7461	return awsutil.Prettify(s)
7462}
7463
7464// GoString returns the string representation
7465func (s BatchAssociateProjectAssetsInput) GoString() string {
7466	return s.String()
7467}
7468
7469// Validate inspects the fields of the type to determine if they are valid.
7470func (s *BatchAssociateProjectAssetsInput) Validate() error {
7471	invalidParams := request.ErrInvalidParams{Context: "BatchAssociateProjectAssetsInput"}
7472	if s.AssetIds == nil {
7473		invalidParams.Add(request.NewErrParamRequired("AssetIds"))
7474	}
7475	if s.AssetIds != nil && len(s.AssetIds) < 1 {
7476		invalidParams.Add(request.NewErrParamMinLen("AssetIds", 1))
7477	}
7478	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
7479		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
7480	}
7481	if s.ProjectId == nil {
7482		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
7483	}
7484	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
7485		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
7486	}
7487
7488	if invalidParams.Len() > 0 {
7489		return invalidParams
7490	}
7491	return nil
7492}
7493
7494// SetAssetIds sets the AssetIds field's value.
7495func (s *BatchAssociateProjectAssetsInput) SetAssetIds(v []*string) *BatchAssociateProjectAssetsInput {
7496	s.AssetIds = v
7497	return s
7498}
7499
7500// SetClientToken sets the ClientToken field's value.
7501func (s *BatchAssociateProjectAssetsInput) SetClientToken(v string) *BatchAssociateProjectAssetsInput {
7502	s.ClientToken = &v
7503	return s
7504}
7505
7506// SetProjectId sets the ProjectId field's value.
7507func (s *BatchAssociateProjectAssetsInput) SetProjectId(v string) *BatchAssociateProjectAssetsInput {
7508	s.ProjectId = &v
7509	return s
7510}
7511
7512type BatchAssociateProjectAssetsOutput struct {
7513	_ struct{} `type:"structure"`
7514
7515	// A list of associated error information, if any.
7516	Errors []*AssetErrorDetails `locationName:"errors" type:"list"`
7517}
7518
7519// String returns the string representation
7520func (s BatchAssociateProjectAssetsOutput) String() string {
7521	return awsutil.Prettify(s)
7522}
7523
7524// GoString returns the string representation
7525func (s BatchAssociateProjectAssetsOutput) GoString() string {
7526	return s.String()
7527}
7528
7529// SetErrors sets the Errors field's value.
7530func (s *BatchAssociateProjectAssetsOutput) SetErrors(v []*AssetErrorDetails) *BatchAssociateProjectAssetsOutput {
7531	s.Errors = v
7532	return s
7533}
7534
7535type BatchDisassociateProjectAssetsInput struct {
7536	_ struct{} `type:"structure"`
7537
7538	// The IDs of the assets to be disassociated from the project.
7539	//
7540	// AssetIds is a required field
7541	AssetIds []*string `locationName:"assetIds" min:"1" type:"list" required:"true"`
7542
7543	// A unique case-sensitive identifier that you can provide to ensure the idempotency
7544	// of the request. Don't reuse this client token if a new idempotent request
7545	// is required.
7546	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
7547
7548	// The ID of the project from which to disassociate the assets.
7549	//
7550	// ProjectId is a required field
7551	ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"`
7552}
7553
7554// String returns the string representation
7555func (s BatchDisassociateProjectAssetsInput) String() string {
7556	return awsutil.Prettify(s)
7557}
7558
7559// GoString returns the string representation
7560func (s BatchDisassociateProjectAssetsInput) GoString() string {
7561	return s.String()
7562}
7563
7564// Validate inspects the fields of the type to determine if they are valid.
7565func (s *BatchDisassociateProjectAssetsInput) Validate() error {
7566	invalidParams := request.ErrInvalidParams{Context: "BatchDisassociateProjectAssetsInput"}
7567	if s.AssetIds == nil {
7568		invalidParams.Add(request.NewErrParamRequired("AssetIds"))
7569	}
7570	if s.AssetIds != nil && len(s.AssetIds) < 1 {
7571		invalidParams.Add(request.NewErrParamMinLen("AssetIds", 1))
7572	}
7573	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
7574		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
7575	}
7576	if s.ProjectId == nil {
7577		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
7578	}
7579	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
7580		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
7581	}
7582
7583	if invalidParams.Len() > 0 {
7584		return invalidParams
7585	}
7586	return nil
7587}
7588
7589// SetAssetIds sets the AssetIds field's value.
7590func (s *BatchDisassociateProjectAssetsInput) SetAssetIds(v []*string) *BatchDisassociateProjectAssetsInput {
7591	s.AssetIds = v
7592	return s
7593}
7594
7595// SetClientToken sets the ClientToken field's value.
7596func (s *BatchDisassociateProjectAssetsInput) SetClientToken(v string) *BatchDisassociateProjectAssetsInput {
7597	s.ClientToken = &v
7598	return s
7599}
7600
7601// SetProjectId sets the ProjectId field's value.
7602func (s *BatchDisassociateProjectAssetsInput) SetProjectId(v string) *BatchDisassociateProjectAssetsInput {
7603	s.ProjectId = &v
7604	return s
7605}
7606
7607type BatchDisassociateProjectAssetsOutput struct {
7608	_ struct{} `type:"structure"`
7609
7610	// A list of associated error information, if any.
7611	Errors []*AssetErrorDetails `locationName:"errors" type:"list"`
7612}
7613
7614// String returns the string representation
7615func (s BatchDisassociateProjectAssetsOutput) String() string {
7616	return awsutil.Prettify(s)
7617}
7618
7619// GoString returns the string representation
7620func (s BatchDisassociateProjectAssetsOutput) GoString() string {
7621	return s.String()
7622}
7623
7624// SetErrors sets the Errors field's value.
7625func (s *BatchDisassociateProjectAssetsOutput) SetErrors(v []*AssetErrorDetails) *BatchDisassociateProjectAssetsOutput {
7626	s.Errors = v
7627	return s
7628}
7629
7630// Contains error information from updating a batch of asset property values.
7631type BatchPutAssetPropertyError struct {
7632	_ struct{} `type:"structure"`
7633
7634	// The error code.
7635	//
7636	// ErrorCode is a required field
7637	ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"BatchPutAssetPropertyValueErrorCode"`
7638
7639	// The associated error message.
7640	//
7641	// ErrorMessage is a required field
7642	ErrorMessage *string `locationName:"errorMessage" type:"string" required:"true"`
7643
7644	// A list of timestamps for each error, if any.
7645	//
7646	// Timestamps is a required field
7647	Timestamps []*TimeInNanos `locationName:"timestamps" type:"list" required:"true"`
7648}
7649
7650// String returns the string representation
7651func (s BatchPutAssetPropertyError) String() string {
7652	return awsutil.Prettify(s)
7653}
7654
7655// GoString returns the string representation
7656func (s BatchPutAssetPropertyError) GoString() string {
7657	return s.String()
7658}
7659
7660// SetErrorCode sets the ErrorCode field's value.
7661func (s *BatchPutAssetPropertyError) SetErrorCode(v string) *BatchPutAssetPropertyError {
7662	s.ErrorCode = &v
7663	return s
7664}
7665
7666// SetErrorMessage sets the ErrorMessage field's value.
7667func (s *BatchPutAssetPropertyError) SetErrorMessage(v string) *BatchPutAssetPropertyError {
7668	s.ErrorMessage = &v
7669	return s
7670}
7671
7672// SetTimestamps sets the Timestamps field's value.
7673func (s *BatchPutAssetPropertyError) SetTimestamps(v []*TimeInNanos) *BatchPutAssetPropertyError {
7674	s.Timestamps = v
7675	return s
7676}
7677
7678// Contains error information for asset property value entries that are associated
7679// with the BatchPutAssetPropertyValue (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html)
7680// API.
7681type BatchPutAssetPropertyErrorEntry struct {
7682	_ struct{} `type:"structure"`
7683
7684	// The ID of the failed entry.
7685	//
7686	// EntryId is a required field
7687	EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"`
7688
7689	// The list of update property value errors.
7690	//
7691	// Errors is a required field
7692	Errors []*BatchPutAssetPropertyError `locationName:"errors" type:"list" required:"true"`
7693}
7694
7695// String returns the string representation
7696func (s BatchPutAssetPropertyErrorEntry) String() string {
7697	return awsutil.Prettify(s)
7698}
7699
7700// GoString returns the string representation
7701func (s BatchPutAssetPropertyErrorEntry) GoString() string {
7702	return s.String()
7703}
7704
7705// SetEntryId sets the EntryId field's value.
7706func (s *BatchPutAssetPropertyErrorEntry) SetEntryId(v string) *BatchPutAssetPropertyErrorEntry {
7707	s.EntryId = &v
7708	return s
7709}
7710
7711// SetErrors sets the Errors field's value.
7712func (s *BatchPutAssetPropertyErrorEntry) SetErrors(v []*BatchPutAssetPropertyError) *BatchPutAssetPropertyErrorEntry {
7713	s.Errors = v
7714	return s
7715}
7716
7717type BatchPutAssetPropertyValueInput struct {
7718	_ struct{} `type:"structure"`
7719
7720	// The list of asset property value entries for the batch put request. You can
7721	// specify up to 10 entries per request.
7722	//
7723	// Entries is a required field
7724	Entries []*PutAssetPropertyValueEntry `locationName:"entries" type:"list" required:"true"`
7725}
7726
7727// String returns the string representation
7728func (s BatchPutAssetPropertyValueInput) String() string {
7729	return awsutil.Prettify(s)
7730}
7731
7732// GoString returns the string representation
7733func (s BatchPutAssetPropertyValueInput) GoString() string {
7734	return s.String()
7735}
7736
7737// Validate inspects the fields of the type to determine if they are valid.
7738func (s *BatchPutAssetPropertyValueInput) Validate() error {
7739	invalidParams := request.ErrInvalidParams{Context: "BatchPutAssetPropertyValueInput"}
7740	if s.Entries == nil {
7741		invalidParams.Add(request.NewErrParamRequired("Entries"))
7742	}
7743	if s.Entries != nil {
7744		for i, v := range s.Entries {
7745			if v == nil {
7746				continue
7747			}
7748			if err := v.Validate(); err != nil {
7749				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams))
7750			}
7751		}
7752	}
7753
7754	if invalidParams.Len() > 0 {
7755		return invalidParams
7756	}
7757	return nil
7758}
7759
7760// SetEntries sets the Entries field's value.
7761func (s *BatchPutAssetPropertyValueInput) SetEntries(v []*PutAssetPropertyValueEntry) *BatchPutAssetPropertyValueInput {
7762	s.Entries = v
7763	return s
7764}
7765
7766type BatchPutAssetPropertyValueOutput struct {
7767	_ struct{} `type:"structure"`
7768
7769	// A list of the errors (if any) associated with the batch put request. Each
7770	// error entry contains the entryId of the entry that failed.
7771	//
7772	// ErrorEntries is a required field
7773	ErrorEntries []*BatchPutAssetPropertyErrorEntry `locationName:"errorEntries" type:"list" required:"true"`
7774}
7775
7776// String returns the string representation
7777func (s BatchPutAssetPropertyValueOutput) String() string {
7778	return awsutil.Prettify(s)
7779}
7780
7781// GoString returns the string representation
7782func (s BatchPutAssetPropertyValueOutput) GoString() string {
7783	return s.String()
7784}
7785
7786// SetErrorEntries sets the ErrorEntries field's value.
7787func (s *BatchPutAssetPropertyValueOutput) SetErrorEntries(v []*BatchPutAssetPropertyErrorEntry) *BatchPutAssetPropertyValueOutput {
7788	s.ErrorEntries = v
7789	return s
7790}
7791
7792// Your request has conflicting operations. This can occur if you're trying
7793// to perform more than one operation on the same resource at the same time.
7794type ConflictingOperationException struct {
7795	_            struct{}                  `type:"structure"`
7796	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7797
7798	Message_ *string `locationName:"message" type:"string"`
7799
7800	// The ARN of the resource that conflicts with this operation.
7801	//
7802	// ResourceArn is a required field
7803	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
7804
7805	// The ID of the resource that conflicts with this operation.
7806	//
7807	// ResourceId is a required field
7808	ResourceId *string `locationName:"resourceId" type:"string" required:"true"`
7809}
7810
7811// String returns the string representation
7812func (s ConflictingOperationException) String() string {
7813	return awsutil.Prettify(s)
7814}
7815
7816// GoString returns the string representation
7817func (s ConflictingOperationException) GoString() string {
7818	return s.String()
7819}
7820
7821func newErrorConflictingOperationException(v protocol.ResponseMetadata) error {
7822	return &ConflictingOperationException{
7823		RespMetadata: v,
7824	}
7825}
7826
7827// Code returns the exception type name.
7828func (s *ConflictingOperationException) Code() string {
7829	return "ConflictingOperationException"
7830}
7831
7832// Message returns the exception's message.
7833func (s *ConflictingOperationException) Message() string {
7834	if s.Message_ != nil {
7835		return *s.Message_
7836	}
7837	return ""
7838}
7839
7840// OrigErr always returns nil, satisfies awserr.Error interface.
7841func (s *ConflictingOperationException) OrigErr() error {
7842	return nil
7843}
7844
7845func (s *ConflictingOperationException) Error() string {
7846	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7847}
7848
7849// Status code returns the HTTP status code for the request's response error.
7850func (s *ConflictingOperationException) StatusCode() int {
7851	return s.RespMetadata.StatusCode
7852}
7853
7854// RequestID returns the service's response RequestID for request.
7855func (s *ConflictingOperationException) RequestID() string {
7856	return s.RespMetadata.RequestID
7857}
7858
7859type CreateAccessPolicyInput struct {
7860	_ struct{} `type:"structure"`
7861
7862	// The identity for this access policy. Choose either a user or a group but
7863	// not both.
7864	//
7865	// AccessPolicyIdentity is a required field
7866	AccessPolicyIdentity *Identity `locationName:"accessPolicyIdentity" type:"structure" required:"true"`
7867
7868	// The permission level for this access policy. Note that a project ADMINISTRATOR
7869	// is also known as a project owner.
7870	//
7871	// AccessPolicyPermission is a required field
7872	AccessPolicyPermission *string `locationName:"accessPolicyPermission" type:"string" required:"true" enum:"Permission"`
7873
7874	// The AWS IoT SiteWise Monitor resource for this access policy. Choose either
7875	// portal or project but not both.
7876	//
7877	// AccessPolicyResource is a required field
7878	AccessPolicyResource *Resource `locationName:"accessPolicyResource" type:"structure" required:"true"`
7879
7880	// A unique case-sensitive identifier that you can provide to ensure the idempotency
7881	// of the request. Don't reuse this client token if a new idempotent request
7882	// is required.
7883	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
7884
7885	// A list of key-value pairs that contain metadata for the access policy. For
7886	// more information, see Tagging your AWS IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
7887	// in the AWS IoT SiteWise User Guide.
7888	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
7889}
7890
7891// String returns the string representation
7892func (s CreateAccessPolicyInput) String() string {
7893	return awsutil.Prettify(s)
7894}
7895
7896// GoString returns the string representation
7897func (s CreateAccessPolicyInput) GoString() string {
7898	return s.String()
7899}
7900
7901// Validate inspects the fields of the type to determine if they are valid.
7902func (s *CreateAccessPolicyInput) Validate() error {
7903	invalidParams := request.ErrInvalidParams{Context: "CreateAccessPolicyInput"}
7904	if s.AccessPolicyIdentity == nil {
7905		invalidParams.Add(request.NewErrParamRequired("AccessPolicyIdentity"))
7906	}
7907	if s.AccessPolicyPermission == nil {
7908		invalidParams.Add(request.NewErrParamRequired("AccessPolicyPermission"))
7909	}
7910	if s.AccessPolicyResource == nil {
7911		invalidParams.Add(request.NewErrParamRequired("AccessPolicyResource"))
7912	}
7913	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
7914		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
7915	}
7916	if s.Tags != nil && len(s.Tags) < 1 {
7917		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
7918	}
7919	if s.AccessPolicyIdentity != nil {
7920		if err := s.AccessPolicyIdentity.Validate(); err != nil {
7921			invalidParams.AddNested("AccessPolicyIdentity", err.(request.ErrInvalidParams))
7922		}
7923	}
7924	if s.AccessPolicyResource != nil {
7925		if err := s.AccessPolicyResource.Validate(); err != nil {
7926			invalidParams.AddNested("AccessPolicyResource", err.(request.ErrInvalidParams))
7927		}
7928	}
7929
7930	if invalidParams.Len() > 0 {
7931		return invalidParams
7932	}
7933	return nil
7934}
7935
7936// SetAccessPolicyIdentity sets the AccessPolicyIdentity field's value.
7937func (s *CreateAccessPolicyInput) SetAccessPolicyIdentity(v *Identity) *CreateAccessPolicyInput {
7938	s.AccessPolicyIdentity = v
7939	return s
7940}
7941
7942// SetAccessPolicyPermission sets the AccessPolicyPermission field's value.
7943func (s *CreateAccessPolicyInput) SetAccessPolicyPermission(v string) *CreateAccessPolicyInput {
7944	s.AccessPolicyPermission = &v
7945	return s
7946}
7947
7948// SetAccessPolicyResource sets the AccessPolicyResource field's value.
7949func (s *CreateAccessPolicyInput) SetAccessPolicyResource(v *Resource) *CreateAccessPolicyInput {
7950	s.AccessPolicyResource = v
7951	return s
7952}
7953
7954// SetClientToken sets the ClientToken field's value.
7955func (s *CreateAccessPolicyInput) SetClientToken(v string) *CreateAccessPolicyInput {
7956	s.ClientToken = &v
7957	return s
7958}
7959
7960// SetTags sets the Tags field's value.
7961func (s *CreateAccessPolicyInput) SetTags(v map[string]*string) *CreateAccessPolicyInput {
7962	s.Tags = v
7963	return s
7964}
7965
7966type CreateAccessPolicyOutput struct {
7967	_ struct{} `type:"structure"`
7968
7969	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
7970	// of the access policy, which has the following format.
7971	//
7972	// arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy/${AccessPolicyId}
7973	//
7974	// AccessPolicyArn is a required field
7975	AccessPolicyArn *string `locationName:"accessPolicyArn" min:"1" type:"string" required:"true"`
7976
7977	// The ID of the access policy.
7978	//
7979	// AccessPolicyId is a required field
7980	AccessPolicyId *string `locationName:"accessPolicyId" min:"36" type:"string" required:"true"`
7981}
7982
7983// String returns the string representation
7984func (s CreateAccessPolicyOutput) String() string {
7985	return awsutil.Prettify(s)
7986}
7987
7988// GoString returns the string representation
7989func (s CreateAccessPolicyOutput) GoString() string {
7990	return s.String()
7991}
7992
7993// SetAccessPolicyArn sets the AccessPolicyArn field's value.
7994func (s *CreateAccessPolicyOutput) SetAccessPolicyArn(v string) *CreateAccessPolicyOutput {
7995	s.AccessPolicyArn = &v
7996	return s
7997}
7998
7999// SetAccessPolicyId sets the AccessPolicyId field's value.
8000func (s *CreateAccessPolicyOutput) SetAccessPolicyId(v string) *CreateAccessPolicyOutput {
8001	s.AccessPolicyId = &v
8002	return s
8003}
8004
8005type CreateAssetInput struct {
8006	_ struct{} `type:"structure"`
8007
8008	// The ID of the asset model from which to create the asset.
8009	//
8010	// AssetModelId is a required field
8011	AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"`
8012
8013	// A unique, friendly name for the asset.
8014	//
8015	// AssetName is a required field
8016	AssetName *string `locationName:"assetName" min:"1" type:"string" required:"true"`
8017
8018	// A unique case-sensitive identifier that you can provide to ensure the idempotency
8019	// of the request. Don't reuse this client token if a new idempotent request
8020	// is required.
8021	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
8022
8023	// A list of key-value pairs that contain metadata for the asset. For more information,
8024	// see Tagging your AWS IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
8025	// in the AWS IoT SiteWise User Guide.
8026	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
8027}
8028
8029// String returns the string representation
8030func (s CreateAssetInput) String() string {
8031	return awsutil.Prettify(s)
8032}
8033
8034// GoString returns the string representation
8035func (s CreateAssetInput) GoString() string {
8036	return s.String()
8037}
8038
8039// Validate inspects the fields of the type to determine if they are valid.
8040func (s *CreateAssetInput) Validate() error {
8041	invalidParams := request.ErrInvalidParams{Context: "CreateAssetInput"}
8042	if s.AssetModelId == nil {
8043		invalidParams.Add(request.NewErrParamRequired("AssetModelId"))
8044	}
8045	if s.AssetModelId != nil && len(*s.AssetModelId) < 36 {
8046		invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36))
8047	}
8048	if s.AssetName == nil {
8049		invalidParams.Add(request.NewErrParamRequired("AssetName"))
8050	}
8051	if s.AssetName != nil && len(*s.AssetName) < 1 {
8052		invalidParams.Add(request.NewErrParamMinLen("AssetName", 1))
8053	}
8054	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
8055		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
8056	}
8057	if s.Tags != nil && len(s.Tags) < 1 {
8058		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
8059	}
8060
8061	if invalidParams.Len() > 0 {
8062		return invalidParams
8063	}
8064	return nil
8065}
8066
8067// SetAssetModelId sets the AssetModelId field's value.
8068func (s *CreateAssetInput) SetAssetModelId(v string) *CreateAssetInput {
8069	s.AssetModelId = &v
8070	return s
8071}
8072
8073// SetAssetName sets the AssetName field's value.
8074func (s *CreateAssetInput) SetAssetName(v string) *CreateAssetInput {
8075	s.AssetName = &v
8076	return s
8077}
8078
8079// SetClientToken sets the ClientToken field's value.
8080func (s *CreateAssetInput) SetClientToken(v string) *CreateAssetInput {
8081	s.ClientToken = &v
8082	return s
8083}
8084
8085// SetTags sets the Tags field's value.
8086func (s *CreateAssetInput) SetTags(v map[string]*string) *CreateAssetInput {
8087	s.Tags = v
8088	return s
8089}
8090
8091type CreateAssetModelInput struct {
8092	_ struct{} `type:"structure"`
8093
8094	// A description for the asset model.
8095	AssetModelDescription *string `locationName:"assetModelDescription" min:"1" type:"string"`
8096
8097	// The hierarchy definitions of the asset model. Each hierarchy specifies an
8098	// asset model whose assets can be children of any other assets created from
8099	// this asset model. For more information, see Asset Hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html)
8100	// in the AWS IoT SiteWise User Guide.
8101	//
8102	// You can specify up to 10 hierarchies per asset model. For more information,
8103	// see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
8104	// in the AWS IoT SiteWise User Guide.
8105	AssetModelHierarchies []*AssetModelHierarchyDefinition `locationName:"assetModelHierarchies" type:"list"`
8106
8107	// A unique, friendly name for the asset model.
8108	//
8109	// AssetModelName is a required field
8110	AssetModelName *string `locationName:"assetModelName" min:"1" type:"string" required:"true"`
8111
8112	// The property definitions of the asset model. For more information, see Asset
8113	// Properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html)
8114	// in the AWS IoT SiteWise User Guide.
8115	//
8116	// You can specify up to 200 properties per asset model. For more information,
8117	// see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
8118	// in the AWS IoT SiteWise User Guide.
8119	AssetModelProperties []*AssetModelPropertyDefinition `locationName:"assetModelProperties" type:"list"`
8120
8121	// A unique case-sensitive identifier that you can provide to ensure the idempotency
8122	// of the request. Don't reuse this client token if a new idempotent request
8123	// is required.
8124	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
8125
8126	// A list of key-value pairs that contain metadata for the asset model. For
8127	// more information, see Tagging your AWS IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
8128	// in the AWS IoT SiteWise User Guide.
8129	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
8130}
8131
8132// String returns the string representation
8133func (s CreateAssetModelInput) String() string {
8134	return awsutil.Prettify(s)
8135}
8136
8137// GoString returns the string representation
8138func (s CreateAssetModelInput) GoString() string {
8139	return s.String()
8140}
8141
8142// Validate inspects the fields of the type to determine if they are valid.
8143func (s *CreateAssetModelInput) Validate() error {
8144	invalidParams := request.ErrInvalidParams{Context: "CreateAssetModelInput"}
8145	if s.AssetModelDescription != nil && len(*s.AssetModelDescription) < 1 {
8146		invalidParams.Add(request.NewErrParamMinLen("AssetModelDescription", 1))
8147	}
8148	if s.AssetModelName == nil {
8149		invalidParams.Add(request.NewErrParamRequired("AssetModelName"))
8150	}
8151	if s.AssetModelName != nil && len(*s.AssetModelName) < 1 {
8152		invalidParams.Add(request.NewErrParamMinLen("AssetModelName", 1))
8153	}
8154	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
8155		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
8156	}
8157	if s.Tags != nil && len(s.Tags) < 1 {
8158		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
8159	}
8160	if s.AssetModelHierarchies != nil {
8161		for i, v := range s.AssetModelHierarchies {
8162			if v == nil {
8163				continue
8164			}
8165			if err := v.Validate(); err != nil {
8166				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelHierarchies", i), err.(request.ErrInvalidParams))
8167			}
8168		}
8169	}
8170	if s.AssetModelProperties != nil {
8171		for i, v := range s.AssetModelProperties {
8172			if v == nil {
8173				continue
8174			}
8175			if err := v.Validate(); err != nil {
8176				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelProperties", i), err.(request.ErrInvalidParams))
8177			}
8178		}
8179	}
8180
8181	if invalidParams.Len() > 0 {
8182		return invalidParams
8183	}
8184	return nil
8185}
8186
8187// SetAssetModelDescription sets the AssetModelDescription field's value.
8188func (s *CreateAssetModelInput) SetAssetModelDescription(v string) *CreateAssetModelInput {
8189	s.AssetModelDescription = &v
8190	return s
8191}
8192
8193// SetAssetModelHierarchies sets the AssetModelHierarchies field's value.
8194func (s *CreateAssetModelInput) SetAssetModelHierarchies(v []*AssetModelHierarchyDefinition) *CreateAssetModelInput {
8195	s.AssetModelHierarchies = v
8196	return s
8197}
8198
8199// SetAssetModelName sets the AssetModelName field's value.
8200func (s *CreateAssetModelInput) SetAssetModelName(v string) *CreateAssetModelInput {
8201	s.AssetModelName = &v
8202	return s
8203}
8204
8205// SetAssetModelProperties sets the AssetModelProperties field's value.
8206func (s *CreateAssetModelInput) SetAssetModelProperties(v []*AssetModelPropertyDefinition) *CreateAssetModelInput {
8207	s.AssetModelProperties = v
8208	return s
8209}
8210
8211// SetClientToken sets the ClientToken field's value.
8212func (s *CreateAssetModelInput) SetClientToken(v string) *CreateAssetModelInput {
8213	s.ClientToken = &v
8214	return s
8215}
8216
8217// SetTags sets the Tags field's value.
8218func (s *CreateAssetModelInput) SetTags(v map[string]*string) *CreateAssetModelInput {
8219	s.Tags = v
8220	return s
8221}
8222
8223type CreateAssetModelOutput struct {
8224	_ struct{} `type:"structure"`
8225
8226	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
8227	// of the asset model, which has the following format.
8228	//
8229	// arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId}
8230	//
8231	// AssetModelArn is a required field
8232	AssetModelArn *string `locationName:"assetModelArn" min:"1" type:"string" required:"true"`
8233
8234	// The ID of the asset model. You can use this ID when you call other AWS IoT
8235	// SiteWise APIs.
8236	//
8237	// AssetModelId is a required field
8238	AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"`
8239
8240	// The status of the asset model, which contains a state (CREATING after successfully
8241	// calling this operation) and any error message.
8242	//
8243	// AssetModelStatus is a required field
8244	AssetModelStatus *AssetModelStatus `locationName:"assetModelStatus" type:"structure" required:"true"`
8245}
8246
8247// String returns the string representation
8248func (s CreateAssetModelOutput) String() string {
8249	return awsutil.Prettify(s)
8250}
8251
8252// GoString returns the string representation
8253func (s CreateAssetModelOutput) GoString() string {
8254	return s.String()
8255}
8256
8257// SetAssetModelArn sets the AssetModelArn field's value.
8258func (s *CreateAssetModelOutput) SetAssetModelArn(v string) *CreateAssetModelOutput {
8259	s.AssetModelArn = &v
8260	return s
8261}
8262
8263// SetAssetModelId sets the AssetModelId field's value.
8264func (s *CreateAssetModelOutput) SetAssetModelId(v string) *CreateAssetModelOutput {
8265	s.AssetModelId = &v
8266	return s
8267}
8268
8269// SetAssetModelStatus sets the AssetModelStatus field's value.
8270func (s *CreateAssetModelOutput) SetAssetModelStatus(v *AssetModelStatus) *CreateAssetModelOutput {
8271	s.AssetModelStatus = v
8272	return s
8273}
8274
8275type CreateAssetOutput struct {
8276	_ struct{} `type:"structure"`
8277
8278	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
8279	// of the asset, which has the following format.
8280	//
8281	// arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}
8282	//
8283	// AssetArn is a required field
8284	AssetArn *string `locationName:"assetArn" min:"1" type:"string" required:"true"`
8285
8286	// The ID of the asset. This ID uniquely identifies the asset within AWS IoT
8287	// SiteWise and can be used with other AWS IoT SiteWise APIs.
8288	//
8289	// AssetId is a required field
8290	AssetId *string `locationName:"assetId" min:"36" type:"string" required:"true"`
8291
8292	// The status of the asset, which contains a state (CREATING after successfully
8293	// calling this operation) and any error message.
8294	//
8295	// AssetStatus is a required field
8296	AssetStatus *AssetStatus `locationName:"assetStatus" type:"structure" required:"true"`
8297}
8298
8299// String returns the string representation
8300func (s CreateAssetOutput) String() string {
8301	return awsutil.Prettify(s)
8302}
8303
8304// GoString returns the string representation
8305func (s CreateAssetOutput) GoString() string {
8306	return s.String()
8307}
8308
8309// SetAssetArn sets the AssetArn field's value.
8310func (s *CreateAssetOutput) SetAssetArn(v string) *CreateAssetOutput {
8311	s.AssetArn = &v
8312	return s
8313}
8314
8315// SetAssetId sets the AssetId field's value.
8316func (s *CreateAssetOutput) SetAssetId(v string) *CreateAssetOutput {
8317	s.AssetId = &v
8318	return s
8319}
8320
8321// SetAssetStatus sets the AssetStatus field's value.
8322func (s *CreateAssetOutput) SetAssetStatus(v *AssetStatus) *CreateAssetOutput {
8323	s.AssetStatus = v
8324	return s
8325}
8326
8327type CreateDashboardInput struct {
8328	_ struct{} `type:"structure"`
8329
8330	// A unique case-sensitive identifier that you can provide to ensure the idempotency
8331	// of the request. Don't reuse this client token if a new idempotent request
8332	// is required.
8333	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
8334
8335	// The dashboard definition specified in a JSON literal. For detailed information,
8336	// see Creating Dashboards (CLI) (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html)
8337	// in the AWS IoT SiteWise User Guide.
8338	//
8339	// DashboardDefinition is a required field
8340	DashboardDefinition *string `locationName:"dashboardDefinition" type:"string" required:"true"`
8341
8342	// A description for the dashboard.
8343	DashboardDescription *string `locationName:"dashboardDescription" min:"1" type:"string"`
8344
8345	// A friendly name for the dashboard.
8346	//
8347	// DashboardName is a required field
8348	DashboardName *string `locationName:"dashboardName" min:"1" type:"string" required:"true"`
8349
8350	// The ID of the project in which to create the dashboard.
8351	//
8352	// ProjectId is a required field
8353	ProjectId *string `locationName:"projectId" min:"36" type:"string" required:"true"`
8354
8355	// A list of key-value pairs that contain metadata for the dashboard. For more
8356	// information, see Tagging your AWS IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
8357	// in the AWS IoT SiteWise User Guide.
8358	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
8359}
8360
8361// String returns the string representation
8362func (s CreateDashboardInput) String() string {
8363	return awsutil.Prettify(s)
8364}
8365
8366// GoString returns the string representation
8367func (s CreateDashboardInput) GoString() string {
8368	return s.String()
8369}
8370
8371// Validate inspects the fields of the type to determine if they are valid.
8372func (s *CreateDashboardInput) Validate() error {
8373	invalidParams := request.ErrInvalidParams{Context: "CreateDashboardInput"}
8374	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
8375		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
8376	}
8377	if s.DashboardDefinition == nil {
8378		invalidParams.Add(request.NewErrParamRequired("DashboardDefinition"))
8379	}
8380	if s.DashboardDescription != nil && len(*s.DashboardDescription) < 1 {
8381		invalidParams.Add(request.NewErrParamMinLen("DashboardDescription", 1))
8382	}
8383	if s.DashboardName == nil {
8384		invalidParams.Add(request.NewErrParamRequired("DashboardName"))
8385	}
8386	if s.DashboardName != nil && len(*s.DashboardName) < 1 {
8387		invalidParams.Add(request.NewErrParamMinLen("DashboardName", 1))
8388	}
8389	if s.ProjectId == nil {
8390		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
8391	}
8392	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
8393		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
8394	}
8395	if s.Tags != nil && len(s.Tags) < 1 {
8396		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
8397	}
8398
8399	if invalidParams.Len() > 0 {
8400		return invalidParams
8401	}
8402	return nil
8403}
8404
8405// SetClientToken sets the ClientToken field's value.
8406func (s *CreateDashboardInput) SetClientToken(v string) *CreateDashboardInput {
8407	s.ClientToken = &v
8408	return s
8409}
8410
8411// SetDashboardDefinition sets the DashboardDefinition field's value.
8412func (s *CreateDashboardInput) SetDashboardDefinition(v string) *CreateDashboardInput {
8413	s.DashboardDefinition = &v
8414	return s
8415}
8416
8417// SetDashboardDescription sets the DashboardDescription field's value.
8418func (s *CreateDashboardInput) SetDashboardDescription(v string) *CreateDashboardInput {
8419	s.DashboardDescription = &v
8420	return s
8421}
8422
8423// SetDashboardName sets the DashboardName field's value.
8424func (s *CreateDashboardInput) SetDashboardName(v string) *CreateDashboardInput {
8425	s.DashboardName = &v
8426	return s
8427}
8428
8429// SetProjectId sets the ProjectId field's value.
8430func (s *CreateDashboardInput) SetProjectId(v string) *CreateDashboardInput {
8431	s.ProjectId = &v
8432	return s
8433}
8434
8435// SetTags sets the Tags field's value.
8436func (s *CreateDashboardInput) SetTags(v map[string]*string) *CreateDashboardInput {
8437	s.Tags = v
8438	return s
8439}
8440
8441type CreateDashboardOutput struct {
8442	_ struct{} `type:"structure"`
8443
8444	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
8445	// of the dashboard, which has the following format.
8446	//
8447	// arn:${Partition}:iotsitewise:${Region}:${Account}:dashboard/${DashboardId}
8448	//
8449	// DashboardArn is a required field
8450	DashboardArn *string `locationName:"dashboardArn" min:"1" type:"string" required:"true"`
8451
8452	// The ID of the dashboard.
8453	//
8454	// DashboardId is a required field
8455	DashboardId *string `locationName:"dashboardId" min:"36" type:"string" required:"true"`
8456}
8457
8458// String returns the string representation
8459func (s CreateDashboardOutput) String() string {
8460	return awsutil.Prettify(s)
8461}
8462
8463// GoString returns the string representation
8464func (s CreateDashboardOutput) GoString() string {
8465	return s.String()
8466}
8467
8468// SetDashboardArn sets the DashboardArn field's value.
8469func (s *CreateDashboardOutput) SetDashboardArn(v string) *CreateDashboardOutput {
8470	s.DashboardArn = &v
8471	return s
8472}
8473
8474// SetDashboardId sets the DashboardId field's value.
8475func (s *CreateDashboardOutput) SetDashboardId(v string) *CreateDashboardOutput {
8476	s.DashboardId = &v
8477	return s
8478}
8479
8480type CreateGatewayInput struct {
8481	_ struct{} `type:"structure"`
8482
8483	// A unique, friendly name for the gateway.
8484	//
8485	// GatewayName is a required field
8486	GatewayName *string `locationName:"gatewayName" min:"1" type:"string" required:"true"`
8487
8488	// The gateway's platform. You can only specify one platform in a gateway.
8489	//
8490	// GatewayPlatform is a required field
8491	GatewayPlatform *GatewayPlatform `locationName:"gatewayPlatform" type:"structure" required:"true"`
8492
8493	// A list of key-value pairs that contain metadata for the gateway. For more
8494	// information, see Tagging your AWS IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
8495	// in the AWS IoT SiteWise User Guide.
8496	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
8497}
8498
8499// String returns the string representation
8500func (s CreateGatewayInput) String() string {
8501	return awsutil.Prettify(s)
8502}
8503
8504// GoString returns the string representation
8505func (s CreateGatewayInput) GoString() string {
8506	return s.String()
8507}
8508
8509// Validate inspects the fields of the type to determine if they are valid.
8510func (s *CreateGatewayInput) Validate() error {
8511	invalidParams := request.ErrInvalidParams{Context: "CreateGatewayInput"}
8512	if s.GatewayName == nil {
8513		invalidParams.Add(request.NewErrParamRequired("GatewayName"))
8514	}
8515	if s.GatewayName != nil && len(*s.GatewayName) < 1 {
8516		invalidParams.Add(request.NewErrParamMinLen("GatewayName", 1))
8517	}
8518	if s.GatewayPlatform == nil {
8519		invalidParams.Add(request.NewErrParamRequired("GatewayPlatform"))
8520	}
8521	if s.Tags != nil && len(s.Tags) < 1 {
8522		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
8523	}
8524	if s.GatewayPlatform != nil {
8525		if err := s.GatewayPlatform.Validate(); err != nil {
8526			invalidParams.AddNested("GatewayPlatform", err.(request.ErrInvalidParams))
8527		}
8528	}
8529
8530	if invalidParams.Len() > 0 {
8531		return invalidParams
8532	}
8533	return nil
8534}
8535
8536// SetGatewayName sets the GatewayName field's value.
8537func (s *CreateGatewayInput) SetGatewayName(v string) *CreateGatewayInput {
8538	s.GatewayName = &v
8539	return s
8540}
8541
8542// SetGatewayPlatform sets the GatewayPlatform field's value.
8543func (s *CreateGatewayInput) SetGatewayPlatform(v *GatewayPlatform) *CreateGatewayInput {
8544	s.GatewayPlatform = v
8545	return s
8546}
8547
8548// SetTags sets the Tags field's value.
8549func (s *CreateGatewayInput) SetTags(v map[string]*string) *CreateGatewayInput {
8550	s.Tags = v
8551	return s
8552}
8553
8554type CreateGatewayOutput struct {
8555	_ struct{} `type:"structure"`
8556
8557	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
8558	// of the gateway, which has the following format.
8559	//
8560	// arn:${Partition}:iotsitewise:${Region}:${Account}:gateway/${GatewayId}
8561	//
8562	// GatewayArn is a required field
8563	GatewayArn *string `locationName:"gatewayArn" min:"1" type:"string" required:"true"`
8564
8565	// The ID of the gateway device. You can use this ID when you call other AWS
8566	// IoT SiteWise APIs.
8567	//
8568	// GatewayId is a required field
8569	GatewayId *string `locationName:"gatewayId" min:"36" type:"string" required:"true"`
8570}
8571
8572// String returns the string representation
8573func (s CreateGatewayOutput) String() string {
8574	return awsutil.Prettify(s)
8575}
8576
8577// GoString returns the string representation
8578func (s CreateGatewayOutput) GoString() string {
8579	return s.String()
8580}
8581
8582// SetGatewayArn sets the GatewayArn field's value.
8583func (s *CreateGatewayOutput) SetGatewayArn(v string) *CreateGatewayOutput {
8584	s.GatewayArn = &v
8585	return s
8586}
8587
8588// SetGatewayId sets the GatewayId field's value.
8589func (s *CreateGatewayOutput) SetGatewayId(v string) *CreateGatewayOutput {
8590	s.GatewayId = &v
8591	return s
8592}
8593
8594type CreatePortalInput struct {
8595	_ struct{} `type:"structure"`
8596
8597	// A unique case-sensitive identifier that you can provide to ensure the idempotency
8598	// of the request. Don't reuse this client token if a new idempotent request
8599	// is required.
8600	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
8601
8602	// The AWS administrator's contact email address.
8603	//
8604	// PortalContactEmail is a required field
8605	PortalContactEmail *string `locationName:"portalContactEmail" min:"1" type:"string" required:"true"`
8606
8607	// A description for the portal.
8608	PortalDescription *string `locationName:"portalDescription" min:"1" type:"string"`
8609
8610	// A logo image to display in the portal. Upload a square, high-resolution image.
8611	// The image is displayed on a dark background.
8612	PortalLogoImageFile *ImageFile `locationName:"portalLogoImageFile" type:"structure"`
8613
8614	// A friendly name for the portal.
8615	//
8616	// PortalName is a required field
8617	PortalName *string `locationName:"portalName" min:"1" type:"string" required:"true"`
8618
8619	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
8620	// of a service role that allows the portal's users to access your AWS IoT SiteWise
8621	// resources on your behalf. For more information, see Using service roles for
8622	// AWS IoT SiteWise Monitor (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html)
8623	// in the AWS IoT SiteWise User Guide.
8624	//
8625	// RoleArn is a required field
8626	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
8627
8628	// A list of key-value pairs that contain metadata for the portal. For more
8629	// information, see Tagging your AWS IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
8630	// in the AWS IoT SiteWise User Guide.
8631	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
8632}
8633
8634// String returns the string representation
8635func (s CreatePortalInput) String() string {
8636	return awsutil.Prettify(s)
8637}
8638
8639// GoString returns the string representation
8640func (s CreatePortalInput) GoString() string {
8641	return s.String()
8642}
8643
8644// Validate inspects the fields of the type to determine if they are valid.
8645func (s *CreatePortalInput) Validate() error {
8646	invalidParams := request.ErrInvalidParams{Context: "CreatePortalInput"}
8647	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
8648		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
8649	}
8650	if s.PortalContactEmail == nil {
8651		invalidParams.Add(request.NewErrParamRequired("PortalContactEmail"))
8652	}
8653	if s.PortalContactEmail != nil && len(*s.PortalContactEmail) < 1 {
8654		invalidParams.Add(request.NewErrParamMinLen("PortalContactEmail", 1))
8655	}
8656	if s.PortalDescription != nil && len(*s.PortalDescription) < 1 {
8657		invalidParams.Add(request.NewErrParamMinLen("PortalDescription", 1))
8658	}
8659	if s.PortalName == nil {
8660		invalidParams.Add(request.NewErrParamRequired("PortalName"))
8661	}
8662	if s.PortalName != nil && len(*s.PortalName) < 1 {
8663		invalidParams.Add(request.NewErrParamMinLen("PortalName", 1))
8664	}
8665	if s.RoleArn == nil {
8666		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
8667	}
8668	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
8669		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
8670	}
8671	if s.Tags != nil && len(s.Tags) < 1 {
8672		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
8673	}
8674	if s.PortalLogoImageFile != nil {
8675		if err := s.PortalLogoImageFile.Validate(); err != nil {
8676			invalidParams.AddNested("PortalLogoImageFile", err.(request.ErrInvalidParams))
8677		}
8678	}
8679
8680	if invalidParams.Len() > 0 {
8681		return invalidParams
8682	}
8683	return nil
8684}
8685
8686// SetClientToken sets the ClientToken field's value.
8687func (s *CreatePortalInput) SetClientToken(v string) *CreatePortalInput {
8688	s.ClientToken = &v
8689	return s
8690}
8691
8692// SetPortalContactEmail sets the PortalContactEmail field's value.
8693func (s *CreatePortalInput) SetPortalContactEmail(v string) *CreatePortalInput {
8694	s.PortalContactEmail = &v
8695	return s
8696}
8697
8698// SetPortalDescription sets the PortalDescription field's value.
8699func (s *CreatePortalInput) SetPortalDescription(v string) *CreatePortalInput {
8700	s.PortalDescription = &v
8701	return s
8702}
8703
8704// SetPortalLogoImageFile sets the PortalLogoImageFile field's value.
8705func (s *CreatePortalInput) SetPortalLogoImageFile(v *ImageFile) *CreatePortalInput {
8706	s.PortalLogoImageFile = v
8707	return s
8708}
8709
8710// SetPortalName sets the PortalName field's value.
8711func (s *CreatePortalInput) SetPortalName(v string) *CreatePortalInput {
8712	s.PortalName = &v
8713	return s
8714}
8715
8716// SetRoleArn sets the RoleArn field's value.
8717func (s *CreatePortalInput) SetRoleArn(v string) *CreatePortalInput {
8718	s.RoleArn = &v
8719	return s
8720}
8721
8722// SetTags sets the Tags field's value.
8723func (s *CreatePortalInput) SetTags(v map[string]*string) *CreatePortalInput {
8724	s.Tags = v
8725	return s
8726}
8727
8728type CreatePortalOutput struct {
8729	_ struct{} `type:"structure"`
8730
8731	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
8732	// of the portal, which has the following format.
8733	//
8734	// arn:${Partition}:iotsitewise:${Region}:${Account}:portal/${PortalId}
8735	//
8736	// PortalArn is a required field
8737	PortalArn *string `locationName:"portalArn" min:"1" type:"string" required:"true"`
8738
8739	// The ID of the created portal.
8740	//
8741	// PortalId is a required field
8742	PortalId *string `locationName:"portalId" min:"36" type:"string" required:"true"`
8743
8744	// The public URL for the AWS IoT SiteWise Monitor portal.
8745	//
8746	// PortalStartUrl is a required field
8747	PortalStartUrl *string `locationName:"portalStartUrl" min:"1" type:"string" required:"true"`
8748
8749	// The status of the portal, which contains a state (CREATING after successfully
8750	// calling this operation) and any error message.
8751	//
8752	// PortalStatus is a required field
8753	PortalStatus *PortalStatus `locationName:"portalStatus" type:"structure" required:"true"`
8754
8755	// The associated AWS SSO application Id.
8756	//
8757	// SsoApplicationId is a required field
8758	SsoApplicationId *string `locationName:"ssoApplicationId" min:"1" type:"string" required:"true"`
8759}
8760
8761// String returns the string representation
8762func (s CreatePortalOutput) String() string {
8763	return awsutil.Prettify(s)
8764}
8765
8766// GoString returns the string representation
8767func (s CreatePortalOutput) GoString() string {
8768	return s.String()
8769}
8770
8771// SetPortalArn sets the PortalArn field's value.
8772func (s *CreatePortalOutput) SetPortalArn(v string) *CreatePortalOutput {
8773	s.PortalArn = &v
8774	return s
8775}
8776
8777// SetPortalId sets the PortalId field's value.
8778func (s *CreatePortalOutput) SetPortalId(v string) *CreatePortalOutput {
8779	s.PortalId = &v
8780	return s
8781}
8782
8783// SetPortalStartUrl sets the PortalStartUrl field's value.
8784func (s *CreatePortalOutput) SetPortalStartUrl(v string) *CreatePortalOutput {
8785	s.PortalStartUrl = &v
8786	return s
8787}
8788
8789// SetPortalStatus sets the PortalStatus field's value.
8790func (s *CreatePortalOutput) SetPortalStatus(v *PortalStatus) *CreatePortalOutput {
8791	s.PortalStatus = v
8792	return s
8793}
8794
8795// SetSsoApplicationId sets the SsoApplicationId field's value.
8796func (s *CreatePortalOutput) SetSsoApplicationId(v string) *CreatePortalOutput {
8797	s.SsoApplicationId = &v
8798	return s
8799}
8800
8801type CreateProjectInput struct {
8802	_ struct{} `type:"structure"`
8803
8804	// A unique case-sensitive identifier that you can provide to ensure the idempotency
8805	// of the request. Don't reuse this client token if a new idempotent request
8806	// is required.
8807	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
8808
8809	// The ID of the portal in which to create the project.
8810	//
8811	// PortalId is a required field
8812	PortalId *string `locationName:"portalId" min:"36" type:"string" required:"true"`
8813
8814	// A description for the project.
8815	ProjectDescription *string `locationName:"projectDescription" min:"1" type:"string"`
8816
8817	// A friendly name for the project.
8818	//
8819	// ProjectName is a required field
8820	ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"`
8821
8822	// A list of key-value pairs that contain metadata for the project. For more
8823	// information, see Tagging your AWS IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
8824	// in the AWS IoT SiteWise User Guide.
8825	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
8826}
8827
8828// String returns the string representation
8829func (s CreateProjectInput) String() string {
8830	return awsutil.Prettify(s)
8831}
8832
8833// GoString returns the string representation
8834func (s CreateProjectInput) GoString() string {
8835	return s.String()
8836}
8837
8838// Validate inspects the fields of the type to determine if they are valid.
8839func (s *CreateProjectInput) Validate() error {
8840	invalidParams := request.ErrInvalidParams{Context: "CreateProjectInput"}
8841	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
8842		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
8843	}
8844	if s.PortalId == nil {
8845		invalidParams.Add(request.NewErrParamRequired("PortalId"))
8846	}
8847	if s.PortalId != nil && len(*s.PortalId) < 36 {
8848		invalidParams.Add(request.NewErrParamMinLen("PortalId", 36))
8849	}
8850	if s.ProjectDescription != nil && len(*s.ProjectDescription) < 1 {
8851		invalidParams.Add(request.NewErrParamMinLen("ProjectDescription", 1))
8852	}
8853	if s.ProjectName == nil {
8854		invalidParams.Add(request.NewErrParamRequired("ProjectName"))
8855	}
8856	if s.ProjectName != nil && len(*s.ProjectName) < 1 {
8857		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1))
8858	}
8859	if s.Tags != nil && len(s.Tags) < 1 {
8860		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
8861	}
8862
8863	if invalidParams.Len() > 0 {
8864		return invalidParams
8865	}
8866	return nil
8867}
8868
8869// SetClientToken sets the ClientToken field's value.
8870func (s *CreateProjectInput) SetClientToken(v string) *CreateProjectInput {
8871	s.ClientToken = &v
8872	return s
8873}
8874
8875// SetPortalId sets the PortalId field's value.
8876func (s *CreateProjectInput) SetPortalId(v string) *CreateProjectInput {
8877	s.PortalId = &v
8878	return s
8879}
8880
8881// SetProjectDescription sets the ProjectDescription field's value.
8882func (s *CreateProjectInput) SetProjectDescription(v string) *CreateProjectInput {
8883	s.ProjectDescription = &v
8884	return s
8885}
8886
8887// SetProjectName sets the ProjectName field's value.
8888func (s *CreateProjectInput) SetProjectName(v string) *CreateProjectInput {
8889	s.ProjectName = &v
8890	return s
8891}
8892
8893// SetTags sets the Tags field's value.
8894func (s *CreateProjectInput) SetTags(v map[string]*string) *CreateProjectInput {
8895	s.Tags = v
8896	return s
8897}
8898
8899type CreateProjectOutput struct {
8900	_ struct{} `type:"structure"`
8901
8902	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
8903	// of the project, which has the following format.
8904	//
8905	// arn:${Partition}:iotsitewise:${Region}:${Account}:project/${ProjectId}
8906	//
8907	// ProjectArn is a required field
8908	ProjectArn *string `locationName:"projectArn" min:"1" type:"string" required:"true"`
8909
8910	// The ID of the project.
8911	//
8912	// ProjectId is a required field
8913	ProjectId *string `locationName:"projectId" min:"36" type:"string" required:"true"`
8914}
8915
8916// String returns the string representation
8917func (s CreateProjectOutput) String() string {
8918	return awsutil.Prettify(s)
8919}
8920
8921// GoString returns the string representation
8922func (s CreateProjectOutput) GoString() string {
8923	return s.String()
8924}
8925
8926// SetProjectArn sets the ProjectArn field's value.
8927func (s *CreateProjectOutput) SetProjectArn(v string) *CreateProjectOutput {
8928	s.ProjectArn = &v
8929	return s
8930}
8931
8932// SetProjectId sets the ProjectId field's value.
8933func (s *CreateProjectOutput) SetProjectId(v string) *CreateProjectOutput {
8934	s.ProjectId = &v
8935	return s
8936}
8937
8938// Contains a dashboard summary.
8939type DashboardSummary struct {
8940	_ struct{} `type:"structure"`
8941
8942	// The date the dashboard was created, in Unix epoch time.
8943	CreationDate *time.Time `locationName:"creationDate" type:"timestamp"`
8944
8945	// The dashboard's description.
8946	Description *string `locationName:"description" min:"1" type:"string"`
8947
8948	// The ID of the dashboard.
8949	//
8950	// Id is a required field
8951	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
8952
8953	// The date the dashboard was last updated, in Unix epoch time.
8954	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp"`
8955
8956	// The name of the dashboard
8957	//
8958	// Name is a required field
8959	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
8960}
8961
8962// String returns the string representation
8963func (s DashboardSummary) String() string {
8964	return awsutil.Prettify(s)
8965}
8966
8967// GoString returns the string representation
8968func (s DashboardSummary) GoString() string {
8969	return s.String()
8970}
8971
8972// SetCreationDate sets the CreationDate field's value.
8973func (s *DashboardSummary) SetCreationDate(v time.Time) *DashboardSummary {
8974	s.CreationDate = &v
8975	return s
8976}
8977
8978// SetDescription sets the Description field's value.
8979func (s *DashboardSummary) SetDescription(v string) *DashboardSummary {
8980	s.Description = &v
8981	return s
8982}
8983
8984// SetId sets the Id field's value.
8985func (s *DashboardSummary) SetId(v string) *DashboardSummary {
8986	s.Id = &v
8987	return s
8988}
8989
8990// SetLastUpdateDate sets the LastUpdateDate field's value.
8991func (s *DashboardSummary) SetLastUpdateDate(v time.Time) *DashboardSummary {
8992	s.LastUpdateDate = &v
8993	return s
8994}
8995
8996// SetName sets the Name field's value.
8997func (s *DashboardSummary) SetName(v string) *DashboardSummary {
8998	s.Name = &v
8999	return s
9000}
9001
9002type DeleteAccessPolicyInput struct {
9003	_ struct{} `type:"structure"`
9004
9005	// The ID of the access policy to be deleted.
9006	//
9007	// AccessPolicyId is a required field
9008	AccessPolicyId *string `location:"uri" locationName:"accessPolicyId" min:"36" type:"string" required:"true"`
9009
9010	// A unique case-sensitive identifier that you can provide to ensure the idempotency
9011	// of the request. Don't reuse this client token if a new idempotent request
9012	// is required.
9013	ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
9014}
9015
9016// String returns the string representation
9017func (s DeleteAccessPolicyInput) String() string {
9018	return awsutil.Prettify(s)
9019}
9020
9021// GoString returns the string representation
9022func (s DeleteAccessPolicyInput) GoString() string {
9023	return s.String()
9024}
9025
9026// Validate inspects the fields of the type to determine if they are valid.
9027func (s *DeleteAccessPolicyInput) Validate() error {
9028	invalidParams := request.ErrInvalidParams{Context: "DeleteAccessPolicyInput"}
9029	if s.AccessPolicyId == nil {
9030		invalidParams.Add(request.NewErrParamRequired("AccessPolicyId"))
9031	}
9032	if s.AccessPolicyId != nil && len(*s.AccessPolicyId) < 36 {
9033		invalidParams.Add(request.NewErrParamMinLen("AccessPolicyId", 36))
9034	}
9035	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
9036		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
9037	}
9038
9039	if invalidParams.Len() > 0 {
9040		return invalidParams
9041	}
9042	return nil
9043}
9044
9045// SetAccessPolicyId sets the AccessPolicyId field's value.
9046func (s *DeleteAccessPolicyInput) SetAccessPolicyId(v string) *DeleteAccessPolicyInput {
9047	s.AccessPolicyId = &v
9048	return s
9049}
9050
9051// SetClientToken sets the ClientToken field's value.
9052func (s *DeleteAccessPolicyInput) SetClientToken(v string) *DeleteAccessPolicyInput {
9053	s.ClientToken = &v
9054	return s
9055}
9056
9057type DeleteAccessPolicyOutput struct {
9058	_ struct{} `type:"structure"`
9059}
9060
9061// String returns the string representation
9062func (s DeleteAccessPolicyOutput) String() string {
9063	return awsutil.Prettify(s)
9064}
9065
9066// GoString returns the string representation
9067func (s DeleteAccessPolicyOutput) GoString() string {
9068	return s.String()
9069}
9070
9071type DeleteAssetInput struct {
9072	_ struct{} `type:"structure"`
9073
9074	// The ID of the asset to delete.
9075	//
9076	// AssetId is a required field
9077	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
9078
9079	// A unique case-sensitive identifier that you can provide to ensure the idempotency
9080	// of the request. Don't reuse this client token if a new idempotent request
9081	// is required.
9082	ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
9083}
9084
9085// String returns the string representation
9086func (s DeleteAssetInput) String() string {
9087	return awsutil.Prettify(s)
9088}
9089
9090// GoString returns the string representation
9091func (s DeleteAssetInput) GoString() string {
9092	return s.String()
9093}
9094
9095// Validate inspects the fields of the type to determine if they are valid.
9096func (s *DeleteAssetInput) Validate() error {
9097	invalidParams := request.ErrInvalidParams{Context: "DeleteAssetInput"}
9098	if s.AssetId == nil {
9099		invalidParams.Add(request.NewErrParamRequired("AssetId"))
9100	}
9101	if s.AssetId != nil && len(*s.AssetId) < 36 {
9102		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
9103	}
9104	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
9105		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
9106	}
9107
9108	if invalidParams.Len() > 0 {
9109		return invalidParams
9110	}
9111	return nil
9112}
9113
9114// SetAssetId sets the AssetId field's value.
9115func (s *DeleteAssetInput) SetAssetId(v string) *DeleteAssetInput {
9116	s.AssetId = &v
9117	return s
9118}
9119
9120// SetClientToken sets the ClientToken field's value.
9121func (s *DeleteAssetInput) SetClientToken(v string) *DeleteAssetInput {
9122	s.ClientToken = &v
9123	return s
9124}
9125
9126type DeleteAssetModelInput struct {
9127	_ struct{} `type:"structure"`
9128
9129	// The ID of the asset model to delete.
9130	//
9131	// AssetModelId is a required field
9132	AssetModelId *string `location:"uri" locationName:"assetModelId" min:"36" type:"string" required:"true"`
9133
9134	// A unique case-sensitive identifier that you can provide to ensure the idempotency
9135	// of the request. Don't reuse this client token if a new idempotent request
9136	// is required.
9137	ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
9138}
9139
9140// String returns the string representation
9141func (s DeleteAssetModelInput) String() string {
9142	return awsutil.Prettify(s)
9143}
9144
9145// GoString returns the string representation
9146func (s DeleteAssetModelInput) GoString() string {
9147	return s.String()
9148}
9149
9150// Validate inspects the fields of the type to determine if they are valid.
9151func (s *DeleteAssetModelInput) Validate() error {
9152	invalidParams := request.ErrInvalidParams{Context: "DeleteAssetModelInput"}
9153	if s.AssetModelId == nil {
9154		invalidParams.Add(request.NewErrParamRequired("AssetModelId"))
9155	}
9156	if s.AssetModelId != nil && len(*s.AssetModelId) < 36 {
9157		invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36))
9158	}
9159	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
9160		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
9161	}
9162
9163	if invalidParams.Len() > 0 {
9164		return invalidParams
9165	}
9166	return nil
9167}
9168
9169// SetAssetModelId sets the AssetModelId field's value.
9170func (s *DeleteAssetModelInput) SetAssetModelId(v string) *DeleteAssetModelInput {
9171	s.AssetModelId = &v
9172	return s
9173}
9174
9175// SetClientToken sets the ClientToken field's value.
9176func (s *DeleteAssetModelInput) SetClientToken(v string) *DeleteAssetModelInput {
9177	s.ClientToken = &v
9178	return s
9179}
9180
9181type DeleteAssetModelOutput struct {
9182	_ struct{} `type:"structure"`
9183
9184	// The status of the asset model, which contains a state (DELETING after successfully
9185	// calling this operation) and any error message.
9186	//
9187	// AssetModelStatus is a required field
9188	AssetModelStatus *AssetModelStatus `locationName:"assetModelStatus" type:"structure" required:"true"`
9189}
9190
9191// String returns the string representation
9192func (s DeleteAssetModelOutput) String() string {
9193	return awsutil.Prettify(s)
9194}
9195
9196// GoString returns the string representation
9197func (s DeleteAssetModelOutput) GoString() string {
9198	return s.String()
9199}
9200
9201// SetAssetModelStatus sets the AssetModelStatus field's value.
9202func (s *DeleteAssetModelOutput) SetAssetModelStatus(v *AssetModelStatus) *DeleteAssetModelOutput {
9203	s.AssetModelStatus = v
9204	return s
9205}
9206
9207type DeleteAssetOutput struct {
9208	_ struct{} `type:"structure"`
9209
9210	// The status of the asset, which contains a state (DELETING after successfully
9211	// calling this operation) and any error message.
9212	//
9213	// AssetStatus is a required field
9214	AssetStatus *AssetStatus `locationName:"assetStatus" type:"structure" required:"true"`
9215}
9216
9217// String returns the string representation
9218func (s DeleteAssetOutput) String() string {
9219	return awsutil.Prettify(s)
9220}
9221
9222// GoString returns the string representation
9223func (s DeleteAssetOutput) GoString() string {
9224	return s.String()
9225}
9226
9227// SetAssetStatus sets the AssetStatus field's value.
9228func (s *DeleteAssetOutput) SetAssetStatus(v *AssetStatus) *DeleteAssetOutput {
9229	s.AssetStatus = v
9230	return s
9231}
9232
9233type DeleteDashboardInput struct {
9234	_ struct{} `type:"structure"`
9235
9236	// A unique case-sensitive identifier that you can provide to ensure the idempotency
9237	// of the request. Don't reuse this client token if a new idempotent request
9238	// is required.
9239	ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
9240
9241	// The ID of the dashboard to delete.
9242	//
9243	// DashboardId is a required field
9244	DashboardId *string `location:"uri" locationName:"dashboardId" min:"36" type:"string" required:"true"`
9245}
9246
9247// String returns the string representation
9248func (s DeleteDashboardInput) String() string {
9249	return awsutil.Prettify(s)
9250}
9251
9252// GoString returns the string representation
9253func (s DeleteDashboardInput) GoString() string {
9254	return s.String()
9255}
9256
9257// Validate inspects the fields of the type to determine if they are valid.
9258func (s *DeleteDashboardInput) Validate() error {
9259	invalidParams := request.ErrInvalidParams{Context: "DeleteDashboardInput"}
9260	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
9261		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
9262	}
9263	if s.DashboardId == nil {
9264		invalidParams.Add(request.NewErrParamRequired("DashboardId"))
9265	}
9266	if s.DashboardId != nil && len(*s.DashboardId) < 36 {
9267		invalidParams.Add(request.NewErrParamMinLen("DashboardId", 36))
9268	}
9269
9270	if invalidParams.Len() > 0 {
9271		return invalidParams
9272	}
9273	return nil
9274}
9275
9276// SetClientToken sets the ClientToken field's value.
9277func (s *DeleteDashboardInput) SetClientToken(v string) *DeleteDashboardInput {
9278	s.ClientToken = &v
9279	return s
9280}
9281
9282// SetDashboardId sets the DashboardId field's value.
9283func (s *DeleteDashboardInput) SetDashboardId(v string) *DeleteDashboardInput {
9284	s.DashboardId = &v
9285	return s
9286}
9287
9288type DeleteDashboardOutput struct {
9289	_ struct{} `type:"structure"`
9290}
9291
9292// String returns the string representation
9293func (s DeleteDashboardOutput) String() string {
9294	return awsutil.Prettify(s)
9295}
9296
9297// GoString returns the string representation
9298func (s DeleteDashboardOutput) GoString() string {
9299	return s.String()
9300}
9301
9302type DeleteGatewayInput struct {
9303	_ struct{} `type:"structure"`
9304
9305	// The ID of the gateway to delete.
9306	//
9307	// GatewayId is a required field
9308	GatewayId *string `location:"uri" locationName:"gatewayId" min:"36" type:"string" required:"true"`
9309}
9310
9311// String returns the string representation
9312func (s DeleteGatewayInput) String() string {
9313	return awsutil.Prettify(s)
9314}
9315
9316// GoString returns the string representation
9317func (s DeleteGatewayInput) GoString() string {
9318	return s.String()
9319}
9320
9321// Validate inspects the fields of the type to determine if they are valid.
9322func (s *DeleteGatewayInput) Validate() error {
9323	invalidParams := request.ErrInvalidParams{Context: "DeleteGatewayInput"}
9324	if s.GatewayId == nil {
9325		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
9326	}
9327	if s.GatewayId != nil && len(*s.GatewayId) < 36 {
9328		invalidParams.Add(request.NewErrParamMinLen("GatewayId", 36))
9329	}
9330
9331	if invalidParams.Len() > 0 {
9332		return invalidParams
9333	}
9334	return nil
9335}
9336
9337// SetGatewayId sets the GatewayId field's value.
9338func (s *DeleteGatewayInput) SetGatewayId(v string) *DeleteGatewayInput {
9339	s.GatewayId = &v
9340	return s
9341}
9342
9343type DeleteGatewayOutput struct {
9344	_ struct{} `type:"structure"`
9345}
9346
9347// String returns the string representation
9348func (s DeleteGatewayOutput) String() string {
9349	return awsutil.Prettify(s)
9350}
9351
9352// GoString returns the string representation
9353func (s DeleteGatewayOutput) GoString() string {
9354	return s.String()
9355}
9356
9357type DeletePortalInput struct {
9358	_ struct{} `type:"structure"`
9359
9360	// A unique case-sensitive identifier that you can provide to ensure the idempotency
9361	// of the request. Don't reuse this client token if a new idempotent request
9362	// is required.
9363	ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
9364
9365	// The ID of the portal to delete.
9366	//
9367	// PortalId is a required field
9368	PortalId *string `location:"uri" locationName:"portalId" min:"36" type:"string" required:"true"`
9369}
9370
9371// String returns the string representation
9372func (s DeletePortalInput) String() string {
9373	return awsutil.Prettify(s)
9374}
9375
9376// GoString returns the string representation
9377func (s DeletePortalInput) GoString() string {
9378	return s.String()
9379}
9380
9381// Validate inspects the fields of the type to determine if they are valid.
9382func (s *DeletePortalInput) Validate() error {
9383	invalidParams := request.ErrInvalidParams{Context: "DeletePortalInput"}
9384	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
9385		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
9386	}
9387	if s.PortalId == nil {
9388		invalidParams.Add(request.NewErrParamRequired("PortalId"))
9389	}
9390	if s.PortalId != nil && len(*s.PortalId) < 36 {
9391		invalidParams.Add(request.NewErrParamMinLen("PortalId", 36))
9392	}
9393
9394	if invalidParams.Len() > 0 {
9395		return invalidParams
9396	}
9397	return nil
9398}
9399
9400// SetClientToken sets the ClientToken field's value.
9401func (s *DeletePortalInput) SetClientToken(v string) *DeletePortalInput {
9402	s.ClientToken = &v
9403	return s
9404}
9405
9406// SetPortalId sets the PortalId field's value.
9407func (s *DeletePortalInput) SetPortalId(v string) *DeletePortalInput {
9408	s.PortalId = &v
9409	return s
9410}
9411
9412type DeletePortalOutput struct {
9413	_ struct{} `type:"structure"`
9414
9415	// The status of the portal, which contains a state (DELETING after successfully
9416	// calling this operation) and any error message.
9417	//
9418	// PortalStatus is a required field
9419	PortalStatus *PortalStatus `locationName:"portalStatus" type:"structure" required:"true"`
9420}
9421
9422// String returns the string representation
9423func (s DeletePortalOutput) String() string {
9424	return awsutil.Prettify(s)
9425}
9426
9427// GoString returns the string representation
9428func (s DeletePortalOutput) GoString() string {
9429	return s.String()
9430}
9431
9432// SetPortalStatus sets the PortalStatus field's value.
9433func (s *DeletePortalOutput) SetPortalStatus(v *PortalStatus) *DeletePortalOutput {
9434	s.PortalStatus = v
9435	return s
9436}
9437
9438type DeleteProjectInput struct {
9439	_ struct{} `type:"structure"`
9440
9441	// A unique case-sensitive identifier that you can provide to ensure the idempotency
9442	// of the request. Don't reuse this client token if a new idempotent request
9443	// is required.
9444	ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
9445
9446	// The ID of the project.
9447	//
9448	// ProjectId is a required field
9449	ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"`
9450}
9451
9452// String returns the string representation
9453func (s DeleteProjectInput) String() string {
9454	return awsutil.Prettify(s)
9455}
9456
9457// GoString returns the string representation
9458func (s DeleteProjectInput) GoString() string {
9459	return s.String()
9460}
9461
9462// Validate inspects the fields of the type to determine if they are valid.
9463func (s *DeleteProjectInput) Validate() error {
9464	invalidParams := request.ErrInvalidParams{Context: "DeleteProjectInput"}
9465	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
9466		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
9467	}
9468	if s.ProjectId == nil {
9469		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
9470	}
9471	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
9472		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
9473	}
9474
9475	if invalidParams.Len() > 0 {
9476		return invalidParams
9477	}
9478	return nil
9479}
9480
9481// SetClientToken sets the ClientToken field's value.
9482func (s *DeleteProjectInput) SetClientToken(v string) *DeleteProjectInput {
9483	s.ClientToken = &v
9484	return s
9485}
9486
9487// SetProjectId sets the ProjectId field's value.
9488func (s *DeleteProjectInput) SetProjectId(v string) *DeleteProjectInput {
9489	s.ProjectId = &v
9490	return s
9491}
9492
9493type DeleteProjectOutput struct {
9494	_ struct{} `type:"structure"`
9495}
9496
9497// String returns the string representation
9498func (s DeleteProjectOutput) String() string {
9499	return awsutil.Prettify(s)
9500}
9501
9502// GoString returns the string representation
9503func (s DeleteProjectOutput) GoString() string {
9504	return s.String()
9505}
9506
9507type DescribeAccessPolicyInput struct {
9508	_ struct{} `type:"structure"`
9509
9510	// The ID of the access policy.
9511	//
9512	// AccessPolicyId is a required field
9513	AccessPolicyId *string `location:"uri" locationName:"accessPolicyId" min:"36" type:"string" required:"true"`
9514}
9515
9516// String returns the string representation
9517func (s DescribeAccessPolicyInput) String() string {
9518	return awsutil.Prettify(s)
9519}
9520
9521// GoString returns the string representation
9522func (s DescribeAccessPolicyInput) GoString() string {
9523	return s.String()
9524}
9525
9526// Validate inspects the fields of the type to determine if they are valid.
9527func (s *DescribeAccessPolicyInput) Validate() error {
9528	invalidParams := request.ErrInvalidParams{Context: "DescribeAccessPolicyInput"}
9529	if s.AccessPolicyId == nil {
9530		invalidParams.Add(request.NewErrParamRequired("AccessPolicyId"))
9531	}
9532	if s.AccessPolicyId != nil && len(*s.AccessPolicyId) < 36 {
9533		invalidParams.Add(request.NewErrParamMinLen("AccessPolicyId", 36))
9534	}
9535
9536	if invalidParams.Len() > 0 {
9537		return invalidParams
9538	}
9539	return nil
9540}
9541
9542// SetAccessPolicyId sets the AccessPolicyId field's value.
9543func (s *DescribeAccessPolicyInput) SetAccessPolicyId(v string) *DescribeAccessPolicyInput {
9544	s.AccessPolicyId = &v
9545	return s
9546}
9547
9548type DescribeAccessPolicyOutput struct {
9549	_ struct{} `type:"structure"`
9550
9551	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
9552	// of the access policy, which has the following format.
9553	//
9554	// arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy/${AccessPolicyId}
9555	//
9556	// AccessPolicyArn is a required field
9557	AccessPolicyArn *string `locationName:"accessPolicyArn" min:"1" type:"string" required:"true"`
9558
9559	// The date the access policy was created, in Unix epoch time.
9560	//
9561	// AccessPolicyCreationDate is a required field
9562	AccessPolicyCreationDate *time.Time `locationName:"accessPolicyCreationDate" type:"timestamp" required:"true"`
9563
9564	// The ID of the access policy.
9565	//
9566	// AccessPolicyId is a required field
9567	AccessPolicyId *string `locationName:"accessPolicyId" min:"36" type:"string" required:"true"`
9568
9569	// The AWS SSO identity (user or group) to which this access policy applies.
9570	//
9571	// AccessPolicyIdentity is a required field
9572	AccessPolicyIdentity *Identity `locationName:"accessPolicyIdentity" type:"structure" required:"true"`
9573
9574	// The date the access policy was last updated, in Unix epoch time.
9575	//
9576	// AccessPolicyLastUpdateDate is a required field
9577	AccessPolicyLastUpdateDate *time.Time `locationName:"accessPolicyLastUpdateDate" type:"timestamp" required:"true"`
9578
9579	// The access policy permission. Note that a project ADMINISTRATOR is also known
9580	// as a project owner.
9581	//
9582	// AccessPolicyPermission is a required field
9583	AccessPolicyPermission *string `locationName:"accessPolicyPermission" type:"string" required:"true" enum:"Permission"`
9584
9585	// The AWS IoT SiteWise Monitor resource (portal or project) to which this access
9586	// policy provides access.
9587	//
9588	// AccessPolicyResource is a required field
9589	AccessPolicyResource *Resource `locationName:"accessPolicyResource" type:"structure" required:"true"`
9590}
9591
9592// String returns the string representation
9593func (s DescribeAccessPolicyOutput) String() string {
9594	return awsutil.Prettify(s)
9595}
9596
9597// GoString returns the string representation
9598func (s DescribeAccessPolicyOutput) GoString() string {
9599	return s.String()
9600}
9601
9602// SetAccessPolicyArn sets the AccessPolicyArn field's value.
9603func (s *DescribeAccessPolicyOutput) SetAccessPolicyArn(v string) *DescribeAccessPolicyOutput {
9604	s.AccessPolicyArn = &v
9605	return s
9606}
9607
9608// SetAccessPolicyCreationDate sets the AccessPolicyCreationDate field's value.
9609func (s *DescribeAccessPolicyOutput) SetAccessPolicyCreationDate(v time.Time) *DescribeAccessPolicyOutput {
9610	s.AccessPolicyCreationDate = &v
9611	return s
9612}
9613
9614// SetAccessPolicyId sets the AccessPolicyId field's value.
9615func (s *DescribeAccessPolicyOutput) SetAccessPolicyId(v string) *DescribeAccessPolicyOutput {
9616	s.AccessPolicyId = &v
9617	return s
9618}
9619
9620// SetAccessPolicyIdentity sets the AccessPolicyIdentity field's value.
9621func (s *DescribeAccessPolicyOutput) SetAccessPolicyIdentity(v *Identity) *DescribeAccessPolicyOutput {
9622	s.AccessPolicyIdentity = v
9623	return s
9624}
9625
9626// SetAccessPolicyLastUpdateDate sets the AccessPolicyLastUpdateDate field's value.
9627func (s *DescribeAccessPolicyOutput) SetAccessPolicyLastUpdateDate(v time.Time) *DescribeAccessPolicyOutput {
9628	s.AccessPolicyLastUpdateDate = &v
9629	return s
9630}
9631
9632// SetAccessPolicyPermission sets the AccessPolicyPermission field's value.
9633func (s *DescribeAccessPolicyOutput) SetAccessPolicyPermission(v string) *DescribeAccessPolicyOutput {
9634	s.AccessPolicyPermission = &v
9635	return s
9636}
9637
9638// SetAccessPolicyResource sets the AccessPolicyResource field's value.
9639func (s *DescribeAccessPolicyOutput) SetAccessPolicyResource(v *Resource) *DescribeAccessPolicyOutput {
9640	s.AccessPolicyResource = v
9641	return s
9642}
9643
9644type DescribeAssetInput struct {
9645	_ struct{} `type:"structure"`
9646
9647	// The ID of the asset.
9648	//
9649	// AssetId is a required field
9650	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
9651}
9652
9653// String returns the string representation
9654func (s DescribeAssetInput) String() string {
9655	return awsutil.Prettify(s)
9656}
9657
9658// GoString returns the string representation
9659func (s DescribeAssetInput) GoString() string {
9660	return s.String()
9661}
9662
9663// Validate inspects the fields of the type to determine if they are valid.
9664func (s *DescribeAssetInput) Validate() error {
9665	invalidParams := request.ErrInvalidParams{Context: "DescribeAssetInput"}
9666	if s.AssetId == nil {
9667		invalidParams.Add(request.NewErrParamRequired("AssetId"))
9668	}
9669	if s.AssetId != nil && len(*s.AssetId) < 36 {
9670		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
9671	}
9672
9673	if invalidParams.Len() > 0 {
9674		return invalidParams
9675	}
9676	return nil
9677}
9678
9679// SetAssetId sets the AssetId field's value.
9680func (s *DescribeAssetInput) SetAssetId(v string) *DescribeAssetInput {
9681	s.AssetId = &v
9682	return s
9683}
9684
9685type DescribeAssetModelInput struct {
9686	_ struct{} `type:"structure"`
9687
9688	// The ID of the asset model.
9689	//
9690	// AssetModelId is a required field
9691	AssetModelId *string `location:"uri" locationName:"assetModelId" min:"36" type:"string" required:"true"`
9692}
9693
9694// String returns the string representation
9695func (s DescribeAssetModelInput) String() string {
9696	return awsutil.Prettify(s)
9697}
9698
9699// GoString returns the string representation
9700func (s DescribeAssetModelInput) GoString() string {
9701	return s.String()
9702}
9703
9704// Validate inspects the fields of the type to determine if they are valid.
9705func (s *DescribeAssetModelInput) Validate() error {
9706	invalidParams := request.ErrInvalidParams{Context: "DescribeAssetModelInput"}
9707	if s.AssetModelId == nil {
9708		invalidParams.Add(request.NewErrParamRequired("AssetModelId"))
9709	}
9710	if s.AssetModelId != nil && len(*s.AssetModelId) < 36 {
9711		invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36))
9712	}
9713
9714	if invalidParams.Len() > 0 {
9715		return invalidParams
9716	}
9717	return nil
9718}
9719
9720// SetAssetModelId sets the AssetModelId field's value.
9721func (s *DescribeAssetModelInput) SetAssetModelId(v string) *DescribeAssetModelInput {
9722	s.AssetModelId = &v
9723	return s
9724}
9725
9726type DescribeAssetModelOutput struct {
9727	_ struct{} `type:"structure"`
9728
9729	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
9730	// of the asset model, which has the following format.
9731	//
9732	// arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId}
9733	//
9734	// AssetModelArn is a required field
9735	AssetModelArn *string `locationName:"assetModelArn" min:"1" type:"string" required:"true"`
9736
9737	// The date the asset model was created, in Unix epoch time.
9738	//
9739	// AssetModelCreationDate is a required field
9740	AssetModelCreationDate *time.Time `locationName:"assetModelCreationDate" type:"timestamp" required:"true"`
9741
9742	// The asset model's description.
9743	//
9744	// AssetModelDescription is a required field
9745	AssetModelDescription *string `locationName:"assetModelDescription" min:"1" type:"string" required:"true"`
9746
9747	// A list of asset model hierarchies that each contain a childAssetModelId and
9748	// a hierarchyId (named id). A hierarchy specifies allowed parent/child asset
9749	// relationships for an asset model.
9750	//
9751	// AssetModelHierarchies is a required field
9752	AssetModelHierarchies []*AssetModelHierarchy `locationName:"assetModelHierarchies" type:"list" required:"true"`
9753
9754	// The ID of the asset model.
9755	//
9756	// AssetModelId is a required field
9757	AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"`
9758
9759	// The date the asset model was last updated, in Unix epoch time.
9760	//
9761	// AssetModelLastUpdateDate is a required field
9762	AssetModelLastUpdateDate *time.Time `locationName:"assetModelLastUpdateDate" type:"timestamp" required:"true"`
9763
9764	// The name of the asset model.
9765	//
9766	// AssetModelName is a required field
9767	AssetModelName *string `locationName:"assetModelName" min:"1" type:"string" required:"true"`
9768
9769	// The list of asset properties for the asset model.
9770	//
9771	// AssetModelProperties is a required field
9772	AssetModelProperties []*AssetModelProperty `locationName:"assetModelProperties" type:"list" required:"true"`
9773
9774	// The current status of the asset model, which contains a state and any error
9775	// message.
9776	//
9777	// AssetModelStatus is a required field
9778	AssetModelStatus *AssetModelStatus `locationName:"assetModelStatus" type:"structure" required:"true"`
9779}
9780
9781// String returns the string representation
9782func (s DescribeAssetModelOutput) String() string {
9783	return awsutil.Prettify(s)
9784}
9785
9786// GoString returns the string representation
9787func (s DescribeAssetModelOutput) GoString() string {
9788	return s.String()
9789}
9790
9791// SetAssetModelArn sets the AssetModelArn field's value.
9792func (s *DescribeAssetModelOutput) SetAssetModelArn(v string) *DescribeAssetModelOutput {
9793	s.AssetModelArn = &v
9794	return s
9795}
9796
9797// SetAssetModelCreationDate sets the AssetModelCreationDate field's value.
9798func (s *DescribeAssetModelOutput) SetAssetModelCreationDate(v time.Time) *DescribeAssetModelOutput {
9799	s.AssetModelCreationDate = &v
9800	return s
9801}
9802
9803// SetAssetModelDescription sets the AssetModelDescription field's value.
9804func (s *DescribeAssetModelOutput) SetAssetModelDescription(v string) *DescribeAssetModelOutput {
9805	s.AssetModelDescription = &v
9806	return s
9807}
9808
9809// SetAssetModelHierarchies sets the AssetModelHierarchies field's value.
9810func (s *DescribeAssetModelOutput) SetAssetModelHierarchies(v []*AssetModelHierarchy) *DescribeAssetModelOutput {
9811	s.AssetModelHierarchies = v
9812	return s
9813}
9814
9815// SetAssetModelId sets the AssetModelId field's value.
9816func (s *DescribeAssetModelOutput) SetAssetModelId(v string) *DescribeAssetModelOutput {
9817	s.AssetModelId = &v
9818	return s
9819}
9820
9821// SetAssetModelLastUpdateDate sets the AssetModelLastUpdateDate field's value.
9822func (s *DescribeAssetModelOutput) SetAssetModelLastUpdateDate(v time.Time) *DescribeAssetModelOutput {
9823	s.AssetModelLastUpdateDate = &v
9824	return s
9825}
9826
9827// SetAssetModelName sets the AssetModelName field's value.
9828func (s *DescribeAssetModelOutput) SetAssetModelName(v string) *DescribeAssetModelOutput {
9829	s.AssetModelName = &v
9830	return s
9831}
9832
9833// SetAssetModelProperties sets the AssetModelProperties field's value.
9834func (s *DescribeAssetModelOutput) SetAssetModelProperties(v []*AssetModelProperty) *DescribeAssetModelOutput {
9835	s.AssetModelProperties = v
9836	return s
9837}
9838
9839// SetAssetModelStatus sets the AssetModelStatus field's value.
9840func (s *DescribeAssetModelOutput) SetAssetModelStatus(v *AssetModelStatus) *DescribeAssetModelOutput {
9841	s.AssetModelStatus = v
9842	return s
9843}
9844
9845type DescribeAssetOutput struct {
9846	_ struct{} `type:"structure"`
9847
9848	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
9849	// of the asset, which has the following format.
9850	//
9851	// arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}
9852	//
9853	// AssetArn is a required field
9854	AssetArn *string `locationName:"assetArn" min:"1" type:"string" required:"true"`
9855
9856	// The date the asset was created, in Unix epoch time.
9857	//
9858	// AssetCreationDate is a required field
9859	AssetCreationDate *time.Time `locationName:"assetCreationDate" type:"timestamp" required:"true"`
9860
9861	// A list of asset hierarchies that each contain a hierarchyId. A hierarchy
9862	// specifies allowed parent/child asset relationships.
9863	//
9864	// AssetHierarchies is a required field
9865	AssetHierarchies []*AssetHierarchy `locationName:"assetHierarchies" type:"list" required:"true"`
9866
9867	// The ID of the asset.
9868	//
9869	// AssetId is a required field
9870	AssetId *string `locationName:"assetId" min:"36" type:"string" required:"true"`
9871
9872	// The date the asset was last updated, in Unix epoch time.
9873	//
9874	// AssetLastUpdateDate is a required field
9875	AssetLastUpdateDate *time.Time `locationName:"assetLastUpdateDate" type:"timestamp" required:"true"`
9876
9877	// The ID of the asset model that was used to create the asset.
9878	//
9879	// AssetModelId is a required field
9880	AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"`
9881
9882	// The name of the asset.
9883	//
9884	// AssetName is a required field
9885	AssetName *string `locationName:"assetName" min:"1" type:"string" required:"true"`
9886
9887	// The list of asset properties for the asset.
9888	//
9889	// AssetProperties is a required field
9890	AssetProperties []*AssetProperty `locationName:"assetProperties" type:"list" required:"true"`
9891
9892	// The current status of the asset, which contains a state and any error message.
9893	//
9894	// AssetStatus is a required field
9895	AssetStatus *AssetStatus `locationName:"assetStatus" type:"structure" required:"true"`
9896}
9897
9898// String returns the string representation
9899func (s DescribeAssetOutput) String() string {
9900	return awsutil.Prettify(s)
9901}
9902
9903// GoString returns the string representation
9904func (s DescribeAssetOutput) GoString() string {
9905	return s.String()
9906}
9907
9908// SetAssetArn sets the AssetArn field's value.
9909func (s *DescribeAssetOutput) SetAssetArn(v string) *DescribeAssetOutput {
9910	s.AssetArn = &v
9911	return s
9912}
9913
9914// SetAssetCreationDate sets the AssetCreationDate field's value.
9915func (s *DescribeAssetOutput) SetAssetCreationDate(v time.Time) *DescribeAssetOutput {
9916	s.AssetCreationDate = &v
9917	return s
9918}
9919
9920// SetAssetHierarchies sets the AssetHierarchies field's value.
9921func (s *DescribeAssetOutput) SetAssetHierarchies(v []*AssetHierarchy) *DescribeAssetOutput {
9922	s.AssetHierarchies = v
9923	return s
9924}
9925
9926// SetAssetId sets the AssetId field's value.
9927func (s *DescribeAssetOutput) SetAssetId(v string) *DescribeAssetOutput {
9928	s.AssetId = &v
9929	return s
9930}
9931
9932// SetAssetLastUpdateDate sets the AssetLastUpdateDate field's value.
9933func (s *DescribeAssetOutput) SetAssetLastUpdateDate(v time.Time) *DescribeAssetOutput {
9934	s.AssetLastUpdateDate = &v
9935	return s
9936}
9937
9938// SetAssetModelId sets the AssetModelId field's value.
9939func (s *DescribeAssetOutput) SetAssetModelId(v string) *DescribeAssetOutput {
9940	s.AssetModelId = &v
9941	return s
9942}
9943
9944// SetAssetName sets the AssetName field's value.
9945func (s *DescribeAssetOutput) SetAssetName(v string) *DescribeAssetOutput {
9946	s.AssetName = &v
9947	return s
9948}
9949
9950// SetAssetProperties sets the AssetProperties field's value.
9951func (s *DescribeAssetOutput) SetAssetProperties(v []*AssetProperty) *DescribeAssetOutput {
9952	s.AssetProperties = v
9953	return s
9954}
9955
9956// SetAssetStatus sets the AssetStatus field's value.
9957func (s *DescribeAssetOutput) SetAssetStatus(v *AssetStatus) *DescribeAssetOutput {
9958	s.AssetStatus = v
9959	return s
9960}
9961
9962type DescribeAssetPropertyInput struct {
9963	_ struct{} `type:"structure"`
9964
9965	// The ID of the asset.
9966	//
9967	// AssetId is a required field
9968	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
9969
9970	// The ID of the asset property.
9971	//
9972	// PropertyId is a required field
9973	PropertyId *string `location:"uri" locationName:"propertyId" min:"36" type:"string" required:"true"`
9974}
9975
9976// String returns the string representation
9977func (s DescribeAssetPropertyInput) String() string {
9978	return awsutil.Prettify(s)
9979}
9980
9981// GoString returns the string representation
9982func (s DescribeAssetPropertyInput) GoString() string {
9983	return s.String()
9984}
9985
9986// Validate inspects the fields of the type to determine if they are valid.
9987func (s *DescribeAssetPropertyInput) Validate() error {
9988	invalidParams := request.ErrInvalidParams{Context: "DescribeAssetPropertyInput"}
9989	if s.AssetId == nil {
9990		invalidParams.Add(request.NewErrParamRequired("AssetId"))
9991	}
9992	if s.AssetId != nil && len(*s.AssetId) < 36 {
9993		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
9994	}
9995	if s.PropertyId == nil {
9996		invalidParams.Add(request.NewErrParamRequired("PropertyId"))
9997	}
9998	if s.PropertyId != nil && len(*s.PropertyId) < 36 {
9999		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36))
10000	}
10001
10002	if invalidParams.Len() > 0 {
10003		return invalidParams
10004	}
10005	return nil
10006}
10007
10008// SetAssetId sets the AssetId field's value.
10009func (s *DescribeAssetPropertyInput) SetAssetId(v string) *DescribeAssetPropertyInput {
10010	s.AssetId = &v
10011	return s
10012}
10013
10014// SetPropertyId sets the PropertyId field's value.
10015func (s *DescribeAssetPropertyInput) SetPropertyId(v string) *DescribeAssetPropertyInput {
10016	s.PropertyId = &v
10017	return s
10018}
10019
10020type DescribeAssetPropertyOutput struct {
10021	_ struct{} `type:"structure"`
10022
10023	// The ID of the asset.
10024	//
10025	// AssetId is a required field
10026	AssetId *string `locationName:"assetId" min:"36" type:"string" required:"true"`
10027
10028	// The ID of the asset model.
10029	//
10030	// AssetModelId is a required field
10031	AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"`
10032
10033	// The name of the asset.
10034	//
10035	// AssetName is a required field
10036	AssetName *string `locationName:"assetName" min:"1" type:"string" required:"true"`
10037
10038	// The asset property's definition, alias, and notification state.
10039	//
10040	// AssetProperty is a required field
10041	AssetProperty *Property `locationName:"assetProperty" type:"structure" required:"true"`
10042}
10043
10044// String returns the string representation
10045func (s DescribeAssetPropertyOutput) String() string {
10046	return awsutil.Prettify(s)
10047}
10048
10049// GoString returns the string representation
10050func (s DescribeAssetPropertyOutput) GoString() string {
10051	return s.String()
10052}
10053
10054// SetAssetId sets the AssetId field's value.
10055func (s *DescribeAssetPropertyOutput) SetAssetId(v string) *DescribeAssetPropertyOutput {
10056	s.AssetId = &v
10057	return s
10058}
10059
10060// SetAssetModelId sets the AssetModelId field's value.
10061func (s *DescribeAssetPropertyOutput) SetAssetModelId(v string) *DescribeAssetPropertyOutput {
10062	s.AssetModelId = &v
10063	return s
10064}
10065
10066// SetAssetName sets the AssetName field's value.
10067func (s *DescribeAssetPropertyOutput) SetAssetName(v string) *DescribeAssetPropertyOutput {
10068	s.AssetName = &v
10069	return s
10070}
10071
10072// SetAssetProperty sets the AssetProperty field's value.
10073func (s *DescribeAssetPropertyOutput) SetAssetProperty(v *Property) *DescribeAssetPropertyOutput {
10074	s.AssetProperty = v
10075	return s
10076}
10077
10078type DescribeDashboardInput struct {
10079	_ struct{} `type:"structure"`
10080
10081	// The ID of the dashboard.
10082	//
10083	// DashboardId is a required field
10084	DashboardId *string `location:"uri" locationName:"dashboardId" min:"36" type:"string" required:"true"`
10085}
10086
10087// String returns the string representation
10088func (s DescribeDashboardInput) String() string {
10089	return awsutil.Prettify(s)
10090}
10091
10092// GoString returns the string representation
10093func (s DescribeDashboardInput) GoString() string {
10094	return s.String()
10095}
10096
10097// Validate inspects the fields of the type to determine if they are valid.
10098func (s *DescribeDashboardInput) Validate() error {
10099	invalidParams := request.ErrInvalidParams{Context: "DescribeDashboardInput"}
10100	if s.DashboardId == nil {
10101		invalidParams.Add(request.NewErrParamRequired("DashboardId"))
10102	}
10103	if s.DashboardId != nil && len(*s.DashboardId) < 36 {
10104		invalidParams.Add(request.NewErrParamMinLen("DashboardId", 36))
10105	}
10106
10107	if invalidParams.Len() > 0 {
10108		return invalidParams
10109	}
10110	return nil
10111}
10112
10113// SetDashboardId sets the DashboardId field's value.
10114func (s *DescribeDashboardInput) SetDashboardId(v string) *DescribeDashboardInput {
10115	s.DashboardId = &v
10116	return s
10117}
10118
10119type DescribeDashboardOutput struct {
10120	_ struct{} `type:"structure"`
10121
10122	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
10123	// of the dashboard, which has the following format.
10124	//
10125	// arn:${Partition}:iotsitewise:${Region}:${Account}:dashboard/${DashboardId}
10126	//
10127	// DashboardArn is a required field
10128	DashboardArn *string `locationName:"dashboardArn" min:"1" type:"string" required:"true"`
10129
10130	// The date the dashboard was created, in Unix epoch time.
10131	//
10132	// DashboardCreationDate is a required field
10133	DashboardCreationDate *time.Time `locationName:"dashboardCreationDate" type:"timestamp" required:"true"`
10134
10135	// The dashboard's definition JSON literal. For detailed information, see Creating
10136	// Dashboards (CLI) (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html)
10137	// in the AWS IoT SiteWise User Guide.
10138	//
10139	// DashboardDefinition is a required field
10140	DashboardDefinition *string `locationName:"dashboardDefinition" type:"string" required:"true"`
10141
10142	// The dashboard's description.
10143	DashboardDescription *string `locationName:"dashboardDescription" min:"1" type:"string"`
10144
10145	// The ID of the dashboard.
10146	//
10147	// DashboardId is a required field
10148	DashboardId *string `locationName:"dashboardId" min:"36" type:"string" required:"true"`
10149
10150	// The date the dashboard was last updated, in Unix epoch time.
10151	//
10152	// DashboardLastUpdateDate is a required field
10153	DashboardLastUpdateDate *time.Time `locationName:"dashboardLastUpdateDate" type:"timestamp" required:"true"`
10154
10155	// The name of the dashboard.
10156	//
10157	// DashboardName is a required field
10158	DashboardName *string `locationName:"dashboardName" min:"1" type:"string" required:"true"`
10159
10160	// The ID of the project that the dashboard is in.
10161	//
10162	// ProjectId is a required field
10163	ProjectId *string `locationName:"projectId" min:"36" type:"string" required:"true"`
10164}
10165
10166// String returns the string representation
10167func (s DescribeDashboardOutput) String() string {
10168	return awsutil.Prettify(s)
10169}
10170
10171// GoString returns the string representation
10172func (s DescribeDashboardOutput) GoString() string {
10173	return s.String()
10174}
10175
10176// SetDashboardArn sets the DashboardArn field's value.
10177func (s *DescribeDashboardOutput) SetDashboardArn(v string) *DescribeDashboardOutput {
10178	s.DashboardArn = &v
10179	return s
10180}
10181
10182// SetDashboardCreationDate sets the DashboardCreationDate field's value.
10183func (s *DescribeDashboardOutput) SetDashboardCreationDate(v time.Time) *DescribeDashboardOutput {
10184	s.DashboardCreationDate = &v
10185	return s
10186}
10187
10188// SetDashboardDefinition sets the DashboardDefinition field's value.
10189func (s *DescribeDashboardOutput) SetDashboardDefinition(v string) *DescribeDashboardOutput {
10190	s.DashboardDefinition = &v
10191	return s
10192}
10193
10194// SetDashboardDescription sets the DashboardDescription field's value.
10195func (s *DescribeDashboardOutput) SetDashboardDescription(v string) *DescribeDashboardOutput {
10196	s.DashboardDescription = &v
10197	return s
10198}
10199
10200// SetDashboardId sets the DashboardId field's value.
10201func (s *DescribeDashboardOutput) SetDashboardId(v string) *DescribeDashboardOutput {
10202	s.DashboardId = &v
10203	return s
10204}
10205
10206// SetDashboardLastUpdateDate sets the DashboardLastUpdateDate field's value.
10207func (s *DescribeDashboardOutput) SetDashboardLastUpdateDate(v time.Time) *DescribeDashboardOutput {
10208	s.DashboardLastUpdateDate = &v
10209	return s
10210}
10211
10212// SetDashboardName sets the DashboardName field's value.
10213func (s *DescribeDashboardOutput) SetDashboardName(v string) *DescribeDashboardOutput {
10214	s.DashboardName = &v
10215	return s
10216}
10217
10218// SetProjectId sets the ProjectId field's value.
10219func (s *DescribeDashboardOutput) SetProjectId(v string) *DescribeDashboardOutput {
10220	s.ProjectId = &v
10221	return s
10222}
10223
10224type DescribeGatewayCapabilityConfigurationInput struct {
10225	_ struct{} `type:"structure"`
10226
10227	// The namespace of the capability configuration. For example, if you configure
10228	// OPC-UA sources from the AWS IoT SiteWise console, your OPC-UA capability
10229	// configuration has the namespace iotsitewise:opcuacollector:version, where
10230	// version is a number such as 1.
10231	//
10232	// CapabilityNamespace is a required field
10233	CapabilityNamespace *string `location:"uri" locationName:"capabilityNamespace" min:"1" type:"string" required:"true"`
10234
10235	// The ID of the gateway that defines the capability configuration.
10236	//
10237	// GatewayId is a required field
10238	GatewayId *string `location:"uri" locationName:"gatewayId" min:"36" type:"string" required:"true"`
10239}
10240
10241// String returns the string representation
10242func (s DescribeGatewayCapabilityConfigurationInput) String() string {
10243	return awsutil.Prettify(s)
10244}
10245
10246// GoString returns the string representation
10247func (s DescribeGatewayCapabilityConfigurationInput) GoString() string {
10248	return s.String()
10249}
10250
10251// Validate inspects the fields of the type to determine if they are valid.
10252func (s *DescribeGatewayCapabilityConfigurationInput) Validate() error {
10253	invalidParams := request.ErrInvalidParams{Context: "DescribeGatewayCapabilityConfigurationInput"}
10254	if s.CapabilityNamespace == nil {
10255		invalidParams.Add(request.NewErrParamRequired("CapabilityNamespace"))
10256	}
10257	if s.CapabilityNamespace != nil && len(*s.CapabilityNamespace) < 1 {
10258		invalidParams.Add(request.NewErrParamMinLen("CapabilityNamespace", 1))
10259	}
10260	if s.GatewayId == nil {
10261		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
10262	}
10263	if s.GatewayId != nil && len(*s.GatewayId) < 36 {
10264		invalidParams.Add(request.NewErrParamMinLen("GatewayId", 36))
10265	}
10266
10267	if invalidParams.Len() > 0 {
10268		return invalidParams
10269	}
10270	return nil
10271}
10272
10273// SetCapabilityNamespace sets the CapabilityNamespace field's value.
10274func (s *DescribeGatewayCapabilityConfigurationInput) SetCapabilityNamespace(v string) *DescribeGatewayCapabilityConfigurationInput {
10275	s.CapabilityNamespace = &v
10276	return s
10277}
10278
10279// SetGatewayId sets the GatewayId field's value.
10280func (s *DescribeGatewayCapabilityConfigurationInput) SetGatewayId(v string) *DescribeGatewayCapabilityConfigurationInput {
10281	s.GatewayId = &v
10282	return s
10283}
10284
10285type DescribeGatewayCapabilityConfigurationOutput struct {
10286	_ struct{} `type:"structure"`
10287
10288	// The JSON document that defines the gateway capability's configuration. For
10289	// more information, see Configuring data sources (CLI) (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/configure-sources.html#configure-source-cli)
10290	// in the AWS IoT SiteWise User Guide.
10291	//
10292	// CapabilityConfiguration is a required field
10293	CapabilityConfiguration *string `locationName:"capabilityConfiguration" min:"1" type:"string" required:"true"`
10294
10295	// The namespace of the gateway capability.
10296	//
10297	// CapabilityNamespace is a required field
10298	CapabilityNamespace *string `locationName:"capabilityNamespace" min:"1" type:"string" required:"true"`
10299
10300	// The synchronization status of the capability configuration. The sync status
10301	// can be one of the following:
10302	//
10303	//    * IN_SYNC – The gateway is running the capability configuration.
10304	//
10305	//    * OUT_OF_SYNC – The gateway hasn't received the capability configuration.
10306	//
10307	//    * SYNC_FAILED – The gateway rejected the capability configuration.
10308	//
10309	// CapabilitySyncStatus is a required field
10310	CapabilitySyncStatus *string `locationName:"capabilitySyncStatus" type:"string" required:"true" enum:"CapabilitySyncStatus"`
10311
10312	// The ID of the gateway that defines the capability configuration.
10313	//
10314	// GatewayId is a required field
10315	GatewayId *string `locationName:"gatewayId" min:"36" type:"string" required:"true"`
10316}
10317
10318// String returns the string representation
10319func (s DescribeGatewayCapabilityConfigurationOutput) String() string {
10320	return awsutil.Prettify(s)
10321}
10322
10323// GoString returns the string representation
10324func (s DescribeGatewayCapabilityConfigurationOutput) GoString() string {
10325	return s.String()
10326}
10327
10328// SetCapabilityConfiguration sets the CapabilityConfiguration field's value.
10329func (s *DescribeGatewayCapabilityConfigurationOutput) SetCapabilityConfiguration(v string) *DescribeGatewayCapabilityConfigurationOutput {
10330	s.CapabilityConfiguration = &v
10331	return s
10332}
10333
10334// SetCapabilityNamespace sets the CapabilityNamespace field's value.
10335func (s *DescribeGatewayCapabilityConfigurationOutput) SetCapabilityNamespace(v string) *DescribeGatewayCapabilityConfigurationOutput {
10336	s.CapabilityNamespace = &v
10337	return s
10338}
10339
10340// SetCapabilitySyncStatus sets the CapabilitySyncStatus field's value.
10341func (s *DescribeGatewayCapabilityConfigurationOutput) SetCapabilitySyncStatus(v string) *DescribeGatewayCapabilityConfigurationOutput {
10342	s.CapabilitySyncStatus = &v
10343	return s
10344}
10345
10346// SetGatewayId sets the GatewayId field's value.
10347func (s *DescribeGatewayCapabilityConfigurationOutput) SetGatewayId(v string) *DescribeGatewayCapabilityConfigurationOutput {
10348	s.GatewayId = &v
10349	return s
10350}
10351
10352type DescribeGatewayInput struct {
10353	_ struct{} `type:"structure"`
10354
10355	// The ID of the gateway device.
10356	//
10357	// GatewayId is a required field
10358	GatewayId *string `location:"uri" locationName:"gatewayId" min:"36" type:"string" required:"true"`
10359}
10360
10361// String returns the string representation
10362func (s DescribeGatewayInput) String() string {
10363	return awsutil.Prettify(s)
10364}
10365
10366// GoString returns the string representation
10367func (s DescribeGatewayInput) GoString() string {
10368	return s.String()
10369}
10370
10371// Validate inspects the fields of the type to determine if they are valid.
10372func (s *DescribeGatewayInput) Validate() error {
10373	invalidParams := request.ErrInvalidParams{Context: "DescribeGatewayInput"}
10374	if s.GatewayId == nil {
10375		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
10376	}
10377	if s.GatewayId != nil && len(*s.GatewayId) < 36 {
10378		invalidParams.Add(request.NewErrParamMinLen("GatewayId", 36))
10379	}
10380
10381	if invalidParams.Len() > 0 {
10382		return invalidParams
10383	}
10384	return nil
10385}
10386
10387// SetGatewayId sets the GatewayId field's value.
10388func (s *DescribeGatewayInput) SetGatewayId(v string) *DescribeGatewayInput {
10389	s.GatewayId = &v
10390	return s
10391}
10392
10393type DescribeGatewayOutput struct {
10394	_ struct{} `type:"structure"`
10395
10396	// The date the gateway was created, in Unix epoch time.
10397	//
10398	// CreationDate is a required field
10399	CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"`
10400
10401	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
10402	// of the gateway, which has the following format.
10403	//
10404	// arn:${Partition}:iotsitewise:${Region}:${Account}:gateway/${GatewayId}
10405	//
10406	// GatewayArn is a required field
10407	GatewayArn *string `locationName:"gatewayArn" min:"1" type:"string" required:"true"`
10408
10409	// A list of gateway capability summaries that each contain a namespace and
10410	// status. Each gateway capability defines data sources for the gateway. To
10411	// retrieve a capability configuration's definition, use DescribeGatewayCapabilityConfiguration
10412	// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGatewayCapabilityConfiguration.html).
10413	//
10414	// GatewayCapabilitySummaries is a required field
10415	GatewayCapabilitySummaries []*GatewayCapabilitySummary `locationName:"gatewayCapabilitySummaries" type:"list" required:"true"`
10416
10417	// The ID of the gateway device.
10418	//
10419	// GatewayId is a required field
10420	GatewayId *string `locationName:"gatewayId" min:"36" type:"string" required:"true"`
10421
10422	// The name of the gateway.
10423	//
10424	// GatewayName is a required field
10425	GatewayName *string `locationName:"gatewayName" min:"1" type:"string" required:"true"`
10426
10427	// The gateway's platform.
10428	GatewayPlatform *GatewayPlatform `locationName:"gatewayPlatform" type:"structure"`
10429
10430	// The date the gateway was last updated, in Unix epoch time.
10431	//
10432	// LastUpdateDate is a required field
10433	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp" required:"true"`
10434}
10435
10436// String returns the string representation
10437func (s DescribeGatewayOutput) String() string {
10438	return awsutil.Prettify(s)
10439}
10440
10441// GoString returns the string representation
10442func (s DescribeGatewayOutput) GoString() string {
10443	return s.String()
10444}
10445
10446// SetCreationDate sets the CreationDate field's value.
10447func (s *DescribeGatewayOutput) SetCreationDate(v time.Time) *DescribeGatewayOutput {
10448	s.CreationDate = &v
10449	return s
10450}
10451
10452// SetGatewayArn sets the GatewayArn field's value.
10453func (s *DescribeGatewayOutput) SetGatewayArn(v string) *DescribeGatewayOutput {
10454	s.GatewayArn = &v
10455	return s
10456}
10457
10458// SetGatewayCapabilitySummaries sets the GatewayCapabilitySummaries field's value.
10459func (s *DescribeGatewayOutput) SetGatewayCapabilitySummaries(v []*GatewayCapabilitySummary) *DescribeGatewayOutput {
10460	s.GatewayCapabilitySummaries = v
10461	return s
10462}
10463
10464// SetGatewayId sets the GatewayId field's value.
10465func (s *DescribeGatewayOutput) SetGatewayId(v string) *DescribeGatewayOutput {
10466	s.GatewayId = &v
10467	return s
10468}
10469
10470// SetGatewayName sets the GatewayName field's value.
10471func (s *DescribeGatewayOutput) SetGatewayName(v string) *DescribeGatewayOutput {
10472	s.GatewayName = &v
10473	return s
10474}
10475
10476// SetGatewayPlatform sets the GatewayPlatform field's value.
10477func (s *DescribeGatewayOutput) SetGatewayPlatform(v *GatewayPlatform) *DescribeGatewayOutput {
10478	s.GatewayPlatform = v
10479	return s
10480}
10481
10482// SetLastUpdateDate sets the LastUpdateDate field's value.
10483func (s *DescribeGatewayOutput) SetLastUpdateDate(v time.Time) *DescribeGatewayOutput {
10484	s.LastUpdateDate = &v
10485	return s
10486}
10487
10488type DescribeLoggingOptionsInput struct {
10489	_ struct{} `type:"structure"`
10490}
10491
10492// String returns the string representation
10493func (s DescribeLoggingOptionsInput) String() string {
10494	return awsutil.Prettify(s)
10495}
10496
10497// GoString returns the string representation
10498func (s DescribeLoggingOptionsInput) GoString() string {
10499	return s.String()
10500}
10501
10502type DescribeLoggingOptionsOutput struct {
10503	_ struct{} `type:"structure"`
10504
10505	// The current logging options.
10506	//
10507	// LoggingOptions is a required field
10508	LoggingOptions *LoggingOptions `locationName:"loggingOptions" type:"structure" required:"true"`
10509}
10510
10511// String returns the string representation
10512func (s DescribeLoggingOptionsOutput) String() string {
10513	return awsutil.Prettify(s)
10514}
10515
10516// GoString returns the string representation
10517func (s DescribeLoggingOptionsOutput) GoString() string {
10518	return s.String()
10519}
10520
10521// SetLoggingOptions sets the LoggingOptions field's value.
10522func (s *DescribeLoggingOptionsOutput) SetLoggingOptions(v *LoggingOptions) *DescribeLoggingOptionsOutput {
10523	s.LoggingOptions = v
10524	return s
10525}
10526
10527type DescribePortalInput struct {
10528	_ struct{} `type:"structure"`
10529
10530	// The ID of the portal.
10531	//
10532	// PortalId is a required field
10533	PortalId *string `location:"uri" locationName:"portalId" min:"36" type:"string" required:"true"`
10534}
10535
10536// String returns the string representation
10537func (s DescribePortalInput) String() string {
10538	return awsutil.Prettify(s)
10539}
10540
10541// GoString returns the string representation
10542func (s DescribePortalInput) GoString() string {
10543	return s.String()
10544}
10545
10546// Validate inspects the fields of the type to determine if they are valid.
10547func (s *DescribePortalInput) Validate() error {
10548	invalidParams := request.ErrInvalidParams{Context: "DescribePortalInput"}
10549	if s.PortalId == nil {
10550		invalidParams.Add(request.NewErrParamRequired("PortalId"))
10551	}
10552	if s.PortalId != nil && len(*s.PortalId) < 36 {
10553		invalidParams.Add(request.NewErrParamMinLen("PortalId", 36))
10554	}
10555
10556	if invalidParams.Len() > 0 {
10557		return invalidParams
10558	}
10559	return nil
10560}
10561
10562// SetPortalId sets the PortalId field's value.
10563func (s *DescribePortalInput) SetPortalId(v string) *DescribePortalInput {
10564	s.PortalId = &v
10565	return s
10566}
10567
10568type DescribePortalOutput struct {
10569	_ struct{} `type:"structure"`
10570
10571	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
10572	// of the portal, which has the following format.
10573	//
10574	// arn:${Partition}:iotsitewise:${Region}:${Account}:portal/${PortalId}
10575	//
10576	// PortalArn is a required field
10577	PortalArn *string `locationName:"portalArn" min:"1" type:"string" required:"true"`
10578
10579	// The AWS SSO application generated client ID (used with AWS SSO APIs).
10580	//
10581	// PortalClientId is a required field
10582	PortalClientId *string `locationName:"portalClientId" min:"1" type:"string" required:"true"`
10583
10584	// The AWS administrator's contact email address.
10585	//
10586	// PortalContactEmail is a required field
10587	PortalContactEmail *string `locationName:"portalContactEmail" min:"1" type:"string" required:"true"`
10588
10589	// The date the portal was created, in Unix epoch time.
10590	//
10591	// PortalCreationDate is a required field
10592	PortalCreationDate *time.Time `locationName:"portalCreationDate" type:"timestamp" required:"true"`
10593
10594	// The portal's description.
10595	PortalDescription *string `locationName:"portalDescription" min:"1" type:"string"`
10596
10597	// The ID of the portal.
10598	//
10599	// PortalId is a required field
10600	PortalId *string `locationName:"portalId" min:"36" type:"string" required:"true"`
10601
10602	// The date the portal was last updated, in Unix epoch time.
10603	//
10604	// PortalLastUpdateDate is a required field
10605	PortalLastUpdateDate *time.Time `locationName:"portalLastUpdateDate" type:"timestamp" required:"true"`
10606
10607	// The portal's logo image, which is available at a URL.
10608	PortalLogoImageLocation *ImageLocation `locationName:"portalLogoImageLocation" type:"structure"`
10609
10610	// The name of the portal.
10611	//
10612	// PortalName is a required field
10613	PortalName *string `locationName:"portalName" min:"1" type:"string" required:"true"`
10614
10615	// The public root URL for the AWS IoT AWS IoT SiteWise Monitor application
10616	// portal.
10617	//
10618	// PortalStartUrl is a required field
10619	PortalStartUrl *string `locationName:"portalStartUrl" min:"1" type:"string" required:"true"`
10620
10621	// The current status of the portal, which contains a state and any error message.
10622	//
10623	// PortalStatus is a required field
10624	PortalStatus *PortalStatus `locationName:"portalStatus" type:"structure" required:"true"`
10625
10626	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
10627	// of the service role that allows the portal's users to access your AWS IoT
10628	// SiteWise resources on your behalf. For more information, see Using service
10629	// roles for AWS IoT SiteWise Monitor (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html)
10630	// in the AWS IoT SiteWise User Guide.
10631	RoleArn *string `locationName:"roleArn" min:"1" type:"string"`
10632}
10633
10634// String returns the string representation
10635func (s DescribePortalOutput) String() string {
10636	return awsutil.Prettify(s)
10637}
10638
10639// GoString returns the string representation
10640func (s DescribePortalOutput) GoString() string {
10641	return s.String()
10642}
10643
10644// SetPortalArn sets the PortalArn field's value.
10645func (s *DescribePortalOutput) SetPortalArn(v string) *DescribePortalOutput {
10646	s.PortalArn = &v
10647	return s
10648}
10649
10650// SetPortalClientId sets the PortalClientId field's value.
10651func (s *DescribePortalOutput) SetPortalClientId(v string) *DescribePortalOutput {
10652	s.PortalClientId = &v
10653	return s
10654}
10655
10656// SetPortalContactEmail sets the PortalContactEmail field's value.
10657func (s *DescribePortalOutput) SetPortalContactEmail(v string) *DescribePortalOutput {
10658	s.PortalContactEmail = &v
10659	return s
10660}
10661
10662// SetPortalCreationDate sets the PortalCreationDate field's value.
10663func (s *DescribePortalOutput) SetPortalCreationDate(v time.Time) *DescribePortalOutput {
10664	s.PortalCreationDate = &v
10665	return s
10666}
10667
10668// SetPortalDescription sets the PortalDescription field's value.
10669func (s *DescribePortalOutput) SetPortalDescription(v string) *DescribePortalOutput {
10670	s.PortalDescription = &v
10671	return s
10672}
10673
10674// SetPortalId sets the PortalId field's value.
10675func (s *DescribePortalOutput) SetPortalId(v string) *DescribePortalOutput {
10676	s.PortalId = &v
10677	return s
10678}
10679
10680// SetPortalLastUpdateDate sets the PortalLastUpdateDate field's value.
10681func (s *DescribePortalOutput) SetPortalLastUpdateDate(v time.Time) *DescribePortalOutput {
10682	s.PortalLastUpdateDate = &v
10683	return s
10684}
10685
10686// SetPortalLogoImageLocation sets the PortalLogoImageLocation field's value.
10687func (s *DescribePortalOutput) SetPortalLogoImageLocation(v *ImageLocation) *DescribePortalOutput {
10688	s.PortalLogoImageLocation = v
10689	return s
10690}
10691
10692// SetPortalName sets the PortalName field's value.
10693func (s *DescribePortalOutput) SetPortalName(v string) *DescribePortalOutput {
10694	s.PortalName = &v
10695	return s
10696}
10697
10698// SetPortalStartUrl sets the PortalStartUrl field's value.
10699func (s *DescribePortalOutput) SetPortalStartUrl(v string) *DescribePortalOutput {
10700	s.PortalStartUrl = &v
10701	return s
10702}
10703
10704// SetPortalStatus sets the PortalStatus field's value.
10705func (s *DescribePortalOutput) SetPortalStatus(v *PortalStatus) *DescribePortalOutput {
10706	s.PortalStatus = v
10707	return s
10708}
10709
10710// SetRoleArn sets the RoleArn field's value.
10711func (s *DescribePortalOutput) SetRoleArn(v string) *DescribePortalOutput {
10712	s.RoleArn = &v
10713	return s
10714}
10715
10716type DescribeProjectInput struct {
10717	_ struct{} `type:"structure"`
10718
10719	// The ID of the project.
10720	//
10721	// ProjectId is a required field
10722	ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"`
10723}
10724
10725// String returns the string representation
10726func (s DescribeProjectInput) String() string {
10727	return awsutil.Prettify(s)
10728}
10729
10730// GoString returns the string representation
10731func (s DescribeProjectInput) GoString() string {
10732	return s.String()
10733}
10734
10735// Validate inspects the fields of the type to determine if they are valid.
10736func (s *DescribeProjectInput) Validate() error {
10737	invalidParams := request.ErrInvalidParams{Context: "DescribeProjectInput"}
10738	if s.ProjectId == nil {
10739		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
10740	}
10741	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
10742		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
10743	}
10744
10745	if invalidParams.Len() > 0 {
10746		return invalidParams
10747	}
10748	return nil
10749}
10750
10751// SetProjectId sets the ProjectId field's value.
10752func (s *DescribeProjectInput) SetProjectId(v string) *DescribeProjectInput {
10753	s.ProjectId = &v
10754	return s
10755}
10756
10757type DescribeProjectOutput struct {
10758	_ struct{} `type:"structure"`
10759
10760	// The ID of the portal that the project is in.
10761	//
10762	// PortalId is a required field
10763	PortalId *string `locationName:"portalId" min:"36" type:"string" required:"true"`
10764
10765	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
10766	// of the project, which has the following format.
10767	//
10768	// arn:${Partition}:iotsitewise:${Region}:${Account}:project/${ProjectId}
10769	//
10770	// ProjectArn is a required field
10771	ProjectArn *string `locationName:"projectArn" min:"1" type:"string" required:"true"`
10772
10773	// The date the project was created, in Unix epoch time.
10774	//
10775	// ProjectCreationDate is a required field
10776	ProjectCreationDate *time.Time `locationName:"projectCreationDate" type:"timestamp" required:"true"`
10777
10778	// The project's description.
10779	ProjectDescription *string `locationName:"projectDescription" min:"1" type:"string"`
10780
10781	// The ID of the project.
10782	//
10783	// ProjectId is a required field
10784	ProjectId *string `locationName:"projectId" min:"36" type:"string" required:"true"`
10785
10786	// The date the project was last updated, in Unix epoch time.
10787	//
10788	// ProjectLastUpdateDate is a required field
10789	ProjectLastUpdateDate *time.Time `locationName:"projectLastUpdateDate" type:"timestamp" required:"true"`
10790
10791	// The name of the project.
10792	//
10793	// ProjectName is a required field
10794	ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"`
10795}
10796
10797// String returns the string representation
10798func (s DescribeProjectOutput) String() string {
10799	return awsutil.Prettify(s)
10800}
10801
10802// GoString returns the string representation
10803func (s DescribeProjectOutput) GoString() string {
10804	return s.String()
10805}
10806
10807// SetPortalId sets the PortalId field's value.
10808func (s *DescribeProjectOutput) SetPortalId(v string) *DescribeProjectOutput {
10809	s.PortalId = &v
10810	return s
10811}
10812
10813// SetProjectArn sets the ProjectArn field's value.
10814func (s *DescribeProjectOutput) SetProjectArn(v string) *DescribeProjectOutput {
10815	s.ProjectArn = &v
10816	return s
10817}
10818
10819// SetProjectCreationDate sets the ProjectCreationDate field's value.
10820func (s *DescribeProjectOutput) SetProjectCreationDate(v time.Time) *DescribeProjectOutput {
10821	s.ProjectCreationDate = &v
10822	return s
10823}
10824
10825// SetProjectDescription sets the ProjectDescription field's value.
10826func (s *DescribeProjectOutput) SetProjectDescription(v string) *DescribeProjectOutput {
10827	s.ProjectDescription = &v
10828	return s
10829}
10830
10831// SetProjectId sets the ProjectId field's value.
10832func (s *DescribeProjectOutput) SetProjectId(v string) *DescribeProjectOutput {
10833	s.ProjectId = &v
10834	return s
10835}
10836
10837// SetProjectLastUpdateDate sets the ProjectLastUpdateDate field's value.
10838func (s *DescribeProjectOutput) SetProjectLastUpdateDate(v time.Time) *DescribeProjectOutput {
10839	s.ProjectLastUpdateDate = &v
10840	return s
10841}
10842
10843// SetProjectName sets the ProjectName field's value.
10844func (s *DescribeProjectOutput) SetProjectName(v string) *DescribeProjectOutput {
10845	s.ProjectName = &v
10846	return s
10847}
10848
10849type DisassociateAssetsInput struct {
10850	_ struct{} `type:"structure"`
10851
10852	// The ID of the parent asset from which to disassociate the child asset.
10853	//
10854	// AssetId is a required field
10855	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
10856
10857	// The ID of the child asset to disassociate.
10858	//
10859	// ChildAssetId is a required field
10860	ChildAssetId *string `locationName:"childAssetId" min:"36" type:"string" required:"true"`
10861
10862	// A unique case-sensitive identifier that you can provide to ensure the idempotency
10863	// of the request. Don't reuse this client token if a new idempotent request
10864	// is required.
10865	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
10866
10867	// The ID of a hierarchy in the parent asset's model. Hierarchies allow different
10868	// groupings of assets to be formed that all come from the same asset model.
10869	// You can use the hierarchy ID to identify the correct asset to disassociate.
10870	// For more information, see Asset Hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html)
10871	// in the AWS IoT SiteWise User Guide.
10872	//
10873	// HierarchyId is a required field
10874	HierarchyId *string `locationName:"hierarchyId" min:"36" type:"string" required:"true"`
10875}
10876
10877// String returns the string representation
10878func (s DisassociateAssetsInput) String() string {
10879	return awsutil.Prettify(s)
10880}
10881
10882// GoString returns the string representation
10883func (s DisassociateAssetsInput) GoString() string {
10884	return s.String()
10885}
10886
10887// Validate inspects the fields of the type to determine if they are valid.
10888func (s *DisassociateAssetsInput) Validate() error {
10889	invalidParams := request.ErrInvalidParams{Context: "DisassociateAssetsInput"}
10890	if s.AssetId == nil {
10891		invalidParams.Add(request.NewErrParamRequired("AssetId"))
10892	}
10893	if s.AssetId != nil && len(*s.AssetId) < 36 {
10894		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
10895	}
10896	if s.ChildAssetId == nil {
10897		invalidParams.Add(request.NewErrParamRequired("ChildAssetId"))
10898	}
10899	if s.ChildAssetId != nil && len(*s.ChildAssetId) < 36 {
10900		invalidParams.Add(request.NewErrParamMinLen("ChildAssetId", 36))
10901	}
10902	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
10903		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
10904	}
10905	if s.HierarchyId == nil {
10906		invalidParams.Add(request.NewErrParamRequired("HierarchyId"))
10907	}
10908	if s.HierarchyId != nil && len(*s.HierarchyId) < 36 {
10909		invalidParams.Add(request.NewErrParamMinLen("HierarchyId", 36))
10910	}
10911
10912	if invalidParams.Len() > 0 {
10913		return invalidParams
10914	}
10915	return nil
10916}
10917
10918// SetAssetId sets the AssetId field's value.
10919func (s *DisassociateAssetsInput) SetAssetId(v string) *DisassociateAssetsInput {
10920	s.AssetId = &v
10921	return s
10922}
10923
10924// SetChildAssetId sets the ChildAssetId field's value.
10925func (s *DisassociateAssetsInput) SetChildAssetId(v string) *DisassociateAssetsInput {
10926	s.ChildAssetId = &v
10927	return s
10928}
10929
10930// SetClientToken sets the ClientToken field's value.
10931func (s *DisassociateAssetsInput) SetClientToken(v string) *DisassociateAssetsInput {
10932	s.ClientToken = &v
10933	return s
10934}
10935
10936// SetHierarchyId sets the HierarchyId field's value.
10937func (s *DisassociateAssetsInput) SetHierarchyId(v string) *DisassociateAssetsInput {
10938	s.HierarchyId = &v
10939	return s
10940}
10941
10942type DisassociateAssetsOutput struct {
10943	_ struct{} `type:"structure"`
10944}
10945
10946// String returns the string representation
10947func (s DisassociateAssetsOutput) String() string {
10948	return awsutil.Prettify(s)
10949}
10950
10951// GoString returns the string representation
10952func (s DisassociateAssetsOutput) GoString() string {
10953	return s.String()
10954}
10955
10956// Contains the details of an AWS IoT SiteWise error.
10957type ErrorDetails struct {
10958	_ struct{} `type:"structure"`
10959
10960	// The error code.
10961	//
10962	// Code is a required field
10963	Code *string `locationName:"code" type:"string" required:"true" enum:"ErrorCode"`
10964
10965	// The error message.
10966	//
10967	// Message is a required field
10968	Message *string `locationName:"message" type:"string" required:"true"`
10969}
10970
10971// String returns the string representation
10972func (s ErrorDetails) String() string {
10973	return awsutil.Prettify(s)
10974}
10975
10976// GoString returns the string representation
10977func (s ErrorDetails) GoString() string {
10978	return s.String()
10979}
10980
10981// SetCode sets the Code field's value.
10982func (s *ErrorDetails) SetCode(v string) *ErrorDetails {
10983	s.Code = &v
10984	return s
10985}
10986
10987// SetMessage sets the Message field's value.
10988func (s *ErrorDetails) SetMessage(v string) *ErrorDetails {
10989	s.Message = &v
10990	return s
10991}
10992
10993// Contains expression variable information.
10994type ExpressionVariable struct {
10995	_ struct{} `type:"structure"`
10996
10997	// The friendly name of the variable to be used in the expression.
10998	//
10999	// Name is a required field
11000	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
11001
11002	// The variable that identifies an asset property from which to use values.
11003	//
11004	// Value is a required field
11005	Value *VariableValue `locationName:"value" type:"structure" required:"true"`
11006}
11007
11008// String returns the string representation
11009func (s ExpressionVariable) String() string {
11010	return awsutil.Prettify(s)
11011}
11012
11013// GoString returns the string representation
11014func (s ExpressionVariable) GoString() string {
11015	return s.String()
11016}
11017
11018// Validate inspects the fields of the type to determine if they are valid.
11019func (s *ExpressionVariable) Validate() error {
11020	invalidParams := request.ErrInvalidParams{Context: "ExpressionVariable"}
11021	if s.Name == nil {
11022		invalidParams.Add(request.NewErrParamRequired("Name"))
11023	}
11024	if s.Name != nil && len(*s.Name) < 1 {
11025		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
11026	}
11027	if s.Value == nil {
11028		invalidParams.Add(request.NewErrParamRequired("Value"))
11029	}
11030	if s.Value != nil {
11031		if err := s.Value.Validate(); err != nil {
11032			invalidParams.AddNested("Value", err.(request.ErrInvalidParams))
11033		}
11034	}
11035
11036	if invalidParams.Len() > 0 {
11037		return invalidParams
11038	}
11039	return nil
11040}
11041
11042// SetName sets the Name field's value.
11043func (s *ExpressionVariable) SetName(v string) *ExpressionVariable {
11044	s.Name = &v
11045	return s
11046}
11047
11048// SetValue sets the Value field's value.
11049func (s *ExpressionVariable) SetValue(v *VariableValue) *ExpressionVariable {
11050	s.Value = v
11051	return s
11052}
11053
11054// Contains a summary of a gateway capability configuration.
11055type GatewayCapabilitySummary struct {
11056	_ struct{} `type:"structure"`
11057
11058	// The namespace of the capability configuration. For example, if you configure
11059	// OPC-UA sources from the AWS IoT SiteWise console, your OPC-UA capability
11060	// configuration has the namespace iotsitewise:opcuacollector:version, where
11061	// version is a number such as 1.
11062	//
11063	// CapabilityNamespace is a required field
11064	CapabilityNamespace *string `locationName:"capabilityNamespace" min:"1" type:"string" required:"true"`
11065
11066	// The synchronization status of the capability configuration. The sync status
11067	// can be one of the following:
11068	//
11069	//    * IN_SYNC – The gateway is running the capability configuration.
11070	//
11071	//    * OUT_OF_SYNC – The gateway hasn't received the capability configuration.
11072	//
11073	//    * SYNC_FAILED – The gateway rejected the capability configuration.
11074	//
11075	// CapabilitySyncStatus is a required field
11076	CapabilitySyncStatus *string `locationName:"capabilitySyncStatus" type:"string" required:"true" enum:"CapabilitySyncStatus"`
11077}
11078
11079// String returns the string representation
11080func (s GatewayCapabilitySummary) String() string {
11081	return awsutil.Prettify(s)
11082}
11083
11084// GoString returns the string representation
11085func (s GatewayCapabilitySummary) GoString() string {
11086	return s.String()
11087}
11088
11089// SetCapabilityNamespace sets the CapabilityNamespace field's value.
11090func (s *GatewayCapabilitySummary) SetCapabilityNamespace(v string) *GatewayCapabilitySummary {
11091	s.CapabilityNamespace = &v
11092	return s
11093}
11094
11095// SetCapabilitySyncStatus sets the CapabilitySyncStatus field's value.
11096func (s *GatewayCapabilitySummary) SetCapabilitySyncStatus(v string) *GatewayCapabilitySummary {
11097	s.CapabilitySyncStatus = &v
11098	return s
11099}
11100
11101// Contains a gateway's platform information.
11102type GatewayPlatform struct {
11103	_ struct{} `type:"structure"`
11104
11105	// A gateway that runs on AWS IoT Greengrass.
11106	//
11107	// Greengrass is a required field
11108	Greengrass *Greengrass `locationName:"greengrass" type:"structure" required:"true"`
11109}
11110
11111// String returns the string representation
11112func (s GatewayPlatform) String() string {
11113	return awsutil.Prettify(s)
11114}
11115
11116// GoString returns the string representation
11117func (s GatewayPlatform) GoString() string {
11118	return s.String()
11119}
11120
11121// Validate inspects the fields of the type to determine if they are valid.
11122func (s *GatewayPlatform) Validate() error {
11123	invalidParams := request.ErrInvalidParams{Context: "GatewayPlatform"}
11124	if s.Greengrass == nil {
11125		invalidParams.Add(request.NewErrParamRequired("Greengrass"))
11126	}
11127	if s.Greengrass != nil {
11128		if err := s.Greengrass.Validate(); err != nil {
11129			invalidParams.AddNested("Greengrass", err.(request.ErrInvalidParams))
11130		}
11131	}
11132
11133	if invalidParams.Len() > 0 {
11134		return invalidParams
11135	}
11136	return nil
11137}
11138
11139// SetGreengrass sets the Greengrass field's value.
11140func (s *GatewayPlatform) SetGreengrass(v *Greengrass) *GatewayPlatform {
11141	s.Greengrass = v
11142	return s
11143}
11144
11145// Contains a summary of a gateway.
11146type GatewaySummary struct {
11147	_ struct{} `type:"structure"`
11148
11149	// The date the gateway was created, in Unix epoch time.
11150	//
11151	// CreationDate is a required field
11152	CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"`
11153
11154	// A list of gateway capability summaries that each contain a namespace and
11155	// status. Each gateway capability defines data sources for the gateway. To
11156	// retrieve a capability configuration's definition, use DescribeGatewayCapabilityConfiguration
11157	// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGatewayCapabilityConfiguration.html).
11158	GatewayCapabilitySummaries []*GatewayCapabilitySummary `locationName:"gatewayCapabilitySummaries" type:"list"`
11159
11160	// The ID of the gateway device.
11161	//
11162	// GatewayId is a required field
11163	GatewayId *string `locationName:"gatewayId" min:"36" type:"string" required:"true"`
11164
11165	// The name of the asset.
11166	//
11167	// GatewayName is a required field
11168	GatewayName *string `locationName:"gatewayName" min:"1" type:"string" required:"true"`
11169
11170	// The date the gateway was last updated, in Unix epoch time.
11171	//
11172	// LastUpdateDate is a required field
11173	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp" required:"true"`
11174}
11175
11176// String returns the string representation
11177func (s GatewaySummary) String() string {
11178	return awsutil.Prettify(s)
11179}
11180
11181// GoString returns the string representation
11182func (s GatewaySummary) GoString() string {
11183	return s.String()
11184}
11185
11186// SetCreationDate sets the CreationDate field's value.
11187func (s *GatewaySummary) SetCreationDate(v time.Time) *GatewaySummary {
11188	s.CreationDate = &v
11189	return s
11190}
11191
11192// SetGatewayCapabilitySummaries sets the GatewayCapabilitySummaries field's value.
11193func (s *GatewaySummary) SetGatewayCapabilitySummaries(v []*GatewayCapabilitySummary) *GatewaySummary {
11194	s.GatewayCapabilitySummaries = v
11195	return s
11196}
11197
11198// SetGatewayId sets the GatewayId field's value.
11199func (s *GatewaySummary) SetGatewayId(v string) *GatewaySummary {
11200	s.GatewayId = &v
11201	return s
11202}
11203
11204// SetGatewayName sets the GatewayName field's value.
11205func (s *GatewaySummary) SetGatewayName(v string) *GatewaySummary {
11206	s.GatewayName = &v
11207	return s
11208}
11209
11210// SetLastUpdateDate sets the LastUpdateDate field's value.
11211func (s *GatewaySummary) SetLastUpdateDate(v time.Time) *GatewaySummary {
11212	s.LastUpdateDate = &v
11213	return s
11214}
11215
11216type GetAssetPropertyAggregatesInput struct {
11217	_ struct{} `type:"structure"`
11218
11219	// The data aggregating function.
11220	//
11221	// AggregateTypes is a required field
11222	AggregateTypes []*string `location:"querystring" locationName:"aggregateTypes" min:"1" type:"list" required:"true"`
11223
11224	// The ID of the asset.
11225	AssetId *string `location:"querystring" locationName:"assetId" min:"36" type:"string"`
11226
11227	// The inclusive end of the range from which to query historical data, expressed
11228	// in seconds in Unix epoch time.
11229	//
11230	// EndDate is a required field
11231	EndDate *time.Time `location:"querystring" locationName:"endDate" type:"timestamp" required:"true"`
11232
11233	// The maximum number of results to be returned per paginated request.
11234	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
11235
11236	// The token to be used for the next set of paginated results.
11237	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
11238
11239	// The property alias that identifies the property, such as an OPC-UA server
11240	// data stream path (for example, /company/windfarm/3/turbine/7/temperature).
11241	// For more information, see Mapping Industrial Data Streams to Asset Properties
11242	// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
11243	// in the AWS IoT SiteWise User Guide.
11244	PropertyAlias *string `location:"querystring" locationName:"propertyAlias" min:"1" type:"string"`
11245
11246	// The ID of the asset property.
11247	PropertyId *string `location:"querystring" locationName:"propertyId" min:"36" type:"string"`
11248
11249	// The quality by which to filter asset data.
11250	Qualities []*string `location:"querystring" locationName:"qualities" min:"1" type:"list"`
11251
11252	// The time interval over which to aggregate data.
11253	//
11254	// Resolution is a required field
11255	Resolution *string `location:"querystring" locationName:"resolution" min:"2" type:"string" required:"true"`
11256
11257	// The exclusive start of the range from which to query historical data, expressed
11258	// in seconds in Unix epoch time.
11259	//
11260	// StartDate is a required field
11261	StartDate *time.Time `location:"querystring" locationName:"startDate" type:"timestamp" required:"true"`
11262
11263	// The chronological sorting order of the requested information.
11264	TimeOrdering *string `location:"querystring" locationName:"timeOrdering" type:"string" enum:"TimeOrdering"`
11265}
11266
11267// String returns the string representation
11268func (s GetAssetPropertyAggregatesInput) String() string {
11269	return awsutil.Prettify(s)
11270}
11271
11272// GoString returns the string representation
11273func (s GetAssetPropertyAggregatesInput) GoString() string {
11274	return s.String()
11275}
11276
11277// Validate inspects the fields of the type to determine if they are valid.
11278func (s *GetAssetPropertyAggregatesInput) Validate() error {
11279	invalidParams := request.ErrInvalidParams{Context: "GetAssetPropertyAggregatesInput"}
11280	if s.AggregateTypes == nil {
11281		invalidParams.Add(request.NewErrParamRequired("AggregateTypes"))
11282	}
11283	if s.AggregateTypes != nil && len(s.AggregateTypes) < 1 {
11284		invalidParams.Add(request.NewErrParamMinLen("AggregateTypes", 1))
11285	}
11286	if s.AssetId != nil && len(*s.AssetId) < 36 {
11287		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
11288	}
11289	if s.EndDate == nil {
11290		invalidParams.Add(request.NewErrParamRequired("EndDate"))
11291	}
11292	if s.MaxResults != nil && *s.MaxResults < 1 {
11293		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11294	}
11295	if s.NextToken != nil && len(*s.NextToken) < 1 {
11296		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11297	}
11298	if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 {
11299		invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1))
11300	}
11301	if s.PropertyId != nil && len(*s.PropertyId) < 36 {
11302		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36))
11303	}
11304	if s.Qualities != nil && len(s.Qualities) < 1 {
11305		invalidParams.Add(request.NewErrParamMinLen("Qualities", 1))
11306	}
11307	if s.Resolution == nil {
11308		invalidParams.Add(request.NewErrParamRequired("Resolution"))
11309	}
11310	if s.Resolution != nil && len(*s.Resolution) < 2 {
11311		invalidParams.Add(request.NewErrParamMinLen("Resolution", 2))
11312	}
11313	if s.StartDate == nil {
11314		invalidParams.Add(request.NewErrParamRequired("StartDate"))
11315	}
11316
11317	if invalidParams.Len() > 0 {
11318		return invalidParams
11319	}
11320	return nil
11321}
11322
11323// SetAggregateTypes sets the AggregateTypes field's value.
11324func (s *GetAssetPropertyAggregatesInput) SetAggregateTypes(v []*string) *GetAssetPropertyAggregatesInput {
11325	s.AggregateTypes = v
11326	return s
11327}
11328
11329// SetAssetId sets the AssetId field's value.
11330func (s *GetAssetPropertyAggregatesInput) SetAssetId(v string) *GetAssetPropertyAggregatesInput {
11331	s.AssetId = &v
11332	return s
11333}
11334
11335// SetEndDate sets the EndDate field's value.
11336func (s *GetAssetPropertyAggregatesInput) SetEndDate(v time.Time) *GetAssetPropertyAggregatesInput {
11337	s.EndDate = &v
11338	return s
11339}
11340
11341// SetMaxResults sets the MaxResults field's value.
11342func (s *GetAssetPropertyAggregatesInput) SetMaxResults(v int64) *GetAssetPropertyAggregatesInput {
11343	s.MaxResults = &v
11344	return s
11345}
11346
11347// SetNextToken sets the NextToken field's value.
11348func (s *GetAssetPropertyAggregatesInput) SetNextToken(v string) *GetAssetPropertyAggregatesInput {
11349	s.NextToken = &v
11350	return s
11351}
11352
11353// SetPropertyAlias sets the PropertyAlias field's value.
11354func (s *GetAssetPropertyAggregatesInput) SetPropertyAlias(v string) *GetAssetPropertyAggregatesInput {
11355	s.PropertyAlias = &v
11356	return s
11357}
11358
11359// SetPropertyId sets the PropertyId field's value.
11360func (s *GetAssetPropertyAggregatesInput) SetPropertyId(v string) *GetAssetPropertyAggregatesInput {
11361	s.PropertyId = &v
11362	return s
11363}
11364
11365// SetQualities sets the Qualities field's value.
11366func (s *GetAssetPropertyAggregatesInput) SetQualities(v []*string) *GetAssetPropertyAggregatesInput {
11367	s.Qualities = v
11368	return s
11369}
11370
11371// SetResolution sets the Resolution field's value.
11372func (s *GetAssetPropertyAggregatesInput) SetResolution(v string) *GetAssetPropertyAggregatesInput {
11373	s.Resolution = &v
11374	return s
11375}
11376
11377// SetStartDate sets the StartDate field's value.
11378func (s *GetAssetPropertyAggregatesInput) SetStartDate(v time.Time) *GetAssetPropertyAggregatesInput {
11379	s.StartDate = &v
11380	return s
11381}
11382
11383// SetTimeOrdering sets the TimeOrdering field's value.
11384func (s *GetAssetPropertyAggregatesInput) SetTimeOrdering(v string) *GetAssetPropertyAggregatesInput {
11385	s.TimeOrdering = &v
11386	return s
11387}
11388
11389type GetAssetPropertyAggregatesOutput struct {
11390	_ struct{} `type:"structure"`
11391
11392	// The requested aggregated values.
11393	//
11394	// AggregatedValues is a required field
11395	AggregatedValues []*AggregatedValue `locationName:"aggregatedValues" type:"list" required:"true"`
11396
11397	// The token for the next set of results, or null if there are no additional
11398	// results.
11399	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
11400}
11401
11402// String returns the string representation
11403func (s GetAssetPropertyAggregatesOutput) String() string {
11404	return awsutil.Prettify(s)
11405}
11406
11407// GoString returns the string representation
11408func (s GetAssetPropertyAggregatesOutput) GoString() string {
11409	return s.String()
11410}
11411
11412// SetAggregatedValues sets the AggregatedValues field's value.
11413func (s *GetAssetPropertyAggregatesOutput) SetAggregatedValues(v []*AggregatedValue) *GetAssetPropertyAggregatesOutput {
11414	s.AggregatedValues = v
11415	return s
11416}
11417
11418// SetNextToken sets the NextToken field's value.
11419func (s *GetAssetPropertyAggregatesOutput) SetNextToken(v string) *GetAssetPropertyAggregatesOutput {
11420	s.NextToken = &v
11421	return s
11422}
11423
11424type GetAssetPropertyValueHistoryInput struct {
11425	_ struct{} `type:"structure"`
11426
11427	// The ID of the asset.
11428	AssetId *string `location:"querystring" locationName:"assetId" min:"36" type:"string"`
11429
11430	// The inclusive end of the range from which to query historical data, expressed
11431	// in seconds in Unix epoch time.
11432	//
11433	// EndDate is a required field
11434	EndDate *time.Time `location:"querystring" locationName:"endDate" type:"timestamp" required:"true"`
11435
11436	// The maximum number of results to be returned per paginated request.
11437	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
11438
11439	// The token to be used for the next set of paginated results.
11440	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
11441
11442	// The property alias that identifies the property, such as an OPC-UA server
11443	// data stream path (for example, /company/windfarm/3/turbine/7/temperature).
11444	// For more information, see Mapping Industrial Data Streams to Asset Properties
11445	// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
11446	// in the AWS IoT SiteWise User Guide.
11447	PropertyAlias *string `location:"querystring" locationName:"propertyAlias" min:"1" type:"string"`
11448
11449	// The ID of the asset property.
11450	PropertyId *string `location:"querystring" locationName:"propertyId" min:"36" type:"string"`
11451
11452	// The quality by which to filter asset data.
11453	Qualities []*string `location:"querystring" locationName:"qualities" min:"1" type:"list"`
11454
11455	// The exclusive start of the range from which to query historical data, expressed
11456	// in seconds in Unix epoch time.
11457	//
11458	// StartDate is a required field
11459	StartDate *time.Time `location:"querystring" locationName:"startDate" type:"timestamp" required:"true"`
11460
11461	// The chronological sorting order of the requested information.
11462	TimeOrdering *string `location:"querystring" locationName:"timeOrdering" type:"string" enum:"TimeOrdering"`
11463}
11464
11465// String returns the string representation
11466func (s GetAssetPropertyValueHistoryInput) String() string {
11467	return awsutil.Prettify(s)
11468}
11469
11470// GoString returns the string representation
11471func (s GetAssetPropertyValueHistoryInput) GoString() string {
11472	return s.String()
11473}
11474
11475// Validate inspects the fields of the type to determine if they are valid.
11476func (s *GetAssetPropertyValueHistoryInput) Validate() error {
11477	invalidParams := request.ErrInvalidParams{Context: "GetAssetPropertyValueHistoryInput"}
11478	if s.AssetId != nil && len(*s.AssetId) < 36 {
11479		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
11480	}
11481	if s.EndDate == nil {
11482		invalidParams.Add(request.NewErrParamRequired("EndDate"))
11483	}
11484	if s.MaxResults != nil && *s.MaxResults < 1 {
11485		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11486	}
11487	if s.NextToken != nil && len(*s.NextToken) < 1 {
11488		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11489	}
11490	if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 {
11491		invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1))
11492	}
11493	if s.PropertyId != nil && len(*s.PropertyId) < 36 {
11494		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36))
11495	}
11496	if s.Qualities != nil && len(s.Qualities) < 1 {
11497		invalidParams.Add(request.NewErrParamMinLen("Qualities", 1))
11498	}
11499	if s.StartDate == nil {
11500		invalidParams.Add(request.NewErrParamRequired("StartDate"))
11501	}
11502
11503	if invalidParams.Len() > 0 {
11504		return invalidParams
11505	}
11506	return nil
11507}
11508
11509// SetAssetId sets the AssetId field's value.
11510func (s *GetAssetPropertyValueHistoryInput) SetAssetId(v string) *GetAssetPropertyValueHistoryInput {
11511	s.AssetId = &v
11512	return s
11513}
11514
11515// SetEndDate sets the EndDate field's value.
11516func (s *GetAssetPropertyValueHistoryInput) SetEndDate(v time.Time) *GetAssetPropertyValueHistoryInput {
11517	s.EndDate = &v
11518	return s
11519}
11520
11521// SetMaxResults sets the MaxResults field's value.
11522func (s *GetAssetPropertyValueHistoryInput) SetMaxResults(v int64) *GetAssetPropertyValueHistoryInput {
11523	s.MaxResults = &v
11524	return s
11525}
11526
11527// SetNextToken sets the NextToken field's value.
11528func (s *GetAssetPropertyValueHistoryInput) SetNextToken(v string) *GetAssetPropertyValueHistoryInput {
11529	s.NextToken = &v
11530	return s
11531}
11532
11533// SetPropertyAlias sets the PropertyAlias field's value.
11534func (s *GetAssetPropertyValueHistoryInput) SetPropertyAlias(v string) *GetAssetPropertyValueHistoryInput {
11535	s.PropertyAlias = &v
11536	return s
11537}
11538
11539// SetPropertyId sets the PropertyId field's value.
11540func (s *GetAssetPropertyValueHistoryInput) SetPropertyId(v string) *GetAssetPropertyValueHistoryInput {
11541	s.PropertyId = &v
11542	return s
11543}
11544
11545// SetQualities sets the Qualities field's value.
11546func (s *GetAssetPropertyValueHistoryInput) SetQualities(v []*string) *GetAssetPropertyValueHistoryInput {
11547	s.Qualities = v
11548	return s
11549}
11550
11551// SetStartDate sets the StartDate field's value.
11552func (s *GetAssetPropertyValueHistoryInput) SetStartDate(v time.Time) *GetAssetPropertyValueHistoryInput {
11553	s.StartDate = &v
11554	return s
11555}
11556
11557// SetTimeOrdering sets the TimeOrdering field's value.
11558func (s *GetAssetPropertyValueHistoryInput) SetTimeOrdering(v string) *GetAssetPropertyValueHistoryInput {
11559	s.TimeOrdering = &v
11560	return s
11561}
11562
11563type GetAssetPropertyValueHistoryOutput struct {
11564	_ struct{} `type:"structure"`
11565
11566	// The asset property's value history.
11567	//
11568	// AssetPropertyValueHistory is a required field
11569	AssetPropertyValueHistory []*AssetPropertyValue `locationName:"assetPropertyValueHistory" type:"list" required:"true"`
11570
11571	// The token for the next set of results, or null if there are no additional
11572	// results.
11573	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
11574}
11575
11576// String returns the string representation
11577func (s GetAssetPropertyValueHistoryOutput) String() string {
11578	return awsutil.Prettify(s)
11579}
11580
11581// GoString returns the string representation
11582func (s GetAssetPropertyValueHistoryOutput) GoString() string {
11583	return s.String()
11584}
11585
11586// SetAssetPropertyValueHistory sets the AssetPropertyValueHistory field's value.
11587func (s *GetAssetPropertyValueHistoryOutput) SetAssetPropertyValueHistory(v []*AssetPropertyValue) *GetAssetPropertyValueHistoryOutput {
11588	s.AssetPropertyValueHistory = v
11589	return s
11590}
11591
11592// SetNextToken sets the NextToken field's value.
11593func (s *GetAssetPropertyValueHistoryOutput) SetNextToken(v string) *GetAssetPropertyValueHistoryOutput {
11594	s.NextToken = &v
11595	return s
11596}
11597
11598type GetAssetPropertyValueInput struct {
11599	_ struct{} `type:"structure"`
11600
11601	// The ID of the asset.
11602	AssetId *string `location:"querystring" locationName:"assetId" min:"36" type:"string"`
11603
11604	// The property alias that identifies the property, such as an OPC-UA server
11605	// data stream path (for example, /company/windfarm/3/turbine/7/temperature).
11606	// For more information, see Mapping Industrial Data Streams to Asset Properties
11607	// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
11608	// in the AWS IoT SiteWise User Guide.
11609	PropertyAlias *string `location:"querystring" locationName:"propertyAlias" min:"1" type:"string"`
11610
11611	// The ID of the asset property.
11612	PropertyId *string `location:"querystring" locationName:"propertyId" min:"36" type:"string"`
11613}
11614
11615// String returns the string representation
11616func (s GetAssetPropertyValueInput) String() string {
11617	return awsutil.Prettify(s)
11618}
11619
11620// GoString returns the string representation
11621func (s GetAssetPropertyValueInput) GoString() string {
11622	return s.String()
11623}
11624
11625// Validate inspects the fields of the type to determine if they are valid.
11626func (s *GetAssetPropertyValueInput) Validate() error {
11627	invalidParams := request.ErrInvalidParams{Context: "GetAssetPropertyValueInput"}
11628	if s.AssetId != nil && len(*s.AssetId) < 36 {
11629		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
11630	}
11631	if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 {
11632		invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1))
11633	}
11634	if s.PropertyId != nil && len(*s.PropertyId) < 36 {
11635		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36))
11636	}
11637
11638	if invalidParams.Len() > 0 {
11639		return invalidParams
11640	}
11641	return nil
11642}
11643
11644// SetAssetId sets the AssetId field's value.
11645func (s *GetAssetPropertyValueInput) SetAssetId(v string) *GetAssetPropertyValueInput {
11646	s.AssetId = &v
11647	return s
11648}
11649
11650// SetPropertyAlias sets the PropertyAlias field's value.
11651func (s *GetAssetPropertyValueInput) SetPropertyAlias(v string) *GetAssetPropertyValueInput {
11652	s.PropertyAlias = &v
11653	return s
11654}
11655
11656// SetPropertyId sets the PropertyId field's value.
11657func (s *GetAssetPropertyValueInput) SetPropertyId(v string) *GetAssetPropertyValueInput {
11658	s.PropertyId = &v
11659	return s
11660}
11661
11662type GetAssetPropertyValueOutput struct {
11663	_ struct{} `type:"structure"`
11664
11665	// The current asset property value.
11666	PropertyValue *AssetPropertyValue `locationName:"propertyValue" type:"structure"`
11667}
11668
11669// String returns the string representation
11670func (s GetAssetPropertyValueOutput) String() string {
11671	return awsutil.Prettify(s)
11672}
11673
11674// GoString returns the string representation
11675func (s GetAssetPropertyValueOutput) GoString() string {
11676	return s.String()
11677}
11678
11679// SetPropertyValue sets the PropertyValue field's value.
11680func (s *GetAssetPropertyValueOutput) SetPropertyValue(v *AssetPropertyValue) *GetAssetPropertyValueOutput {
11681	s.PropertyValue = v
11682	return s
11683}
11684
11685// Contains details for a gateway that runs on AWS IoT Greengrass. To create
11686// a gateway that runs on AWS IoT Greengrass, you must add the IoT SiteWise
11687// connector to a Greengrass group and deploy it. Your Greengrass group must
11688// also have permissions to upload data to AWS IoT SiteWise. For more information,
11689// see Ingesting data using a gateway (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/gateway-connector.html)
11690// in the AWS IoT SiteWise User Guide.
11691type Greengrass struct {
11692	_ struct{} `type:"structure"`
11693
11694	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
11695	// of the Greengrass group. For more information about how to find a group's
11696	// ARN, see ListGroups (https://docs.aws.amazon.com/greengrass/latest/apireference/listgroups-get.html)
11697	// and GetGroup (https://docs.aws.amazon.com/greengrass/latest/apireference/getgroup-get.html)
11698	// in the AWS IoT Greengrass API Reference.
11699	//
11700	// GroupArn is a required field
11701	GroupArn *string `locationName:"groupArn" min:"1" type:"string" required:"true"`
11702}
11703
11704// String returns the string representation
11705func (s Greengrass) String() string {
11706	return awsutil.Prettify(s)
11707}
11708
11709// GoString returns the string representation
11710func (s Greengrass) GoString() string {
11711	return s.String()
11712}
11713
11714// Validate inspects the fields of the type to determine if they are valid.
11715func (s *Greengrass) Validate() error {
11716	invalidParams := request.ErrInvalidParams{Context: "Greengrass"}
11717	if s.GroupArn == nil {
11718		invalidParams.Add(request.NewErrParamRequired("GroupArn"))
11719	}
11720	if s.GroupArn != nil && len(*s.GroupArn) < 1 {
11721		invalidParams.Add(request.NewErrParamMinLen("GroupArn", 1))
11722	}
11723
11724	if invalidParams.Len() > 0 {
11725		return invalidParams
11726	}
11727	return nil
11728}
11729
11730// SetGroupArn sets the GroupArn field's value.
11731func (s *Greengrass) SetGroupArn(v string) *Greengrass {
11732	s.GroupArn = &v
11733	return s
11734}
11735
11736// Contains information for a group identity in an access policy.
11737type GroupIdentity struct {
11738	_ struct{} `type:"structure"`
11739
11740	// The AWS SSO ID of the group.
11741	//
11742	// Id is a required field
11743	Id *string `locationName:"id" min:"1" type:"string" required:"true"`
11744}
11745
11746// String returns the string representation
11747func (s GroupIdentity) String() string {
11748	return awsutil.Prettify(s)
11749}
11750
11751// GoString returns the string representation
11752func (s GroupIdentity) GoString() string {
11753	return s.String()
11754}
11755
11756// Validate inspects the fields of the type to determine if they are valid.
11757func (s *GroupIdentity) Validate() error {
11758	invalidParams := request.ErrInvalidParams{Context: "GroupIdentity"}
11759	if s.Id == nil {
11760		invalidParams.Add(request.NewErrParamRequired("Id"))
11761	}
11762	if s.Id != nil && len(*s.Id) < 1 {
11763		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11764	}
11765
11766	if invalidParams.Len() > 0 {
11767		return invalidParams
11768	}
11769	return nil
11770}
11771
11772// SetId sets the Id field's value.
11773func (s *GroupIdentity) SetId(v string) *GroupIdentity {
11774	s.Id = &v
11775	return s
11776}
11777
11778// Contains an AWS SSO identity ID for a user or group.
11779//
11780// Currently, you can't use AWS APIs to retrieve AWS SSO identity IDs. You can
11781// find the AWS SSO identity IDs in the URL of user and group pages in the AWS
11782// SSO console (https://console.aws.amazon.com/singlesignon).
11783type Identity struct {
11784	_ struct{} `type:"structure"`
11785
11786	// A group identity.
11787	Group *GroupIdentity `locationName:"group" type:"structure"`
11788
11789	// A user identity.
11790	User *UserIdentity `locationName:"user" type:"structure"`
11791}
11792
11793// String returns the string representation
11794func (s Identity) String() string {
11795	return awsutil.Prettify(s)
11796}
11797
11798// GoString returns the string representation
11799func (s Identity) GoString() string {
11800	return s.String()
11801}
11802
11803// Validate inspects the fields of the type to determine if they are valid.
11804func (s *Identity) Validate() error {
11805	invalidParams := request.ErrInvalidParams{Context: "Identity"}
11806	if s.Group != nil {
11807		if err := s.Group.Validate(); err != nil {
11808			invalidParams.AddNested("Group", err.(request.ErrInvalidParams))
11809		}
11810	}
11811	if s.User != nil {
11812		if err := s.User.Validate(); err != nil {
11813			invalidParams.AddNested("User", err.(request.ErrInvalidParams))
11814		}
11815	}
11816
11817	if invalidParams.Len() > 0 {
11818		return invalidParams
11819	}
11820	return nil
11821}
11822
11823// SetGroup sets the Group field's value.
11824func (s *Identity) SetGroup(v *GroupIdentity) *Identity {
11825	s.Group = v
11826	return s
11827}
11828
11829// SetUser sets the User field's value.
11830func (s *Identity) SetUser(v *UserIdentity) *Identity {
11831	s.User = v
11832	return s
11833}
11834
11835// Contains an image that is one of the following:
11836//
11837//    * An image file. Choose this option to upload a new image.
11838//
11839//    * The ID of an existing image. Choose this option to keep an existing
11840//    image.
11841type Image struct {
11842	_ struct{} `type:"structure"`
11843
11844	// Contains an image file.
11845	File *ImageFile `locationName:"file" type:"structure"`
11846
11847	// The ID of an existing image. Specify this parameter to keep an existing image.
11848	Id *string `locationName:"id" min:"36" type:"string"`
11849}
11850
11851// String returns the string representation
11852func (s Image) String() string {
11853	return awsutil.Prettify(s)
11854}
11855
11856// GoString returns the string representation
11857func (s Image) GoString() string {
11858	return s.String()
11859}
11860
11861// Validate inspects the fields of the type to determine if they are valid.
11862func (s *Image) Validate() error {
11863	invalidParams := request.ErrInvalidParams{Context: "Image"}
11864	if s.Id != nil && len(*s.Id) < 36 {
11865		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
11866	}
11867	if s.File != nil {
11868		if err := s.File.Validate(); err != nil {
11869			invalidParams.AddNested("File", err.(request.ErrInvalidParams))
11870		}
11871	}
11872
11873	if invalidParams.Len() > 0 {
11874		return invalidParams
11875	}
11876	return nil
11877}
11878
11879// SetFile sets the File field's value.
11880func (s *Image) SetFile(v *ImageFile) *Image {
11881	s.File = v
11882	return s
11883}
11884
11885// SetId sets the Id field's value.
11886func (s *Image) SetId(v string) *Image {
11887	s.Id = &v
11888	return s
11889}
11890
11891// Contains an image file.
11892type ImageFile struct {
11893	_ struct{} `type:"structure"`
11894
11895	// The image file contents, represented as a base64-encoded string. The file
11896	// size must be less than 1 MB.
11897	//
11898	// Data is automatically base64 encoded/decoded by the SDK.
11899	//
11900	// Data is a required field
11901	Data []byte `locationName:"data" min:"1" type:"blob" required:"true"`
11902
11903	// The file type of the image.
11904	//
11905	// Type is a required field
11906	Type *string `locationName:"type" type:"string" required:"true" enum:"ImageFileType"`
11907}
11908
11909// String returns the string representation
11910func (s ImageFile) String() string {
11911	return awsutil.Prettify(s)
11912}
11913
11914// GoString returns the string representation
11915func (s ImageFile) GoString() string {
11916	return s.String()
11917}
11918
11919// Validate inspects the fields of the type to determine if they are valid.
11920func (s *ImageFile) Validate() error {
11921	invalidParams := request.ErrInvalidParams{Context: "ImageFile"}
11922	if s.Data == nil {
11923		invalidParams.Add(request.NewErrParamRequired("Data"))
11924	}
11925	if s.Data != nil && len(s.Data) < 1 {
11926		invalidParams.Add(request.NewErrParamMinLen("Data", 1))
11927	}
11928	if s.Type == nil {
11929		invalidParams.Add(request.NewErrParamRequired("Type"))
11930	}
11931
11932	if invalidParams.Len() > 0 {
11933		return invalidParams
11934	}
11935	return nil
11936}
11937
11938// SetData sets the Data field's value.
11939func (s *ImageFile) SetData(v []byte) *ImageFile {
11940	s.Data = v
11941	return s
11942}
11943
11944// SetType sets the Type field's value.
11945func (s *ImageFile) SetType(v string) *ImageFile {
11946	s.Type = &v
11947	return s
11948}
11949
11950// Contains an image that is uploaded to AWS IoT SiteWise and available at a
11951// URL.
11952type ImageLocation struct {
11953	_ struct{} `type:"structure"`
11954
11955	// The ID of the image.
11956	//
11957	// Id is a required field
11958	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
11959
11960	// The URL where the image is available. The URL is valid for 15 minutes so
11961	// that you can view and download the image
11962	//
11963	// Url is a required field
11964	Url *string `locationName:"url" min:"1" type:"string" required:"true"`
11965}
11966
11967// String returns the string representation
11968func (s ImageLocation) String() string {
11969	return awsutil.Prettify(s)
11970}
11971
11972// GoString returns the string representation
11973func (s ImageLocation) GoString() string {
11974	return s.String()
11975}
11976
11977// SetId sets the Id field's value.
11978func (s *ImageLocation) SetId(v string) *ImageLocation {
11979	s.Id = &v
11980	return s
11981}
11982
11983// SetUrl sets the Url field's value.
11984func (s *ImageLocation) SetUrl(v string) *ImageLocation {
11985	s.Url = &v
11986	return s
11987}
11988
11989// AWS IoT SiteWise can't process your request right now. Try again later.
11990type InternalFailureException struct {
11991	_            struct{}                  `type:"structure"`
11992	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11993
11994	Message_ *string `locationName:"message" type:"string"`
11995}
11996
11997// String returns the string representation
11998func (s InternalFailureException) String() string {
11999	return awsutil.Prettify(s)
12000}
12001
12002// GoString returns the string representation
12003func (s InternalFailureException) GoString() string {
12004	return s.String()
12005}
12006
12007func newErrorInternalFailureException(v protocol.ResponseMetadata) error {
12008	return &InternalFailureException{
12009		RespMetadata: v,
12010	}
12011}
12012
12013// Code returns the exception type name.
12014func (s *InternalFailureException) Code() string {
12015	return "InternalFailureException"
12016}
12017
12018// Message returns the exception's message.
12019func (s *InternalFailureException) Message() string {
12020	if s.Message_ != nil {
12021		return *s.Message_
12022	}
12023	return ""
12024}
12025
12026// OrigErr always returns nil, satisfies awserr.Error interface.
12027func (s *InternalFailureException) OrigErr() error {
12028	return nil
12029}
12030
12031func (s *InternalFailureException) Error() string {
12032	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12033}
12034
12035// Status code returns the HTTP status code for the request's response error.
12036func (s *InternalFailureException) StatusCode() int {
12037	return s.RespMetadata.StatusCode
12038}
12039
12040// RequestID returns the service's response RequestID for request.
12041func (s *InternalFailureException) RequestID() string {
12042	return s.RespMetadata.RequestID
12043}
12044
12045// The request isn't valid. This can occur if your request contains malformed
12046// JSON or unsupported characters. Check your request and try again.
12047type InvalidRequestException struct {
12048	_            struct{}                  `type:"structure"`
12049	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12050
12051	Message_ *string `locationName:"message" type:"string"`
12052}
12053
12054// String returns the string representation
12055func (s InvalidRequestException) String() string {
12056	return awsutil.Prettify(s)
12057}
12058
12059// GoString returns the string representation
12060func (s InvalidRequestException) GoString() string {
12061	return s.String()
12062}
12063
12064func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
12065	return &InvalidRequestException{
12066		RespMetadata: v,
12067	}
12068}
12069
12070// Code returns the exception type name.
12071func (s *InvalidRequestException) Code() string {
12072	return "InvalidRequestException"
12073}
12074
12075// Message returns the exception's message.
12076func (s *InvalidRequestException) Message() string {
12077	if s.Message_ != nil {
12078		return *s.Message_
12079	}
12080	return ""
12081}
12082
12083// OrigErr always returns nil, satisfies awserr.Error interface.
12084func (s *InvalidRequestException) OrigErr() error {
12085	return nil
12086}
12087
12088func (s *InvalidRequestException) Error() string {
12089	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12090}
12091
12092// Status code returns the HTTP status code for the request's response error.
12093func (s *InvalidRequestException) StatusCode() int {
12094	return s.RespMetadata.StatusCode
12095}
12096
12097// RequestID returns the service's response RequestID for request.
12098func (s *InvalidRequestException) RequestID() string {
12099	return s.RespMetadata.RequestID
12100}
12101
12102// You've reached the limit for a resource. For example, this can occur if you're
12103// trying to associate more than the allowed number of child assets or attempting
12104// to create more than the allowed number of properties for an asset model.
12105//
12106// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
12107// in the AWS IoT SiteWise User Guide.
12108type LimitExceededException struct {
12109	_            struct{}                  `type:"structure"`
12110	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12111
12112	Message_ *string `locationName:"message" type:"string"`
12113}
12114
12115// String returns the string representation
12116func (s LimitExceededException) String() string {
12117	return awsutil.Prettify(s)
12118}
12119
12120// GoString returns the string representation
12121func (s LimitExceededException) GoString() string {
12122	return s.String()
12123}
12124
12125func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
12126	return &LimitExceededException{
12127		RespMetadata: v,
12128	}
12129}
12130
12131// Code returns the exception type name.
12132func (s *LimitExceededException) Code() string {
12133	return "LimitExceededException"
12134}
12135
12136// Message returns the exception's message.
12137func (s *LimitExceededException) Message() string {
12138	if s.Message_ != nil {
12139		return *s.Message_
12140	}
12141	return ""
12142}
12143
12144// OrigErr always returns nil, satisfies awserr.Error interface.
12145func (s *LimitExceededException) OrigErr() error {
12146	return nil
12147}
12148
12149func (s *LimitExceededException) Error() string {
12150	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12151}
12152
12153// Status code returns the HTTP status code for the request's response error.
12154func (s *LimitExceededException) StatusCode() int {
12155	return s.RespMetadata.StatusCode
12156}
12157
12158// RequestID returns the service's response RequestID for request.
12159func (s *LimitExceededException) RequestID() string {
12160	return s.RespMetadata.RequestID
12161}
12162
12163type ListAccessPoliciesInput struct {
12164	_ struct{} `type:"structure"`
12165
12166	// The ID of the identity. This parameter is required if you specify identityType.
12167	IdentityId *string `location:"querystring" locationName:"identityId" min:"1" type:"string"`
12168
12169	// The type of identity (user or group). This parameter is required if you specify
12170	// identityId.
12171	IdentityType *string `location:"querystring" locationName:"identityType" type:"string" enum:"IdentityType"`
12172
12173	// The maximum number of results to be returned per paginated request.
12174	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12175
12176	// The token to be used for the next set of paginated results.
12177	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
12178
12179	// The ID of the resource. This parameter is required if you specify resourceType.
12180	ResourceId *string `location:"querystring" locationName:"resourceId" min:"36" type:"string"`
12181
12182	// The type of resource (portal or project). This parameter is required if you
12183	// specify resourceId.
12184	ResourceType *string `location:"querystring" locationName:"resourceType" type:"string" enum:"ResourceType"`
12185}
12186
12187// String returns the string representation
12188func (s ListAccessPoliciesInput) String() string {
12189	return awsutil.Prettify(s)
12190}
12191
12192// GoString returns the string representation
12193func (s ListAccessPoliciesInput) GoString() string {
12194	return s.String()
12195}
12196
12197// Validate inspects the fields of the type to determine if they are valid.
12198func (s *ListAccessPoliciesInput) Validate() error {
12199	invalidParams := request.ErrInvalidParams{Context: "ListAccessPoliciesInput"}
12200	if s.IdentityId != nil && len(*s.IdentityId) < 1 {
12201		invalidParams.Add(request.NewErrParamMinLen("IdentityId", 1))
12202	}
12203	if s.MaxResults != nil && *s.MaxResults < 1 {
12204		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12205	}
12206	if s.NextToken != nil && len(*s.NextToken) < 1 {
12207		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12208	}
12209	if s.ResourceId != nil && len(*s.ResourceId) < 36 {
12210		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 36))
12211	}
12212
12213	if invalidParams.Len() > 0 {
12214		return invalidParams
12215	}
12216	return nil
12217}
12218
12219// SetIdentityId sets the IdentityId field's value.
12220func (s *ListAccessPoliciesInput) SetIdentityId(v string) *ListAccessPoliciesInput {
12221	s.IdentityId = &v
12222	return s
12223}
12224
12225// SetIdentityType sets the IdentityType field's value.
12226func (s *ListAccessPoliciesInput) SetIdentityType(v string) *ListAccessPoliciesInput {
12227	s.IdentityType = &v
12228	return s
12229}
12230
12231// SetMaxResults sets the MaxResults field's value.
12232func (s *ListAccessPoliciesInput) SetMaxResults(v int64) *ListAccessPoliciesInput {
12233	s.MaxResults = &v
12234	return s
12235}
12236
12237// SetNextToken sets the NextToken field's value.
12238func (s *ListAccessPoliciesInput) SetNextToken(v string) *ListAccessPoliciesInput {
12239	s.NextToken = &v
12240	return s
12241}
12242
12243// SetResourceId sets the ResourceId field's value.
12244func (s *ListAccessPoliciesInput) SetResourceId(v string) *ListAccessPoliciesInput {
12245	s.ResourceId = &v
12246	return s
12247}
12248
12249// SetResourceType sets the ResourceType field's value.
12250func (s *ListAccessPoliciesInput) SetResourceType(v string) *ListAccessPoliciesInput {
12251	s.ResourceType = &v
12252	return s
12253}
12254
12255type ListAccessPoliciesOutput struct {
12256	_ struct{} `type:"structure"`
12257
12258	// A list that summarizes each access policy.
12259	//
12260	// AccessPolicySummaries is a required field
12261	AccessPolicySummaries []*AccessPolicySummary `locationName:"accessPolicySummaries" type:"list" required:"true"`
12262
12263	// The token for the next set of results, or null if there are no additional
12264	// results.
12265	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12266}
12267
12268// String returns the string representation
12269func (s ListAccessPoliciesOutput) String() string {
12270	return awsutil.Prettify(s)
12271}
12272
12273// GoString returns the string representation
12274func (s ListAccessPoliciesOutput) GoString() string {
12275	return s.String()
12276}
12277
12278// SetAccessPolicySummaries sets the AccessPolicySummaries field's value.
12279func (s *ListAccessPoliciesOutput) SetAccessPolicySummaries(v []*AccessPolicySummary) *ListAccessPoliciesOutput {
12280	s.AccessPolicySummaries = v
12281	return s
12282}
12283
12284// SetNextToken sets the NextToken field's value.
12285func (s *ListAccessPoliciesOutput) SetNextToken(v string) *ListAccessPoliciesOutput {
12286	s.NextToken = &v
12287	return s
12288}
12289
12290type ListAssetModelsInput struct {
12291	_ struct{} `type:"structure"`
12292
12293	// The maximum number of results to be returned per paginated request.
12294	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12295
12296	// The token to be used for the next set of paginated results.
12297	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
12298}
12299
12300// String returns the string representation
12301func (s ListAssetModelsInput) String() string {
12302	return awsutil.Prettify(s)
12303}
12304
12305// GoString returns the string representation
12306func (s ListAssetModelsInput) GoString() string {
12307	return s.String()
12308}
12309
12310// Validate inspects the fields of the type to determine if they are valid.
12311func (s *ListAssetModelsInput) Validate() error {
12312	invalidParams := request.ErrInvalidParams{Context: "ListAssetModelsInput"}
12313	if s.MaxResults != nil && *s.MaxResults < 1 {
12314		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12315	}
12316	if s.NextToken != nil && len(*s.NextToken) < 1 {
12317		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12318	}
12319
12320	if invalidParams.Len() > 0 {
12321		return invalidParams
12322	}
12323	return nil
12324}
12325
12326// SetMaxResults sets the MaxResults field's value.
12327func (s *ListAssetModelsInput) SetMaxResults(v int64) *ListAssetModelsInput {
12328	s.MaxResults = &v
12329	return s
12330}
12331
12332// SetNextToken sets the NextToken field's value.
12333func (s *ListAssetModelsInput) SetNextToken(v string) *ListAssetModelsInput {
12334	s.NextToken = &v
12335	return s
12336}
12337
12338type ListAssetModelsOutput struct {
12339	_ struct{} `type:"structure"`
12340
12341	// A list that summarizes each asset model.
12342	//
12343	// AssetModelSummaries is a required field
12344	AssetModelSummaries []*AssetModelSummary `locationName:"assetModelSummaries" type:"list" required:"true"`
12345
12346	// The token for the next set of results, or null if there are no additional
12347	// results.
12348	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12349}
12350
12351// String returns the string representation
12352func (s ListAssetModelsOutput) String() string {
12353	return awsutil.Prettify(s)
12354}
12355
12356// GoString returns the string representation
12357func (s ListAssetModelsOutput) GoString() string {
12358	return s.String()
12359}
12360
12361// SetAssetModelSummaries sets the AssetModelSummaries field's value.
12362func (s *ListAssetModelsOutput) SetAssetModelSummaries(v []*AssetModelSummary) *ListAssetModelsOutput {
12363	s.AssetModelSummaries = v
12364	return s
12365}
12366
12367// SetNextToken sets the NextToken field's value.
12368func (s *ListAssetModelsOutput) SetNextToken(v string) *ListAssetModelsOutput {
12369	s.NextToken = &v
12370	return s
12371}
12372
12373type ListAssetsInput struct {
12374	_ struct{} `type:"structure"`
12375
12376	// The ID of the asset model by which to filter the list of assets. This parameter
12377	// is required if you choose ALL for filter.
12378	AssetModelId *string `location:"querystring" locationName:"assetModelId" min:"36" type:"string"`
12379
12380	// The filter for the requested list of assets. Choose one of the following
12381	// options. Defaults to ALL.
12382	//
12383	//    * ALL – The list includes all assets for a given asset model ID. The
12384	//    assetModelId parameter is required if you filter by ALL.
12385	//
12386	//    * TOP_LEVEL – The list includes only top-level assets in the asset hierarchy
12387	//    tree.
12388	Filter *string `location:"querystring" locationName:"filter" type:"string" enum:"ListAssetsFilter"`
12389
12390	// The maximum number of results to be returned per paginated request.
12391	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12392
12393	// The token to be used for the next set of paginated results.
12394	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
12395}
12396
12397// String returns the string representation
12398func (s ListAssetsInput) String() string {
12399	return awsutil.Prettify(s)
12400}
12401
12402// GoString returns the string representation
12403func (s ListAssetsInput) GoString() string {
12404	return s.String()
12405}
12406
12407// Validate inspects the fields of the type to determine if they are valid.
12408func (s *ListAssetsInput) Validate() error {
12409	invalidParams := request.ErrInvalidParams{Context: "ListAssetsInput"}
12410	if s.AssetModelId != nil && len(*s.AssetModelId) < 36 {
12411		invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36))
12412	}
12413	if s.MaxResults != nil && *s.MaxResults < 1 {
12414		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12415	}
12416	if s.NextToken != nil && len(*s.NextToken) < 1 {
12417		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12418	}
12419
12420	if invalidParams.Len() > 0 {
12421		return invalidParams
12422	}
12423	return nil
12424}
12425
12426// SetAssetModelId sets the AssetModelId field's value.
12427func (s *ListAssetsInput) SetAssetModelId(v string) *ListAssetsInput {
12428	s.AssetModelId = &v
12429	return s
12430}
12431
12432// SetFilter sets the Filter field's value.
12433func (s *ListAssetsInput) SetFilter(v string) *ListAssetsInput {
12434	s.Filter = &v
12435	return s
12436}
12437
12438// SetMaxResults sets the MaxResults field's value.
12439func (s *ListAssetsInput) SetMaxResults(v int64) *ListAssetsInput {
12440	s.MaxResults = &v
12441	return s
12442}
12443
12444// SetNextToken sets the NextToken field's value.
12445func (s *ListAssetsInput) SetNextToken(v string) *ListAssetsInput {
12446	s.NextToken = &v
12447	return s
12448}
12449
12450type ListAssetsOutput struct {
12451	_ struct{} `type:"structure"`
12452
12453	// A list that summarizes each asset.
12454	//
12455	// AssetSummaries is a required field
12456	AssetSummaries []*AssetSummary `locationName:"assetSummaries" type:"list" required:"true"`
12457
12458	// The token for the next set of results, or null if there are no additional
12459	// results.
12460	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12461}
12462
12463// String returns the string representation
12464func (s ListAssetsOutput) String() string {
12465	return awsutil.Prettify(s)
12466}
12467
12468// GoString returns the string representation
12469func (s ListAssetsOutput) GoString() string {
12470	return s.String()
12471}
12472
12473// SetAssetSummaries sets the AssetSummaries field's value.
12474func (s *ListAssetsOutput) SetAssetSummaries(v []*AssetSummary) *ListAssetsOutput {
12475	s.AssetSummaries = v
12476	return s
12477}
12478
12479// SetNextToken sets the NextToken field's value.
12480func (s *ListAssetsOutput) SetNextToken(v string) *ListAssetsOutput {
12481	s.NextToken = &v
12482	return s
12483}
12484
12485type ListAssociatedAssetsInput struct {
12486	_ struct{} `type:"structure"`
12487
12488	// The ID of the parent asset.
12489	//
12490	// AssetId is a required field
12491	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
12492
12493	// The hierarchy ID (of the parent asset model) whose associated assets are
12494	// returned. To find a hierarchy ID, use the DescribeAsset (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAsset.html)
12495	// or DescribeAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html)
12496	// actions.
12497	//
12498	// For more information, see Asset Hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html)
12499	// in the AWS IoT SiteWise User Guide.
12500	//
12501	// HierarchyId is a required field
12502	HierarchyId *string `location:"querystring" locationName:"hierarchyId" min:"36" type:"string" required:"true"`
12503
12504	// The maximum number of results to be returned per paginated request.
12505	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12506
12507	// The token to be used for the next set of paginated results.
12508	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
12509}
12510
12511// String returns the string representation
12512func (s ListAssociatedAssetsInput) String() string {
12513	return awsutil.Prettify(s)
12514}
12515
12516// GoString returns the string representation
12517func (s ListAssociatedAssetsInput) GoString() string {
12518	return s.String()
12519}
12520
12521// Validate inspects the fields of the type to determine if they are valid.
12522func (s *ListAssociatedAssetsInput) Validate() error {
12523	invalidParams := request.ErrInvalidParams{Context: "ListAssociatedAssetsInput"}
12524	if s.AssetId == nil {
12525		invalidParams.Add(request.NewErrParamRequired("AssetId"))
12526	}
12527	if s.AssetId != nil && len(*s.AssetId) < 36 {
12528		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
12529	}
12530	if s.HierarchyId == nil {
12531		invalidParams.Add(request.NewErrParamRequired("HierarchyId"))
12532	}
12533	if s.HierarchyId != nil && len(*s.HierarchyId) < 36 {
12534		invalidParams.Add(request.NewErrParamMinLen("HierarchyId", 36))
12535	}
12536	if s.MaxResults != nil && *s.MaxResults < 1 {
12537		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12538	}
12539	if s.NextToken != nil && len(*s.NextToken) < 1 {
12540		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12541	}
12542
12543	if invalidParams.Len() > 0 {
12544		return invalidParams
12545	}
12546	return nil
12547}
12548
12549// SetAssetId sets the AssetId field's value.
12550func (s *ListAssociatedAssetsInput) SetAssetId(v string) *ListAssociatedAssetsInput {
12551	s.AssetId = &v
12552	return s
12553}
12554
12555// SetHierarchyId sets the HierarchyId field's value.
12556func (s *ListAssociatedAssetsInput) SetHierarchyId(v string) *ListAssociatedAssetsInput {
12557	s.HierarchyId = &v
12558	return s
12559}
12560
12561// SetMaxResults sets the MaxResults field's value.
12562func (s *ListAssociatedAssetsInput) SetMaxResults(v int64) *ListAssociatedAssetsInput {
12563	s.MaxResults = &v
12564	return s
12565}
12566
12567// SetNextToken sets the NextToken field's value.
12568func (s *ListAssociatedAssetsInput) SetNextToken(v string) *ListAssociatedAssetsInput {
12569	s.NextToken = &v
12570	return s
12571}
12572
12573type ListAssociatedAssetsOutput struct {
12574	_ struct{} `type:"structure"`
12575
12576	// A list that summarizes the associated assets.
12577	//
12578	// AssetSummaries is a required field
12579	AssetSummaries []*AssociatedAssetsSummary `locationName:"assetSummaries" type:"list" required:"true"`
12580
12581	// The token for the next set of results, or null if there are no additional
12582	// results.
12583	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12584}
12585
12586// String returns the string representation
12587func (s ListAssociatedAssetsOutput) String() string {
12588	return awsutil.Prettify(s)
12589}
12590
12591// GoString returns the string representation
12592func (s ListAssociatedAssetsOutput) GoString() string {
12593	return s.String()
12594}
12595
12596// SetAssetSummaries sets the AssetSummaries field's value.
12597func (s *ListAssociatedAssetsOutput) SetAssetSummaries(v []*AssociatedAssetsSummary) *ListAssociatedAssetsOutput {
12598	s.AssetSummaries = v
12599	return s
12600}
12601
12602// SetNextToken sets the NextToken field's value.
12603func (s *ListAssociatedAssetsOutput) SetNextToken(v string) *ListAssociatedAssetsOutput {
12604	s.NextToken = &v
12605	return s
12606}
12607
12608type ListDashboardsInput struct {
12609	_ struct{} `type:"structure"`
12610
12611	// The maximum number of results to be returned per paginated request.
12612	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12613
12614	// The token to be used for the next set of paginated results.
12615	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
12616
12617	// The ID of the project.
12618	//
12619	// ProjectId is a required field
12620	ProjectId *string `location:"querystring" locationName:"projectId" min:"36" type:"string" required:"true"`
12621}
12622
12623// String returns the string representation
12624func (s ListDashboardsInput) String() string {
12625	return awsutil.Prettify(s)
12626}
12627
12628// GoString returns the string representation
12629func (s ListDashboardsInput) GoString() string {
12630	return s.String()
12631}
12632
12633// Validate inspects the fields of the type to determine if they are valid.
12634func (s *ListDashboardsInput) Validate() error {
12635	invalidParams := request.ErrInvalidParams{Context: "ListDashboardsInput"}
12636	if s.MaxResults != nil && *s.MaxResults < 1 {
12637		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12638	}
12639	if s.NextToken != nil && len(*s.NextToken) < 1 {
12640		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12641	}
12642	if s.ProjectId == nil {
12643		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
12644	}
12645	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
12646		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
12647	}
12648
12649	if invalidParams.Len() > 0 {
12650		return invalidParams
12651	}
12652	return nil
12653}
12654
12655// SetMaxResults sets the MaxResults field's value.
12656func (s *ListDashboardsInput) SetMaxResults(v int64) *ListDashboardsInput {
12657	s.MaxResults = &v
12658	return s
12659}
12660
12661// SetNextToken sets the NextToken field's value.
12662func (s *ListDashboardsInput) SetNextToken(v string) *ListDashboardsInput {
12663	s.NextToken = &v
12664	return s
12665}
12666
12667// SetProjectId sets the ProjectId field's value.
12668func (s *ListDashboardsInput) SetProjectId(v string) *ListDashboardsInput {
12669	s.ProjectId = &v
12670	return s
12671}
12672
12673type ListDashboardsOutput struct {
12674	_ struct{} `type:"structure"`
12675
12676	// A list that summarizes each dashboard in the project.
12677	//
12678	// DashboardSummaries is a required field
12679	DashboardSummaries []*DashboardSummary `locationName:"dashboardSummaries" type:"list" required:"true"`
12680
12681	// The token for the next set of results, or null if there are no additional
12682	// results.
12683	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12684}
12685
12686// String returns the string representation
12687func (s ListDashboardsOutput) String() string {
12688	return awsutil.Prettify(s)
12689}
12690
12691// GoString returns the string representation
12692func (s ListDashboardsOutput) GoString() string {
12693	return s.String()
12694}
12695
12696// SetDashboardSummaries sets the DashboardSummaries field's value.
12697func (s *ListDashboardsOutput) SetDashboardSummaries(v []*DashboardSummary) *ListDashboardsOutput {
12698	s.DashboardSummaries = v
12699	return s
12700}
12701
12702// SetNextToken sets the NextToken field's value.
12703func (s *ListDashboardsOutput) SetNextToken(v string) *ListDashboardsOutput {
12704	s.NextToken = &v
12705	return s
12706}
12707
12708type ListGatewaysInput struct {
12709	_ struct{} `type:"structure"`
12710
12711	// The maximum number of results to be returned per paginated request.
12712	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12713
12714	// The token to be used for the next set of paginated results.
12715	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
12716}
12717
12718// String returns the string representation
12719func (s ListGatewaysInput) String() string {
12720	return awsutil.Prettify(s)
12721}
12722
12723// GoString returns the string representation
12724func (s ListGatewaysInput) GoString() string {
12725	return s.String()
12726}
12727
12728// Validate inspects the fields of the type to determine if they are valid.
12729func (s *ListGatewaysInput) Validate() error {
12730	invalidParams := request.ErrInvalidParams{Context: "ListGatewaysInput"}
12731	if s.MaxResults != nil && *s.MaxResults < 1 {
12732		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12733	}
12734	if s.NextToken != nil && len(*s.NextToken) < 1 {
12735		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12736	}
12737
12738	if invalidParams.Len() > 0 {
12739		return invalidParams
12740	}
12741	return nil
12742}
12743
12744// SetMaxResults sets the MaxResults field's value.
12745func (s *ListGatewaysInput) SetMaxResults(v int64) *ListGatewaysInput {
12746	s.MaxResults = &v
12747	return s
12748}
12749
12750// SetNextToken sets the NextToken field's value.
12751func (s *ListGatewaysInput) SetNextToken(v string) *ListGatewaysInput {
12752	s.NextToken = &v
12753	return s
12754}
12755
12756type ListGatewaysOutput struct {
12757	_ struct{} `type:"structure"`
12758
12759	// A list that summarizes each gateway.
12760	//
12761	// GatewaySummaries is a required field
12762	GatewaySummaries []*GatewaySummary `locationName:"gatewaySummaries" type:"list" required:"true"`
12763
12764	// The token for the next set of results, or null if there are no additional
12765	// results.
12766	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12767}
12768
12769// String returns the string representation
12770func (s ListGatewaysOutput) String() string {
12771	return awsutil.Prettify(s)
12772}
12773
12774// GoString returns the string representation
12775func (s ListGatewaysOutput) GoString() string {
12776	return s.String()
12777}
12778
12779// SetGatewaySummaries sets the GatewaySummaries field's value.
12780func (s *ListGatewaysOutput) SetGatewaySummaries(v []*GatewaySummary) *ListGatewaysOutput {
12781	s.GatewaySummaries = v
12782	return s
12783}
12784
12785// SetNextToken sets the NextToken field's value.
12786func (s *ListGatewaysOutput) SetNextToken(v string) *ListGatewaysOutput {
12787	s.NextToken = &v
12788	return s
12789}
12790
12791type ListPortalsInput struct {
12792	_ struct{} `type:"structure"`
12793
12794	// The maximum number of results to be returned per paginated request.
12795	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12796
12797	// The token to be used for the next set of paginated results.
12798	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
12799}
12800
12801// String returns the string representation
12802func (s ListPortalsInput) String() string {
12803	return awsutil.Prettify(s)
12804}
12805
12806// GoString returns the string representation
12807func (s ListPortalsInput) GoString() string {
12808	return s.String()
12809}
12810
12811// Validate inspects the fields of the type to determine if they are valid.
12812func (s *ListPortalsInput) Validate() error {
12813	invalidParams := request.ErrInvalidParams{Context: "ListPortalsInput"}
12814	if s.MaxResults != nil && *s.MaxResults < 1 {
12815		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12816	}
12817	if s.NextToken != nil && len(*s.NextToken) < 1 {
12818		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12819	}
12820
12821	if invalidParams.Len() > 0 {
12822		return invalidParams
12823	}
12824	return nil
12825}
12826
12827// SetMaxResults sets the MaxResults field's value.
12828func (s *ListPortalsInput) SetMaxResults(v int64) *ListPortalsInput {
12829	s.MaxResults = &v
12830	return s
12831}
12832
12833// SetNextToken sets the NextToken field's value.
12834func (s *ListPortalsInput) SetNextToken(v string) *ListPortalsInput {
12835	s.NextToken = &v
12836	return s
12837}
12838
12839type ListPortalsOutput struct {
12840	_ struct{} `type:"structure"`
12841
12842	// The token for the next set of results, or null if there are no additional
12843	// results.
12844	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12845
12846	// A list that summarizes each portal.
12847	PortalSummaries []*PortalSummary `locationName:"portalSummaries" type:"list"`
12848}
12849
12850// String returns the string representation
12851func (s ListPortalsOutput) String() string {
12852	return awsutil.Prettify(s)
12853}
12854
12855// GoString returns the string representation
12856func (s ListPortalsOutput) GoString() string {
12857	return s.String()
12858}
12859
12860// SetNextToken sets the NextToken field's value.
12861func (s *ListPortalsOutput) SetNextToken(v string) *ListPortalsOutput {
12862	s.NextToken = &v
12863	return s
12864}
12865
12866// SetPortalSummaries sets the PortalSummaries field's value.
12867func (s *ListPortalsOutput) SetPortalSummaries(v []*PortalSummary) *ListPortalsOutput {
12868	s.PortalSummaries = v
12869	return s
12870}
12871
12872type ListProjectAssetsInput struct {
12873	_ struct{} `type:"structure"`
12874
12875	// The maximum number of results to be returned per paginated request.
12876	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12877
12878	// The token to be used for the next set of paginated results.
12879	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
12880
12881	// The ID of the project.
12882	//
12883	// ProjectId is a required field
12884	ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"`
12885}
12886
12887// String returns the string representation
12888func (s ListProjectAssetsInput) String() string {
12889	return awsutil.Prettify(s)
12890}
12891
12892// GoString returns the string representation
12893func (s ListProjectAssetsInput) GoString() string {
12894	return s.String()
12895}
12896
12897// Validate inspects the fields of the type to determine if they are valid.
12898func (s *ListProjectAssetsInput) Validate() error {
12899	invalidParams := request.ErrInvalidParams{Context: "ListProjectAssetsInput"}
12900	if s.MaxResults != nil && *s.MaxResults < 1 {
12901		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12902	}
12903	if s.NextToken != nil && len(*s.NextToken) < 1 {
12904		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12905	}
12906	if s.ProjectId == nil {
12907		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
12908	}
12909	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
12910		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
12911	}
12912
12913	if invalidParams.Len() > 0 {
12914		return invalidParams
12915	}
12916	return nil
12917}
12918
12919// SetMaxResults sets the MaxResults field's value.
12920func (s *ListProjectAssetsInput) SetMaxResults(v int64) *ListProjectAssetsInput {
12921	s.MaxResults = &v
12922	return s
12923}
12924
12925// SetNextToken sets the NextToken field's value.
12926func (s *ListProjectAssetsInput) SetNextToken(v string) *ListProjectAssetsInput {
12927	s.NextToken = &v
12928	return s
12929}
12930
12931// SetProjectId sets the ProjectId field's value.
12932func (s *ListProjectAssetsInput) SetProjectId(v string) *ListProjectAssetsInput {
12933	s.ProjectId = &v
12934	return s
12935}
12936
12937type ListProjectAssetsOutput struct {
12938	_ struct{} `type:"structure"`
12939
12940	// A list that contains the IDs of each asset associated with the project.
12941	//
12942	// AssetIds is a required field
12943	AssetIds []*string `locationName:"assetIds" type:"list" required:"true"`
12944
12945	// The token for the next set of results, or null if there are no additional
12946	// results.
12947	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12948}
12949
12950// String returns the string representation
12951func (s ListProjectAssetsOutput) String() string {
12952	return awsutil.Prettify(s)
12953}
12954
12955// GoString returns the string representation
12956func (s ListProjectAssetsOutput) GoString() string {
12957	return s.String()
12958}
12959
12960// SetAssetIds sets the AssetIds field's value.
12961func (s *ListProjectAssetsOutput) SetAssetIds(v []*string) *ListProjectAssetsOutput {
12962	s.AssetIds = v
12963	return s
12964}
12965
12966// SetNextToken sets the NextToken field's value.
12967func (s *ListProjectAssetsOutput) SetNextToken(v string) *ListProjectAssetsOutput {
12968	s.NextToken = &v
12969	return s
12970}
12971
12972type ListProjectsInput struct {
12973	_ struct{} `type:"structure"`
12974
12975	// The maximum number of results to be returned per paginated request.
12976	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12977
12978	// The token to be used for the next set of paginated results.
12979	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
12980
12981	// The ID of the portal.
12982	//
12983	// PortalId is a required field
12984	PortalId *string `location:"querystring" locationName:"portalId" min:"36" type:"string" required:"true"`
12985}
12986
12987// String returns the string representation
12988func (s ListProjectsInput) String() string {
12989	return awsutil.Prettify(s)
12990}
12991
12992// GoString returns the string representation
12993func (s ListProjectsInput) GoString() string {
12994	return s.String()
12995}
12996
12997// Validate inspects the fields of the type to determine if they are valid.
12998func (s *ListProjectsInput) Validate() error {
12999	invalidParams := request.ErrInvalidParams{Context: "ListProjectsInput"}
13000	if s.MaxResults != nil && *s.MaxResults < 1 {
13001		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
13002	}
13003	if s.NextToken != nil && len(*s.NextToken) < 1 {
13004		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
13005	}
13006	if s.PortalId == nil {
13007		invalidParams.Add(request.NewErrParamRequired("PortalId"))
13008	}
13009	if s.PortalId != nil && len(*s.PortalId) < 36 {
13010		invalidParams.Add(request.NewErrParamMinLen("PortalId", 36))
13011	}
13012
13013	if invalidParams.Len() > 0 {
13014		return invalidParams
13015	}
13016	return nil
13017}
13018
13019// SetMaxResults sets the MaxResults field's value.
13020func (s *ListProjectsInput) SetMaxResults(v int64) *ListProjectsInput {
13021	s.MaxResults = &v
13022	return s
13023}
13024
13025// SetNextToken sets the NextToken field's value.
13026func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput {
13027	s.NextToken = &v
13028	return s
13029}
13030
13031// SetPortalId sets the PortalId field's value.
13032func (s *ListProjectsInput) SetPortalId(v string) *ListProjectsInput {
13033	s.PortalId = &v
13034	return s
13035}
13036
13037type ListProjectsOutput struct {
13038	_ struct{} `type:"structure"`
13039
13040	// The token for the next set of results, or null if there are no additional
13041	// results.
13042	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
13043
13044	// A list that summarizes each project in the portal.
13045	//
13046	// ProjectSummaries is a required field
13047	ProjectSummaries []*ProjectSummary `locationName:"projectSummaries" type:"list" required:"true"`
13048}
13049
13050// String returns the string representation
13051func (s ListProjectsOutput) String() string {
13052	return awsutil.Prettify(s)
13053}
13054
13055// GoString returns the string representation
13056func (s ListProjectsOutput) GoString() string {
13057	return s.String()
13058}
13059
13060// SetNextToken sets the NextToken field's value.
13061func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput {
13062	s.NextToken = &v
13063	return s
13064}
13065
13066// SetProjectSummaries sets the ProjectSummaries field's value.
13067func (s *ListProjectsOutput) SetProjectSummaries(v []*ProjectSummary) *ListProjectsOutput {
13068	s.ProjectSummaries = v
13069	return s
13070}
13071
13072type ListTagsForResourceInput struct {
13073	_ struct{} `type:"structure"`
13074
13075	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
13076	// of the resource.
13077	//
13078	// ResourceArn is a required field
13079	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
13080}
13081
13082// String returns the string representation
13083func (s ListTagsForResourceInput) String() string {
13084	return awsutil.Prettify(s)
13085}
13086
13087// GoString returns the string representation
13088func (s ListTagsForResourceInput) GoString() string {
13089	return s.String()
13090}
13091
13092// Validate inspects the fields of the type to determine if they are valid.
13093func (s *ListTagsForResourceInput) Validate() error {
13094	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
13095	if s.ResourceArn == nil {
13096		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
13097	}
13098	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
13099		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
13100	}
13101
13102	if invalidParams.Len() > 0 {
13103		return invalidParams
13104	}
13105	return nil
13106}
13107
13108// SetResourceArn sets the ResourceArn field's value.
13109func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
13110	s.ResourceArn = &v
13111	return s
13112}
13113
13114type ListTagsForResourceOutput struct {
13115	_ struct{} `type:"structure"`
13116
13117	// The list of key-value pairs that contain metadata for the resource. For more
13118	// information, see Tagging your AWS IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
13119	// in the AWS IoT SiteWise User Guide.
13120	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
13121}
13122
13123// String returns the string representation
13124func (s ListTagsForResourceOutput) String() string {
13125	return awsutil.Prettify(s)
13126}
13127
13128// GoString returns the string representation
13129func (s ListTagsForResourceOutput) GoString() string {
13130	return s.String()
13131}
13132
13133// SetTags sets the Tags field's value.
13134func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
13135	s.Tags = v
13136	return s
13137}
13138
13139// Contains logging options.
13140type LoggingOptions struct {
13141	_ struct{} `type:"structure"`
13142
13143	// The AWS IoT SiteWise logging verbosity level.
13144	//
13145	// Level is a required field
13146	Level *string `locationName:"level" type:"string" required:"true" enum:"LoggingLevel"`
13147}
13148
13149// String returns the string representation
13150func (s LoggingOptions) String() string {
13151	return awsutil.Prettify(s)
13152}
13153
13154// GoString returns the string representation
13155func (s LoggingOptions) GoString() string {
13156	return s.String()
13157}
13158
13159// Validate inspects the fields of the type to determine if they are valid.
13160func (s *LoggingOptions) Validate() error {
13161	invalidParams := request.ErrInvalidParams{Context: "LoggingOptions"}
13162	if s.Level == nil {
13163		invalidParams.Add(request.NewErrParamRequired("Level"))
13164	}
13165
13166	if invalidParams.Len() > 0 {
13167		return invalidParams
13168	}
13169	return nil
13170}
13171
13172// SetLevel sets the Level field's value.
13173func (s *LoggingOptions) SetLevel(v string) *LoggingOptions {
13174	s.Level = &v
13175	return s
13176}
13177
13178// Contains an asset measurement property. This structure is empty. For more
13179// information, see Measurements (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html#measurements)
13180// in the AWS IoT SiteWise User Guide.
13181type Measurement struct {
13182	_ struct{} `type:"structure"`
13183}
13184
13185// String returns the string representation
13186func (s Measurement) String() string {
13187	return awsutil.Prettify(s)
13188}
13189
13190// GoString returns the string representation
13191func (s Measurement) GoString() string {
13192	return s.String()
13193}
13194
13195// Contains an asset metric property. With metrics, you can calculate aggregate
13196// functions, such as an average, maximum, or minimum, as specified through
13197// an expression. A metric maps several values to a single value (such as a
13198// sum).
13199//
13200// The maximum number of dependent/cascading variables used in any one metric
13201// calculation is 10. Therefore, a root metric can have up to 10 cascading metrics
13202// in its computational dependency tree. Additionally, a metric can only have
13203// a data type of DOUBLE and consume properties with data types of INTEGER or
13204// DOUBLE.
13205//
13206// For more information, see Metrics (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html#metrics)
13207// in the AWS IoT SiteWise User Guide.
13208type Metric struct {
13209	_ struct{} `type:"structure"`
13210
13211	// The mathematical expression that defines the metric aggregation function.
13212	// You can specify up to 10 variables per expression. You can specify up to
13213	// 10 functions per expression.
13214	//
13215	// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
13216	// in the AWS IoT SiteWise User Guide.
13217	//
13218	// Expression is a required field
13219	Expression *string `locationName:"expression" min:"1" type:"string" required:"true"`
13220
13221	// The list of variables used in the expression.
13222	//
13223	// Variables is a required field
13224	Variables []*ExpressionVariable `locationName:"variables" type:"list" required:"true"`
13225
13226	// The window (time interval) over which AWS IoT SiteWise computes the metric's
13227	// aggregation expression. AWS IoT SiteWise computes one data point per window.
13228	//
13229	// Window is a required field
13230	Window *MetricWindow `locationName:"window" type:"structure" required:"true"`
13231}
13232
13233// String returns the string representation
13234func (s Metric) String() string {
13235	return awsutil.Prettify(s)
13236}
13237
13238// GoString returns the string representation
13239func (s Metric) GoString() string {
13240	return s.String()
13241}
13242
13243// Validate inspects the fields of the type to determine if they are valid.
13244func (s *Metric) Validate() error {
13245	invalidParams := request.ErrInvalidParams{Context: "Metric"}
13246	if s.Expression == nil {
13247		invalidParams.Add(request.NewErrParamRequired("Expression"))
13248	}
13249	if s.Expression != nil && len(*s.Expression) < 1 {
13250		invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
13251	}
13252	if s.Variables == nil {
13253		invalidParams.Add(request.NewErrParamRequired("Variables"))
13254	}
13255	if s.Window == nil {
13256		invalidParams.Add(request.NewErrParamRequired("Window"))
13257	}
13258	if s.Variables != nil {
13259		for i, v := range s.Variables {
13260			if v == nil {
13261				continue
13262			}
13263			if err := v.Validate(); err != nil {
13264				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Variables", i), err.(request.ErrInvalidParams))
13265			}
13266		}
13267	}
13268	if s.Window != nil {
13269		if err := s.Window.Validate(); err != nil {
13270			invalidParams.AddNested("Window", err.(request.ErrInvalidParams))
13271		}
13272	}
13273
13274	if invalidParams.Len() > 0 {
13275		return invalidParams
13276	}
13277	return nil
13278}
13279
13280// SetExpression sets the Expression field's value.
13281func (s *Metric) SetExpression(v string) *Metric {
13282	s.Expression = &v
13283	return s
13284}
13285
13286// SetVariables sets the Variables field's value.
13287func (s *Metric) SetVariables(v []*ExpressionVariable) *Metric {
13288	s.Variables = v
13289	return s
13290}
13291
13292// SetWindow sets the Window field's value.
13293func (s *Metric) SetWindow(v *MetricWindow) *Metric {
13294	s.Window = v
13295	return s
13296}
13297
13298// Contains a time interval window used for data aggregate computations (for
13299// example, average, sum, count, and so on).
13300type MetricWindow struct {
13301	_ struct{} `type:"structure"`
13302
13303	// The tumbling time interval window.
13304	Tumbling *TumblingWindow `locationName:"tumbling" type:"structure"`
13305}
13306
13307// String returns the string representation
13308func (s MetricWindow) String() string {
13309	return awsutil.Prettify(s)
13310}
13311
13312// GoString returns the string representation
13313func (s MetricWindow) GoString() string {
13314	return s.String()
13315}
13316
13317// Validate inspects the fields of the type to determine if they are valid.
13318func (s *MetricWindow) Validate() error {
13319	invalidParams := request.ErrInvalidParams{Context: "MetricWindow"}
13320	if s.Tumbling != nil {
13321		if err := s.Tumbling.Validate(); err != nil {
13322			invalidParams.AddNested("Tumbling", err.(request.ErrInvalidParams))
13323		}
13324	}
13325
13326	if invalidParams.Len() > 0 {
13327		return invalidParams
13328	}
13329	return nil
13330}
13331
13332// SetTumbling sets the Tumbling field's value.
13333func (s *MetricWindow) SetTumbling(v *TumblingWindow) *MetricWindow {
13334	s.Tumbling = v
13335	return s
13336}
13337
13338// Contains AWS IoT SiteWise Monitor error details.
13339type MonitorErrorDetails struct {
13340	_ struct{} `type:"structure"`
13341
13342	// The error code.
13343	Code *string `locationName:"code" type:"string" enum:"MonitorErrorCode"`
13344
13345	// The error message.
13346	Message *string `locationName:"message" type:"string"`
13347}
13348
13349// String returns the string representation
13350func (s MonitorErrorDetails) String() string {
13351	return awsutil.Prettify(s)
13352}
13353
13354// GoString returns the string representation
13355func (s MonitorErrorDetails) GoString() string {
13356	return s.String()
13357}
13358
13359// SetCode sets the Code field's value.
13360func (s *MonitorErrorDetails) SetCode(v string) *MonitorErrorDetails {
13361	s.Code = &v
13362	return s
13363}
13364
13365// SetMessage sets the Message field's value.
13366func (s *MonitorErrorDetails) SetMessage(v string) *MonitorErrorDetails {
13367	s.Message = &v
13368	return s
13369}
13370
13371// Identifies an AWS IoT SiteWise Monitor portal.
13372type PortalResource struct {
13373	_ struct{} `type:"structure"`
13374
13375	// The ID of the portal.
13376	//
13377	// Id is a required field
13378	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
13379}
13380
13381// String returns the string representation
13382func (s PortalResource) String() string {
13383	return awsutil.Prettify(s)
13384}
13385
13386// GoString returns the string representation
13387func (s PortalResource) GoString() string {
13388	return s.String()
13389}
13390
13391// Validate inspects the fields of the type to determine if they are valid.
13392func (s *PortalResource) Validate() error {
13393	invalidParams := request.ErrInvalidParams{Context: "PortalResource"}
13394	if s.Id == nil {
13395		invalidParams.Add(request.NewErrParamRequired("Id"))
13396	}
13397	if s.Id != nil && len(*s.Id) < 36 {
13398		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
13399	}
13400
13401	if invalidParams.Len() > 0 {
13402		return invalidParams
13403	}
13404	return nil
13405}
13406
13407// SetId sets the Id field's value.
13408func (s *PortalResource) SetId(v string) *PortalResource {
13409	s.Id = &v
13410	return s
13411}
13412
13413// Contains information about the current status of a portal.
13414type PortalStatus struct {
13415	_ struct{} `type:"structure"`
13416
13417	// Contains associated error information, if any.
13418	Error *MonitorErrorDetails `locationName:"error" type:"structure"`
13419
13420	// The current state of the portal.
13421	//
13422	// State is a required field
13423	State *string `locationName:"state" type:"string" required:"true" enum:"PortalState"`
13424}
13425
13426// String returns the string representation
13427func (s PortalStatus) String() string {
13428	return awsutil.Prettify(s)
13429}
13430
13431// GoString returns the string representation
13432func (s PortalStatus) GoString() string {
13433	return s.String()
13434}
13435
13436// SetError sets the Error field's value.
13437func (s *PortalStatus) SetError(v *MonitorErrorDetails) *PortalStatus {
13438	s.Error = v
13439	return s
13440}
13441
13442// SetState sets the State field's value.
13443func (s *PortalStatus) SetState(v string) *PortalStatus {
13444	s.State = &v
13445	return s
13446}
13447
13448// Contains a portal summary.
13449type PortalSummary struct {
13450	_ struct{} `type:"structure"`
13451
13452	// The date the portal was created, in Unix epoch time.
13453	CreationDate *time.Time `locationName:"creationDate" type:"timestamp"`
13454
13455	// The portal's description.
13456	Description *string `locationName:"description" min:"1" type:"string"`
13457
13458	// The ID of the portal.
13459	//
13460	// Id is a required field
13461	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
13462
13463	// The date the portal was last updated, in Unix epoch time.
13464	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp"`
13465
13466	// The name of the portal.
13467	//
13468	// Name is a required field
13469	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
13470
13471	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
13472	// of the service role that allows the portal's users to access your AWS IoT
13473	// SiteWise resources on your behalf. For more information, see Using service
13474	// roles for AWS IoT SiteWise Monitor (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html)
13475	// in the AWS IoT SiteWise User Guide.
13476	RoleArn *string `locationName:"roleArn" min:"1" type:"string"`
13477
13478	// The public root URL for the AWS IoT AWS IoT SiteWise Monitor application
13479	// portal.
13480	//
13481	// StartUrl is a required field
13482	StartUrl *string `locationName:"startUrl" min:"1" type:"string" required:"true"`
13483}
13484
13485// String returns the string representation
13486func (s PortalSummary) String() string {
13487	return awsutil.Prettify(s)
13488}
13489
13490// GoString returns the string representation
13491func (s PortalSummary) GoString() string {
13492	return s.String()
13493}
13494
13495// SetCreationDate sets the CreationDate field's value.
13496func (s *PortalSummary) SetCreationDate(v time.Time) *PortalSummary {
13497	s.CreationDate = &v
13498	return s
13499}
13500
13501// SetDescription sets the Description field's value.
13502func (s *PortalSummary) SetDescription(v string) *PortalSummary {
13503	s.Description = &v
13504	return s
13505}
13506
13507// SetId sets the Id field's value.
13508func (s *PortalSummary) SetId(v string) *PortalSummary {
13509	s.Id = &v
13510	return s
13511}
13512
13513// SetLastUpdateDate sets the LastUpdateDate field's value.
13514func (s *PortalSummary) SetLastUpdateDate(v time.Time) *PortalSummary {
13515	s.LastUpdateDate = &v
13516	return s
13517}
13518
13519// SetName sets the Name field's value.
13520func (s *PortalSummary) SetName(v string) *PortalSummary {
13521	s.Name = &v
13522	return s
13523}
13524
13525// SetRoleArn sets the RoleArn field's value.
13526func (s *PortalSummary) SetRoleArn(v string) *PortalSummary {
13527	s.RoleArn = &v
13528	return s
13529}
13530
13531// SetStartUrl sets the StartUrl field's value.
13532func (s *PortalSummary) SetStartUrl(v string) *PortalSummary {
13533	s.StartUrl = &v
13534	return s
13535}
13536
13537// Identifies a specific AWS IoT SiteWise Monitor project.
13538type ProjectResource struct {
13539	_ struct{} `type:"structure"`
13540
13541	// The ID of the project.
13542	//
13543	// Id is a required field
13544	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
13545}
13546
13547// String returns the string representation
13548func (s ProjectResource) String() string {
13549	return awsutil.Prettify(s)
13550}
13551
13552// GoString returns the string representation
13553func (s ProjectResource) GoString() string {
13554	return s.String()
13555}
13556
13557// Validate inspects the fields of the type to determine if they are valid.
13558func (s *ProjectResource) Validate() error {
13559	invalidParams := request.ErrInvalidParams{Context: "ProjectResource"}
13560	if s.Id == nil {
13561		invalidParams.Add(request.NewErrParamRequired("Id"))
13562	}
13563	if s.Id != nil && len(*s.Id) < 36 {
13564		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
13565	}
13566
13567	if invalidParams.Len() > 0 {
13568		return invalidParams
13569	}
13570	return nil
13571}
13572
13573// SetId sets the Id field's value.
13574func (s *ProjectResource) SetId(v string) *ProjectResource {
13575	s.Id = &v
13576	return s
13577}
13578
13579// Contains project summary information.
13580type ProjectSummary struct {
13581	_ struct{} `type:"structure"`
13582
13583	// The date the project was created, in Unix epoch time.
13584	CreationDate *time.Time `locationName:"creationDate" type:"timestamp"`
13585
13586	// The project's description.
13587	Description *string `locationName:"description" min:"1" type:"string"`
13588
13589	// The ID of the project.
13590	//
13591	// Id is a required field
13592	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
13593
13594	// The date the project was last updated, in Unix epoch time.
13595	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp"`
13596
13597	// The name of the project.
13598	//
13599	// Name is a required field
13600	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
13601}
13602
13603// String returns the string representation
13604func (s ProjectSummary) String() string {
13605	return awsutil.Prettify(s)
13606}
13607
13608// GoString returns the string representation
13609func (s ProjectSummary) GoString() string {
13610	return s.String()
13611}
13612
13613// SetCreationDate sets the CreationDate field's value.
13614func (s *ProjectSummary) SetCreationDate(v time.Time) *ProjectSummary {
13615	s.CreationDate = &v
13616	return s
13617}
13618
13619// SetDescription sets the Description field's value.
13620func (s *ProjectSummary) SetDescription(v string) *ProjectSummary {
13621	s.Description = &v
13622	return s
13623}
13624
13625// SetId sets the Id field's value.
13626func (s *ProjectSummary) SetId(v string) *ProjectSummary {
13627	s.Id = &v
13628	return s
13629}
13630
13631// SetLastUpdateDate sets the LastUpdateDate field's value.
13632func (s *ProjectSummary) SetLastUpdateDate(v time.Time) *ProjectSummary {
13633	s.LastUpdateDate = &v
13634	return s
13635}
13636
13637// SetName sets the Name field's value.
13638func (s *ProjectSummary) SetName(v string) *ProjectSummary {
13639	s.Name = &v
13640	return s
13641}
13642
13643// Contains asset property information.
13644type Property struct {
13645	_ struct{} `type:"structure"`
13646
13647	// The property alias that identifies the property, such as an OPC-UA server
13648	// data stream path (for example, /company/windfarm/3/turbine/7/temperature).
13649	// For more information, see Mapping Industrial Data Streams to Asset Properties
13650	// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
13651	// in the AWS IoT SiteWise User Guide.
13652	Alias *string `locationName:"alias" min:"1" type:"string"`
13653
13654	// The property data type.
13655	//
13656	// DataType is a required field
13657	DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"`
13658
13659	// The ID of the asset property.
13660	//
13661	// Id is a required field
13662	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
13663
13664	// The name of the property.
13665	//
13666	// Name is a required field
13667	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
13668
13669	// The asset property's notification topic and state. For more information,
13670	// see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html)
13671	Notification *PropertyNotification `locationName:"notification" type:"structure"`
13672
13673	// The property type (see PropertyType). A property contains one type.
13674	Type *PropertyType `locationName:"type" type:"structure"`
13675
13676	// The unit (such as Newtons or RPM) of the asset property.
13677	Unit *string `locationName:"unit" min:"1" type:"string"`
13678}
13679
13680// String returns the string representation
13681func (s Property) String() string {
13682	return awsutil.Prettify(s)
13683}
13684
13685// GoString returns the string representation
13686func (s Property) GoString() string {
13687	return s.String()
13688}
13689
13690// SetAlias sets the Alias field's value.
13691func (s *Property) SetAlias(v string) *Property {
13692	s.Alias = &v
13693	return s
13694}
13695
13696// SetDataType sets the DataType field's value.
13697func (s *Property) SetDataType(v string) *Property {
13698	s.DataType = &v
13699	return s
13700}
13701
13702// SetId sets the Id field's value.
13703func (s *Property) SetId(v string) *Property {
13704	s.Id = &v
13705	return s
13706}
13707
13708// SetName sets the Name field's value.
13709func (s *Property) SetName(v string) *Property {
13710	s.Name = &v
13711	return s
13712}
13713
13714// SetNotification sets the Notification field's value.
13715func (s *Property) SetNotification(v *PropertyNotification) *Property {
13716	s.Notification = v
13717	return s
13718}
13719
13720// SetType sets the Type field's value.
13721func (s *Property) SetType(v *PropertyType) *Property {
13722	s.Type = v
13723	return s
13724}
13725
13726// SetUnit sets the Unit field's value.
13727func (s *Property) SetUnit(v string) *Property {
13728	s.Unit = &v
13729	return s
13730}
13731
13732// Contains asset property value notification information. When the notification
13733// state is enabled, AWS IoT SiteWise publishes property value updates to a
13734// unique MQTT topic. For more information, see Interacting with Other Services
13735// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/interact-with-other-services.html)
13736// in the AWS IoT SiteWise User Guide.
13737type PropertyNotification struct {
13738	_ struct{} `type:"structure"`
13739
13740	// The current notification state.
13741	//
13742	// State is a required field
13743	State *string `locationName:"state" type:"string" required:"true" enum:"PropertyNotificationState"`
13744
13745	// The MQTT topic to which AWS IoT SiteWise publishes property value update
13746	// notifications.
13747	//
13748	// Topic is a required field
13749	Topic *string `locationName:"topic" type:"string" required:"true"`
13750}
13751
13752// String returns the string representation
13753func (s PropertyNotification) String() string {
13754	return awsutil.Prettify(s)
13755}
13756
13757// GoString returns the string representation
13758func (s PropertyNotification) GoString() string {
13759	return s.String()
13760}
13761
13762// SetState sets the State field's value.
13763func (s *PropertyNotification) SetState(v string) *PropertyNotification {
13764	s.State = &v
13765	return s
13766}
13767
13768// SetTopic sets the Topic field's value.
13769func (s *PropertyNotification) SetTopic(v string) *PropertyNotification {
13770	s.Topic = &v
13771	return s
13772}
13773
13774// Contains a property type, which can be one of attribute, measurement, metric,
13775// or transform.
13776type PropertyType struct {
13777	_ struct{} `type:"structure"`
13778
13779	// Specifies an asset attribute property. An attribute generally contains static
13780	// information, such as the serial number of an IIoT (https://en.wikipedia.org/wiki/Internet_of_things#Industrial_applications)
13781	// wind turbine.
13782	Attribute *Attribute `locationName:"attribute" type:"structure"`
13783
13784	// Specifies an asset measurement property. A measurement represents a device's
13785	// raw sensor data stream, such as timestamped temperature values or timestamped
13786	// power values.
13787	Measurement *Measurement `locationName:"measurement" type:"structure"`
13788
13789	// Specifies an asset metric property. A metric contains a mathematical expression
13790	// that uses aggregate functions to process all input data points over a time
13791	// interval and output a single data point, such as to calculate the average
13792	// hourly temperature.
13793	Metric *Metric `locationName:"metric" type:"structure"`
13794
13795	// Specifies an asset transform property. A transform contains a mathematical
13796	// expression that maps a property's data points from one form to another, such
13797	// as a unit conversion from Celsius to Fahrenheit.
13798	Transform *Transform `locationName:"transform" type:"structure"`
13799}
13800
13801// String returns the string representation
13802func (s PropertyType) String() string {
13803	return awsutil.Prettify(s)
13804}
13805
13806// GoString returns the string representation
13807func (s PropertyType) GoString() string {
13808	return s.String()
13809}
13810
13811// Validate inspects the fields of the type to determine if they are valid.
13812func (s *PropertyType) Validate() error {
13813	invalidParams := request.ErrInvalidParams{Context: "PropertyType"}
13814	if s.Attribute != nil {
13815		if err := s.Attribute.Validate(); err != nil {
13816			invalidParams.AddNested("Attribute", err.(request.ErrInvalidParams))
13817		}
13818	}
13819	if s.Metric != nil {
13820		if err := s.Metric.Validate(); err != nil {
13821			invalidParams.AddNested("Metric", err.(request.ErrInvalidParams))
13822		}
13823	}
13824	if s.Transform != nil {
13825		if err := s.Transform.Validate(); err != nil {
13826			invalidParams.AddNested("Transform", err.(request.ErrInvalidParams))
13827		}
13828	}
13829
13830	if invalidParams.Len() > 0 {
13831		return invalidParams
13832	}
13833	return nil
13834}
13835
13836// SetAttribute sets the Attribute field's value.
13837func (s *PropertyType) SetAttribute(v *Attribute) *PropertyType {
13838	s.Attribute = v
13839	return s
13840}
13841
13842// SetMeasurement sets the Measurement field's value.
13843func (s *PropertyType) SetMeasurement(v *Measurement) *PropertyType {
13844	s.Measurement = v
13845	return s
13846}
13847
13848// SetMetric sets the Metric field's value.
13849func (s *PropertyType) SetMetric(v *Metric) *PropertyType {
13850	s.Metric = v
13851	return s
13852}
13853
13854// SetTransform sets the Transform field's value.
13855func (s *PropertyType) SetTransform(v *Transform) *PropertyType {
13856	s.Transform = v
13857	return s
13858}
13859
13860// Contains a list of value updates for an asset property in the list of asset
13861// entries consumed by the BatchPutAssetPropertyValue (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html)
13862// API.
13863type PutAssetPropertyValueEntry struct {
13864	_ struct{} `type:"structure"`
13865
13866	// The ID of the asset to update.
13867	AssetId *string `locationName:"assetId" min:"36" type:"string"`
13868
13869	// The user specified ID for the entry. You can use this ID to identify which
13870	// entries failed.
13871	//
13872	// EntryId is a required field
13873	EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"`
13874
13875	// The property alias that identifies the property, such as an OPC-UA server
13876	// data stream path (for example, /company/windfarm/3/turbine/7/temperature).
13877	// For more information, see Mapping Industrial Data Streams to Asset Properties
13878	// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
13879	// in the AWS IoT SiteWise User Guide.
13880	PropertyAlias *string `locationName:"propertyAlias" min:"1" type:"string"`
13881
13882	// The ID of the asset property for this entry.
13883	PropertyId *string `locationName:"propertyId" min:"36" type:"string"`
13884
13885	// The list of property values to upload. You can specify up to 10 propertyValues
13886	// array elements.
13887	//
13888	// PropertyValues is a required field
13889	PropertyValues []*AssetPropertyValue `locationName:"propertyValues" type:"list" required:"true"`
13890}
13891
13892// String returns the string representation
13893func (s PutAssetPropertyValueEntry) String() string {
13894	return awsutil.Prettify(s)
13895}
13896
13897// GoString returns the string representation
13898func (s PutAssetPropertyValueEntry) GoString() string {
13899	return s.String()
13900}
13901
13902// Validate inspects the fields of the type to determine if they are valid.
13903func (s *PutAssetPropertyValueEntry) Validate() error {
13904	invalidParams := request.ErrInvalidParams{Context: "PutAssetPropertyValueEntry"}
13905	if s.AssetId != nil && len(*s.AssetId) < 36 {
13906		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
13907	}
13908	if s.EntryId == nil {
13909		invalidParams.Add(request.NewErrParamRequired("EntryId"))
13910	}
13911	if s.EntryId != nil && len(*s.EntryId) < 1 {
13912		invalidParams.Add(request.NewErrParamMinLen("EntryId", 1))
13913	}
13914	if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 {
13915		invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1))
13916	}
13917	if s.PropertyId != nil && len(*s.PropertyId) < 36 {
13918		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36))
13919	}
13920	if s.PropertyValues == nil {
13921		invalidParams.Add(request.NewErrParamRequired("PropertyValues"))
13922	}
13923	if s.PropertyValues != nil {
13924		for i, v := range s.PropertyValues {
13925			if v == nil {
13926				continue
13927			}
13928			if err := v.Validate(); err != nil {
13929				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyValues", i), err.(request.ErrInvalidParams))
13930			}
13931		}
13932	}
13933
13934	if invalidParams.Len() > 0 {
13935		return invalidParams
13936	}
13937	return nil
13938}
13939
13940// SetAssetId sets the AssetId field's value.
13941func (s *PutAssetPropertyValueEntry) SetAssetId(v string) *PutAssetPropertyValueEntry {
13942	s.AssetId = &v
13943	return s
13944}
13945
13946// SetEntryId sets the EntryId field's value.
13947func (s *PutAssetPropertyValueEntry) SetEntryId(v string) *PutAssetPropertyValueEntry {
13948	s.EntryId = &v
13949	return s
13950}
13951
13952// SetPropertyAlias sets the PropertyAlias field's value.
13953func (s *PutAssetPropertyValueEntry) SetPropertyAlias(v string) *PutAssetPropertyValueEntry {
13954	s.PropertyAlias = &v
13955	return s
13956}
13957
13958// SetPropertyId sets the PropertyId field's value.
13959func (s *PutAssetPropertyValueEntry) SetPropertyId(v string) *PutAssetPropertyValueEntry {
13960	s.PropertyId = &v
13961	return s
13962}
13963
13964// SetPropertyValues sets the PropertyValues field's value.
13965func (s *PutAssetPropertyValueEntry) SetPropertyValues(v []*AssetPropertyValue) *PutAssetPropertyValueEntry {
13966	s.PropertyValues = v
13967	return s
13968}
13969
13970type PutLoggingOptionsInput struct {
13971	_ struct{} `type:"structure"`
13972
13973	// The logging options to set.
13974	//
13975	// LoggingOptions is a required field
13976	LoggingOptions *LoggingOptions `locationName:"loggingOptions" type:"structure" required:"true"`
13977}
13978
13979// String returns the string representation
13980func (s PutLoggingOptionsInput) String() string {
13981	return awsutil.Prettify(s)
13982}
13983
13984// GoString returns the string representation
13985func (s PutLoggingOptionsInput) GoString() string {
13986	return s.String()
13987}
13988
13989// Validate inspects the fields of the type to determine if they are valid.
13990func (s *PutLoggingOptionsInput) Validate() error {
13991	invalidParams := request.ErrInvalidParams{Context: "PutLoggingOptionsInput"}
13992	if s.LoggingOptions == nil {
13993		invalidParams.Add(request.NewErrParamRequired("LoggingOptions"))
13994	}
13995	if s.LoggingOptions != nil {
13996		if err := s.LoggingOptions.Validate(); err != nil {
13997			invalidParams.AddNested("LoggingOptions", err.(request.ErrInvalidParams))
13998		}
13999	}
14000
14001	if invalidParams.Len() > 0 {
14002		return invalidParams
14003	}
14004	return nil
14005}
14006
14007// SetLoggingOptions sets the LoggingOptions field's value.
14008func (s *PutLoggingOptionsInput) SetLoggingOptions(v *LoggingOptions) *PutLoggingOptionsInput {
14009	s.LoggingOptions = v
14010	return s
14011}
14012
14013type PutLoggingOptionsOutput struct {
14014	_ struct{} `type:"structure"`
14015}
14016
14017// String returns the string representation
14018func (s PutLoggingOptionsOutput) String() string {
14019	return awsutil.Prettify(s)
14020}
14021
14022// GoString returns the string representation
14023func (s PutLoggingOptionsOutput) GoString() string {
14024	return s.String()
14025}
14026
14027// Contains an AWS IoT SiteWise Monitor resource ID for a portal or project.
14028type Resource struct {
14029	_ struct{} `type:"structure"`
14030
14031	// A portal resource.
14032	Portal *PortalResource `locationName:"portal" type:"structure"`
14033
14034	// A project resource.
14035	Project *ProjectResource `locationName:"project" type:"structure"`
14036}
14037
14038// String returns the string representation
14039func (s Resource) String() string {
14040	return awsutil.Prettify(s)
14041}
14042
14043// GoString returns the string representation
14044func (s Resource) GoString() string {
14045	return s.String()
14046}
14047
14048// Validate inspects the fields of the type to determine if they are valid.
14049func (s *Resource) Validate() error {
14050	invalidParams := request.ErrInvalidParams{Context: "Resource"}
14051	if s.Portal != nil {
14052		if err := s.Portal.Validate(); err != nil {
14053			invalidParams.AddNested("Portal", err.(request.ErrInvalidParams))
14054		}
14055	}
14056	if s.Project != nil {
14057		if err := s.Project.Validate(); err != nil {
14058			invalidParams.AddNested("Project", err.(request.ErrInvalidParams))
14059		}
14060	}
14061
14062	if invalidParams.Len() > 0 {
14063		return invalidParams
14064	}
14065	return nil
14066}
14067
14068// SetPortal sets the Portal field's value.
14069func (s *Resource) SetPortal(v *PortalResource) *Resource {
14070	s.Portal = v
14071	return s
14072}
14073
14074// SetProject sets the Project field's value.
14075func (s *Resource) SetProject(v *ProjectResource) *Resource {
14076	s.Project = v
14077	return s
14078}
14079
14080// The resource already exists.
14081type ResourceAlreadyExistsException struct {
14082	_            struct{}                  `type:"structure"`
14083	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14084
14085	Message_ *string `locationName:"message" type:"string"`
14086
14087	// The ARN of the resource that already exists.
14088	//
14089	// ResourceArn is a required field
14090	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
14091
14092	// The ID of the resource that already exists.
14093	//
14094	// ResourceId is a required field
14095	ResourceId *string `locationName:"resourceId" type:"string" required:"true"`
14096}
14097
14098// String returns the string representation
14099func (s ResourceAlreadyExistsException) String() string {
14100	return awsutil.Prettify(s)
14101}
14102
14103// GoString returns the string representation
14104func (s ResourceAlreadyExistsException) GoString() string {
14105	return s.String()
14106}
14107
14108func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
14109	return &ResourceAlreadyExistsException{
14110		RespMetadata: v,
14111	}
14112}
14113
14114// Code returns the exception type name.
14115func (s *ResourceAlreadyExistsException) Code() string {
14116	return "ResourceAlreadyExistsException"
14117}
14118
14119// Message returns the exception's message.
14120func (s *ResourceAlreadyExistsException) Message() string {
14121	if s.Message_ != nil {
14122		return *s.Message_
14123	}
14124	return ""
14125}
14126
14127// OrigErr always returns nil, satisfies awserr.Error interface.
14128func (s *ResourceAlreadyExistsException) OrigErr() error {
14129	return nil
14130}
14131
14132func (s *ResourceAlreadyExistsException) Error() string {
14133	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
14134}
14135
14136// Status code returns the HTTP status code for the request's response error.
14137func (s *ResourceAlreadyExistsException) StatusCode() int {
14138	return s.RespMetadata.StatusCode
14139}
14140
14141// RequestID returns the service's response RequestID for request.
14142func (s *ResourceAlreadyExistsException) RequestID() string {
14143	return s.RespMetadata.RequestID
14144}
14145
14146// The requested resource can't be found.
14147type ResourceNotFoundException struct {
14148	_            struct{}                  `type:"structure"`
14149	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14150
14151	Message_ *string `locationName:"message" type:"string"`
14152}
14153
14154// String returns the string representation
14155func (s ResourceNotFoundException) String() string {
14156	return awsutil.Prettify(s)
14157}
14158
14159// GoString returns the string representation
14160func (s ResourceNotFoundException) GoString() string {
14161	return s.String()
14162}
14163
14164func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
14165	return &ResourceNotFoundException{
14166		RespMetadata: v,
14167	}
14168}
14169
14170// Code returns the exception type name.
14171func (s *ResourceNotFoundException) Code() string {
14172	return "ResourceNotFoundException"
14173}
14174
14175// Message returns the exception's message.
14176func (s *ResourceNotFoundException) Message() string {
14177	if s.Message_ != nil {
14178		return *s.Message_
14179	}
14180	return ""
14181}
14182
14183// OrigErr always returns nil, satisfies awserr.Error interface.
14184func (s *ResourceNotFoundException) OrigErr() error {
14185	return nil
14186}
14187
14188func (s *ResourceNotFoundException) Error() string {
14189	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
14190}
14191
14192// Status code returns the HTTP status code for the request's response error.
14193func (s *ResourceNotFoundException) StatusCode() int {
14194	return s.RespMetadata.StatusCode
14195}
14196
14197// RequestID returns the service's response RequestID for request.
14198func (s *ResourceNotFoundException) RequestID() string {
14199	return s.RespMetadata.RequestID
14200}
14201
14202// The requested service is unavailable.
14203type ServiceUnavailableException struct {
14204	_            struct{}                  `type:"structure"`
14205	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14206
14207	Message_ *string `locationName:"message" type:"string"`
14208}
14209
14210// String returns the string representation
14211func (s ServiceUnavailableException) String() string {
14212	return awsutil.Prettify(s)
14213}
14214
14215// GoString returns the string representation
14216func (s ServiceUnavailableException) GoString() string {
14217	return s.String()
14218}
14219
14220func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
14221	return &ServiceUnavailableException{
14222		RespMetadata: v,
14223	}
14224}
14225
14226// Code returns the exception type name.
14227func (s *ServiceUnavailableException) Code() string {
14228	return "ServiceUnavailableException"
14229}
14230
14231// Message returns the exception's message.
14232func (s *ServiceUnavailableException) Message() string {
14233	if s.Message_ != nil {
14234		return *s.Message_
14235	}
14236	return ""
14237}
14238
14239// OrigErr always returns nil, satisfies awserr.Error interface.
14240func (s *ServiceUnavailableException) OrigErr() error {
14241	return nil
14242}
14243
14244func (s *ServiceUnavailableException) Error() string {
14245	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
14246}
14247
14248// Status code returns the HTTP status code for the request's response error.
14249func (s *ServiceUnavailableException) StatusCode() int {
14250	return s.RespMetadata.StatusCode
14251}
14252
14253// RequestID returns the service's response RequestID for request.
14254func (s *ServiceUnavailableException) RequestID() string {
14255	return s.RespMetadata.RequestID
14256}
14257
14258type TagResourceInput struct {
14259	_ struct{} `type:"structure"`
14260
14261	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
14262	// of the resource to tag.
14263	//
14264	// ResourceArn is a required field
14265	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
14266
14267	// A list of key-value pairs that contain metadata for the resource. For more
14268	// information, see Tagging your AWS IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
14269	// in the AWS IoT SiteWise User Guide.
14270	//
14271	// Tags is a required field
14272	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
14273}
14274
14275// String returns the string representation
14276func (s TagResourceInput) String() string {
14277	return awsutil.Prettify(s)
14278}
14279
14280// GoString returns the string representation
14281func (s TagResourceInput) GoString() string {
14282	return s.String()
14283}
14284
14285// Validate inspects the fields of the type to determine if they are valid.
14286func (s *TagResourceInput) Validate() error {
14287	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
14288	if s.ResourceArn == nil {
14289		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
14290	}
14291	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
14292		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
14293	}
14294	if s.Tags == nil {
14295		invalidParams.Add(request.NewErrParamRequired("Tags"))
14296	}
14297	if s.Tags != nil && len(s.Tags) < 1 {
14298		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
14299	}
14300
14301	if invalidParams.Len() > 0 {
14302		return invalidParams
14303	}
14304	return nil
14305}
14306
14307// SetResourceArn sets the ResourceArn field's value.
14308func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
14309	s.ResourceArn = &v
14310	return s
14311}
14312
14313// SetTags sets the Tags field's value.
14314func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
14315	s.Tags = v
14316	return s
14317}
14318
14319type TagResourceOutput struct {
14320	_ struct{} `type:"structure"`
14321}
14322
14323// String returns the string representation
14324func (s TagResourceOutput) String() string {
14325	return awsutil.Prettify(s)
14326}
14327
14328// GoString returns the string representation
14329func (s TagResourceOutput) GoString() string {
14330	return s.String()
14331}
14332
14333// Your request exceeded a rate limit. For example, you might have exceeded
14334// the number of AWS IoT SiteWise assets that can be created per second, the
14335// allowed number of messages per second, and so on.
14336//
14337// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
14338// in the AWS IoT SiteWise User Guide.
14339type ThrottlingException struct {
14340	_            struct{}                  `type:"structure"`
14341	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14342
14343	Message_ *string `locationName:"message" type:"string"`
14344}
14345
14346// String returns the string representation
14347func (s ThrottlingException) String() string {
14348	return awsutil.Prettify(s)
14349}
14350
14351// GoString returns the string representation
14352func (s ThrottlingException) GoString() string {
14353	return s.String()
14354}
14355
14356func newErrorThrottlingException(v protocol.ResponseMetadata) error {
14357	return &ThrottlingException{
14358		RespMetadata: v,
14359	}
14360}
14361
14362// Code returns the exception type name.
14363func (s *ThrottlingException) Code() string {
14364	return "ThrottlingException"
14365}
14366
14367// Message returns the exception's message.
14368func (s *ThrottlingException) Message() string {
14369	if s.Message_ != nil {
14370		return *s.Message_
14371	}
14372	return ""
14373}
14374
14375// OrigErr always returns nil, satisfies awserr.Error interface.
14376func (s *ThrottlingException) OrigErr() error {
14377	return nil
14378}
14379
14380func (s *ThrottlingException) Error() string {
14381	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
14382}
14383
14384// Status code returns the HTTP status code for the request's response error.
14385func (s *ThrottlingException) StatusCode() int {
14386	return s.RespMetadata.StatusCode
14387}
14388
14389// RequestID returns the service's response RequestID for request.
14390func (s *ThrottlingException) RequestID() string {
14391	return s.RespMetadata.RequestID
14392}
14393
14394// Contains a timestamp with optional nanosecond granularity.
14395type TimeInNanos struct {
14396	_ struct{} `type:"structure"`
14397
14398	// The nanosecond offset from timeInSeconds.
14399	OffsetInNanos *int64 `locationName:"offsetInNanos" type:"integer"`
14400
14401	// The timestamp date, in seconds, in the Unix epoch format. Fractional nanosecond
14402	// data is provided by offsetInNanos.
14403	//
14404	// TimeInSeconds is a required field
14405	TimeInSeconds *int64 `locationName:"timeInSeconds" min:"1" type:"long" required:"true"`
14406}
14407
14408// String returns the string representation
14409func (s TimeInNanos) String() string {
14410	return awsutil.Prettify(s)
14411}
14412
14413// GoString returns the string representation
14414func (s TimeInNanos) GoString() string {
14415	return s.String()
14416}
14417
14418// Validate inspects the fields of the type to determine if they are valid.
14419func (s *TimeInNanos) Validate() error {
14420	invalidParams := request.ErrInvalidParams{Context: "TimeInNanos"}
14421	if s.TimeInSeconds == nil {
14422		invalidParams.Add(request.NewErrParamRequired("TimeInSeconds"))
14423	}
14424	if s.TimeInSeconds != nil && *s.TimeInSeconds < 1 {
14425		invalidParams.Add(request.NewErrParamMinValue("TimeInSeconds", 1))
14426	}
14427
14428	if invalidParams.Len() > 0 {
14429		return invalidParams
14430	}
14431	return nil
14432}
14433
14434// SetOffsetInNanos sets the OffsetInNanos field's value.
14435func (s *TimeInNanos) SetOffsetInNanos(v int64) *TimeInNanos {
14436	s.OffsetInNanos = &v
14437	return s
14438}
14439
14440// SetTimeInSeconds sets the TimeInSeconds field's value.
14441func (s *TimeInNanos) SetTimeInSeconds(v int64) *TimeInNanos {
14442	s.TimeInSeconds = &v
14443	return s
14444}
14445
14446// You've reached the limit for the number of tags allowed for a resource. For
14447// more information, see Tag naming limits and requirements (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions)
14448// in the AWS General Reference.
14449type TooManyTagsException struct {
14450	_            struct{}                  `type:"structure"`
14451	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14452
14453	Message_ *string `locationName:"message" type:"string"`
14454
14455	// The name of the resource with too many tags.
14456	ResourceName *string `locationName:"resourceName" min:"1" type:"string"`
14457}
14458
14459// String returns the string representation
14460func (s TooManyTagsException) String() string {
14461	return awsutil.Prettify(s)
14462}
14463
14464// GoString returns the string representation
14465func (s TooManyTagsException) GoString() string {
14466	return s.String()
14467}
14468
14469func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
14470	return &TooManyTagsException{
14471		RespMetadata: v,
14472	}
14473}
14474
14475// Code returns the exception type name.
14476func (s *TooManyTagsException) Code() string {
14477	return "TooManyTagsException"
14478}
14479
14480// Message returns the exception's message.
14481func (s *TooManyTagsException) Message() string {
14482	if s.Message_ != nil {
14483		return *s.Message_
14484	}
14485	return ""
14486}
14487
14488// OrigErr always returns nil, satisfies awserr.Error interface.
14489func (s *TooManyTagsException) OrigErr() error {
14490	return nil
14491}
14492
14493func (s *TooManyTagsException) Error() string {
14494	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
14495}
14496
14497// Status code returns the HTTP status code for the request's response error.
14498func (s *TooManyTagsException) StatusCode() int {
14499	return s.RespMetadata.StatusCode
14500}
14501
14502// RequestID returns the service's response RequestID for request.
14503func (s *TooManyTagsException) RequestID() string {
14504	return s.RespMetadata.RequestID
14505}
14506
14507// Contains an asset transform property. A transform is a one-to-one mapping
14508// of a property's data points from one form to another. For example, you can
14509// use a transform to convert a Celsius data stream to Fahrenheit by applying
14510// the transformation expression to each data point of the Celsius stream. A
14511// transform can only have a data type of DOUBLE and consume properties with
14512// data types of INTEGER or DOUBLE.
14513//
14514// For more information, see Transforms (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html#transforms)
14515// in the AWS IoT SiteWise User Guide.
14516type Transform struct {
14517	_ struct{} `type:"structure"`
14518
14519	// The mathematical expression that defines the transformation function. You
14520	// can specify up to 10 variables per expression. You can specify up to 10 functions
14521	// per expression.
14522	//
14523	// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
14524	// in the AWS IoT SiteWise User Guide.
14525	//
14526	// Expression is a required field
14527	Expression *string `locationName:"expression" min:"1" type:"string" required:"true"`
14528
14529	// The list of variables used in the expression.
14530	//
14531	// Variables is a required field
14532	Variables []*ExpressionVariable `locationName:"variables" type:"list" required:"true"`
14533}
14534
14535// String returns the string representation
14536func (s Transform) String() string {
14537	return awsutil.Prettify(s)
14538}
14539
14540// GoString returns the string representation
14541func (s Transform) GoString() string {
14542	return s.String()
14543}
14544
14545// Validate inspects the fields of the type to determine if they are valid.
14546func (s *Transform) Validate() error {
14547	invalidParams := request.ErrInvalidParams{Context: "Transform"}
14548	if s.Expression == nil {
14549		invalidParams.Add(request.NewErrParamRequired("Expression"))
14550	}
14551	if s.Expression != nil && len(*s.Expression) < 1 {
14552		invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
14553	}
14554	if s.Variables == nil {
14555		invalidParams.Add(request.NewErrParamRequired("Variables"))
14556	}
14557	if s.Variables != nil {
14558		for i, v := range s.Variables {
14559			if v == nil {
14560				continue
14561			}
14562			if err := v.Validate(); err != nil {
14563				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Variables", i), err.(request.ErrInvalidParams))
14564			}
14565		}
14566	}
14567
14568	if invalidParams.Len() > 0 {
14569		return invalidParams
14570	}
14571	return nil
14572}
14573
14574// SetExpression sets the Expression field's value.
14575func (s *Transform) SetExpression(v string) *Transform {
14576	s.Expression = &v
14577	return s
14578}
14579
14580// SetVariables sets the Variables field's value.
14581func (s *Transform) SetVariables(v []*ExpressionVariable) *Transform {
14582	s.Variables = v
14583	return s
14584}
14585
14586// Contains a tumbling window, which is a repeating fixed-sized, non-overlapping,
14587// and contiguous time interval. This window is used in metric and aggregation
14588// computations.
14589type TumblingWindow struct {
14590	_ struct{} `type:"structure"`
14591
14592	// The time interval for the tumbling window. Note that w represents weeks,
14593	// d represents days, h represents hours, and m represents minutes. AWS IoT
14594	// SiteWise computes the 1w interval the end of Sunday at midnight each week
14595	// (UTC), the 1d interval at the end of each day at midnight (UTC), the 1h interval
14596	// at the end of each hour, and so on.
14597	//
14598	// When AWS IoT SiteWise aggregates data points for metric computations, the
14599	// start of each interval is exclusive and the end of each interval is inclusive.
14600	// AWS IoT SiteWise places the computed data point at the end of the interval.
14601	//
14602	// Interval is a required field
14603	Interval *string `locationName:"interval" min:"2" type:"string" required:"true"`
14604}
14605
14606// String returns the string representation
14607func (s TumblingWindow) String() string {
14608	return awsutil.Prettify(s)
14609}
14610
14611// GoString returns the string representation
14612func (s TumblingWindow) GoString() string {
14613	return s.String()
14614}
14615
14616// Validate inspects the fields of the type to determine if they are valid.
14617func (s *TumblingWindow) Validate() error {
14618	invalidParams := request.ErrInvalidParams{Context: "TumblingWindow"}
14619	if s.Interval == nil {
14620		invalidParams.Add(request.NewErrParamRequired("Interval"))
14621	}
14622	if s.Interval != nil && len(*s.Interval) < 2 {
14623		invalidParams.Add(request.NewErrParamMinLen("Interval", 2))
14624	}
14625
14626	if invalidParams.Len() > 0 {
14627		return invalidParams
14628	}
14629	return nil
14630}
14631
14632// SetInterval sets the Interval field's value.
14633func (s *TumblingWindow) SetInterval(v string) *TumblingWindow {
14634	s.Interval = &v
14635	return s
14636}
14637
14638type UntagResourceInput struct {
14639	_ struct{} `type:"structure"`
14640
14641	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
14642	// of the resource to untag.
14643	//
14644	// ResourceArn is a required field
14645	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
14646
14647	// A list of keys for tags to remove from the resource.
14648	//
14649	// TagKeys is a required field
14650	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
14651}
14652
14653// String returns the string representation
14654func (s UntagResourceInput) String() string {
14655	return awsutil.Prettify(s)
14656}
14657
14658// GoString returns the string representation
14659func (s UntagResourceInput) GoString() string {
14660	return s.String()
14661}
14662
14663// Validate inspects the fields of the type to determine if they are valid.
14664func (s *UntagResourceInput) Validate() error {
14665	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
14666	if s.ResourceArn == nil {
14667		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
14668	}
14669	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
14670		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
14671	}
14672	if s.TagKeys == nil {
14673		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
14674	}
14675
14676	if invalidParams.Len() > 0 {
14677		return invalidParams
14678	}
14679	return nil
14680}
14681
14682// SetResourceArn sets the ResourceArn field's value.
14683func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
14684	s.ResourceArn = &v
14685	return s
14686}
14687
14688// SetTagKeys sets the TagKeys field's value.
14689func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
14690	s.TagKeys = v
14691	return s
14692}
14693
14694type UntagResourceOutput struct {
14695	_ struct{} `type:"structure"`
14696}
14697
14698// String returns the string representation
14699func (s UntagResourceOutput) String() string {
14700	return awsutil.Prettify(s)
14701}
14702
14703// GoString returns the string representation
14704func (s UntagResourceOutput) GoString() string {
14705	return s.String()
14706}
14707
14708type UpdateAccessPolicyInput struct {
14709	_ struct{} `type:"structure"`
14710
14711	// The ID of the access policy.
14712	//
14713	// AccessPolicyId is a required field
14714	AccessPolicyId *string `location:"uri" locationName:"accessPolicyId" min:"36" type:"string" required:"true"`
14715
14716	// The identity for this access policy. Choose either a user or a group but
14717	// not both.
14718	//
14719	// AccessPolicyIdentity is a required field
14720	AccessPolicyIdentity *Identity `locationName:"accessPolicyIdentity" type:"structure" required:"true"`
14721
14722	// The permission level for this access policy. Note that a project ADMINISTRATOR
14723	// is also known as a project owner.
14724	//
14725	// AccessPolicyPermission is a required field
14726	AccessPolicyPermission *string `locationName:"accessPolicyPermission" type:"string" required:"true" enum:"Permission"`
14727
14728	// The AWS IoT SiteWise Monitor resource for this access policy. Choose either
14729	// portal or project but not both.
14730	//
14731	// AccessPolicyResource is a required field
14732	AccessPolicyResource *Resource `locationName:"accessPolicyResource" type:"structure" required:"true"`
14733
14734	// A unique case-sensitive identifier that you can provide to ensure the idempotency
14735	// of the request. Don't reuse this client token if a new idempotent request
14736	// is required.
14737	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
14738}
14739
14740// String returns the string representation
14741func (s UpdateAccessPolicyInput) String() string {
14742	return awsutil.Prettify(s)
14743}
14744
14745// GoString returns the string representation
14746func (s UpdateAccessPolicyInput) GoString() string {
14747	return s.String()
14748}
14749
14750// Validate inspects the fields of the type to determine if they are valid.
14751func (s *UpdateAccessPolicyInput) Validate() error {
14752	invalidParams := request.ErrInvalidParams{Context: "UpdateAccessPolicyInput"}
14753	if s.AccessPolicyId == nil {
14754		invalidParams.Add(request.NewErrParamRequired("AccessPolicyId"))
14755	}
14756	if s.AccessPolicyId != nil && len(*s.AccessPolicyId) < 36 {
14757		invalidParams.Add(request.NewErrParamMinLen("AccessPolicyId", 36))
14758	}
14759	if s.AccessPolicyIdentity == nil {
14760		invalidParams.Add(request.NewErrParamRequired("AccessPolicyIdentity"))
14761	}
14762	if s.AccessPolicyPermission == nil {
14763		invalidParams.Add(request.NewErrParamRequired("AccessPolicyPermission"))
14764	}
14765	if s.AccessPolicyResource == nil {
14766		invalidParams.Add(request.NewErrParamRequired("AccessPolicyResource"))
14767	}
14768	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
14769		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
14770	}
14771	if s.AccessPolicyIdentity != nil {
14772		if err := s.AccessPolicyIdentity.Validate(); err != nil {
14773			invalidParams.AddNested("AccessPolicyIdentity", err.(request.ErrInvalidParams))
14774		}
14775	}
14776	if s.AccessPolicyResource != nil {
14777		if err := s.AccessPolicyResource.Validate(); err != nil {
14778			invalidParams.AddNested("AccessPolicyResource", err.(request.ErrInvalidParams))
14779		}
14780	}
14781
14782	if invalidParams.Len() > 0 {
14783		return invalidParams
14784	}
14785	return nil
14786}
14787
14788// SetAccessPolicyId sets the AccessPolicyId field's value.
14789func (s *UpdateAccessPolicyInput) SetAccessPolicyId(v string) *UpdateAccessPolicyInput {
14790	s.AccessPolicyId = &v
14791	return s
14792}
14793
14794// SetAccessPolicyIdentity sets the AccessPolicyIdentity field's value.
14795func (s *UpdateAccessPolicyInput) SetAccessPolicyIdentity(v *Identity) *UpdateAccessPolicyInput {
14796	s.AccessPolicyIdentity = v
14797	return s
14798}
14799
14800// SetAccessPolicyPermission sets the AccessPolicyPermission field's value.
14801func (s *UpdateAccessPolicyInput) SetAccessPolicyPermission(v string) *UpdateAccessPolicyInput {
14802	s.AccessPolicyPermission = &v
14803	return s
14804}
14805
14806// SetAccessPolicyResource sets the AccessPolicyResource field's value.
14807func (s *UpdateAccessPolicyInput) SetAccessPolicyResource(v *Resource) *UpdateAccessPolicyInput {
14808	s.AccessPolicyResource = v
14809	return s
14810}
14811
14812// SetClientToken sets the ClientToken field's value.
14813func (s *UpdateAccessPolicyInput) SetClientToken(v string) *UpdateAccessPolicyInput {
14814	s.ClientToken = &v
14815	return s
14816}
14817
14818type UpdateAccessPolicyOutput struct {
14819	_ struct{} `type:"structure"`
14820}
14821
14822// String returns the string representation
14823func (s UpdateAccessPolicyOutput) String() string {
14824	return awsutil.Prettify(s)
14825}
14826
14827// GoString returns the string representation
14828func (s UpdateAccessPolicyOutput) GoString() string {
14829	return s.String()
14830}
14831
14832type UpdateAssetInput struct {
14833	_ struct{} `type:"structure"`
14834
14835	// The ID of the asset to update.
14836	//
14837	// AssetId is a required field
14838	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
14839
14840	// A unique, friendly name for the asset.
14841	//
14842	// AssetName is a required field
14843	AssetName *string `locationName:"assetName" min:"1" type:"string" required:"true"`
14844
14845	// A unique case-sensitive identifier that you can provide to ensure the idempotency
14846	// of the request. Don't reuse this client token if a new idempotent request
14847	// is required.
14848	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
14849}
14850
14851// String returns the string representation
14852func (s UpdateAssetInput) String() string {
14853	return awsutil.Prettify(s)
14854}
14855
14856// GoString returns the string representation
14857func (s UpdateAssetInput) GoString() string {
14858	return s.String()
14859}
14860
14861// Validate inspects the fields of the type to determine if they are valid.
14862func (s *UpdateAssetInput) Validate() error {
14863	invalidParams := request.ErrInvalidParams{Context: "UpdateAssetInput"}
14864	if s.AssetId == nil {
14865		invalidParams.Add(request.NewErrParamRequired("AssetId"))
14866	}
14867	if s.AssetId != nil && len(*s.AssetId) < 36 {
14868		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
14869	}
14870	if s.AssetName == nil {
14871		invalidParams.Add(request.NewErrParamRequired("AssetName"))
14872	}
14873	if s.AssetName != nil && len(*s.AssetName) < 1 {
14874		invalidParams.Add(request.NewErrParamMinLen("AssetName", 1))
14875	}
14876	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
14877		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
14878	}
14879
14880	if invalidParams.Len() > 0 {
14881		return invalidParams
14882	}
14883	return nil
14884}
14885
14886// SetAssetId sets the AssetId field's value.
14887func (s *UpdateAssetInput) SetAssetId(v string) *UpdateAssetInput {
14888	s.AssetId = &v
14889	return s
14890}
14891
14892// SetAssetName sets the AssetName field's value.
14893func (s *UpdateAssetInput) SetAssetName(v string) *UpdateAssetInput {
14894	s.AssetName = &v
14895	return s
14896}
14897
14898// SetClientToken sets the ClientToken field's value.
14899func (s *UpdateAssetInput) SetClientToken(v string) *UpdateAssetInput {
14900	s.ClientToken = &v
14901	return s
14902}
14903
14904type UpdateAssetModelInput struct {
14905	_ struct{} `type:"structure"`
14906
14907	// A description for the asset model.
14908	AssetModelDescription *string `locationName:"assetModelDescription" min:"1" type:"string"`
14909
14910	// The updated hierarchy definitions of the asset model. Each hierarchy specifies
14911	// an asset model whose assets can be children of any other assets created from
14912	// this asset model. For more information, see Asset Hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html)
14913	// in the AWS IoT SiteWise User Guide.
14914	//
14915	// You can specify up to 10 hierarchies per asset model. For more information,
14916	// see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
14917	// in the AWS IoT SiteWise User Guide.
14918	AssetModelHierarchies []*AssetModelHierarchy `locationName:"assetModelHierarchies" type:"list"`
14919
14920	// The ID of the asset model to update.
14921	//
14922	// AssetModelId is a required field
14923	AssetModelId *string `location:"uri" locationName:"assetModelId" min:"36" type:"string" required:"true"`
14924
14925	// A unique, friendly name for the asset model.
14926	//
14927	// AssetModelName is a required field
14928	AssetModelName *string `locationName:"assetModelName" min:"1" type:"string" required:"true"`
14929
14930	// The updated property definitions of the asset model. For more information,
14931	// see Asset Properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html)
14932	// in the AWS IoT SiteWise User Guide.
14933	//
14934	// You can specify up to 200 properties per asset model. For more information,
14935	// see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
14936	// in the AWS IoT SiteWise User Guide.
14937	AssetModelProperties []*AssetModelProperty `locationName:"assetModelProperties" type:"list"`
14938
14939	// A unique case-sensitive identifier that you can provide to ensure the idempotency
14940	// of the request. Don't reuse this client token if a new idempotent request
14941	// is required.
14942	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
14943}
14944
14945// String returns the string representation
14946func (s UpdateAssetModelInput) String() string {
14947	return awsutil.Prettify(s)
14948}
14949
14950// GoString returns the string representation
14951func (s UpdateAssetModelInput) GoString() string {
14952	return s.String()
14953}
14954
14955// Validate inspects the fields of the type to determine if they are valid.
14956func (s *UpdateAssetModelInput) Validate() error {
14957	invalidParams := request.ErrInvalidParams{Context: "UpdateAssetModelInput"}
14958	if s.AssetModelDescription != nil && len(*s.AssetModelDescription) < 1 {
14959		invalidParams.Add(request.NewErrParamMinLen("AssetModelDescription", 1))
14960	}
14961	if s.AssetModelId == nil {
14962		invalidParams.Add(request.NewErrParamRequired("AssetModelId"))
14963	}
14964	if s.AssetModelId != nil && len(*s.AssetModelId) < 36 {
14965		invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36))
14966	}
14967	if s.AssetModelName == nil {
14968		invalidParams.Add(request.NewErrParamRequired("AssetModelName"))
14969	}
14970	if s.AssetModelName != nil && len(*s.AssetModelName) < 1 {
14971		invalidParams.Add(request.NewErrParamMinLen("AssetModelName", 1))
14972	}
14973	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
14974		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
14975	}
14976	if s.AssetModelHierarchies != nil {
14977		for i, v := range s.AssetModelHierarchies {
14978			if v == nil {
14979				continue
14980			}
14981			if err := v.Validate(); err != nil {
14982				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelHierarchies", i), err.(request.ErrInvalidParams))
14983			}
14984		}
14985	}
14986	if s.AssetModelProperties != nil {
14987		for i, v := range s.AssetModelProperties {
14988			if v == nil {
14989				continue
14990			}
14991			if err := v.Validate(); err != nil {
14992				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelProperties", i), err.(request.ErrInvalidParams))
14993			}
14994		}
14995	}
14996
14997	if invalidParams.Len() > 0 {
14998		return invalidParams
14999	}
15000	return nil
15001}
15002
15003// SetAssetModelDescription sets the AssetModelDescription field's value.
15004func (s *UpdateAssetModelInput) SetAssetModelDescription(v string) *UpdateAssetModelInput {
15005	s.AssetModelDescription = &v
15006	return s
15007}
15008
15009// SetAssetModelHierarchies sets the AssetModelHierarchies field's value.
15010func (s *UpdateAssetModelInput) SetAssetModelHierarchies(v []*AssetModelHierarchy) *UpdateAssetModelInput {
15011	s.AssetModelHierarchies = v
15012	return s
15013}
15014
15015// SetAssetModelId sets the AssetModelId field's value.
15016func (s *UpdateAssetModelInput) SetAssetModelId(v string) *UpdateAssetModelInput {
15017	s.AssetModelId = &v
15018	return s
15019}
15020
15021// SetAssetModelName sets the AssetModelName field's value.
15022func (s *UpdateAssetModelInput) SetAssetModelName(v string) *UpdateAssetModelInput {
15023	s.AssetModelName = &v
15024	return s
15025}
15026
15027// SetAssetModelProperties sets the AssetModelProperties field's value.
15028func (s *UpdateAssetModelInput) SetAssetModelProperties(v []*AssetModelProperty) *UpdateAssetModelInput {
15029	s.AssetModelProperties = v
15030	return s
15031}
15032
15033// SetClientToken sets the ClientToken field's value.
15034func (s *UpdateAssetModelInput) SetClientToken(v string) *UpdateAssetModelInput {
15035	s.ClientToken = &v
15036	return s
15037}
15038
15039type UpdateAssetModelOutput struct {
15040	_ struct{} `type:"structure"`
15041
15042	// The status of the asset model, which contains a state (UPDATING after successfully
15043	// calling this operation) and any error message.
15044	//
15045	// AssetModelStatus is a required field
15046	AssetModelStatus *AssetModelStatus `locationName:"assetModelStatus" type:"structure" required:"true"`
15047}
15048
15049// String returns the string representation
15050func (s UpdateAssetModelOutput) String() string {
15051	return awsutil.Prettify(s)
15052}
15053
15054// GoString returns the string representation
15055func (s UpdateAssetModelOutput) GoString() string {
15056	return s.String()
15057}
15058
15059// SetAssetModelStatus sets the AssetModelStatus field's value.
15060func (s *UpdateAssetModelOutput) SetAssetModelStatus(v *AssetModelStatus) *UpdateAssetModelOutput {
15061	s.AssetModelStatus = v
15062	return s
15063}
15064
15065type UpdateAssetOutput struct {
15066	_ struct{} `type:"structure"`
15067
15068	// The status of the asset, which contains a state (UPDATING after successfully
15069	// calling this operation) and any error message.
15070	//
15071	// AssetStatus is a required field
15072	AssetStatus *AssetStatus `locationName:"assetStatus" type:"structure" required:"true"`
15073}
15074
15075// String returns the string representation
15076func (s UpdateAssetOutput) String() string {
15077	return awsutil.Prettify(s)
15078}
15079
15080// GoString returns the string representation
15081func (s UpdateAssetOutput) GoString() string {
15082	return s.String()
15083}
15084
15085// SetAssetStatus sets the AssetStatus field's value.
15086func (s *UpdateAssetOutput) SetAssetStatus(v *AssetStatus) *UpdateAssetOutput {
15087	s.AssetStatus = v
15088	return s
15089}
15090
15091type UpdateAssetPropertyInput struct {
15092	_ struct{} `type:"structure"`
15093
15094	// The ID of the asset to be updated.
15095	//
15096	// AssetId is a required field
15097	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
15098
15099	// A unique case-sensitive identifier that you can provide to ensure the idempotency
15100	// of the request. Don't reuse this client token if a new idempotent request
15101	// is required.
15102	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
15103
15104	// The property alias that identifies the property, such as an OPC-UA server
15105	// data stream path (for example, /company/windfarm/3/turbine/7/temperature).
15106	// For more information, see Mapping Industrial Data Streams to Asset Properties
15107	// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
15108	// in the AWS IoT SiteWise User Guide.
15109	//
15110	// If you omit this parameter, the alias is removed from the property.
15111	PropertyAlias *string `locationName:"propertyAlias" min:"1" type:"string"`
15112
15113	// The ID of the asset property to be updated.
15114	//
15115	// PropertyId is a required field
15116	PropertyId *string `location:"uri" locationName:"propertyId" min:"36" type:"string" required:"true"`
15117
15118	// The MQTT notification state (enabled or disabled) for this asset property.
15119	// When the notification state is enabled, AWS IoT SiteWise publishes property
15120	// value updates to a unique MQTT topic. For more information, see Interacting
15121	// with Other Services (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/interact-with-other-services.html)
15122	// in the AWS IoT SiteWise User Guide.
15123	//
15124	// If you omit this parameter, the notification state is set to DISABLED.
15125	PropertyNotificationState *string `locationName:"propertyNotificationState" type:"string" enum:"PropertyNotificationState"`
15126}
15127
15128// String returns the string representation
15129func (s UpdateAssetPropertyInput) String() string {
15130	return awsutil.Prettify(s)
15131}
15132
15133// GoString returns the string representation
15134func (s UpdateAssetPropertyInput) GoString() string {
15135	return s.String()
15136}
15137
15138// Validate inspects the fields of the type to determine if they are valid.
15139func (s *UpdateAssetPropertyInput) Validate() error {
15140	invalidParams := request.ErrInvalidParams{Context: "UpdateAssetPropertyInput"}
15141	if s.AssetId == nil {
15142		invalidParams.Add(request.NewErrParamRequired("AssetId"))
15143	}
15144	if s.AssetId != nil && len(*s.AssetId) < 36 {
15145		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
15146	}
15147	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
15148		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
15149	}
15150	if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 {
15151		invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1))
15152	}
15153	if s.PropertyId == nil {
15154		invalidParams.Add(request.NewErrParamRequired("PropertyId"))
15155	}
15156	if s.PropertyId != nil && len(*s.PropertyId) < 36 {
15157		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36))
15158	}
15159
15160	if invalidParams.Len() > 0 {
15161		return invalidParams
15162	}
15163	return nil
15164}
15165
15166// SetAssetId sets the AssetId field's value.
15167func (s *UpdateAssetPropertyInput) SetAssetId(v string) *UpdateAssetPropertyInput {
15168	s.AssetId = &v
15169	return s
15170}
15171
15172// SetClientToken sets the ClientToken field's value.
15173func (s *UpdateAssetPropertyInput) SetClientToken(v string) *UpdateAssetPropertyInput {
15174	s.ClientToken = &v
15175	return s
15176}
15177
15178// SetPropertyAlias sets the PropertyAlias field's value.
15179func (s *UpdateAssetPropertyInput) SetPropertyAlias(v string) *UpdateAssetPropertyInput {
15180	s.PropertyAlias = &v
15181	return s
15182}
15183
15184// SetPropertyId sets the PropertyId field's value.
15185func (s *UpdateAssetPropertyInput) SetPropertyId(v string) *UpdateAssetPropertyInput {
15186	s.PropertyId = &v
15187	return s
15188}
15189
15190// SetPropertyNotificationState sets the PropertyNotificationState field's value.
15191func (s *UpdateAssetPropertyInput) SetPropertyNotificationState(v string) *UpdateAssetPropertyInput {
15192	s.PropertyNotificationState = &v
15193	return s
15194}
15195
15196type UpdateAssetPropertyOutput struct {
15197	_ struct{} `type:"structure"`
15198}
15199
15200// String returns the string representation
15201func (s UpdateAssetPropertyOutput) String() string {
15202	return awsutil.Prettify(s)
15203}
15204
15205// GoString returns the string representation
15206func (s UpdateAssetPropertyOutput) GoString() string {
15207	return s.String()
15208}
15209
15210type UpdateDashboardInput struct {
15211	_ struct{} `type:"structure"`
15212
15213	// A unique case-sensitive identifier that you can provide to ensure the idempotency
15214	// of the request. Don't reuse this client token if a new idempotent request
15215	// is required.
15216	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
15217
15218	// The new dashboard definition, as specified in a JSON literal. For detailed
15219	// information, see Creating Dashboards (CLI) (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html)
15220	// in the AWS IoT SiteWise User Guide.
15221	//
15222	// DashboardDefinition is a required field
15223	DashboardDefinition *string `locationName:"dashboardDefinition" type:"string" required:"true"`
15224
15225	// A new description for the dashboard.
15226	DashboardDescription *string `locationName:"dashboardDescription" min:"1" type:"string"`
15227
15228	// The ID of the dashboard to update.
15229	//
15230	// DashboardId is a required field
15231	DashboardId *string `location:"uri" locationName:"dashboardId" min:"36" type:"string" required:"true"`
15232
15233	// A new friendly name for the dashboard.
15234	//
15235	// DashboardName is a required field
15236	DashboardName *string `locationName:"dashboardName" min:"1" type:"string" required:"true"`
15237}
15238
15239// String returns the string representation
15240func (s UpdateDashboardInput) String() string {
15241	return awsutil.Prettify(s)
15242}
15243
15244// GoString returns the string representation
15245func (s UpdateDashboardInput) GoString() string {
15246	return s.String()
15247}
15248
15249// Validate inspects the fields of the type to determine if they are valid.
15250func (s *UpdateDashboardInput) Validate() error {
15251	invalidParams := request.ErrInvalidParams{Context: "UpdateDashboardInput"}
15252	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
15253		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
15254	}
15255	if s.DashboardDefinition == nil {
15256		invalidParams.Add(request.NewErrParamRequired("DashboardDefinition"))
15257	}
15258	if s.DashboardDescription != nil && len(*s.DashboardDescription) < 1 {
15259		invalidParams.Add(request.NewErrParamMinLen("DashboardDescription", 1))
15260	}
15261	if s.DashboardId == nil {
15262		invalidParams.Add(request.NewErrParamRequired("DashboardId"))
15263	}
15264	if s.DashboardId != nil && len(*s.DashboardId) < 36 {
15265		invalidParams.Add(request.NewErrParamMinLen("DashboardId", 36))
15266	}
15267	if s.DashboardName == nil {
15268		invalidParams.Add(request.NewErrParamRequired("DashboardName"))
15269	}
15270	if s.DashboardName != nil && len(*s.DashboardName) < 1 {
15271		invalidParams.Add(request.NewErrParamMinLen("DashboardName", 1))
15272	}
15273
15274	if invalidParams.Len() > 0 {
15275		return invalidParams
15276	}
15277	return nil
15278}
15279
15280// SetClientToken sets the ClientToken field's value.
15281func (s *UpdateDashboardInput) SetClientToken(v string) *UpdateDashboardInput {
15282	s.ClientToken = &v
15283	return s
15284}
15285
15286// SetDashboardDefinition sets the DashboardDefinition field's value.
15287func (s *UpdateDashboardInput) SetDashboardDefinition(v string) *UpdateDashboardInput {
15288	s.DashboardDefinition = &v
15289	return s
15290}
15291
15292// SetDashboardDescription sets the DashboardDescription field's value.
15293func (s *UpdateDashboardInput) SetDashboardDescription(v string) *UpdateDashboardInput {
15294	s.DashboardDescription = &v
15295	return s
15296}
15297
15298// SetDashboardId sets the DashboardId field's value.
15299func (s *UpdateDashboardInput) SetDashboardId(v string) *UpdateDashboardInput {
15300	s.DashboardId = &v
15301	return s
15302}
15303
15304// SetDashboardName sets the DashboardName field's value.
15305func (s *UpdateDashboardInput) SetDashboardName(v string) *UpdateDashboardInput {
15306	s.DashboardName = &v
15307	return s
15308}
15309
15310type UpdateDashboardOutput struct {
15311	_ struct{} `type:"structure"`
15312}
15313
15314// String returns the string representation
15315func (s UpdateDashboardOutput) String() string {
15316	return awsutil.Prettify(s)
15317}
15318
15319// GoString returns the string representation
15320func (s UpdateDashboardOutput) GoString() string {
15321	return s.String()
15322}
15323
15324type UpdateGatewayCapabilityConfigurationInput struct {
15325	_ struct{} `type:"structure"`
15326
15327	// The JSON document that defines the configuration for the gateway capability.
15328	// For more information, see Configuring data sources (CLI) (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/configure-sources.html#configure-source-cli)
15329	// in the AWS IoT SiteWise User Guide.
15330	//
15331	// CapabilityConfiguration is a required field
15332	CapabilityConfiguration *string `locationName:"capabilityConfiguration" min:"1" type:"string" required:"true"`
15333
15334	// The namespace of the gateway capability configuration to be updated. For
15335	// example, if you configure OPC-UA sources from the AWS IoT SiteWise console,
15336	// your OPC-UA capability configuration has the namespace iotsitewise:opcuacollector:version,
15337	// where version is a number such as 1.
15338	//
15339	// CapabilityNamespace is a required field
15340	CapabilityNamespace *string `locationName:"capabilityNamespace" min:"1" type:"string" required:"true"`
15341
15342	// The ID of the gateway to be updated.
15343	//
15344	// GatewayId is a required field
15345	GatewayId *string `location:"uri" locationName:"gatewayId" min:"36" type:"string" required:"true"`
15346}
15347
15348// String returns the string representation
15349func (s UpdateGatewayCapabilityConfigurationInput) String() string {
15350	return awsutil.Prettify(s)
15351}
15352
15353// GoString returns the string representation
15354func (s UpdateGatewayCapabilityConfigurationInput) GoString() string {
15355	return s.String()
15356}
15357
15358// Validate inspects the fields of the type to determine if they are valid.
15359func (s *UpdateGatewayCapabilityConfigurationInput) Validate() error {
15360	invalidParams := request.ErrInvalidParams{Context: "UpdateGatewayCapabilityConfigurationInput"}
15361	if s.CapabilityConfiguration == nil {
15362		invalidParams.Add(request.NewErrParamRequired("CapabilityConfiguration"))
15363	}
15364	if s.CapabilityConfiguration != nil && len(*s.CapabilityConfiguration) < 1 {
15365		invalidParams.Add(request.NewErrParamMinLen("CapabilityConfiguration", 1))
15366	}
15367	if s.CapabilityNamespace == nil {
15368		invalidParams.Add(request.NewErrParamRequired("CapabilityNamespace"))
15369	}
15370	if s.CapabilityNamespace != nil && len(*s.CapabilityNamespace) < 1 {
15371		invalidParams.Add(request.NewErrParamMinLen("CapabilityNamespace", 1))
15372	}
15373	if s.GatewayId == nil {
15374		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
15375	}
15376	if s.GatewayId != nil && len(*s.GatewayId) < 36 {
15377		invalidParams.Add(request.NewErrParamMinLen("GatewayId", 36))
15378	}
15379
15380	if invalidParams.Len() > 0 {
15381		return invalidParams
15382	}
15383	return nil
15384}
15385
15386// SetCapabilityConfiguration sets the CapabilityConfiguration field's value.
15387func (s *UpdateGatewayCapabilityConfigurationInput) SetCapabilityConfiguration(v string) *UpdateGatewayCapabilityConfigurationInput {
15388	s.CapabilityConfiguration = &v
15389	return s
15390}
15391
15392// SetCapabilityNamespace sets the CapabilityNamespace field's value.
15393func (s *UpdateGatewayCapabilityConfigurationInput) SetCapabilityNamespace(v string) *UpdateGatewayCapabilityConfigurationInput {
15394	s.CapabilityNamespace = &v
15395	return s
15396}
15397
15398// SetGatewayId sets the GatewayId field's value.
15399func (s *UpdateGatewayCapabilityConfigurationInput) SetGatewayId(v string) *UpdateGatewayCapabilityConfigurationInput {
15400	s.GatewayId = &v
15401	return s
15402}
15403
15404type UpdateGatewayCapabilityConfigurationOutput struct {
15405	_ struct{} `type:"structure"`
15406
15407	// The namespace of the gateway capability.
15408	//
15409	// CapabilityNamespace is a required field
15410	CapabilityNamespace *string `locationName:"capabilityNamespace" min:"1" type:"string" required:"true"`
15411
15412	// The synchronization status of the capability configuration. The sync status
15413	// can be one of the following:
15414	//
15415	//    * IN_SYNC – The gateway is running the capability configuration.
15416	//
15417	//    * OUT_OF_SYNC – The gateway hasn't received the capability configuration.
15418	//
15419	//    * SYNC_FAILED – The gateway rejected the capability configuration.
15420	//
15421	// After you update a capability configuration, its sync status is OUT_OF_SYNC
15422	// until the gateway receives and applies or rejects the updated configuration.
15423	//
15424	// CapabilitySyncStatus is a required field
15425	CapabilitySyncStatus *string `locationName:"capabilitySyncStatus" type:"string" required:"true" enum:"CapabilitySyncStatus"`
15426}
15427
15428// String returns the string representation
15429func (s UpdateGatewayCapabilityConfigurationOutput) String() string {
15430	return awsutil.Prettify(s)
15431}
15432
15433// GoString returns the string representation
15434func (s UpdateGatewayCapabilityConfigurationOutput) GoString() string {
15435	return s.String()
15436}
15437
15438// SetCapabilityNamespace sets the CapabilityNamespace field's value.
15439func (s *UpdateGatewayCapabilityConfigurationOutput) SetCapabilityNamespace(v string) *UpdateGatewayCapabilityConfigurationOutput {
15440	s.CapabilityNamespace = &v
15441	return s
15442}
15443
15444// SetCapabilitySyncStatus sets the CapabilitySyncStatus field's value.
15445func (s *UpdateGatewayCapabilityConfigurationOutput) SetCapabilitySyncStatus(v string) *UpdateGatewayCapabilityConfigurationOutput {
15446	s.CapabilitySyncStatus = &v
15447	return s
15448}
15449
15450type UpdateGatewayInput struct {
15451	_ struct{} `type:"structure"`
15452
15453	// The ID of the gateway to update.
15454	//
15455	// GatewayId is a required field
15456	GatewayId *string `location:"uri" locationName:"gatewayId" min:"36" type:"string" required:"true"`
15457
15458	// A unique, friendly name for the gateway.
15459	//
15460	// GatewayName is a required field
15461	GatewayName *string `locationName:"gatewayName" min:"1" type:"string" required:"true"`
15462}
15463
15464// String returns the string representation
15465func (s UpdateGatewayInput) String() string {
15466	return awsutil.Prettify(s)
15467}
15468
15469// GoString returns the string representation
15470func (s UpdateGatewayInput) GoString() string {
15471	return s.String()
15472}
15473
15474// Validate inspects the fields of the type to determine if they are valid.
15475func (s *UpdateGatewayInput) Validate() error {
15476	invalidParams := request.ErrInvalidParams{Context: "UpdateGatewayInput"}
15477	if s.GatewayId == nil {
15478		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
15479	}
15480	if s.GatewayId != nil && len(*s.GatewayId) < 36 {
15481		invalidParams.Add(request.NewErrParamMinLen("GatewayId", 36))
15482	}
15483	if s.GatewayName == nil {
15484		invalidParams.Add(request.NewErrParamRequired("GatewayName"))
15485	}
15486	if s.GatewayName != nil && len(*s.GatewayName) < 1 {
15487		invalidParams.Add(request.NewErrParamMinLen("GatewayName", 1))
15488	}
15489
15490	if invalidParams.Len() > 0 {
15491		return invalidParams
15492	}
15493	return nil
15494}
15495
15496// SetGatewayId sets the GatewayId field's value.
15497func (s *UpdateGatewayInput) SetGatewayId(v string) *UpdateGatewayInput {
15498	s.GatewayId = &v
15499	return s
15500}
15501
15502// SetGatewayName sets the GatewayName field's value.
15503func (s *UpdateGatewayInput) SetGatewayName(v string) *UpdateGatewayInput {
15504	s.GatewayName = &v
15505	return s
15506}
15507
15508type UpdateGatewayOutput struct {
15509	_ struct{} `type:"structure"`
15510}
15511
15512// String returns the string representation
15513func (s UpdateGatewayOutput) String() string {
15514	return awsutil.Prettify(s)
15515}
15516
15517// GoString returns the string representation
15518func (s UpdateGatewayOutput) GoString() string {
15519	return s.String()
15520}
15521
15522type UpdatePortalInput struct {
15523	_ struct{} `type:"structure"`
15524
15525	// A unique case-sensitive identifier that you can provide to ensure the idempotency
15526	// of the request. Don't reuse this client token if a new idempotent request
15527	// is required.
15528	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
15529
15530	// The AWS administrator's contact email address.
15531	//
15532	// PortalContactEmail is a required field
15533	PortalContactEmail *string `locationName:"portalContactEmail" min:"1" type:"string" required:"true"`
15534
15535	// A new description for the portal.
15536	PortalDescription *string `locationName:"portalDescription" min:"1" type:"string"`
15537
15538	// The ID of the portal to update.
15539	//
15540	// PortalId is a required field
15541	PortalId *string `location:"uri" locationName:"portalId" min:"36" type:"string" required:"true"`
15542
15543	// Contains an image that is one of the following:
15544	//
15545	//    * An image file. Choose this option to upload a new image.
15546	//
15547	//    * The ID of an existing image. Choose this option to keep an existing
15548	//    image.
15549	PortalLogoImage *Image `locationName:"portalLogoImage" type:"structure"`
15550
15551	// A new friendly name for the portal.
15552	//
15553	// PortalName is a required field
15554	PortalName *string `locationName:"portalName" min:"1" type:"string" required:"true"`
15555
15556	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
15557	// of a service role that allows the portal's users to access your AWS IoT SiteWise
15558	// resources on your behalf. For more information, see Using service roles for
15559	// AWS IoT SiteWise Monitor (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html)
15560	// in the AWS IoT SiteWise User Guide.
15561	//
15562	// RoleArn is a required field
15563	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
15564}
15565
15566// String returns the string representation
15567func (s UpdatePortalInput) String() string {
15568	return awsutil.Prettify(s)
15569}
15570
15571// GoString returns the string representation
15572func (s UpdatePortalInput) GoString() string {
15573	return s.String()
15574}
15575
15576// Validate inspects the fields of the type to determine if they are valid.
15577func (s *UpdatePortalInput) Validate() error {
15578	invalidParams := request.ErrInvalidParams{Context: "UpdatePortalInput"}
15579	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
15580		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
15581	}
15582	if s.PortalContactEmail == nil {
15583		invalidParams.Add(request.NewErrParamRequired("PortalContactEmail"))
15584	}
15585	if s.PortalContactEmail != nil && len(*s.PortalContactEmail) < 1 {
15586		invalidParams.Add(request.NewErrParamMinLen("PortalContactEmail", 1))
15587	}
15588	if s.PortalDescription != nil && len(*s.PortalDescription) < 1 {
15589		invalidParams.Add(request.NewErrParamMinLen("PortalDescription", 1))
15590	}
15591	if s.PortalId == nil {
15592		invalidParams.Add(request.NewErrParamRequired("PortalId"))
15593	}
15594	if s.PortalId != nil && len(*s.PortalId) < 36 {
15595		invalidParams.Add(request.NewErrParamMinLen("PortalId", 36))
15596	}
15597	if s.PortalName == nil {
15598		invalidParams.Add(request.NewErrParamRequired("PortalName"))
15599	}
15600	if s.PortalName != nil && len(*s.PortalName) < 1 {
15601		invalidParams.Add(request.NewErrParamMinLen("PortalName", 1))
15602	}
15603	if s.RoleArn == nil {
15604		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
15605	}
15606	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
15607		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
15608	}
15609	if s.PortalLogoImage != nil {
15610		if err := s.PortalLogoImage.Validate(); err != nil {
15611			invalidParams.AddNested("PortalLogoImage", err.(request.ErrInvalidParams))
15612		}
15613	}
15614
15615	if invalidParams.Len() > 0 {
15616		return invalidParams
15617	}
15618	return nil
15619}
15620
15621// SetClientToken sets the ClientToken field's value.
15622func (s *UpdatePortalInput) SetClientToken(v string) *UpdatePortalInput {
15623	s.ClientToken = &v
15624	return s
15625}
15626
15627// SetPortalContactEmail sets the PortalContactEmail field's value.
15628func (s *UpdatePortalInput) SetPortalContactEmail(v string) *UpdatePortalInput {
15629	s.PortalContactEmail = &v
15630	return s
15631}
15632
15633// SetPortalDescription sets the PortalDescription field's value.
15634func (s *UpdatePortalInput) SetPortalDescription(v string) *UpdatePortalInput {
15635	s.PortalDescription = &v
15636	return s
15637}
15638
15639// SetPortalId sets the PortalId field's value.
15640func (s *UpdatePortalInput) SetPortalId(v string) *UpdatePortalInput {
15641	s.PortalId = &v
15642	return s
15643}
15644
15645// SetPortalLogoImage sets the PortalLogoImage field's value.
15646func (s *UpdatePortalInput) SetPortalLogoImage(v *Image) *UpdatePortalInput {
15647	s.PortalLogoImage = v
15648	return s
15649}
15650
15651// SetPortalName sets the PortalName field's value.
15652func (s *UpdatePortalInput) SetPortalName(v string) *UpdatePortalInput {
15653	s.PortalName = &v
15654	return s
15655}
15656
15657// SetRoleArn sets the RoleArn field's value.
15658func (s *UpdatePortalInput) SetRoleArn(v string) *UpdatePortalInput {
15659	s.RoleArn = &v
15660	return s
15661}
15662
15663type UpdatePortalOutput struct {
15664	_ struct{} `type:"structure"`
15665
15666	// The status of the portal, which contains a state (UPDATING after successfully
15667	// calling this operation) and any error message.
15668	//
15669	// PortalStatus is a required field
15670	PortalStatus *PortalStatus `locationName:"portalStatus" type:"structure" required:"true"`
15671}
15672
15673// String returns the string representation
15674func (s UpdatePortalOutput) String() string {
15675	return awsutil.Prettify(s)
15676}
15677
15678// GoString returns the string representation
15679func (s UpdatePortalOutput) GoString() string {
15680	return s.String()
15681}
15682
15683// SetPortalStatus sets the PortalStatus field's value.
15684func (s *UpdatePortalOutput) SetPortalStatus(v *PortalStatus) *UpdatePortalOutput {
15685	s.PortalStatus = v
15686	return s
15687}
15688
15689type UpdateProjectInput struct {
15690	_ struct{} `type:"structure"`
15691
15692	// A unique case-sensitive identifier that you can provide to ensure the idempotency
15693	// of the request. Don't reuse this client token if a new idempotent request
15694	// is required.
15695	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
15696
15697	// A new description for the project.
15698	ProjectDescription *string `locationName:"projectDescription" min:"1" type:"string"`
15699
15700	// The ID of the project to update.
15701	//
15702	// ProjectId is a required field
15703	ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"`
15704
15705	// A new friendly name for the project.
15706	//
15707	// ProjectName is a required field
15708	ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"`
15709}
15710
15711// String returns the string representation
15712func (s UpdateProjectInput) String() string {
15713	return awsutil.Prettify(s)
15714}
15715
15716// GoString returns the string representation
15717func (s UpdateProjectInput) GoString() string {
15718	return s.String()
15719}
15720
15721// Validate inspects the fields of the type to determine if they are valid.
15722func (s *UpdateProjectInput) Validate() error {
15723	invalidParams := request.ErrInvalidParams{Context: "UpdateProjectInput"}
15724	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
15725		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
15726	}
15727	if s.ProjectDescription != nil && len(*s.ProjectDescription) < 1 {
15728		invalidParams.Add(request.NewErrParamMinLen("ProjectDescription", 1))
15729	}
15730	if s.ProjectId == nil {
15731		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
15732	}
15733	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
15734		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
15735	}
15736	if s.ProjectName == nil {
15737		invalidParams.Add(request.NewErrParamRequired("ProjectName"))
15738	}
15739	if s.ProjectName != nil && len(*s.ProjectName) < 1 {
15740		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1))
15741	}
15742
15743	if invalidParams.Len() > 0 {
15744		return invalidParams
15745	}
15746	return nil
15747}
15748
15749// SetClientToken sets the ClientToken field's value.
15750func (s *UpdateProjectInput) SetClientToken(v string) *UpdateProjectInput {
15751	s.ClientToken = &v
15752	return s
15753}
15754
15755// SetProjectDescription sets the ProjectDescription field's value.
15756func (s *UpdateProjectInput) SetProjectDescription(v string) *UpdateProjectInput {
15757	s.ProjectDescription = &v
15758	return s
15759}
15760
15761// SetProjectId sets the ProjectId field's value.
15762func (s *UpdateProjectInput) SetProjectId(v string) *UpdateProjectInput {
15763	s.ProjectId = &v
15764	return s
15765}
15766
15767// SetProjectName sets the ProjectName field's value.
15768func (s *UpdateProjectInput) SetProjectName(v string) *UpdateProjectInput {
15769	s.ProjectName = &v
15770	return s
15771}
15772
15773type UpdateProjectOutput struct {
15774	_ struct{} `type:"structure"`
15775}
15776
15777// String returns the string representation
15778func (s UpdateProjectOutput) String() string {
15779	return awsutil.Prettify(s)
15780}
15781
15782// GoString returns the string representation
15783func (s UpdateProjectOutput) GoString() string {
15784	return s.String()
15785}
15786
15787// Contains information for a user identity in an access policy.
15788type UserIdentity struct {
15789	_ struct{} `type:"structure"`
15790
15791	// The AWS SSO ID of the user.
15792	//
15793	// Id is a required field
15794	Id *string `locationName:"id" min:"1" type:"string" required:"true"`
15795}
15796
15797// String returns the string representation
15798func (s UserIdentity) String() string {
15799	return awsutil.Prettify(s)
15800}
15801
15802// GoString returns the string representation
15803func (s UserIdentity) GoString() string {
15804	return s.String()
15805}
15806
15807// Validate inspects the fields of the type to determine if they are valid.
15808func (s *UserIdentity) Validate() error {
15809	invalidParams := request.ErrInvalidParams{Context: "UserIdentity"}
15810	if s.Id == nil {
15811		invalidParams.Add(request.NewErrParamRequired("Id"))
15812	}
15813	if s.Id != nil && len(*s.Id) < 1 {
15814		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
15815	}
15816
15817	if invalidParams.Len() > 0 {
15818		return invalidParams
15819	}
15820	return nil
15821}
15822
15823// SetId sets the Id field's value.
15824func (s *UserIdentity) SetId(v string) *UserIdentity {
15825	s.Id = &v
15826	return s
15827}
15828
15829// Identifies a property value used in an expression.
15830type VariableValue struct {
15831	_ struct{} `type:"structure"`
15832
15833	// The ID of the hierarchy to query for the property ID. You can use the hierarchy's
15834	// name instead of the hierarchy's ID.
15835	//
15836	// You use a hierarchy ID instead of a model ID because you can have several
15837	// hierarchies using the same model and therefore the same propertyId. For example,
15838	// you might have separately grouped assets that come from the same asset model.
15839	// For more information, see Asset Hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html)
15840	// in the AWS IoT SiteWise User Guide.
15841	HierarchyId *string `locationName:"hierarchyId" min:"1" type:"string"`
15842
15843	// The ID of the property to use as the variable. You can use the property name
15844	// if it's from the same asset model.
15845	//
15846	// PropertyId is a required field
15847	PropertyId *string `locationName:"propertyId" min:"1" type:"string" required:"true"`
15848}
15849
15850// String returns the string representation
15851func (s VariableValue) String() string {
15852	return awsutil.Prettify(s)
15853}
15854
15855// GoString returns the string representation
15856func (s VariableValue) GoString() string {
15857	return s.String()
15858}
15859
15860// Validate inspects the fields of the type to determine if they are valid.
15861func (s *VariableValue) Validate() error {
15862	invalidParams := request.ErrInvalidParams{Context: "VariableValue"}
15863	if s.HierarchyId != nil && len(*s.HierarchyId) < 1 {
15864		invalidParams.Add(request.NewErrParamMinLen("HierarchyId", 1))
15865	}
15866	if s.PropertyId == nil {
15867		invalidParams.Add(request.NewErrParamRequired("PropertyId"))
15868	}
15869	if s.PropertyId != nil && len(*s.PropertyId) < 1 {
15870		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 1))
15871	}
15872
15873	if invalidParams.Len() > 0 {
15874		return invalidParams
15875	}
15876	return nil
15877}
15878
15879// SetHierarchyId sets the HierarchyId field's value.
15880func (s *VariableValue) SetHierarchyId(v string) *VariableValue {
15881	s.HierarchyId = &v
15882	return s
15883}
15884
15885// SetPropertyId sets the PropertyId field's value.
15886func (s *VariableValue) SetPropertyId(v string) *VariableValue {
15887	s.PropertyId = &v
15888	return s
15889}
15890
15891// Contains an asset property value (of a single type only).
15892type Variant struct {
15893	_ struct{} `type:"structure"`
15894
15895	// Asset property data of type Boolean (true or false).
15896	BooleanValue *bool `locationName:"booleanValue" type:"boolean"`
15897
15898	// Asset property data of type double (floating point number).
15899	DoubleValue *float64 `locationName:"doubleValue" type:"double"`
15900
15901	// Asset property data of type integer (whole number).
15902	IntegerValue *int64 `locationName:"integerValue" type:"integer"`
15903
15904	// Asset property data of type string (sequence of characters).
15905	StringValue *string `locationName:"stringValue" min:"1" type:"string"`
15906}
15907
15908// String returns the string representation
15909func (s Variant) String() string {
15910	return awsutil.Prettify(s)
15911}
15912
15913// GoString returns the string representation
15914func (s Variant) GoString() string {
15915	return s.String()
15916}
15917
15918// Validate inspects the fields of the type to determine if they are valid.
15919func (s *Variant) Validate() error {
15920	invalidParams := request.ErrInvalidParams{Context: "Variant"}
15921	if s.StringValue != nil && len(*s.StringValue) < 1 {
15922		invalidParams.Add(request.NewErrParamMinLen("StringValue", 1))
15923	}
15924
15925	if invalidParams.Len() > 0 {
15926		return invalidParams
15927	}
15928	return nil
15929}
15930
15931// SetBooleanValue sets the BooleanValue field's value.
15932func (s *Variant) SetBooleanValue(v bool) *Variant {
15933	s.BooleanValue = &v
15934	return s
15935}
15936
15937// SetDoubleValue sets the DoubleValue field's value.
15938func (s *Variant) SetDoubleValue(v float64) *Variant {
15939	s.DoubleValue = &v
15940	return s
15941}
15942
15943// SetIntegerValue sets the IntegerValue field's value.
15944func (s *Variant) SetIntegerValue(v int64) *Variant {
15945	s.IntegerValue = &v
15946	return s
15947}
15948
15949// SetStringValue sets the StringValue field's value.
15950func (s *Variant) SetStringValue(v string) *Variant {
15951	s.StringValue = &v
15952	return s
15953}
15954
15955const (
15956	// AggregateTypeAverage is a AggregateType enum value
15957	AggregateTypeAverage = "AVERAGE"
15958
15959	// AggregateTypeCount is a AggregateType enum value
15960	AggregateTypeCount = "COUNT"
15961
15962	// AggregateTypeMaximum is a AggregateType enum value
15963	AggregateTypeMaximum = "MAXIMUM"
15964
15965	// AggregateTypeMinimum is a AggregateType enum value
15966	AggregateTypeMinimum = "MINIMUM"
15967
15968	// AggregateTypeSum is a AggregateType enum value
15969	AggregateTypeSum = "SUM"
15970
15971	// AggregateTypeStandardDeviation is a AggregateType enum value
15972	AggregateTypeStandardDeviation = "STANDARD_DEVIATION"
15973)
15974
15975const (
15976	// AssetErrorCodeInternalFailure is a AssetErrorCode enum value
15977	AssetErrorCodeInternalFailure = "INTERNAL_FAILURE"
15978)
15979
15980const (
15981	// AssetModelStateCreating is a AssetModelState enum value
15982	AssetModelStateCreating = "CREATING"
15983
15984	// AssetModelStateActive is a AssetModelState enum value
15985	AssetModelStateActive = "ACTIVE"
15986
15987	// AssetModelStateUpdating is a AssetModelState enum value
15988	AssetModelStateUpdating = "UPDATING"
15989
15990	// AssetModelStatePropagating is a AssetModelState enum value
15991	AssetModelStatePropagating = "PROPAGATING"
15992
15993	// AssetModelStateDeleting is a AssetModelState enum value
15994	AssetModelStateDeleting = "DELETING"
15995
15996	// AssetModelStateFailed is a AssetModelState enum value
15997	AssetModelStateFailed = "FAILED"
15998)
15999
16000const (
16001	// AssetStateCreating is a AssetState enum value
16002	AssetStateCreating = "CREATING"
16003
16004	// AssetStateActive is a AssetState enum value
16005	AssetStateActive = "ACTIVE"
16006
16007	// AssetStateUpdating is a AssetState enum value
16008	AssetStateUpdating = "UPDATING"
16009
16010	// AssetStateDeleting is a AssetState enum value
16011	AssetStateDeleting = "DELETING"
16012
16013	// AssetStateFailed is a AssetState enum value
16014	AssetStateFailed = "FAILED"
16015)
16016
16017const (
16018	// BatchPutAssetPropertyValueErrorCodeResourceNotFoundException is a BatchPutAssetPropertyValueErrorCode enum value
16019	BatchPutAssetPropertyValueErrorCodeResourceNotFoundException = "ResourceNotFoundException"
16020
16021	// BatchPutAssetPropertyValueErrorCodeInvalidRequestException is a BatchPutAssetPropertyValueErrorCode enum value
16022	BatchPutAssetPropertyValueErrorCodeInvalidRequestException = "InvalidRequestException"
16023
16024	// BatchPutAssetPropertyValueErrorCodeInternalFailureException is a BatchPutAssetPropertyValueErrorCode enum value
16025	BatchPutAssetPropertyValueErrorCodeInternalFailureException = "InternalFailureException"
16026
16027	// BatchPutAssetPropertyValueErrorCodeServiceUnavailableException is a BatchPutAssetPropertyValueErrorCode enum value
16028	BatchPutAssetPropertyValueErrorCodeServiceUnavailableException = "ServiceUnavailableException"
16029
16030	// BatchPutAssetPropertyValueErrorCodeThrottlingException is a BatchPutAssetPropertyValueErrorCode enum value
16031	BatchPutAssetPropertyValueErrorCodeThrottlingException = "ThrottlingException"
16032
16033	// BatchPutAssetPropertyValueErrorCodeLimitExceededException is a BatchPutAssetPropertyValueErrorCode enum value
16034	BatchPutAssetPropertyValueErrorCodeLimitExceededException = "LimitExceededException"
16035
16036	// BatchPutAssetPropertyValueErrorCodeConflictingOperationException is a BatchPutAssetPropertyValueErrorCode enum value
16037	BatchPutAssetPropertyValueErrorCodeConflictingOperationException = "ConflictingOperationException"
16038
16039	// BatchPutAssetPropertyValueErrorCodeTimestampOutOfRangeException is a BatchPutAssetPropertyValueErrorCode enum value
16040	BatchPutAssetPropertyValueErrorCodeTimestampOutOfRangeException = "TimestampOutOfRangeException"
16041
16042	// BatchPutAssetPropertyValueErrorCodeAccessDeniedException is a BatchPutAssetPropertyValueErrorCode enum value
16043	BatchPutAssetPropertyValueErrorCodeAccessDeniedException = "AccessDeniedException"
16044)
16045
16046const (
16047	// CapabilitySyncStatusInSync is a CapabilitySyncStatus enum value
16048	CapabilitySyncStatusInSync = "IN_SYNC"
16049
16050	// CapabilitySyncStatusOutOfSync is a CapabilitySyncStatus enum value
16051	CapabilitySyncStatusOutOfSync = "OUT_OF_SYNC"
16052
16053	// CapabilitySyncStatusSyncFailed is a CapabilitySyncStatus enum value
16054	CapabilitySyncStatusSyncFailed = "SYNC_FAILED"
16055)
16056
16057const (
16058	// ErrorCodeValidationError is a ErrorCode enum value
16059	ErrorCodeValidationError = "VALIDATION_ERROR"
16060
16061	// ErrorCodeInternalFailure is a ErrorCode enum value
16062	ErrorCodeInternalFailure = "INTERNAL_FAILURE"
16063)
16064
16065const (
16066	// IdentityTypeUser is a IdentityType enum value
16067	IdentityTypeUser = "USER"
16068
16069	// IdentityTypeGroup is a IdentityType enum value
16070	IdentityTypeGroup = "GROUP"
16071)
16072
16073const (
16074	// ImageFileTypePng is a ImageFileType enum value
16075	ImageFileTypePng = "PNG"
16076)
16077
16078const (
16079	// ListAssetsFilterAll is a ListAssetsFilter enum value
16080	ListAssetsFilterAll = "ALL"
16081
16082	// ListAssetsFilterTopLevel is a ListAssetsFilter enum value
16083	ListAssetsFilterTopLevel = "TOP_LEVEL"
16084)
16085
16086const (
16087	// LoggingLevelError is a LoggingLevel enum value
16088	LoggingLevelError = "ERROR"
16089
16090	// LoggingLevelInfo is a LoggingLevel enum value
16091	LoggingLevelInfo = "INFO"
16092
16093	// LoggingLevelOff is a LoggingLevel enum value
16094	LoggingLevelOff = "OFF"
16095)
16096
16097const (
16098	// MonitorErrorCodeInternalFailure is a MonitorErrorCode enum value
16099	MonitorErrorCodeInternalFailure = "INTERNAL_FAILURE"
16100)
16101
16102const (
16103	// PermissionAdministrator is a Permission enum value
16104	PermissionAdministrator = "ADMINISTRATOR"
16105
16106	// PermissionViewer is a Permission enum value
16107	PermissionViewer = "VIEWER"
16108)
16109
16110const (
16111	// PortalStateCreating is a PortalState enum value
16112	PortalStateCreating = "CREATING"
16113
16114	// PortalStateUpdating is a PortalState enum value
16115	PortalStateUpdating = "UPDATING"
16116
16117	// PortalStateDeleting is a PortalState enum value
16118	PortalStateDeleting = "DELETING"
16119
16120	// PortalStateActive is a PortalState enum value
16121	PortalStateActive = "ACTIVE"
16122
16123	// PortalStateFailed is a PortalState enum value
16124	PortalStateFailed = "FAILED"
16125)
16126
16127const (
16128	// PropertyDataTypeString is a PropertyDataType enum value
16129	PropertyDataTypeString = "STRING"
16130
16131	// PropertyDataTypeInteger is a PropertyDataType enum value
16132	PropertyDataTypeInteger = "INTEGER"
16133
16134	// PropertyDataTypeDouble is a PropertyDataType enum value
16135	PropertyDataTypeDouble = "DOUBLE"
16136
16137	// PropertyDataTypeBoolean is a PropertyDataType enum value
16138	PropertyDataTypeBoolean = "BOOLEAN"
16139)
16140
16141const (
16142	// PropertyNotificationStateEnabled is a PropertyNotificationState enum value
16143	PropertyNotificationStateEnabled = "ENABLED"
16144
16145	// PropertyNotificationStateDisabled is a PropertyNotificationState enum value
16146	PropertyNotificationStateDisabled = "DISABLED"
16147)
16148
16149const (
16150	// QualityGood is a Quality enum value
16151	QualityGood = "GOOD"
16152
16153	// QualityBad is a Quality enum value
16154	QualityBad = "BAD"
16155
16156	// QualityUncertain is a Quality enum value
16157	QualityUncertain = "UNCERTAIN"
16158)
16159
16160const (
16161	// ResourceTypePortal is a ResourceType enum value
16162	ResourceTypePortal = "PORTAL"
16163
16164	// ResourceTypeProject is a ResourceType enum value
16165	ResourceTypeProject = "PROJECT"
16166)
16167
16168const (
16169	// TimeOrderingAscending is a TimeOrdering enum value
16170	TimeOrderingAscending = "ASCENDING"
16171
16172	// TimeOrderingDescending is a TimeOrdering enum value
16173	TimeOrderingDescending = "DESCENDING"
16174)
16175