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 7 days in the past and no more than 5 minutes
389// in the future. AWS IoT SiteWise rejects timestamps outside of the inclusive
390// range of [-7 days, +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// AWS IoT SiteWise authorizes access to each BatchPutAssetPropertyValue entry
399// individually. For more information, see BatchPutAssetPropertyValue authorization
400// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-batchputassetpropertyvalue-action)
401// in the AWS IoT SiteWise User Guide.
402//
403// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
404// with awserr.Error's Code and Message methods to get detailed information about
405// the error.
406//
407// See the AWS API reference guide for AWS IoT SiteWise's
408// API operation BatchPutAssetPropertyValue for usage and error information.
409//
410// Returned Error Types:
411//   * InvalidRequestException
412//   The request isn't valid. This can occur if your request contains malformed
413//   JSON or unsupported characters. Check your request and try again.
414//
415//   * ResourceNotFoundException
416//   The requested resource can't be found.
417//
418//   * InternalFailureException
419//   AWS IoT SiteWise can't process your request right now. Try again later.
420//
421//   * ThrottlingException
422//   Your request exceeded a rate limit. For example, you might have exceeded
423//   the number of AWS IoT SiteWise assets that can be created per second, the
424//   allowed number of messages per second, and so on.
425//
426//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
427//   in the AWS IoT SiteWise User Guide.
428//
429//   * LimitExceededException
430//   You've reached the limit for a resource. For example, this can occur if you're
431//   trying to associate more than the allowed number of child assets or attempting
432//   to create more than the allowed number of properties for an asset model.
433//
434//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
435//   in the AWS IoT SiteWise User Guide.
436//
437//   * ServiceUnavailableException
438//   The requested service is unavailable.
439//
440//   * ConflictingOperationException
441//   Your request has conflicting operations. This can occur if you're trying
442//   to perform more than one operation on the same resource at the same time.
443//
444// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/BatchPutAssetPropertyValue
445func (c *IoTSiteWise) BatchPutAssetPropertyValue(input *BatchPutAssetPropertyValueInput) (*BatchPutAssetPropertyValueOutput, error) {
446	req, out := c.BatchPutAssetPropertyValueRequest(input)
447	return out, req.Send()
448}
449
450// BatchPutAssetPropertyValueWithContext is the same as BatchPutAssetPropertyValue with the addition of
451// the ability to pass a context and additional request options.
452//
453// See BatchPutAssetPropertyValue for details on how to use this API operation.
454//
455// The context must be non-nil and will be used for request cancellation. If
456// the context is nil a panic will occur. In the future the SDK may create
457// sub-contexts for http.Requests. See https://golang.org/pkg/context/
458// for more information on using Contexts.
459func (c *IoTSiteWise) BatchPutAssetPropertyValueWithContext(ctx aws.Context, input *BatchPutAssetPropertyValueInput, opts ...request.Option) (*BatchPutAssetPropertyValueOutput, error) {
460	req, out := c.BatchPutAssetPropertyValueRequest(input)
461	req.SetContext(ctx)
462	req.ApplyOptions(opts...)
463	return out, req.Send()
464}
465
466const opCreateAccessPolicy = "CreateAccessPolicy"
467
468// CreateAccessPolicyRequest generates a "aws/request.Request" representing the
469// client's request for the CreateAccessPolicy operation. The "output" return
470// value will be populated with the request's response once the request completes
471// successfully.
472//
473// Use "Send" method on the returned Request to send the API call to the service.
474// the "output" return value is not valid until after Send returns without error.
475//
476// See CreateAccessPolicy for more information on using the CreateAccessPolicy
477// API call, and error handling.
478//
479// This method is useful when you want to inject custom logic or configuration
480// into the SDK's request lifecycle. Such as custom headers, or retry logic.
481//
482//
483//    // Example sending a request using the CreateAccessPolicyRequest method.
484//    req, resp := client.CreateAccessPolicyRequest(params)
485//
486//    err := req.Send()
487//    if err == nil { // resp is now filled
488//        fmt.Println(resp)
489//    }
490//
491// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateAccessPolicy
492func (c *IoTSiteWise) CreateAccessPolicyRequest(input *CreateAccessPolicyInput) (req *request.Request, output *CreateAccessPolicyOutput) {
493	op := &request.Operation{
494		Name:       opCreateAccessPolicy,
495		HTTPMethod: "POST",
496		HTTPPath:   "/access-policies",
497	}
498
499	if input == nil {
500		input = &CreateAccessPolicyInput{}
501	}
502
503	output = &CreateAccessPolicyOutput{}
504	req = c.newRequest(op, input, output)
505	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
506	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
507	return
508}
509
510// CreateAccessPolicy API operation for AWS IoT SiteWise.
511//
512// Creates an access policy that grants the specified identity (AWS SSO user,
513// AWS SSO group, or IAM user) access to the specified AWS IoT SiteWise Monitor
514// portal or project resource.
515//
516// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
517// with awserr.Error's Code and Message methods to get detailed information about
518// the error.
519//
520// See the AWS API reference guide for AWS IoT SiteWise's
521// API operation CreateAccessPolicy for usage and error information.
522//
523// Returned Error Types:
524//   * InvalidRequestException
525//   The request isn't valid. This can occur if your request contains malformed
526//   JSON or unsupported characters. Check your request and try again.
527//
528//   * ResourceNotFoundException
529//   The requested resource can't be found.
530//
531//   * InternalFailureException
532//   AWS IoT SiteWise can't process your request right now. Try again later.
533//
534//   * ThrottlingException
535//   Your request exceeded a rate limit. For example, you might have exceeded
536//   the number of AWS IoT SiteWise assets that can be created per second, the
537//   allowed number of messages per second, and so on.
538//
539//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
540//   in the AWS IoT SiteWise User Guide.
541//
542//   * LimitExceededException
543//   You've reached the limit for a resource. For example, this can occur if you're
544//   trying to associate more than the allowed number of child assets or attempting
545//   to create more than the allowed number of properties for an asset model.
546//
547//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
548//   in the AWS IoT SiteWise User Guide.
549//
550// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateAccessPolicy
551func (c *IoTSiteWise) CreateAccessPolicy(input *CreateAccessPolicyInput) (*CreateAccessPolicyOutput, error) {
552	req, out := c.CreateAccessPolicyRequest(input)
553	return out, req.Send()
554}
555
556// CreateAccessPolicyWithContext is the same as CreateAccessPolicy with the addition of
557// the ability to pass a context and additional request options.
558//
559// See CreateAccessPolicy for details on how to use this API operation.
560//
561// The context must be non-nil and will be used for request cancellation. If
562// the context is nil a panic will occur. In the future the SDK may create
563// sub-contexts for http.Requests. See https://golang.org/pkg/context/
564// for more information on using Contexts.
565func (c *IoTSiteWise) CreateAccessPolicyWithContext(ctx aws.Context, input *CreateAccessPolicyInput, opts ...request.Option) (*CreateAccessPolicyOutput, error) {
566	req, out := c.CreateAccessPolicyRequest(input)
567	req.SetContext(ctx)
568	req.ApplyOptions(opts...)
569	return out, req.Send()
570}
571
572const opCreateAsset = "CreateAsset"
573
574// CreateAssetRequest generates a "aws/request.Request" representing the
575// client's request for the CreateAsset operation. The "output" return
576// value will be populated with the request's response once the request completes
577// successfully.
578//
579// Use "Send" method on the returned Request to send the API call to the service.
580// the "output" return value is not valid until after Send returns without error.
581//
582// See CreateAsset for more information on using the CreateAsset
583// API call, and error handling.
584//
585// This method is useful when you want to inject custom logic or configuration
586// into the SDK's request lifecycle. Such as custom headers, or retry logic.
587//
588//
589//    // Example sending a request using the CreateAssetRequest method.
590//    req, resp := client.CreateAssetRequest(params)
591//
592//    err := req.Send()
593//    if err == nil { // resp is now filled
594//        fmt.Println(resp)
595//    }
596//
597// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateAsset
598func (c *IoTSiteWise) CreateAssetRequest(input *CreateAssetInput) (req *request.Request, output *CreateAssetOutput) {
599	op := &request.Operation{
600		Name:       opCreateAsset,
601		HTTPMethod: "POST",
602		HTTPPath:   "/assets",
603	}
604
605	if input == nil {
606		input = &CreateAssetInput{}
607	}
608
609	output = &CreateAssetOutput{}
610	req = c.newRequest(op, input, output)
611	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
612	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
613	return
614}
615
616// CreateAsset API operation for AWS IoT SiteWise.
617//
618// Creates an asset from an existing asset model. For more information, see
619// Creating assets (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-assets.html)
620// in the AWS IoT SiteWise User Guide.
621//
622// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
623// with awserr.Error's Code and Message methods to get detailed information about
624// the error.
625//
626// See the AWS API reference guide for AWS IoT SiteWise's
627// API operation CreateAsset for usage and error information.
628//
629// Returned Error Types:
630//   * InvalidRequestException
631//   The request isn't valid. This can occur if your request contains malformed
632//   JSON or unsupported characters. Check your request and try again.
633//
634//   * ResourceAlreadyExistsException
635//   The resource already exists.
636//
637//   * ResourceNotFoundException
638//   The requested resource can't be found.
639//
640//   * InternalFailureException
641//   AWS IoT SiteWise can't process your request right now. Try again later.
642//
643//   * ThrottlingException
644//   Your request exceeded a rate limit. For example, you might have exceeded
645//   the number of AWS IoT SiteWise assets that can be created per second, the
646//   allowed number of messages per second, and so on.
647//
648//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
649//   in the AWS IoT SiteWise User Guide.
650//
651//   * LimitExceededException
652//   You've reached the limit for a resource. For example, this can occur if you're
653//   trying to associate more than the allowed number of child assets or attempting
654//   to create more than the allowed number of properties for an asset model.
655//
656//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
657//   in the AWS IoT SiteWise User Guide.
658//
659//   * ConflictingOperationException
660//   Your request has conflicting operations. This can occur if you're trying
661//   to perform more than one operation on the same resource at the same time.
662//
663// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateAsset
664func (c *IoTSiteWise) CreateAsset(input *CreateAssetInput) (*CreateAssetOutput, error) {
665	req, out := c.CreateAssetRequest(input)
666	return out, req.Send()
667}
668
669// CreateAssetWithContext is the same as CreateAsset with the addition of
670// the ability to pass a context and additional request options.
671//
672// See CreateAsset for details on how to use this API operation.
673//
674// The context must be non-nil and will be used for request cancellation. If
675// the context is nil a panic will occur. In the future the SDK may create
676// sub-contexts for http.Requests. See https://golang.org/pkg/context/
677// for more information on using Contexts.
678func (c *IoTSiteWise) CreateAssetWithContext(ctx aws.Context, input *CreateAssetInput, opts ...request.Option) (*CreateAssetOutput, error) {
679	req, out := c.CreateAssetRequest(input)
680	req.SetContext(ctx)
681	req.ApplyOptions(opts...)
682	return out, req.Send()
683}
684
685const opCreateAssetModel = "CreateAssetModel"
686
687// CreateAssetModelRequest generates a "aws/request.Request" representing the
688// client's request for the CreateAssetModel operation. The "output" return
689// value will be populated with the request's response once the request completes
690// successfully.
691//
692// Use "Send" method on the returned Request to send the API call to the service.
693// the "output" return value is not valid until after Send returns without error.
694//
695// See CreateAssetModel for more information on using the CreateAssetModel
696// API call, and error handling.
697//
698// This method is useful when you want to inject custom logic or configuration
699// into the SDK's request lifecycle. Such as custom headers, or retry logic.
700//
701//
702//    // Example sending a request using the CreateAssetModelRequest method.
703//    req, resp := client.CreateAssetModelRequest(params)
704//
705//    err := req.Send()
706//    if err == nil { // resp is now filled
707//        fmt.Println(resp)
708//    }
709//
710// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateAssetModel
711func (c *IoTSiteWise) CreateAssetModelRequest(input *CreateAssetModelInput) (req *request.Request, output *CreateAssetModelOutput) {
712	op := &request.Operation{
713		Name:       opCreateAssetModel,
714		HTTPMethod: "POST",
715		HTTPPath:   "/asset-models",
716	}
717
718	if input == nil {
719		input = &CreateAssetModelInput{}
720	}
721
722	output = &CreateAssetModelOutput{}
723	req = c.newRequest(op, input, output)
724	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
725	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
726	return
727}
728
729// CreateAssetModel API operation for AWS IoT SiteWise.
730//
731// Creates an asset model from specified property and hierarchy definitions.
732// You create assets from asset models. With asset models, you can easily create
733// assets of the same type that have standardized definitions. Each asset created
734// from a model inherits the asset model's property and hierarchy definitions.
735// For more information, see Defining asset models (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/define-models.html)
736// in the AWS IoT SiteWise User Guide.
737//
738// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
739// with awserr.Error's Code and Message methods to get detailed information about
740// the error.
741//
742// See the AWS API reference guide for AWS IoT SiteWise's
743// API operation CreateAssetModel for usage and error information.
744//
745// Returned Error Types:
746//   * InvalidRequestException
747//   The request isn't valid. This can occur if your request contains malformed
748//   JSON or unsupported characters. Check your request and try again.
749//
750//   * ResourceAlreadyExistsException
751//   The resource already exists.
752//
753//   * ResourceNotFoundException
754//   The requested resource can't be found.
755//
756//   * InternalFailureException
757//   AWS IoT SiteWise can't process your request right now. Try again later.
758//
759//   * ThrottlingException
760//   Your request exceeded a rate limit. For example, you might have exceeded
761//   the number of AWS IoT SiteWise assets that can be created per second, the
762//   allowed number of messages per second, and so on.
763//
764//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
765//   in the AWS IoT SiteWise User Guide.
766//
767//   * LimitExceededException
768//   You've reached the limit for a resource. For example, this can occur if you're
769//   trying to associate more than the allowed number of child assets or attempting
770//   to create more than the allowed number of properties for an asset model.
771//
772//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
773//   in the AWS IoT SiteWise User Guide.
774//
775//   * ConflictingOperationException
776//   Your request has conflicting operations. This can occur if you're trying
777//   to perform more than one operation on the same resource at the same time.
778//
779// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateAssetModel
780func (c *IoTSiteWise) CreateAssetModel(input *CreateAssetModelInput) (*CreateAssetModelOutput, error) {
781	req, out := c.CreateAssetModelRequest(input)
782	return out, req.Send()
783}
784
785// CreateAssetModelWithContext is the same as CreateAssetModel with the addition of
786// the ability to pass a context and additional request options.
787//
788// See CreateAssetModel for details on how to use this API operation.
789//
790// The context must be non-nil and will be used for request cancellation. If
791// the context is nil a panic will occur. In the future the SDK may create
792// sub-contexts for http.Requests. See https://golang.org/pkg/context/
793// for more information on using Contexts.
794func (c *IoTSiteWise) CreateAssetModelWithContext(ctx aws.Context, input *CreateAssetModelInput, opts ...request.Option) (*CreateAssetModelOutput, error) {
795	req, out := c.CreateAssetModelRequest(input)
796	req.SetContext(ctx)
797	req.ApplyOptions(opts...)
798	return out, req.Send()
799}
800
801const opCreateDashboard = "CreateDashboard"
802
803// CreateDashboardRequest generates a "aws/request.Request" representing the
804// client's request for the CreateDashboard operation. The "output" return
805// value will be populated with the request's response once the request completes
806// successfully.
807//
808// Use "Send" method on the returned Request to send the API call to the service.
809// the "output" return value is not valid until after Send returns without error.
810//
811// See CreateDashboard for more information on using the CreateDashboard
812// API call, and error handling.
813//
814// This method is useful when you want to inject custom logic or configuration
815// into the SDK's request lifecycle. Such as custom headers, or retry logic.
816//
817//
818//    // Example sending a request using the CreateDashboardRequest method.
819//    req, resp := client.CreateDashboardRequest(params)
820//
821//    err := req.Send()
822//    if err == nil { // resp is now filled
823//        fmt.Println(resp)
824//    }
825//
826// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateDashboard
827func (c *IoTSiteWise) CreateDashboardRequest(input *CreateDashboardInput) (req *request.Request, output *CreateDashboardOutput) {
828	op := &request.Operation{
829		Name:       opCreateDashboard,
830		HTTPMethod: "POST",
831		HTTPPath:   "/dashboards",
832	}
833
834	if input == nil {
835		input = &CreateDashboardInput{}
836	}
837
838	output = &CreateDashboardOutput{}
839	req = c.newRequest(op, input, output)
840	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
841	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
842	return
843}
844
845// CreateDashboard API operation for AWS IoT SiteWise.
846//
847// Creates a dashboard in an AWS IoT SiteWise Monitor project.
848//
849// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
850// with awserr.Error's Code and Message methods to get detailed information about
851// the error.
852//
853// See the AWS API reference guide for AWS IoT SiteWise's
854// API operation CreateDashboard for usage and error information.
855//
856// Returned Error Types:
857//   * InvalidRequestException
858//   The request isn't valid. This can occur if your request contains malformed
859//   JSON or unsupported characters. Check your request and try again.
860//
861//   * ResourceNotFoundException
862//   The requested resource can't be found.
863//
864//   * InternalFailureException
865//   AWS IoT SiteWise can't process your request right now. Try again later.
866//
867//   * ThrottlingException
868//   Your request exceeded a rate limit. For example, you might have exceeded
869//   the number of AWS IoT SiteWise assets that can be created per second, the
870//   allowed number of messages per second, and so on.
871//
872//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
873//   in the AWS IoT SiteWise User Guide.
874//
875//   * LimitExceededException
876//   You've reached the limit for a resource. For example, this can occur if you're
877//   trying to associate more than the allowed number of child assets or attempting
878//   to create more than the allowed number of properties for an asset model.
879//
880//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
881//   in the AWS IoT SiteWise User Guide.
882//
883// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateDashboard
884func (c *IoTSiteWise) CreateDashboard(input *CreateDashboardInput) (*CreateDashboardOutput, error) {
885	req, out := c.CreateDashboardRequest(input)
886	return out, req.Send()
887}
888
889// CreateDashboardWithContext is the same as CreateDashboard with the addition of
890// the ability to pass a context and additional request options.
891//
892// See CreateDashboard for details on how to use this API operation.
893//
894// The context must be non-nil and will be used for request cancellation. If
895// the context is nil a panic will occur. In the future the SDK may create
896// sub-contexts for http.Requests. See https://golang.org/pkg/context/
897// for more information on using Contexts.
898func (c *IoTSiteWise) CreateDashboardWithContext(ctx aws.Context, input *CreateDashboardInput, opts ...request.Option) (*CreateDashboardOutput, error) {
899	req, out := c.CreateDashboardRequest(input)
900	req.SetContext(ctx)
901	req.ApplyOptions(opts...)
902	return out, req.Send()
903}
904
905const opCreateGateway = "CreateGateway"
906
907// CreateGatewayRequest generates a "aws/request.Request" representing the
908// client's request for the CreateGateway operation. The "output" return
909// value will be populated with the request's response once the request completes
910// successfully.
911//
912// Use "Send" method on the returned Request to send the API call to the service.
913// the "output" return value is not valid until after Send returns without error.
914//
915// See CreateGateway for more information on using the CreateGateway
916// API call, and error handling.
917//
918// This method is useful when you want to inject custom logic or configuration
919// into the SDK's request lifecycle. Such as custom headers, or retry logic.
920//
921//
922//    // Example sending a request using the CreateGatewayRequest method.
923//    req, resp := client.CreateGatewayRequest(params)
924//
925//    err := req.Send()
926//    if err == nil { // resp is now filled
927//        fmt.Println(resp)
928//    }
929//
930// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateGateway
931func (c *IoTSiteWise) CreateGatewayRequest(input *CreateGatewayInput) (req *request.Request, output *CreateGatewayOutput) {
932	op := &request.Operation{
933		Name:       opCreateGateway,
934		HTTPMethod: "POST",
935		HTTPPath:   "/20200301/gateways",
936	}
937
938	if input == nil {
939		input = &CreateGatewayInput{}
940	}
941
942	output = &CreateGatewayOutput{}
943	req = c.newRequest(op, input, output)
944	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("edge.", nil))
945	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
946	return
947}
948
949// CreateGateway API operation for AWS IoT SiteWise.
950//
951// Creates a gateway, which is a virtual or edge device that delivers industrial
952// data streams from local servers to AWS IoT SiteWise. For more information,
953// see Ingesting data using a gateway (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/gateway-connector.html)
954// in the AWS IoT SiteWise User Guide.
955//
956// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
957// with awserr.Error's Code and Message methods to get detailed information about
958// the error.
959//
960// See the AWS API reference guide for AWS IoT SiteWise's
961// API operation CreateGateway for usage and error information.
962//
963// Returned Error Types:
964//   * InvalidRequestException
965//   The request isn't valid. This can occur if your request contains malformed
966//   JSON or unsupported characters. Check your request and try again.
967//
968//   * ResourceAlreadyExistsException
969//   The resource already exists.
970//
971//   * InternalFailureException
972//   AWS IoT SiteWise can't process your request right now. Try again later.
973//
974//   * ThrottlingException
975//   Your request exceeded a rate limit. For example, you might have exceeded
976//   the number of AWS IoT SiteWise assets that can be created per second, the
977//   allowed number of messages per second, and so on.
978//
979//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
980//   in the AWS IoT SiteWise User Guide.
981//
982//   * LimitExceededException
983//   You've reached the limit for a resource. For example, this can occur if you're
984//   trying to associate more than the allowed number of child assets or attempting
985//   to create more than the allowed number of properties for an asset model.
986//
987//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
988//   in the AWS IoT SiteWise User Guide.
989//
990// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateGateway
991func (c *IoTSiteWise) CreateGateway(input *CreateGatewayInput) (*CreateGatewayOutput, error) {
992	req, out := c.CreateGatewayRequest(input)
993	return out, req.Send()
994}
995
996// CreateGatewayWithContext is the same as CreateGateway with the addition of
997// the ability to pass a context and additional request options.
998//
999// See CreateGateway for details on how to use this API operation.
1000//
1001// The context must be non-nil and will be used for request cancellation. If
1002// the context is nil a panic will occur. In the future the SDK may create
1003// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1004// for more information on using Contexts.
1005func (c *IoTSiteWise) CreateGatewayWithContext(ctx aws.Context, input *CreateGatewayInput, opts ...request.Option) (*CreateGatewayOutput, error) {
1006	req, out := c.CreateGatewayRequest(input)
1007	req.SetContext(ctx)
1008	req.ApplyOptions(opts...)
1009	return out, req.Send()
1010}
1011
1012const opCreatePortal = "CreatePortal"
1013
1014// CreatePortalRequest generates a "aws/request.Request" representing the
1015// client's request for the CreatePortal operation. The "output" return
1016// value will be populated with the request's response once the request completes
1017// successfully.
1018//
1019// Use "Send" method on the returned Request to send the API call to the service.
1020// the "output" return value is not valid until after Send returns without error.
1021//
1022// See CreatePortal for more information on using the CreatePortal
1023// API call, and error handling.
1024//
1025// This method is useful when you want to inject custom logic or configuration
1026// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1027//
1028//
1029//    // Example sending a request using the CreatePortalRequest method.
1030//    req, resp := client.CreatePortalRequest(params)
1031//
1032//    err := req.Send()
1033//    if err == nil { // resp is now filled
1034//        fmt.Println(resp)
1035//    }
1036//
1037// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreatePortal
1038func (c *IoTSiteWise) CreatePortalRequest(input *CreatePortalInput) (req *request.Request, output *CreatePortalOutput) {
1039	op := &request.Operation{
1040		Name:       opCreatePortal,
1041		HTTPMethod: "POST",
1042		HTTPPath:   "/portals",
1043	}
1044
1045	if input == nil {
1046		input = &CreatePortalInput{}
1047	}
1048
1049	output = &CreatePortalOutput{}
1050	req = c.newRequest(op, input, output)
1051	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
1052	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1053	return
1054}
1055
1056// CreatePortal API operation for AWS IoT SiteWise.
1057//
1058// Creates a portal, which can contain projects and dashboards. AWS IoT SiteWise
1059// Monitor uses AWS SSO or IAM to authenticate portal users and manage user
1060// permissions.
1061//
1062// Before you can sign in to a new portal, you must add at least one identity
1063// to that portal. For more information, see Adding or removing portal administrators
1064// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/administer-portals.html#portal-change-admins)
1065// in the AWS IoT SiteWise User Guide.
1066//
1067// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1068// with awserr.Error's Code and Message methods to get detailed information about
1069// the error.
1070//
1071// See the AWS API reference guide for AWS IoT SiteWise's
1072// API operation CreatePortal for usage and error information.
1073//
1074// Returned Error Types:
1075//   * InvalidRequestException
1076//   The request isn't valid. This can occur if your request contains malformed
1077//   JSON or unsupported characters. Check your request and try again.
1078//
1079//   * ResourceNotFoundException
1080//   The requested resource can't be found.
1081//
1082//   * InternalFailureException
1083//   AWS IoT SiteWise can't process your request right now. Try again later.
1084//
1085//   * ThrottlingException
1086//   Your request exceeded a rate limit. For example, you might have exceeded
1087//   the number of AWS IoT SiteWise assets that can be created per second, the
1088//   allowed number of messages per second, and so on.
1089//
1090//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
1091//   in the AWS IoT SiteWise User Guide.
1092//
1093//   * LimitExceededException
1094//   You've reached the limit for a resource. For example, this can occur if you're
1095//   trying to associate more than the allowed number of child assets or attempting
1096//   to create more than the allowed number of properties for an asset model.
1097//
1098//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
1099//   in the AWS IoT SiteWise User Guide.
1100//
1101// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreatePortal
1102func (c *IoTSiteWise) CreatePortal(input *CreatePortalInput) (*CreatePortalOutput, error) {
1103	req, out := c.CreatePortalRequest(input)
1104	return out, req.Send()
1105}
1106
1107// CreatePortalWithContext is the same as CreatePortal with the addition of
1108// the ability to pass a context and additional request options.
1109//
1110// See CreatePortal for details on how to use this API operation.
1111//
1112// The context must be non-nil and will be used for request cancellation. If
1113// the context is nil a panic will occur. In the future the SDK may create
1114// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1115// for more information on using Contexts.
1116func (c *IoTSiteWise) CreatePortalWithContext(ctx aws.Context, input *CreatePortalInput, opts ...request.Option) (*CreatePortalOutput, error) {
1117	req, out := c.CreatePortalRequest(input)
1118	req.SetContext(ctx)
1119	req.ApplyOptions(opts...)
1120	return out, req.Send()
1121}
1122
1123const opCreateProject = "CreateProject"
1124
1125// CreateProjectRequest generates a "aws/request.Request" representing the
1126// client's request for the CreateProject operation. The "output" return
1127// value will be populated with the request's response once the request completes
1128// successfully.
1129//
1130// Use "Send" method on the returned Request to send the API call to the service.
1131// the "output" return value is not valid until after Send returns without error.
1132//
1133// See CreateProject for more information on using the CreateProject
1134// API call, and error handling.
1135//
1136// This method is useful when you want to inject custom logic or configuration
1137// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1138//
1139//
1140//    // Example sending a request using the CreateProjectRequest method.
1141//    req, resp := client.CreateProjectRequest(params)
1142//
1143//    err := req.Send()
1144//    if err == nil { // resp is now filled
1145//        fmt.Println(resp)
1146//    }
1147//
1148// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateProject
1149func (c *IoTSiteWise) CreateProjectRequest(input *CreateProjectInput) (req *request.Request, output *CreateProjectOutput) {
1150	op := &request.Operation{
1151		Name:       opCreateProject,
1152		HTTPMethod: "POST",
1153		HTTPPath:   "/projects",
1154	}
1155
1156	if input == nil {
1157		input = &CreateProjectInput{}
1158	}
1159
1160	output = &CreateProjectOutput{}
1161	req = c.newRequest(op, input, output)
1162	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
1163	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1164	return
1165}
1166
1167// CreateProject API operation for AWS IoT SiteWise.
1168//
1169// Creates a project in the specified portal.
1170//
1171// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1172// with awserr.Error's Code and Message methods to get detailed information about
1173// the error.
1174//
1175// See the AWS API reference guide for AWS IoT SiteWise's
1176// API operation CreateProject for usage and error information.
1177//
1178// Returned Error Types:
1179//   * InvalidRequestException
1180//   The request isn't valid. This can occur if your request contains malformed
1181//   JSON or unsupported characters. Check your request and try again.
1182//
1183//   * ResourceNotFoundException
1184//   The requested resource can't be found.
1185//
1186//   * InternalFailureException
1187//   AWS IoT SiteWise can't process your request right now. Try again later.
1188//
1189//   * ThrottlingException
1190//   Your request exceeded a rate limit. For example, you might have exceeded
1191//   the number of AWS IoT SiteWise assets that can be created per second, the
1192//   allowed number of messages per second, and so on.
1193//
1194//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
1195//   in the AWS IoT SiteWise User Guide.
1196//
1197//   * LimitExceededException
1198//   You've reached the limit for a resource. For example, this can occur if you're
1199//   trying to associate more than the allowed number of child assets or attempting
1200//   to create more than the allowed number of properties for an asset model.
1201//
1202//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
1203//   in the AWS IoT SiteWise User Guide.
1204//
1205// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/CreateProject
1206func (c *IoTSiteWise) CreateProject(input *CreateProjectInput) (*CreateProjectOutput, error) {
1207	req, out := c.CreateProjectRequest(input)
1208	return out, req.Send()
1209}
1210
1211// CreateProjectWithContext is the same as CreateProject with the addition of
1212// the ability to pass a context and additional request options.
1213//
1214// See CreateProject for details on how to use this API operation.
1215//
1216// The context must be non-nil and will be used for request cancellation. If
1217// the context is nil a panic will occur. In the future the SDK may create
1218// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1219// for more information on using Contexts.
1220func (c *IoTSiteWise) CreateProjectWithContext(ctx aws.Context, input *CreateProjectInput, opts ...request.Option) (*CreateProjectOutput, error) {
1221	req, out := c.CreateProjectRequest(input)
1222	req.SetContext(ctx)
1223	req.ApplyOptions(opts...)
1224	return out, req.Send()
1225}
1226
1227const opDeleteAccessPolicy = "DeleteAccessPolicy"
1228
1229// DeleteAccessPolicyRequest generates a "aws/request.Request" representing the
1230// client's request for the DeleteAccessPolicy operation. The "output" return
1231// value will be populated with the request's response once the request completes
1232// successfully.
1233//
1234// Use "Send" method on the returned Request to send the API call to the service.
1235// the "output" return value is not valid until after Send returns without error.
1236//
1237// See DeleteAccessPolicy for more information on using the DeleteAccessPolicy
1238// API call, and error handling.
1239//
1240// This method is useful when you want to inject custom logic or configuration
1241// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1242//
1243//
1244//    // Example sending a request using the DeleteAccessPolicyRequest method.
1245//    req, resp := client.DeleteAccessPolicyRequest(params)
1246//
1247//    err := req.Send()
1248//    if err == nil { // resp is now filled
1249//        fmt.Println(resp)
1250//    }
1251//
1252// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteAccessPolicy
1253func (c *IoTSiteWise) DeleteAccessPolicyRequest(input *DeleteAccessPolicyInput) (req *request.Request, output *DeleteAccessPolicyOutput) {
1254	op := &request.Operation{
1255		Name:       opDeleteAccessPolicy,
1256		HTTPMethod: "DELETE",
1257		HTTPPath:   "/access-policies/{accessPolicyId}",
1258	}
1259
1260	if input == nil {
1261		input = &DeleteAccessPolicyInput{}
1262	}
1263
1264	output = &DeleteAccessPolicyOutput{}
1265	req = c.newRequest(op, input, output)
1266	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1267	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
1268	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1269	return
1270}
1271
1272// DeleteAccessPolicy API operation for AWS IoT SiteWise.
1273//
1274// Deletes an access policy that grants the specified identity access to the
1275// specified AWS IoT SiteWise Monitor resource. You can use this operation to
1276// revoke access to an AWS IoT SiteWise Monitor resource.
1277//
1278// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1279// with awserr.Error's Code and Message methods to get detailed information about
1280// the error.
1281//
1282// See the AWS API reference guide for AWS IoT SiteWise's
1283// API operation DeleteAccessPolicy for usage and error information.
1284//
1285// Returned Error Types:
1286//   * InvalidRequestException
1287//   The request isn't valid. This can occur if your request contains malformed
1288//   JSON or unsupported characters. Check your request and try again.
1289//
1290//   * ResourceNotFoundException
1291//   The requested resource can't be found.
1292//
1293//   * InternalFailureException
1294//   AWS IoT SiteWise can't process your request right now. Try again later.
1295//
1296//   * ThrottlingException
1297//   Your request exceeded a rate limit. For example, you might have exceeded
1298//   the number of AWS IoT SiteWise assets that can be created per second, the
1299//   allowed number of messages per second, and so on.
1300//
1301//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
1302//   in the AWS IoT SiteWise User Guide.
1303//
1304// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteAccessPolicy
1305func (c *IoTSiteWise) DeleteAccessPolicy(input *DeleteAccessPolicyInput) (*DeleteAccessPolicyOutput, error) {
1306	req, out := c.DeleteAccessPolicyRequest(input)
1307	return out, req.Send()
1308}
1309
1310// DeleteAccessPolicyWithContext is the same as DeleteAccessPolicy with the addition of
1311// the ability to pass a context and additional request options.
1312//
1313// See DeleteAccessPolicy for details on how to use this API operation.
1314//
1315// The context must be non-nil and will be used for request cancellation. If
1316// the context is nil a panic will occur. In the future the SDK may create
1317// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1318// for more information on using Contexts.
1319func (c *IoTSiteWise) DeleteAccessPolicyWithContext(ctx aws.Context, input *DeleteAccessPolicyInput, opts ...request.Option) (*DeleteAccessPolicyOutput, error) {
1320	req, out := c.DeleteAccessPolicyRequest(input)
1321	req.SetContext(ctx)
1322	req.ApplyOptions(opts...)
1323	return out, req.Send()
1324}
1325
1326const opDeleteAsset = "DeleteAsset"
1327
1328// DeleteAssetRequest generates a "aws/request.Request" representing the
1329// client's request for the DeleteAsset operation. The "output" return
1330// value will be populated with the request's response once the request completes
1331// successfully.
1332//
1333// Use "Send" method on the returned Request to send the API call to the service.
1334// the "output" return value is not valid until after Send returns without error.
1335//
1336// See DeleteAsset for more information on using the DeleteAsset
1337// API call, and error handling.
1338//
1339// This method is useful when you want to inject custom logic or configuration
1340// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1341//
1342//
1343//    // Example sending a request using the DeleteAssetRequest method.
1344//    req, resp := client.DeleteAssetRequest(params)
1345//
1346//    err := req.Send()
1347//    if err == nil { // resp is now filled
1348//        fmt.Println(resp)
1349//    }
1350//
1351// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteAsset
1352func (c *IoTSiteWise) DeleteAssetRequest(input *DeleteAssetInput) (req *request.Request, output *DeleteAssetOutput) {
1353	op := &request.Operation{
1354		Name:       opDeleteAsset,
1355		HTTPMethod: "DELETE",
1356		HTTPPath:   "/assets/{assetId}",
1357	}
1358
1359	if input == nil {
1360		input = &DeleteAssetInput{}
1361	}
1362
1363	output = &DeleteAssetOutput{}
1364	req = c.newRequest(op, input, output)
1365	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
1366	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1367	return
1368}
1369
1370// DeleteAsset API operation for AWS IoT SiteWise.
1371//
1372// Deletes an asset. This action can't be undone. For more information, see
1373// Deleting assets and models (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/delete-assets-and-models.html)
1374// in the AWS IoT SiteWise User Guide.
1375//
1376// You can't delete an asset that's associated to another asset. For more information,
1377// see DisassociateAssets (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DisassociateAssets.html).
1378//
1379// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1380// with awserr.Error's Code and Message methods to get detailed information about
1381// the error.
1382//
1383// See the AWS API reference guide for AWS IoT SiteWise's
1384// API operation DeleteAsset for usage and error information.
1385//
1386// Returned Error Types:
1387//   * InvalidRequestException
1388//   The request isn't valid. This can occur if your request contains malformed
1389//   JSON or unsupported characters. Check your request and try again.
1390//
1391//   * ResourceNotFoundException
1392//   The requested resource can't be found.
1393//
1394//   * InternalFailureException
1395//   AWS IoT SiteWise can't process your request right now. Try again later.
1396//
1397//   * ThrottlingException
1398//   Your request exceeded a rate limit. For example, you might have exceeded
1399//   the number of AWS IoT SiteWise assets that can be created per second, the
1400//   allowed number of messages per second, and so on.
1401//
1402//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
1403//   in the AWS IoT SiteWise User Guide.
1404//
1405//   * ConflictingOperationException
1406//   Your request has conflicting operations. This can occur if you're trying
1407//   to perform more than one operation on the same resource at the same time.
1408//
1409// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteAsset
1410func (c *IoTSiteWise) DeleteAsset(input *DeleteAssetInput) (*DeleteAssetOutput, error) {
1411	req, out := c.DeleteAssetRequest(input)
1412	return out, req.Send()
1413}
1414
1415// DeleteAssetWithContext is the same as DeleteAsset with the addition of
1416// the ability to pass a context and additional request options.
1417//
1418// See DeleteAsset for details on how to use this API operation.
1419//
1420// The context must be non-nil and will be used for request cancellation. If
1421// the context is nil a panic will occur. In the future the SDK may create
1422// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1423// for more information on using Contexts.
1424func (c *IoTSiteWise) DeleteAssetWithContext(ctx aws.Context, input *DeleteAssetInput, opts ...request.Option) (*DeleteAssetOutput, error) {
1425	req, out := c.DeleteAssetRequest(input)
1426	req.SetContext(ctx)
1427	req.ApplyOptions(opts...)
1428	return out, req.Send()
1429}
1430
1431const opDeleteAssetModel = "DeleteAssetModel"
1432
1433// DeleteAssetModelRequest generates a "aws/request.Request" representing the
1434// client's request for the DeleteAssetModel operation. The "output" return
1435// value will be populated with the request's response once the request completes
1436// successfully.
1437//
1438// Use "Send" method on the returned Request to send the API call to the service.
1439// the "output" return value is not valid until after Send returns without error.
1440//
1441// See DeleteAssetModel for more information on using the DeleteAssetModel
1442// API call, and error handling.
1443//
1444// This method is useful when you want to inject custom logic or configuration
1445// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1446//
1447//
1448//    // Example sending a request using the DeleteAssetModelRequest method.
1449//    req, resp := client.DeleteAssetModelRequest(params)
1450//
1451//    err := req.Send()
1452//    if err == nil { // resp is now filled
1453//        fmt.Println(resp)
1454//    }
1455//
1456// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteAssetModel
1457func (c *IoTSiteWise) DeleteAssetModelRequest(input *DeleteAssetModelInput) (req *request.Request, output *DeleteAssetModelOutput) {
1458	op := &request.Operation{
1459		Name:       opDeleteAssetModel,
1460		HTTPMethod: "DELETE",
1461		HTTPPath:   "/asset-models/{assetModelId}",
1462	}
1463
1464	if input == nil {
1465		input = &DeleteAssetModelInput{}
1466	}
1467
1468	output = &DeleteAssetModelOutput{}
1469	req = c.newRequest(op, input, output)
1470	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
1471	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1472	return
1473}
1474
1475// DeleteAssetModel API operation for AWS IoT SiteWise.
1476//
1477// Deletes an asset model. This action can't be undone. You must delete all
1478// assets created from an asset model before you can delete the model. Also,
1479// you can't delete an asset model if a parent asset model exists that contains
1480// a property formula expression that depends on the asset model that you want
1481// to delete. For more information, see Deleting assets and models (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/delete-assets-and-models.html)
1482// in the AWS IoT SiteWise User Guide.
1483//
1484// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1485// with awserr.Error's Code and Message methods to get detailed information about
1486// the error.
1487//
1488// See the AWS API reference guide for AWS IoT SiteWise's
1489// API operation DeleteAssetModel for usage and error information.
1490//
1491// Returned Error Types:
1492//   * InvalidRequestException
1493//   The request isn't valid. This can occur if your request contains malformed
1494//   JSON or unsupported characters. Check your request and try again.
1495//
1496//   * ResourceNotFoundException
1497//   The requested resource can't be found.
1498//
1499//   * InternalFailureException
1500//   AWS IoT SiteWise can't process your request right now. Try again later.
1501//
1502//   * ThrottlingException
1503//   Your request exceeded a rate limit. For example, you might have exceeded
1504//   the number of AWS IoT SiteWise assets that can be created per second, the
1505//   allowed number of messages per second, and so on.
1506//
1507//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
1508//   in the AWS IoT SiteWise User Guide.
1509//
1510//   * ConflictingOperationException
1511//   Your request has conflicting operations. This can occur if you're trying
1512//   to perform more than one operation on the same resource at the same time.
1513//
1514// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteAssetModel
1515func (c *IoTSiteWise) DeleteAssetModel(input *DeleteAssetModelInput) (*DeleteAssetModelOutput, error) {
1516	req, out := c.DeleteAssetModelRequest(input)
1517	return out, req.Send()
1518}
1519
1520// DeleteAssetModelWithContext is the same as DeleteAssetModel with the addition of
1521// the ability to pass a context and additional request options.
1522//
1523// See DeleteAssetModel for details on how to use this API operation.
1524//
1525// The context must be non-nil and will be used for request cancellation. If
1526// the context is nil a panic will occur. In the future the SDK may create
1527// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1528// for more information on using Contexts.
1529func (c *IoTSiteWise) DeleteAssetModelWithContext(ctx aws.Context, input *DeleteAssetModelInput, opts ...request.Option) (*DeleteAssetModelOutput, error) {
1530	req, out := c.DeleteAssetModelRequest(input)
1531	req.SetContext(ctx)
1532	req.ApplyOptions(opts...)
1533	return out, req.Send()
1534}
1535
1536const opDeleteDashboard = "DeleteDashboard"
1537
1538// DeleteDashboardRequest generates a "aws/request.Request" representing the
1539// client's request for the DeleteDashboard operation. The "output" return
1540// value will be populated with the request's response once the request completes
1541// successfully.
1542//
1543// Use "Send" method on the returned Request to send the API call to the service.
1544// the "output" return value is not valid until after Send returns without error.
1545//
1546// See DeleteDashboard for more information on using the DeleteDashboard
1547// API call, and error handling.
1548//
1549// This method is useful when you want to inject custom logic or configuration
1550// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1551//
1552//
1553//    // Example sending a request using the DeleteDashboardRequest method.
1554//    req, resp := client.DeleteDashboardRequest(params)
1555//
1556//    err := req.Send()
1557//    if err == nil { // resp is now filled
1558//        fmt.Println(resp)
1559//    }
1560//
1561// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteDashboard
1562func (c *IoTSiteWise) DeleteDashboardRequest(input *DeleteDashboardInput) (req *request.Request, output *DeleteDashboardOutput) {
1563	op := &request.Operation{
1564		Name:       opDeleteDashboard,
1565		HTTPMethod: "DELETE",
1566		HTTPPath:   "/dashboards/{dashboardId}",
1567	}
1568
1569	if input == nil {
1570		input = &DeleteDashboardInput{}
1571	}
1572
1573	output = &DeleteDashboardOutput{}
1574	req = c.newRequest(op, input, output)
1575	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1576	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
1577	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1578	return
1579}
1580
1581// DeleteDashboard API operation for AWS IoT SiteWise.
1582//
1583// Deletes a dashboard from AWS IoT SiteWise Monitor.
1584//
1585// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1586// with awserr.Error's Code and Message methods to get detailed information about
1587// the error.
1588//
1589// See the AWS API reference guide for AWS IoT SiteWise's
1590// API operation DeleteDashboard for usage and error information.
1591//
1592// Returned Error Types:
1593//   * InvalidRequestException
1594//   The request isn't valid. This can occur if your request contains malformed
1595//   JSON or unsupported characters. Check your request and try again.
1596//
1597//   * ResourceNotFoundException
1598//   The requested resource can't be found.
1599//
1600//   * InternalFailureException
1601//   AWS IoT SiteWise can't process your request right now. Try again later.
1602//
1603//   * ThrottlingException
1604//   Your request exceeded a rate limit. For example, you might have exceeded
1605//   the number of AWS IoT SiteWise assets that can be created per second, the
1606//   allowed number of messages per second, and so on.
1607//
1608//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
1609//   in the AWS IoT SiteWise User Guide.
1610//
1611// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteDashboard
1612func (c *IoTSiteWise) DeleteDashboard(input *DeleteDashboardInput) (*DeleteDashboardOutput, error) {
1613	req, out := c.DeleteDashboardRequest(input)
1614	return out, req.Send()
1615}
1616
1617// DeleteDashboardWithContext is the same as DeleteDashboard with the addition of
1618// the ability to pass a context and additional request options.
1619//
1620// See DeleteDashboard for details on how to use this API operation.
1621//
1622// The context must be non-nil and will be used for request cancellation. If
1623// the context is nil a panic will occur. In the future the SDK may create
1624// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1625// for more information on using Contexts.
1626func (c *IoTSiteWise) DeleteDashboardWithContext(ctx aws.Context, input *DeleteDashboardInput, opts ...request.Option) (*DeleteDashboardOutput, error) {
1627	req, out := c.DeleteDashboardRequest(input)
1628	req.SetContext(ctx)
1629	req.ApplyOptions(opts...)
1630	return out, req.Send()
1631}
1632
1633const opDeleteGateway = "DeleteGateway"
1634
1635// DeleteGatewayRequest generates a "aws/request.Request" representing the
1636// client's request for the DeleteGateway operation. The "output" return
1637// value will be populated with the request's response once the request completes
1638// successfully.
1639//
1640// Use "Send" method on the returned Request to send the API call to the service.
1641// the "output" return value is not valid until after Send returns without error.
1642//
1643// See DeleteGateway for more information on using the DeleteGateway
1644// API call, and error handling.
1645//
1646// This method is useful when you want to inject custom logic or configuration
1647// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1648//
1649//
1650//    // Example sending a request using the DeleteGatewayRequest method.
1651//    req, resp := client.DeleteGatewayRequest(params)
1652//
1653//    err := req.Send()
1654//    if err == nil { // resp is now filled
1655//        fmt.Println(resp)
1656//    }
1657//
1658// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteGateway
1659func (c *IoTSiteWise) DeleteGatewayRequest(input *DeleteGatewayInput) (req *request.Request, output *DeleteGatewayOutput) {
1660	op := &request.Operation{
1661		Name:       opDeleteGateway,
1662		HTTPMethod: "DELETE",
1663		HTTPPath:   "/20200301/gateways/{gatewayId}",
1664	}
1665
1666	if input == nil {
1667		input = &DeleteGatewayInput{}
1668	}
1669
1670	output = &DeleteGatewayOutput{}
1671	req = c.newRequest(op, input, output)
1672	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1673	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("edge.", nil))
1674	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1675	return
1676}
1677
1678// DeleteGateway API operation for AWS IoT SiteWise.
1679//
1680// Deletes a gateway from AWS IoT SiteWise. When you delete a gateway, some
1681// of the gateway's files remain in your gateway's file system.
1682//
1683// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1684// with awserr.Error's Code and Message methods to get detailed information about
1685// the error.
1686//
1687// See the AWS API reference guide for AWS IoT SiteWise's
1688// API operation DeleteGateway for usage and error information.
1689//
1690// Returned Error Types:
1691//   * InvalidRequestException
1692//   The request isn't valid. This can occur if your request contains malformed
1693//   JSON or unsupported characters. Check your request and try again.
1694//
1695//   * ResourceNotFoundException
1696//   The requested resource can't be found.
1697//
1698//   * InternalFailureException
1699//   AWS IoT SiteWise can't process your request right now. Try again later.
1700//
1701//   * ThrottlingException
1702//   Your request exceeded a rate limit. For example, you might have exceeded
1703//   the number of AWS IoT SiteWise assets that can be created per second, the
1704//   allowed number of messages per second, and so on.
1705//
1706//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
1707//   in the AWS IoT SiteWise User Guide.
1708//
1709// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteGateway
1710func (c *IoTSiteWise) DeleteGateway(input *DeleteGatewayInput) (*DeleteGatewayOutput, error) {
1711	req, out := c.DeleteGatewayRequest(input)
1712	return out, req.Send()
1713}
1714
1715// DeleteGatewayWithContext is the same as DeleteGateway with the addition of
1716// the ability to pass a context and additional request options.
1717//
1718// See DeleteGateway for details on how to use this API operation.
1719//
1720// The context must be non-nil and will be used for request cancellation. If
1721// the context is nil a panic will occur. In the future the SDK may create
1722// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1723// for more information on using Contexts.
1724func (c *IoTSiteWise) DeleteGatewayWithContext(ctx aws.Context, input *DeleteGatewayInput, opts ...request.Option) (*DeleteGatewayOutput, error) {
1725	req, out := c.DeleteGatewayRequest(input)
1726	req.SetContext(ctx)
1727	req.ApplyOptions(opts...)
1728	return out, req.Send()
1729}
1730
1731const opDeletePortal = "DeletePortal"
1732
1733// DeletePortalRequest generates a "aws/request.Request" representing the
1734// client's request for the DeletePortal operation. The "output" return
1735// value will be populated with the request's response once the request completes
1736// successfully.
1737//
1738// Use "Send" method on the returned Request to send the API call to the service.
1739// the "output" return value is not valid until after Send returns without error.
1740//
1741// See DeletePortal for more information on using the DeletePortal
1742// API call, and error handling.
1743//
1744// This method is useful when you want to inject custom logic or configuration
1745// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1746//
1747//
1748//    // Example sending a request using the DeletePortalRequest method.
1749//    req, resp := client.DeletePortalRequest(params)
1750//
1751//    err := req.Send()
1752//    if err == nil { // resp is now filled
1753//        fmt.Println(resp)
1754//    }
1755//
1756// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeletePortal
1757func (c *IoTSiteWise) DeletePortalRequest(input *DeletePortalInput) (req *request.Request, output *DeletePortalOutput) {
1758	op := &request.Operation{
1759		Name:       opDeletePortal,
1760		HTTPMethod: "DELETE",
1761		HTTPPath:   "/portals/{portalId}",
1762	}
1763
1764	if input == nil {
1765		input = &DeletePortalInput{}
1766	}
1767
1768	output = &DeletePortalOutput{}
1769	req = c.newRequest(op, input, output)
1770	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
1771	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1772	return
1773}
1774
1775// DeletePortal API operation for AWS IoT SiteWise.
1776//
1777// Deletes a portal from AWS IoT SiteWise Monitor.
1778//
1779// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1780// with awserr.Error's Code and Message methods to get detailed information about
1781// the error.
1782//
1783// See the AWS API reference guide for AWS IoT SiteWise's
1784// API operation DeletePortal for usage and error information.
1785//
1786// Returned Error Types:
1787//   * InvalidRequestException
1788//   The request isn't valid. This can occur if your request contains malformed
1789//   JSON or unsupported characters. Check your request and try again.
1790//
1791//   * ResourceNotFoundException
1792//   The requested resource can't be found.
1793//
1794//   * InternalFailureException
1795//   AWS IoT SiteWise can't process your request right now. Try again later.
1796//
1797//   * ThrottlingException
1798//   Your request exceeded a rate limit. For example, you might have exceeded
1799//   the number of AWS IoT SiteWise assets that can be created per second, the
1800//   allowed number of messages per second, and so on.
1801//
1802//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
1803//   in the AWS IoT SiteWise User Guide.
1804//
1805//   * ConflictingOperationException
1806//   Your request has conflicting operations. This can occur if you're trying
1807//   to perform more than one operation on the same resource at the same time.
1808//
1809// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeletePortal
1810func (c *IoTSiteWise) DeletePortal(input *DeletePortalInput) (*DeletePortalOutput, error) {
1811	req, out := c.DeletePortalRequest(input)
1812	return out, req.Send()
1813}
1814
1815// DeletePortalWithContext is the same as DeletePortal with the addition of
1816// the ability to pass a context and additional request options.
1817//
1818// See DeletePortal for details on how to use this API operation.
1819//
1820// The context must be non-nil and will be used for request cancellation. If
1821// the context is nil a panic will occur. In the future the SDK may create
1822// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1823// for more information on using Contexts.
1824func (c *IoTSiteWise) DeletePortalWithContext(ctx aws.Context, input *DeletePortalInput, opts ...request.Option) (*DeletePortalOutput, error) {
1825	req, out := c.DeletePortalRequest(input)
1826	req.SetContext(ctx)
1827	req.ApplyOptions(opts...)
1828	return out, req.Send()
1829}
1830
1831const opDeleteProject = "DeleteProject"
1832
1833// DeleteProjectRequest generates a "aws/request.Request" representing the
1834// client's request for the DeleteProject operation. The "output" return
1835// value will be populated with the request's response once the request completes
1836// successfully.
1837//
1838// Use "Send" method on the returned Request to send the API call to the service.
1839// the "output" return value is not valid until after Send returns without error.
1840//
1841// See DeleteProject for more information on using the DeleteProject
1842// API call, and error handling.
1843//
1844// This method is useful when you want to inject custom logic or configuration
1845// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1846//
1847//
1848//    // Example sending a request using the DeleteProjectRequest method.
1849//    req, resp := client.DeleteProjectRequest(params)
1850//
1851//    err := req.Send()
1852//    if err == nil { // resp is now filled
1853//        fmt.Println(resp)
1854//    }
1855//
1856// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteProject
1857func (c *IoTSiteWise) DeleteProjectRequest(input *DeleteProjectInput) (req *request.Request, output *DeleteProjectOutput) {
1858	op := &request.Operation{
1859		Name:       opDeleteProject,
1860		HTTPMethod: "DELETE",
1861		HTTPPath:   "/projects/{projectId}",
1862	}
1863
1864	if input == nil {
1865		input = &DeleteProjectInput{}
1866	}
1867
1868	output = &DeleteProjectOutput{}
1869	req = c.newRequest(op, input, output)
1870	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1871	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
1872	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1873	return
1874}
1875
1876// DeleteProject API operation for AWS IoT SiteWise.
1877//
1878// Deletes a project from AWS IoT SiteWise Monitor.
1879//
1880// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1881// with awserr.Error's Code and Message methods to get detailed information about
1882// the error.
1883//
1884// See the AWS API reference guide for AWS IoT SiteWise's
1885// API operation DeleteProject for usage and error information.
1886//
1887// Returned Error Types:
1888//   * InvalidRequestException
1889//   The request isn't valid. This can occur if your request contains malformed
1890//   JSON or unsupported characters. Check your request and try again.
1891//
1892//   * ResourceNotFoundException
1893//   The requested resource can't be found.
1894//
1895//   * InternalFailureException
1896//   AWS IoT SiteWise can't process your request right now. Try again later.
1897//
1898//   * ThrottlingException
1899//   Your request exceeded a rate limit. For example, you might have exceeded
1900//   the number of AWS IoT SiteWise assets that can be created per second, the
1901//   allowed number of messages per second, and so on.
1902//
1903//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
1904//   in the AWS IoT SiteWise User Guide.
1905//
1906// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DeleteProject
1907func (c *IoTSiteWise) DeleteProject(input *DeleteProjectInput) (*DeleteProjectOutput, error) {
1908	req, out := c.DeleteProjectRequest(input)
1909	return out, req.Send()
1910}
1911
1912// DeleteProjectWithContext is the same as DeleteProject with the addition of
1913// the ability to pass a context and additional request options.
1914//
1915// See DeleteProject for details on how to use this API operation.
1916//
1917// The context must be non-nil and will be used for request cancellation. If
1918// the context is nil a panic will occur. In the future the SDK may create
1919// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1920// for more information on using Contexts.
1921func (c *IoTSiteWise) DeleteProjectWithContext(ctx aws.Context, input *DeleteProjectInput, opts ...request.Option) (*DeleteProjectOutput, error) {
1922	req, out := c.DeleteProjectRequest(input)
1923	req.SetContext(ctx)
1924	req.ApplyOptions(opts...)
1925	return out, req.Send()
1926}
1927
1928const opDescribeAccessPolicy = "DescribeAccessPolicy"
1929
1930// DescribeAccessPolicyRequest generates a "aws/request.Request" representing the
1931// client's request for the DescribeAccessPolicy operation. The "output" return
1932// value will be populated with the request's response once the request completes
1933// successfully.
1934//
1935// Use "Send" method on the returned Request to send the API call to the service.
1936// the "output" return value is not valid until after Send returns without error.
1937//
1938// See DescribeAccessPolicy for more information on using the DescribeAccessPolicy
1939// API call, and error handling.
1940//
1941// This method is useful when you want to inject custom logic or configuration
1942// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1943//
1944//
1945//    // Example sending a request using the DescribeAccessPolicyRequest method.
1946//    req, resp := client.DescribeAccessPolicyRequest(params)
1947//
1948//    err := req.Send()
1949//    if err == nil { // resp is now filled
1950//        fmt.Println(resp)
1951//    }
1952//
1953// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAccessPolicy
1954func (c *IoTSiteWise) DescribeAccessPolicyRequest(input *DescribeAccessPolicyInput) (req *request.Request, output *DescribeAccessPolicyOutput) {
1955	op := &request.Operation{
1956		Name:       opDescribeAccessPolicy,
1957		HTTPMethod: "GET",
1958		HTTPPath:   "/access-policies/{accessPolicyId}",
1959	}
1960
1961	if input == nil {
1962		input = &DescribeAccessPolicyInput{}
1963	}
1964
1965	output = &DescribeAccessPolicyOutput{}
1966	req = c.newRequest(op, input, output)
1967	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
1968	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
1969	return
1970}
1971
1972// DescribeAccessPolicy API operation for AWS IoT SiteWise.
1973//
1974// Describes an access policy, which specifies an identity's access to an AWS
1975// IoT SiteWise Monitor portal or project.
1976//
1977// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1978// with awserr.Error's Code and Message methods to get detailed information about
1979// the error.
1980//
1981// See the AWS API reference guide for AWS IoT SiteWise's
1982// API operation DescribeAccessPolicy for usage and error information.
1983//
1984// Returned Error Types:
1985//   * InvalidRequestException
1986//   The request isn't valid. This can occur if your request contains malformed
1987//   JSON or unsupported characters. Check your request and try again.
1988//
1989//   * ResourceNotFoundException
1990//   The requested resource can't be found.
1991//
1992//   * InternalFailureException
1993//   AWS IoT SiteWise can't process your request right now. Try again later.
1994//
1995//   * ThrottlingException
1996//   Your request exceeded a rate limit. For example, you might have exceeded
1997//   the number of AWS IoT SiteWise assets that can be created per second, the
1998//   allowed number of messages per second, and so on.
1999//
2000//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
2001//   in the AWS IoT SiteWise User Guide.
2002//
2003// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAccessPolicy
2004func (c *IoTSiteWise) DescribeAccessPolicy(input *DescribeAccessPolicyInput) (*DescribeAccessPolicyOutput, error) {
2005	req, out := c.DescribeAccessPolicyRequest(input)
2006	return out, req.Send()
2007}
2008
2009// DescribeAccessPolicyWithContext is the same as DescribeAccessPolicy with the addition of
2010// the ability to pass a context and additional request options.
2011//
2012// See DescribeAccessPolicy for details on how to use this API operation.
2013//
2014// The context must be non-nil and will be used for request cancellation. If
2015// the context is nil a panic will occur. In the future the SDK may create
2016// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2017// for more information on using Contexts.
2018func (c *IoTSiteWise) DescribeAccessPolicyWithContext(ctx aws.Context, input *DescribeAccessPolicyInput, opts ...request.Option) (*DescribeAccessPolicyOutput, error) {
2019	req, out := c.DescribeAccessPolicyRequest(input)
2020	req.SetContext(ctx)
2021	req.ApplyOptions(opts...)
2022	return out, req.Send()
2023}
2024
2025const opDescribeAsset = "DescribeAsset"
2026
2027// DescribeAssetRequest generates a "aws/request.Request" representing the
2028// client's request for the DescribeAsset operation. The "output" return
2029// value will be populated with the request's response once the request completes
2030// successfully.
2031//
2032// Use "Send" method on the returned Request to send the API call to the service.
2033// the "output" return value is not valid until after Send returns without error.
2034//
2035// See DescribeAsset for more information on using the DescribeAsset
2036// API call, and error handling.
2037//
2038// This method is useful when you want to inject custom logic or configuration
2039// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2040//
2041//
2042//    // Example sending a request using the DescribeAssetRequest method.
2043//    req, resp := client.DescribeAssetRequest(params)
2044//
2045//    err := req.Send()
2046//    if err == nil { // resp is now filled
2047//        fmt.Println(resp)
2048//    }
2049//
2050// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAsset
2051func (c *IoTSiteWise) DescribeAssetRequest(input *DescribeAssetInput) (req *request.Request, output *DescribeAssetOutput) {
2052	op := &request.Operation{
2053		Name:       opDescribeAsset,
2054		HTTPMethod: "GET",
2055		HTTPPath:   "/assets/{assetId}",
2056	}
2057
2058	if input == nil {
2059		input = &DescribeAssetInput{}
2060	}
2061
2062	output = &DescribeAssetOutput{}
2063	req = c.newRequest(op, input, output)
2064	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
2065	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2066	return
2067}
2068
2069// DescribeAsset API operation for AWS IoT SiteWise.
2070//
2071// Retrieves information about an asset.
2072//
2073// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2074// with awserr.Error's Code and Message methods to get detailed information about
2075// the error.
2076//
2077// See the AWS API reference guide for AWS IoT SiteWise's
2078// API operation DescribeAsset for usage and error information.
2079//
2080// Returned Error Types:
2081//   * InvalidRequestException
2082//   The request isn't valid. This can occur if your request contains malformed
2083//   JSON or unsupported characters. Check your request and try again.
2084//
2085//   * ResourceNotFoundException
2086//   The requested resource can't be found.
2087//
2088//   * InternalFailureException
2089//   AWS IoT SiteWise can't process your request right now. Try again later.
2090//
2091//   * ThrottlingException
2092//   Your request exceeded a rate limit. For example, you might have exceeded
2093//   the number of AWS IoT SiteWise assets that can be created per second, the
2094//   allowed number of messages per second, and so on.
2095//
2096//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
2097//   in the AWS IoT SiteWise User Guide.
2098//
2099// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAsset
2100func (c *IoTSiteWise) DescribeAsset(input *DescribeAssetInput) (*DescribeAssetOutput, error) {
2101	req, out := c.DescribeAssetRequest(input)
2102	return out, req.Send()
2103}
2104
2105// DescribeAssetWithContext is the same as DescribeAsset with the addition of
2106// the ability to pass a context and additional request options.
2107//
2108// See DescribeAsset for details on how to use this API operation.
2109//
2110// The context must be non-nil and will be used for request cancellation. If
2111// the context is nil a panic will occur. In the future the SDK may create
2112// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2113// for more information on using Contexts.
2114func (c *IoTSiteWise) DescribeAssetWithContext(ctx aws.Context, input *DescribeAssetInput, opts ...request.Option) (*DescribeAssetOutput, error) {
2115	req, out := c.DescribeAssetRequest(input)
2116	req.SetContext(ctx)
2117	req.ApplyOptions(opts...)
2118	return out, req.Send()
2119}
2120
2121const opDescribeAssetModel = "DescribeAssetModel"
2122
2123// DescribeAssetModelRequest generates a "aws/request.Request" representing the
2124// client's request for the DescribeAssetModel operation. The "output" return
2125// value will be populated with the request's response once the request completes
2126// successfully.
2127//
2128// Use "Send" method on the returned Request to send the API call to the service.
2129// the "output" return value is not valid until after Send returns without error.
2130//
2131// See DescribeAssetModel for more information on using the DescribeAssetModel
2132// API call, and error handling.
2133//
2134// This method is useful when you want to inject custom logic or configuration
2135// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2136//
2137//
2138//    // Example sending a request using the DescribeAssetModelRequest method.
2139//    req, resp := client.DescribeAssetModelRequest(params)
2140//
2141//    err := req.Send()
2142//    if err == nil { // resp is now filled
2143//        fmt.Println(resp)
2144//    }
2145//
2146// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAssetModel
2147func (c *IoTSiteWise) DescribeAssetModelRequest(input *DescribeAssetModelInput) (req *request.Request, output *DescribeAssetModelOutput) {
2148	op := &request.Operation{
2149		Name:       opDescribeAssetModel,
2150		HTTPMethod: "GET",
2151		HTTPPath:   "/asset-models/{assetModelId}",
2152	}
2153
2154	if input == nil {
2155		input = &DescribeAssetModelInput{}
2156	}
2157
2158	output = &DescribeAssetModelOutput{}
2159	req = c.newRequest(op, input, output)
2160	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
2161	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2162	return
2163}
2164
2165// DescribeAssetModel API operation for AWS IoT SiteWise.
2166//
2167// Retrieves information about an asset model.
2168//
2169// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2170// with awserr.Error's Code and Message methods to get detailed information about
2171// the error.
2172//
2173// See the AWS API reference guide for AWS IoT SiteWise's
2174// API operation DescribeAssetModel for usage and error information.
2175//
2176// Returned Error Types:
2177//   * InvalidRequestException
2178//   The request isn't valid. This can occur if your request contains malformed
2179//   JSON or unsupported characters. Check your request and try again.
2180//
2181//   * ResourceNotFoundException
2182//   The requested resource can't be found.
2183//
2184//   * InternalFailureException
2185//   AWS IoT SiteWise can't process your request right now. Try again later.
2186//
2187//   * ThrottlingException
2188//   Your request exceeded a rate limit. For example, you might have exceeded
2189//   the number of AWS IoT SiteWise assets that can be created per second, the
2190//   allowed number of messages per second, and so on.
2191//
2192//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
2193//   in the AWS IoT SiteWise User Guide.
2194//
2195// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAssetModel
2196func (c *IoTSiteWise) DescribeAssetModel(input *DescribeAssetModelInput) (*DescribeAssetModelOutput, error) {
2197	req, out := c.DescribeAssetModelRequest(input)
2198	return out, req.Send()
2199}
2200
2201// DescribeAssetModelWithContext is the same as DescribeAssetModel with the addition of
2202// the ability to pass a context and additional request options.
2203//
2204// See DescribeAssetModel for details on how to use this API operation.
2205//
2206// The context must be non-nil and will be used for request cancellation. If
2207// the context is nil a panic will occur. In the future the SDK may create
2208// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2209// for more information on using Contexts.
2210func (c *IoTSiteWise) DescribeAssetModelWithContext(ctx aws.Context, input *DescribeAssetModelInput, opts ...request.Option) (*DescribeAssetModelOutput, error) {
2211	req, out := c.DescribeAssetModelRequest(input)
2212	req.SetContext(ctx)
2213	req.ApplyOptions(opts...)
2214	return out, req.Send()
2215}
2216
2217const opDescribeAssetProperty = "DescribeAssetProperty"
2218
2219// DescribeAssetPropertyRequest generates a "aws/request.Request" representing the
2220// client's request for the DescribeAssetProperty operation. The "output" return
2221// value will be populated with the request's response once the request completes
2222// successfully.
2223//
2224// Use "Send" method on the returned Request to send the API call to the service.
2225// the "output" return value is not valid until after Send returns without error.
2226//
2227// See DescribeAssetProperty for more information on using the DescribeAssetProperty
2228// API call, and error handling.
2229//
2230// This method is useful when you want to inject custom logic or configuration
2231// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2232//
2233//
2234//    // Example sending a request using the DescribeAssetPropertyRequest method.
2235//    req, resp := client.DescribeAssetPropertyRequest(params)
2236//
2237//    err := req.Send()
2238//    if err == nil { // resp is now filled
2239//        fmt.Println(resp)
2240//    }
2241//
2242// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAssetProperty
2243func (c *IoTSiteWise) DescribeAssetPropertyRequest(input *DescribeAssetPropertyInput) (req *request.Request, output *DescribeAssetPropertyOutput) {
2244	op := &request.Operation{
2245		Name:       opDescribeAssetProperty,
2246		HTTPMethod: "GET",
2247		HTTPPath:   "/assets/{assetId}/properties/{propertyId}",
2248	}
2249
2250	if input == nil {
2251		input = &DescribeAssetPropertyInput{}
2252	}
2253
2254	output = &DescribeAssetPropertyOutput{}
2255	req = c.newRequest(op, input, output)
2256	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
2257	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2258	return
2259}
2260
2261// DescribeAssetProperty API operation for AWS IoT SiteWise.
2262//
2263// Retrieves information about an asset property.
2264//
2265// When you call this operation for an attribute property, this response includes
2266// the default attribute value that you define in the asset model. If you update
2267// the default value in the model, this operation's response includes the new
2268// default value.
2269//
2270// This operation doesn't return the value of the asset property. To get the
2271// value of an asset property, use GetAssetPropertyValue (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_GetAssetPropertyValue.html).
2272//
2273// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2274// with awserr.Error's Code and Message methods to get detailed information about
2275// the error.
2276//
2277// See the AWS API reference guide for AWS IoT SiteWise's
2278// API operation DescribeAssetProperty for usage and error information.
2279//
2280// Returned Error Types:
2281//   * InvalidRequestException
2282//   The request isn't valid. This can occur if your request contains malformed
2283//   JSON or unsupported characters. Check your request and try again.
2284//
2285//   * ResourceNotFoundException
2286//   The requested resource can't be found.
2287//
2288//   * InternalFailureException
2289//   AWS IoT SiteWise can't process your request right now. Try again later.
2290//
2291//   * ThrottlingException
2292//   Your request exceeded a rate limit. For example, you might have exceeded
2293//   the number of AWS IoT SiteWise assets that can be created per second, the
2294//   allowed number of messages per second, and so on.
2295//
2296//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
2297//   in the AWS IoT SiteWise User Guide.
2298//
2299// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeAssetProperty
2300func (c *IoTSiteWise) DescribeAssetProperty(input *DescribeAssetPropertyInput) (*DescribeAssetPropertyOutput, error) {
2301	req, out := c.DescribeAssetPropertyRequest(input)
2302	return out, req.Send()
2303}
2304
2305// DescribeAssetPropertyWithContext is the same as DescribeAssetProperty with the addition of
2306// the ability to pass a context and additional request options.
2307//
2308// See DescribeAssetProperty for details on how to use this API operation.
2309//
2310// The context must be non-nil and will be used for request cancellation. If
2311// the context is nil a panic will occur. In the future the SDK may create
2312// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2313// for more information on using Contexts.
2314func (c *IoTSiteWise) DescribeAssetPropertyWithContext(ctx aws.Context, input *DescribeAssetPropertyInput, opts ...request.Option) (*DescribeAssetPropertyOutput, error) {
2315	req, out := c.DescribeAssetPropertyRequest(input)
2316	req.SetContext(ctx)
2317	req.ApplyOptions(opts...)
2318	return out, req.Send()
2319}
2320
2321const opDescribeDashboard = "DescribeDashboard"
2322
2323// DescribeDashboardRequest generates a "aws/request.Request" representing the
2324// client's request for the DescribeDashboard operation. The "output" return
2325// value will be populated with the request's response once the request completes
2326// successfully.
2327//
2328// Use "Send" method on the returned Request to send the API call to the service.
2329// the "output" return value is not valid until after Send returns without error.
2330//
2331// See DescribeDashboard for more information on using the DescribeDashboard
2332// API call, and error handling.
2333//
2334// This method is useful when you want to inject custom logic or configuration
2335// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2336//
2337//
2338//    // Example sending a request using the DescribeDashboardRequest method.
2339//    req, resp := client.DescribeDashboardRequest(params)
2340//
2341//    err := req.Send()
2342//    if err == nil { // resp is now filled
2343//        fmt.Println(resp)
2344//    }
2345//
2346// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeDashboard
2347func (c *IoTSiteWise) DescribeDashboardRequest(input *DescribeDashboardInput) (req *request.Request, output *DescribeDashboardOutput) {
2348	op := &request.Operation{
2349		Name:       opDescribeDashboard,
2350		HTTPMethod: "GET",
2351		HTTPPath:   "/dashboards/{dashboardId}",
2352	}
2353
2354	if input == nil {
2355		input = &DescribeDashboardInput{}
2356	}
2357
2358	output = &DescribeDashboardOutput{}
2359	req = c.newRequest(op, input, output)
2360	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
2361	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2362	return
2363}
2364
2365// DescribeDashboard API operation for AWS IoT SiteWise.
2366//
2367// Retrieves information about a dashboard.
2368//
2369// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2370// with awserr.Error's Code and Message methods to get detailed information about
2371// the error.
2372//
2373// See the AWS API reference guide for AWS IoT SiteWise's
2374// API operation DescribeDashboard for usage and error information.
2375//
2376// Returned Error Types:
2377//   * InvalidRequestException
2378//   The request isn't valid. This can occur if your request contains malformed
2379//   JSON or unsupported characters. Check your request and try again.
2380//
2381//   * ResourceNotFoundException
2382//   The requested resource can't be found.
2383//
2384//   * InternalFailureException
2385//   AWS IoT SiteWise can't process your request right now. Try again later.
2386//
2387//   * ThrottlingException
2388//   Your request exceeded a rate limit. For example, you might have exceeded
2389//   the number of AWS IoT SiteWise assets that can be created per second, the
2390//   allowed number of messages per second, and so on.
2391//
2392//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
2393//   in the AWS IoT SiteWise User Guide.
2394//
2395// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeDashboard
2396func (c *IoTSiteWise) DescribeDashboard(input *DescribeDashboardInput) (*DescribeDashboardOutput, error) {
2397	req, out := c.DescribeDashboardRequest(input)
2398	return out, req.Send()
2399}
2400
2401// DescribeDashboardWithContext is the same as DescribeDashboard with the addition of
2402// the ability to pass a context and additional request options.
2403//
2404// See DescribeDashboard for details on how to use this API operation.
2405//
2406// The context must be non-nil and will be used for request cancellation. If
2407// the context is nil a panic will occur. In the future the SDK may create
2408// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2409// for more information on using Contexts.
2410func (c *IoTSiteWise) DescribeDashboardWithContext(ctx aws.Context, input *DescribeDashboardInput, opts ...request.Option) (*DescribeDashboardOutput, error) {
2411	req, out := c.DescribeDashboardRequest(input)
2412	req.SetContext(ctx)
2413	req.ApplyOptions(opts...)
2414	return out, req.Send()
2415}
2416
2417const opDescribeDefaultEncryptionConfiguration = "DescribeDefaultEncryptionConfiguration"
2418
2419// DescribeDefaultEncryptionConfigurationRequest generates a "aws/request.Request" representing the
2420// client's request for the DescribeDefaultEncryptionConfiguration operation. The "output" return
2421// value will be populated with the request's response once the request completes
2422// successfully.
2423//
2424// Use "Send" method on the returned Request to send the API call to the service.
2425// the "output" return value is not valid until after Send returns without error.
2426//
2427// See DescribeDefaultEncryptionConfiguration for more information on using the DescribeDefaultEncryptionConfiguration
2428// API call, and error handling.
2429//
2430// This method is useful when you want to inject custom logic or configuration
2431// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2432//
2433//
2434//    // Example sending a request using the DescribeDefaultEncryptionConfigurationRequest method.
2435//    req, resp := client.DescribeDefaultEncryptionConfigurationRequest(params)
2436//
2437//    err := req.Send()
2438//    if err == nil { // resp is now filled
2439//        fmt.Println(resp)
2440//    }
2441//
2442// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeDefaultEncryptionConfiguration
2443func (c *IoTSiteWise) DescribeDefaultEncryptionConfigurationRequest(input *DescribeDefaultEncryptionConfigurationInput) (req *request.Request, output *DescribeDefaultEncryptionConfigurationOutput) {
2444	op := &request.Operation{
2445		Name:       opDescribeDefaultEncryptionConfiguration,
2446		HTTPMethod: "GET",
2447		HTTPPath:   "/configuration/account/encryption",
2448	}
2449
2450	if input == nil {
2451		input = &DescribeDefaultEncryptionConfigurationInput{}
2452	}
2453
2454	output = &DescribeDefaultEncryptionConfigurationOutput{}
2455	req = c.newRequest(op, input, output)
2456	return
2457}
2458
2459// DescribeDefaultEncryptionConfiguration API operation for AWS IoT SiteWise.
2460//
2461// Retrieves information about the default encryption configuration for the
2462// AWS account in the default or specified region. For more information, see
2463// Key management (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/key-management.html)
2464// in the AWS IoT SiteWise User Guide.
2465//
2466// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2467// with awserr.Error's Code and Message methods to get detailed information about
2468// the error.
2469//
2470// See the AWS API reference guide for AWS IoT SiteWise's
2471// API operation DescribeDefaultEncryptionConfiguration for usage and error information.
2472//
2473// Returned Error Types:
2474//   * InvalidRequestException
2475//   The request isn't valid. This can occur if your request contains malformed
2476//   JSON or unsupported characters. Check your request and try again.
2477//
2478//   * InternalFailureException
2479//   AWS IoT SiteWise can't process your request right now. Try again later.
2480//
2481//   * ThrottlingException
2482//   Your request exceeded a rate limit. For example, you might have exceeded
2483//   the number of AWS IoT SiteWise assets that can be created per second, the
2484//   allowed number of messages per second, and so on.
2485//
2486//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
2487//   in the AWS IoT SiteWise User Guide.
2488//
2489// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeDefaultEncryptionConfiguration
2490func (c *IoTSiteWise) DescribeDefaultEncryptionConfiguration(input *DescribeDefaultEncryptionConfigurationInput) (*DescribeDefaultEncryptionConfigurationOutput, error) {
2491	req, out := c.DescribeDefaultEncryptionConfigurationRequest(input)
2492	return out, req.Send()
2493}
2494
2495// DescribeDefaultEncryptionConfigurationWithContext is the same as DescribeDefaultEncryptionConfiguration with the addition of
2496// the ability to pass a context and additional request options.
2497//
2498// See DescribeDefaultEncryptionConfiguration for details on how to use this API operation.
2499//
2500// The context must be non-nil and will be used for request cancellation. If
2501// the context is nil a panic will occur. In the future the SDK may create
2502// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2503// for more information on using Contexts.
2504func (c *IoTSiteWise) DescribeDefaultEncryptionConfigurationWithContext(ctx aws.Context, input *DescribeDefaultEncryptionConfigurationInput, opts ...request.Option) (*DescribeDefaultEncryptionConfigurationOutput, error) {
2505	req, out := c.DescribeDefaultEncryptionConfigurationRequest(input)
2506	req.SetContext(ctx)
2507	req.ApplyOptions(opts...)
2508	return out, req.Send()
2509}
2510
2511const opDescribeGateway = "DescribeGateway"
2512
2513// DescribeGatewayRequest generates a "aws/request.Request" representing the
2514// client's request for the DescribeGateway operation. The "output" return
2515// value will be populated with the request's response once the request completes
2516// successfully.
2517//
2518// Use "Send" method on the returned Request to send the API call to the service.
2519// the "output" return value is not valid until after Send returns without error.
2520//
2521// See DescribeGateway for more information on using the DescribeGateway
2522// API call, and error handling.
2523//
2524// This method is useful when you want to inject custom logic or configuration
2525// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2526//
2527//
2528//    // Example sending a request using the DescribeGatewayRequest method.
2529//    req, resp := client.DescribeGatewayRequest(params)
2530//
2531//    err := req.Send()
2532//    if err == nil { // resp is now filled
2533//        fmt.Println(resp)
2534//    }
2535//
2536// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeGateway
2537func (c *IoTSiteWise) DescribeGatewayRequest(input *DescribeGatewayInput) (req *request.Request, output *DescribeGatewayOutput) {
2538	op := &request.Operation{
2539		Name:       opDescribeGateway,
2540		HTTPMethod: "GET",
2541		HTTPPath:   "/20200301/gateways/{gatewayId}",
2542	}
2543
2544	if input == nil {
2545		input = &DescribeGatewayInput{}
2546	}
2547
2548	output = &DescribeGatewayOutput{}
2549	req = c.newRequest(op, input, output)
2550	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("edge.", nil))
2551	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2552	return
2553}
2554
2555// DescribeGateway API operation for AWS IoT SiteWise.
2556//
2557// Retrieves information about a gateway.
2558//
2559// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2560// with awserr.Error's Code and Message methods to get detailed information about
2561// the error.
2562//
2563// See the AWS API reference guide for AWS IoT SiteWise's
2564// API operation DescribeGateway for usage and error information.
2565//
2566// Returned Error Types:
2567//   * InvalidRequestException
2568//   The request isn't valid. This can occur if your request contains malformed
2569//   JSON or unsupported characters. Check your request and try again.
2570//
2571//   * ResourceNotFoundException
2572//   The requested resource can't be found.
2573//
2574//   * InternalFailureException
2575//   AWS IoT SiteWise can't process your request right now. Try again later.
2576//
2577//   * ThrottlingException
2578//   Your request exceeded a rate limit. For example, you might have exceeded
2579//   the number of AWS IoT SiteWise assets that can be created per second, the
2580//   allowed number of messages per second, and so on.
2581//
2582//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
2583//   in the AWS IoT SiteWise User Guide.
2584//
2585// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeGateway
2586func (c *IoTSiteWise) DescribeGateway(input *DescribeGatewayInput) (*DescribeGatewayOutput, error) {
2587	req, out := c.DescribeGatewayRequest(input)
2588	return out, req.Send()
2589}
2590
2591// DescribeGatewayWithContext is the same as DescribeGateway with the addition of
2592// the ability to pass a context and additional request options.
2593//
2594// See DescribeGateway for details on how to use this API operation.
2595//
2596// The context must be non-nil and will be used for request cancellation. If
2597// the context is nil a panic will occur. In the future the SDK may create
2598// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2599// for more information on using Contexts.
2600func (c *IoTSiteWise) DescribeGatewayWithContext(ctx aws.Context, input *DescribeGatewayInput, opts ...request.Option) (*DescribeGatewayOutput, error) {
2601	req, out := c.DescribeGatewayRequest(input)
2602	req.SetContext(ctx)
2603	req.ApplyOptions(opts...)
2604	return out, req.Send()
2605}
2606
2607const opDescribeGatewayCapabilityConfiguration = "DescribeGatewayCapabilityConfiguration"
2608
2609// DescribeGatewayCapabilityConfigurationRequest generates a "aws/request.Request" representing the
2610// client's request for the DescribeGatewayCapabilityConfiguration operation. The "output" return
2611// value will be populated with the request's response once the request completes
2612// successfully.
2613//
2614// Use "Send" method on the returned Request to send the API call to the service.
2615// the "output" return value is not valid until after Send returns without error.
2616//
2617// See DescribeGatewayCapabilityConfiguration for more information on using the DescribeGatewayCapabilityConfiguration
2618// API call, and error handling.
2619//
2620// This method is useful when you want to inject custom logic or configuration
2621// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2622//
2623//
2624//    // Example sending a request using the DescribeGatewayCapabilityConfigurationRequest method.
2625//    req, resp := client.DescribeGatewayCapabilityConfigurationRequest(params)
2626//
2627//    err := req.Send()
2628//    if err == nil { // resp is now filled
2629//        fmt.Println(resp)
2630//    }
2631//
2632// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeGatewayCapabilityConfiguration
2633func (c *IoTSiteWise) DescribeGatewayCapabilityConfigurationRequest(input *DescribeGatewayCapabilityConfigurationInput) (req *request.Request, output *DescribeGatewayCapabilityConfigurationOutput) {
2634	op := &request.Operation{
2635		Name:       opDescribeGatewayCapabilityConfiguration,
2636		HTTPMethod: "GET",
2637		HTTPPath:   "/20200301/gateways/{gatewayId}/capability/{capabilityNamespace}",
2638	}
2639
2640	if input == nil {
2641		input = &DescribeGatewayCapabilityConfigurationInput{}
2642	}
2643
2644	output = &DescribeGatewayCapabilityConfigurationOutput{}
2645	req = c.newRequest(op, input, output)
2646	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("edge.", nil))
2647	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2648	return
2649}
2650
2651// DescribeGatewayCapabilityConfiguration API operation for AWS IoT SiteWise.
2652//
2653// Retrieves information about a gateway capability configuration. Each gateway
2654// capability defines data sources for a gateway. A capability configuration
2655// can contain multiple data source configurations. If you define OPC-UA sources
2656// for a gateway in the AWS IoT SiteWise console, all of your OPC-UA sources
2657// are stored in one capability configuration. To list all capability configurations
2658// for a gateway, use DescribeGateway (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGateway.html).
2659//
2660// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2661// with awserr.Error's Code and Message methods to get detailed information about
2662// the error.
2663//
2664// See the AWS API reference guide for AWS IoT SiteWise's
2665// API operation DescribeGatewayCapabilityConfiguration for usage and error information.
2666//
2667// Returned Error Types:
2668//   * InvalidRequestException
2669//   The request isn't valid. This can occur if your request contains malformed
2670//   JSON or unsupported characters. Check your request and try again.
2671//
2672//   * ResourceNotFoundException
2673//   The requested resource can't be found.
2674//
2675//   * InternalFailureException
2676//   AWS IoT SiteWise can't process your request right now. Try again later.
2677//
2678//   * ThrottlingException
2679//   Your request exceeded a rate limit. For example, you might have exceeded
2680//   the number of AWS IoT SiteWise assets that can be created per second, the
2681//   allowed number of messages per second, and so on.
2682//
2683//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
2684//   in the AWS IoT SiteWise User Guide.
2685//
2686// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeGatewayCapabilityConfiguration
2687func (c *IoTSiteWise) DescribeGatewayCapabilityConfiguration(input *DescribeGatewayCapabilityConfigurationInput) (*DescribeGatewayCapabilityConfigurationOutput, error) {
2688	req, out := c.DescribeGatewayCapabilityConfigurationRequest(input)
2689	return out, req.Send()
2690}
2691
2692// DescribeGatewayCapabilityConfigurationWithContext is the same as DescribeGatewayCapabilityConfiguration with the addition of
2693// the ability to pass a context and additional request options.
2694//
2695// See DescribeGatewayCapabilityConfiguration for details on how to use this API operation.
2696//
2697// The context must be non-nil and will be used for request cancellation. If
2698// the context is nil a panic will occur. In the future the SDK may create
2699// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2700// for more information on using Contexts.
2701func (c *IoTSiteWise) DescribeGatewayCapabilityConfigurationWithContext(ctx aws.Context, input *DescribeGatewayCapabilityConfigurationInput, opts ...request.Option) (*DescribeGatewayCapabilityConfigurationOutput, error) {
2702	req, out := c.DescribeGatewayCapabilityConfigurationRequest(input)
2703	req.SetContext(ctx)
2704	req.ApplyOptions(opts...)
2705	return out, req.Send()
2706}
2707
2708const opDescribeLoggingOptions = "DescribeLoggingOptions"
2709
2710// DescribeLoggingOptionsRequest generates a "aws/request.Request" representing the
2711// client's request for the DescribeLoggingOptions operation. The "output" return
2712// value will be populated with the request's response once the request completes
2713// successfully.
2714//
2715// Use "Send" method on the returned Request to send the API call to the service.
2716// the "output" return value is not valid until after Send returns without error.
2717//
2718// See DescribeLoggingOptions for more information on using the DescribeLoggingOptions
2719// API call, and error handling.
2720//
2721// This method is useful when you want to inject custom logic or configuration
2722// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2723//
2724//
2725//    // Example sending a request using the DescribeLoggingOptionsRequest method.
2726//    req, resp := client.DescribeLoggingOptionsRequest(params)
2727//
2728//    err := req.Send()
2729//    if err == nil { // resp is now filled
2730//        fmt.Println(resp)
2731//    }
2732//
2733// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeLoggingOptions
2734func (c *IoTSiteWise) DescribeLoggingOptionsRequest(input *DescribeLoggingOptionsInput) (req *request.Request, output *DescribeLoggingOptionsOutput) {
2735	op := &request.Operation{
2736		Name:       opDescribeLoggingOptions,
2737		HTTPMethod: "GET",
2738		HTTPPath:   "/logging",
2739	}
2740
2741	if input == nil {
2742		input = &DescribeLoggingOptionsInput{}
2743	}
2744
2745	output = &DescribeLoggingOptionsOutput{}
2746	req = c.newRequest(op, input, output)
2747	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
2748	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2749	return
2750}
2751
2752// DescribeLoggingOptions API operation for AWS IoT SiteWise.
2753//
2754// Retrieves the current AWS IoT SiteWise logging options.
2755//
2756// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2757// with awserr.Error's Code and Message methods to get detailed information about
2758// the error.
2759//
2760// See the AWS API reference guide for AWS IoT SiteWise's
2761// API operation DescribeLoggingOptions for usage and error information.
2762//
2763// Returned Error Types:
2764//   * InvalidRequestException
2765//   The request isn't valid. This can occur if your request contains malformed
2766//   JSON or unsupported characters. Check your request and try again.
2767//
2768//   * ThrottlingException
2769//   Your request exceeded a rate limit. For example, you might have exceeded
2770//   the number of AWS IoT SiteWise assets that can be created per second, the
2771//   allowed number of messages per second, and so on.
2772//
2773//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
2774//   in the AWS IoT SiteWise User Guide.
2775//
2776//   * InternalFailureException
2777//   AWS IoT SiteWise can't process your request right now. Try again later.
2778//
2779//   * ResourceNotFoundException
2780//   The requested resource can't be found.
2781//
2782// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeLoggingOptions
2783func (c *IoTSiteWise) DescribeLoggingOptions(input *DescribeLoggingOptionsInput) (*DescribeLoggingOptionsOutput, error) {
2784	req, out := c.DescribeLoggingOptionsRequest(input)
2785	return out, req.Send()
2786}
2787
2788// DescribeLoggingOptionsWithContext is the same as DescribeLoggingOptions with the addition of
2789// the ability to pass a context and additional request options.
2790//
2791// See DescribeLoggingOptions for details on how to use this API operation.
2792//
2793// The context must be non-nil and will be used for request cancellation. If
2794// the context is nil a panic will occur. In the future the SDK may create
2795// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2796// for more information on using Contexts.
2797func (c *IoTSiteWise) DescribeLoggingOptionsWithContext(ctx aws.Context, input *DescribeLoggingOptionsInput, opts ...request.Option) (*DescribeLoggingOptionsOutput, error) {
2798	req, out := c.DescribeLoggingOptionsRequest(input)
2799	req.SetContext(ctx)
2800	req.ApplyOptions(opts...)
2801	return out, req.Send()
2802}
2803
2804const opDescribePortal = "DescribePortal"
2805
2806// DescribePortalRequest generates a "aws/request.Request" representing the
2807// client's request for the DescribePortal operation. The "output" return
2808// value will be populated with the request's response once the request completes
2809// successfully.
2810//
2811// Use "Send" method on the returned Request to send the API call to the service.
2812// the "output" return value is not valid until after Send returns without error.
2813//
2814// See DescribePortal for more information on using the DescribePortal
2815// API call, and error handling.
2816//
2817// This method is useful when you want to inject custom logic or configuration
2818// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2819//
2820//
2821//    // Example sending a request using the DescribePortalRequest method.
2822//    req, resp := client.DescribePortalRequest(params)
2823//
2824//    err := req.Send()
2825//    if err == nil { // resp is now filled
2826//        fmt.Println(resp)
2827//    }
2828//
2829// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribePortal
2830func (c *IoTSiteWise) DescribePortalRequest(input *DescribePortalInput) (req *request.Request, output *DescribePortalOutput) {
2831	op := &request.Operation{
2832		Name:       opDescribePortal,
2833		HTTPMethod: "GET",
2834		HTTPPath:   "/portals/{portalId}",
2835	}
2836
2837	if input == nil {
2838		input = &DescribePortalInput{}
2839	}
2840
2841	output = &DescribePortalOutput{}
2842	req = c.newRequest(op, input, output)
2843	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
2844	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2845	return
2846}
2847
2848// DescribePortal API operation for AWS IoT SiteWise.
2849//
2850// Retrieves information about a portal.
2851//
2852// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2853// with awserr.Error's Code and Message methods to get detailed information about
2854// the error.
2855//
2856// See the AWS API reference guide for AWS IoT SiteWise's
2857// API operation DescribePortal for usage and error information.
2858//
2859// Returned Error Types:
2860//   * InvalidRequestException
2861//   The request isn't valid. This can occur if your request contains malformed
2862//   JSON or unsupported characters. Check your request and try again.
2863//
2864//   * ResourceNotFoundException
2865//   The requested resource can't be found.
2866//
2867//   * InternalFailureException
2868//   AWS IoT SiteWise can't process your request right now. Try again later.
2869//
2870//   * ThrottlingException
2871//   Your request exceeded a rate limit. For example, you might have exceeded
2872//   the number of AWS IoT SiteWise assets that can be created per second, the
2873//   allowed number of messages per second, and so on.
2874//
2875//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
2876//   in the AWS IoT SiteWise User Guide.
2877//
2878// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribePortal
2879func (c *IoTSiteWise) DescribePortal(input *DescribePortalInput) (*DescribePortalOutput, error) {
2880	req, out := c.DescribePortalRequest(input)
2881	return out, req.Send()
2882}
2883
2884// DescribePortalWithContext is the same as DescribePortal with the addition of
2885// the ability to pass a context and additional request options.
2886//
2887// See DescribePortal for details on how to use this API operation.
2888//
2889// The context must be non-nil and will be used for request cancellation. If
2890// the context is nil a panic will occur. In the future the SDK may create
2891// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2892// for more information on using Contexts.
2893func (c *IoTSiteWise) DescribePortalWithContext(ctx aws.Context, input *DescribePortalInput, opts ...request.Option) (*DescribePortalOutput, error) {
2894	req, out := c.DescribePortalRequest(input)
2895	req.SetContext(ctx)
2896	req.ApplyOptions(opts...)
2897	return out, req.Send()
2898}
2899
2900const opDescribeProject = "DescribeProject"
2901
2902// DescribeProjectRequest generates a "aws/request.Request" representing the
2903// client's request for the DescribeProject operation. The "output" return
2904// value will be populated with the request's response once the request completes
2905// successfully.
2906//
2907// Use "Send" method on the returned Request to send the API call to the service.
2908// the "output" return value is not valid until after Send returns without error.
2909//
2910// See DescribeProject for more information on using the DescribeProject
2911// API call, and error handling.
2912//
2913// This method is useful when you want to inject custom logic or configuration
2914// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2915//
2916//
2917//    // Example sending a request using the DescribeProjectRequest method.
2918//    req, resp := client.DescribeProjectRequest(params)
2919//
2920//    err := req.Send()
2921//    if err == nil { // resp is now filled
2922//        fmt.Println(resp)
2923//    }
2924//
2925// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeProject
2926func (c *IoTSiteWise) DescribeProjectRequest(input *DescribeProjectInput) (req *request.Request, output *DescribeProjectOutput) {
2927	op := &request.Operation{
2928		Name:       opDescribeProject,
2929		HTTPMethod: "GET",
2930		HTTPPath:   "/projects/{projectId}",
2931	}
2932
2933	if input == nil {
2934		input = &DescribeProjectInput{}
2935	}
2936
2937	output = &DescribeProjectOutput{}
2938	req = c.newRequest(op, input, output)
2939	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
2940	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
2941	return
2942}
2943
2944// DescribeProject API operation for AWS IoT SiteWise.
2945//
2946// Retrieves information about a project.
2947//
2948// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2949// with awserr.Error's Code and Message methods to get detailed information about
2950// the error.
2951//
2952// See the AWS API reference guide for AWS IoT SiteWise's
2953// API operation DescribeProject for usage and error information.
2954//
2955// Returned Error Types:
2956//   * InvalidRequestException
2957//   The request isn't valid. This can occur if your request contains malformed
2958//   JSON or unsupported characters. Check your request and try again.
2959//
2960//   * ResourceNotFoundException
2961//   The requested resource can't be found.
2962//
2963//   * InternalFailureException
2964//   AWS IoT SiteWise can't process your request right now. Try again later.
2965//
2966//   * ThrottlingException
2967//   Your request exceeded a rate limit. For example, you might have exceeded
2968//   the number of AWS IoT SiteWise assets that can be created per second, the
2969//   allowed number of messages per second, and so on.
2970//
2971//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
2972//   in the AWS IoT SiteWise User Guide.
2973//
2974// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DescribeProject
2975func (c *IoTSiteWise) DescribeProject(input *DescribeProjectInput) (*DescribeProjectOutput, error) {
2976	req, out := c.DescribeProjectRequest(input)
2977	return out, req.Send()
2978}
2979
2980// DescribeProjectWithContext is the same as DescribeProject with the addition of
2981// the ability to pass a context and additional request options.
2982//
2983// See DescribeProject for details on how to use this API operation.
2984//
2985// The context must be non-nil and will be used for request cancellation. If
2986// the context is nil a panic will occur. In the future the SDK may create
2987// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2988// for more information on using Contexts.
2989func (c *IoTSiteWise) DescribeProjectWithContext(ctx aws.Context, input *DescribeProjectInput, opts ...request.Option) (*DescribeProjectOutput, error) {
2990	req, out := c.DescribeProjectRequest(input)
2991	req.SetContext(ctx)
2992	req.ApplyOptions(opts...)
2993	return out, req.Send()
2994}
2995
2996const opDisassociateAssets = "DisassociateAssets"
2997
2998// DisassociateAssetsRequest generates a "aws/request.Request" representing the
2999// client's request for the DisassociateAssets operation. The "output" return
3000// value will be populated with the request's response once the request completes
3001// successfully.
3002//
3003// Use "Send" method on the returned Request to send the API call to the service.
3004// the "output" return value is not valid until after Send returns without error.
3005//
3006// See DisassociateAssets for more information on using the DisassociateAssets
3007// API call, and error handling.
3008//
3009// This method is useful when you want to inject custom logic or configuration
3010// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3011//
3012//
3013//    // Example sending a request using the DisassociateAssetsRequest method.
3014//    req, resp := client.DisassociateAssetsRequest(params)
3015//
3016//    err := req.Send()
3017//    if err == nil { // resp is now filled
3018//        fmt.Println(resp)
3019//    }
3020//
3021// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DisassociateAssets
3022func (c *IoTSiteWise) DisassociateAssetsRequest(input *DisassociateAssetsInput) (req *request.Request, output *DisassociateAssetsOutput) {
3023	op := &request.Operation{
3024		Name:       opDisassociateAssets,
3025		HTTPMethod: "POST",
3026		HTTPPath:   "/assets/{assetId}/disassociate",
3027	}
3028
3029	if input == nil {
3030		input = &DisassociateAssetsInput{}
3031	}
3032
3033	output = &DisassociateAssetsOutput{}
3034	req = c.newRequest(op, input, output)
3035	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3036	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
3037	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3038	return
3039}
3040
3041// DisassociateAssets API operation for AWS IoT SiteWise.
3042//
3043// Disassociates a child asset from the given parent asset through a hierarchy
3044// defined in the parent asset's model.
3045//
3046// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3047// with awserr.Error's Code and Message methods to get detailed information about
3048// the error.
3049//
3050// See the AWS API reference guide for AWS IoT SiteWise's
3051// API operation DisassociateAssets for usage and error information.
3052//
3053// Returned Error Types:
3054//   * InvalidRequestException
3055//   The request isn't valid. This can occur if your request contains malformed
3056//   JSON or unsupported characters. Check your request and try again.
3057//
3058//   * ResourceNotFoundException
3059//   The requested resource can't be found.
3060//
3061//   * InternalFailureException
3062//   AWS IoT SiteWise can't process your request right now. Try again later.
3063//
3064//   * ThrottlingException
3065//   Your request exceeded a rate limit. For example, you might have exceeded
3066//   the number of AWS IoT SiteWise assets that can be created per second, the
3067//   allowed number of messages per second, and so on.
3068//
3069//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
3070//   in the AWS IoT SiteWise User Guide.
3071//
3072//   * ConflictingOperationException
3073//   Your request has conflicting operations. This can occur if you're trying
3074//   to perform more than one operation on the same resource at the same time.
3075//
3076// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/DisassociateAssets
3077func (c *IoTSiteWise) DisassociateAssets(input *DisassociateAssetsInput) (*DisassociateAssetsOutput, error) {
3078	req, out := c.DisassociateAssetsRequest(input)
3079	return out, req.Send()
3080}
3081
3082// DisassociateAssetsWithContext is the same as DisassociateAssets with the addition of
3083// the ability to pass a context and additional request options.
3084//
3085// See DisassociateAssets for details on how to use this API operation.
3086//
3087// The context must be non-nil and will be used for request cancellation. If
3088// the context is nil a panic will occur. In the future the SDK may create
3089// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3090// for more information on using Contexts.
3091func (c *IoTSiteWise) DisassociateAssetsWithContext(ctx aws.Context, input *DisassociateAssetsInput, opts ...request.Option) (*DisassociateAssetsOutput, error) {
3092	req, out := c.DisassociateAssetsRequest(input)
3093	req.SetContext(ctx)
3094	req.ApplyOptions(opts...)
3095	return out, req.Send()
3096}
3097
3098const opGetAssetPropertyAggregates = "GetAssetPropertyAggregates"
3099
3100// GetAssetPropertyAggregatesRequest generates a "aws/request.Request" representing the
3101// client's request for the GetAssetPropertyAggregates operation. The "output" return
3102// value will be populated with the request's response once the request completes
3103// successfully.
3104//
3105// Use "Send" method on the returned Request to send the API call to the service.
3106// the "output" return value is not valid until after Send returns without error.
3107//
3108// See GetAssetPropertyAggregates for more information on using the GetAssetPropertyAggregates
3109// API call, and error handling.
3110//
3111// This method is useful when you want to inject custom logic or configuration
3112// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3113//
3114//
3115//    // Example sending a request using the GetAssetPropertyAggregatesRequest method.
3116//    req, resp := client.GetAssetPropertyAggregatesRequest(params)
3117//
3118//    err := req.Send()
3119//    if err == nil { // resp is now filled
3120//        fmt.Println(resp)
3121//    }
3122//
3123// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetAssetPropertyAggregates
3124func (c *IoTSiteWise) GetAssetPropertyAggregatesRequest(input *GetAssetPropertyAggregatesInput) (req *request.Request, output *GetAssetPropertyAggregatesOutput) {
3125	op := &request.Operation{
3126		Name:       opGetAssetPropertyAggregates,
3127		HTTPMethod: "GET",
3128		HTTPPath:   "/properties/aggregates",
3129		Paginator: &request.Paginator{
3130			InputTokens:     []string{"nextToken"},
3131			OutputTokens:    []string{"nextToken"},
3132			LimitToken:      "maxResults",
3133			TruncationToken: "",
3134		},
3135	}
3136
3137	if input == nil {
3138		input = &GetAssetPropertyAggregatesInput{}
3139	}
3140
3141	output = &GetAssetPropertyAggregatesOutput{}
3142	req = c.newRequest(op, input, output)
3143	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data.", nil))
3144	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3145	return
3146}
3147
3148// GetAssetPropertyAggregates API operation for AWS IoT SiteWise.
3149//
3150// Gets aggregated values for an asset property. For more information, see Querying
3151// aggregates (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/query-industrial-data.html#aggregates)
3152// in the AWS IoT SiteWise User Guide.
3153//
3154// To identify an asset property, you must specify one of the following:
3155//
3156//    * The assetId and propertyId of an asset property.
3157//
3158//    * A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature).
3159//    To define an asset property's alias, see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html).
3160//
3161// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3162// with awserr.Error's Code and Message methods to get detailed information about
3163// the error.
3164//
3165// See the AWS API reference guide for AWS IoT SiteWise's
3166// API operation GetAssetPropertyAggregates for usage and error information.
3167//
3168// Returned Error Types:
3169//   * InvalidRequestException
3170//   The request isn't valid. This can occur if your request contains malformed
3171//   JSON or unsupported characters. Check your request and try again.
3172//
3173//   * ResourceNotFoundException
3174//   The requested resource can't be found.
3175//
3176//   * InternalFailureException
3177//   AWS IoT SiteWise can't process your request right now. Try again later.
3178//
3179//   * ThrottlingException
3180//   Your request exceeded a rate limit. For example, you might have exceeded
3181//   the number of AWS IoT SiteWise assets that can be created per second, the
3182//   allowed number of messages per second, and so on.
3183//
3184//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
3185//   in the AWS IoT SiteWise User Guide.
3186//
3187//   * ServiceUnavailableException
3188//   The requested service is unavailable.
3189//
3190// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetAssetPropertyAggregates
3191func (c *IoTSiteWise) GetAssetPropertyAggregates(input *GetAssetPropertyAggregatesInput) (*GetAssetPropertyAggregatesOutput, error) {
3192	req, out := c.GetAssetPropertyAggregatesRequest(input)
3193	return out, req.Send()
3194}
3195
3196// GetAssetPropertyAggregatesWithContext is the same as GetAssetPropertyAggregates with the addition of
3197// the ability to pass a context and additional request options.
3198//
3199// See GetAssetPropertyAggregates for details on how to use this API operation.
3200//
3201// The context must be non-nil and will be used for request cancellation. If
3202// the context is nil a panic will occur. In the future the SDK may create
3203// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3204// for more information on using Contexts.
3205func (c *IoTSiteWise) GetAssetPropertyAggregatesWithContext(ctx aws.Context, input *GetAssetPropertyAggregatesInput, opts ...request.Option) (*GetAssetPropertyAggregatesOutput, error) {
3206	req, out := c.GetAssetPropertyAggregatesRequest(input)
3207	req.SetContext(ctx)
3208	req.ApplyOptions(opts...)
3209	return out, req.Send()
3210}
3211
3212// GetAssetPropertyAggregatesPages iterates over the pages of a GetAssetPropertyAggregates operation,
3213// calling the "fn" function with the response data for each page. To stop
3214// iterating, return false from the fn function.
3215//
3216// See GetAssetPropertyAggregates method for more information on how to use this operation.
3217//
3218// Note: This operation can generate multiple requests to a service.
3219//
3220//    // Example iterating over at most 3 pages of a GetAssetPropertyAggregates operation.
3221//    pageNum := 0
3222//    err := client.GetAssetPropertyAggregatesPages(params,
3223//        func(page *iotsitewise.GetAssetPropertyAggregatesOutput, lastPage bool) bool {
3224//            pageNum++
3225//            fmt.Println(page)
3226//            return pageNum <= 3
3227//        })
3228//
3229func (c *IoTSiteWise) GetAssetPropertyAggregatesPages(input *GetAssetPropertyAggregatesInput, fn func(*GetAssetPropertyAggregatesOutput, bool) bool) error {
3230	return c.GetAssetPropertyAggregatesPagesWithContext(aws.BackgroundContext(), input, fn)
3231}
3232
3233// GetAssetPropertyAggregatesPagesWithContext same as GetAssetPropertyAggregatesPages except
3234// it takes a Context and allows setting request options on the pages.
3235//
3236// The context must be non-nil and will be used for request cancellation. If
3237// the context is nil a panic will occur. In the future the SDK may create
3238// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3239// for more information on using Contexts.
3240func (c *IoTSiteWise) GetAssetPropertyAggregatesPagesWithContext(ctx aws.Context, input *GetAssetPropertyAggregatesInput, fn func(*GetAssetPropertyAggregatesOutput, bool) bool, opts ...request.Option) error {
3241	p := request.Pagination{
3242		NewRequest: func() (*request.Request, error) {
3243			var inCpy *GetAssetPropertyAggregatesInput
3244			if input != nil {
3245				tmp := *input
3246				inCpy = &tmp
3247			}
3248			req, _ := c.GetAssetPropertyAggregatesRequest(inCpy)
3249			req.SetContext(ctx)
3250			req.ApplyOptions(opts...)
3251			return req, nil
3252		},
3253	}
3254
3255	for p.Next() {
3256		if !fn(p.Page().(*GetAssetPropertyAggregatesOutput), !p.HasNextPage()) {
3257			break
3258		}
3259	}
3260
3261	return p.Err()
3262}
3263
3264const opGetAssetPropertyValue = "GetAssetPropertyValue"
3265
3266// GetAssetPropertyValueRequest generates a "aws/request.Request" representing the
3267// client's request for the GetAssetPropertyValue operation. The "output" return
3268// value will be populated with the request's response once the request completes
3269// successfully.
3270//
3271// Use "Send" method on the returned Request to send the API call to the service.
3272// the "output" return value is not valid until after Send returns without error.
3273//
3274// See GetAssetPropertyValue for more information on using the GetAssetPropertyValue
3275// API call, and error handling.
3276//
3277// This method is useful when you want to inject custom logic or configuration
3278// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3279//
3280//
3281//    // Example sending a request using the GetAssetPropertyValueRequest method.
3282//    req, resp := client.GetAssetPropertyValueRequest(params)
3283//
3284//    err := req.Send()
3285//    if err == nil { // resp is now filled
3286//        fmt.Println(resp)
3287//    }
3288//
3289// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetAssetPropertyValue
3290func (c *IoTSiteWise) GetAssetPropertyValueRequest(input *GetAssetPropertyValueInput) (req *request.Request, output *GetAssetPropertyValueOutput) {
3291	op := &request.Operation{
3292		Name:       opGetAssetPropertyValue,
3293		HTTPMethod: "GET",
3294		HTTPPath:   "/properties/latest",
3295	}
3296
3297	if input == nil {
3298		input = &GetAssetPropertyValueInput{}
3299	}
3300
3301	output = &GetAssetPropertyValueOutput{}
3302	req = c.newRequest(op, input, output)
3303	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data.", nil))
3304	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3305	return
3306}
3307
3308// GetAssetPropertyValue API operation for AWS IoT SiteWise.
3309//
3310// Gets an asset property's current value. For more information, see Querying
3311// current values (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/query-industrial-data.html#current-values)
3312// in the AWS IoT SiteWise User Guide.
3313//
3314// To identify an asset property, you must specify one of the following:
3315//
3316//    * The assetId and propertyId of an asset property.
3317//
3318//    * A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature).
3319//    To define an asset property's alias, see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html).
3320//
3321// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3322// with awserr.Error's Code and Message methods to get detailed information about
3323// the error.
3324//
3325// See the AWS API reference guide for AWS IoT SiteWise's
3326// API operation GetAssetPropertyValue for usage and error information.
3327//
3328// Returned Error Types:
3329//   * InvalidRequestException
3330//   The request isn't valid. This can occur if your request contains malformed
3331//   JSON or unsupported characters. Check your request and try again.
3332//
3333//   * ResourceNotFoundException
3334//   The requested resource can't be found.
3335//
3336//   * InternalFailureException
3337//   AWS IoT SiteWise can't process your request right now. Try again later.
3338//
3339//   * ThrottlingException
3340//   Your request exceeded a rate limit. For example, you might have exceeded
3341//   the number of AWS IoT SiteWise assets that can be created per second, the
3342//   allowed number of messages per second, and so on.
3343//
3344//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
3345//   in the AWS IoT SiteWise User Guide.
3346//
3347//   * ServiceUnavailableException
3348//   The requested service is unavailable.
3349//
3350// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetAssetPropertyValue
3351func (c *IoTSiteWise) GetAssetPropertyValue(input *GetAssetPropertyValueInput) (*GetAssetPropertyValueOutput, error) {
3352	req, out := c.GetAssetPropertyValueRequest(input)
3353	return out, req.Send()
3354}
3355
3356// GetAssetPropertyValueWithContext is the same as GetAssetPropertyValue with the addition of
3357// the ability to pass a context and additional request options.
3358//
3359// See GetAssetPropertyValue for details on how to use this API operation.
3360//
3361// The context must be non-nil and will be used for request cancellation. If
3362// the context is nil a panic will occur. In the future the SDK may create
3363// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3364// for more information on using Contexts.
3365func (c *IoTSiteWise) GetAssetPropertyValueWithContext(ctx aws.Context, input *GetAssetPropertyValueInput, opts ...request.Option) (*GetAssetPropertyValueOutput, error) {
3366	req, out := c.GetAssetPropertyValueRequest(input)
3367	req.SetContext(ctx)
3368	req.ApplyOptions(opts...)
3369	return out, req.Send()
3370}
3371
3372const opGetAssetPropertyValueHistory = "GetAssetPropertyValueHistory"
3373
3374// GetAssetPropertyValueHistoryRequest generates a "aws/request.Request" representing the
3375// client's request for the GetAssetPropertyValueHistory operation. The "output" return
3376// value will be populated with the request's response once the request completes
3377// successfully.
3378//
3379// Use "Send" method on the returned Request to send the API call to the service.
3380// the "output" return value is not valid until after Send returns without error.
3381//
3382// See GetAssetPropertyValueHistory for more information on using the GetAssetPropertyValueHistory
3383// API call, and error handling.
3384//
3385// This method is useful when you want to inject custom logic or configuration
3386// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3387//
3388//
3389//    // Example sending a request using the GetAssetPropertyValueHistoryRequest method.
3390//    req, resp := client.GetAssetPropertyValueHistoryRequest(params)
3391//
3392//    err := req.Send()
3393//    if err == nil { // resp is now filled
3394//        fmt.Println(resp)
3395//    }
3396//
3397// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetAssetPropertyValueHistory
3398func (c *IoTSiteWise) GetAssetPropertyValueHistoryRequest(input *GetAssetPropertyValueHistoryInput) (req *request.Request, output *GetAssetPropertyValueHistoryOutput) {
3399	op := &request.Operation{
3400		Name:       opGetAssetPropertyValueHistory,
3401		HTTPMethod: "GET",
3402		HTTPPath:   "/properties/history",
3403		Paginator: &request.Paginator{
3404			InputTokens:     []string{"nextToken"},
3405			OutputTokens:    []string{"nextToken"},
3406			LimitToken:      "maxResults",
3407			TruncationToken: "",
3408		},
3409	}
3410
3411	if input == nil {
3412		input = &GetAssetPropertyValueHistoryInput{}
3413	}
3414
3415	output = &GetAssetPropertyValueHistoryOutput{}
3416	req = c.newRequest(op, input, output)
3417	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data.", nil))
3418	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3419	return
3420}
3421
3422// GetAssetPropertyValueHistory API operation for AWS IoT SiteWise.
3423//
3424// Gets the history of an asset property's values. For more information, see
3425// Querying historical values (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/query-industrial-data.html#historical-values)
3426// in the AWS IoT SiteWise User Guide.
3427//
3428// To identify an asset property, you must specify one of the following:
3429//
3430//    * The assetId and propertyId of an asset property.
3431//
3432//    * A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature).
3433//    To define an asset property's alias, see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html).
3434//
3435// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3436// with awserr.Error's Code and Message methods to get detailed information about
3437// the error.
3438//
3439// See the AWS API reference guide for AWS IoT SiteWise's
3440// API operation GetAssetPropertyValueHistory for usage and error information.
3441//
3442// Returned Error Types:
3443//   * InvalidRequestException
3444//   The request isn't valid. This can occur if your request contains malformed
3445//   JSON or unsupported characters. Check your request and try again.
3446//
3447//   * ResourceNotFoundException
3448//   The requested resource can't be found.
3449//
3450//   * InternalFailureException
3451//   AWS IoT SiteWise can't process your request right now. Try again later.
3452//
3453//   * ThrottlingException
3454//   Your request exceeded a rate limit. For example, you might have exceeded
3455//   the number of AWS IoT SiteWise assets that can be created per second, the
3456//   allowed number of messages per second, and so on.
3457//
3458//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
3459//   in the AWS IoT SiteWise User Guide.
3460//
3461//   * ServiceUnavailableException
3462//   The requested service is unavailable.
3463//
3464// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetAssetPropertyValueHistory
3465func (c *IoTSiteWise) GetAssetPropertyValueHistory(input *GetAssetPropertyValueHistoryInput) (*GetAssetPropertyValueHistoryOutput, error) {
3466	req, out := c.GetAssetPropertyValueHistoryRequest(input)
3467	return out, req.Send()
3468}
3469
3470// GetAssetPropertyValueHistoryWithContext is the same as GetAssetPropertyValueHistory with the addition of
3471// the ability to pass a context and additional request options.
3472//
3473// See GetAssetPropertyValueHistory for details on how to use this API operation.
3474//
3475// The context must be non-nil and will be used for request cancellation. If
3476// the context is nil a panic will occur. In the future the SDK may create
3477// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3478// for more information on using Contexts.
3479func (c *IoTSiteWise) GetAssetPropertyValueHistoryWithContext(ctx aws.Context, input *GetAssetPropertyValueHistoryInput, opts ...request.Option) (*GetAssetPropertyValueHistoryOutput, error) {
3480	req, out := c.GetAssetPropertyValueHistoryRequest(input)
3481	req.SetContext(ctx)
3482	req.ApplyOptions(opts...)
3483	return out, req.Send()
3484}
3485
3486// GetAssetPropertyValueHistoryPages iterates over the pages of a GetAssetPropertyValueHistory operation,
3487// calling the "fn" function with the response data for each page. To stop
3488// iterating, return false from the fn function.
3489//
3490// See GetAssetPropertyValueHistory method for more information on how to use this operation.
3491//
3492// Note: This operation can generate multiple requests to a service.
3493//
3494//    // Example iterating over at most 3 pages of a GetAssetPropertyValueHistory operation.
3495//    pageNum := 0
3496//    err := client.GetAssetPropertyValueHistoryPages(params,
3497//        func(page *iotsitewise.GetAssetPropertyValueHistoryOutput, lastPage bool) bool {
3498//            pageNum++
3499//            fmt.Println(page)
3500//            return pageNum <= 3
3501//        })
3502//
3503func (c *IoTSiteWise) GetAssetPropertyValueHistoryPages(input *GetAssetPropertyValueHistoryInput, fn func(*GetAssetPropertyValueHistoryOutput, bool) bool) error {
3504	return c.GetAssetPropertyValueHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
3505}
3506
3507// GetAssetPropertyValueHistoryPagesWithContext same as GetAssetPropertyValueHistoryPages except
3508// it takes a Context and allows setting request options on the pages.
3509//
3510// The context must be non-nil and will be used for request cancellation. If
3511// the context is nil a panic will occur. In the future the SDK may create
3512// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3513// for more information on using Contexts.
3514func (c *IoTSiteWise) GetAssetPropertyValueHistoryPagesWithContext(ctx aws.Context, input *GetAssetPropertyValueHistoryInput, fn func(*GetAssetPropertyValueHistoryOutput, bool) bool, opts ...request.Option) error {
3515	p := request.Pagination{
3516		NewRequest: func() (*request.Request, error) {
3517			var inCpy *GetAssetPropertyValueHistoryInput
3518			if input != nil {
3519				tmp := *input
3520				inCpy = &tmp
3521			}
3522			req, _ := c.GetAssetPropertyValueHistoryRequest(inCpy)
3523			req.SetContext(ctx)
3524			req.ApplyOptions(opts...)
3525			return req, nil
3526		},
3527	}
3528
3529	for p.Next() {
3530		if !fn(p.Page().(*GetAssetPropertyValueHistoryOutput), !p.HasNextPage()) {
3531			break
3532		}
3533	}
3534
3535	return p.Err()
3536}
3537
3538const opGetInterpolatedAssetPropertyValues = "GetInterpolatedAssetPropertyValues"
3539
3540// GetInterpolatedAssetPropertyValuesRequest generates a "aws/request.Request" representing the
3541// client's request for the GetInterpolatedAssetPropertyValues operation. The "output" return
3542// value will be populated with the request's response once the request completes
3543// successfully.
3544//
3545// Use "Send" method on the returned Request to send the API call to the service.
3546// the "output" return value is not valid until after Send returns without error.
3547//
3548// See GetInterpolatedAssetPropertyValues for more information on using the GetInterpolatedAssetPropertyValues
3549// API call, and error handling.
3550//
3551// This method is useful when you want to inject custom logic or configuration
3552// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3553//
3554//
3555//    // Example sending a request using the GetInterpolatedAssetPropertyValuesRequest method.
3556//    req, resp := client.GetInterpolatedAssetPropertyValuesRequest(params)
3557//
3558//    err := req.Send()
3559//    if err == nil { // resp is now filled
3560//        fmt.Println(resp)
3561//    }
3562//
3563// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetInterpolatedAssetPropertyValues
3564func (c *IoTSiteWise) GetInterpolatedAssetPropertyValuesRequest(input *GetInterpolatedAssetPropertyValuesInput) (req *request.Request, output *GetInterpolatedAssetPropertyValuesOutput) {
3565	op := &request.Operation{
3566		Name:       opGetInterpolatedAssetPropertyValues,
3567		HTTPMethod: "GET",
3568		HTTPPath:   "/properties/interpolated",
3569		Paginator: &request.Paginator{
3570			InputTokens:     []string{"nextToken"},
3571			OutputTokens:    []string{"nextToken"},
3572			LimitToken:      "maxResults",
3573			TruncationToken: "",
3574		},
3575	}
3576
3577	if input == nil {
3578		input = &GetInterpolatedAssetPropertyValuesInput{}
3579	}
3580
3581	output = &GetInterpolatedAssetPropertyValuesOutput{}
3582	req = c.newRequest(op, input, output)
3583	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data.", nil))
3584	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3585	return
3586}
3587
3588// GetInterpolatedAssetPropertyValues API operation for AWS IoT SiteWise.
3589//
3590// Get interpolated values for an asset property for a specified time interval,
3591// during a period of time. For example, you can use the this operation to return
3592// the interpolated temperature values for a wind turbine every 24 hours over
3593// a duration of 7 days.
3594//
3595// To identify an asset property, you must specify one of the following:
3596//
3597//    * The assetId and propertyId of an asset property.
3598//
3599//    * A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature).
3600//    To define an asset property's alias, see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html).
3601//
3602// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3603// with awserr.Error's Code and Message methods to get detailed information about
3604// the error.
3605//
3606// See the AWS API reference guide for AWS IoT SiteWise's
3607// API operation GetInterpolatedAssetPropertyValues for usage and error information.
3608//
3609// Returned Error Types:
3610//   * InvalidRequestException
3611//   The request isn't valid. This can occur if your request contains malformed
3612//   JSON or unsupported characters. Check your request and try again.
3613//
3614//   * ResourceNotFoundException
3615//   The requested resource can't be found.
3616//
3617//   * InternalFailureException
3618//   AWS IoT SiteWise can't process your request right now. Try again later.
3619//
3620//   * ThrottlingException
3621//   Your request exceeded a rate limit. For example, you might have exceeded
3622//   the number of AWS IoT SiteWise assets that can be created per second, the
3623//   allowed number of messages per second, and so on.
3624//
3625//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
3626//   in the AWS IoT SiteWise User Guide.
3627//
3628//   * ServiceUnavailableException
3629//   The requested service is unavailable.
3630//
3631// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetInterpolatedAssetPropertyValues
3632func (c *IoTSiteWise) GetInterpolatedAssetPropertyValues(input *GetInterpolatedAssetPropertyValuesInput) (*GetInterpolatedAssetPropertyValuesOutput, error) {
3633	req, out := c.GetInterpolatedAssetPropertyValuesRequest(input)
3634	return out, req.Send()
3635}
3636
3637// GetInterpolatedAssetPropertyValuesWithContext is the same as GetInterpolatedAssetPropertyValues with the addition of
3638// the ability to pass a context and additional request options.
3639//
3640// See GetInterpolatedAssetPropertyValues for details on how to use this API operation.
3641//
3642// The context must be non-nil and will be used for request cancellation. If
3643// the context is nil a panic will occur. In the future the SDK may create
3644// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3645// for more information on using Contexts.
3646func (c *IoTSiteWise) GetInterpolatedAssetPropertyValuesWithContext(ctx aws.Context, input *GetInterpolatedAssetPropertyValuesInput, opts ...request.Option) (*GetInterpolatedAssetPropertyValuesOutput, error) {
3647	req, out := c.GetInterpolatedAssetPropertyValuesRequest(input)
3648	req.SetContext(ctx)
3649	req.ApplyOptions(opts...)
3650	return out, req.Send()
3651}
3652
3653// GetInterpolatedAssetPropertyValuesPages iterates over the pages of a GetInterpolatedAssetPropertyValues operation,
3654// calling the "fn" function with the response data for each page. To stop
3655// iterating, return false from the fn function.
3656//
3657// See GetInterpolatedAssetPropertyValues method for more information on how to use this operation.
3658//
3659// Note: This operation can generate multiple requests to a service.
3660//
3661//    // Example iterating over at most 3 pages of a GetInterpolatedAssetPropertyValues operation.
3662//    pageNum := 0
3663//    err := client.GetInterpolatedAssetPropertyValuesPages(params,
3664//        func(page *iotsitewise.GetInterpolatedAssetPropertyValuesOutput, lastPage bool) bool {
3665//            pageNum++
3666//            fmt.Println(page)
3667//            return pageNum <= 3
3668//        })
3669//
3670func (c *IoTSiteWise) GetInterpolatedAssetPropertyValuesPages(input *GetInterpolatedAssetPropertyValuesInput, fn func(*GetInterpolatedAssetPropertyValuesOutput, bool) bool) error {
3671	return c.GetInterpolatedAssetPropertyValuesPagesWithContext(aws.BackgroundContext(), input, fn)
3672}
3673
3674// GetInterpolatedAssetPropertyValuesPagesWithContext same as GetInterpolatedAssetPropertyValuesPages except
3675// it takes a Context and allows setting request options on the pages.
3676//
3677// The context must be non-nil and will be used for request cancellation. If
3678// the context is nil a panic will occur. In the future the SDK may create
3679// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3680// for more information on using Contexts.
3681func (c *IoTSiteWise) GetInterpolatedAssetPropertyValuesPagesWithContext(ctx aws.Context, input *GetInterpolatedAssetPropertyValuesInput, fn func(*GetInterpolatedAssetPropertyValuesOutput, bool) bool, opts ...request.Option) error {
3682	p := request.Pagination{
3683		NewRequest: func() (*request.Request, error) {
3684			var inCpy *GetInterpolatedAssetPropertyValuesInput
3685			if input != nil {
3686				tmp := *input
3687				inCpy = &tmp
3688			}
3689			req, _ := c.GetInterpolatedAssetPropertyValuesRequest(inCpy)
3690			req.SetContext(ctx)
3691			req.ApplyOptions(opts...)
3692			return req, nil
3693		},
3694	}
3695
3696	for p.Next() {
3697		if !fn(p.Page().(*GetInterpolatedAssetPropertyValuesOutput), !p.HasNextPage()) {
3698			break
3699		}
3700	}
3701
3702	return p.Err()
3703}
3704
3705const opListAccessPolicies = "ListAccessPolicies"
3706
3707// ListAccessPoliciesRequest generates a "aws/request.Request" representing the
3708// client's request for the ListAccessPolicies operation. The "output" return
3709// value will be populated with the request's response once the request completes
3710// successfully.
3711//
3712// Use "Send" method on the returned Request to send the API call to the service.
3713// the "output" return value is not valid until after Send returns without error.
3714//
3715// See ListAccessPolicies for more information on using the ListAccessPolicies
3716// API call, and error handling.
3717//
3718// This method is useful when you want to inject custom logic or configuration
3719// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3720//
3721//
3722//    // Example sending a request using the ListAccessPoliciesRequest method.
3723//    req, resp := client.ListAccessPoliciesRequest(params)
3724//
3725//    err := req.Send()
3726//    if err == nil { // resp is now filled
3727//        fmt.Println(resp)
3728//    }
3729//
3730// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAccessPolicies
3731func (c *IoTSiteWise) ListAccessPoliciesRequest(input *ListAccessPoliciesInput) (req *request.Request, output *ListAccessPoliciesOutput) {
3732	op := &request.Operation{
3733		Name:       opListAccessPolicies,
3734		HTTPMethod: "GET",
3735		HTTPPath:   "/access-policies",
3736		Paginator: &request.Paginator{
3737			InputTokens:     []string{"nextToken"},
3738			OutputTokens:    []string{"nextToken"},
3739			LimitToken:      "maxResults",
3740			TruncationToken: "",
3741		},
3742	}
3743
3744	if input == nil {
3745		input = &ListAccessPoliciesInput{}
3746	}
3747
3748	output = &ListAccessPoliciesOutput{}
3749	req = c.newRequest(op, input, output)
3750	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
3751	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3752	return
3753}
3754
3755// ListAccessPolicies API operation for AWS IoT SiteWise.
3756//
3757// Retrieves a paginated list of access policies for an identity (an AWS SSO
3758// user, an AWS SSO group, or an IAM user) or an AWS IoT SiteWise Monitor resource
3759// (a portal or project).
3760//
3761// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3762// with awserr.Error's Code and Message methods to get detailed information about
3763// the error.
3764//
3765// See the AWS API reference guide for AWS IoT SiteWise's
3766// API operation ListAccessPolicies for usage and error information.
3767//
3768// Returned Error Types:
3769//   * InvalidRequestException
3770//   The request isn't valid. This can occur if your request contains malformed
3771//   JSON or unsupported characters. Check your request and try again.
3772//
3773//   * InternalFailureException
3774//   AWS IoT SiteWise can't process your request right now. Try again later.
3775//
3776//   * ThrottlingException
3777//   Your request exceeded a rate limit. For example, you might have exceeded
3778//   the number of AWS IoT SiteWise assets that can be created per second, the
3779//   allowed number of messages per second, and so on.
3780//
3781//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
3782//   in the AWS IoT SiteWise User Guide.
3783//
3784// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAccessPolicies
3785func (c *IoTSiteWise) ListAccessPolicies(input *ListAccessPoliciesInput) (*ListAccessPoliciesOutput, error) {
3786	req, out := c.ListAccessPoliciesRequest(input)
3787	return out, req.Send()
3788}
3789
3790// ListAccessPoliciesWithContext is the same as ListAccessPolicies with the addition of
3791// the ability to pass a context and additional request options.
3792//
3793// See ListAccessPolicies for details on how to use this API operation.
3794//
3795// The context must be non-nil and will be used for request cancellation. If
3796// the context is nil a panic will occur. In the future the SDK may create
3797// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3798// for more information on using Contexts.
3799func (c *IoTSiteWise) ListAccessPoliciesWithContext(ctx aws.Context, input *ListAccessPoliciesInput, opts ...request.Option) (*ListAccessPoliciesOutput, error) {
3800	req, out := c.ListAccessPoliciesRequest(input)
3801	req.SetContext(ctx)
3802	req.ApplyOptions(opts...)
3803	return out, req.Send()
3804}
3805
3806// ListAccessPoliciesPages iterates over the pages of a ListAccessPolicies operation,
3807// calling the "fn" function with the response data for each page. To stop
3808// iterating, return false from the fn function.
3809//
3810// See ListAccessPolicies method for more information on how to use this operation.
3811//
3812// Note: This operation can generate multiple requests to a service.
3813//
3814//    // Example iterating over at most 3 pages of a ListAccessPolicies operation.
3815//    pageNum := 0
3816//    err := client.ListAccessPoliciesPages(params,
3817//        func(page *iotsitewise.ListAccessPoliciesOutput, lastPage bool) bool {
3818//            pageNum++
3819//            fmt.Println(page)
3820//            return pageNum <= 3
3821//        })
3822//
3823func (c *IoTSiteWise) ListAccessPoliciesPages(input *ListAccessPoliciesInput, fn func(*ListAccessPoliciesOutput, bool) bool) error {
3824	return c.ListAccessPoliciesPagesWithContext(aws.BackgroundContext(), input, fn)
3825}
3826
3827// ListAccessPoliciesPagesWithContext same as ListAccessPoliciesPages except
3828// it takes a Context and allows setting request options on the pages.
3829//
3830// The context must be non-nil and will be used for request cancellation. If
3831// the context is nil a panic will occur. In the future the SDK may create
3832// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3833// for more information on using Contexts.
3834func (c *IoTSiteWise) ListAccessPoliciesPagesWithContext(ctx aws.Context, input *ListAccessPoliciesInput, fn func(*ListAccessPoliciesOutput, bool) bool, opts ...request.Option) error {
3835	p := request.Pagination{
3836		NewRequest: func() (*request.Request, error) {
3837			var inCpy *ListAccessPoliciesInput
3838			if input != nil {
3839				tmp := *input
3840				inCpy = &tmp
3841			}
3842			req, _ := c.ListAccessPoliciesRequest(inCpy)
3843			req.SetContext(ctx)
3844			req.ApplyOptions(opts...)
3845			return req, nil
3846		},
3847	}
3848
3849	for p.Next() {
3850		if !fn(p.Page().(*ListAccessPoliciesOutput), !p.HasNextPage()) {
3851			break
3852		}
3853	}
3854
3855	return p.Err()
3856}
3857
3858const opListAssetModels = "ListAssetModels"
3859
3860// ListAssetModelsRequest generates a "aws/request.Request" representing the
3861// client's request for the ListAssetModels operation. The "output" return
3862// value will be populated with the request's response once the request completes
3863// successfully.
3864//
3865// Use "Send" method on the returned Request to send the API call to the service.
3866// the "output" return value is not valid until after Send returns without error.
3867//
3868// See ListAssetModels for more information on using the ListAssetModels
3869// API call, and error handling.
3870//
3871// This method is useful when you want to inject custom logic or configuration
3872// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3873//
3874//
3875//    // Example sending a request using the ListAssetModelsRequest method.
3876//    req, resp := client.ListAssetModelsRequest(params)
3877//
3878//    err := req.Send()
3879//    if err == nil { // resp is now filled
3880//        fmt.Println(resp)
3881//    }
3882//
3883// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetModels
3884func (c *IoTSiteWise) ListAssetModelsRequest(input *ListAssetModelsInput) (req *request.Request, output *ListAssetModelsOutput) {
3885	op := &request.Operation{
3886		Name:       opListAssetModels,
3887		HTTPMethod: "GET",
3888		HTTPPath:   "/asset-models",
3889		Paginator: &request.Paginator{
3890			InputTokens:     []string{"nextToken"},
3891			OutputTokens:    []string{"nextToken"},
3892			LimitToken:      "maxResults",
3893			TruncationToken: "",
3894		},
3895	}
3896
3897	if input == nil {
3898		input = &ListAssetModelsInput{}
3899	}
3900
3901	output = &ListAssetModelsOutput{}
3902	req = c.newRequest(op, input, output)
3903	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
3904	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
3905	return
3906}
3907
3908// ListAssetModels API operation for AWS IoT SiteWise.
3909//
3910// Retrieves a paginated list of summaries of all asset models.
3911//
3912// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3913// with awserr.Error's Code and Message methods to get detailed information about
3914// the error.
3915//
3916// See the AWS API reference guide for AWS IoT SiteWise's
3917// API operation ListAssetModels for usage and error information.
3918//
3919// Returned Error Types:
3920//   * InvalidRequestException
3921//   The request isn't valid. This can occur if your request contains malformed
3922//   JSON or unsupported characters. Check your request and try again.
3923//
3924//   * InternalFailureException
3925//   AWS IoT SiteWise can't process your request right now. Try again later.
3926//
3927//   * ThrottlingException
3928//   Your request exceeded a rate limit. For example, you might have exceeded
3929//   the number of AWS IoT SiteWise assets that can be created per second, the
3930//   allowed number of messages per second, and so on.
3931//
3932//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
3933//   in the AWS IoT SiteWise User Guide.
3934//
3935// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetModels
3936func (c *IoTSiteWise) ListAssetModels(input *ListAssetModelsInput) (*ListAssetModelsOutput, error) {
3937	req, out := c.ListAssetModelsRequest(input)
3938	return out, req.Send()
3939}
3940
3941// ListAssetModelsWithContext is the same as ListAssetModels with the addition of
3942// the ability to pass a context and additional request options.
3943//
3944// See ListAssetModels for details on how to use this API operation.
3945//
3946// The context must be non-nil and will be used for request cancellation. If
3947// the context is nil a panic will occur. In the future the SDK may create
3948// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3949// for more information on using Contexts.
3950func (c *IoTSiteWise) ListAssetModelsWithContext(ctx aws.Context, input *ListAssetModelsInput, opts ...request.Option) (*ListAssetModelsOutput, error) {
3951	req, out := c.ListAssetModelsRequest(input)
3952	req.SetContext(ctx)
3953	req.ApplyOptions(opts...)
3954	return out, req.Send()
3955}
3956
3957// ListAssetModelsPages iterates over the pages of a ListAssetModels operation,
3958// calling the "fn" function with the response data for each page. To stop
3959// iterating, return false from the fn function.
3960//
3961// See ListAssetModels method for more information on how to use this operation.
3962//
3963// Note: This operation can generate multiple requests to a service.
3964//
3965//    // Example iterating over at most 3 pages of a ListAssetModels operation.
3966//    pageNum := 0
3967//    err := client.ListAssetModelsPages(params,
3968//        func(page *iotsitewise.ListAssetModelsOutput, lastPage bool) bool {
3969//            pageNum++
3970//            fmt.Println(page)
3971//            return pageNum <= 3
3972//        })
3973//
3974func (c *IoTSiteWise) ListAssetModelsPages(input *ListAssetModelsInput, fn func(*ListAssetModelsOutput, bool) bool) error {
3975	return c.ListAssetModelsPagesWithContext(aws.BackgroundContext(), input, fn)
3976}
3977
3978// ListAssetModelsPagesWithContext same as ListAssetModelsPages except
3979// it takes a Context and allows setting request options on the pages.
3980//
3981// The context must be non-nil and will be used for request cancellation. If
3982// the context is nil a panic will occur. In the future the SDK may create
3983// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3984// for more information on using Contexts.
3985func (c *IoTSiteWise) ListAssetModelsPagesWithContext(ctx aws.Context, input *ListAssetModelsInput, fn func(*ListAssetModelsOutput, bool) bool, opts ...request.Option) error {
3986	p := request.Pagination{
3987		NewRequest: func() (*request.Request, error) {
3988			var inCpy *ListAssetModelsInput
3989			if input != nil {
3990				tmp := *input
3991				inCpy = &tmp
3992			}
3993			req, _ := c.ListAssetModelsRequest(inCpy)
3994			req.SetContext(ctx)
3995			req.ApplyOptions(opts...)
3996			return req, nil
3997		},
3998	}
3999
4000	for p.Next() {
4001		if !fn(p.Page().(*ListAssetModelsOutput), !p.HasNextPage()) {
4002			break
4003		}
4004	}
4005
4006	return p.Err()
4007}
4008
4009const opListAssetRelationships = "ListAssetRelationships"
4010
4011// ListAssetRelationshipsRequest generates a "aws/request.Request" representing the
4012// client's request for the ListAssetRelationships operation. The "output" return
4013// value will be populated with the request's response once the request completes
4014// successfully.
4015//
4016// Use "Send" method on the returned Request to send the API call to the service.
4017// the "output" return value is not valid until after Send returns without error.
4018//
4019// See ListAssetRelationships for more information on using the ListAssetRelationships
4020// API call, and error handling.
4021//
4022// This method is useful when you want to inject custom logic or configuration
4023// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4024//
4025//
4026//    // Example sending a request using the ListAssetRelationshipsRequest method.
4027//    req, resp := client.ListAssetRelationshipsRequest(params)
4028//
4029//    err := req.Send()
4030//    if err == nil { // resp is now filled
4031//        fmt.Println(resp)
4032//    }
4033//
4034// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetRelationships
4035func (c *IoTSiteWise) ListAssetRelationshipsRequest(input *ListAssetRelationshipsInput) (req *request.Request, output *ListAssetRelationshipsOutput) {
4036	op := &request.Operation{
4037		Name:       opListAssetRelationships,
4038		HTTPMethod: "GET",
4039		HTTPPath:   "/assets/{assetId}/assetRelationships",
4040		Paginator: &request.Paginator{
4041			InputTokens:     []string{"nextToken"},
4042			OutputTokens:    []string{"nextToken"},
4043			LimitToken:      "maxResults",
4044			TruncationToken: "",
4045		},
4046	}
4047
4048	if input == nil {
4049		input = &ListAssetRelationshipsInput{}
4050	}
4051
4052	output = &ListAssetRelationshipsOutput{}
4053	req = c.newRequest(op, input, output)
4054	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
4055	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
4056	return
4057}
4058
4059// ListAssetRelationships API operation for AWS IoT SiteWise.
4060//
4061// Retrieves a paginated list of asset relationships for an asset. You can use
4062// this operation to identify an asset's root asset and all associated assets
4063// between that asset and its root.
4064//
4065// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4066// with awserr.Error's Code and Message methods to get detailed information about
4067// the error.
4068//
4069// See the AWS API reference guide for AWS IoT SiteWise's
4070// API operation ListAssetRelationships for usage and error information.
4071//
4072// Returned Error Types:
4073//   * InvalidRequestException
4074//   The request isn't valid. This can occur if your request contains malformed
4075//   JSON or unsupported characters. Check your request and try again.
4076//
4077//   * InternalFailureException
4078//   AWS IoT SiteWise can't process your request right now. Try again later.
4079//
4080//   * ResourceNotFoundException
4081//   The requested resource can't be found.
4082//
4083//   * ThrottlingException
4084//   Your request exceeded a rate limit. For example, you might have exceeded
4085//   the number of AWS IoT SiteWise assets that can be created per second, the
4086//   allowed number of messages per second, and so on.
4087//
4088//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
4089//   in the AWS IoT SiteWise User Guide.
4090//
4091// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssetRelationships
4092func (c *IoTSiteWise) ListAssetRelationships(input *ListAssetRelationshipsInput) (*ListAssetRelationshipsOutput, error) {
4093	req, out := c.ListAssetRelationshipsRequest(input)
4094	return out, req.Send()
4095}
4096
4097// ListAssetRelationshipsWithContext is the same as ListAssetRelationships with the addition of
4098// the ability to pass a context and additional request options.
4099//
4100// See ListAssetRelationships for details on how to use this API operation.
4101//
4102// The context must be non-nil and will be used for request cancellation. If
4103// the context is nil a panic will occur. In the future the SDK may create
4104// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4105// for more information on using Contexts.
4106func (c *IoTSiteWise) ListAssetRelationshipsWithContext(ctx aws.Context, input *ListAssetRelationshipsInput, opts ...request.Option) (*ListAssetRelationshipsOutput, error) {
4107	req, out := c.ListAssetRelationshipsRequest(input)
4108	req.SetContext(ctx)
4109	req.ApplyOptions(opts...)
4110	return out, req.Send()
4111}
4112
4113// ListAssetRelationshipsPages iterates over the pages of a ListAssetRelationships operation,
4114// calling the "fn" function with the response data for each page. To stop
4115// iterating, return false from the fn function.
4116//
4117// See ListAssetRelationships method for more information on how to use this operation.
4118//
4119// Note: This operation can generate multiple requests to a service.
4120//
4121//    // Example iterating over at most 3 pages of a ListAssetRelationships operation.
4122//    pageNum := 0
4123//    err := client.ListAssetRelationshipsPages(params,
4124//        func(page *iotsitewise.ListAssetRelationshipsOutput, lastPage bool) bool {
4125//            pageNum++
4126//            fmt.Println(page)
4127//            return pageNum <= 3
4128//        })
4129//
4130func (c *IoTSiteWise) ListAssetRelationshipsPages(input *ListAssetRelationshipsInput, fn func(*ListAssetRelationshipsOutput, bool) bool) error {
4131	return c.ListAssetRelationshipsPagesWithContext(aws.BackgroundContext(), input, fn)
4132}
4133
4134// ListAssetRelationshipsPagesWithContext same as ListAssetRelationshipsPages except
4135// it takes a Context and allows setting request options on the pages.
4136//
4137// The context must be non-nil and will be used for request cancellation. If
4138// the context is nil a panic will occur. In the future the SDK may create
4139// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4140// for more information on using Contexts.
4141func (c *IoTSiteWise) ListAssetRelationshipsPagesWithContext(ctx aws.Context, input *ListAssetRelationshipsInput, fn func(*ListAssetRelationshipsOutput, bool) bool, opts ...request.Option) error {
4142	p := request.Pagination{
4143		NewRequest: func() (*request.Request, error) {
4144			var inCpy *ListAssetRelationshipsInput
4145			if input != nil {
4146				tmp := *input
4147				inCpy = &tmp
4148			}
4149			req, _ := c.ListAssetRelationshipsRequest(inCpy)
4150			req.SetContext(ctx)
4151			req.ApplyOptions(opts...)
4152			return req, nil
4153		},
4154	}
4155
4156	for p.Next() {
4157		if !fn(p.Page().(*ListAssetRelationshipsOutput), !p.HasNextPage()) {
4158			break
4159		}
4160	}
4161
4162	return p.Err()
4163}
4164
4165const opListAssets = "ListAssets"
4166
4167// ListAssetsRequest generates a "aws/request.Request" representing the
4168// client's request for the ListAssets operation. The "output" return
4169// value will be populated with the request's response once the request completes
4170// successfully.
4171//
4172// Use "Send" method on the returned Request to send the API call to the service.
4173// the "output" return value is not valid until after Send returns without error.
4174//
4175// See ListAssets for more information on using the ListAssets
4176// API call, and error handling.
4177//
4178// This method is useful when you want to inject custom logic or configuration
4179// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4180//
4181//
4182//    // Example sending a request using the ListAssetsRequest method.
4183//    req, resp := client.ListAssetsRequest(params)
4184//
4185//    err := req.Send()
4186//    if err == nil { // resp is now filled
4187//        fmt.Println(resp)
4188//    }
4189//
4190// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssets
4191func (c *IoTSiteWise) ListAssetsRequest(input *ListAssetsInput) (req *request.Request, output *ListAssetsOutput) {
4192	op := &request.Operation{
4193		Name:       opListAssets,
4194		HTTPMethod: "GET",
4195		HTTPPath:   "/assets",
4196		Paginator: &request.Paginator{
4197			InputTokens:     []string{"nextToken"},
4198			OutputTokens:    []string{"nextToken"},
4199			LimitToken:      "maxResults",
4200			TruncationToken: "",
4201		},
4202	}
4203
4204	if input == nil {
4205		input = &ListAssetsInput{}
4206	}
4207
4208	output = &ListAssetsOutput{}
4209	req = c.newRequest(op, input, output)
4210	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
4211	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
4212	return
4213}
4214
4215// ListAssets API operation for AWS IoT SiteWise.
4216//
4217// Retrieves a paginated list of asset summaries.
4218//
4219// You can use this operation to do the following:
4220//
4221//    * List assets based on a specific asset model.
4222//
4223//    * List top-level assets.
4224//
4225// You can't use this operation to list all assets. To retrieve summaries for
4226// all of your assets, use ListAssetModels (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ListAssetModels.html)
4227// to get all of your asset model IDs. Then, use ListAssets to get all assets
4228// for each asset model.
4229//
4230// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4231// with awserr.Error's Code and Message methods to get detailed information about
4232// the error.
4233//
4234// See the AWS API reference guide for AWS IoT SiteWise's
4235// API operation ListAssets for usage and error information.
4236//
4237// Returned Error Types:
4238//   * InvalidRequestException
4239//   The request isn't valid. This can occur if your request contains malformed
4240//   JSON or unsupported characters. Check your request and try again.
4241//
4242//   * InternalFailureException
4243//   AWS IoT SiteWise can't process your request right now. Try again later.
4244//
4245//   * ResourceNotFoundException
4246//   The requested resource can't be found.
4247//
4248//   * ThrottlingException
4249//   Your request exceeded a rate limit. For example, you might have exceeded
4250//   the number of AWS IoT SiteWise assets that can be created per second, the
4251//   allowed number of messages per second, and so on.
4252//
4253//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
4254//   in the AWS IoT SiteWise User Guide.
4255//
4256// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssets
4257func (c *IoTSiteWise) ListAssets(input *ListAssetsInput) (*ListAssetsOutput, error) {
4258	req, out := c.ListAssetsRequest(input)
4259	return out, req.Send()
4260}
4261
4262// ListAssetsWithContext is the same as ListAssets with the addition of
4263// the ability to pass a context and additional request options.
4264//
4265// See ListAssets for details on how to use this API operation.
4266//
4267// The context must be non-nil and will be used for request cancellation. If
4268// the context is nil a panic will occur. In the future the SDK may create
4269// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4270// for more information on using Contexts.
4271func (c *IoTSiteWise) ListAssetsWithContext(ctx aws.Context, input *ListAssetsInput, opts ...request.Option) (*ListAssetsOutput, error) {
4272	req, out := c.ListAssetsRequest(input)
4273	req.SetContext(ctx)
4274	req.ApplyOptions(opts...)
4275	return out, req.Send()
4276}
4277
4278// ListAssetsPages iterates over the pages of a ListAssets operation,
4279// calling the "fn" function with the response data for each page. To stop
4280// iterating, return false from the fn function.
4281//
4282// See ListAssets method for more information on how to use this operation.
4283//
4284// Note: This operation can generate multiple requests to a service.
4285//
4286//    // Example iterating over at most 3 pages of a ListAssets operation.
4287//    pageNum := 0
4288//    err := client.ListAssetsPages(params,
4289//        func(page *iotsitewise.ListAssetsOutput, lastPage bool) bool {
4290//            pageNum++
4291//            fmt.Println(page)
4292//            return pageNum <= 3
4293//        })
4294//
4295func (c *IoTSiteWise) ListAssetsPages(input *ListAssetsInput, fn func(*ListAssetsOutput, bool) bool) error {
4296	return c.ListAssetsPagesWithContext(aws.BackgroundContext(), input, fn)
4297}
4298
4299// ListAssetsPagesWithContext same as ListAssetsPages except
4300// it takes a Context and allows setting request options on the pages.
4301//
4302// The context must be non-nil and will be used for request cancellation. If
4303// the context is nil a panic will occur. In the future the SDK may create
4304// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4305// for more information on using Contexts.
4306func (c *IoTSiteWise) ListAssetsPagesWithContext(ctx aws.Context, input *ListAssetsInput, fn func(*ListAssetsOutput, bool) bool, opts ...request.Option) error {
4307	p := request.Pagination{
4308		NewRequest: func() (*request.Request, error) {
4309			var inCpy *ListAssetsInput
4310			if input != nil {
4311				tmp := *input
4312				inCpy = &tmp
4313			}
4314			req, _ := c.ListAssetsRequest(inCpy)
4315			req.SetContext(ctx)
4316			req.ApplyOptions(opts...)
4317			return req, nil
4318		},
4319	}
4320
4321	for p.Next() {
4322		if !fn(p.Page().(*ListAssetsOutput), !p.HasNextPage()) {
4323			break
4324		}
4325	}
4326
4327	return p.Err()
4328}
4329
4330const opListAssociatedAssets = "ListAssociatedAssets"
4331
4332// ListAssociatedAssetsRequest generates a "aws/request.Request" representing the
4333// client's request for the ListAssociatedAssets operation. The "output" return
4334// value will be populated with the request's response once the request completes
4335// successfully.
4336//
4337// Use "Send" method on the returned Request to send the API call to the service.
4338// the "output" return value is not valid until after Send returns without error.
4339//
4340// See ListAssociatedAssets for more information on using the ListAssociatedAssets
4341// API call, and error handling.
4342//
4343// This method is useful when you want to inject custom logic or configuration
4344// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4345//
4346//
4347//    // Example sending a request using the ListAssociatedAssetsRequest method.
4348//    req, resp := client.ListAssociatedAssetsRequest(params)
4349//
4350//    err := req.Send()
4351//    if err == nil { // resp is now filled
4352//        fmt.Println(resp)
4353//    }
4354//
4355// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssociatedAssets
4356func (c *IoTSiteWise) ListAssociatedAssetsRequest(input *ListAssociatedAssetsInput) (req *request.Request, output *ListAssociatedAssetsOutput) {
4357	op := &request.Operation{
4358		Name:       opListAssociatedAssets,
4359		HTTPMethod: "GET",
4360		HTTPPath:   "/assets/{assetId}/hierarchies",
4361		Paginator: &request.Paginator{
4362			InputTokens:     []string{"nextToken"},
4363			OutputTokens:    []string{"nextToken"},
4364			LimitToken:      "maxResults",
4365			TruncationToken: "",
4366		},
4367	}
4368
4369	if input == nil {
4370		input = &ListAssociatedAssetsInput{}
4371	}
4372
4373	output = &ListAssociatedAssetsOutput{}
4374	req = c.newRequest(op, input, output)
4375	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
4376	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
4377	return
4378}
4379
4380// ListAssociatedAssets API operation for AWS IoT SiteWise.
4381//
4382// Retrieves a paginated list of associated assets.
4383//
4384// You can use this operation to do the following:
4385//
4386//    * List child assets associated to a parent asset by a hierarchy that you
4387//    specify.
4388//
4389//    * List an asset's parent asset.
4390//
4391// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4392// with awserr.Error's Code and Message methods to get detailed information about
4393// the error.
4394//
4395// See the AWS API reference guide for AWS IoT SiteWise's
4396// API operation ListAssociatedAssets for usage and error information.
4397//
4398// Returned Error Types:
4399//   * InvalidRequestException
4400//   The request isn't valid. This can occur if your request contains malformed
4401//   JSON or unsupported characters. Check your request and try again.
4402//
4403//   * InternalFailureException
4404//   AWS IoT SiteWise can't process your request right now. Try again later.
4405//
4406//   * ResourceNotFoundException
4407//   The requested resource can't be found.
4408//
4409//   * ThrottlingException
4410//   Your request exceeded a rate limit. For example, you might have exceeded
4411//   the number of AWS IoT SiteWise assets that can be created per second, the
4412//   allowed number of messages per second, and so on.
4413//
4414//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
4415//   in the AWS IoT SiteWise User Guide.
4416//
4417// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListAssociatedAssets
4418func (c *IoTSiteWise) ListAssociatedAssets(input *ListAssociatedAssetsInput) (*ListAssociatedAssetsOutput, error) {
4419	req, out := c.ListAssociatedAssetsRequest(input)
4420	return out, req.Send()
4421}
4422
4423// ListAssociatedAssetsWithContext is the same as ListAssociatedAssets with the addition of
4424// the ability to pass a context and additional request options.
4425//
4426// See ListAssociatedAssets for details on how to use this API operation.
4427//
4428// The context must be non-nil and will be used for request cancellation. If
4429// the context is nil a panic will occur. In the future the SDK may create
4430// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4431// for more information on using Contexts.
4432func (c *IoTSiteWise) ListAssociatedAssetsWithContext(ctx aws.Context, input *ListAssociatedAssetsInput, opts ...request.Option) (*ListAssociatedAssetsOutput, error) {
4433	req, out := c.ListAssociatedAssetsRequest(input)
4434	req.SetContext(ctx)
4435	req.ApplyOptions(opts...)
4436	return out, req.Send()
4437}
4438
4439// ListAssociatedAssetsPages iterates over the pages of a ListAssociatedAssets operation,
4440// calling the "fn" function with the response data for each page. To stop
4441// iterating, return false from the fn function.
4442//
4443// See ListAssociatedAssets method for more information on how to use this operation.
4444//
4445// Note: This operation can generate multiple requests to a service.
4446//
4447//    // Example iterating over at most 3 pages of a ListAssociatedAssets operation.
4448//    pageNum := 0
4449//    err := client.ListAssociatedAssetsPages(params,
4450//        func(page *iotsitewise.ListAssociatedAssetsOutput, lastPage bool) bool {
4451//            pageNum++
4452//            fmt.Println(page)
4453//            return pageNum <= 3
4454//        })
4455//
4456func (c *IoTSiteWise) ListAssociatedAssetsPages(input *ListAssociatedAssetsInput, fn func(*ListAssociatedAssetsOutput, bool) bool) error {
4457	return c.ListAssociatedAssetsPagesWithContext(aws.BackgroundContext(), input, fn)
4458}
4459
4460// ListAssociatedAssetsPagesWithContext same as ListAssociatedAssetsPages except
4461// it takes a Context and allows setting request options on the pages.
4462//
4463// The context must be non-nil and will be used for request cancellation. If
4464// the context is nil a panic will occur. In the future the SDK may create
4465// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4466// for more information on using Contexts.
4467func (c *IoTSiteWise) ListAssociatedAssetsPagesWithContext(ctx aws.Context, input *ListAssociatedAssetsInput, fn func(*ListAssociatedAssetsOutput, bool) bool, opts ...request.Option) error {
4468	p := request.Pagination{
4469		NewRequest: func() (*request.Request, error) {
4470			var inCpy *ListAssociatedAssetsInput
4471			if input != nil {
4472				tmp := *input
4473				inCpy = &tmp
4474			}
4475			req, _ := c.ListAssociatedAssetsRequest(inCpy)
4476			req.SetContext(ctx)
4477			req.ApplyOptions(opts...)
4478			return req, nil
4479		},
4480	}
4481
4482	for p.Next() {
4483		if !fn(p.Page().(*ListAssociatedAssetsOutput), !p.HasNextPage()) {
4484			break
4485		}
4486	}
4487
4488	return p.Err()
4489}
4490
4491const opListDashboards = "ListDashboards"
4492
4493// ListDashboardsRequest generates a "aws/request.Request" representing the
4494// client's request for the ListDashboards operation. The "output" return
4495// value will be populated with the request's response once the request completes
4496// successfully.
4497//
4498// Use "Send" method on the returned Request to send the API call to the service.
4499// the "output" return value is not valid until after Send returns without error.
4500//
4501// See ListDashboards for more information on using the ListDashboards
4502// API call, and error handling.
4503//
4504// This method is useful when you want to inject custom logic or configuration
4505// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4506//
4507//
4508//    // Example sending a request using the ListDashboardsRequest method.
4509//    req, resp := client.ListDashboardsRequest(params)
4510//
4511//    err := req.Send()
4512//    if err == nil { // resp is now filled
4513//        fmt.Println(resp)
4514//    }
4515//
4516// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListDashboards
4517func (c *IoTSiteWise) ListDashboardsRequest(input *ListDashboardsInput) (req *request.Request, output *ListDashboardsOutput) {
4518	op := &request.Operation{
4519		Name:       opListDashboards,
4520		HTTPMethod: "GET",
4521		HTTPPath:   "/dashboards",
4522		Paginator: &request.Paginator{
4523			InputTokens:     []string{"nextToken"},
4524			OutputTokens:    []string{"nextToken"},
4525			LimitToken:      "maxResults",
4526			TruncationToken: "",
4527		},
4528	}
4529
4530	if input == nil {
4531		input = &ListDashboardsInput{}
4532	}
4533
4534	output = &ListDashboardsOutput{}
4535	req = c.newRequest(op, input, output)
4536	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
4537	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
4538	return
4539}
4540
4541// ListDashboards API operation for AWS IoT SiteWise.
4542//
4543// Retrieves a paginated list of dashboards for an AWS IoT SiteWise Monitor
4544// project.
4545//
4546// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4547// with awserr.Error's Code and Message methods to get detailed information about
4548// the error.
4549//
4550// See the AWS API reference guide for AWS IoT SiteWise's
4551// API operation ListDashboards for usage and error information.
4552//
4553// Returned Error Types:
4554//   * InvalidRequestException
4555//   The request isn't valid. This can occur if your request contains malformed
4556//   JSON or unsupported characters. Check your request and try again.
4557//
4558//   * InternalFailureException
4559//   AWS IoT SiteWise can't process your request right now. Try again later.
4560//
4561//   * ThrottlingException
4562//   Your request exceeded a rate limit. For example, you might have exceeded
4563//   the number of AWS IoT SiteWise assets that can be created per second, the
4564//   allowed number of messages per second, and so on.
4565//
4566//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
4567//   in the AWS IoT SiteWise User Guide.
4568//
4569// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListDashboards
4570func (c *IoTSiteWise) ListDashboards(input *ListDashboardsInput) (*ListDashboardsOutput, error) {
4571	req, out := c.ListDashboardsRequest(input)
4572	return out, req.Send()
4573}
4574
4575// ListDashboardsWithContext is the same as ListDashboards with the addition of
4576// the ability to pass a context and additional request options.
4577//
4578// See ListDashboards for details on how to use this API operation.
4579//
4580// The context must be non-nil and will be used for request cancellation. If
4581// the context is nil a panic will occur. In the future the SDK may create
4582// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4583// for more information on using Contexts.
4584func (c *IoTSiteWise) ListDashboardsWithContext(ctx aws.Context, input *ListDashboardsInput, opts ...request.Option) (*ListDashboardsOutput, error) {
4585	req, out := c.ListDashboardsRequest(input)
4586	req.SetContext(ctx)
4587	req.ApplyOptions(opts...)
4588	return out, req.Send()
4589}
4590
4591// ListDashboardsPages iterates over the pages of a ListDashboards operation,
4592// calling the "fn" function with the response data for each page. To stop
4593// iterating, return false from the fn function.
4594//
4595// See ListDashboards method for more information on how to use this operation.
4596//
4597// Note: This operation can generate multiple requests to a service.
4598//
4599//    // Example iterating over at most 3 pages of a ListDashboards operation.
4600//    pageNum := 0
4601//    err := client.ListDashboardsPages(params,
4602//        func(page *iotsitewise.ListDashboardsOutput, lastPage bool) bool {
4603//            pageNum++
4604//            fmt.Println(page)
4605//            return pageNum <= 3
4606//        })
4607//
4608func (c *IoTSiteWise) ListDashboardsPages(input *ListDashboardsInput, fn func(*ListDashboardsOutput, bool) bool) error {
4609	return c.ListDashboardsPagesWithContext(aws.BackgroundContext(), input, fn)
4610}
4611
4612// ListDashboardsPagesWithContext same as ListDashboardsPages except
4613// it takes a Context and allows setting request options on the pages.
4614//
4615// The context must be non-nil and will be used for request cancellation. If
4616// the context is nil a panic will occur. In the future the SDK may create
4617// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4618// for more information on using Contexts.
4619func (c *IoTSiteWise) ListDashboardsPagesWithContext(ctx aws.Context, input *ListDashboardsInput, fn func(*ListDashboardsOutput, bool) bool, opts ...request.Option) error {
4620	p := request.Pagination{
4621		NewRequest: func() (*request.Request, error) {
4622			var inCpy *ListDashboardsInput
4623			if input != nil {
4624				tmp := *input
4625				inCpy = &tmp
4626			}
4627			req, _ := c.ListDashboardsRequest(inCpy)
4628			req.SetContext(ctx)
4629			req.ApplyOptions(opts...)
4630			return req, nil
4631		},
4632	}
4633
4634	for p.Next() {
4635		if !fn(p.Page().(*ListDashboardsOutput), !p.HasNextPage()) {
4636			break
4637		}
4638	}
4639
4640	return p.Err()
4641}
4642
4643const opListGateways = "ListGateways"
4644
4645// ListGatewaysRequest generates a "aws/request.Request" representing the
4646// client's request for the ListGateways operation. The "output" return
4647// value will be populated with the request's response once the request completes
4648// successfully.
4649//
4650// Use "Send" method on the returned Request to send the API call to the service.
4651// the "output" return value is not valid until after Send returns without error.
4652//
4653// See ListGateways for more information on using the ListGateways
4654// API call, and error handling.
4655//
4656// This method is useful when you want to inject custom logic or configuration
4657// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4658//
4659//
4660//    // Example sending a request using the ListGatewaysRequest method.
4661//    req, resp := client.ListGatewaysRequest(params)
4662//
4663//    err := req.Send()
4664//    if err == nil { // resp is now filled
4665//        fmt.Println(resp)
4666//    }
4667//
4668// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListGateways
4669func (c *IoTSiteWise) ListGatewaysRequest(input *ListGatewaysInput) (req *request.Request, output *ListGatewaysOutput) {
4670	op := &request.Operation{
4671		Name:       opListGateways,
4672		HTTPMethod: "GET",
4673		HTTPPath:   "/20200301/gateways",
4674		Paginator: &request.Paginator{
4675			InputTokens:     []string{"nextToken"},
4676			OutputTokens:    []string{"nextToken"},
4677			LimitToken:      "maxResults",
4678			TruncationToken: "",
4679		},
4680	}
4681
4682	if input == nil {
4683		input = &ListGatewaysInput{}
4684	}
4685
4686	output = &ListGatewaysOutput{}
4687	req = c.newRequest(op, input, output)
4688	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("edge.", nil))
4689	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
4690	return
4691}
4692
4693// ListGateways API operation for AWS IoT SiteWise.
4694//
4695// Retrieves a paginated list of gateways.
4696//
4697// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4698// with awserr.Error's Code and Message methods to get detailed information about
4699// the error.
4700//
4701// See the AWS API reference guide for AWS IoT SiteWise's
4702// API operation ListGateways for usage and error information.
4703//
4704// Returned Error Types:
4705//   * InvalidRequestException
4706//   The request isn't valid. This can occur if your request contains malformed
4707//   JSON or unsupported characters. Check your request and try again.
4708//
4709//   * InternalFailureException
4710//   AWS IoT SiteWise can't process your request right now. Try again later.
4711//
4712//   * ThrottlingException
4713//   Your request exceeded a rate limit. For example, you might have exceeded
4714//   the number of AWS IoT SiteWise assets that can be created per second, the
4715//   allowed number of messages per second, and so on.
4716//
4717//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
4718//   in the AWS IoT SiteWise User Guide.
4719//
4720// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListGateways
4721func (c *IoTSiteWise) ListGateways(input *ListGatewaysInput) (*ListGatewaysOutput, error) {
4722	req, out := c.ListGatewaysRequest(input)
4723	return out, req.Send()
4724}
4725
4726// ListGatewaysWithContext is the same as ListGateways with the addition of
4727// the ability to pass a context and additional request options.
4728//
4729// See ListGateways for details on how to use this API operation.
4730//
4731// The context must be non-nil and will be used for request cancellation. If
4732// the context is nil a panic will occur. In the future the SDK may create
4733// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4734// for more information on using Contexts.
4735func (c *IoTSiteWise) ListGatewaysWithContext(ctx aws.Context, input *ListGatewaysInput, opts ...request.Option) (*ListGatewaysOutput, error) {
4736	req, out := c.ListGatewaysRequest(input)
4737	req.SetContext(ctx)
4738	req.ApplyOptions(opts...)
4739	return out, req.Send()
4740}
4741
4742// ListGatewaysPages iterates over the pages of a ListGateways operation,
4743// calling the "fn" function with the response data for each page. To stop
4744// iterating, return false from the fn function.
4745//
4746// See ListGateways method for more information on how to use this operation.
4747//
4748// Note: This operation can generate multiple requests to a service.
4749//
4750//    // Example iterating over at most 3 pages of a ListGateways operation.
4751//    pageNum := 0
4752//    err := client.ListGatewaysPages(params,
4753//        func(page *iotsitewise.ListGatewaysOutput, lastPage bool) bool {
4754//            pageNum++
4755//            fmt.Println(page)
4756//            return pageNum <= 3
4757//        })
4758//
4759func (c *IoTSiteWise) ListGatewaysPages(input *ListGatewaysInput, fn func(*ListGatewaysOutput, bool) bool) error {
4760	return c.ListGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
4761}
4762
4763// ListGatewaysPagesWithContext same as ListGatewaysPages except
4764// it takes a Context and allows setting request options on the pages.
4765//
4766// The context must be non-nil and will be used for request cancellation. If
4767// the context is nil a panic will occur. In the future the SDK may create
4768// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4769// for more information on using Contexts.
4770func (c *IoTSiteWise) ListGatewaysPagesWithContext(ctx aws.Context, input *ListGatewaysInput, fn func(*ListGatewaysOutput, bool) bool, opts ...request.Option) error {
4771	p := request.Pagination{
4772		NewRequest: func() (*request.Request, error) {
4773			var inCpy *ListGatewaysInput
4774			if input != nil {
4775				tmp := *input
4776				inCpy = &tmp
4777			}
4778			req, _ := c.ListGatewaysRequest(inCpy)
4779			req.SetContext(ctx)
4780			req.ApplyOptions(opts...)
4781			return req, nil
4782		},
4783	}
4784
4785	for p.Next() {
4786		if !fn(p.Page().(*ListGatewaysOutput), !p.HasNextPage()) {
4787			break
4788		}
4789	}
4790
4791	return p.Err()
4792}
4793
4794const opListPortals = "ListPortals"
4795
4796// ListPortalsRequest generates a "aws/request.Request" representing the
4797// client's request for the ListPortals operation. The "output" return
4798// value will be populated with the request's response once the request completes
4799// successfully.
4800//
4801// Use "Send" method on the returned Request to send the API call to the service.
4802// the "output" return value is not valid until after Send returns without error.
4803//
4804// See ListPortals for more information on using the ListPortals
4805// API call, and error handling.
4806//
4807// This method is useful when you want to inject custom logic or configuration
4808// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4809//
4810//
4811//    // Example sending a request using the ListPortalsRequest method.
4812//    req, resp := client.ListPortalsRequest(params)
4813//
4814//    err := req.Send()
4815//    if err == nil { // resp is now filled
4816//        fmt.Println(resp)
4817//    }
4818//
4819// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListPortals
4820func (c *IoTSiteWise) ListPortalsRequest(input *ListPortalsInput) (req *request.Request, output *ListPortalsOutput) {
4821	op := &request.Operation{
4822		Name:       opListPortals,
4823		HTTPMethod: "GET",
4824		HTTPPath:   "/portals",
4825		Paginator: &request.Paginator{
4826			InputTokens:     []string{"nextToken"},
4827			OutputTokens:    []string{"nextToken"},
4828			LimitToken:      "maxResults",
4829			TruncationToken: "",
4830		},
4831	}
4832
4833	if input == nil {
4834		input = &ListPortalsInput{}
4835	}
4836
4837	output = &ListPortalsOutput{}
4838	req = c.newRequest(op, input, output)
4839	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
4840	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
4841	return
4842}
4843
4844// ListPortals API operation for AWS IoT SiteWise.
4845//
4846// Retrieves a paginated list of AWS IoT SiteWise Monitor portals.
4847//
4848// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4849// with awserr.Error's Code and Message methods to get detailed information about
4850// the error.
4851//
4852// See the AWS API reference guide for AWS IoT SiteWise's
4853// API operation ListPortals for usage and error information.
4854//
4855// Returned Error Types:
4856//   * InvalidRequestException
4857//   The request isn't valid. This can occur if your request contains malformed
4858//   JSON or unsupported characters. Check your request and try again.
4859//
4860//   * InternalFailureException
4861//   AWS IoT SiteWise can't process your request right now. Try again later.
4862//
4863//   * ThrottlingException
4864//   Your request exceeded a rate limit. For example, you might have exceeded
4865//   the number of AWS IoT SiteWise assets that can be created per second, the
4866//   allowed number of messages per second, and so on.
4867//
4868//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
4869//   in the AWS IoT SiteWise User Guide.
4870//
4871// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListPortals
4872func (c *IoTSiteWise) ListPortals(input *ListPortalsInput) (*ListPortalsOutput, error) {
4873	req, out := c.ListPortalsRequest(input)
4874	return out, req.Send()
4875}
4876
4877// ListPortalsWithContext is the same as ListPortals with the addition of
4878// the ability to pass a context and additional request options.
4879//
4880// See ListPortals for details on how to use this API operation.
4881//
4882// The context must be non-nil and will be used for request cancellation. If
4883// the context is nil a panic will occur. In the future the SDK may create
4884// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4885// for more information on using Contexts.
4886func (c *IoTSiteWise) ListPortalsWithContext(ctx aws.Context, input *ListPortalsInput, opts ...request.Option) (*ListPortalsOutput, error) {
4887	req, out := c.ListPortalsRequest(input)
4888	req.SetContext(ctx)
4889	req.ApplyOptions(opts...)
4890	return out, req.Send()
4891}
4892
4893// ListPortalsPages iterates over the pages of a ListPortals operation,
4894// calling the "fn" function with the response data for each page. To stop
4895// iterating, return false from the fn function.
4896//
4897// See ListPortals method for more information on how to use this operation.
4898//
4899// Note: This operation can generate multiple requests to a service.
4900//
4901//    // Example iterating over at most 3 pages of a ListPortals operation.
4902//    pageNum := 0
4903//    err := client.ListPortalsPages(params,
4904//        func(page *iotsitewise.ListPortalsOutput, lastPage bool) bool {
4905//            pageNum++
4906//            fmt.Println(page)
4907//            return pageNum <= 3
4908//        })
4909//
4910func (c *IoTSiteWise) ListPortalsPages(input *ListPortalsInput, fn func(*ListPortalsOutput, bool) bool) error {
4911	return c.ListPortalsPagesWithContext(aws.BackgroundContext(), input, fn)
4912}
4913
4914// ListPortalsPagesWithContext same as ListPortalsPages except
4915// it takes a Context and allows setting request options on the pages.
4916//
4917// The context must be non-nil and will be used for request cancellation. If
4918// the context is nil a panic will occur. In the future the SDK may create
4919// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4920// for more information on using Contexts.
4921func (c *IoTSiteWise) ListPortalsPagesWithContext(ctx aws.Context, input *ListPortalsInput, fn func(*ListPortalsOutput, bool) bool, opts ...request.Option) error {
4922	p := request.Pagination{
4923		NewRequest: func() (*request.Request, error) {
4924			var inCpy *ListPortalsInput
4925			if input != nil {
4926				tmp := *input
4927				inCpy = &tmp
4928			}
4929			req, _ := c.ListPortalsRequest(inCpy)
4930			req.SetContext(ctx)
4931			req.ApplyOptions(opts...)
4932			return req, nil
4933		},
4934	}
4935
4936	for p.Next() {
4937		if !fn(p.Page().(*ListPortalsOutput), !p.HasNextPage()) {
4938			break
4939		}
4940	}
4941
4942	return p.Err()
4943}
4944
4945const opListProjectAssets = "ListProjectAssets"
4946
4947// ListProjectAssetsRequest generates a "aws/request.Request" representing the
4948// client's request for the ListProjectAssets operation. The "output" return
4949// value will be populated with the request's response once the request completes
4950// successfully.
4951//
4952// Use "Send" method on the returned Request to send the API call to the service.
4953// the "output" return value is not valid until after Send returns without error.
4954//
4955// See ListProjectAssets for more information on using the ListProjectAssets
4956// API call, and error handling.
4957//
4958// This method is useful when you want to inject custom logic or configuration
4959// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4960//
4961//
4962//    // Example sending a request using the ListProjectAssetsRequest method.
4963//    req, resp := client.ListProjectAssetsRequest(params)
4964//
4965//    err := req.Send()
4966//    if err == nil { // resp is now filled
4967//        fmt.Println(resp)
4968//    }
4969//
4970// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListProjectAssets
4971func (c *IoTSiteWise) ListProjectAssetsRequest(input *ListProjectAssetsInput) (req *request.Request, output *ListProjectAssetsOutput) {
4972	op := &request.Operation{
4973		Name:       opListProjectAssets,
4974		HTTPMethod: "GET",
4975		HTTPPath:   "/projects/{projectId}/assets",
4976		Paginator: &request.Paginator{
4977			InputTokens:     []string{"nextToken"},
4978			OutputTokens:    []string{"nextToken"},
4979			LimitToken:      "maxResults",
4980			TruncationToken: "",
4981		},
4982	}
4983
4984	if input == nil {
4985		input = &ListProjectAssetsInput{}
4986	}
4987
4988	output = &ListProjectAssetsOutput{}
4989	req = c.newRequest(op, input, output)
4990	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
4991	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
4992	return
4993}
4994
4995// ListProjectAssets API operation for AWS IoT SiteWise.
4996//
4997// Retrieves a paginated list of assets associated with an AWS IoT SiteWise
4998// Monitor project.
4999//
5000// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5001// with awserr.Error's Code and Message methods to get detailed information about
5002// the error.
5003//
5004// See the AWS API reference guide for AWS IoT SiteWise's
5005// API operation ListProjectAssets for usage and error information.
5006//
5007// Returned Error Types:
5008//   * InvalidRequestException
5009//   The request isn't valid. This can occur if your request contains malformed
5010//   JSON or unsupported characters. Check your request and try again.
5011//
5012//   * InternalFailureException
5013//   AWS IoT SiteWise can't process your request right now. Try again later.
5014//
5015//   * ThrottlingException
5016//   Your request exceeded a rate limit. For example, you might have exceeded
5017//   the number of AWS IoT SiteWise assets that can be created per second, the
5018//   allowed number of messages per second, and so on.
5019//
5020//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5021//   in the AWS IoT SiteWise User Guide.
5022//
5023// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListProjectAssets
5024func (c *IoTSiteWise) ListProjectAssets(input *ListProjectAssetsInput) (*ListProjectAssetsOutput, error) {
5025	req, out := c.ListProjectAssetsRequest(input)
5026	return out, req.Send()
5027}
5028
5029// ListProjectAssetsWithContext is the same as ListProjectAssets with the addition of
5030// the ability to pass a context and additional request options.
5031//
5032// See ListProjectAssets for details on how to use this API operation.
5033//
5034// The context must be non-nil and will be used for request cancellation. If
5035// the context is nil a panic will occur. In the future the SDK may create
5036// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5037// for more information on using Contexts.
5038func (c *IoTSiteWise) ListProjectAssetsWithContext(ctx aws.Context, input *ListProjectAssetsInput, opts ...request.Option) (*ListProjectAssetsOutput, error) {
5039	req, out := c.ListProjectAssetsRequest(input)
5040	req.SetContext(ctx)
5041	req.ApplyOptions(opts...)
5042	return out, req.Send()
5043}
5044
5045// ListProjectAssetsPages iterates over the pages of a ListProjectAssets operation,
5046// calling the "fn" function with the response data for each page. To stop
5047// iterating, return false from the fn function.
5048//
5049// See ListProjectAssets method for more information on how to use this operation.
5050//
5051// Note: This operation can generate multiple requests to a service.
5052//
5053//    // Example iterating over at most 3 pages of a ListProjectAssets operation.
5054//    pageNum := 0
5055//    err := client.ListProjectAssetsPages(params,
5056//        func(page *iotsitewise.ListProjectAssetsOutput, lastPage bool) bool {
5057//            pageNum++
5058//            fmt.Println(page)
5059//            return pageNum <= 3
5060//        })
5061//
5062func (c *IoTSiteWise) ListProjectAssetsPages(input *ListProjectAssetsInput, fn func(*ListProjectAssetsOutput, bool) bool) error {
5063	return c.ListProjectAssetsPagesWithContext(aws.BackgroundContext(), input, fn)
5064}
5065
5066// ListProjectAssetsPagesWithContext same as ListProjectAssetsPages except
5067// it takes a Context and allows setting request options on the pages.
5068//
5069// The context must be non-nil and will be used for request cancellation. If
5070// the context is nil a panic will occur. In the future the SDK may create
5071// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5072// for more information on using Contexts.
5073func (c *IoTSiteWise) ListProjectAssetsPagesWithContext(ctx aws.Context, input *ListProjectAssetsInput, fn func(*ListProjectAssetsOutput, bool) bool, opts ...request.Option) error {
5074	p := request.Pagination{
5075		NewRequest: func() (*request.Request, error) {
5076			var inCpy *ListProjectAssetsInput
5077			if input != nil {
5078				tmp := *input
5079				inCpy = &tmp
5080			}
5081			req, _ := c.ListProjectAssetsRequest(inCpy)
5082			req.SetContext(ctx)
5083			req.ApplyOptions(opts...)
5084			return req, nil
5085		},
5086	}
5087
5088	for p.Next() {
5089		if !fn(p.Page().(*ListProjectAssetsOutput), !p.HasNextPage()) {
5090			break
5091		}
5092	}
5093
5094	return p.Err()
5095}
5096
5097const opListProjects = "ListProjects"
5098
5099// ListProjectsRequest generates a "aws/request.Request" representing the
5100// client's request for the ListProjects operation. The "output" return
5101// value will be populated with the request's response once the request completes
5102// successfully.
5103//
5104// Use "Send" method on the returned Request to send the API call to the service.
5105// the "output" return value is not valid until after Send returns without error.
5106//
5107// See ListProjects for more information on using the ListProjects
5108// API call, and error handling.
5109//
5110// This method is useful when you want to inject custom logic or configuration
5111// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5112//
5113//
5114//    // Example sending a request using the ListProjectsRequest method.
5115//    req, resp := client.ListProjectsRequest(params)
5116//
5117//    err := req.Send()
5118//    if err == nil { // resp is now filled
5119//        fmt.Println(resp)
5120//    }
5121//
5122// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListProjects
5123func (c *IoTSiteWise) ListProjectsRequest(input *ListProjectsInput) (req *request.Request, output *ListProjectsOutput) {
5124	op := &request.Operation{
5125		Name:       opListProjects,
5126		HTTPMethod: "GET",
5127		HTTPPath:   "/projects",
5128		Paginator: &request.Paginator{
5129			InputTokens:     []string{"nextToken"},
5130			OutputTokens:    []string{"nextToken"},
5131			LimitToken:      "maxResults",
5132			TruncationToken: "",
5133		},
5134	}
5135
5136	if input == nil {
5137		input = &ListProjectsInput{}
5138	}
5139
5140	output = &ListProjectsOutput{}
5141	req = c.newRequest(op, input, output)
5142	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
5143	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
5144	return
5145}
5146
5147// ListProjects API operation for AWS IoT SiteWise.
5148//
5149// Retrieves a paginated list of projects for an AWS IoT SiteWise Monitor portal.
5150//
5151// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5152// with awserr.Error's Code and Message methods to get detailed information about
5153// the error.
5154//
5155// See the AWS API reference guide for AWS IoT SiteWise's
5156// API operation ListProjects for usage and error information.
5157//
5158// Returned Error Types:
5159//   * InvalidRequestException
5160//   The request isn't valid. This can occur if your request contains malformed
5161//   JSON or unsupported characters. Check your request and try again.
5162//
5163//   * InternalFailureException
5164//   AWS IoT SiteWise can't process your request right now. Try again later.
5165//
5166//   * ThrottlingException
5167//   Your request exceeded a rate limit. For example, you might have exceeded
5168//   the number of AWS IoT SiteWise assets that can be created per second, the
5169//   allowed number of messages per second, and so on.
5170//
5171//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5172//   in the AWS IoT SiteWise User Guide.
5173//
5174// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListProjects
5175func (c *IoTSiteWise) ListProjects(input *ListProjectsInput) (*ListProjectsOutput, error) {
5176	req, out := c.ListProjectsRequest(input)
5177	return out, req.Send()
5178}
5179
5180// ListProjectsWithContext is the same as ListProjects with the addition of
5181// the ability to pass a context and additional request options.
5182//
5183// See ListProjects for details on how to use this API operation.
5184//
5185// The context must be non-nil and will be used for request cancellation. If
5186// the context is nil a panic will occur. In the future the SDK may create
5187// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5188// for more information on using Contexts.
5189func (c *IoTSiteWise) ListProjectsWithContext(ctx aws.Context, input *ListProjectsInput, opts ...request.Option) (*ListProjectsOutput, error) {
5190	req, out := c.ListProjectsRequest(input)
5191	req.SetContext(ctx)
5192	req.ApplyOptions(opts...)
5193	return out, req.Send()
5194}
5195
5196// ListProjectsPages iterates over the pages of a ListProjects operation,
5197// calling the "fn" function with the response data for each page. To stop
5198// iterating, return false from the fn function.
5199//
5200// See ListProjects method for more information on how to use this operation.
5201//
5202// Note: This operation can generate multiple requests to a service.
5203//
5204//    // Example iterating over at most 3 pages of a ListProjects operation.
5205//    pageNum := 0
5206//    err := client.ListProjectsPages(params,
5207//        func(page *iotsitewise.ListProjectsOutput, lastPage bool) bool {
5208//            pageNum++
5209//            fmt.Println(page)
5210//            return pageNum <= 3
5211//        })
5212//
5213func (c *IoTSiteWise) ListProjectsPages(input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool) error {
5214	return c.ListProjectsPagesWithContext(aws.BackgroundContext(), input, fn)
5215}
5216
5217// ListProjectsPagesWithContext same as ListProjectsPages except
5218// it takes a Context and allows setting request options on the pages.
5219//
5220// The context must be non-nil and will be used for request cancellation. If
5221// the context is nil a panic will occur. In the future the SDK may create
5222// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5223// for more information on using Contexts.
5224func (c *IoTSiteWise) ListProjectsPagesWithContext(ctx aws.Context, input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool, opts ...request.Option) error {
5225	p := request.Pagination{
5226		NewRequest: func() (*request.Request, error) {
5227			var inCpy *ListProjectsInput
5228			if input != nil {
5229				tmp := *input
5230				inCpy = &tmp
5231			}
5232			req, _ := c.ListProjectsRequest(inCpy)
5233			req.SetContext(ctx)
5234			req.ApplyOptions(opts...)
5235			return req, nil
5236		},
5237	}
5238
5239	for p.Next() {
5240		if !fn(p.Page().(*ListProjectsOutput), !p.HasNextPage()) {
5241			break
5242		}
5243	}
5244
5245	return p.Err()
5246}
5247
5248const opListTagsForResource = "ListTagsForResource"
5249
5250// ListTagsForResourceRequest generates a "aws/request.Request" representing the
5251// client's request for the ListTagsForResource operation. The "output" return
5252// value will be populated with the request's response once the request completes
5253// successfully.
5254//
5255// Use "Send" method on the returned Request to send the API call to the service.
5256// the "output" return value is not valid until after Send returns without error.
5257//
5258// See ListTagsForResource for more information on using the ListTagsForResource
5259// API call, and error handling.
5260//
5261// This method is useful when you want to inject custom logic or configuration
5262// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5263//
5264//
5265//    // Example sending a request using the ListTagsForResourceRequest method.
5266//    req, resp := client.ListTagsForResourceRequest(params)
5267//
5268//    err := req.Send()
5269//    if err == nil { // resp is now filled
5270//        fmt.Println(resp)
5271//    }
5272//
5273// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListTagsForResource
5274func (c *IoTSiteWise) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
5275	op := &request.Operation{
5276		Name:       opListTagsForResource,
5277		HTTPMethod: "GET",
5278		HTTPPath:   "/tags",
5279	}
5280
5281	if input == nil {
5282		input = &ListTagsForResourceInput{}
5283	}
5284
5285	output = &ListTagsForResourceOutput{}
5286	req = c.newRequest(op, input, output)
5287	return
5288}
5289
5290// ListTagsForResource API operation for AWS IoT SiteWise.
5291//
5292// Retrieves the list of tags for an AWS IoT SiteWise resource.
5293//
5294// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5295// with awserr.Error's Code and Message methods to get detailed information about
5296// the error.
5297//
5298// See the AWS API reference guide for AWS IoT SiteWise's
5299// API operation ListTagsForResource for usage and error information.
5300//
5301// Returned Error Types:
5302//   * InvalidRequestException
5303//   The request isn't valid. This can occur if your request contains malformed
5304//   JSON or unsupported characters. Check your request and try again.
5305//
5306//   * InternalFailureException
5307//   AWS IoT SiteWise can't process your request right now. Try again later.
5308//
5309//   * ThrottlingException
5310//   Your request exceeded a rate limit. For example, you might have exceeded
5311//   the number of AWS IoT SiteWise assets that can be created per second, the
5312//   allowed number of messages per second, and so on.
5313//
5314//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5315//   in the AWS IoT SiteWise User Guide.
5316//
5317//   * ResourceNotFoundException
5318//   The requested resource can't be found.
5319//
5320//   * ConflictingOperationException
5321//   Your request has conflicting operations. This can occur if you're trying
5322//   to perform more than one operation on the same resource at the same time.
5323//
5324//   * LimitExceededException
5325//   You've reached the limit for a resource. For example, this can occur if you're
5326//   trying to associate more than the allowed number of child assets or attempting
5327//   to create more than the allowed number of properties for an asset model.
5328//
5329//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5330//   in the AWS IoT SiteWise User Guide.
5331//
5332//   * UnauthorizedException
5333//   You are not authorized.
5334//
5335// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/ListTagsForResource
5336func (c *IoTSiteWise) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
5337	req, out := c.ListTagsForResourceRequest(input)
5338	return out, req.Send()
5339}
5340
5341// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
5342// the ability to pass a context and additional request options.
5343//
5344// See ListTagsForResource for details on how to use this API operation.
5345//
5346// The context must be non-nil and will be used for request cancellation. If
5347// the context is nil a panic will occur. In the future the SDK may create
5348// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5349// for more information on using Contexts.
5350func (c *IoTSiteWise) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
5351	req, out := c.ListTagsForResourceRequest(input)
5352	req.SetContext(ctx)
5353	req.ApplyOptions(opts...)
5354	return out, req.Send()
5355}
5356
5357const opPutDefaultEncryptionConfiguration = "PutDefaultEncryptionConfiguration"
5358
5359// PutDefaultEncryptionConfigurationRequest generates a "aws/request.Request" representing the
5360// client's request for the PutDefaultEncryptionConfiguration operation. The "output" return
5361// value will be populated with the request's response once the request completes
5362// successfully.
5363//
5364// Use "Send" method on the returned Request to send the API call to the service.
5365// the "output" return value is not valid until after Send returns without error.
5366//
5367// See PutDefaultEncryptionConfiguration for more information on using the PutDefaultEncryptionConfiguration
5368// API call, and error handling.
5369//
5370// This method is useful when you want to inject custom logic or configuration
5371// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5372//
5373//
5374//    // Example sending a request using the PutDefaultEncryptionConfigurationRequest method.
5375//    req, resp := client.PutDefaultEncryptionConfigurationRequest(params)
5376//
5377//    err := req.Send()
5378//    if err == nil { // resp is now filled
5379//        fmt.Println(resp)
5380//    }
5381//
5382// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutDefaultEncryptionConfiguration
5383func (c *IoTSiteWise) PutDefaultEncryptionConfigurationRequest(input *PutDefaultEncryptionConfigurationInput) (req *request.Request, output *PutDefaultEncryptionConfigurationOutput) {
5384	op := &request.Operation{
5385		Name:       opPutDefaultEncryptionConfiguration,
5386		HTTPMethod: "POST",
5387		HTTPPath:   "/configuration/account/encryption",
5388	}
5389
5390	if input == nil {
5391		input = &PutDefaultEncryptionConfigurationInput{}
5392	}
5393
5394	output = &PutDefaultEncryptionConfigurationOutput{}
5395	req = c.newRequest(op, input, output)
5396	return
5397}
5398
5399// PutDefaultEncryptionConfiguration API operation for AWS IoT SiteWise.
5400//
5401// Sets the default encryption configuration for the AWS account. For more information,
5402// see Key management (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/key-management.html)
5403// in the AWS IoT SiteWise User Guide.
5404//
5405// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5406// with awserr.Error's Code and Message methods to get detailed information about
5407// the error.
5408//
5409// See the AWS API reference guide for AWS IoT SiteWise's
5410// API operation PutDefaultEncryptionConfiguration for usage and error information.
5411//
5412// Returned Error Types:
5413//   * InvalidRequestException
5414//   The request isn't valid. This can occur if your request contains malformed
5415//   JSON or unsupported characters. Check your request and try again.
5416//
5417//   * InternalFailureException
5418//   AWS IoT SiteWise can't process your request right now. Try again later.
5419//
5420//   * ThrottlingException
5421//   Your request exceeded a rate limit. For example, you might have exceeded
5422//   the number of AWS IoT SiteWise assets that can be created per second, the
5423//   allowed number of messages per second, and so on.
5424//
5425//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5426//   in the AWS IoT SiteWise User Guide.
5427//
5428//   * LimitExceededException
5429//   You've reached the limit for a resource. For example, this can occur if you're
5430//   trying to associate more than the allowed number of child assets or attempting
5431//   to create more than the allowed number of properties for an asset model.
5432//
5433//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5434//   in the AWS IoT SiteWise User Guide.
5435//
5436//   * ConflictingOperationException
5437//   Your request has conflicting operations. This can occur if you're trying
5438//   to perform more than one operation on the same resource at the same time.
5439//
5440// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutDefaultEncryptionConfiguration
5441func (c *IoTSiteWise) PutDefaultEncryptionConfiguration(input *PutDefaultEncryptionConfigurationInput) (*PutDefaultEncryptionConfigurationOutput, error) {
5442	req, out := c.PutDefaultEncryptionConfigurationRequest(input)
5443	return out, req.Send()
5444}
5445
5446// PutDefaultEncryptionConfigurationWithContext is the same as PutDefaultEncryptionConfiguration with the addition of
5447// the ability to pass a context and additional request options.
5448//
5449// See PutDefaultEncryptionConfiguration for details on how to use this API operation.
5450//
5451// The context must be non-nil and will be used for request cancellation. If
5452// the context is nil a panic will occur. In the future the SDK may create
5453// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5454// for more information on using Contexts.
5455func (c *IoTSiteWise) PutDefaultEncryptionConfigurationWithContext(ctx aws.Context, input *PutDefaultEncryptionConfigurationInput, opts ...request.Option) (*PutDefaultEncryptionConfigurationOutput, error) {
5456	req, out := c.PutDefaultEncryptionConfigurationRequest(input)
5457	req.SetContext(ctx)
5458	req.ApplyOptions(opts...)
5459	return out, req.Send()
5460}
5461
5462const opPutLoggingOptions = "PutLoggingOptions"
5463
5464// PutLoggingOptionsRequest generates a "aws/request.Request" representing the
5465// client's request for the PutLoggingOptions operation. The "output" return
5466// value will be populated with the request's response once the request completes
5467// successfully.
5468//
5469// Use "Send" method on the returned Request to send the API call to the service.
5470// the "output" return value is not valid until after Send returns without error.
5471//
5472// See PutLoggingOptions for more information on using the PutLoggingOptions
5473// API call, and error handling.
5474//
5475// This method is useful when you want to inject custom logic or configuration
5476// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5477//
5478//
5479//    // Example sending a request using the PutLoggingOptionsRequest method.
5480//    req, resp := client.PutLoggingOptionsRequest(params)
5481//
5482//    err := req.Send()
5483//    if err == nil { // resp is now filled
5484//        fmt.Println(resp)
5485//    }
5486//
5487// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutLoggingOptions
5488func (c *IoTSiteWise) PutLoggingOptionsRequest(input *PutLoggingOptionsInput) (req *request.Request, output *PutLoggingOptionsOutput) {
5489	op := &request.Operation{
5490		Name:       opPutLoggingOptions,
5491		HTTPMethod: "PUT",
5492		HTTPPath:   "/logging",
5493	}
5494
5495	if input == nil {
5496		input = &PutLoggingOptionsInput{}
5497	}
5498
5499	output = &PutLoggingOptionsOutput{}
5500	req = c.newRequest(op, input, output)
5501	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5502	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
5503	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
5504	return
5505}
5506
5507// PutLoggingOptions API operation for AWS IoT SiteWise.
5508//
5509// Sets logging options for AWS IoT SiteWise.
5510//
5511// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5512// with awserr.Error's Code and Message methods to get detailed information about
5513// the error.
5514//
5515// See the AWS API reference guide for AWS IoT SiteWise's
5516// API operation PutLoggingOptions for usage and error information.
5517//
5518// Returned Error Types:
5519//   * InvalidRequestException
5520//   The request isn't valid. This can occur if your request contains malformed
5521//   JSON or unsupported characters. Check your request and try again.
5522//
5523//   * ThrottlingException
5524//   Your request exceeded a rate limit. For example, you might have exceeded
5525//   the number of AWS IoT SiteWise assets that can be created per second, the
5526//   allowed number of messages per second, and so on.
5527//
5528//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5529//   in the AWS IoT SiteWise User Guide.
5530//
5531//   * InternalFailureException
5532//   AWS IoT SiteWise can't process your request right now. Try again later.
5533//
5534//   * ConflictingOperationException
5535//   Your request has conflicting operations. This can occur if you're trying
5536//   to perform more than one operation on the same resource at the same time.
5537//
5538//   * ResourceNotFoundException
5539//   The requested resource can't be found.
5540//
5541// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/PutLoggingOptions
5542func (c *IoTSiteWise) PutLoggingOptions(input *PutLoggingOptionsInput) (*PutLoggingOptionsOutput, error) {
5543	req, out := c.PutLoggingOptionsRequest(input)
5544	return out, req.Send()
5545}
5546
5547// PutLoggingOptionsWithContext is the same as PutLoggingOptions with the addition of
5548// the ability to pass a context and additional request options.
5549//
5550// See PutLoggingOptions for details on how to use this API operation.
5551//
5552// The context must be non-nil and will be used for request cancellation. If
5553// the context is nil a panic will occur. In the future the SDK may create
5554// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5555// for more information on using Contexts.
5556func (c *IoTSiteWise) PutLoggingOptionsWithContext(ctx aws.Context, input *PutLoggingOptionsInput, opts ...request.Option) (*PutLoggingOptionsOutput, error) {
5557	req, out := c.PutLoggingOptionsRequest(input)
5558	req.SetContext(ctx)
5559	req.ApplyOptions(opts...)
5560	return out, req.Send()
5561}
5562
5563const opTagResource = "TagResource"
5564
5565// TagResourceRequest generates a "aws/request.Request" representing the
5566// client's request for the TagResource operation. The "output" return
5567// value will be populated with the request's response once the request completes
5568// successfully.
5569//
5570// Use "Send" method on the returned Request to send the API call to the service.
5571// the "output" return value is not valid until after Send returns without error.
5572//
5573// See TagResource for more information on using the TagResource
5574// API call, and error handling.
5575//
5576// This method is useful when you want to inject custom logic or configuration
5577// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5578//
5579//
5580//    // Example sending a request using the TagResourceRequest method.
5581//    req, resp := client.TagResourceRequest(params)
5582//
5583//    err := req.Send()
5584//    if err == nil { // resp is now filled
5585//        fmt.Println(resp)
5586//    }
5587//
5588// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/TagResource
5589func (c *IoTSiteWise) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
5590	op := &request.Operation{
5591		Name:       opTagResource,
5592		HTTPMethod: "POST",
5593		HTTPPath:   "/tags",
5594	}
5595
5596	if input == nil {
5597		input = &TagResourceInput{}
5598	}
5599
5600	output = &TagResourceOutput{}
5601	req = c.newRequest(op, input, output)
5602	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5603	return
5604}
5605
5606// TagResource API operation for AWS IoT SiteWise.
5607//
5608// Adds tags to an AWS IoT SiteWise resource. If a tag already exists for the
5609// resource, this operation updates the tag's value.
5610//
5611// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5612// with awserr.Error's Code and Message methods to get detailed information about
5613// the error.
5614//
5615// See the AWS API reference guide for AWS IoT SiteWise's
5616// API operation TagResource for usage and error information.
5617//
5618// Returned Error Types:
5619//   * InvalidRequestException
5620//   The request isn't valid. This can occur if your request contains malformed
5621//   JSON or unsupported characters. Check your request and try again.
5622//
5623//   * InternalFailureException
5624//   AWS IoT SiteWise can't process your request right now. Try again later.
5625//
5626//   * ThrottlingException
5627//   Your request exceeded a rate limit. For example, you might have exceeded
5628//   the number of AWS IoT SiteWise assets that can be created per second, the
5629//   allowed number of messages per second, and so on.
5630//
5631//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5632//   in the AWS IoT SiteWise User Guide.
5633//
5634//   * ResourceNotFoundException
5635//   The requested resource can't be found.
5636//
5637//   * ConflictingOperationException
5638//   Your request has conflicting operations. This can occur if you're trying
5639//   to perform more than one operation on the same resource at the same time.
5640//
5641//   * LimitExceededException
5642//   You've reached the limit for a resource. For example, this can occur if you're
5643//   trying to associate more than the allowed number of child assets or attempting
5644//   to create more than the allowed number of properties for an asset model.
5645//
5646//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5647//   in the AWS IoT SiteWise User Guide.
5648//
5649//   * UnauthorizedException
5650//   You are not authorized.
5651//
5652//   * TooManyTagsException
5653//   You've reached the limit for the number of tags allowed for a resource. For
5654//   more information, see Tag naming limits and requirements (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions)
5655//   in the AWS General Reference.
5656//
5657// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/TagResource
5658func (c *IoTSiteWise) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
5659	req, out := c.TagResourceRequest(input)
5660	return out, req.Send()
5661}
5662
5663// TagResourceWithContext is the same as TagResource with the addition of
5664// the ability to pass a context and additional request options.
5665//
5666// See TagResource for details on how to use this API operation.
5667//
5668// The context must be non-nil and will be used for request cancellation. If
5669// the context is nil a panic will occur. In the future the SDK may create
5670// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5671// for more information on using Contexts.
5672func (c *IoTSiteWise) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
5673	req, out := c.TagResourceRequest(input)
5674	req.SetContext(ctx)
5675	req.ApplyOptions(opts...)
5676	return out, req.Send()
5677}
5678
5679const opUntagResource = "UntagResource"
5680
5681// UntagResourceRequest generates a "aws/request.Request" representing the
5682// client's request for the UntagResource operation. The "output" return
5683// value will be populated with the request's response once the request completes
5684// successfully.
5685//
5686// Use "Send" method on the returned Request to send the API call to the service.
5687// the "output" return value is not valid until after Send returns without error.
5688//
5689// See UntagResource for more information on using the UntagResource
5690// API call, and error handling.
5691//
5692// This method is useful when you want to inject custom logic or configuration
5693// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5694//
5695//
5696//    // Example sending a request using the UntagResourceRequest method.
5697//    req, resp := client.UntagResourceRequest(params)
5698//
5699//    err := req.Send()
5700//    if err == nil { // resp is now filled
5701//        fmt.Println(resp)
5702//    }
5703//
5704// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UntagResource
5705func (c *IoTSiteWise) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
5706	op := &request.Operation{
5707		Name:       opUntagResource,
5708		HTTPMethod: "DELETE",
5709		HTTPPath:   "/tags",
5710	}
5711
5712	if input == nil {
5713		input = &UntagResourceInput{}
5714	}
5715
5716	output = &UntagResourceOutput{}
5717	req = c.newRequest(op, input, output)
5718	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5719	return
5720}
5721
5722// UntagResource API operation for AWS IoT SiteWise.
5723//
5724// Removes a tag from an AWS IoT SiteWise resource.
5725//
5726// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5727// with awserr.Error's Code and Message methods to get detailed information about
5728// the error.
5729//
5730// See the AWS API reference guide for AWS IoT SiteWise's
5731// API operation UntagResource for usage and error information.
5732//
5733// Returned Error Types:
5734//   * InvalidRequestException
5735//   The request isn't valid. This can occur if your request contains malformed
5736//   JSON or unsupported characters. Check your request and try again.
5737//
5738//   * InternalFailureException
5739//   AWS IoT SiteWise can't process your request right now. Try again later.
5740//
5741//   * ThrottlingException
5742//   Your request exceeded a rate limit. For example, you might have exceeded
5743//   the number of AWS IoT SiteWise assets that can be created per second, the
5744//   allowed number of messages per second, and so on.
5745//
5746//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5747//   in the AWS IoT SiteWise User Guide.
5748//
5749//   * ResourceNotFoundException
5750//   The requested resource can't be found.
5751//
5752//   * ConflictingOperationException
5753//   Your request has conflicting operations. This can occur if you're trying
5754//   to perform more than one operation on the same resource at the same time.
5755//
5756//   * LimitExceededException
5757//   You've reached the limit for a resource. For example, this can occur if you're
5758//   trying to associate more than the allowed number of child assets or attempting
5759//   to create more than the allowed number of properties for an asset model.
5760//
5761//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5762//   in the AWS IoT SiteWise User Guide.
5763//
5764//   * UnauthorizedException
5765//   You are not authorized.
5766//
5767// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UntagResource
5768func (c *IoTSiteWise) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
5769	req, out := c.UntagResourceRequest(input)
5770	return out, req.Send()
5771}
5772
5773// UntagResourceWithContext is the same as UntagResource with the addition of
5774// the ability to pass a context and additional request options.
5775//
5776// See UntagResource for details on how to use this API operation.
5777//
5778// The context must be non-nil and will be used for request cancellation. If
5779// the context is nil a panic will occur. In the future the SDK may create
5780// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5781// for more information on using Contexts.
5782func (c *IoTSiteWise) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
5783	req, out := c.UntagResourceRequest(input)
5784	req.SetContext(ctx)
5785	req.ApplyOptions(opts...)
5786	return out, req.Send()
5787}
5788
5789const opUpdateAccessPolicy = "UpdateAccessPolicy"
5790
5791// UpdateAccessPolicyRequest generates a "aws/request.Request" representing the
5792// client's request for the UpdateAccessPolicy operation. The "output" return
5793// value will be populated with the request's response once the request completes
5794// successfully.
5795//
5796// Use "Send" method on the returned Request to send the API call to the service.
5797// the "output" return value is not valid until after Send returns without error.
5798//
5799// See UpdateAccessPolicy for more information on using the UpdateAccessPolicy
5800// API call, and error handling.
5801//
5802// This method is useful when you want to inject custom logic or configuration
5803// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5804//
5805//
5806//    // Example sending a request using the UpdateAccessPolicyRequest method.
5807//    req, resp := client.UpdateAccessPolicyRequest(params)
5808//
5809//    err := req.Send()
5810//    if err == nil { // resp is now filled
5811//        fmt.Println(resp)
5812//    }
5813//
5814// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAccessPolicy
5815func (c *IoTSiteWise) UpdateAccessPolicyRequest(input *UpdateAccessPolicyInput) (req *request.Request, output *UpdateAccessPolicyOutput) {
5816	op := &request.Operation{
5817		Name:       opUpdateAccessPolicy,
5818		HTTPMethod: "PUT",
5819		HTTPPath:   "/access-policies/{accessPolicyId}",
5820	}
5821
5822	if input == nil {
5823		input = &UpdateAccessPolicyInput{}
5824	}
5825
5826	output = &UpdateAccessPolicyOutput{}
5827	req = c.newRequest(op, input, output)
5828	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5829	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
5830	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
5831	return
5832}
5833
5834// UpdateAccessPolicy API operation for AWS IoT SiteWise.
5835//
5836// Updates an existing access policy that specifies an identity's access to
5837// an AWS IoT SiteWise Monitor portal or project resource.
5838//
5839// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5840// with awserr.Error's Code and Message methods to get detailed information about
5841// the error.
5842//
5843// See the AWS API reference guide for AWS IoT SiteWise's
5844// API operation UpdateAccessPolicy for usage and error information.
5845//
5846// Returned Error Types:
5847//   * InvalidRequestException
5848//   The request isn't valid. This can occur if your request contains malformed
5849//   JSON or unsupported characters. Check your request and try again.
5850//
5851//   * ResourceNotFoundException
5852//   The requested resource can't be found.
5853//
5854//   * InternalFailureException
5855//   AWS IoT SiteWise can't process your request right now. Try again later.
5856//
5857//   * ThrottlingException
5858//   Your request exceeded a rate limit. For example, you might have exceeded
5859//   the number of AWS IoT SiteWise assets that can be created per second, the
5860//   allowed number of messages per second, and so on.
5861//
5862//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5863//   in the AWS IoT SiteWise User Guide.
5864//
5865// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAccessPolicy
5866func (c *IoTSiteWise) UpdateAccessPolicy(input *UpdateAccessPolicyInput) (*UpdateAccessPolicyOutput, error) {
5867	req, out := c.UpdateAccessPolicyRequest(input)
5868	return out, req.Send()
5869}
5870
5871// UpdateAccessPolicyWithContext is the same as UpdateAccessPolicy with the addition of
5872// the ability to pass a context and additional request options.
5873//
5874// See UpdateAccessPolicy for details on how to use this API operation.
5875//
5876// The context must be non-nil and will be used for request cancellation. If
5877// the context is nil a panic will occur. In the future the SDK may create
5878// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5879// for more information on using Contexts.
5880func (c *IoTSiteWise) UpdateAccessPolicyWithContext(ctx aws.Context, input *UpdateAccessPolicyInput, opts ...request.Option) (*UpdateAccessPolicyOutput, error) {
5881	req, out := c.UpdateAccessPolicyRequest(input)
5882	req.SetContext(ctx)
5883	req.ApplyOptions(opts...)
5884	return out, req.Send()
5885}
5886
5887const opUpdateAsset = "UpdateAsset"
5888
5889// UpdateAssetRequest generates a "aws/request.Request" representing the
5890// client's request for the UpdateAsset operation. The "output" return
5891// value will be populated with the request's response once the request completes
5892// successfully.
5893//
5894// Use "Send" method on the returned Request to send the API call to the service.
5895// the "output" return value is not valid until after Send returns without error.
5896//
5897// See UpdateAsset for more information on using the UpdateAsset
5898// API call, and error handling.
5899//
5900// This method is useful when you want to inject custom logic or configuration
5901// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5902//
5903//
5904//    // Example sending a request using the UpdateAssetRequest method.
5905//    req, resp := client.UpdateAssetRequest(params)
5906//
5907//    err := req.Send()
5908//    if err == nil { // resp is now filled
5909//        fmt.Println(resp)
5910//    }
5911//
5912// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAsset
5913func (c *IoTSiteWise) UpdateAssetRequest(input *UpdateAssetInput) (req *request.Request, output *UpdateAssetOutput) {
5914	op := &request.Operation{
5915		Name:       opUpdateAsset,
5916		HTTPMethod: "PUT",
5917		HTTPPath:   "/assets/{assetId}",
5918	}
5919
5920	if input == nil {
5921		input = &UpdateAssetInput{}
5922	}
5923
5924	output = &UpdateAssetOutput{}
5925	req = c.newRequest(op, input, output)
5926	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
5927	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
5928	return
5929}
5930
5931// UpdateAsset API operation for AWS IoT SiteWise.
5932//
5933// Updates an asset's name. For more information, see Updating assets and models
5934// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-assets-and-models.html)
5935// in the AWS IoT SiteWise User Guide.
5936//
5937// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5938// with awserr.Error's Code and Message methods to get detailed information about
5939// the error.
5940//
5941// See the AWS API reference guide for AWS IoT SiteWise's
5942// API operation UpdateAsset for usage and error information.
5943//
5944// Returned Error Types:
5945//   * InvalidRequestException
5946//   The request isn't valid. This can occur if your request contains malformed
5947//   JSON or unsupported characters. Check your request and try again.
5948//
5949//   * ResourceAlreadyExistsException
5950//   The resource already exists.
5951//
5952//   * ResourceNotFoundException
5953//   The requested resource can't be found.
5954//
5955//   * InternalFailureException
5956//   AWS IoT SiteWise can't process your request right now. Try again later.
5957//
5958//   * ThrottlingException
5959//   Your request exceeded a rate limit. For example, you might have exceeded
5960//   the number of AWS IoT SiteWise assets that can be created per second, the
5961//   allowed number of messages per second, and so on.
5962//
5963//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
5964//   in the AWS IoT SiteWise User Guide.
5965//
5966//   * ConflictingOperationException
5967//   Your request has conflicting operations. This can occur if you're trying
5968//   to perform more than one operation on the same resource at the same time.
5969//
5970// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAsset
5971func (c *IoTSiteWise) UpdateAsset(input *UpdateAssetInput) (*UpdateAssetOutput, error) {
5972	req, out := c.UpdateAssetRequest(input)
5973	return out, req.Send()
5974}
5975
5976// UpdateAssetWithContext is the same as UpdateAsset with the addition of
5977// the ability to pass a context and additional request options.
5978//
5979// See UpdateAsset for details on how to use this API operation.
5980//
5981// The context must be non-nil and will be used for request cancellation. If
5982// the context is nil a panic will occur. In the future the SDK may create
5983// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5984// for more information on using Contexts.
5985func (c *IoTSiteWise) UpdateAssetWithContext(ctx aws.Context, input *UpdateAssetInput, opts ...request.Option) (*UpdateAssetOutput, error) {
5986	req, out := c.UpdateAssetRequest(input)
5987	req.SetContext(ctx)
5988	req.ApplyOptions(opts...)
5989	return out, req.Send()
5990}
5991
5992const opUpdateAssetModel = "UpdateAssetModel"
5993
5994// UpdateAssetModelRequest generates a "aws/request.Request" representing the
5995// client's request for the UpdateAssetModel operation. The "output" return
5996// value will be populated with the request's response once the request completes
5997// successfully.
5998//
5999// Use "Send" method on the returned Request to send the API call to the service.
6000// the "output" return value is not valid until after Send returns without error.
6001//
6002// See UpdateAssetModel for more information on using the UpdateAssetModel
6003// API call, and error handling.
6004//
6005// This method is useful when you want to inject custom logic or configuration
6006// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6007//
6008//
6009//    // Example sending a request using the UpdateAssetModelRequest method.
6010//    req, resp := client.UpdateAssetModelRequest(params)
6011//
6012//    err := req.Send()
6013//    if err == nil { // resp is now filled
6014//        fmt.Println(resp)
6015//    }
6016//
6017// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAssetModel
6018func (c *IoTSiteWise) UpdateAssetModelRequest(input *UpdateAssetModelInput) (req *request.Request, output *UpdateAssetModelOutput) {
6019	op := &request.Operation{
6020		Name:       opUpdateAssetModel,
6021		HTTPMethod: "PUT",
6022		HTTPPath:   "/asset-models/{assetModelId}",
6023	}
6024
6025	if input == nil {
6026		input = &UpdateAssetModelInput{}
6027	}
6028
6029	output = &UpdateAssetModelOutput{}
6030	req = c.newRequest(op, input, output)
6031	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
6032	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
6033	return
6034}
6035
6036// UpdateAssetModel API operation for AWS IoT SiteWise.
6037//
6038// Updates an asset model and all of the assets that were created from the model.
6039// Each asset created from the model inherits the updated asset model's property
6040// and hierarchy definitions. For more information, see Updating assets and
6041// models (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-assets-and-models.html)
6042// in the AWS IoT SiteWise User Guide.
6043//
6044// This operation overwrites the existing model with the provided model. To
6045// avoid deleting your asset model's properties or hierarchies, you must include
6046// their IDs and definitions in the updated asset model payload. For more information,
6047// see DescribeAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html).
6048//
6049// If you remove a property from an asset model, AWS IoT SiteWise deletes all
6050// previous data for that property. If you remove a hierarchy definition from
6051// an asset model, AWS IoT SiteWise disassociates every asset associated with
6052// that hierarchy. You can't change the type or data type of an existing property.
6053//
6054// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6055// with awserr.Error's Code and Message methods to get detailed information about
6056// the error.
6057//
6058// See the AWS API reference guide for AWS IoT SiteWise's
6059// API operation UpdateAssetModel for usage and error information.
6060//
6061// Returned Error Types:
6062//   * InvalidRequestException
6063//   The request isn't valid. This can occur if your request contains malformed
6064//   JSON or unsupported characters. Check your request and try again.
6065//
6066//   * ResourceAlreadyExistsException
6067//   The resource already exists.
6068//
6069//   * ResourceNotFoundException
6070//   The requested resource can't be found.
6071//
6072//   * InternalFailureException
6073//   AWS IoT SiteWise can't process your request right now. Try again later.
6074//
6075//   * LimitExceededException
6076//   You've reached the limit for a resource. For example, this can occur if you're
6077//   trying to associate more than the allowed number of child assets or attempting
6078//   to create more than the allowed number of properties for an asset model.
6079//
6080//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
6081//   in the AWS IoT SiteWise User Guide.
6082//
6083//   * ThrottlingException
6084//   Your request exceeded a rate limit. For example, you might have exceeded
6085//   the number of AWS IoT SiteWise assets that can be created per second, the
6086//   allowed number of messages per second, and so on.
6087//
6088//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
6089//   in the AWS IoT SiteWise User Guide.
6090//
6091//   * ConflictingOperationException
6092//   Your request has conflicting operations. This can occur if you're trying
6093//   to perform more than one operation on the same resource at the same time.
6094//
6095// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAssetModel
6096func (c *IoTSiteWise) UpdateAssetModel(input *UpdateAssetModelInput) (*UpdateAssetModelOutput, error) {
6097	req, out := c.UpdateAssetModelRequest(input)
6098	return out, req.Send()
6099}
6100
6101// UpdateAssetModelWithContext is the same as UpdateAssetModel with the addition of
6102// the ability to pass a context and additional request options.
6103//
6104// See UpdateAssetModel for details on how to use this API operation.
6105//
6106// The context must be non-nil and will be used for request cancellation. If
6107// the context is nil a panic will occur. In the future the SDK may create
6108// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6109// for more information on using Contexts.
6110func (c *IoTSiteWise) UpdateAssetModelWithContext(ctx aws.Context, input *UpdateAssetModelInput, opts ...request.Option) (*UpdateAssetModelOutput, error) {
6111	req, out := c.UpdateAssetModelRequest(input)
6112	req.SetContext(ctx)
6113	req.ApplyOptions(opts...)
6114	return out, req.Send()
6115}
6116
6117const opUpdateAssetProperty = "UpdateAssetProperty"
6118
6119// UpdateAssetPropertyRequest generates a "aws/request.Request" representing the
6120// client's request for the UpdateAssetProperty operation. The "output" return
6121// value will be populated with the request's response once the request completes
6122// successfully.
6123//
6124// Use "Send" method on the returned Request to send the API call to the service.
6125// the "output" return value is not valid until after Send returns without error.
6126//
6127// See UpdateAssetProperty for more information on using the UpdateAssetProperty
6128// API call, and error handling.
6129//
6130// This method is useful when you want to inject custom logic or configuration
6131// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6132//
6133//
6134//    // Example sending a request using the UpdateAssetPropertyRequest method.
6135//    req, resp := client.UpdateAssetPropertyRequest(params)
6136//
6137//    err := req.Send()
6138//    if err == nil { // resp is now filled
6139//        fmt.Println(resp)
6140//    }
6141//
6142// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAssetProperty
6143func (c *IoTSiteWise) UpdateAssetPropertyRequest(input *UpdateAssetPropertyInput) (req *request.Request, output *UpdateAssetPropertyOutput) {
6144	op := &request.Operation{
6145		Name:       opUpdateAssetProperty,
6146		HTTPMethod: "PUT",
6147		HTTPPath:   "/assets/{assetId}/properties/{propertyId}",
6148	}
6149
6150	if input == nil {
6151		input = &UpdateAssetPropertyInput{}
6152	}
6153
6154	output = &UpdateAssetPropertyOutput{}
6155	req = c.newRequest(op, input, output)
6156	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6157	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("model.", nil))
6158	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
6159	return
6160}
6161
6162// UpdateAssetProperty API operation for AWS IoT SiteWise.
6163//
6164// Updates an asset property's alias and notification state.
6165//
6166// This operation overwrites the property's existing alias and notification
6167// state. To keep your existing property's alias or notification state, you
6168// must include the existing values in the UpdateAssetProperty request. For
6169// more information, see DescribeAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetProperty.html).
6170//
6171// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6172// with awserr.Error's Code and Message methods to get detailed information about
6173// the error.
6174//
6175// See the AWS API reference guide for AWS IoT SiteWise's
6176// API operation UpdateAssetProperty for usage and error information.
6177//
6178// Returned Error Types:
6179//   * InvalidRequestException
6180//   The request isn't valid. This can occur if your request contains malformed
6181//   JSON or unsupported characters. Check your request and try again.
6182//
6183//   * ResourceNotFoundException
6184//   The requested resource can't be found.
6185//
6186//   * InternalFailureException
6187//   AWS IoT SiteWise can't process your request right now. Try again later.
6188//
6189//   * ThrottlingException
6190//   Your request exceeded a rate limit. For example, you might have exceeded
6191//   the number of AWS IoT SiteWise assets that can be created per second, the
6192//   allowed number of messages per second, and so on.
6193//
6194//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
6195//   in the AWS IoT SiteWise User Guide.
6196//
6197//   * ConflictingOperationException
6198//   Your request has conflicting operations. This can occur if you're trying
6199//   to perform more than one operation on the same resource at the same time.
6200//
6201// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateAssetProperty
6202func (c *IoTSiteWise) UpdateAssetProperty(input *UpdateAssetPropertyInput) (*UpdateAssetPropertyOutput, error) {
6203	req, out := c.UpdateAssetPropertyRequest(input)
6204	return out, req.Send()
6205}
6206
6207// UpdateAssetPropertyWithContext is the same as UpdateAssetProperty with the addition of
6208// the ability to pass a context and additional request options.
6209//
6210// See UpdateAssetProperty for details on how to use this API operation.
6211//
6212// The context must be non-nil and will be used for request cancellation. If
6213// the context is nil a panic will occur. In the future the SDK may create
6214// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6215// for more information on using Contexts.
6216func (c *IoTSiteWise) UpdateAssetPropertyWithContext(ctx aws.Context, input *UpdateAssetPropertyInput, opts ...request.Option) (*UpdateAssetPropertyOutput, error) {
6217	req, out := c.UpdateAssetPropertyRequest(input)
6218	req.SetContext(ctx)
6219	req.ApplyOptions(opts...)
6220	return out, req.Send()
6221}
6222
6223const opUpdateDashboard = "UpdateDashboard"
6224
6225// UpdateDashboardRequest generates a "aws/request.Request" representing the
6226// client's request for the UpdateDashboard operation. The "output" return
6227// value will be populated with the request's response once the request completes
6228// successfully.
6229//
6230// Use "Send" method on the returned Request to send the API call to the service.
6231// the "output" return value is not valid until after Send returns without error.
6232//
6233// See UpdateDashboard for more information on using the UpdateDashboard
6234// API call, and error handling.
6235//
6236// This method is useful when you want to inject custom logic or configuration
6237// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6238//
6239//
6240//    // Example sending a request using the UpdateDashboardRequest method.
6241//    req, resp := client.UpdateDashboardRequest(params)
6242//
6243//    err := req.Send()
6244//    if err == nil { // resp is now filled
6245//        fmt.Println(resp)
6246//    }
6247//
6248// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateDashboard
6249func (c *IoTSiteWise) UpdateDashboardRequest(input *UpdateDashboardInput) (req *request.Request, output *UpdateDashboardOutput) {
6250	op := &request.Operation{
6251		Name:       opUpdateDashboard,
6252		HTTPMethod: "PUT",
6253		HTTPPath:   "/dashboards/{dashboardId}",
6254	}
6255
6256	if input == nil {
6257		input = &UpdateDashboardInput{}
6258	}
6259
6260	output = &UpdateDashboardOutput{}
6261	req = c.newRequest(op, input, output)
6262	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6263	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
6264	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
6265	return
6266}
6267
6268// UpdateDashboard API operation for AWS IoT SiteWise.
6269//
6270// Updates an AWS IoT SiteWise Monitor dashboard.
6271//
6272// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6273// with awserr.Error's Code and Message methods to get detailed information about
6274// the error.
6275//
6276// See the AWS API reference guide for AWS IoT SiteWise's
6277// API operation UpdateDashboard for usage and error information.
6278//
6279// Returned Error Types:
6280//   * InvalidRequestException
6281//   The request isn't valid. This can occur if your request contains malformed
6282//   JSON or unsupported characters. Check your request and try again.
6283//
6284//   * ResourceNotFoundException
6285//   The requested resource can't be found.
6286//
6287//   * InternalFailureException
6288//   AWS IoT SiteWise can't process your request right now. Try again later.
6289//
6290//   * ThrottlingException
6291//   Your request exceeded a rate limit. For example, you might have exceeded
6292//   the number of AWS IoT SiteWise assets that can be created per second, the
6293//   allowed number of messages per second, and so on.
6294//
6295//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
6296//   in the AWS IoT SiteWise User Guide.
6297//
6298// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateDashboard
6299func (c *IoTSiteWise) UpdateDashboard(input *UpdateDashboardInput) (*UpdateDashboardOutput, error) {
6300	req, out := c.UpdateDashboardRequest(input)
6301	return out, req.Send()
6302}
6303
6304// UpdateDashboardWithContext is the same as UpdateDashboard with the addition of
6305// the ability to pass a context and additional request options.
6306//
6307// See UpdateDashboard for details on how to use this API operation.
6308//
6309// The context must be non-nil and will be used for request cancellation. If
6310// the context is nil a panic will occur. In the future the SDK may create
6311// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6312// for more information on using Contexts.
6313func (c *IoTSiteWise) UpdateDashboardWithContext(ctx aws.Context, input *UpdateDashboardInput, opts ...request.Option) (*UpdateDashboardOutput, error) {
6314	req, out := c.UpdateDashboardRequest(input)
6315	req.SetContext(ctx)
6316	req.ApplyOptions(opts...)
6317	return out, req.Send()
6318}
6319
6320const opUpdateGateway = "UpdateGateway"
6321
6322// UpdateGatewayRequest generates a "aws/request.Request" representing the
6323// client's request for the UpdateGateway operation. The "output" return
6324// value will be populated with the request's response once the request completes
6325// successfully.
6326//
6327// Use "Send" method on the returned Request to send the API call to the service.
6328// the "output" return value is not valid until after Send returns without error.
6329//
6330// See UpdateGateway for more information on using the UpdateGateway
6331// API call, and error handling.
6332//
6333// This method is useful when you want to inject custom logic or configuration
6334// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6335//
6336//
6337//    // Example sending a request using the UpdateGatewayRequest method.
6338//    req, resp := client.UpdateGatewayRequest(params)
6339//
6340//    err := req.Send()
6341//    if err == nil { // resp is now filled
6342//        fmt.Println(resp)
6343//    }
6344//
6345// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateGateway
6346func (c *IoTSiteWise) UpdateGatewayRequest(input *UpdateGatewayInput) (req *request.Request, output *UpdateGatewayOutput) {
6347	op := &request.Operation{
6348		Name:       opUpdateGateway,
6349		HTTPMethod: "PUT",
6350		HTTPPath:   "/20200301/gateways/{gatewayId}",
6351	}
6352
6353	if input == nil {
6354		input = &UpdateGatewayInput{}
6355	}
6356
6357	output = &UpdateGatewayOutput{}
6358	req = c.newRequest(op, input, output)
6359	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6360	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("edge.", nil))
6361	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
6362	return
6363}
6364
6365// UpdateGateway API operation for AWS IoT SiteWise.
6366//
6367// Updates a gateway's name.
6368//
6369// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6370// with awserr.Error's Code and Message methods to get detailed information about
6371// the error.
6372//
6373// See the AWS API reference guide for AWS IoT SiteWise's
6374// API operation UpdateGateway for usage and error information.
6375//
6376// Returned Error Types:
6377//   * InvalidRequestException
6378//   The request isn't valid. This can occur if your request contains malformed
6379//   JSON or unsupported characters. Check your request and try again.
6380//
6381//   * ResourceNotFoundException
6382//   The requested resource can't be found.
6383//
6384//   * ConflictingOperationException
6385//   Your request has conflicting operations. This can occur if you're trying
6386//   to perform more than one operation on the same resource at the same time.
6387//
6388//   * InternalFailureException
6389//   AWS IoT SiteWise can't process your request right now. Try again later.
6390//
6391//   * ThrottlingException
6392//   Your request exceeded a rate limit. For example, you might have exceeded
6393//   the number of AWS IoT SiteWise assets that can be created per second, the
6394//   allowed number of messages per second, and so on.
6395//
6396//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
6397//   in the AWS IoT SiteWise User Guide.
6398//
6399// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateGateway
6400func (c *IoTSiteWise) UpdateGateway(input *UpdateGatewayInput) (*UpdateGatewayOutput, error) {
6401	req, out := c.UpdateGatewayRequest(input)
6402	return out, req.Send()
6403}
6404
6405// UpdateGatewayWithContext is the same as UpdateGateway with the addition of
6406// the ability to pass a context and additional request options.
6407//
6408// See UpdateGateway for details on how to use this API operation.
6409//
6410// The context must be non-nil and will be used for request cancellation. If
6411// the context is nil a panic will occur. In the future the SDK may create
6412// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6413// for more information on using Contexts.
6414func (c *IoTSiteWise) UpdateGatewayWithContext(ctx aws.Context, input *UpdateGatewayInput, opts ...request.Option) (*UpdateGatewayOutput, error) {
6415	req, out := c.UpdateGatewayRequest(input)
6416	req.SetContext(ctx)
6417	req.ApplyOptions(opts...)
6418	return out, req.Send()
6419}
6420
6421const opUpdateGatewayCapabilityConfiguration = "UpdateGatewayCapabilityConfiguration"
6422
6423// UpdateGatewayCapabilityConfigurationRequest generates a "aws/request.Request" representing the
6424// client's request for the UpdateGatewayCapabilityConfiguration operation. The "output" return
6425// value will be populated with the request's response once the request completes
6426// successfully.
6427//
6428// Use "Send" method on the returned Request to send the API call to the service.
6429// the "output" return value is not valid until after Send returns without error.
6430//
6431// See UpdateGatewayCapabilityConfiguration for more information on using the UpdateGatewayCapabilityConfiguration
6432// API call, and error handling.
6433//
6434// This method is useful when you want to inject custom logic or configuration
6435// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6436//
6437//
6438//    // Example sending a request using the UpdateGatewayCapabilityConfigurationRequest method.
6439//    req, resp := client.UpdateGatewayCapabilityConfigurationRequest(params)
6440//
6441//    err := req.Send()
6442//    if err == nil { // resp is now filled
6443//        fmt.Println(resp)
6444//    }
6445//
6446// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateGatewayCapabilityConfiguration
6447func (c *IoTSiteWise) UpdateGatewayCapabilityConfigurationRequest(input *UpdateGatewayCapabilityConfigurationInput) (req *request.Request, output *UpdateGatewayCapabilityConfigurationOutput) {
6448	op := &request.Operation{
6449		Name:       opUpdateGatewayCapabilityConfiguration,
6450		HTTPMethod: "POST",
6451		HTTPPath:   "/20200301/gateways/{gatewayId}/capability",
6452	}
6453
6454	if input == nil {
6455		input = &UpdateGatewayCapabilityConfigurationInput{}
6456	}
6457
6458	output = &UpdateGatewayCapabilityConfigurationOutput{}
6459	req = c.newRequest(op, input, output)
6460	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("edge.", nil))
6461	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
6462	return
6463}
6464
6465// UpdateGatewayCapabilityConfiguration API operation for AWS IoT SiteWise.
6466//
6467// Updates a gateway capability configuration or defines a new capability configuration.
6468// Each gateway capability defines data sources for a gateway. A capability
6469// configuration can contain multiple data source configurations. If you define
6470// OPC-UA sources for a gateway in the AWS IoT SiteWise console, all of your
6471// OPC-UA sources are stored in one capability configuration. To list all capability
6472// configurations for a gateway, use DescribeGateway (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGateway.html).
6473//
6474// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6475// with awserr.Error's Code and Message methods to get detailed information about
6476// the error.
6477//
6478// See the AWS API reference guide for AWS IoT SiteWise's
6479// API operation UpdateGatewayCapabilityConfiguration for usage and error information.
6480//
6481// Returned Error Types:
6482//   * InvalidRequestException
6483//   The request isn't valid. This can occur if your request contains malformed
6484//   JSON or unsupported characters. Check your request and try again.
6485//
6486//   * ResourceNotFoundException
6487//   The requested resource can't be found.
6488//
6489//   * ConflictingOperationException
6490//   Your request has conflicting operations. This can occur if you're trying
6491//   to perform more than one operation on the same resource at the same time.
6492//
6493//   * InternalFailureException
6494//   AWS IoT SiteWise can't process your request right now. Try again later.
6495//
6496//   * ThrottlingException
6497//   Your request exceeded a rate limit. For example, you might have exceeded
6498//   the number of AWS IoT SiteWise assets that can be created per second, the
6499//   allowed number of messages per second, and so on.
6500//
6501//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
6502//   in the AWS IoT SiteWise User Guide.
6503//
6504//   * LimitExceededException
6505//   You've reached the limit for a resource. For example, this can occur if you're
6506//   trying to associate more than the allowed number of child assets or attempting
6507//   to create more than the allowed number of properties for an asset model.
6508//
6509//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
6510//   in the AWS IoT SiteWise User Guide.
6511//
6512// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateGatewayCapabilityConfiguration
6513func (c *IoTSiteWise) UpdateGatewayCapabilityConfiguration(input *UpdateGatewayCapabilityConfigurationInput) (*UpdateGatewayCapabilityConfigurationOutput, error) {
6514	req, out := c.UpdateGatewayCapabilityConfigurationRequest(input)
6515	return out, req.Send()
6516}
6517
6518// UpdateGatewayCapabilityConfigurationWithContext is the same as UpdateGatewayCapabilityConfiguration with the addition of
6519// the ability to pass a context and additional request options.
6520//
6521// See UpdateGatewayCapabilityConfiguration for details on how to use this API operation.
6522//
6523// The context must be non-nil and will be used for request cancellation. If
6524// the context is nil a panic will occur. In the future the SDK may create
6525// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6526// for more information on using Contexts.
6527func (c *IoTSiteWise) UpdateGatewayCapabilityConfigurationWithContext(ctx aws.Context, input *UpdateGatewayCapabilityConfigurationInput, opts ...request.Option) (*UpdateGatewayCapabilityConfigurationOutput, error) {
6528	req, out := c.UpdateGatewayCapabilityConfigurationRequest(input)
6529	req.SetContext(ctx)
6530	req.ApplyOptions(opts...)
6531	return out, req.Send()
6532}
6533
6534const opUpdatePortal = "UpdatePortal"
6535
6536// UpdatePortalRequest generates a "aws/request.Request" representing the
6537// client's request for the UpdatePortal operation. The "output" return
6538// value will be populated with the request's response once the request completes
6539// successfully.
6540//
6541// Use "Send" method on the returned Request to send the API call to the service.
6542// the "output" return value is not valid until after Send returns without error.
6543//
6544// See UpdatePortal for more information on using the UpdatePortal
6545// API call, and error handling.
6546//
6547// This method is useful when you want to inject custom logic or configuration
6548// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6549//
6550//
6551//    // Example sending a request using the UpdatePortalRequest method.
6552//    req, resp := client.UpdatePortalRequest(params)
6553//
6554//    err := req.Send()
6555//    if err == nil { // resp is now filled
6556//        fmt.Println(resp)
6557//    }
6558//
6559// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdatePortal
6560func (c *IoTSiteWise) UpdatePortalRequest(input *UpdatePortalInput) (req *request.Request, output *UpdatePortalOutput) {
6561	op := &request.Operation{
6562		Name:       opUpdatePortal,
6563		HTTPMethod: "PUT",
6564		HTTPPath:   "/portals/{portalId}",
6565	}
6566
6567	if input == nil {
6568		input = &UpdatePortalInput{}
6569	}
6570
6571	output = &UpdatePortalOutput{}
6572	req = c.newRequest(op, input, output)
6573	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
6574	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
6575	return
6576}
6577
6578// UpdatePortal API operation for AWS IoT SiteWise.
6579//
6580// Updates an AWS IoT SiteWise Monitor portal.
6581//
6582// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6583// with awserr.Error's Code and Message methods to get detailed information about
6584// the error.
6585//
6586// See the AWS API reference guide for AWS IoT SiteWise's
6587// API operation UpdatePortal for usage and error information.
6588//
6589// Returned Error Types:
6590//   * InvalidRequestException
6591//   The request isn't valid. This can occur if your request contains malformed
6592//   JSON or unsupported characters. Check your request and try again.
6593//
6594//   * ResourceNotFoundException
6595//   The requested resource can't be found.
6596//
6597//   * InternalFailureException
6598//   AWS IoT SiteWise can't process your request right now. Try again later.
6599//
6600//   * ThrottlingException
6601//   Your request exceeded a rate limit. For example, you might have exceeded
6602//   the number of AWS IoT SiteWise assets that can be created per second, the
6603//   allowed number of messages per second, and so on.
6604//
6605//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
6606//   in the AWS IoT SiteWise User Guide.
6607//
6608//   * ConflictingOperationException
6609//   Your request has conflicting operations. This can occur if you're trying
6610//   to perform more than one operation on the same resource at the same time.
6611//
6612// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdatePortal
6613func (c *IoTSiteWise) UpdatePortal(input *UpdatePortalInput) (*UpdatePortalOutput, error) {
6614	req, out := c.UpdatePortalRequest(input)
6615	return out, req.Send()
6616}
6617
6618// UpdatePortalWithContext is the same as UpdatePortal with the addition of
6619// the ability to pass a context and additional request options.
6620//
6621// See UpdatePortal for details on how to use this API operation.
6622//
6623// The context must be non-nil and will be used for request cancellation. If
6624// the context is nil a panic will occur. In the future the SDK may create
6625// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6626// for more information on using Contexts.
6627func (c *IoTSiteWise) UpdatePortalWithContext(ctx aws.Context, input *UpdatePortalInput, opts ...request.Option) (*UpdatePortalOutput, error) {
6628	req, out := c.UpdatePortalRequest(input)
6629	req.SetContext(ctx)
6630	req.ApplyOptions(opts...)
6631	return out, req.Send()
6632}
6633
6634const opUpdateProject = "UpdateProject"
6635
6636// UpdateProjectRequest generates a "aws/request.Request" representing the
6637// client's request for the UpdateProject operation. The "output" return
6638// value will be populated with the request's response once the request completes
6639// successfully.
6640//
6641// Use "Send" method on the returned Request to send the API call to the service.
6642// the "output" return value is not valid until after Send returns without error.
6643//
6644// See UpdateProject for more information on using the UpdateProject
6645// API call, and error handling.
6646//
6647// This method is useful when you want to inject custom logic or configuration
6648// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6649//
6650//
6651//    // Example sending a request using the UpdateProjectRequest method.
6652//    req, resp := client.UpdateProjectRequest(params)
6653//
6654//    err := req.Send()
6655//    if err == nil { // resp is now filled
6656//        fmt.Println(resp)
6657//    }
6658//
6659// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateProject
6660func (c *IoTSiteWise) UpdateProjectRequest(input *UpdateProjectInput) (req *request.Request, output *UpdateProjectOutput) {
6661	op := &request.Operation{
6662		Name:       opUpdateProject,
6663		HTTPMethod: "PUT",
6664		HTTPPath:   "/projects/{projectId}",
6665	}
6666
6667	if input == nil {
6668		input = &UpdateProjectInput{}
6669	}
6670
6671	output = &UpdateProjectOutput{}
6672	req = c.newRequest(op, input, output)
6673	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6674	req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("monitor.", nil))
6675	req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler)
6676	return
6677}
6678
6679// UpdateProject API operation for AWS IoT SiteWise.
6680//
6681// Updates an AWS IoT SiteWise Monitor project.
6682//
6683// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6684// with awserr.Error's Code and Message methods to get detailed information about
6685// the error.
6686//
6687// See the AWS API reference guide for AWS IoT SiteWise's
6688// API operation UpdateProject for usage and error information.
6689//
6690// Returned Error Types:
6691//   * InvalidRequestException
6692//   The request isn't valid. This can occur if your request contains malformed
6693//   JSON or unsupported characters. Check your request and try again.
6694//
6695//   * ResourceNotFoundException
6696//   The requested resource can't be found.
6697//
6698//   * InternalFailureException
6699//   AWS IoT SiteWise can't process your request right now. Try again later.
6700//
6701//   * ThrottlingException
6702//   Your request exceeded a rate limit. For example, you might have exceeded
6703//   the number of AWS IoT SiteWise assets that can be created per second, the
6704//   allowed number of messages per second, and so on.
6705//
6706//   For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
6707//   in the AWS IoT SiteWise User Guide.
6708//
6709// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/UpdateProject
6710func (c *IoTSiteWise) UpdateProject(input *UpdateProjectInput) (*UpdateProjectOutput, error) {
6711	req, out := c.UpdateProjectRequest(input)
6712	return out, req.Send()
6713}
6714
6715// UpdateProjectWithContext is the same as UpdateProject with the addition of
6716// the ability to pass a context and additional request options.
6717//
6718// See UpdateProject for details on how to use this API operation.
6719//
6720// The context must be non-nil and will be used for request cancellation. If
6721// the context is nil a panic will occur. In the future the SDK may create
6722// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6723// for more information on using Contexts.
6724func (c *IoTSiteWise) UpdateProjectWithContext(ctx aws.Context, input *UpdateProjectInput, opts ...request.Option) (*UpdateProjectOutput, error) {
6725	req, out := c.UpdateProjectRequest(input)
6726	req.SetContext(ctx)
6727	req.ApplyOptions(opts...)
6728	return out, req.Send()
6729}
6730
6731// Contains an access policy that defines an identity's access to an AWS IoT
6732// SiteWise Monitor resource.
6733type AccessPolicySummary struct {
6734	_ struct{} `type:"structure"`
6735
6736	// The date the access policy was created, in Unix epoch time.
6737	CreationDate *time.Time `locationName:"creationDate" type:"timestamp"`
6738
6739	// The ID of the access policy.
6740	//
6741	// Id is a required field
6742	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
6743
6744	// The identity (an AWS SSO user, an AWS SSO group, or an IAM user).
6745	//
6746	// Identity is a required field
6747	Identity *Identity `locationName:"identity" type:"structure" required:"true"`
6748
6749	// The date the access policy was last updated, in Unix epoch time.
6750	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp"`
6751
6752	// The permissions for the access policy. Note that a project ADMINISTRATOR
6753	// is also known as a project owner.
6754	//
6755	// Permission is a required field
6756	Permission *string `locationName:"permission" type:"string" required:"true" enum:"Permission"`
6757
6758	// The AWS IoT SiteWise Monitor resource (a portal or project).
6759	//
6760	// Resource is a required field
6761	Resource *Resource `locationName:"resource" type:"structure" required:"true"`
6762}
6763
6764// String returns the string representation
6765func (s AccessPolicySummary) String() string {
6766	return awsutil.Prettify(s)
6767}
6768
6769// GoString returns the string representation
6770func (s AccessPolicySummary) GoString() string {
6771	return s.String()
6772}
6773
6774// SetCreationDate sets the CreationDate field's value.
6775func (s *AccessPolicySummary) SetCreationDate(v time.Time) *AccessPolicySummary {
6776	s.CreationDate = &v
6777	return s
6778}
6779
6780// SetId sets the Id field's value.
6781func (s *AccessPolicySummary) SetId(v string) *AccessPolicySummary {
6782	s.Id = &v
6783	return s
6784}
6785
6786// SetIdentity sets the Identity field's value.
6787func (s *AccessPolicySummary) SetIdentity(v *Identity) *AccessPolicySummary {
6788	s.Identity = v
6789	return s
6790}
6791
6792// SetLastUpdateDate sets the LastUpdateDate field's value.
6793func (s *AccessPolicySummary) SetLastUpdateDate(v time.Time) *AccessPolicySummary {
6794	s.LastUpdateDate = &v
6795	return s
6796}
6797
6798// SetPermission sets the Permission field's value.
6799func (s *AccessPolicySummary) SetPermission(v string) *AccessPolicySummary {
6800	s.Permission = &v
6801	return s
6802}
6803
6804// SetResource sets the Resource field's value.
6805func (s *AccessPolicySummary) SetResource(v *Resource) *AccessPolicySummary {
6806	s.Resource = v
6807	return s
6808}
6809
6810// Contains aggregated asset property values (for example, average, minimum,
6811// and maximum).
6812type AggregatedValue struct {
6813	_ struct{} `type:"structure"`
6814
6815	// The quality of the aggregated data.
6816	Quality *string `locationName:"quality" type:"string" enum:"Quality"`
6817
6818	// The date the aggregating computations occurred, in Unix epoch time.
6819	//
6820	// Timestamp is a required field
6821	Timestamp *time.Time `locationName:"timestamp" type:"timestamp" required:"true"`
6822
6823	// The value of the aggregates.
6824	//
6825	// Value is a required field
6826	Value *Aggregates `locationName:"value" type:"structure" required:"true"`
6827}
6828
6829// String returns the string representation
6830func (s AggregatedValue) String() string {
6831	return awsutil.Prettify(s)
6832}
6833
6834// GoString returns the string representation
6835func (s AggregatedValue) GoString() string {
6836	return s.String()
6837}
6838
6839// SetQuality sets the Quality field's value.
6840func (s *AggregatedValue) SetQuality(v string) *AggregatedValue {
6841	s.Quality = &v
6842	return s
6843}
6844
6845// SetTimestamp sets the Timestamp field's value.
6846func (s *AggregatedValue) SetTimestamp(v time.Time) *AggregatedValue {
6847	s.Timestamp = &v
6848	return s
6849}
6850
6851// SetValue sets the Value field's value.
6852func (s *AggregatedValue) SetValue(v *Aggregates) *AggregatedValue {
6853	s.Value = v
6854	return s
6855}
6856
6857// Contains the (pre-calculated) aggregate values for an asset property.
6858type Aggregates struct {
6859	_ struct{} `type:"structure"`
6860
6861	// The average (mean) value of the time series over a time interval window.
6862	Average *float64 `locationName:"average" type:"double"`
6863
6864	// The count of data points in the time series over a time interval window.
6865	Count *float64 `locationName:"count" type:"double"`
6866
6867	// The maximum value of the time series over a time interval window.
6868	Maximum *float64 `locationName:"maximum" type:"double"`
6869
6870	// The minimum value of the time series over a time interval window.
6871	Minimum *float64 `locationName:"minimum" type:"double"`
6872
6873	// The standard deviation of the time series over a time interval window.
6874	StandardDeviation *float64 `locationName:"standardDeviation" type:"double"`
6875
6876	// The sum of the time series over a time interval window.
6877	Sum *float64 `locationName:"sum" type:"double"`
6878}
6879
6880// String returns the string representation
6881func (s Aggregates) String() string {
6882	return awsutil.Prettify(s)
6883}
6884
6885// GoString returns the string representation
6886func (s Aggregates) GoString() string {
6887	return s.String()
6888}
6889
6890// SetAverage sets the Average field's value.
6891func (s *Aggregates) SetAverage(v float64) *Aggregates {
6892	s.Average = &v
6893	return s
6894}
6895
6896// SetCount sets the Count field's value.
6897func (s *Aggregates) SetCount(v float64) *Aggregates {
6898	s.Count = &v
6899	return s
6900}
6901
6902// SetMaximum sets the Maximum field's value.
6903func (s *Aggregates) SetMaximum(v float64) *Aggregates {
6904	s.Maximum = &v
6905	return s
6906}
6907
6908// SetMinimum sets the Minimum field's value.
6909func (s *Aggregates) SetMinimum(v float64) *Aggregates {
6910	s.Minimum = &v
6911	return s
6912}
6913
6914// SetStandardDeviation sets the StandardDeviation field's value.
6915func (s *Aggregates) SetStandardDeviation(v float64) *Aggregates {
6916	s.StandardDeviation = &v
6917	return s
6918}
6919
6920// SetSum sets the Sum field's value.
6921func (s *Aggregates) SetSum(v float64) *Aggregates {
6922	s.Sum = &v
6923	return s
6924}
6925
6926// Contains information about a composite model in an asset. This object contains
6927// the asset's properties that you define in the composite model.
6928type AssetCompositeModel struct {
6929	_ struct{} `type:"structure"`
6930
6931	// The description of the composite model.
6932	Description *string `locationName:"description" min:"1" type:"string"`
6933
6934	// The name of the composite model.
6935	//
6936	// Name is a required field
6937	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6938
6939	// The asset properties that this composite model defines.
6940	//
6941	// Properties is a required field
6942	Properties []*AssetProperty `locationName:"properties" type:"list" required:"true"`
6943
6944	// The type of the composite model. For alarm composite models, this type is
6945	// AWS/ALARM.
6946	//
6947	// Type is a required field
6948	Type *string `locationName:"type" min:"1" type:"string" required:"true"`
6949}
6950
6951// String returns the string representation
6952func (s AssetCompositeModel) String() string {
6953	return awsutil.Prettify(s)
6954}
6955
6956// GoString returns the string representation
6957func (s AssetCompositeModel) GoString() string {
6958	return s.String()
6959}
6960
6961// SetDescription sets the Description field's value.
6962func (s *AssetCompositeModel) SetDescription(v string) *AssetCompositeModel {
6963	s.Description = &v
6964	return s
6965}
6966
6967// SetName sets the Name field's value.
6968func (s *AssetCompositeModel) SetName(v string) *AssetCompositeModel {
6969	s.Name = &v
6970	return s
6971}
6972
6973// SetProperties sets the Properties field's value.
6974func (s *AssetCompositeModel) SetProperties(v []*AssetProperty) *AssetCompositeModel {
6975	s.Properties = v
6976	return s
6977}
6978
6979// SetType sets the Type field's value.
6980func (s *AssetCompositeModel) SetType(v string) *AssetCompositeModel {
6981	s.Type = &v
6982	return s
6983}
6984
6985// Contains error details for the requested associate project asset action.
6986type AssetErrorDetails struct {
6987	_ struct{} `type:"structure"`
6988
6989	// The ID of the asset.
6990	//
6991	// AssetId is a required field
6992	AssetId *string `locationName:"assetId" min:"36" type:"string" required:"true"`
6993
6994	// The error code.
6995	//
6996	// Code is a required field
6997	Code *string `locationName:"code" type:"string" required:"true" enum:"AssetErrorCode"`
6998
6999	// The error message.
7000	//
7001	// Message is a required field
7002	Message *string `locationName:"message" type:"string" required:"true"`
7003}
7004
7005// String returns the string representation
7006func (s AssetErrorDetails) String() string {
7007	return awsutil.Prettify(s)
7008}
7009
7010// GoString returns the string representation
7011func (s AssetErrorDetails) GoString() string {
7012	return s.String()
7013}
7014
7015// SetAssetId sets the AssetId field's value.
7016func (s *AssetErrorDetails) SetAssetId(v string) *AssetErrorDetails {
7017	s.AssetId = &v
7018	return s
7019}
7020
7021// SetCode sets the Code field's value.
7022func (s *AssetErrorDetails) SetCode(v string) *AssetErrorDetails {
7023	s.Code = &v
7024	return s
7025}
7026
7027// SetMessage sets the Message field's value.
7028func (s *AssetErrorDetails) SetMessage(v string) *AssetErrorDetails {
7029	s.Message = &v
7030	return s
7031}
7032
7033// Describes an asset hierarchy that contains a hierarchy's name and ID.
7034type AssetHierarchy struct {
7035	_ struct{} `type:"structure"`
7036
7037	// The ID of the hierarchy. This ID is a hierarchyId.
7038	Id *string `locationName:"id" min:"36" type:"string"`
7039
7040	// The hierarchy name provided in the CreateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html)
7041	// or UpdateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html)
7042	// API operation.
7043	//
7044	// Name is a required field
7045	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7046}
7047
7048// String returns the string representation
7049func (s AssetHierarchy) String() string {
7050	return awsutil.Prettify(s)
7051}
7052
7053// GoString returns the string representation
7054func (s AssetHierarchy) GoString() string {
7055	return s.String()
7056}
7057
7058// SetId sets the Id field's value.
7059func (s *AssetHierarchy) SetId(v string) *AssetHierarchy {
7060	s.Id = &v
7061	return s
7062}
7063
7064// SetName sets the Name field's value.
7065func (s *AssetHierarchy) SetName(v string) *AssetHierarchy {
7066	s.Name = &v
7067	return s
7068}
7069
7070// Contains information about a parent asset and a child asset that are related
7071// through an asset hierarchy.
7072type AssetHierarchyInfo struct {
7073	_ struct{} `type:"structure"`
7074
7075	// The ID of the child asset in this asset relationship.
7076	ChildAssetId *string `locationName:"childAssetId" min:"36" type:"string"`
7077
7078	// The ID of the parent asset in this asset relationship.
7079	ParentAssetId *string `locationName:"parentAssetId" min:"36" type:"string"`
7080}
7081
7082// String returns the string representation
7083func (s AssetHierarchyInfo) String() string {
7084	return awsutil.Prettify(s)
7085}
7086
7087// GoString returns the string representation
7088func (s AssetHierarchyInfo) GoString() string {
7089	return s.String()
7090}
7091
7092// SetChildAssetId sets the ChildAssetId field's value.
7093func (s *AssetHierarchyInfo) SetChildAssetId(v string) *AssetHierarchyInfo {
7094	s.ChildAssetId = &v
7095	return s
7096}
7097
7098// SetParentAssetId sets the ParentAssetId field's value.
7099func (s *AssetHierarchyInfo) SetParentAssetId(v string) *AssetHierarchyInfo {
7100	s.ParentAssetId = &v
7101	return s
7102}
7103
7104// Contains information about a composite model in an asset model. This object
7105// contains the asset property definitions that you define in the composite
7106// model.
7107type AssetModelCompositeModel struct {
7108	_ struct{} `type:"structure"`
7109
7110	// The description of the composite model.
7111	Description *string `locationName:"description" min:"1" type:"string"`
7112
7113	// The name of the composite model.
7114	//
7115	// Name is a required field
7116	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7117
7118	// The asset property definitions for this composite model.
7119	Properties []*AssetModelProperty `locationName:"properties" type:"list"`
7120
7121	// The type of the composite model. For alarm composite models, this type is
7122	// AWS/ALARM.
7123	//
7124	// Type is a required field
7125	Type *string `locationName:"type" min:"1" type:"string" required:"true"`
7126}
7127
7128// String returns the string representation
7129func (s AssetModelCompositeModel) String() string {
7130	return awsutil.Prettify(s)
7131}
7132
7133// GoString returns the string representation
7134func (s AssetModelCompositeModel) GoString() string {
7135	return s.String()
7136}
7137
7138// Validate inspects the fields of the type to determine if they are valid.
7139func (s *AssetModelCompositeModel) Validate() error {
7140	invalidParams := request.ErrInvalidParams{Context: "AssetModelCompositeModel"}
7141	if s.Description != nil && len(*s.Description) < 1 {
7142		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
7143	}
7144	if s.Name == nil {
7145		invalidParams.Add(request.NewErrParamRequired("Name"))
7146	}
7147	if s.Name != nil && len(*s.Name) < 1 {
7148		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7149	}
7150	if s.Type == nil {
7151		invalidParams.Add(request.NewErrParamRequired("Type"))
7152	}
7153	if s.Type != nil && len(*s.Type) < 1 {
7154		invalidParams.Add(request.NewErrParamMinLen("Type", 1))
7155	}
7156	if s.Properties != nil {
7157		for i, v := range s.Properties {
7158			if v == nil {
7159				continue
7160			}
7161			if err := v.Validate(); err != nil {
7162				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Properties", i), err.(request.ErrInvalidParams))
7163			}
7164		}
7165	}
7166
7167	if invalidParams.Len() > 0 {
7168		return invalidParams
7169	}
7170	return nil
7171}
7172
7173// SetDescription sets the Description field's value.
7174func (s *AssetModelCompositeModel) SetDescription(v string) *AssetModelCompositeModel {
7175	s.Description = &v
7176	return s
7177}
7178
7179// SetName sets the Name field's value.
7180func (s *AssetModelCompositeModel) SetName(v string) *AssetModelCompositeModel {
7181	s.Name = &v
7182	return s
7183}
7184
7185// SetProperties sets the Properties field's value.
7186func (s *AssetModelCompositeModel) SetProperties(v []*AssetModelProperty) *AssetModelCompositeModel {
7187	s.Properties = v
7188	return s
7189}
7190
7191// SetType sets the Type field's value.
7192func (s *AssetModelCompositeModel) SetType(v string) *AssetModelCompositeModel {
7193	s.Type = &v
7194	return s
7195}
7196
7197// Contains a composite model definition in an asset model. This composite model
7198// definition is applied to all assets created from the asset model.
7199type AssetModelCompositeModelDefinition struct {
7200	_ struct{} `type:"structure"`
7201
7202	// The description of the composite model.
7203	Description *string `locationName:"description" min:"1" type:"string"`
7204
7205	// The name of the composite model.
7206	//
7207	// Name is a required field
7208	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7209
7210	// The asset property definitions for this composite model.
7211	Properties []*AssetModelPropertyDefinition `locationName:"properties" type:"list"`
7212
7213	// The type of the composite model. For alarm composite models, this type is
7214	// AWS/ALARM.
7215	//
7216	// Type is a required field
7217	Type *string `locationName:"type" min:"1" type:"string" required:"true"`
7218}
7219
7220// String returns the string representation
7221func (s AssetModelCompositeModelDefinition) String() string {
7222	return awsutil.Prettify(s)
7223}
7224
7225// GoString returns the string representation
7226func (s AssetModelCompositeModelDefinition) GoString() string {
7227	return s.String()
7228}
7229
7230// Validate inspects the fields of the type to determine if they are valid.
7231func (s *AssetModelCompositeModelDefinition) Validate() error {
7232	invalidParams := request.ErrInvalidParams{Context: "AssetModelCompositeModelDefinition"}
7233	if s.Description != nil && len(*s.Description) < 1 {
7234		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
7235	}
7236	if s.Name == nil {
7237		invalidParams.Add(request.NewErrParamRequired("Name"))
7238	}
7239	if s.Name != nil && len(*s.Name) < 1 {
7240		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7241	}
7242	if s.Type == nil {
7243		invalidParams.Add(request.NewErrParamRequired("Type"))
7244	}
7245	if s.Type != nil && len(*s.Type) < 1 {
7246		invalidParams.Add(request.NewErrParamMinLen("Type", 1))
7247	}
7248	if s.Properties != nil {
7249		for i, v := range s.Properties {
7250			if v == nil {
7251				continue
7252			}
7253			if err := v.Validate(); err != nil {
7254				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Properties", i), err.(request.ErrInvalidParams))
7255			}
7256		}
7257	}
7258
7259	if invalidParams.Len() > 0 {
7260		return invalidParams
7261	}
7262	return nil
7263}
7264
7265// SetDescription sets the Description field's value.
7266func (s *AssetModelCompositeModelDefinition) SetDescription(v string) *AssetModelCompositeModelDefinition {
7267	s.Description = &v
7268	return s
7269}
7270
7271// SetName sets the Name field's value.
7272func (s *AssetModelCompositeModelDefinition) SetName(v string) *AssetModelCompositeModelDefinition {
7273	s.Name = &v
7274	return s
7275}
7276
7277// SetProperties sets the Properties field's value.
7278func (s *AssetModelCompositeModelDefinition) SetProperties(v []*AssetModelPropertyDefinition) *AssetModelCompositeModelDefinition {
7279	s.Properties = v
7280	return s
7281}
7282
7283// SetType sets the Type field's value.
7284func (s *AssetModelCompositeModelDefinition) SetType(v string) *AssetModelCompositeModelDefinition {
7285	s.Type = &v
7286	return s
7287}
7288
7289// Describes an asset hierarchy that contains a hierarchy's name, ID, and child
7290// asset model ID that specifies the type of asset that can be in this hierarchy.
7291type AssetModelHierarchy struct {
7292	_ struct{} `type:"structure"`
7293
7294	// The ID of the asset model. All assets in this hierarchy must be instances
7295	// of the childAssetModelId asset model.
7296	//
7297	// ChildAssetModelId is a required field
7298	ChildAssetModelId *string `locationName:"childAssetModelId" min:"36" type:"string" required:"true"`
7299
7300	// The ID of the asset model hierarchy. This ID is a hierarchyId.
7301	Id *string `locationName:"id" min:"36" type:"string"`
7302
7303	// The name of the asset model hierarchy that you specify by using the CreateAssetModel
7304	// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html)
7305	// or UpdateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html)
7306	// API operation.
7307	//
7308	// Name is a required field
7309	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7310}
7311
7312// String returns the string representation
7313func (s AssetModelHierarchy) String() string {
7314	return awsutil.Prettify(s)
7315}
7316
7317// GoString returns the string representation
7318func (s AssetModelHierarchy) GoString() string {
7319	return s.String()
7320}
7321
7322// Validate inspects the fields of the type to determine if they are valid.
7323func (s *AssetModelHierarchy) Validate() error {
7324	invalidParams := request.ErrInvalidParams{Context: "AssetModelHierarchy"}
7325	if s.ChildAssetModelId == nil {
7326		invalidParams.Add(request.NewErrParamRequired("ChildAssetModelId"))
7327	}
7328	if s.ChildAssetModelId != nil && len(*s.ChildAssetModelId) < 36 {
7329		invalidParams.Add(request.NewErrParamMinLen("ChildAssetModelId", 36))
7330	}
7331	if s.Id != nil && len(*s.Id) < 36 {
7332		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
7333	}
7334	if s.Name == nil {
7335		invalidParams.Add(request.NewErrParamRequired("Name"))
7336	}
7337	if s.Name != nil && len(*s.Name) < 1 {
7338		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7339	}
7340
7341	if invalidParams.Len() > 0 {
7342		return invalidParams
7343	}
7344	return nil
7345}
7346
7347// SetChildAssetModelId sets the ChildAssetModelId field's value.
7348func (s *AssetModelHierarchy) SetChildAssetModelId(v string) *AssetModelHierarchy {
7349	s.ChildAssetModelId = &v
7350	return s
7351}
7352
7353// SetId sets the Id field's value.
7354func (s *AssetModelHierarchy) SetId(v string) *AssetModelHierarchy {
7355	s.Id = &v
7356	return s
7357}
7358
7359// SetName sets the Name field's value.
7360func (s *AssetModelHierarchy) SetName(v string) *AssetModelHierarchy {
7361	s.Name = &v
7362	return s
7363}
7364
7365// Contains an asset model hierarchy used in asset model creation. An asset
7366// model hierarchy determines the kind (or type) of asset that can belong to
7367// a hierarchy.
7368type AssetModelHierarchyDefinition struct {
7369	_ struct{} `type:"structure"`
7370
7371	// The ID of an asset model for this hierarchy.
7372	//
7373	// ChildAssetModelId is a required field
7374	ChildAssetModelId *string `locationName:"childAssetModelId" min:"36" type:"string" required:"true"`
7375
7376	// The name of the asset model hierarchy definition (as specified in the CreateAssetModel
7377	// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html)
7378	// or UpdateAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetModel.html)
7379	// API operation).
7380	//
7381	// Name is a required field
7382	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7383}
7384
7385// String returns the string representation
7386func (s AssetModelHierarchyDefinition) String() string {
7387	return awsutil.Prettify(s)
7388}
7389
7390// GoString returns the string representation
7391func (s AssetModelHierarchyDefinition) GoString() string {
7392	return s.String()
7393}
7394
7395// Validate inspects the fields of the type to determine if they are valid.
7396func (s *AssetModelHierarchyDefinition) Validate() error {
7397	invalidParams := request.ErrInvalidParams{Context: "AssetModelHierarchyDefinition"}
7398	if s.ChildAssetModelId == nil {
7399		invalidParams.Add(request.NewErrParamRequired("ChildAssetModelId"))
7400	}
7401	if s.ChildAssetModelId != nil && len(*s.ChildAssetModelId) < 36 {
7402		invalidParams.Add(request.NewErrParamMinLen("ChildAssetModelId", 36))
7403	}
7404	if s.Name == nil {
7405		invalidParams.Add(request.NewErrParamRequired("Name"))
7406	}
7407	if s.Name != nil && len(*s.Name) < 1 {
7408		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7409	}
7410
7411	if invalidParams.Len() > 0 {
7412		return invalidParams
7413	}
7414	return nil
7415}
7416
7417// SetChildAssetModelId sets the ChildAssetModelId field's value.
7418func (s *AssetModelHierarchyDefinition) SetChildAssetModelId(v string) *AssetModelHierarchyDefinition {
7419	s.ChildAssetModelId = &v
7420	return s
7421}
7422
7423// SetName sets the Name field's value.
7424func (s *AssetModelHierarchyDefinition) SetName(v string) *AssetModelHierarchyDefinition {
7425	s.Name = &v
7426	return s
7427}
7428
7429// Contains information about an asset model property.
7430type AssetModelProperty struct {
7431	_ struct{} `type:"structure"`
7432
7433	// The data type of the asset model property.
7434	//
7435	// DataType is a required field
7436	DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"`
7437
7438	// The data type of the structure for this property. This parameter exists on
7439	// properties that have the STRUCT data type.
7440	DataTypeSpec *string `locationName:"dataTypeSpec" min:"1" type:"string"`
7441
7442	// The ID of the asset model property.
7443	Id *string `locationName:"id" min:"36" type:"string"`
7444
7445	// The name of the asset model property.
7446	//
7447	// Name is a required field
7448	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7449
7450	// The property type (see PropertyType).
7451	//
7452	// Type is a required field
7453	Type *PropertyType `locationName:"type" type:"structure" required:"true"`
7454
7455	// The unit of the asset model property, such as Newtons or RPM.
7456	Unit *string `locationName:"unit" min:"1" type:"string"`
7457}
7458
7459// String returns the string representation
7460func (s AssetModelProperty) String() string {
7461	return awsutil.Prettify(s)
7462}
7463
7464// GoString returns the string representation
7465func (s AssetModelProperty) GoString() string {
7466	return s.String()
7467}
7468
7469// Validate inspects the fields of the type to determine if they are valid.
7470func (s *AssetModelProperty) Validate() error {
7471	invalidParams := request.ErrInvalidParams{Context: "AssetModelProperty"}
7472	if s.DataType == nil {
7473		invalidParams.Add(request.NewErrParamRequired("DataType"))
7474	}
7475	if s.DataTypeSpec != nil && len(*s.DataTypeSpec) < 1 {
7476		invalidParams.Add(request.NewErrParamMinLen("DataTypeSpec", 1))
7477	}
7478	if s.Id != nil && len(*s.Id) < 36 {
7479		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
7480	}
7481	if s.Name == nil {
7482		invalidParams.Add(request.NewErrParamRequired("Name"))
7483	}
7484	if s.Name != nil && len(*s.Name) < 1 {
7485		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7486	}
7487	if s.Type == nil {
7488		invalidParams.Add(request.NewErrParamRequired("Type"))
7489	}
7490	if s.Unit != nil && len(*s.Unit) < 1 {
7491		invalidParams.Add(request.NewErrParamMinLen("Unit", 1))
7492	}
7493	if s.Type != nil {
7494		if err := s.Type.Validate(); err != nil {
7495			invalidParams.AddNested("Type", err.(request.ErrInvalidParams))
7496		}
7497	}
7498
7499	if invalidParams.Len() > 0 {
7500		return invalidParams
7501	}
7502	return nil
7503}
7504
7505// SetDataType sets the DataType field's value.
7506func (s *AssetModelProperty) SetDataType(v string) *AssetModelProperty {
7507	s.DataType = &v
7508	return s
7509}
7510
7511// SetDataTypeSpec sets the DataTypeSpec field's value.
7512func (s *AssetModelProperty) SetDataTypeSpec(v string) *AssetModelProperty {
7513	s.DataTypeSpec = &v
7514	return s
7515}
7516
7517// SetId sets the Id field's value.
7518func (s *AssetModelProperty) SetId(v string) *AssetModelProperty {
7519	s.Id = &v
7520	return s
7521}
7522
7523// SetName sets the Name field's value.
7524func (s *AssetModelProperty) SetName(v string) *AssetModelProperty {
7525	s.Name = &v
7526	return s
7527}
7528
7529// SetType sets the Type field's value.
7530func (s *AssetModelProperty) SetType(v *PropertyType) *AssetModelProperty {
7531	s.Type = v
7532	return s
7533}
7534
7535// SetUnit sets the Unit field's value.
7536func (s *AssetModelProperty) SetUnit(v string) *AssetModelProperty {
7537	s.Unit = &v
7538	return s
7539}
7540
7541// Contains an asset model property definition. This property definition is
7542// applied to all assets created from the asset model.
7543type AssetModelPropertyDefinition struct {
7544	_ struct{} `type:"structure"`
7545
7546	// The data type of the property definition.
7547	//
7548	// If you specify STRUCT, you must also specify dataTypeSpec to identify the
7549	// type of the structure for this property.
7550	//
7551	// DataType is a required field
7552	DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"`
7553
7554	// The data type of the structure for this property. This parameter is required
7555	// on properties that have the STRUCT data type.
7556	//
7557	// The options for this parameter depend on the type of the composite model
7558	// in which you define this property. Use AWS/ALARM_STATE for alarm state in
7559	// alarm composite models.
7560	DataTypeSpec *string `locationName:"dataTypeSpec" min:"1" type:"string"`
7561
7562	// The name of the property definition.
7563	//
7564	// Name is a required field
7565	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7566
7567	// The property definition type (see PropertyType). You can only specify one
7568	// type in a property definition.
7569	//
7570	// Type is a required field
7571	Type *PropertyType `locationName:"type" type:"structure" required:"true"`
7572
7573	// The unit of the property definition, such as Newtons or RPM.
7574	Unit *string `locationName:"unit" min:"1" type:"string"`
7575}
7576
7577// String returns the string representation
7578func (s AssetModelPropertyDefinition) String() string {
7579	return awsutil.Prettify(s)
7580}
7581
7582// GoString returns the string representation
7583func (s AssetModelPropertyDefinition) GoString() string {
7584	return s.String()
7585}
7586
7587// Validate inspects the fields of the type to determine if they are valid.
7588func (s *AssetModelPropertyDefinition) Validate() error {
7589	invalidParams := request.ErrInvalidParams{Context: "AssetModelPropertyDefinition"}
7590	if s.DataType == nil {
7591		invalidParams.Add(request.NewErrParamRequired("DataType"))
7592	}
7593	if s.DataTypeSpec != nil && len(*s.DataTypeSpec) < 1 {
7594		invalidParams.Add(request.NewErrParamMinLen("DataTypeSpec", 1))
7595	}
7596	if s.Name == nil {
7597		invalidParams.Add(request.NewErrParamRequired("Name"))
7598	}
7599	if s.Name != nil && len(*s.Name) < 1 {
7600		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7601	}
7602	if s.Type == nil {
7603		invalidParams.Add(request.NewErrParamRequired("Type"))
7604	}
7605	if s.Unit != nil && len(*s.Unit) < 1 {
7606		invalidParams.Add(request.NewErrParamMinLen("Unit", 1))
7607	}
7608	if s.Type != nil {
7609		if err := s.Type.Validate(); err != nil {
7610			invalidParams.AddNested("Type", err.(request.ErrInvalidParams))
7611		}
7612	}
7613
7614	if invalidParams.Len() > 0 {
7615		return invalidParams
7616	}
7617	return nil
7618}
7619
7620// SetDataType sets the DataType field's value.
7621func (s *AssetModelPropertyDefinition) SetDataType(v string) *AssetModelPropertyDefinition {
7622	s.DataType = &v
7623	return s
7624}
7625
7626// SetDataTypeSpec sets the DataTypeSpec field's value.
7627func (s *AssetModelPropertyDefinition) SetDataTypeSpec(v string) *AssetModelPropertyDefinition {
7628	s.DataTypeSpec = &v
7629	return s
7630}
7631
7632// SetName sets the Name field's value.
7633func (s *AssetModelPropertyDefinition) SetName(v string) *AssetModelPropertyDefinition {
7634	s.Name = &v
7635	return s
7636}
7637
7638// SetType sets the Type field's value.
7639func (s *AssetModelPropertyDefinition) SetType(v *PropertyType) *AssetModelPropertyDefinition {
7640	s.Type = v
7641	return s
7642}
7643
7644// SetUnit sets the Unit field's value.
7645func (s *AssetModelPropertyDefinition) SetUnit(v string) *AssetModelPropertyDefinition {
7646	s.Unit = &v
7647	return s
7648}
7649
7650// Contains current status information for an asset model. For more information,
7651// see Asset and model states (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-and-model-states.html)
7652// in the AWS IoT SiteWise User Guide.
7653type AssetModelStatus struct {
7654	_ struct{} `type:"structure"`
7655
7656	// Contains associated error information, if any.
7657	Error *ErrorDetails `locationName:"error" type:"structure"`
7658
7659	// The current state of the asset model.
7660	//
7661	// State is a required field
7662	State *string `locationName:"state" type:"string" required:"true" enum:"AssetModelState"`
7663}
7664
7665// String returns the string representation
7666func (s AssetModelStatus) String() string {
7667	return awsutil.Prettify(s)
7668}
7669
7670// GoString returns the string representation
7671func (s AssetModelStatus) GoString() string {
7672	return s.String()
7673}
7674
7675// SetError sets the Error field's value.
7676func (s *AssetModelStatus) SetError(v *ErrorDetails) *AssetModelStatus {
7677	s.Error = v
7678	return s
7679}
7680
7681// SetState sets the State field's value.
7682func (s *AssetModelStatus) SetState(v string) *AssetModelStatus {
7683	s.State = &v
7684	return s
7685}
7686
7687// Contains a summary of an asset model.
7688type AssetModelSummary struct {
7689	_ struct{} `type:"structure"`
7690
7691	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
7692	// of the asset model, which has the following format.
7693	//
7694	// arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId}
7695	//
7696	// Arn is a required field
7697	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
7698
7699	// The date the asset model was created, in Unix epoch time.
7700	//
7701	// CreationDate is a required field
7702	CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"`
7703
7704	// The asset model description.
7705	//
7706	// Description is a required field
7707	Description *string `locationName:"description" min:"1" type:"string" required:"true"`
7708
7709	// The ID of the asset model (used with AWS IoT SiteWise APIs).
7710	//
7711	// Id is a required field
7712	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
7713
7714	// The date the asset model was last updated, in Unix epoch time.
7715	//
7716	// LastUpdateDate is a required field
7717	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp" required:"true"`
7718
7719	// The name of the asset model.
7720	//
7721	// Name is a required field
7722	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7723
7724	// The current status of the asset model.
7725	//
7726	// Status is a required field
7727	Status *AssetModelStatus `locationName:"status" type:"structure" required:"true"`
7728}
7729
7730// String returns the string representation
7731func (s AssetModelSummary) String() string {
7732	return awsutil.Prettify(s)
7733}
7734
7735// GoString returns the string representation
7736func (s AssetModelSummary) GoString() string {
7737	return s.String()
7738}
7739
7740// SetArn sets the Arn field's value.
7741func (s *AssetModelSummary) SetArn(v string) *AssetModelSummary {
7742	s.Arn = &v
7743	return s
7744}
7745
7746// SetCreationDate sets the CreationDate field's value.
7747func (s *AssetModelSummary) SetCreationDate(v time.Time) *AssetModelSummary {
7748	s.CreationDate = &v
7749	return s
7750}
7751
7752// SetDescription sets the Description field's value.
7753func (s *AssetModelSummary) SetDescription(v string) *AssetModelSummary {
7754	s.Description = &v
7755	return s
7756}
7757
7758// SetId sets the Id field's value.
7759func (s *AssetModelSummary) SetId(v string) *AssetModelSummary {
7760	s.Id = &v
7761	return s
7762}
7763
7764// SetLastUpdateDate sets the LastUpdateDate field's value.
7765func (s *AssetModelSummary) SetLastUpdateDate(v time.Time) *AssetModelSummary {
7766	s.LastUpdateDate = &v
7767	return s
7768}
7769
7770// SetName sets the Name field's value.
7771func (s *AssetModelSummary) SetName(v string) *AssetModelSummary {
7772	s.Name = &v
7773	return s
7774}
7775
7776// SetStatus sets the Status field's value.
7777func (s *AssetModelSummary) SetStatus(v *AssetModelStatus) *AssetModelSummary {
7778	s.Status = v
7779	return s
7780}
7781
7782// Contains asset property information.
7783type AssetProperty struct {
7784	_ struct{} `type:"structure"`
7785
7786	// The property alias that identifies the property, such as an OPC-UA server
7787	// data stream path (for example, /company/windfarm/3/turbine/7/temperature).
7788	// For more information, see Mapping industrial data streams to asset properties
7789	// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
7790	// in the AWS IoT SiteWise User Guide.
7791	Alias *string `locationName:"alias" min:"1" type:"string"`
7792
7793	// The data type of the asset property.
7794	//
7795	// DataType is a required field
7796	DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"`
7797
7798	// The data type of the structure for this property. This parameter exists on
7799	// properties that have the STRUCT data type.
7800	DataTypeSpec *string `locationName:"dataTypeSpec" min:"1" type:"string"`
7801
7802	// The ID of the asset property.
7803	//
7804	// Id is a required field
7805	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
7806
7807	// The name of the property.
7808	//
7809	// Name is a required field
7810	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7811
7812	// The asset property's notification topic and state. For more information,
7813	// see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html).
7814	Notification *PropertyNotification `locationName:"notification" type:"structure"`
7815
7816	// The unit (such as Newtons or RPM) of the asset property.
7817	Unit *string `locationName:"unit" min:"1" type:"string"`
7818}
7819
7820// String returns the string representation
7821func (s AssetProperty) String() string {
7822	return awsutil.Prettify(s)
7823}
7824
7825// GoString returns the string representation
7826func (s AssetProperty) GoString() string {
7827	return s.String()
7828}
7829
7830// SetAlias sets the Alias field's value.
7831func (s *AssetProperty) SetAlias(v string) *AssetProperty {
7832	s.Alias = &v
7833	return s
7834}
7835
7836// SetDataType sets the DataType field's value.
7837func (s *AssetProperty) SetDataType(v string) *AssetProperty {
7838	s.DataType = &v
7839	return s
7840}
7841
7842// SetDataTypeSpec sets the DataTypeSpec field's value.
7843func (s *AssetProperty) SetDataTypeSpec(v string) *AssetProperty {
7844	s.DataTypeSpec = &v
7845	return s
7846}
7847
7848// SetId sets the Id field's value.
7849func (s *AssetProperty) SetId(v string) *AssetProperty {
7850	s.Id = &v
7851	return s
7852}
7853
7854// SetName sets the Name field's value.
7855func (s *AssetProperty) SetName(v string) *AssetProperty {
7856	s.Name = &v
7857	return s
7858}
7859
7860// SetNotification sets the Notification field's value.
7861func (s *AssetProperty) SetNotification(v *PropertyNotification) *AssetProperty {
7862	s.Notification = v
7863	return s
7864}
7865
7866// SetUnit sets the Unit field's value.
7867func (s *AssetProperty) SetUnit(v string) *AssetProperty {
7868	s.Unit = &v
7869	return s
7870}
7871
7872// Contains asset property value information.
7873type AssetPropertyValue struct {
7874	_ struct{} `type:"structure"`
7875
7876	// The quality of the asset property value.
7877	Quality *string `locationName:"quality" type:"string" enum:"Quality"`
7878
7879	// The timestamp of the asset property value.
7880	//
7881	// Timestamp is a required field
7882	Timestamp *TimeInNanos `locationName:"timestamp" type:"structure" required:"true"`
7883
7884	// The value of the asset property (see Variant).
7885	//
7886	// Value is a required field
7887	Value *Variant `locationName:"value" type:"structure" required:"true"`
7888}
7889
7890// String returns the string representation
7891func (s AssetPropertyValue) String() string {
7892	return awsutil.Prettify(s)
7893}
7894
7895// GoString returns the string representation
7896func (s AssetPropertyValue) GoString() string {
7897	return s.String()
7898}
7899
7900// Validate inspects the fields of the type to determine if they are valid.
7901func (s *AssetPropertyValue) Validate() error {
7902	invalidParams := request.ErrInvalidParams{Context: "AssetPropertyValue"}
7903	if s.Timestamp == nil {
7904		invalidParams.Add(request.NewErrParamRequired("Timestamp"))
7905	}
7906	if s.Value == nil {
7907		invalidParams.Add(request.NewErrParamRequired("Value"))
7908	}
7909	if s.Timestamp != nil {
7910		if err := s.Timestamp.Validate(); err != nil {
7911			invalidParams.AddNested("Timestamp", err.(request.ErrInvalidParams))
7912		}
7913	}
7914
7915	if invalidParams.Len() > 0 {
7916		return invalidParams
7917	}
7918	return nil
7919}
7920
7921// SetQuality sets the Quality field's value.
7922func (s *AssetPropertyValue) SetQuality(v string) *AssetPropertyValue {
7923	s.Quality = &v
7924	return s
7925}
7926
7927// SetTimestamp sets the Timestamp field's value.
7928func (s *AssetPropertyValue) SetTimestamp(v *TimeInNanos) *AssetPropertyValue {
7929	s.Timestamp = v
7930	return s
7931}
7932
7933// SetValue sets the Value field's value.
7934func (s *AssetPropertyValue) SetValue(v *Variant) *AssetPropertyValue {
7935	s.Value = v
7936	return s
7937}
7938
7939// Contains information about assets that are related to one another.
7940type AssetRelationshipSummary struct {
7941	_ struct{} `type:"structure"`
7942
7943	// The assets that are related through an asset hierarchy.
7944	//
7945	// This object is present if the relationshipType is HIERARCHY.
7946	HierarchyInfo *AssetHierarchyInfo `locationName:"hierarchyInfo" type:"structure"`
7947
7948	// The relationship type of the assets in this relationship. This value is one
7949	// of the following:
7950	//
7951	//    * HIERARCHY – The assets are related through an asset hierarchy. If
7952	//    you specify this relationship type, this asset relationship includes the
7953	//    hierarchyInfo object.
7954	//
7955	// RelationshipType is a required field
7956	RelationshipType *string `locationName:"relationshipType" type:"string" required:"true" enum:"AssetRelationshipType"`
7957}
7958
7959// String returns the string representation
7960func (s AssetRelationshipSummary) String() string {
7961	return awsutil.Prettify(s)
7962}
7963
7964// GoString returns the string representation
7965func (s AssetRelationshipSummary) GoString() string {
7966	return s.String()
7967}
7968
7969// SetHierarchyInfo sets the HierarchyInfo field's value.
7970func (s *AssetRelationshipSummary) SetHierarchyInfo(v *AssetHierarchyInfo) *AssetRelationshipSummary {
7971	s.HierarchyInfo = v
7972	return s
7973}
7974
7975// SetRelationshipType sets the RelationshipType field's value.
7976func (s *AssetRelationshipSummary) SetRelationshipType(v string) *AssetRelationshipSummary {
7977	s.RelationshipType = &v
7978	return s
7979}
7980
7981// Contains information about the current status of an asset. For more information,
7982// see Asset and model states (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-and-model-states.html)
7983// in the AWS IoT SiteWise User Guide.
7984type AssetStatus struct {
7985	_ struct{} `type:"structure"`
7986
7987	// Contains associated error information, if any.
7988	Error *ErrorDetails `locationName:"error" type:"structure"`
7989
7990	// The current status of the asset.
7991	//
7992	// State is a required field
7993	State *string `locationName:"state" type:"string" required:"true" enum:"AssetState"`
7994}
7995
7996// String returns the string representation
7997func (s AssetStatus) String() string {
7998	return awsutil.Prettify(s)
7999}
8000
8001// GoString returns the string representation
8002func (s AssetStatus) GoString() string {
8003	return s.String()
8004}
8005
8006// SetError sets the Error field's value.
8007func (s *AssetStatus) SetError(v *ErrorDetails) *AssetStatus {
8008	s.Error = v
8009	return s
8010}
8011
8012// SetState sets the State field's value.
8013func (s *AssetStatus) SetState(v string) *AssetStatus {
8014	s.State = &v
8015	return s
8016}
8017
8018// Contains a summary of an asset.
8019type AssetSummary struct {
8020	_ struct{} `type:"structure"`
8021
8022	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
8023	// of the asset, which has the following format.
8024	//
8025	// arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}
8026	//
8027	// Arn is a required field
8028	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
8029
8030	// The ID of the asset model used to create this asset.
8031	//
8032	// AssetModelId is a required field
8033	AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"`
8034
8035	// The date the asset was created, in Unix epoch time.
8036	//
8037	// CreationDate is a required field
8038	CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"`
8039
8040	// A list of asset hierarchies that each contain a hierarchyId. A hierarchy
8041	// specifies allowed parent/child asset relationships.
8042	//
8043	// Hierarchies is a required field
8044	Hierarchies []*AssetHierarchy `locationName:"hierarchies" type:"list" required:"true"`
8045
8046	// The ID of the asset.
8047	//
8048	// Id is a required field
8049	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
8050
8051	// The date the asset was last updated, in Unix epoch time.
8052	//
8053	// LastUpdateDate is a required field
8054	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp" required:"true"`
8055
8056	// The name of the asset.
8057	//
8058	// Name is a required field
8059	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
8060
8061	// The current status of the asset.
8062	//
8063	// Status is a required field
8064	Status *AssetStatus `locationName:"status" type:"structure" required:"true"`
8065}
8066
8067// String returns the string representation
8068func (s AssetSummary) String() string {
8069	return awsutil.Prettify(s)
8070}
8071
8072// GoString returns the string representation
8073func (s AssetSummary) GoString() string {
8074	return s.String()
8075}
8076
8077// SetArn sets the Arn field's value.
8078func (s *AssetSummary) SetArn(v string) *AssetSummary {
8079	s.Arn = &v
8080	return s
8081}
8082
8083// SetAssetModelId sets the AssetModelId field's value.
8084func (s *AssetSummary) SetAssetModelId(v string) *AssetSummary {
8085	s.AssetModelId = &v
8086	return s
8087}
8088
8089// SetCreationDate sets the CreationDate field's value.
8090func (s *AssetSummary) SetCreationDate(v time.Time) *AssetSummary {
8091	s.CreationDate = &v
8092	return s
8093}
8094
8095// SetHierarchies sets the Hierarchies field's value.
8096func (s *AssetSummary) SetHierarchies(v []*AssetHierarchy) *AssetSummary {
8097	s.Hierarchies = v
8098	return s
8099}
8100
8101// SetId sets the Id field's value.
8102func (s *AssetSummary) SetId(v string) *AssetSummary {
8103	s.Id = &v
8104	return s
8105}
8106
8107// SetLastUpdateDate sets the LastUpdateDate field's value.
8108func (s *AssetSummary) SetLastUpdateDate(v time.Time) *AssetSummary {
8109	s.LastUpdateDate = &v
8110	return s
8111}
8112
8113// SetName sets the Name field's value.
8114func (s *AssetSummary) SetName(v string) *AssetSummary {
8115	s.Name = &v
8116	return s
8117}
8118
8119// SetStatus sets the Status field's value.
8120func (s *AssetSummary) SetStatus(v *AssetStatus) *AssetSummary {
8121	s.Status = v
8122	return s
8123}
8124
8125type AssociateAssetsInput struct {
8126	_ struct{} `type:"structure"`
8127
8128	// The ID of the parent asset.
8129	//
8130	// AssetId is a required field
8131	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
8132
8133	// The ID of the child asset to be associated.
8134	//
8135	// ChildAssetId is a required field
8136	ChildAssetId *string `locationName:"childAssetId" min:"36" type:"string" required:"true"`
8137
8138	// A unique case-sensitive identifier that you can provide to ensure the idempotency
8139	// of the request. Don't reuse this client token if a new idempotent request
8140	// is required.
8141	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
8142
8143	// The ID of a hierarchy in the parent asset's model. Hierarchies allow different
8144	// groupings of assets to be formed that all come from the same asset model.
8145	// For more information, see Asset hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html)
8146	// in the AWS IoT SiteWise User Guide.
8147	//
8148	// HierarchyId is a required field
8149	HierarchyId *string `locationName:"hierarchyId" min:"36" type:"string" required:"true"`
8150}
8151
8152// String returns the string representation
8153func (s AssociateAssetsInput) String() string {
8154	return awsutil.Prettify(s)
8155}
8156
8157// GoString returns the string representation
8158func (s AssociateAssetsInput) GoString() string {
8159	return s.String()
8160}
8161
8162// Validate inspects the fields of the type to determine if they are valid.
8163func (s *AssociateAssetsInput) Validate() error {
8164	invalidParams := request.ErrInvalidParams{Context: "AssociateAssetsInput"}
8165	if s.AssetId == nil {
8166		invalidParams.Add(request.NewErrParamRequired("AssetId"))
8167	}
8168	if s.AssetId != nil && len(*s.AssetId) < 36 {
8169		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
8170	}
8171	if s.ChildAssetId == nil {
8172		invalidParams.Add(request.NewErrParamRequired("ChildAssetId"))
8173	}
8174	if s.ChildAssetId != nil && len(*s.ChildAssetId) < 36 {
8175		invalidParams.Add(request.NewErrParamMinLen("ChildAssetId", 36))
8176	}
8177	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
8178		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
8179	}
8180	if s.HierarchyId == nil {
8181		invalidParams.Add(request.NewErrParamRequired("HierarchyId"))
8182	}
8183	if s.HierarchyId != nil && len(*s.HierarchyId) < 36 {
8184		invalidParams.Add(request.NewErrParamMinLen("HierarchyId", 36))
8185	}
8186
8187	if invalidParams.Len() > 0 {
8188		return invalidParams
8189	}
8190	return nil
8191}
8192
8193// SetAssetId sets the AssetId field's value.
8194func (s *AssociateAssetsInput) SetAssetId(v string) *AssociateAssetsInput {
8195	s.AssetId = &v
8196	return s
8197}
8198
8199// SetChildAssetId sets the ChildAssetId field's value.
8200func (s *AssociateAssetsInput) SetChildAssetId(v string) *AssociateAssetsInput {
8201	s.ChildAssetId = &v
8202	return s
8203}
8204
8205// SetClientToken sets the ClientToken field's value.
8206func (s *AssociateAssetsInput) SetClientToken(v string) *AssociateAssetsInput {
8207	s.ClientToken = &v
8208	return s
8209}
8210
8211// SetHierarchyId sets the HierarchyId field's value.
8212func (s *AssociateAssetsInput) SetHierarchyId(v string) *AssociateAssetsInput {
8213	s.HierarchyId = &v
8214	return s
8215}
8216
8217type AssociateAssetsOutput struct {
8218	_ struct{} `type:"structure"`
8219}
8220
8221// String returns the string representation
8222func (s AssociateAssetsOutput) String() string {
8223	return awsutil.Prettify(s)
8224}
8225
8226// GoString returns the string representation
8227func (s AssociateAssetsOutput) GoString() string {
8228	return s.String()
8229}
8230
8231// Contains a summary of an associated asset.
8232type AssociatedAssetsSummary struct {
8233	_ struct{} `type:"structure"`
8234
8235	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
8236	// of the asset, which has the following format.
8237	//
8238	// arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}
8239	//
8240	// Arn is a required field
8241	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
8242
8243	// The ID of the asset model used to create the asset.
8244	//
8245	// AssetModelId is a required field
8246	AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"`
8247
8248	// The date the asset was created, in Unix epoch time.
8249	//
8250	// CreationDate is a required field
8251	CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"`
8252
8253	// A list of asset hierarchies that each contain a hierarchyId. A hierarchy
8254	// specifies allowed parent/child asset relationships.
8255	//
8256	// Hierarchies is a required field
8257	Hierarchies []*AssetHierarchy `locationName:"hierarchies" type:"list" required:"true"`
8258
8259	// The ID of the asset.
8260	//
8261	// Id is a required field
8262	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
8263
8264	// The date the asset was last updated, in Unix epoch time.
8265	//
8266	// LastUpdateDate is a required field
8267	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp" required:"true"`
8268
8269	// The name of the asset.
8270	//
8271	// Name is a required field
8272	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
8273
8274	// The current status of the asset.
8275	//
8276	// Status is a required field
8277	Status *AssetStatus `locationName:"status" type:"structure" required:"true"`
8278}
8279
8280// String returns the string representation
8281func (s AssociatedAssetsSummary) String() string {
8282	return awsutil.Prettify(s)
8283}
8284
8285// GoString returns the string representation
8286func (s AssociatedAssetsSummary) GoString() string {
8287	return s.String()
8288}
8289
8290// SetArn sets the Arn field's value.
8291func (s *AssociatedAssetsSummary) SetArn(v string) *AssociatedAssetsSummary {
8292	s.Arn = &v
8293	return s
8294}
8295
8296// SetAssetModelId sets the AssetModelId field's value.
8297func (s *AssociatedAssetsSummary) SetAssetModelId(v string) *AssociatedAssetsSummary {
8298	s.AssetModelId = &v
8299	return s
8300}
8301
8302// SetCreationDate sets the CreationDate field's value.
8303func (s *AssociatedAssetsSummary) SetCreationDate(v time.Time) *AssociatedAssetsSummary {
8304	s.CreationDate = &v
8305	return s
8306}
8307
8308// SetHierarchies sets the Hierarchies field's value.
8309func (s *AssociatedAssetsSummary) SetHierarchies(v []*AssetHierarchy) *AssociatedAssetsSummary {
8310	s.Hierarchies = v
8311	return s
8312}
8313
8314// SetId sets the Id field's value.
8315func (s *AssociatedAssetsSummary) SetId(v string) *AssociatedAssetsSummary {
8316	s.Id = &v
8317	return s
8318}
8319
8320// SetLastUpdateDate sets the LastUpdateDate field's value.
8321func (s *AssociatedAssetsSummary) SetLastUpdateDate(v time.Time) *AssociatedAssetsSummary {
8322	s.LastUpdateDate = &v
8323	return s
8324}
8325
8326// SetName sets the Name field's value.
8327func (s *AssociatedAssetsSummary) SetName(v string) *AssociatedAssetsSummary {
8328	s.Name = &v
8329	return s
8330}
8331
8332// SetStatus sets the Status field's value.
8333func (s *AssociatedAssetsSummary) SetStatus(v *AssetStatus) *AssociatedAssetsSummary {
8334	s.Status = v
8335	return s
8336}
8337
8338// Contains an asset attribute property. For more information, see Attributes
8339// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html#attributes)
8340// in the AWS IoT SiteWise User Guide.
8341type Attribute struct {
8342	_ struct{} `type:"structure"`
8343
8344	// The default value of the asset model property attribute. All assets that
8345	// you create from the asset model contain this attribute value. You can update
8346	// an attribute's value after you create an asset. For more information, see
8347	// Updating attribute values (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/update-attribute-values.html)
8348	// in the AWS IoT SiteWise User Guide.
8349	DefaultValue *string `locationName:"defaultValue" min:"1" type:"string"`
8350}
8351
8352// String returns the string representation
8353func (s Attribute) String() string {
8354	return awsutil.Prettify(s)
8355}
8356
8357// GoString returns the string representation
8358func (s Attribute) GoString() string {
8359	return s.String()
8360}
8361
8362// Validate inspects the fields of the type to determine if they are valid.
8363func (s *Attribute) Validate() error {
8364	invalidParams := request.ErrInvalidParams{Context: "Attribute"}
8365	if s.DefaultValue != nil && len(*s.DefaultValue) < 1 {
8366		invalidParams.Add(request.NewErrParamMinLen("DefaultValue", 1))
8367	}
8368
8369	if invalidParams.Len() > 0 {
8370		return invalidParams
8371	}
8372	return nil
8373}
8374
8375// SetDefaultValue sets the DefaultValue field's value.
8376func (s *Attribute) SetDefaultValue(v string) *Attribute {
8377	s.DefaultValue = &v
8378	return s
8379}
8380
8381type BatchAssociateProjectAssetsInput struct {
8382	_ struct{} `type:"structure"`
8383
8384	// The IDs of the assets to be associated to the project.
8385	//
8386	// AssetIds is a required field
8387	AssetIds []*string `locationName:"assetIds" min:"1" type:"list" required:"true"`
8388
8389	// A unique case-sensitive identifier that you can provide to ensure the idempotency
8390	// of the request. Don't reuse this client token if a new idempotent request
8391	// is required.
8392	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
8393
8394	// The ID of the project to which to associate the assets.
8395	//
8396	// ProjectId is a required field
8397	ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"`
8398}
8399
8400// String returns the string representation
8401func (s BatchAssociateProjectAssetsInput) String() string {
8402	return awsutil.Prettify(s)
8403}
8404
8405// GoString returns the string representation
8406func (s BatchAssociateProjectAssetsInput) GoString() string {
8407	return s.String()
8408}
8409
8410// Validate inspects the fields of the type to determine if they are valid.
8411func (s *BatchAssociateProjectAssetsInput) Validate() error {
8412	invalidParams := request.ErrInvalidParams{Context: "BatchAssociateProjectAssetsInput"}
8413	if s.AssetIds == nil {
8414		invalidParams.Add(request.NewErrParamRequired("AssetIds"))
8415	}
8416	if s.AssetIds != nil && len(s.AssetIds) < 1 {
8417		invalidParams.Add(request.NewErrParamMinLen("AssetIds", 1))
8418	}
8419	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
8420		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
8421	}
8422	if s.ProjectId == nil {
8423		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
8424	}
8425	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
8426		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
8427	}
8428
8429	if invalidParams.Len() > 0 {
8430		return invalidParams
8431	}
8432	return nil
8433}
8434
8435// SetAssetIds sets the AssetIds field's value.
8436func (s *BatchAssociateProjectAssetsInput) SetAssetIds(v []*string) *BatchAssociateProjectAssetsInput {
8437	s.AssetIds = v
8438	return s
8439}
8440
8441// SetClientToken sets the ClientToken field's value.
8442func (s *BatchAssociateProjectAssetsInput) SetClientToken(v string) *BatchAssociateProjectAssetsInput {
8443	s.ClientToken = &v
8444	return s
8445}
8446
8447// SetProjectId sets the ProjectId field's value.
8448func (s *BatchAssociateProjectAssetsInput) SetProjectId(v string) *BatchAssociateProjectAssetsInput {
8449	s.ProjectId = &v
8450	return s
8451}
8452
8453type BatchAssociateProjectAssetsOutput struct {
8454	_ struct{} `type:"structure"`
8455
8456	// A list of associated error information, if any.
8457	Errors []*AssetErrorDetails `locationName:"errors" type:"list"`
8458}
8459
8460// String returns the string representation
8461func (s BatchAssociateProjectAssetsOutput) String() string {
8462	return awsutil.Prettify(s)
8463}
8464
8465// GoString returns the string representation
8466func (s BatchAssociateProjectAssetsOutput) GoString() string {
8467	return s.String()
8468}
8469
8470// SetErrors sets the Errors field's value.
8471func (s *BatchAssociateProjectAssetsOutput) SetErrors(v []*AssetErrorDetails) *BatchAssociateProjectAssetsOutput {
8472	s.Errors = v
8473	return s
8474}
8475
8476type BatchDisassociateProjectAssetsInput struct {
8477	_ struct{} `type:"structure"`
8478
8479	// The IDs of the assets to be disassociated from the project.
8480	//
8481	// AssetIds is a required field
8482	AssetIds []*string `locationName:"assetIds" min:"1" type:"list" required:"true"`
8483
8484	// A unique case-sensitive identifier that you can provide to ensure the idempotency
8485	// of the request. Don't reuse this client token if a new idempotent request
8486	// is required.
8487	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
8488
8489	// The ID of the project from which to disassociate the assets.
8490	//
8491	// ProjectId is a required field
8492	ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"`
8493}
8494
8495// String returns the string representation
8496func (s BatchDisassociateProjectAssetsInput) String() string {
8497	return awsutil.Prettify(s)
8498}
8499
8500// GoString returns the string representation
8501func (s BatchDisassociateProjectAssetsInput) GoString() string {
8502	return s.String()
8503}
8504
8505// Validate inspects the fields of the type to determine if they are valid.
8506func (s *BatchDisassociateProjectAssetsInput) Validate() error {
8507	invalidParams := request.ErrInvalidParams{Context: "BatchDisassociateProjectAssetsInput"}
8508	if s.AssetIds == nil {
8509		invalidParams.Add(request.NewErrParamRequired("AssetIds"))
8510	}
8511	if s.AssetIds != nil && len(s.AssetIds) < 1 {
8512		invalidParams.Add(request.NewErrParamMinLen("AssetIds", 1))
8513	}
8514	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
8515		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
8516	}
8517	if s.ProjectId == nil {
8518		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
8519	}
8520	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
8521		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
8522	}
8523
8524	if invalidParams.Len() > 0 {
8525		return invalidParams
8526	}
8527	return nil
8528}
8529
8530// SetAssetIds sets the AssetIds field's value.
8531func (s *BatchDisassociateProjectAssetsInput) SetAssetIds(v []*string) *BatchDisassociateProjectAssetsInput {
8532	s.AssetIds = v
8533	return s
8534}
8535
8536// SetClientToken sets the ClientToken field's value.
8537func (s *BatchDisassociateProjectAssetsInput) SetClientToken(v string) *BatchDisassociateProjectAssetsInput {
8538	s.ClientToken = &v
8539	return s
8540}
8541
8542// SetProjectId sets the ProjectId field's value.
8543func (s *BatchDisassociateProjectAssetsInput) SetProjectId(v string) *BatchDisassociateProjectAssetsInput {
8544	s.ProjectId = &v
8545	return s
8546}
8547
8548type BatchDisassociateProjectAssetsOutput struct {
8549	_ struct{} `type:"structure"`
8550
8551	// A list of associated error information, if any.
8552	Errors []*AssetErrorDetails `locationName:"errors" type:"list"`
8553}
8554
8555// String returns the string representation
8556func (s BatchDisassociateProjectAssetsOutput) String() string {
8557	return awsutil.Prettify(s)
8558}
8559
8560// GoString returns the string representation
8561func (s BatchDisassociateProjectAssetsOutput) GoString() string {
8562	return s.String()
8563}
8564
8565// SetErrors sets the Errors field's value.
8566func (s *BatchDisassociateProjectAssetsOutput) SetErrors(v []*AssetErrorDetails) *BatchDisassociateProjectAssetsOutput {
8567	s.Errors = v
8568	return s
8569}
8570
8571// Contains error information from updating a batch of asset property values.
8572type BatchPutAssetPropertyError struct {
8573	_ struct{} `type:"structure"`
8574
8575	// The error code.
8576	//
8577	// ErrorCode is a required field
8578	ErrorCode *string `locationName:"errorCode" type:"string" required:"true" enum:"BatchPutAssetPropertyValueErrorCode"`
8579
8580	// The associated error message.
8581	//
8582	// ErrorMessage is a required field
8583	ErrorMessage *string `locationName:"errorMessage" type:"string" required:"true"`
8584
8585	// A list of timestamps for each error, if any.
8586	//
8587	// Timestamps is a required field
8588	Timestamps []*TimeInNanos `locationName:"timestamps" type:"list" required:"true"`
8589}
8590
8591// String returns the string representation
8592func (s BatchPutAssetPropertyError) String() string {
8593	return awsutil.Prettify(s)
8594}
8595
8596// GoString returns the string representation
8597func (s BatchPutAssetPropertyError) GoString() string {
8598	return s.String()
8599}
8600
8601// SetErrorCode sets the ErrorCode field's value.
8602func (s *BatchPutAssetPropertyError) SetErrorCode(v string) *BatchPutAssetPropertyError {
8603	s.ErrorCode = &v
8604	return s
8605}
8606
8607// SetErrorMessage sets the ErrorMessage field's value.
8608func (s *BatchPutAssetPropertyError) SetErrorMessage(v string) *BatchPutAssetPropertyError {
8609	s.ErrorMessage = &v
8610	return s
8611}
8612
8613// SetTimestamps sets the Timestamps field's value.
8614func (s *BatchPutAssetPropertyError) SetTimestamps(v []*TimeInNanos) *BatchPutAssetPropertyError {
8615	s.Timestamps = v
8616	return s
8617}
8618
8619// Contains error information for asset property value entries that are associated
8620// with the BatchPutAssetPropertyValue (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html)
8621// API.
8622type BatchPutAssetPropertyErrorEntry struct {
8623	_ struct{} `type:"structure"`
8624
8625	// The ID of the failed entry.
8626	//
8627	// EntryId is a required field
8628	EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"`
8629
8630	// The list of update property value errors.
8631	//
8632	// Errors is a required field
8633	Errors []*BatchPutAssetPropertyError `locationName:"errors" type:"list" required:"true"`
8634}
8635
8636// String returns the string representation
8637func (s BatchPutAssetPropertyErrorEntry) String() string {
8638	return awsutil.Prettify(s)
8639}
8640
8641// GoString returns the string representation
8642func (s BatchPutAssetPropertyErrorEntry) GoString() string {
8643	return s.String()
8644}
8645
8646// SetEntryId sets the EntryId field's value.
8647func (s *BatchPutAssetPropertyErrorEntry) SetEntryId(v string) *BatchPutAssetPropertyErrorEntry {
8648	s.EntryId = &v
8649	return s
8650}
8651
8652// SetErrors sets the Errors field's value.
8653func (s *BatchPutAssetPropertyErrorEntry) SetErrors(v []*BatchPutAssetPropertyError) *BatchPutAssetPropertyErrorEntry {
8654	s.Errors = v
8655	return s
8656}
8657
8658type BatchPutAssetPropertyValueInput struct {
8659	_ struct{} `type:"structure"`
8660
8661	// The list of asset property value entries for the batch put request. You can
8662	// specify up to 10 entries per request.
8663	//
8664	// Entries is a required field
8665	Entries []*PutAssetPropertyValueEntry `locationName:"entries" type:"list" required:"true"`
8666}
8667
8668// String returns the string representation
8669func (s BatchPutAssetPropertyValueInput) String() string {
8670	return awsutil.Prettify(s)
8671}
8672
8673// GoString returns the string representation
8674func (s BatchPutAssetPropertyValueInput) GoString() string {
8675	return s.String()
8676}
8677
8678// Validate inspects the fields of the type to determine if they are valid.
8679func (s *BatchPutAssetPropertyValueInput) Validate() error {
8680	invalidParams := request.ErrInvalidParams{Context: "BatchPutAssetPropertyValueInput"}
8681	if s.Entries == nil {
8682		invalidParams.Add(request.NewErrParamRequired("Entries"))
8683	}
8684	if s.Entries != nil {
8685		for i, v := range s.Entries {
8686			if v == nil {
8687				continue
8688			}
8689			if err := v.Validate(); err != nil {
8690				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams))
8691			}
8692		}
8693	}
8694
8695	if invalidParams.Len() > 0 {
8696		return invalidParams
8697	}
8698	return nil
8699}
8700
8701// SetEntries sets the Entries field's value.
8702func (s *BatchPutAssetPropertyValueInput) SetEntries(v []*PutAssetPropertyValueEntry) *BatchPutAssetPropertyValueInput {
8703	s.Entries = v
8704	return s
8705}
8706
8707type BatchPutAssetPropertyValueOutput struct {
8708	_ struct{} `type:"structure"`
8709
8710	// A list of the errors (if any) associated with the batch put request. Each
8711	// error entry contains the entryId of the entry that failed.
8712	//
8713	// ErrorEntries is a required field
8714	ErrorEntries []*BatchPutAssetPropertyErrorEntry `locationName:"errorEntries" type:"list" required:"true"`
8715}
8716
8717// String returns the string representation
8718func (s BatchPutAssetPropertyValueOutput) String() string {
8719	return awsutil.Prettify(s)
8720}
8721
8722// GoString returns the string representation
8723func (s BatchPutAssetPropertyValueOutput) GoString() string {
8724	return s.String()
8725}
8726
8727// SetErrorEntries sets the ErrorEntries field's value.
8728func (s *BatchPutAssetPropertyValueOutput) SetErrorEntries(v []*BatchPutAssetPropertyErrorEntry) *BatchPutAssetPropertyValueOutput {
8729	s.ErrorEntries = v
8730	return s
8731}
8732
8733// Contains information about a composite model property on an asset.
8734type CompositeModelProperty struct {
8735	_ struct{} `type:"structure"`
8736
8737	// Contains asset property information.
8738	//
8739	// AssetProperty is a required field
8740	AssetProperty *Property `locationName:"assetProperty" type:"structure" required:"true"`
8741
8742	// The name of the property.
8743	//
8744	// Name is a required field
8745	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
8746
8747	// The type of the composite model that defines this property.
8748	//
8749	// Type is a required field
8750	Type *string `locationName:"type" min:"1" type:"string" required:"true"`
8751}
8752
8753// String returns the string representation
8754func (s CompositeModelProperty) String() string {
8755	return awsutil.Prettify(s)
8756}
8757
8758// GoString returns the string representation
8759func (s CompositeModelProperty) GoString() string {
8760	return s.String()
8761}
8762
8763// SetAssetProperty sets the AssetProperty field's value.
8764func (s *CompositeModelProperty) SetAssetProperty(v *Property) *CompositeModelProperty {
8765	s.AssetProperty = v
8766	return s
8767}
8768
8769// SetName sets the Name field's value.
8770func (s *CompositeModelProperty) SetName(v string) *CompositeModelProperty {
8771	s.Name = &v
8772	return s
8773}
8774
8775// SetType sets the Type field's value.
8776func (s *CompositeModelProperty) SetType(v string) *CompositeModelProperty {
8777	s.Type = &v
8778	return s
8779}
8780
8781// Contains the details of an AWS IoT SiteWise configuration error.
8782type ConfigurationErrorDetails struct {
8783	_ struct{} `type:"structure"`
8784
8785	// The error code.
8786	//
8787	// Code is a required field
8788	Code *string `locationName:"code" type:"string" required:"true" enum:"ErrorCode"`
8789
8790	// The error message.
8791	//
8792	// Message is a required field
8793	Message *string `locationName:"message" type:"string" required:"true"`
8794}
8795
8796// String returns the string representation
8797func (s ConfigurationErrorDetails) String() string {
8798	return awsutil.Prettify(s)
8799}
8800
8801// GoString returns the string representation
8802func (s ConfigurationErrorDetails) GoString() string {
8803	return s.String()
8804}
8805
8806// SetCode sets the Code field's value.
8807func (s *ConfigurationErrorDetails) SetCode(v string) *ConfigurationErrorDetails {
8808	s.Code = &v
8809	return s
8810}
8811
8812// SetMessage sets the Message field's value.
8813func (s *ConfigurationErrorDetails) SetMessage(v string) *ConfigurationErrorDetails {
8814	s.Message = &v
8815	return s
8816}
8817
8818// Contains current status information for the configuration.
8819type ConfigurationStatus struct {
8820	_ struct{} `type:"structure"`
8821
8822	// Contains associated error information, if any.
8823	Error *ConfigurationErrorDetails `locationName:"error" type:"structure"`
8824
8825	// The current state of the configuration.
8826	//
8827	// State is a required field
8828	State *string `locationName:"state" type:"string" required:"true" enum:"ConfigurationState"`
8829}
8830
8831// String returns the string representation
8832func (s ConfigurationStatus) String() string {
8833	return awsutil.Prettify(s)
8834}
8835
8836// GoString returns the string representation
8837func (s ConfigurationStatus) GoString() string {
8838	return s.String()
8839}
8840
8841// SetError sets the Error field's value.
8842func (s *ConfigurationStatus) SetError(v *ConfigurationErrorDetails) *ConfigurationStatus {
8843	s.Error = v
8844	return s
8845}
8846
8847// SetState sets the State field's value.
8848func (s *ConfigurationStatus) SetState(v string) *ConfigurationStatus {
8849	s.State = &v
8850	return s
8851}
8852
8853// Your request has conflicting operations. This can occur if you're trying
8854// to perform more than one operation on the same resource at the same time.
8855type ConflictingOperationException struct {
8856	_            struct{}                  `type:"structure"`
8857	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8858
8859	Message_ *string `locationName:"message" type:"string"`
8860
8861	// The ARN of the resource that conflicts with this operation.
8862	//
8863	// ResourceArn is a required field
8864	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
8865
8866	// The ID of the resource that conflicts with this operation.
8867	//
8868	// ResourceId is a required field
8869	ResourceId *string `locationName:"resourceId" type:"string" required:"true"`
8870}
8871
8872// String returns the string representation
8873func (s ConflictingOperationException) String() string {
8874	return awsutil.Prettify(s)
8875}
8876
8877// GoString returns the string representation
8878func (s ConflictingOperationException) GoString() string {
8879	return s.String()
8880}
8881
8882func newErrorConflictingOperationException(v protocol.ResponseMetadata) error {
8883	return &ConflictingOperationException{
8884		RespMetadata: v,
8885	}
8886}
8887
8888// Code returns the exception type name.
8889func (s *ConflictingOperationException) Code() string {
8890	return "ConflictingOperationException"
8891}
8892
8893// Message returns the exception's message.
8894func (s *ConflictingOperationException) Message() string {
8895	if s.Message_ != nil {
8896		return *s.Message_
8897	}
8898	return ""
8899}
8900
8901// OrigErr always returns nil, satisfies awserr.Error interface.
8902func (s *ConflictingOperationException) OrigErr() error {
8903	return nil
8904}
8905
8906func (s *ConflictingOperationException) Error() string {
8907	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
8908}
8909
8910// Status code returns the HTTP status code for the request's response error.
8911func (s *ConflictingOperationException) StatusCode() int {
8912	return s.RespMetadata.StatusCode
8913}
8914
8915// RequestID returns the service's response RequestID for request.
8916func (s *ConflictingOperationException) RequestID() string {
8917	return s.RespMetadata.RequestID
8918}
8919
8920type CreateAccessPolicyInput struct {
8921	_ struct{} `type:"structure"`
8922
8923	// The identity for this access policy. Choose an AWS SSO user, an AWS SSO group,
8924	// or an IAM user.
8925	//
8926	// AccessPolicyIdentity is a required field
8927	AccessPolicyIdentity *Identity `locationName:"accessPolicyIdentity" type:"structure" required:"true"`
8928
8929	// The permission level for this access policy. Note that a project ADMINISTRATOR
8930	// is also known as a project owner.
8931	//
8932	// AccessPolicyPermission is a required field
8933	AccessPolicyPermission *string `locationName:"accessPolicyPermission" type:"string" required:"true" enum:"Permission"`
8934
8935	// The AWS IoT SiteWise Monitor resource for this access policy. Choose either
8936	// a portal or a project.
8937	//
8938	// AccessPolicyResource is a required field
8939	AccessPolicyResource *Resource `locationName:"accessPolicyResource" type:"structure" required:"true"`
8940
8941	// A unique case-sensitive identifier that you can provide to ensure the idempotency
8942	// of the request. Don't reuse this client token if a new idempotent request
8943	// is required.
8944	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
8945
8946	// A list of key-value pairs that contain metadata for the access policy. For
8947	// more information, see Tagging your AWS IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
8948	// in the AWS IoT SiteWise User Guide.
8949	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
8950}
8951
8952// String returns the string representation
8953func (s CreateAccessPolicyInput) String() string {
8954	return awsutil.Prettify(s)
8955}
8956
8957// GoString returns the string representation
8958func (s CreateAccessPolicyInput) GoString() string {
8959	return s.String()
8960}
8961
8962// Validate inspects the fields of the type to determine if they are valid.
8963func (s *CreateAccessPolicyInput) Validate() error {
8964	invalidParams := request.ErrInvalidParams{Context: "CreateAccessPolicyInput"}
8965	if s.AccessPolicyIdentity == nil {
8966		invalidParams.Add(request.NewErrParamRequired("AccessPolicyIdentity"))
8967	}
8968	if s.AccessPolicyPermission == nil {
8969		invalidParams.Add(request.NewErrParamRequired("AccessPolicyPermission"))
8970	}
8971	if s.AccessPolicyResource == nil {
8972		invalidParams.Add(request.NewErrParamRequired("AccessPolicyResource"))
8973	}
8974	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
8975		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
8976	}
8977	if s.Tags != nil && len(s.Tags) < 1 {
8978		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
8979	}
8980	if s.AccessPolicyIdentity != nil {
8981		if err := s.AccessPolicyIdentity.Validate(); err != nil {
8982			invalidParams.AddNested("AccessPolicyIdentity", err.(request.ErrInvalidParams))
8983		}
8984	}
8985	if s.AccessPolicyResource != nil {
8986		if err := s.AccessPolicyResource.Validate(); err != nil {
8987			invalidParams.AddNested("AccessPolicyResource", err.(request.ErrInvalidParams))
8988		}
8989	}
8990
8991	if invalidParams.Len() > 0 {
8992		return invalidParams
8993	}
8994	return nil
8995}
8996
8997// SetAccessPolicyIdentity sets the AccessPolicyIdentity field's value.
8998func (s *CreateAccessPolicyInput) SetAccessPolicyIdentity(v *Identity) *CreateAccessPolicyInput {
8999	s.AccessPolicyIdentity = v
9000	return s
9001}
9002
9003// SetAccessPolicyPermission sets the AccessPolicyPermission field's value.
9004func (s *CreateAccessPolicyInput) SetAccessPolicyPermission(v string) *CreateAccessPolicyInput {
9005	s.AccessPolicyPermission = &v
9006	return s
9007}
9008
9009// SetAccessPolicyResource sets the AccessPolicyResource field's value.
9010func (s *CreateAccessPolicyInput) SetAccessPolicyResource(v *Resource) *CreateAccessPolicyInput {
9011	s.AccessPolicyResource = v
9012	return s
9013}
9014
9015// SetClientToken sets the ClientToken field's value.
9016func (s *CreateAccessPolicyInput) SetClientToken(v string) *CreateAccessPolicyInput {
9017	s.ClientToken = &v
9018	return s
9019}
9020
9021// SetTags sets the Tags field's value.
9022func (s *CreateAccessPolicyInput) SetTags(v map[string]*string) *CreateAccessPolicyInput {
9023	s.Tags = v
9024	return s
9025}
9026
9027type CreateAccessPolicyOutput struct {
9028	_ struct{} `type:"structure"`
9029
9030	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
9031	// of the access policy, which has the following format.
9032	//
9033	// arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy/${AccessPolicyId}
9034	//
9035	// AccessPolicyArn is a required field
9036	AccessPolicyArn *string `locationName:"accessPolicyArn" min:"1" type:"string" required:"true"`
9037
9038	// The ID of the access policy.
9039	//
9040	// AccessPolicyId is a required field
9041	AccessPolicyId *string `locationName:"accessPolicyId" min:"36" type:"string" required:"true"`
9042}
9043
9044// String returns the string representation
9045func (s CreateAccessPolicyOutput) String() string {
9046	return awsutil.Prettify(s)
9047}
9048
9049// GoString returns the string representation
9050func (s CreateAccessPolicyOutput) GoString() string {
9051	return s.String()
9052}
9053
9054// SetAccessPolicyArn sets the AccessPolicyArn field's value.
9055func (s *CreateAccessPolicyOutput) SetAccessPolicyArn(v string) *CreateAccessPolicyOutput {
9056	s.AccessPolicyArn = &v
9057	return s
9058}
9059
9060// SetAccessPolicyId sets the AccessPolicyId field's value.
9061func (s *CreateAccessPolicyOutput) SetAccessPolicyId(v string) *CreateAccessPolicyOutput {
9062	s.AccessPolicyId = &v
9063	return s
9064}
9065
9066type CreateAssetInput struct {
9067	_ struct{} `type:"structure"`
9068
9069	// The ID of the asset model from which to create the asset.
9070	//
9071	// AssetModelId is a required field
9072	AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"`
9073
9074	// A unique, friendly name for the asset.
9075	//
9076	// AssetName is a required field
9077	AssetName *string `locationName:"assetName" min:"1" 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 `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
9083
9084	// A list of key-value pairs that contain metadata for the asset. For more information,
9085	// see Tagging your AWS IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
9086	// in the AWS IoT SiteWise User Guide.
9087	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
9088}
9089
9090// String returns the string representation
9091func (s CreateAssetInput) String() string {
9092	return awsutil.Prettify(s)
9093}
9094
9095// GoString returns the string representation
9096func (s CreateAssetInput) GoString() string {
9097	return s.String()
9098}
9099
9100// Validate inspects the fields of the type to determine if they are valid.
9101func (s *CreateAssetInput) Validate() error {
9102	invalidParams := request.ErrInvalidParams{Context: "CreateAssetInput"}
9103	if s.AssetModelId == nil {
9104		invalidParams.Add(request.NewErrParamRequired("AssetModelId"))
9105	}
9106	if s.AssetModelId != nil && len(*s.AssetModelId) < 36 {
9107		invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36))
9108	}
9109	if s.AssetName == nil {
9110		invalidParams.Add(request.NewErrParamRequired("AssetName"))
9111	}
9112	if s.AssetName != nil && len(*s.AssetName) < 1 {
9113		invalidParams.Add(request.NewErrParamMinLen("AssetName", 1))
9114	}
9115	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
9116		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
9117	}
9118	if s.Tags != nil && len(s.Tags) < 1 {
9119		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
9120	}
9121
9122	if invalidParams.Len() > 0 {
9123		return invalidParams
9124	}
9125	return nil
9126}
9127
9128// SetAssetModelId sets the AssetModelId field's value.
9129func (s *CreateAssetInput) SetAssetModelId(v string) *CreateAssetInput {
9130	s.AssetModelId = &v
9131	return s
9132}
9133
9134// SetAssetName sets the AssetName field's value.
9135func (s *CreateAssetInput) SetAssetName(v string) *CreateAssetInput {
9136	s.AssetName = &v
9137	return s
9138}
9139
9140// SetClientToken sets the ClientToken field's value.
9141func (s *CreateAssetInput) SetClientToken(v string) *CreateAssetInput {
9142	s.ClientToken = &v
9143	return s
9144}
9145
9146// SetTags sets the Tags field's value.
9147func (s *CreateAssetInput) SetTags(v map[string]*string) *CreateAssetInput {
9148	s.Tags = v
9149	return s
9150}
9151
9152type CreateAssetModelInput struct {
9153	_ struct{} `type:"structure"`
9154
9155	// The composite asset models that are part of this asset model. Composite asset
9156	// models are asset models that contain specific properties. Each composite
9157	// model has a type that defines the properties that the composite model supports.
9158	// Use composite asset models to define alarms on this asset model.
9159	AssetModelCompositeModels []*AssetModelCompositeModelDefinition `locationName:"assetModelCompositeModels" type:"list"`
9160
9161	// A description for the asset model.
9162	AssetModelDescription *string `locationName:"assetModelDescription" min:"1" type:"string"`
9163
9164	// The hierarchy definitions of the asset model. Each hierarchy specifies an
9165	// asset model whose assets can be children of any other assets created from
9166	// this asset model. For more information, see Asset hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html)
9167	// in the AWS IoT SiteWise User Guide.
9168	//
9169	// You can specify up to 10 hierarchies per asset model. For more information,
9170	// see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
9171	// in the AWS IoT SiteWise User Guide.
9172	AssetModelHierarchies []*AssetModelHierarchyDefinition `locationName:"assetModelHierarchies" type:"list"`
9173
9174	// A unique, friendly name for the asset model.
9175	//
9176	// AssetModelName is a required field
9177	AssetModelName *string `locationName:"assetModelName" min:"1" type:"string" required:"true"`
9178
9179	// The property definitions of the asset model. For more information, see Asset
9180	// properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html)
9181	// in the AWS IoT SiteWise User Guide.
9182	//
9183	// You can specify up to 200 properties per asset model. For more information,
9184	// see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
9185	// in the AWS IoT SiteWise User Guide.
9186	AssetModelProperties []*AssetModelPropertyDefinition `locationName:"assetModelProperties" type:"list"`
9187
9188	// A unique case-sensitive identifier that you can provide to ensure the idempotency
9189	// of the request. Don't reuse this client token if a new idempotent request
9190	// is required.
9191	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
9192
9193	// A list of key-value pairs that contain metadata for the asset model. For
9194	// more information, see Tagging your AWS IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
9195	// in the AWS IoT SiteWise User Guide.
9196	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
9197}
9198
9199// String returns the string representation
9200func (s CreateAssetModelInput) String() string {
9201	return awsutil.Prettify(s)
9202}
9203
9204// GoString returns the string representation
9205func (s CreateAssetModelInput) GoString() string {
9206	return s.String()
9207}
9208
9209// Validate inspects the fields of the type to determine if they are valid.
9210func (s *CreateAssetModelInput) Validate() error {
9211	invalidParams := request.ErrInvalidParams{Context: "CreateAssetModelInput"}
9212	if s.AssetModelDescription != nil && len(*s.AssetModelDescription) < 1 {
9213		invalidParams.Add(request.NewErrParamMinLen("AssetModelDescription", 1))
9214	}
9215	if s.AssetModelName == nil {
9216		invalidParams.Add(request.NewErrParamRequired("AssetModelName"))
9217	}
9218	if s.AssetModelName != nil && len(*s.AssetModelName) < 1 {
9219		invalidParams.Add(request.NewErrParamMinLen("AssetModelName", 1))
9220	}
9221	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
9222		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
9223	}
9224	if s.Tags != nil && len(s.Tags) < 1 {
9225		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
9226	}
9227	if s.AssetModelCompositeModels != nil {
9228		for i, v := range s.AssetModelCompositeModels {
9229			if v == nil {
9230				continue
9231			}
9232			if err := v.Validate(); err != nil {
9233				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelCompositeModels", i), err.(request.ErrInvalidParams))
9234			}
9235		}
9236	}
9237	if s.AssetModelHierarchies != nil {
9238		for i, v := range s.AssetModelHierarchies {
9239			if v == nil {
9240				continue
9241			}
9242			if err := v.Validate(); err != nil {
9243				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelHierarchies", i), err.(request.ErrInvalidParams))
9244			}
9245		}
9246	}
9247	if s.AssetModelProperties != nil {
9248		for i, v := range s.AssetModelProperties {
9249			if v == nil {
9250				continue
9251			}
9252			if err := v.Validate(); err != nil {
9253				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelProperties", i), err.(request.ErrInvalidParams))
9254			}
9255		}
9256	}
9257
9258	if invalidParams.Len() > 0 {
9259		return invalidParams
9260	}
9261	return nil
9262}
9263
9264// SetAssetModelCompositeModels sets the AssetModelCompositeModels field's value.
9265func (s *CreateAssetModelInput) SetAssetModelCompositeModels(v []*AssetModelCompositeModelDefinition) *CreateAssetModelInput {
9266	s.AssetModelCompositeModels = v
9267	return s
9268}
9269
9270// SetAssetModelDescription sets the AssetModelDescription field's value.
9271func (s *CreateAssetModelInput) SetAssetModelDescription(v string) *CreateAssetModelInput {
9272	s.AssetModelDescription = &v
9273	return s
9274}
9275
9276// SetAssetModelHierarchies sets the AssetModelHierarchies field's value.
9277func (s *CreateAssetModelInput) SetAssetModelHierarchies(v []*AssetModelHierarchyDefinition) *CreateAssetModelInput {
9278	s.AssetModelHierarchies = v
9279	return s
9280}
9281
9282// SetAssetModelName sets the AssetModelName field's value.
9283func (s *CreateAssetModelInput) SetAssetModelName(v string) *CreateAssetModelInput {
9284	s.AssetModelName = &v
9285	return s
9286}
9287
9288// SetAssetModelProperties sets the AssetModelProperties field's value.
9289func (s *CreateAssetModelInput) SetAssetModelProperties(v []*AssetModelPropertyDefinition) *CreateAssetModelInput {
9290	s.AssetModelProperties = v
9291	return s
9292}
9293
9294// SetClientToken sets the ClientToken field's value.
9295func (s *CreateAssetModelInput) SetClientToken(v string) *CreateAssetModelInput {
9296	s.ClientToken = &v
9297	return s
9298}
9299
9300// SetTags sets the Tags field's value.
9301func (s *CreateAssetModelInput) SetTags(v map[string]*string) *CreateAssetModelInput {
9302	s.Tags = v
9303	return s
9304}
9305
9306type CreateAssetModelOutput struct {
9307	_ struct{} `type:"structure"`
9308
9309	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
9310	// of the asset model, which has the following format.
9311	//
9312	// arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId}
9313	//
9314	// AssetModelArn is a required field
9315	AssetModelArn *string `locationName:"assetModelArn" min:"1" type:"string" required:"true"`
9316
9317	// The ID of the asset model. You can use this ID when you call other AWS IoT
9318	// SiteWise APIs.
9319	//
9320	// AssetModelId is a required field
9321	AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"`
9322
9323	// The status of the asset model, which contains a state (CREATING after successfully
9324	// calling this operation) and any error message.
9325	//
9326	// AssetModelStatus is a required field
9327	AssetModelStatus *AssetModelStatus `locationName:"assetModelStatus" type:"structure" required:"true"`
9328}
9329
9330// String returns the string representation
9331func (s CreateAssetModelOutput) String() string {
9332	return awsutil.Prettify(s)
9333}
9334
9335// GoString returns the string representation
9336func (s CreateAssetModelOutput) GoString() string {
9337	return s.String()
9338}
9339
9340// SetAssetModelArn sets the AssetModelArn field's value.
9341func (s *CreateAssetModelOutput) SetAssetModelArn(v string) *CreateAssetModelOutput {
9342	s.AssetModelArn = &v
9343	return s
9344}
9345
9346// SetAssetModelId sets the AssetModelId field's value.
9347func (s *CreateAssetModelOutput) SetAssetModelId(v string) *CreateAssetModelOutput {
9348	s.AssetModelId = &v
9349	return s
9350}
9351
9352// SetAssetModelStatus sets the AssetModelStatus field's value.
9353func (s *CreateAssetModelOutput) SetAssetModelStatus(v *AssetModelStatus) *CreateAssetModelOutput {
9354	s.AssetModelStatus = v
9355	return s
9356}
9357
9358type CreateAssetOutput struct {
9359	_ struct{} `type:"structure"`
9360
9361	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
9362	// of the asset, which has the following format.
9363	//
9364	// arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}
9365	//
9366	// AssetArn is a required field
9367	AssetArn *string `locationName:"assetArn" min:"1" type:"string" required:"true"`
9368
9369	// The ID of the asset. This ID uniquely identifies the asset within AWS IoT
9370	// SiteWise and can be used with other AWS IoT SiteWise APIs.
9371	//
9372	// AssetId is a required field
9373	AssetId *string `locationName:"assetId" min:"36" type:"string" required:"true"`
9374
9375	// The status of the asset, which contains a state (CREATING after successfully
9376	// calling this operation) and any error message.
9377	//
9378	// AssetStatus is a required field
9379	AssetStatus *AssetStatus `locationName:"assetStatus" type:"structure" required:"true"`
9380}
9381
9382// String returns the string representation
9383func (s CreateAssetOutput) String() string {
9384	return awsutil.Prettify(s)
9385}
9386
9387// GoString returns the string representation
9388func (s CreateAssetOutput) GoString() string {
9389	return s.String()
9390}
9391
9392// SetAssetArn sets the AssetArn field's value.
9393func (s *CreateAssetOutput) SetAssetArn(v string) *CreateAssetOutput {
9394	s.AssetArn = &v
9395	return s
9396}
9397
9398// SetAssetId sets the AssetId field's value.
9399func (s *CreateAssetOutput) SetAssetId(v string) *CreateAssetOutput {
9400	s.AssetId = &v
9401	return s
9402}
9403
9404// SetAssetStatus sets the AssetStatus field's value.
9405func (s *CreateAssetOutput) SetAssetStatus(v *AssetStatus) *CreateAssetOutput {
9406	s.AssetStatus = v
9407	return s
9408}
9409
9410type CreateDashboardInput struct {
9411	_ struct{} `type:"structure"`
9412
9413	// A unique case-sensitive identifier that you can provide to ensure the idempotency
9414	// of the request. Don't reuse this client token if a new idempotent request
9415	// is required.
9416	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
9417
9418	// The dashboard definition specified in a JSON literal. For detailed information,
9419	// see Creating dashboards (CLI) (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html)
9420	// in the AWS IoT SiteWise User Guide.
9421	//
9422	// DashboardDefinition is a required field
9423	DashboardDefinition *string `locationName:"dashboardDefinition" type:"string" required:"true"`
9424
9425	// A description for the dashboard.
9426	DashboardDescription *string `locationName:"dashboardDescription" min:"1" type:"string"`
9427
9428	// A friendly name for the dashboard.
9429	//
9430	// DashboardName is a required field
9431	DashboardName *string `locationName:"dashboardName" min:"1" type:"string" required:"true"`
9432
9433	// The ID of the project in which to create the dashboard.
9434	//
9435	// ProjectId is a required field
9436	ProjectId *string `locationName:"projectId" min:"36" type:"string" required:"true"`
9437
9438	// A list of key-value pairs that contain metadata for the dashboard. For more
9439	// information, see Tagging your AWS IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
9440	// in the AWS IoT SiteWise User Guide.
9441	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
9442}
9443
9444// String returns the string representation
9445func (s CreateDashboardInput) String() string {
9446	return awsutil.Prettify(s)
9447}
9448
9449// GoString returns the string representation
9450func (s CreateDashboardInput) GoString() string {
9451	return s.String()
9452}
9453
9454// Validate inspects the fields of the type to determine if they are valid.
9455func (s *CreateDashboardInput) Validate() error {
9456	invalidParams := request.ErrInvalidParams{Context: "CreateDashboardInput"}
9457	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
9458		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
9459	}
9460	if s.DashboardDefinition == nil {
9461		invalidParams.Add(request.NewErrParamRequired("DashboardDefinition"))
9462	}
9463	if s.DashboardDescription != nil && len(*s.DashboardDescription) < 1 {
9464		invalidParams.Add(request.NewErrParamMinLen("DashboardDescription", 1))
9465	}
9466	if s.DashboardName == nil {
9467		invalidParams.Add(request.NewErrParamRequired("DashboardName"))
9468	}
9469	if s.DashboardName != nil && len(*s.DashboardName) < 1 {
9470		invalidParams.Add(request.NewErrParamMinLen("DashboardName", 1))
9471	}
9472	if s.ProjectId == nil {
9473		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
9474	}
9475	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
9476		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
9477	}
9478	if s.Tags != nil && len(s.Tags) < 1 {
9479		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
9480	}
9481
9482	if invalidParams.Len() > 0 {
9483		return invalidParams
9484	}
9485	return nil
9486}
9487
9488// SetClientToken sets the ClientToken field's value.
9489func (s *CreateDashboardInput) SetClientToken(v string) *CreateDashboardInput {
9490	s.ClientToken = &v
9491	return s
9492}
9493
9494// SetDashboardDefinition sets the DashboardDefinition field's value.
9495func (s *CreateDashboardInput) SetDashboardDefinition(v string) *CreateDashboardInput {
9496	s.DashboardDefinition = &v
9497	return s
9498}
9499
9500// SetDashboardDescription sets the DashboardDescription field's value.
9501func (s *CreateDashboardInput) SetDashboardDescription(v string) *CreateDashboardInput {
9502	s.DashboardDescription = &v
9503	return s
9504}
9505
9506// SetDashboardName sets the DashboardName field's value.
9507func (s *CreateDashboardInput) SetDashboardName(v string) *CreateDashboardInput {
9508	s.DashboardName = &v
9509	return s
9510}
9511
9512// SetProjectId sets the ProjectId field's value.
9513func (s *CreateDashboardInput) SetProjectId(v string) *CreateDashboardInput {
9514	s.ProjectId = &v
9515	return s
9516}
9517
9518// SetTags sets the Tags field's value.
9519func (s *CreateDashboardInput) SetTags(v map[string]*string) *CreateDashboardInput {
9520	s.Tags = v
9521	return s
9522}
9523
9524type CreateDashboardOutput struct {
9525	_ struct{} `type:"structure"`
9526
9527	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
9528	// of the dashboard, which has the following format.
9529	//
9530	// arn:${Partition}:iotsitewise:${Region}:${Account}:dashboard/${DashboardId}
9531	//
9532	// DashboardArn is a required field
9533	DashboardArn *string `locationName:"dashboardArn" min:"1" type:"string" required:"true"`
9534
9535	// The ID of the dashboard.
9536	//
9537	// DashboardId is a required field
9538	DashboardId *string `locationName:"dashboardId" min:"36" type:"string" required:"true"`
9539}
9540
9541// String returns the string representation
9542func (s CreateDashboardOutput) String() string {
9543	return awsutil.Prettify(s)
9544}
9545
9546// GoString returns the string representation
9547func (s CreateDashboardOutput) GoString() string {
9548	return s.String()
9549}
9550
9551// SetDashboardArn sets the DashboardArn field's value.
9552func (s *CreateDashboardOutput) SetDashboardArn(v string) *CreateDashboardOutput {
9553	s.DashboardArn = &v
9554	return s
9555}
9556
9557// SetDashboardId sets the DashboardId field's value.
9558func (s *CreateDashboardOutput) SetDashboardId(v string) *CreateDashboardOutput {
9559	s.DashboardId = &v
9560	return s
9561}
9562
9563type CreateGatewayInput struct {
9564	_ struct{} `type:"structure"`
9565
9566	// A unique, friendly name for the gateway.
9567	//
9568	// GatewayName is a required field
9569	GatewayName *string `locationName:"gatewayName" min:"1" type:"string" required:"true"`
9570
9571	// The gateway's platform. You can only specify one platform in a gateway.
9572	//
9573	// GatewayPlatform is a required field
9574	GatewayPlatform *GatewayPlatform `locationName:"gatewayPlatform" type:"structure" required:"true"`
9575
9576	// A list of key-value pairs that contain metadata for the gateway. For more
9577	// information, see Tagging your AWS IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
9578	// in the AWS IoT SiteWise User Guide.
9579	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
9580}
9581
9582// String returns the string representation
9583func (s CreateGatewayInput) String() string {
9584	return awsutil.Prettify(s)
9585}
9586
9587// GoString returns the string representation
9588func (s CreateGatewayInput) GoString() string {
9589	return s.String()
9590}
9591
9592// Validate inspects the fields of the type to determine if they are valid.
9593func (s *CreateGatewayInput) Validate() error {
9594	invalidParams := request.ErrInvalidParams{Context: "CreateGatewayInput"}
9595	if s.GatewayName == nil {
9596		invalidParams.Add(request.NewErrParamRequired("GatewayName"))
9597	}
9598	if s.GatewayName != nil && len(*s.GatewayName) < 1 {
9599		invalidParams.Add(request.NewErrParamMinLen("GatewayName", 1))
9600	}
9601	if s.GatewayPlatform == nil {
9602		invalidParams.Add(request.NewErrParamRequired("GatewayPlatform"))
9603	}
9604	if s.Tags != nil && len(s.Tags) < 1 {
9605		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
9606	}
9607	if s.GatewayPlatform != nil {
9608		if err := s.GatewayPlatform.Validate(); err != nil {
9609			invalidParams.AddNested("GatewayPlatform", err.(request.ErrInvalidParams))
9610		}
9611	}
9612
9613	if invalidParams.Len() > 0 {
9614		return invalidParams
9615	}
9616	return nil
9617}
9618
9619// SetGatewayName sets the GatewayName field's value.
9620func (s *CreateGatewayInput) SetGatewayName(v string) *CreateGatewayInput {
9621	s.GatewayName = &v
9622	return s
9623}
9624
9625// SetGatewayPlatform sets the GatewayPlatform field's value.
9626func (s *CreateGatewayInput) SetGatewayPlatform(v *GatewayPlatform) *CreateGatewayInput {
9627	s.GatewayPlatform = v
9628	return s
9629}
9630
9631// SetTags sets the Tags field's value.
9632func (s *CreateGatewayInput) SetTags(v map[string]*string) *CreateGatewayInput {
9633	s.Tags = v
9634	return s
9635}
9636
9637type CreateGatewayOutput struct {
9638	_ struct{} `type:"structure"`
9639
9640	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
9641	// of the gateway, which has the following format.
9642	//
9643	// arn:${Partition}:iotsitewise:${Region}:${Account}:gateway/${GatewayId}
9644	//
9645	// GatewayArn is a required field
9646	GatewayArn *string `locationName:"gatewayArn" min:"1" type:"string" required:"true"`
9647
9648	// The ID of the gateway device. You can use this ID when you call other AWS
9649	// IoT SiteWise APIs.
9650	//
9651	// GatewayId is a required field
9652	GatewayId *string `locationName:"gatewayId" min:"36" type:"string" required:"true"`
9653}
9654
9655// String returns the string representation
9656func (s CreateGatewayOutput) String() string {
9657	return awsutil.Prettify(s)
9658}
9659
9660// GoString returns the string representation
9661func (s CreateGatewayOutput) GoString() string {
9662	return s.String()
9663}
9664
9665// SetGatewayArn sets the GatewayArn field's value.
9666func (s *CreateGatewayOutput) SetGatewayArn(v string) *CreateGatewayOutput {
9667	s.GatewayArn = &v
9668	return s
9669}
9670
9671// SetGatewayId sets the GatewayId field's value.
9672func (s *CreateGatewayOutput) SetGatewayId(v string) *CreateGatewayOutput {
9673	s.GatewayId = &v
9674	return s
9675}
9676
9677type CreatePortalInput struct {
9678	_ struct{} `type:"structure"`
9679
9680	// A unique case-sensitive identifier that you can provide to ensure the idempotency
9681	// of the request. Don't reuse this client token if a new idempotent request
9682	// is required.
9683	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
9684
9685	// The service to use to authenticate users to the portal. Choose from the following
9686	// options:
9687	//
9688	//    * SSO – The portal uses AWS Single Sign-On to authenticate users and
9689	//    manage user permissions. Before you can create a portal that uses AWS
9690	//    SSO, you must enable AWS SSO. For more information, see Enabling AWS SSO
9691	//    (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-get-started.html#mon-gs-sso)
9692	//    in the AWS IoT SiteWise User Guide. This option is only available in AWS
9693	//    Regions other than the China Regions.
9694	//
9695	//    * IAM – The portal uses AWS Identity and Access Management (IAM) to
9696	//    authenticate users and manage user permissions. This option is only available
9697	//    in the China Regions.
9698	//
9699	// You can't change this value after you create a portal.
9700	//
9701	// Default: SSO
9702	PortalAuthMode *string `locationName:"portalAuthMode" type:"string" enum:"AuthMode"`
9703
9704	// The AWS administrator's contact email address.
9705	//
9706	// PortalContactEmail is a required field
9707	PortalContactEmail *string `locationName:"portalContactEmail" min:"1" type:"string" required:"true"`
9708
9709	// A description for the portal.
9710	PortalDescription *string `locationName:"portalDescription" min:"1" type:"string"`
9711
9712	// A logo image to display in the portal. Upload a square, high-resolution image.
9713	// The image is displayed on a dark background.
9714	PortalLogoImageFile *ImageFile `locationName:"portalLogoImageFile" type:"structure"`
9715
9716	// A friendly name for the portal.
9717	//
9718	// PortalName is a required field
9719	PortalName *string `locationName:"portalName" min:"1" type:"string" required:"true"`
9720
9721	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
9722	// of a service role that allows the portal's users to access your AWS IoT SiteWise
9723	// resources on your behalf. For more information, see Using service roles for
9724	// AWS IoT SiteWise Monitor (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html)
9725	// in the AWS IoT SiteWise User Guide.
9726	//
9727	// RoleArn is a required field
9728	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
9729
9730	// A list of key-value pairs that contain metadata for the portal. For more
9731	// information, see Tagging your AWS IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
9732	// in the AWS IoT SiteWise User Guide.
9733	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
9734}
9735
9736// String returns the string representation
9737func (s CreatePortalInput) String() string {
9738	return awsutil.Prettify(s)
9739}
9740
9741// GoString returns the string representation
9742func (s CreatePortalInput) GoString() string {
9743	return s.String()
9744}
9745
9746// Validate inspects the fields of the type to determine if they are valid.
9747func (s *CreatePortalInput) Validate() error {
9748	invalidParams := request.ErrInvalidParams{Context: "CreatePortalInput"}
9749	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
9750		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
9751	}
9752	if s.PortalContactEmail == nil {
9753		invalidParams.Add(request.NewErrParamRequired("PortalContactEmail"))
9754	}
9755	if s.PortalContactEmail != nil && len(*s.PortalContactEmail) < 1 {
9756		invalidParams.Add(request.NewErrParamMinLen("PortalContactEmail", 1))
9757	}
9758	if s.PortalDescription != nil && len(*s.PortalDescription) < 1 {
9759		invalidParams.Add(request.NewErrParamMinLen("PortalDescription", 1))
9760	}
9761	if s.PortalName == nil {
9762		invalidParams.Add(request.NewErrParamRequired("PortalName"))
9763	}
9764	if s.PortalName != nil && len(*s.PortalName) < 1 {
9765		invalidParams.Add(request.NewErrParamMinLen("PortalName", 1))
9766	}
9767	if s.RoleArn == nil {
9768		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
9769	}
9770	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
9771		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
9772	}
9773	if s.Tags != nil && len(s.Tags) < 1 {
9774		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
9775	}
9776	if s.PortalLogoImageFile != nil {
9777		if err := s.PortalLogoImageFile.Validate(); err != nil {
9778			invalidParams.AddNested("PortalLogoImageFile", err.(request.ErrInvalidParams))
9779		}
9780	}
9781
9782	if invalidParams.Len() > 0 {
9783		return invalidParams
9784	}
9785	return nil
9786}
9787
9788// SetClientToken sets the ClientToken field's value.
9789func (s *CreatePortalInput) SetClientToken(v string) *CreatePortalInput {
9790	s.ClientToken = &v
9791	return s
9792}
9793
9794// SetPortalAuthMode sets the PortalAuthMode field's value.
9795func (s *CreatePortalInput) SetPortalAuthMode(v string) *CreatePortalInput {
9796	s.PortalAuthMode = &v
9797	return s
9798}
9799
9800// SetPortalContactEmail sets the PortalContactEmail field's value.
9801func (s *CreatePortalInput) SetPortalContactEmail(v string) *CreatePortalInput {
9802	s.PortalContactEmail = &v
9803	return s
9804}
9805
9806// SetPortalDescription sets the PortalDescription field's value.
9807func (s *CreatePortalInput) SetPortalDescription(v string) *CreatePortalInput {
9808	s.PortalDescription = &v
9809	return s
9810}
9811
9812// SetPortalLogoImageFile sets the PortalLogoImageFile field's value.
9813func (s *CreatePortalInput) SetPortalLogoImageFile(v *ImageFile) *CreatePortalInput {
9814	s.PortalLogoImageFile = v
9815	return s
9816}
9817
9818// SetPortalName sets the PortalName field's value.
9819func (s *CreatePortalInput) SetPortalName(v string) *CreatePortalInput {
9820	s.PortalName = &v
9821	return s
9822}
9823
9824// SetRoleArn sets the RoleArn field's value.
9825func (s *CreatePortalInput) SetRoleArn(v string) *CreatePortalInput {
9826	s.RoleArn = &v
9827	return s
9828}
9829
9830// SetTags sets the Tags field's value.
9831func (s *CreatePortalInput) SetTags(v map[string]*string) *CreatePortalInput {
9832	s.Tags = v
9833	return s
9834}
9835
9836type CreatePortalOutput struct {
9837	_ struct{} `type:"structure"`
9838
9839	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
9840	// of the portal, which has the following format.
9841	//
9842	// arn:${Partition}:iotsitewise:${Region}:${Account}:portal/${PortalId}
9843	//
9844	// PortalArn is a required field
9845	PortalArn *string `locationName:"portalArn" min:"1" type:"string" required:"true"`
9846
9847	// The ID of the created portal.
9848	//
9849	// PortalId is a required field
9850	PortalId *string `locationName:"portalId" min:"36" type:"string" required:"true"`
9851
9852	// The URL for the AWS IoT SiteWise Monitor portal. You can use this URL to
9853	// access portals that use AWS SSO for authentication. For portals that use
9854	// IAM for authentication, you must use the AWS IoT SiteWise console to get
9855	// a URL that you can use to access the portal.
9856	//
9857	// PortalStartUrl is a required field
9858	PortalStartUrl *string `locationName:"portalStartUrl" min:"1" type:"string" required:"true"`
9859
9860	// The status of the portal, which contains a state (CREATING after successfully
9861	// calling this operation) and any error message.
9862	//
9863	// PortalStatus is a required field
9864	PortalStatus *PortalStatus `locationName:"portalStatus" type:"structure" required:"true"`
9865
9866	// The associated AWS SSO application ID, if the portal uses AWS SSO.
9867	//
9868	// SsoApplicationId is a required field
9869	SsoApplicationId *string `locationName:"ssoApplicationId" min:"1" type:"string" required:"true"`
9870}
9871
9872// String returns the string representation
9873func (s CreatePortalOutput) String() string {
9874	return awsutil.Prettify(s)
9875}
9876
9877// GoString returns the string representation
9878func (s CreatePortalOutput) GoString() string {
9879	return s.String()
9880}
9881
9882// SetPortalArn sets the PortalArn field's value.
9883func (s *CreatePortalOutput) SetPortalArn(v string) *CreatePortalOutput {
9884	s.PortalArn = &v
9885	return s
9886}
9887
9888// SetPortalId sets the PortalId field's value.
9889func (s *CreatePortalOutput) SetPortalId(v string) *CreatePortalOutput {
9890	s.PortalId = &v
9891	return s
9892}
9893
9894// SetPortalStartUrl sets the PortalStartUrl field's value.
9895func (s *CreatePortalOutput) SetPortalStartUrl(v string) *CreatePortalOutput {
9896	s.PortalStartUrl = &v
9897	return s
9898}
9899
9900// SetPortalStatus sets the PortalStatus field's value.
9901func (s *CreatePortalOutput) SetPortalStatus(v *PortalStatus) *CreatePortalOutput {
9902	s.PortalStatus = v
9903	return s
9904}
9905
9906// SetSsoApplicationId sets the SsoApplicationId field's value.
9907func (s *CreatePortalOutput) SetSsoApplicationId(v string) *CreatePortalOutput {
9908	s.SsoApplicationId = &v
9909	return s
9910}
9911
9912type CreateProjectInput struct {
9913	_ struct{} `type:"structure"`
9914
9915	// A unique case-sensitive identifier that you can provide to ensure the idempotency
9916	// of the request. Don't reuse this client token if a new idempotent request
9917	// is required.
9918	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
9919
9920	// The ID of the portal in which to create the project.
9921	//
9922	// PortalId is a required field
9923	PortalId *string `locationName:"portalId" min:"36" type:"string" required:"true"`
9924
9925	// A description for the project.
9926	ProjectDescription *string `locationName:"projectDescription" min:"1" type:"string"`
9927
9928	// A friendly name for the project.
9929	//
9930	// ProjectName is a required field
9931	ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"`
9932
9933	// A list of key-value pairs that contain metadata for the project. For more
9934	// information, see Tagging your AWS IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
9935	// in the AWS IoT SiteWise User Guide.
9936	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
9937}
9938
9939// String returns the string representation
9940func (s CreateProjectInput) String() string {
9941	return awsutil.Prettify(s)
9942}
9943
9944// GoString returns the string representation
9945func (s CreateProjectInput) GoString() string {
9946	return s.String()
9947}
9948
9949// Validate inspects the fields of the type to determine if they are valid.
9950func (s *CreateProjectInput) Validate() error {
9951	invalidParams := request.ErrInvalidParams{Context: "CreateProjectInput"}
9952	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
9953		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
9954	}
9955	if s.PortalId == nil {
9956		invalidParams.Add(request.NewErrParamRequired("PortalId"))
9957	}
9958	if s.PortalId != nil && len(*s.PortalId) < 36 {
9959		invalidParams.Add(request.NewErrParamMinLen("PortalId", 36))
9960	}
9961	if s.ProjectDescription != nil && len(*s.ProjectDescription) < 1 {
9962		invalidParams.Add(request.NewErrParamMinLen("ProjectDescription", 1))
9963	}
9964	if s.ProjectName == nil {
9965		invalidParams.Add(request.NewErrParamRequired("ProjectName"))
9966	}
9967	if s.ProjectName != nil && len(*s.ProjectName) < 1 {
9968		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1))
9969	}
9970	if s.Tags != nil && len(s.Tags) < 1 {
9971		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
9972	}
9973
9974	if invalidParams.Len() > 0 {
9975		return invalidParams
9976	}
9977	return nil
9978}
9979
9980// SetClientToken sets the ClientToken field's value.
9981func (s *CreateProjectInput) SetClientToken(v string) *CreateProjectInput {
9982	s.ClientToken = &v
9983	return s
9984}
9985
9986// SetPortalId sets the PortalId field's value.
9987func (s *CreateProjectInput) SetPortalId(v string) *CreateProjectInput {
9988	s.PortalId = &v
9989	return s
9990}
9991
9992// SetProjectDescription sets the ProjectDescription field's value.
9993func (s *CreateProjectInput) SetProjectDescription(v string) *CreateProjectInput {
9994	s.ProjectDescription = &v
9995	return s
9996}
9997
9998// SetProjectName sets the ProjectName field's value.
9999func (s *CreateProjectInput) SetProjectName(v string) *CreateProjectInput {
10000	s.ProjectName = &v
10001	return s
10002}
10003
10004// SetTags sets the Tags field's value.
10005func (s *CreateProjectInput) SetTags(v map[string]*string) *CreateProjectInput {
10006	s.Tags = v
10007	return s
10008}
10009
10010type CreateProjectOutput struct {
10011	_ struct{} `type:"structure"`
10012
10013	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
10014	// of the project, which has the following format.
10015	//
10016	// arn:${Partition}:iotsitewise:${Region}:${Account}:project/${ProjectId}
10017	//
10018	// ProjectArn is a required field
10019	ProjectArn *string `locationName:"projectArn" min:"1" type:"string" required:"true"`
10020
10021	// The ID of the project.
10022	//
10023	// ProjectId is a required field
10024	ProjectId *string `locationName:"projectId" min:"36" type:"string" required:"true"`
10025}
10026
10027// String returns the string representation
10028func (s CreateProjectOutput) String() string {
10029	return awsutil.Prettify(s)
10030}
10031
10032// GoString returns the string representation
10033func (s CreateProjectOutput) GoString() string {
10034	return s.String()
10035}
10036
10037// SetProjectArn sets the ProjectArn field's value.
10038func (s *CreateProjectOutput) SetProjectArn(v string) *CreateProjectOutput {
10039	s.ProjectArn = &v
10040	return s
10041}
10042
10043// SetProjectId sets the ProjectId field's value.
10044func (s *CreateProjectOutput) SetProjectId(v string) *CreateProjectOutput {
10045	s.ProjectId = &v
10046	return s
10047}
10048
10049// Contains a dashboard summary.
10050type DashboardSummary struct {
10051	_ struct{} `type:"structure"`
10052
10053	// The date the dashboard was created, in Unix epoch time.
10054	CreationDate *time.Time `locationName:"creationDate" type:"timestamp"`
10055
10056	// The dashboard's description.
10057	Description *string `locationName:"description" min:"1" type:"string"`
10058
10059	// The ID of the dashboard.
10060	//
10061	// Id is a required field
10062	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
10063
10064	// The date the dashboard was last updated, in Unix epoch time.
10065	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp"`
10066
10067	// The name of the dashboard
10068	//
10069	// Name is a required field
10070	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
10071}
10072
10073// String returns the string representation
10074func (s DashboardSummary) String() string {
10075	return awsutil.Prettify(s)
10076}
10077
10078// GoString returns the string representation
10079func (s DashboardSummary) GoString() string {
10080	return s.String()
10081}
10082
10083// SetCreationDate sets the CreationDate field's value.
10084func (s *DashboardSummary) SetCreationDate(v time.Time) *DashboardSummary {
10085	s.CreationDate = &v
10086	return s
10087}
10088
10089// SetDescription sets the Description field's value.
10090func (s *DashboardSummary) SetDescription(v string) *DashboardSummary {
10091	s.Description = &v
10092	return s
10093}
10094
10095// SetId sets the Id field's value.
10096func (s *DashboardSummary) SetId(v string) *DashboardSummary {
10097	s.Id = &v
10098	return s
10099}
10100
10101// SetLastUpdateDate sets the LastUpdateDate field's value.
10102func (s *DashboardSummary) SetLastUpdateDate(v time.Time) *DashboardSummary {
10103	s.LastUpdateDate = &v
10104	return s
10105}
10106
10107// SetName sets the Name field's value.
10108func (s *DashboardSummary) SetName(v string) *DashboardSummary {
10109	s.Name = &v
10110	return s
10111}
10112
10113type DeleteAccessPolicyInput struct {
10114	_ struct{} `type:"structure"`
10115
10116	// The ID of the access policy to be deleted.
10117	//
10118	// AccessPolicyId is a required field
10119	AccessPolicyId *string `location:"uri" locationName:"accessPolicyId" min:"36" type:"string" required:"true"`
10120
10121	// A unique case-sensitive identifier that you can provide to ensure the idempotency
10122	// of the request. Don't reuse this client token if a new idempotent request
10123	// is required.
10124	ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
10125}
10126
10127// String returns the string representation
10128func (s DeleteAccessPolicyInput) String() string {
10129	return awsutil.Prettify(s)
10130}
10131
10132// GoString returns the string representation
10133func (s DeleteAccessPolicyInput) GoString() string {
10134	return s.String()
10135}
10136
10137// Validate inspects the fields of the type to determine if they are valid.
10138func (s *DeleteAccessPolicyInput) Validate() error {
10139	invalidParams := request.ErrInvalidParams{Context: "DeleteAccessPolicyInput"}
10140	if s.AccessPolicyId == nil {
10141		invalidParams.Add(request.NewErrParamRequired("AccessPolicyId"))
10142	}
10143	if s.AccessPolicyId != nil && len(*s.AccessPolicyId) < 36 {
10144		invalidParams.Add(request.NewErrParamMinLen("AccessPolicyId", 36))
10145	}
10146	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
10147		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
10148	}
10149
10150	if invalidParams.Len() > 0 {
10151		return invalidParams
10152	}
10153	return nil
10154}
10155
10156// SetAccessPolicyId sets the AccessPolicyId field's value.
10157func (s *DeleteAccessPolicyInput) SetAccessPolicyId(v string) *DeleteAccessPolicyInput {
10158	s.AccessPolicyId = &v
10159	return s
10160}
10161
10162// SetClientToken sets the ClientToken field's value.
10163func (s *DeleteAccessPolicyInput) SetClientToken(v string) *DeleteAccessPolicyInput {
10164	s.ClientToken = &v
10165	return s
10166}
10167
10168type DeleteAccessPolicyOutput struct {
10169	_ struct{} `type:"structure"`
10170}
10171
10172// String returns the string representation
10173func (s DeleteAccessPolicyOutput) String() string {
10174	return awsutil.Prettify(s)
10175}
10176
10177// GoString returns the string representation
10178func (s DeleteAccessPolicyOutput) GoString() string {
10179	return s.String()
10180}
10181
10182type DeleteAssetInput struct {
10183	_ struct{} `type:"structure"`
10184
10185	// The ID of the asset to delete.
10186	//
10187	// AssetId is a required field
10188	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
10189
10190	// A unique case-sensitive identifier that you can provide to ensure the idempotency
10191	// of the request. Don't reuse this client token if a new idempotent request
10192	// is required.
10193	ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
10194}
10195
10196// String returns the string representation
10197func (s DeleteAssetInput) String() string {
10198	return awsutil.Prettify(s)
10199}
10200
10201// GoString returns the string representation
10202func (s DeleteAssetInput) GoString() string {
10203	return s.String()
10204}
10205
10206// Validate inspects the fields of the type to determine if they are valid.
10207func (s *DeleteAssetInput) Validate() error {
10208	invalidParams := request.ErrInvalidParams{Context: "DeleteAssetInput"}
10209	if s.AssetId == nil {
10210		invalidParams.Add(request.NewErrParamRequired("AssetId"))
10211	}
10212	if s.AssetId != nil && len(*s.AssetId) < 36 {
10213		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
10214	}
10215	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
10216		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
10217	}
10218
10219	if invalidParams.Len() > 0 {
10220		return invalidParams
10221	}
10222	return nil
10223}
10224
10225// SetAssetId sets the AssetId field's value.
10226func (s *DeleteAssetInput) SetAssetId(v string) *DeleteAssetInput {
10227	s.AssetId = &v
10228	return s
10229}
10230
10231// SetClientToken sets the ClientToken field's value.
10232func (s *DeleteAssetInput) SetClientToken(v string) *DeleteAssetInput {
10233	s.ClientToken = &v
10234	return s
10235}
10236
10237type DeleteAssetModelInput struct {
10238	_ struct{} `type:"structure"`
10239
10240	// The ID of the asset model to delete.
10241	//
10242	// AssetModelId is a required field
10243	AssetModelId *string `location:"uri" locationName:"assetModelId" min:"36" type:"string" required:"true"`
10244
10245	// A unique case-sensitive identifier that you can provide to ensure the idempotency
10246	// of the request. Don't reuse this client token if a new idempotent request
10247	// is required.
10248	ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
10249}
10250
10251// String returns the string representation
10252func (s DeleteAssetModelInput) String() string {
10253	return awsutil.Prettify(s)
10254}
10255
10256// GoString returns the string representation
10257func (s DeleteAssetModelInput) GoString() string {
10258	return s.String()
10259}
10260
10261// Validate inspects the fields of the type to determine if they are valid.
10262func (s *DeleteAssetModelInput) Validate() error {
10263	invalidParams := request.ErrInvalidParams{Context: "DeleteAssetModelInput"}
10264	if s.AssetModelId == nil {
10265		invalidParams.Add(request.NewErrParamRequired("AssetModelId"))
10266	}
10267	if s.AssetModelId != nil && len(*s.AssetModelId) < 36 {
10268		invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36))
10269	}
10270	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
10271		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
10272	}
10273
10274	if invalidParams.Len() > 0 {
10275		return invalidParams
10276	}
10277	return nil
10278}
10279
10280// SetAssetModelId sets the AssetModelId field's value.
10281func (s *DeleteAssetModelInput) SetAssetModelId(v string) *DeleteAssetModelInput {
10282	s.AssetModelId = &v
10283	return s
10284}
10285
10286// SetClientToken sets the ClientToken field's value.
10287func (s *DeleteAssetModelInput) SetClientToken(v string) *DeleteAssetModelInput {
10288	s.ClientToken = &v
10289	return s
10290}
10291
10292type DeleteAssetModelOutput struct {
10293	_ struct{} `type:"structure"`
10294
10295	// The status of the asset model, which contains a state (DELETING after successfully
10296	// calling this operation) and any error message.
10297	//
10298	// AssetModelStatus is a required field
10299	AssetModelStatus *AssetModelStatus `locationName:"assetModelStatus" type:"structure" required:"true"`
10300}
10301
10302// String returns the string representation
10303func (s DeleteAssetModelOutput) String() string {
10304	return awsutil.Prettify(s)
10305}
10306
10307// GoString returns the string representation
10308func (s DeleteAssetModelOutput) GoString() string {
10309	return s.String()
10310}
10311
10312// SetAssetModelStatus sets the AssetModelStatus field's value.
10313func (s *DeleteAssetModelOutput) SetAssetModelStatus(v *AssetModelStatus) *DeleteAssetModelOutput {
10314	s.AssetModelStatus = v
10315	return s
10316}
10317
10318type DeleteAssetOutput struct {
10319	_ struct{} `type:"structure"`
10320
10321	// The status of the asset, which contains a state (DELETING after successfully
10322	// calling this operation) and any error message.
10323	//
10324	// AssetStatus is a required field
10325	AssetStatus *AssetStatus `locationName:"assetStatus" type:"structure" required:"true"`
10326}
10327
10328// String returns the string representation
10329func (s DeleteAssetOutput) String() string {
10330	return awsutil.Prettify(s)
10331}
10332
10333// GoString returns the string representation
10334func (s DeleteAssetOutput) GoString() string {
10335	return s.String()
10336}
10337
10338// SetAssetStatus sets the AssetStatus field's value.
10339func (s *DeleteAssetOutput) SetAssetStatus(v *AssetStatus) *DeleteAssetOutput {
10340	s.AssetStatus = v
10341	return s
10342}
10343
10344type DeleteDashboardInput struct {
10345	_ struct{} `type:"structure"`
10346
10347	// A unique case-sensitive identifier that you can provide to ensure the idempotency
10348	// of the request. Don't reuse this client token if a new idempotent request
10349	// is required.
10350	ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
10351
10352	// The ID of the dashboard to delete.
10353	//
10354	// DashboardId is a required field
10355	DashboardId *string `location:"uri" locationName:"dashboardId" min:"36" type:"string" required:"true"`
10356}
10357
10358// String returns the string representation
10359func (s DeleteDashboardInput) String() string {
10360	return awsutil.Prettify(s)
10361}
10362
10363// GoString returns the string representation
10364func (s DeleteDashboardInput) GoString() string {
10365	return s.String()
10366}
10367
10368// Validate inspects the fields of the type to determine if they are valid.
10369func (s *DeleteDashboardInput) Validate() error {
10370	invalidParams := request.ErrInvalidParams{Context: "DeleteDashboardInput"}
10371	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
10372		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
10373	}
10374	if s.DashboardId == nil {
10375		invalidParams.Add(request.NewErrParamRequired("DashboardId"))
10376	}
10377	if s.DashboardId != nil && len(*s.DashboardId) < 36 {
10378		invalidParams.Add(request.NewErrParamMinLen("DashboardId", 36))
10379	}
10380
10381	if invalidParams.Len() > 0 {
10382		return invalidParams
10383	}
10384	return nil
10385}
10386
10387// SetClientToken sets the ClientToken field's value.
10388func (s *DeleteDashboardInput) SetClientToken(v string) *DeleteDashboardInput {
10389	s.ClientToken = &v
10390	return s
10391}
10392
10393// SetDashboardId sets the DashboardId field's value.
10394func (s *DeleteDashboardInput) SetDashboardId(v string) *DeleteDashboardInput {
10395	s.DashboardId = &v
10396	return s
10397}
10398
10399type DeleteDashboardOutput struct {
10400	_ struct{} `type:"structure"`
10401}
10402
10403// String returns the string representation
10404func (s DeleteDashboardOutput) String() string {
10405	return awsutil.Prettify(s)
10406}
10407
10408// GoString returns the string representation
10409func (s DeleteDashboardOutput) GoString() string {
10410	return s.String()
10411}
10412
10413type DeleteGatewayInput struct {
10414	_ struct{} `type:"structure"`
10415
10416	// The ID of the gateway to delete.
10417	//
10418	// GatewayId is a required field
10419	GatewayId *string `location:"uri" locationName:"gatewayId" min:"36" type:"string" required:"true"`
10420}
10421
10422// String returns the string representation
10423func (s DeleteGatewayInput) String() string {
10424	return awsutil.Prettify(s)
10425}
10426
10427// GoString returns the string representation
10428func (s DeleteGatewayInput) GoString() string {
10429	return s.String()
10430}
10431
10432// Validate inspects the fields of the type to determine if they are valid.
10433func (s *DeleteGatewayInput) Validate() error {
10434	invalidParams := request.ErrInvalidParams{Context: "DeleteGatewayInput"}
10435	if s.GatewayId == nil {
10436		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
10437	}
10438	if s.GatewayId != nil && len(*s.GatewayId) < 36 {
10439		invalidParams.Add(request.NewErrParamMinLen("GatewayId", 36))
10440	}
10441
10442	if invalidParams.Len() > 0 {
10443		return invalidParams
10444	}
10445	return nil
10446}
10447
10448// SetGatewayId sets the GatewayId field's value.
10449func (s *DeleteGatewayInput) SetGatewayId(v string) *DeleteGatewayInput {
10450	s.GatewayId = &v
10451	return s
10452}
10453
10454type DeleteGatewayOutput struct {
10455	_ struct{} `type:"structure"`
10456}
10457
10458// String returns the string representation
10459func (s DeleteGatewayOutput) String() string {
10460	return awsutil.Prettify(s)
10461}
10462
10463// GoString returns the string representation
10464func (s DeleteGatewayOutput) GoString() string {
10465	return s.String()
10466}
10467
10468type DeletePortalInput struct {
10469	_ struct{} `type:"structure"`
10470
10471	// A unique case-sensitive identifier that you can provide to ensure the idempotency
10472	// of the request. Don't reuse this client token if a new idempotent request
10473	// is required.
10474	ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
10475
10476	// The ID of the portal to delete.
10477	//
10478	// PortalId is a required field
10479	PortalId *string `location:"uri" locationName:"portalId" min:"36" type:"string" required:"true"`
10480}
10481
10482// String returns the string representation
10483func (s DeletePortalInput) String() string {
10484	return awsutil.Prettify(s)
10485}
10486
10487// GoString returns the string representation
10488func (s DeletePortalInput) GoString() string {
10489	return s.String()
10490}
10491
10492// Validate inspects the fields of the type to determine if they are valid.
10493func (s *DeletePortalInput) Validate() error {
10494	invalidParams := request.ErrInvalidParams{Context: "DeletePortalInput"}
10495	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
10496		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
10497	}
10498	if s.PortalId == nil {
10499		invalidParams.Add(request.NewErrParamRequired("PortalId"))
10500	}
10501	if s.PortalId != nil && len(*s.PortalId) < 36 {
10502		invalidParams.Add(request.NewErrParamMinLen("PortalId", 36))
10503	}
10504
10505	if invalidParams.Len() > 0 {
10506		return invalidParams
10507	}
10508	return nil
10509}
10510
10511// SetClientToken sets the ClientToken field's value.
10512func (s *DeletePortalInput) SetClientToken(v string) *DeletePortalInput {
10513	s.ClientToken = &v
10514	return s
10515}
10516
10517// SetPortalId sets the PortalId field's value.
10518func (s *DeletePortalInput) SetPortalId(v string) *DeletePortalInput {
10519	s.PortalId = &v
10520	return s
10521}
10522
10523type DeletePortalOutput struct {
10524	_ struct{} `type:"structure"`
10525
10526	// The status of the portal, which contains a state (DELETING after successfully
10527	// calling this operation) and any error message.
10528	//
10529	// PortalStatus is a required field
10530	PortalStatus *PortalStatus `locationName:"portalStatus" type:"structure" required:"true"`
10531}
10532
10533// String returns the string representation
10534func (s DeletePortalOutput) String() string {
10535	return awsutil.Prettify(s)
10536}
10537
10538// GoString returns the string representation
10539func (s DeletePortalOutput) GoString() string {
10540	return s.String()
10541}
10542
10543// SetPortalStatus sets the PortalStatus field's value.
10544func (s *DeletePortalOutput) SetPortalStatus(v *PortalStatus) *DeletePortalOutput {
10545	s.PortalStatus = v
10546	return s
10547}
10548
10549type DeleteProjectInput struct {
10550	_ struct{} `type:"structure"`
10551
10552	// A unique case-sensitive identifier that you can provide to ensure the idempotency
10553	// of the request. Don't reuse this client token if a new idempotent request
10554	// is required.
10555	ClientToken *string `location:"querystring" locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
10556
10557	// The ID of the project.
10558	//
10559	// ProjectId is a required field
10560	ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"`
10561}
10562
10563// String returns the string representation
10564func (s DeleteProjectInput) String() string {
10565	return awsutil.Prettify(s)
10566}
10567
10568// GoString returns the string representation
10569func (s DeleteProjectInput) GoString() string {
10570	return s.String()
10571}
10572
10573// Validate inspects the fields of the type to determine if they are valid.
10574func (s *DeleteProjectInput) Validate() error {
10575	invalidParams := request.ErrInvalidParams{Context: "DeleteProjectInput"}
10576	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
10577		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
10578	}
10579	if s.ProjectId == nil {
10580		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
10581	}
10582	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
10583		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
10584	}
10585
10586	if invalidParams.Len() > 0 {
10587		return invalidParams
10588	}
10589	return nil
10590}
10591
10592// SetClientToken sets the ClientToken field's value.
10593func (s *DeleteProjectInput) SetClientToken(v string) *DeleteProjectInput {
10594	s.ClientToken = &v
10595	return s
10596}
10597
10598// SetProjectId sets the ProjectId field's value.
10599func (s *DeleteProjectInput) SetProjectId(v string) *DeleteProjectInput {
10600	s.ProjectId = &v
10601	return s
10602}
10603
10604type DeleteProjectOutput struct {
10605	_ struct{} `type:"structure"`
10606}
10607
10608// String returns the string representation
10609func (s DeleteProjectOutput) String() string {
10610	return awsutil.Prettify(s)
10611}
10612
10613// GoString returns the string representation
10614func (s DeleteProjectOutput) GoString() string {
10615	return s.String()
10616}
10617
10618type DescribeAccessPolicyInput struct {
10619	_ struct{} `type:"structure"`
10620
10621	// The ID of the access policy.
10622	//
10623	// AccessPolicyId is a required field
10624	AccessPolicyId *string `location:"uri" locationName:"accessPolicyId" min:"36" type:"string" required:"true"`
10625}
10626
10627// String returns the string representation
10628func (s DescribeAccessPolicyInput) String() string {
10629	return awsutil.Prettify(s)
10630}
10631
10632// GoString returns the string representation
10633func (s DescribeAccessPolicyInput) GoString() string {
10634	return s.String()
10635}
10636
10637// Validate inspects the fields of the type to determine if they are valid.
10638func (s *DescribeAccessPolicyInput) Validate() error {
10639	invalidParams := request.ErrInvalidParams{Context: "DescribeAccessPolicyInput"}
10640	if s.AccessPolicyId == nil {
10641		invalidParams.Add(request.NewErrParamRequired("AccessPolicyId"))
10642	}
10643	if s.AccessPolicyId != nil && len(*s.AccessPolicyId) < 36 {
10644		invalidParams.Add(request.NewErrParamMinLen("AccessPolicyId", 36))
10645	}
10646
10647	if invalidParams.Len() > 0 {
10648		return invalidParams
10649	}
10650	return nil
10651}
10652
10653// SetAccessPolicyId sets the AccessPolicyId field's value.
10654func (s *DescribeAccessPolicyInput) SetAccessPolicyId(v string) *DescribeAccessPolicyInput {
10655	s.AccessPolicyId = &v
10656	return s
10657}
10658
10659type DescribeAccessPolicyOutput struct {
10660	_ struct{} `type:"structure"`
10661
10662	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
10663	// of the access policy, which has the following format.
10664	//
10665	// arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy/${AccessPolicyId}
10666	//
10667	// AccessPolicyArn is a required field
10668	AccessPolicyArn *string `locationName:"accessPolicyArn" min:"1" type:"string" required:"true"`
10669
10670	// The date the access policy was created, in Unix epoch time.
10671	//
10672	// AccessPolicyCreationDate is a required field
10673	AccessPolicyCreationDate *time.Time `locationName:"accessPolicyCreationDate" type:"timestamp" required:"true"`
10674
10675	// The ID of the access policy.
10676	//
10677	// AccessPolicyId is a required field
10678	AccessPolicyId *string `locationName:"accessPolicyId" min:"36" type:"string" required:"true"`
10679
10680	// The identity (AWS SSO user, AWS SSO group, or IAM user) to which this access
10681	// policy applies.
10682	//
10683	// AccessPolicyIdentity is a required field
10684	AccessPolicyIdentity *Identity `locationName:"accessPolicyIdentity" type:"structure" required:"true"`
10685
10686	// The date the access policy was last updated, in Unix epoch time.
10687	//
10688	// AccessPolicyLastUpdateDate is a required field
10689	AccessPolicyLastUpdateDate *time.Time `locationName:"accessPolicyLastUpdateDate" type:"timestamp" required:"true"`
10690
10691	// The access policy permission. Note that a project ADMINISTRATOR is also known
10692	// as a project owner.
10693	//
10694	// AccessPolicyPermission is a required field
10695	AccessPolicyPermission *string `locationName:"accessPolicyPermission" type:"string" required:"true" enum:"Permission"`
10696
10697	// The AWS IoT SiteWise Monitor resource (portal or project) to which this access
10698	// policy provides access.
10699	//
10700	// AccessPolicyResource is a required field
10701	AccessPolicyResource *Resource `locationName:"accessPolicyResource" type:"structure" required:"true"`
10702}
10703
10704// String returns the string representation
10705func (s DescribeAccessPolicyOutput) String() string {
10706	return awsutil.Prettify(s)
10707}
10708
10709// GoString returns the string representation
10710func (s DescribeAccessPolicyOutput) GoString() string {
10711	return s.String()
10712}
10713
10714// SetAccessPolicyArn sets the AccessPolicyArn field's value.
10715func (s *DescribeAccessPolicyOutput) SetAccessPolicyArn(v string) *DescribeAccessPolicyOutput {
10716	s.AccessPolicyArn = &v
10717	return s
10718}
10719
10720// SetAccessPolicyCreationDate sets the AccessPolicyCreationDate field's value.
10721func (s *DescribeAccessPolicyOutput) SetAccessPolicyCreationDate(v time.Time) *DescribeAccessPolicyOutput {
10722	s.AccessPolicyCreationDate = &v
10723	return s
10724}
10725
10726// SetAccessPolicyId sets the AccessPolicyId field's value.
10727func (s *DescribeAccessPolicyOutput) SetAccessPolicyId(v string) *DescribeAccessPolicyOutput {
10728	s.AccessPolicyId = &v
10729	return s
10730}
10731
10732// SetAccessPolicyIdentity sets the AccessPolicyIdentity field's value.
10733func (s *DescribeAccessPolicyOutput) SetAccessPolicyIdentity(v *Identity) *DescribeAccessPolicyOutput {
10734	s.AccessPolicyIdentity = v
10735	return s
10736}
10737
10738// SetAccessPolicyLastUpdateDate sets the AccessPolicyLastUpdateDate field's value.
10739func (s *DescribeAccessPolicyOutput) SetAccessPolicyLastUpdateDate(v time.Time) *DescribeAccessPolicyOutput {
10740	s.AccessPolicyLastUpdateDate = &v
10741	return s
10742}
10743
10744// SetAccessPolicyPermission sets the AccessPolicyPermission field's value.
10745func (s *DescribeAccessPolicyOutput) SetAccessPolicyPermission(v string) *DescribeAccessPolicyOutput {
10746	s.AccessPolicyPermission = &v
10747	return s
10748}
10749
10750// SetAccessPolicyResource sets the AccessPolicyResource field's value.
10751func (s *DescribeAccessPolicyOutput) SetAccessPolicyResource(v *Resource) *DescribeAccessPolicyOutput {
10752	s.AccessPolicyResource = v
10753	return s
10754}
10755
10756type DescribeAssetInput struct {
10757	_ struct{} `type:"structure"`
10758
10759	// The ID of the asset.
10760	//
10761	// AssetId is a required field
10762	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
10763}
10764
10765// String returns the string representation
10766func (s DescribeAssetInput) String() string {
10767	return awsutil.Prettify(s)
10768}
10769
10770// GoString returns the string representation
10771func (s DescribeAssetInput) GoString() string {
10772	return s.String()
10773}
10774
10775// Validate inspects the fields of the type to determine if they are valid.
10776func (s *DescribeAssetInput) Validate() error {
10777	invalidParams := request.ErrInvalidParams{Context: "DescribeAssetInput"}
10778	if s.AssetId == nil {
10779		invalidParams.Add(request.NewErrParamRequired("AssetId"))
10780	}
10781	if s.AssetId != nil && len(*s.AssetId) < 36 {
10782		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
10783	}
10784
10785	if invalidParams.Len() > 0 {
10786		return invalidParams
10787	}
10788	return nil
10789}
10790
10791// SetAssetId sets the AssetId field's value.
10792func (s *DescribeAssetInput) SetAssetId(v string) *DescribeAssetInput {
10793	s.AssetId = &v
10794	return s
10795}
10796
10797type DescribeAssetModelInput struct {
10798	_ struct{} `type:"structure"`
10799
10800	// The ID of the asset model.
10801	//
10802	// AssetModelId is a required field
10803	AssetModelId *string `location:"uri" locationName:"assetModelId" min:"36" type:"string" required:"true"`
10804}
10805
10806// String returns the string representation
10807func (s DescribeAssetModelInput) String() string {
10808	return awsutil.Prettify(s)
10809}
10810
10811// GoString returns the string representation
10812func (s DescribeAssetModelInput) GoString() string {
10813	return s.String()
10814}
10815
10816// Validate inspects the fields of the type to determine if they are valid.
10817func (s *DescribeAssetModelInput) Validate() error {
10818	invalidParams := request.ErrInvalidParams{Context: "DescribeAssetModelInput"}
10819	if s.AssetModelId == nil {
10820		invalidParams.Add(request.NewErrParamRequired("AssetModelId"))
10821	}
10822	if s.AssetModelId != nil && len(*s.AssetModelId) < 36 {
10823		invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36))
10824	}
10825
10826	if invalidParams.Len() > 0 {
10827		return invalidParams
10828	}
10829	return nil
10830}
10831
10832// SetAssetModelId sets the AssetModelId field's value.
10833func (s *DescribeAssetModelInput) SetAssetModelId(v string) *DescribeAssetModelInput {
10834	s.AssetModelId = &v
10835	return s
10836}
10837
10838type DescribeAssetModelOutput struct {
10839	_ struct{} `type:"structure"`
10840
10841	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
10842	// of the asset model, which has the following format.
10843	//
10844	// arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId}
10845	//
10846	// AssetModelArn is a required field
10847	AssetModelArn *string `locationName:"assetModelArn" min:"1" type:"string" required:"true"`
10848
10849	// The list of composite asset models for the asset model.
10850	AssetModelCompositeModels []*AssetModelCompositeModel `locationName:"assetModelCompositeModels" type:"list"`
10851
10852	// The date the asset model was created, in Unix epoch time.
10853	//
10854	// AssetModelCreationDate is a required field
10855	AssetModelCreationDate *time.Time `locationName:"assetModelCreationDate" type:"timestamp" required:"true"`
10856
10857	// The asset model's description.
10858	//
10859	// AssetModelDescription is a required field
10860	AssetModelDescription *string `locationName:"assetModelDescription" min:"1" type:"string" required:"true"`
10861
10862	// A list of asset model hierarchies that each contain a childAssetModelId and
10863	// a hierarchyId (named id). A hierarchy specifies allowed parent/child asset
10864	// relationships for an asset model.
10865	//
10866	// AssetModelHierarchies is a required field
10867	AssetModelHierarchies []*AssetModelHierarchy `locationName:"assetModelHierarchies" type:"list" required:"true"`
10868
10869	// The ID of the asset model.
10870	//
10871	// AssetModelId is a required field
10872	AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"`
10873
10874	// The date the asset model was last updated, in Unix epoch time.
10875	//
10876	// AssetModelLastUpdateDate is a required field
10877	AssetModelLastUpdateDate *time.Time `locationName:"assetModelLastUpdateDate" type:"timestamp" required:"true"`
10878
10879	// The name of the asset model.
10880	//
10881	// AssetModelName is a required field
10882	AssetModelName *string `locationName:"assetModelName" min:"1" type:"string" required:"true"`
10883
10884	// The list of asset properties for the asset model.
10885	//
10886	// This object doesn't include properties that you define in composite models.
10887	// You can find composite model properties in the assetModelCompositeModels
10888	// object.
10889	//
10890	// AssetModelProperties is a required field
10891	AssetModelProperties []*AssetModelProperty `locationName:"assetModelProperties" type:"list" required:"true"`
10892
10893	// The current status of the asset model, which contains a state and any error
10894	// message.
10895	//
10896	// AssetModelStatus is a required field
10897	AssetModelStatus *AssetModelStatus `locationName:"assetModelStatus" type:"structure" required:"true"`
10898}
10899
10900// String returns the string representation
10901func (s DescribeAssetModelOutput) String() string {
10902	return awsutil.Prettify(s)
10903}
10904
10905// GoString returns the string representation
10906func (s DescribeAssetModelOutput) GoString() string {
10907	return s.String()
10908}
10909
10910// SetAssetModelArn sets the AssetModelArn field's value.
10911func (s *DescribeAssetModelOutput) SetAssetModelArn(v string) *DescribeAssetModelOutput {
10912	s.AssetModelArn = &v
10913	return s
10914}
10915
10916// SetAssetModelCompositeModels sets the AssetModelCompositeModels field's value.
10917func (s *DescribeAssetModelOutput) SetAssetModelCompositeModels(v []*AssetModelCompositeModel) *DescribeAssetModelOutput {
10918	s.AssetModelCompositeModels = v
10919	return s
10920}
10921
10922// SetAssetModelCreationDate sets the AssetModelCreationDate field's value.
10923func (s *DescribeAssetModelOutput) SetAssetModelCreationDate(v time.Time) *DescribeAssetModelOutput {
10924	s.AssetModelCreationDate = &v
10925	return s
10926}
10927
10928// SetAssetModelDescription sets the AssetModelDescription field's value.
10929func (s *DescribeAssetModelOutput) SetAssetModelDescription(v string) *DescribeAssetModelOutput {
10930	s.AssetModelDescription = &v
10931	return s
10932}
10933
10934// SetAssetModelHierarchies sets the AssetModelHierarchies field's value.
10935func (s *DescribeAssetModelOutput) SetAssetModelHierarchies(v []*AssetModelHierarchy) *DescribeAssetModelOutput {
10936	s.AssetModelHierarchies = v
10937	return s
10938}
10939
10940// SetAssetModelId sets the AssetModelId field's value.
10941func (s *DescribeAssetModelOutput) SetAssetModelId(v string) *DescribeAssetModelOutput {
10942	s.AssetModelId = &v
10943	return s
10944}
10945
10946// SetAssetModelLastUpdateDate sets the AssetModelLastUpdateDate field's value.
10947func (s *DescribeAssetModelOutput) SetAssetModelLastUpdateDate(v time.Time) *DescribeAssetModelOutput {
10948	s.AssetModelLastUpdateDate = &v
10949	return s
10950}
10951
10952// SetAssetModelName sets the AssetModelName field's value.
10953func (s *DescribeAssetModelOutput) SetAssetModelName(v string) *DescribeAssetModelOutput {
10954	s.AssetModelName = &v
10955	return s
10956}
10957
10958// SetAssetModelProperties sets the AssetModelProperties field's value.
10959func (s *DescribeAssetModelOutput) SetAssetModelProperties(v []*AssetModelProperty) *DescribeAssetModelOutput {
10960	s.AssetModelProperties = v
10961	return s
10962}
10963
10964// SetAssetModelStatus sets the AssetModelStatus field's value.
10965func (s *DescribeAssetModelOutput) SetAssetModelStatus(v *AssetModelStatus) *DescribeAssetModelOutput {
10966	s.AssetModelStatus = v
10967	return s
10968}
10969
10970type DescribeAssetOutput struct {
10971	_ struct{} `type:"structure"`
10972
10973	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
10974	// of the asset, which has the following format.
10975	//
10976	// arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}
10977	//
10978	// AssetArn is a required field
10979	AssetArn *string `locationName:"assetArn" min:"1" type:"string" required:"true"`
10980
10981	// The composite models for the asset.
10982	AssetCompositeModels []*AssetCompositeModel `locationName:"assetCompositeModels" type:"list"`
10983
10984	// The date the asset was created, in Unix epoch time.
10985	//
10986	// AssetCreationDate is a required field
10987	AssetCreationDate *time.Time `locationName:"assetCreationDate" type:"timestamp" required:"true"`
10988
10989	// A list of asset hierarchies that each contain a hierarchyId. A hierarchy
10990	// specifies allowed parent/child asset relationships.
10991	//
10992	// AssetHierarchies is a required field
10993	AssetHierarchies []*AssetHierarchy `locationName:"assetHierarchies" type:"list" required:"true"`
10994
10995	// The ID of the asset.
10996	//
10997	// AssetId is a required field
10998	AssetId *string `locationName:"assetId" min:"36" type:"string" required:"true"`
10999
11000	// The date the asset was last updated, in Unix epoch time.
11001	//
11002	// AssetLastUpdateDate is a required field
11003	AssetLastUpdateDate *time.Time `locationName:"assetLastUpdateDate" type:"timestamp" required:"true"`
11004
11005	// The ID of the asset model that was used to create the asset.
11006	//
11007	// AssetModelId is a required field
11008	AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"`
11009
11010	// The name of the asset.
11011	//
11012	// AssetName is a required field
11013	AssetName *string `locationName:"assetName" min:"1" type:"string" required:"true"`
11014
11015	// The list of asset properties for the asset.
11016	//
11017	// This object doesn't include properties that you define in composite models.
11018	// You can find composite model properties in the assetCompositeModels object.
11019	//
11020	// AssetProperties is a required field
11021	AssetProperties []*AssetProperty `locationName:"assetProperties" type:"list" required:"true"`
11022
11023	// The current status of the asset, which contains a state and any error message.
11024	//
11025	// AssetStatus is a required field
11026	AssetStatus *AssetStatus `locationName:"assetStatus" type:"structure" required:"true"`
11027}
11028
11029// String returns the string representation
11030func (s DescribeAssetOutput) String() string {
11031	return awsutil.Prettify(s)
11032}
11033
11034// GoString returns the string representation
11035func (s DescribeAssetOutput) GoString() string {
11036	return s.String()
11037}
11038
11039// SetAssetArn sets the AssetArn field's value.
11040func (s *DescribeAssetOutput) SetAssetArn(v string) *DescribeAssetOutput {
11041	s.AssetArn = &v
11042	return s
11043}
11044
11045// SetAssetCompositeModels sets the AssetCompositeModels field's value.
11046func (s *DescribeAssetOutput) SetAssetCompositeModels(v []*AssetCompositeModel) *DescribeAssetOutput {
11047	s.AssetCompositeModels = v
11048	return s
11049}
11050
11051// SetAssetCreationDate sets the AssetCreationDate field's value.
11052func (s *DescribeAssetOutput) SetAssetCreationDate(v time.Time) *DescribeAssetOutput {
11053	s.AssetCreationDate = &v
11054	return s
11055}
11056
11057// SetAssetHierarchies sets the AssetHierarchies field's value.
11058func (s *DescribeAssetOutput) SetAssetHierarchies(v []*AssetHierarchy) *DescribeAssetOutput {
11059	s.AssetHierarchies = v
11060	return s
11061}
11062
11063// SetAssetId sets the AssetId field's value.
11064func (s *DescribeAssetOutput) SetAssetId(v string) *DescribeAssetOutput {
11065	s.AssetId = &v
11066	return s
11067}
11068
11069// SetAssetLastUpdateDate sets the AssetLastUpdateDate field's value.
11070func (s *DescribeAssetOutput) SetAssetLastUpdateDate(v time.Time) *DescribeAssetOutput {
11071	s.AssetLastUpdateDate = &v
11072	return s
11073}
11074
11075// SetAssetModelId sets the AssetModelId field's value.
11076func (s *DescribeAssetOutput) SetAssetModelId(v string) *DescribeAssetOutput {
11077	s.AssetModelId = &v
11078	return s
11079}
11080
11081// SetAssetName sets the AssetName field's value.
11082func (s *DescribeAssetOutput) SetAssetName(v string) *DescribeAssetOutput {
11083	s.AssetName = &v
11084	return s
11085}
11086
11087// SetAssetProperties sets the AssetProperties field's value.
11088func (s *DescribeAssetOutput) SetAssetProperties(v []*AssetProperty) *DescribeAssetOutput {
11089	s.AssetProperties = v
11090	return s
11091}
11092
11093// SetAssetStatus sets the AssetStatus field's value.
11094func (s *DescribeAssetOutput) SetAssetStatus(v *AssetStatus) *DescribeAssetOutput {
11095	s.AssetStatus = v
11096	return s
11097}
11098
11099type DescribeAssetPropertyInput struct {
11100	_ struct{} `type:"structure"`
11101
11102	// The ID of the asset.
11103	//
11104	// AssetId is a required field
11105	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
11106
11107	// The ID of the asset property.
11108	//
11109	// PropertyId is a required field
11110	PropertyId *string `location:"uri" locationName:"propertyId" min:"36" type:"string" required:"true"`
11111}
11112
11113// String returns the string representation
11114func (s DescribeAssetPropertyInput) String() string {
11115	return awsutil.Prettify(s)
11116}
11117
11118// GoString returns the string representation
11119func (s DescribeAssetPropertyInput) GoString() string {
11120	return s.String()
11121}
11122
11123// Validate inspects the fields of the type to determine if they are valid.
11124func (s *DescribeAssetPropertyInput) Validate() error {
11125	invalidParams := request.ErrInvalidParams{Context: "DescribeAssetPropertyInput"}
11126	if s.AssetId == nil {
11127		invalidParams.Add(request.NewErrParamRequired("AssetId"))
11128	}
11129	if s.AssetId != nil && len(*s.AssetId) < 36 {
11130		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
11131	}
11132	if s.PropertyId == nil {
11133		invalidParams.Add(request.NewErrParamRequired("PropertyId"))
11134	}
11135	if s.PropertyId != nil && len(*s.PropertyId) < 36 {
11136		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36))
11137	}
11138
11139	if invalidParams.Len() > 0 {
11140		return invalidParams
11141	}
11142	return nil
11143}
11144
11145// SetAssetId sets the AssetId field's value.
11146func (s *DescribeAssetPropertyInput) SetAssetId(v string) *DescribeAssetPropertyInput {
11147	s.AssetId = &v
11148	return s
11149}
11150
11151// SetPropertyId sets the PropertyId field's value.
11152func (s *DescribeAssetPropertyInput) SetPropertyId(v string) *DescribeAssetPropertyInput {
11153	s.PropertyId = &v
11154	return s
11155}
11156
11157type DescribeAssetPropertyOutput struct {
11158	_ struct{} `type:"structure"`
11159
11160	// The ID of the asset.
11161	//
11162	// AssetId is a required field
11163	AssetId *string `locationName:"assetId" min:"36" type:"string" required:"true"`
11164
11165	// The ID of the asset model.
11166	//
11167	// AssetModelId is a required field
11168	AssetModelId *string `locationName:"assetModelId" min:"36" type:"string" required:"true"`
11169
11170	// The name of the asset.
11171	//
11172	// AssetName is a required field
11173	AssetName *string `locationName:"assetName" min:"1" type:"string" required:"true"`
11174
11175	// The asset property's definition, alias, and notification state.
11176	//
11177	// This response includes this object for normal asset properties. If you describe
11178	// an asset property in a composite model, this response includes the asset
11179	// property information in compositeModel.
11180	AssetProperty *Property `locationName:"assetProperty" type:"structure"`
11181
11182	// The composite asset model that declares this asset property, if this asset
11183	// property exists in a composite model.
11184	CompositeModel *CompositeModelProperty `locationName:"compositeModel" type:"structure"`
11185}
11186
11187// String returns the string representation
11188func (s DescribeAssetPropertyOutput) String() string {
11189	return awsutil.Prettify(s)
11190}
11191
11192// GoString returns the string representation
11193func (s DescribeAssetPropertyOutput) GoString() string {
11194	return s.String()
11195}
11196
11197// SetAssetId sets the AssetId field's value.
11198func (s *DescribeAssetPropertyOutput) SetAssetId(v string) *DescribeAssetPropertyOutput {
11199	s.AssetId = &v
11200	return s
11201}
11202
11203// SetAssetModelId sets the AssetModelId field's value.
11204func (s *DescribeAssetPropertyOutput) SetAssetModelId(v string) *DescribeAssetPropertyOutput {
11205	s.AssetModelId = &v
11206	return s
11207}
11208
11209// SetAssetName sets the AssetName field's value.
11210func (s *DescribeAssetPropertyOutput) SetAssetName(v string) *DescribeAssetPropertyOutput {
11211	s.AssetName = &v
11212	return s
11213}
11214
11215// SetAssetProperty sets the AssetProperty field's value.
11216func (s *DescribeAssetPropertyOutput) SetAssetProperty(v *Property) *DescribeAssetPropertyOutput {
11217	s.AssetProperty = v
11218	return s
11219}
11220
11221// SetCompositeModel sets the CompositeModel field's value.
11222func (s *DescribeAssetPropertyOutput) SetCompositeModel(v *CompositeModelProperty) *DescribeAssetPropertyOutput {
11223	s.CompositeModel = v
11224	return s
11225}
11226
11227type DescribeDashboardInput struct {
11228	_ struct{} `type:"structure"`
11229
11230	// The ID of the dashboard.
11231	//
11232	// DashboardId is a required field
11233	DashboardId *string `location:"uri" locationName:"dashboardId" min:"36" type:"string" required:"true"`
11234}
11235
11236// String returns the string representation
11237func (s DescribeDashboardInput) String() string {
11238	return awsutil.Prettify(s)
11239}
11240
11241// GoString returns the string representation
11242func (s DescribeDashboardInput) GoString() string {
11243	return s.String()
11244}
11245
11246// Validate inspects the fields of the type to determine if they are valid.
11247func (s *DescribeDashboardInput) Validate() error {
11248	invalidParams := request.ErrInvalidParams{Context: "DescribeDashboardInput"}
11249	if s.DashboardId == nil {
11250		invalidParams.Add(request.NewErrParamRequired("DashboardId"))
11251	}
11252	if s.DashboardId != nil && len(*s.DashboardId) < 36 {
11253		invalidParams.Add(request.NewErrParamMinLen("DashboardId", 36))
11254	}
11255
11256	if invalidParams.Len() > 0 {
11257		return invalidParams
11258	}
11259	return nil
11260}
11261
11262// SetDashboardId sets the DashboardId field's value.
11263func (s *DescribeDashboardInput) SetDashboardId(v string) *DescribeDashboardInput {
11264	s.DashboardId = &v
11265	return s
11266}
11267
11268type DescribeDashboardOutput struct {
11269	_ struct{} `type:"structure"`
11270
11271	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
11272	// of the dashboard, which has the following format.
11273	//
11274	// arn:${Partition}:iotsitewise:${Region}:${Account}:dashboard/${DashboardId}
11275	//
11276	// DashboardArn is a required field
11277	DashboardArn *string `locationName:"dashboardArn" min:"1" type:"string" required:"true"`
11278
11279	// The date the dashboard was created, in Unix epoch time.
11280	//
11281	// DashboardCreationDate is a required field
11282	DashboardCreationDate *time.Time `locationName:"dashboardCreationDate" type:"timestamp" required:"true"`
11283
11284	// The dashboard's definition JSON literal. For detailed information, see Creating
11285	// dashboards (CLI) (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html)
11286	// in the AWS IoT SiteWise User Guide.
11287	//
11288	// DashboardDefinition is a required field
11289	DashboardDefinition *string `locationName:"dashboardDefinition" type:"string" required:"true"`
11290
11291	// The dashboard's description.
11292	DashboardDescription *string `locationName:"dashboardDescription" min:"1" type:"string"`
11293
11294	// The ID of the dashboard.
11295	//
11296	// DashboardId is a required field
11297	DashboardId *string `locationName:"dashboardId" min:"36" type:"string" required:"true"`
11298
11299	// The date the dashboard was last updated, in Unix epoch time.
11300	//
11301	// DashboardLastUpdateDate is a required field
11302	DashboardLastUpdateDate *time.Time `locationName:"dashboardLastUpdateDate" type:"timestamp" required:"true"`
11303
11304	// The name of the dashboard.
11305	//
11306	// DashboardName is a required field
11307	DashboardName *string `locationName:"dashboardName" min:"1" type:"string" required:"true"`
11308
11309	// The ID of the project that the dashboard is in.
11310	//
11311	// ProjectId is a required field
11312	ProjectId *string `locationName:"projectId" min:"36" type:"string" required:"true"`
11313}
11314
11315// String returns the string representation
11316func (s DescribeDashboardOutput) String() string {
11317	return awsutil.Prettify(s)
11318}
11319
11320// GoString returns the string representation
11321func (s DescribeDashboardOutput) GoString() string {
11322	return s.String()
11323}
11324
11325// SetDashboardArn sets the DashboardArn field's value.
11326func (s *DescribeDashboardOutput) SetDashboardArn(v string) *DescribeDashboardOutput {
11327	s.DashboardArn = &v
11328	return s
11329}
11330
11331// SetDashboardCreationDate sets the DashboardCreationDate field's value.
11332func (s *DescribeDashboardOutput) SetDashboardCreationDate(v time.Time) *DescribeDashboardOutput {
11333	s.DashboardCreationDate = &v
11334	return s
11335}
11336
11337// SetDashboardDefinition sets the DashboardDefinition field's value.
11338func (s *DescribeDashboardOutput) SetDashboardDefinition(v string) *DescribeDashboardOutput {
11339	s.DashboardDefinition = &v
11340	return s
11341}
11342
11343// SetDashboardDescription sets the DashboardDescription field's value.
11344func (s *DescribeDashboardOutput) SetDashboardDescription(v string) *DescribeDashboardOutput {
11345	s.DashboardDescription = &v
11346	return s
11347}
11348
11349// SetDashboardId sets the DashboardId field's value.
11350func (s *DescribeDashboardOutput) SetDashboardId(v string) *DescribeDashboardOutput {
11351	s.DashboardId = &v
11352	return s
11353}
11354
11355// SetDashboardLastUpdateDate sets the DashboardLastUpdateDate field's value.
11356func (s *DescribeDashboardOutput) SetDashboardLastUpdateDate(v time.Time) *DescribeDashboardOutput {
11357	s.DashboardLastUpdateDate = &v
11358	return s
11359}
11360
11361// SetDashboardName sets the DashboardName field's value.
11362func (s *DescribeDashboardOutput) SetDashboardName(v string) *DescribeDashboardOutput {
11363	s.DashboardName = &v
11364	return s
11365}
11366
11367// SetProjectId sets the ProjectId field's value.
11368func (s *DescribeDashboardOutput) SetProjectId(v string) *DescribeDashboardOutput {
11369	s.ProjectId = &v
11370	return s
11371}
11372
11373type DescribeDefaultEncryptionConfigurationInput struct {
11374	_ struct{} `type:"structure"`
11375}
11376
11377// String returns the string representation
11378func (s DescribeDefaultEncryptionConfigurationInput) String() string {
11379	return awsutil.Prettify(s)
11380}
11381
11382// GoString returns the string representation
11383func (s DescribeDefaultEncryptionConfigurationInput) GoString() string {
11384	return s.String()
11385}
11386
11387type DescribeDefaultEncryptionConfigurationOutput struct {
11388	_ struct{} `type:"structure"`
11389
11390	// The status of the account configuration. This contains the ConfigurationState.
11391	// If there's an error, it also contains the ErrorDetails.
11392	//
11393	// ConfigurationStatus is a required field
11394	ConfigurationStatus *ConfigurationStatus `locationName:"configurationStatus" type:"structure" required:"true"`
11395
11396	// The type of encryption used for the encryption configuration.
11397	//
11398	// EncryptionType is a required field
11399	EncryptionType *string `locationName:"encryptionType" type:"string" required:"true" enum:"EncryptionType"`
11400
11401	// The key ARN of the customer managed customer master key (CMK) used for AWS
11402	// KMS encryption if you use KMS_BASED_ENCRYPTION.
11403	KmsKeyArn *string `locationName:"kmsKeyArn" min:"1" type:"string"`
11404}
11405
11406// String returns the string representation
11407func (s DescribeDefaultEncryptionConfigurationOutput) String() string {
11408	return awsutil.Prettify(s)
11409}
11410
11411// GoString returns the string representation
11412func (s DescribeDefaultEncryptionConfigurationOutput) GoString() string {
11413	return s.String()
11414}
11415
11416// SetConfigurationStatus sets the ConfigurationStatus field's value.
11417func (s *DescribeDefaultEncryptionConfigurationOutput) SetConfigurationStatus(v *ConfigurationStatus) *DescribeDefaultEncryptionConfigurationOutput {
11418	s.ConfigurationStatus = v
11419	return s
11420}
11421
11422// SetEncryptionType sets the EncryptionType field's value.
11423func (s *DescribeDefaultEncryptionConfigurationOutput) SetEncryptionType(v string) *DescribeDefaultEncryptionConfigurationOutput {
11424	s.EncryptionType = &v
11425	return s
11426}
11427
11428// SetKmsKeyArn sets the KmsKeyArn field's value.
11429func (s *DescribeDefaultEncryptionConfigurationOutput) SetKmsKeyArn(v string) *DescribeDefaultEncryptionConfigurationOutput {
11430	s.KmsKeyArn = &v
11431	return s
11432}
11433
11434type DescribeGatewayCapabilityConfigurationInput struct {
11435	_ struct{} `type:"structure"`
11436
11437	// The namespace of the capability configuration. For example, if you configure
11438	// OPC-UA sources from the AWS IoT SiteWise console, your OPC-UA capability
11439	// configuration has the namespace iotsitewise:opcuacollector:version, where
11440	// version is a number such as 1.
11441	//
11442	// CapabilityNamespace is a required field
11443	CapabilityNamespace *string `location:"uri" locationName:"capabilityNamespace" min:"1" type:"string" required:"true"`
11444
11445	// The ID of the gateway that defines the capability configuration.
11446	//
11447	// GatewayId is a required field
11448	GatewayId *string `location:"uri" locationName:"gatewayId" min:"36" type:"string" required:"true"`
11449}
11450
11451// String returns the string representation
11452func (s DescribeGatewayCapabilityConfigurationInput) String() string {
11453	return awsutil.Prettify(s)
11454}
11455
11456// GoString returns the string representation
11457func (s DescribeGatewayCapabilityConfigurationInput) GoString() string {
11458	return s.String()
11459}
11460
11461// Validate inspects the fields of the type to determine if they are valid.
11462func (s *DescribeGatewayCapabilityConfigurationInput) Validate() error {
11463	invalidParams := request.ErrInvalidParams{Context: "DescribeGatewayCapabilityConfigurationInput"}
11464	if s.CapabilityNamespace == nil {
11465		invalidParams.Add(request.NewErrParamRequired("CapabilityNamespace"))
11466	}
11467	if s.CapabilityNamespace != nil && len(*s.CapabilityNamespace) < 1 {
11468		invalidParams.Add(request.NewErrParamMinLen("CapabilityNamespace", 1))
11469	}
11470	if s.GatewayId == nil {
11471		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
11472	}
11473	if s.GatewayId != nil && len(*s.GatewayId) < 36 {
11474		invalidParams.Add(request.NewErrParamMinLen("GatewayId", 36))
11475	}
11476
11477	if invalidParams.Len() > 0 {
11478		return invalidParams
11479	}
11480	return nil
11481}
11482
11483// SetCapabilityNamespace sets the CapabilityNamespace field's value.
11484func (s *DescribeGatewayCapabilityConfigurationInput) SetCapabilityNamespace(v string) *DescribeGatewayCapabilityConfigurationInput {
11485	s.CapabilityNamespace = &v
11486	return s
11487}
11488
11489// SetGatewayId sets the GatewayId field's value.
11490func (s *DescribeGatewayCapabilityConfigurationInput) SetGatewayId(v string) *DescribeGatewayCapabilityConfigurationInput {
11491	s.GatewayId = &v
11492	return s
11493}
11494
11495type DescribeGatewayCapabilityConfigurationOutput struct {
11496	_ struct{} `type:"structure"`
11497
11498	// The JSON document that defines the gateway capability's configuration. For
11499	// more information, see Configuring data sources (CLI) (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/configure-sources.html#configure-source-cli)
11500	// in the AWS IoT SiteWise User Guide.
11501	//
11502	// CapabilityConfiguration is a required field
11503	CapabilityConfiguration *string `locationName:"capabilityConfiguration" min:"1" type:"string" required:"true"`
11504
11505	// The namespace of the gateway capability.
11506	//
11507	// CapabilityNamespace is a required field
11508	CapabilityNamespace *string `locationName:"capabilityNamespace" min:"1" type:"string" required:"true"`
11509
11510	// The synchronization status of the capability configuration. The sync status
11511	// can be one of the following:
11512	//
11513	//    * IN_SYNC – The gateway is running the capability configuration.
11514	//
11515	//    * OUT_OF_SYNC – The gateway hasn't received the capability configuration.
11516	//
11517	//    * SYNC_FAILED – The gateway rejected the capability configuration.
11518	//
11519	// CapabilitySyncStatus is a required field
11520	CapabilitySyncStatus *string `locationName:"capabilitySyncStatus" type:"string" required:"true" enum:"CapabilitySyncStatus"`
11521
11522	// The ID of the gateway that defines the capability configuration.
11523	//
11524	// GatewayId is a required field
11525	GatewayId *string `locationName:"gatewayId" min:"36" type:"string" required:"true"`
11526}
11527
11528// String returns the string representation
11529func (s DescribeGatewayCapabilityConfigurationOutput) String() string {
11530	return awsutil.Prettify(s)
11531}
11532
11533// GoString returns the string representation
11534func (s DescribeGatewayCapabilityConfigurationOutput) GoString() string {
11535	return s.String()
11536}
11537
11538// SetCapabilityConfiguration sets the CapabilityConfiguration field's value.
11539func (s *DescribeGatewayCapabilityConfigurationOutput) SetCapabilityConfiguration(v string) *DescribeGatewayCapabilityConfigurationOutput {
11540	s.CapabilityConfiguration = &v
11541	return s
11542}
11543
11544// SetCapabilityNamespace sets the CapabilityNamespace field's value.
11545func (s *DescribeGatewayCapabilityConfigurationOutput) SetCapabilityNamespace(v string) *DescribeGatewayCapabilityConfigurationOutput {
11546	s.CapabilityNamespace = &v
11547	return s
11548}
11549
11550// SetCapabilitySyncStatus sets the CapabilitySyncStatus field's value.
11551func (s *DescribeGatewayCapabilityConfigurationOutput) SetCapabilitySyncStatus(v string) *DescribeGatewayCapabilityConfigurationOutput {
11552	s.CapabilitySyncStatus = &v
11553	return s
11554}
11555
11556// SetGatewayId sets the GatewayId field's value.
11557func (s *DescribeGatewayCapabilityConfigurationOutput) SetGatewayId(v string) *DescribeGatewayCapabilityConfigurationOutput {
11558	s.GatewayId = &v
11559	return s
11560}
11561
11562type DescribeGatewayInput struct {
11563	_ struct{} `type:"structure"`
11564
11565	// The ID of the gateway device.
11566	//
11567	// GatewayId is a required field
11568	GatewayId *string `location:"uri" locationName:"gatewayId" min:"36" type:"string" required:"true"`
11569}
11570
11571// String returns the string representation
11572func (s DescribeGatewayInput) String() string {
11573	return awsutil.Prettify(s)
11574}
11575
11576// GoString returns the string representation
11577func (s DescribeGatewayInput) GoString() string {
11578	return s.String()
11579}
11580
11581// Validate inspects the fields of the type to determine if they are valid.
11582func (s *DescribeGatewayInput) Validate() error {
11583	invalidParams := request.ErrInvalidParams{Context: "DescribeGatewayInput"}
11584	if s.GatewayId == nil {
11585		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
11586	}
11587	if s.GatewayId != nil && len(*s.GatewayId) < 36 {
11588		invalidParams.Add(request.NewErrParamMinLen("GatewayId", 36))
11589	}
11590
11591	if invalidParams.Len() > 0 {
11592		return invalidParams
11593	}
11594	return nil
11595}
11596
11597// SetGatewayId sets the GatewayId field's value.
11598func (s *DescribeGatewayInput) SetGatewayId(v string) *DescribeGatewayInput {
11599	s.GatewayId = &v
11600	return s
11601}
11602
11603type DescribeGatewayOutput struct {
11604	_ struct{} `type:"structure"`
11605
11606	// The date the gateway was created, in Unix epoch time.
11607	//
11608	// CreationDate is a required field
11609	CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"`
11610
11611	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
11612	// of the gateway, which has the following format.
11613	//
11614	// arn:${Partition}:iotsitewise:${Region}:${Account}:gateway/${GatewayId}
11615	//
11616	// GatewayArn is a required field
11617	GatewayArn *string `locationName:"gatewayArn" min:"1" type:"string" required:"true"`
11618
11619	// A list of gateway capability summaries that each contain a namespace and
11620	// status. Each gateway capability defines data sources for the gateway. To
11621	// retrieve a capability configuration's definition, use DescribeGatewayCapabilityConfiguration
11622	// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGatewayCapabilityConfiguration.html).
11623	//
11624	// GatewayCapabilitySummaries is a required field
11625	GatewayCapabilitySummaries []*GatewayCapabilitySummary `locationName:"gatewayCapabilitySummaries" type:"list" required:"true"`
11626
11627	// The ID of the gateway device.
11628	//
11629	// GatewayId is a required field
11630	GatewayId *string `locationName:"gatewayId" min:"36" type:"string" required:"true"`
11631
11632	// The name of the gateway.
11633	//
11634	// GatewayName is a required field
11635	GatewayName *string `locationName:"gatewayName" min:"1" type:"string" required:"true"`
11636
11637	// The gateway's platform.
11638	GatewayPlatform *GatewayPlatform `locationName:"gatewayPlatform" type:"structure"`
11639
11640	// The date the gateway was last updated, in Unix epoch time.
11641	//
11642	// LastUpdateDate is a required field
11643	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp" required:"true"`
11644}
11645
11646// String returns the string representation
11647func (s DescribeGatewayOutput) String() string {
11648	return awsutil.Prettify(s)
11649}
11650
11651// GoString returns the string representation
11652func (s DescribeGatewayOutput) GoString() string {
11653	return s.String()
11654}
11655
11656// SetCreationDate sets the CreationDate field's value.
11657func (s *DescribeGatewayOutput) SetCreationDate(v time.Time) *DescribeGatewayOutput {
11658	s.CreationDate = &v
11659	return s
11660}
11661
11662// SetGatewayArn sets the GatewayArn field's value.
11663func (s *DescribeGatewayOutput) SetGatewayArn(v string) *DescribeGatewayOutput {
11664	s.GatewayArn = &v
11665	return s
11666}
11667
11668// SetGatewayCapabilitySummaries sets the GatewayCapabilitySummaries field's value.
11669func (s *DescribeGatewayOutput) SetGatewayCapabilitySummaries(v []*GatewayCapabilitySummary) *DescribeGatewayOutput {
11670	s.GatewayCapabilitySummaries = v
11671	return s
11672}
11673
11674// SetGatewayId sets the GatewayId field's value.
11675func (s *DescribeGatewayOutput) SetGatewayId(v string) *DescribeGatewayOutput {
11676	s.GatewayId = &v
11677	return s
11678}
11679
11680// SetGatewayName sets the GatewayName field's value.
11681func (s *DescribeGatewayOutput) SetGatewayName(v string) *DescribeGatewayOutput {
11682	s.GatewayName = &v
11683	return s
11684}
11685
11686// SetGatewayPlatform sets the GatewayPlatform field's value.
11687func (s *DescribeGatewayOutput) SetGatewayPlatform(v *GatewayPlatform) *DescribeGatewayOutput {
11688	s.GatewayPlatform = v
11689	return s
11690}
11691
11692// SetLastUpdateDate sets the LastUpdateDate field's value.
11693func (s *DescribeGatewayOutput) SetLastUpdateDate(v time.Time) *DescribeGatewayOutput {
11694	s.LastUpdateDate = &v
11695	return s
11696}
11697
11698type DescribeLoggingOptionsInput struct {
11699	_ struct{} `type:"structure"`
11700}
11701
11702// String returns the string representation
11703func (s DescribeLoggingOptionsInput) String() string {
11704	return awsutil.Prettify(s)
11705}
11706
11707// GoString returns the string representation
11708func (s DescribeLoggingOptionsInput) GoString() string {
11709	return s.String()
11710}
11711
11712type DescribeLoggingOptionsOutput struct {
11713	_ struct{} `type:"structure"`
11714
11715	// The current logging options.
11716	//
11717	// LoggingOptions is a required field
11718	LoggingOptions *LoggingOptions `locationName:"loggingOptions" type:"structure" required:"true"`
11719}
11720
11721// String returns the string representation
11722func (s DescribeLoggingOptionsOutput) String() string {
11723	return awsutil.Prettify(s)
11724}
11725
11726// GoString returns the string representation
11727func (s DescribeLoggingOptionsOutput) GoString() string {
11728	return s.String()
11729}
11730
11731// SetLoggingOptions sets the LoggingOptions field's value.
11732func (s *DescribeLoggingOptionsOutput) SetLoggingOptions(v *LoggingOptions) *DescribeLoggingOptionsOutput {
11733	s.LoggingOptions = v
11734	return s
11735}
11736
11737type DescribePortalInput struct {
11738	_ struct{} `type:"structure"`
11739
11740	// The ID of the portal.
11741	//
11742	// PortalId is a required field
11743	PortalId *string `location:"uri" locationName:"portalId" min:"36" type:"string" required:"true"`
11744}
11745
11746// String returns the string representation
11747func (s DescribePortalInput) String() string {
11748	return awsutil.Prettify(s)
11749}
11750
11751// GoString returns the string representation
11752func (s DescribePortalInput) GoString() string {
11753	return s.String()
11754}
11755
11756// Validate inspects the fields of the type to determine if they are valid.
11757func (s *DescribePortalInput) Validate() error {
11758	invalidParams := request.ErrInvalidParams{Context: "DescribePortalInput"}
11759	if s.PortalId == nil {
11760		invalidParams.Add(request.NewErrParamRequired("PortalId"))
11761	}
11762	if s.PortalId != nil && len(*s.PortalId) < 36 {
11763		invalidParams.Add(request.NewErrParamMinLen("PortalId", 36))
11764	}
11765
11766	if invalidParams.Len() > 0 {
11767		return invalidParams
11768	}
11769	return nil
11770}
11771
11772// SetPortalId sets the PortalId field's value.
11773func (s *DescribePortalInput) SetPortalId(v string) *DescribePortalInput {
11774	s.PortalId = &v
11775	return s
11776}
11777
11778type DescribePortalOutput struct {
11779	_ struct{} `type:"structure"`
11780
11781	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
11782	// of the portal, which has the following format.
11783	//
11784	// arn:${Partition}:iotsitewise:${Region}:${Account}:portal/${PortalId}
11785	//
11786	// PortalArn is a required field
11787	PortalArn *string `locationName:"portalArn" min:"1" type:"string" required:"true"`
11788
11789	// The service to use to authenticate users to the portal.
11790	PortalAuthMode *string `locationName:"portalAuthMode" type:"string" enum:"AuthMode"`
11791
11792	// The AWS SSO application generated client ID (used with AWS SSO APIs). AWS
11793	// IoT SiteWise includes portalClientId for only portals that use AWS SSO to
11794	// authenticate users.
11795	//
11796	// PortalClientId is a required field
11797	PortalClientId *string `locationName:"portalClientId" min:"1" type:"string" required:"true"`
11798
11799	// The AWS administrator's contact email address.
11800	//
11801	// PortalContactEmail is a required field
11802	PortalContactEmail *string `locationName:"portalContactEmail" min:"1" type:"string" required:"true"`
11803
11804	// The date the portal was created, in Unix epoch time.
11805	//
11806	// PortalCreationDate is a required field
11807	PortalCreationDate *time.Time `locationName:"portalCreationDate" type:"timestamp" required:"true"`
11808
11809	// The portal's description.
11810	PortalDescription *string `locationName:"portalDescription" min:"1" type:"string"`
11811
11812	// The ID of the portal.
11813	//
11814	// PortalId is a required field
11815	PortalId *string `locationName:"portalId" min:"36" type:"string" required:"true"`
11816
11817	// The date the portal was last updated, in Unix epoch time.
11818	//
11819	// PortalLastUpdateDate is a required field
11820	PortalLastUpdateDate *time.Time `locationName:"portalLastUpdateDate" type:"timestamp" required:"true"`
11821
11822	// The portal's logo image, which is available at a URL.
11823	PortalLogoImageLocation *ImageLocation `locationName:"portalLogoImageLocation" type:"structure"`
11824
11825	// The name of the portal.
11826	//
11827	// PortalName is a required field
11828	PortalName *string `locationName:"portalName" min:"1" type:"string" required:"true"`
11829
11830	// The URL for the AWS IoT SiteWise Monitor portal. You can use this URL to
11831	// access portals that use AWS SSO for authentication. For portals that use
11832	// IAM for authentication, you must use the AWS IoT SiteWise console to get
11833	// a URL that you can use to access the portal.
11834	//
11835	// PortalStartUrl is a required field
11836	PortalStartUrl *string `locationName:"portalStartUrl" min:"1" type:"string" required:"true"`
11837
11838	// The current status of the portal, which contains a state and any error message.
11839	//
11840	// PortalStatus is a required field
11841	PortalStatus *PortalStatus `locationName:"portalStatus" type:"structure" required:"true"`
11842
11843	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
11844	// of the service role that allows the portal's users to access your AWS IoT
11845	// SiteWise resources on your behalf. For more information, see Using service
11846	// roles for AWS IoT SiteWise Monitor (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html)
11847	// in the AWS IoT SiteWise User Guide.
11848	RoleArn *string `locationName:"roleArn" min:"1" type:"string"`
11849}
11850
11851// String returns the string representation
11852func (s DescribePortalOutput) String() string {
11853	return awsutil.Prettify(s)
11854}
11855
11856// GoString returns the string representation
11857func (s DescribePortalOutput) GoString() string {
11858	return s.String()
11859}
11860
11861// SetPortalArn sets the PortalArn field's value.
11862func (s *DescribePortalOutput) SetPortalArn(v string) *DescribePortalOutput {
11863	s.PortalArn = &v
11864	return s
11865}
11866
11867// SetPortalAuthMode sets the PortalAuthMode field's value.
11868func (s *DescribePortalOutput) SetPortalAuthMode(v string) *DescribePortalOutput {
11869	s.PortalAuthMode = &v
11870	return s
11871}
11872
11873// SetPortalClientId sets the PortalClientId field's value.
11874func (s *DescribePortalOutput) SetPortalClientId(v string) *DescribePortalOutput {
11875	s.PortalClientId = &v
11876	return s
11877}
11878
11879// SetPortalContactEmail sets the PortalContactEmail field's value.
11880func (s *DescribePortalOutput) SetPortalContactEmail(v string) *DescribePortalOutput {
11881	s.PortalContactEmail = &v
11882	return s
11883}
11884
11885// SetPortalCreationDate sets the PortalCreationDate field's value.
11886func (s *DescribePortalOutput) SetPortalCreationDate(v time.Time) *DescribePortalOutput {
11887	s.PortalCreationDate = &v
11888	return s
11889}
11890
11891// SetPortalDescription sets the PortalDescription field's value.
11892func (s *DescribePortalOutput) SetPortalDescription(v string) *DescribePortalOutput {
11893	s.PortalDescription = &v
11894	return s
11895}
11896
11897// SetPortalId sets the PortalId field's value.
11898func (s *DescribePortalOutput) SetPortalId(v string) *DescribePortalOutput {
11899	s.PortalId = &v
11900	return s
11901}
11902
11903// SetPortalLastUpdateDate sets the PortalLastUpdateDate field's value.
11904func (s *DescribePortalOutput) SetPortalLastUpdateDate(v time.Time) *DescribePortalOutput {
11905	s.PortalLastUpdateDate = &v
11906	return s
11907}
11908
11909// SetPortalLogoImageLocation sets the PortalLogoImageLocation field's value.
11910func (s *DescribePortalOutput) SetPortalLogoImageLocation(v *ImageLocation) *DescribePortalOutput {
11911	s.PortalLogoImageLocation = v
11912	return s
11913}
11914
11915// SetPortalName sets the PortalName field's value.
11916func (s *DescribePortalOutput) SetPortalName(v string) *DescribePortalOutput {
11917	s.PortalName = &v
11918	return s
11919}
11920
11921// SetPortalStartUrl sets the PortalStartUrl field's value.
11922func (s *DescribePortalOutput) SetPortalStartUrl(v string) *DescribePortalOutput {
11923	s.PortalStartUrl = &v
11924	return s
11925}
11926
11927// SetPortalStatus sets the PortalStatus field's value.
11928func (s *DescribePortalOutput) SetPortalStatus(v *PortalStatus) *DescribePortalOutput {
11929	s.PortalStatus = v
11930	return s
11931}
11932
11933// SetRoleArn sets the RoleArn field's value.
11934func (s *DescribePortalOutput) SetRoleArn(v string) *DescribePortalOutput {
11935	s.RoleArn = &v
11936	return s
11937}
11938
11939type DescribeProjectInput struct {
11940	_ struct{} `type:"structure"`
11941
11942	// The ID of the project.
11943	//
11944	// ProjectId is a required field
11945	ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"`
11946}
11947
11948// String returns the string representation
11949func (s DescribeProjectInput) String() string {
11950	return awsutil.Prettify(s)
11951}
11952
11953// GoString returns the string representation
11954func (s DescribeProjectInput) GoString() string {
11955	return s.String()
11956}
11957
11958// Validate inspects the fields of the type to determine if they are valid.
11959func (s *DescribeProjectInput) Validate() error {
11960	invalidParams := request.ErrInvalidParams{Context: "DescribeProjectInput"}
11961	if s.ProjectId == nil {
11962		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
11963	}
11964	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
11965		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
11966	}
11967
11968	if invalidParams.Len() > 0 {
11969		return invalidParams
11970	}
11971	return nil
11972}
11973
11974// SetProjectId sets the ProjectId field's value.
11975func (s *DescribeProjectInput) SetProjectId(v string) *DescribeProjectInput {
11976	s.ProjectId = &v
11977	return s
11978}
11979
11980type DescribeProjectOutput struct {
11981	_ struct{} `type:"structure"`
11982
11983	// The ID of the portal that the project is in.
11984	//
11985	// PortalId is a required field
11986	PortalId *string `locationName:"portalId" min:"36" type:"string" required:"true"`
11987
11988	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
11989	// of the project, which has the following format.
11990	//
11991	// arn:${Partition}:iotsitewise:${Region}:${Account}:project/${ProjectId}
11992	//
11993	// ProjectArn is a required field
11994	ProjectArn *string `locationName:"projectArn" min:"1" type:"string" required:"true"`
11995
11996	// The date the project was created, in Unix epoch time.
11997	//
11998	// ProjectCreationDate is a required field
11999	ProjectCreationDate *time.Time `locationName:"projectCreationDate" type:"timestamp" required:"true"`
12000
12001	// The project's description.
12002	ProjectDescription *string `locationName:"projectDescription" min:"1" type:"string"`
12003
12004	// The ID of the project.
12005	//
12006	// ProjectId is a required field
12007	ProjectId *string `locationName:"projectId" min:"36" type:"string" required:"true"`
12008
12009	// The date the project was last updated, in Unix epoch time.
12010	//
12011	// ProjectLastUpdateDate is a required field
12012	ProjectLastUpdateDate *time.Time `locationName:"projectLastUpdateDate" type:"timestamp" required:"true"`
12013
12014	// The name of the project.
12015	//
12016	// ProjectName is a required field
12017	ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"`
12018}
12019
12020// String returns the string representation
12021func (s DescribeProjectOutput) String() string {
12022	return awsutil.Prettify(s)
12023}
12024
12025// GoString returns the string representation
12026func (s DescribeProjectOutput) GoString() string {
12027	return s.String()
12028}
12029
12030// SetPortalId sets the PortalId field's value.
12031func (s *DescribeProjectOutput) SetPortalId(v string) *DescribeProjectOutput {
12032	s.PortalId = &v
12033	return s
12034}
12035
12036// SetProjectArn sets the ProjectArn field's value.
12037func (s *DescribeProjectOutput) SetProjectArn(v string) *DescribeProjectOutput {
12038	s.ProjectArn = &v
12039	return s
12040}
12041
12042// SetProjectCreationDate sets the ProjectCreationDate field's value.
12043func (s *DescribeProjectOutput) SetProjectCreationDate(v time.Time) *DescribeProjectOutput {
12044	s.ProjectCreationDate = &v
12045	return s
12046}
12047
12048// SetProjectDescription sets the ProjectDescription field's value.
12049func (s *DescribeProjectOutput) SetProjectDescription(v string) *DescribeProjectOutput {
12050	s.ProjectDescription = &v
12051	return s
12052}
12053
12054// SetProjectId sets the ProjectId field's value.
12055func (s *DescribeProjectOutput) SetProjectId(v string) *DescribeProjectOutput {
12056	s.ProjectId = &v
12057	return s
12058}
12059
12060// SetProjectLastUpdateDate sets the ProjectLastUpdateDate field's value.
12061func (s *DescribeProjectOutput) SetProjectLastUpdateDate(v time.Time) *DescribeProjectOutput {
12062	s.ProjectLastUpdateDate = &v
12063	return s
12064}
12065
12066// SetProjectName sets the ProjectName field's value.
12067func (s *DescribeProjectOutput) SetProjectName(v string) *DescribeProjectOutput {
12068	s.ProjectName = &v
12069	return s
12070}
12071
12072type DisassociateAssetsInput struct {
12073	_ struct{} `type:"structure"`
12074
12075	// The ID of the parent asset from which to disassociate the child asset.
12076	//
12077	// AssetId is a required field
12078	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
12079
12080	// The ID of the child asset to disassociate.
12081	//
12082	// ChildAssetId is a required field
12083	ChildAssetId *string `locationName:"childAssetId" min:"36" type:"string" required:"true"`
12084
12085	// A unique case-sensitive identifier that you can provide to ensure the idempotency
12086	// of the request. Don't reuse this client token if a new idempotent request
12087	// is required.
12088	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
12089
12090	// The ID of a hierarchy in the parent asset's model. Hierarchies allow different
12091	// groupings of assets to be formed that all come from the same asset model.
12092	// You can use the hierarchy ID to identify the correct asset to disassociate.
12093	// For more information, see Asset hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html)
12094	// in the AWS IoT SiteWise User Guide.
12095	//
12096	// HierarchyId is a required field
12097	HierarchyId *string `locationName:"hierarchyId" min:"36" type:"string" required:"true"`
12098}
12099
12100// String returns the string representation
12101func (s DisassociateAssetsInput) String() string {
12102	return awsutil.Prettify(s)
12103}
12104
12105// GoString returns the string representation
12106func (s DisassociateAssetsInput) GoString() string {
12107	return s.String()
12108}
12109
12110// Validate inspects the fields of the type to determine if they are valid.
12111func (s *DisassociateAssetsInput) Validate() error {
12112	invalidParams := request.ErrInvalidParams{Context: "DisassociateAssetsInput"}
12113	if s.AssetId == nil {
12114		invalidParams.Add(request.NewErrParamRequired("AssetId"))
12115	}
12116	if s.AssetId != nil && len(*s.AssetId) < 36 {
12117		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
12118	}
12119	if s.ChildAssetId == nil {
12120		invalidParams.Add(request.NewErrParamRequired("ChildAssetId"))
12121	}
12122	if s.ChildAssetId != nil && len(*s.ChildAssetId) < 36 {
12123		invalidParams.Add(request.NewErrParamMinLen("ChildAssetId", 36))
12124	}
12125	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
12126		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
12127	}
12128	if s.HierarchyId == nil {
12129		invalidParams.Add(request.NewErrParamRequired("HierarchyId"))
12130	}
12131	if s.HierarchyId != nil && len(*s.HierarchyId) < 36 {
12132		invalidParams.Add(request.NewErrParamMinLen("HierarchyId", 36))
12133	}
12134
12135	if invalidParams.Len() > 0 {
12136		return invalidParams
12137	}
12138	return nil
12139}
12140
12141// SetAssetId sets the AssetId field's value.
12142func (s *DisassociateAssetsInput) SetAssetId(v string) *DisassociateAssetsInput {
12143	s.AssetId = &v
12144	return s
12145}
12146
12147// SetChildAssetId sets the ChildAssetId field's value.
12148func (s *DisassociateAssetsInput) SetChildAssetId(v string) *DisassociateAssetsInput {
12149	s.ChildAssetId = &v
12150	return s
12151}
12152
12153// SetClientToken sets the ClientToken field's value.
12154func (s *DisassociateAssetsInput) SetClientToken(v string) *DisassociateAssetsInput {
12155	s.ClientToken = &v
12156	return s
12157}
12158
12159// SetHierarchyId sets the HierarchyId field's value.
12160func (s *DisassociateAssetsInput) SetHierarchyId(v string) *DisassociateAssetsInput {
12161	s.HierarchyId = &v
12162	return s
12163}
12164
12165type DisassociateAssetsOutput struct {
12166	_ struct{} `type:"structure"`
12167}
12168
12169// String returns the string representation
12170func (s DisassociateAssetsOutput) String() string {
12171	return awsutil.Prettify(s)
12172}
12173
12174// GoString returns the string representation
12175func (s DisassociateAssetsOutput) GoString() string {
12176	return s.String()
12177}
12178
12179// Contains the details of an AWS IoT SiteWise error.
12180type ErrorDetails struct {
12181	_ struct{} `type:"structure"`
12182
12183	// The error code.
12184	//
12185	// Code is a required field
12186	Code *string `locationName:"code" type:"string" required:"true" enum:"ErrorCode"`
12187
12188	// The error message.
12189	//
12190	// Message is a required field
12191	Message *string `locationName:"message" type:"string" required:"true"`
12192}
12193
12194// String returns the string representation
12195func (s ErrorDetails) String() string {
12196	return awsutil.Prettify(s)
12197}
12198
12199// GoString returns the string representation
12200func (s ErrorDetails) GoString() string {
12201	return s.String()
12202}
12203
12204// SetCode sets the Code field's value.
12205func (s *ErrorDetails) SetCode(v string) *ErrorDetails {
12206	s.Code = &v
12207	return s
12208}
12209
12210// SetMessage sets the Message field's value.
12211func (s *ErrorDetails) SetMessage(v string) *ErrorDetails {
12212	s.Message = &v
12213	return s
12214}
12215
12216// Contains expression variable information.
12217type ExpressionVariable struct {
12218	_ struct{} `type:"structure"`
12219
12220	// The friendly name of the variable to be used in the expression.
12221	//
12222	// Name is a required field
12223	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
12224
12225	// The variable that identifies an asset property from which to use values.
12226	//
12227	// Value is a required field
12228	Value *VariableValue `locationName:"value" type:"structure" required:"true"`
12229}
12230
12231// String returns the string representation
12232func (s ExpressionVariable) String() string {
12233	return awsutil.Prettify(s)
12234}
12235
12236// GoString returns the string representation
12237func (s ExpressionVariable) GoString() string {
12238	return s.String()
12239}
12240
12241// Validate inspects the fields of the type to determine if they are valid.
12242func (s *ExpressionVariable) Validate() error {
12243	invalidParams := request.ErrInvalidParams{Context: "ExpressionVariable"}
12244	if s.Name == nil {
12245		invalidParams.Add(request.NewErrParamRequired("Name"))
12246	}
12247	if s.Name != nil && len(*s.Name) < 1 {
12248		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12249	}
12250	if s.Value == nil {
12251		invalidParams.Add(request.NewErrParamRequired("Value"))
12252	}
12253	if s.Value != nil {
12254		if err := s.Value.Validate(); err != nil {
12255			invalidParams.AddNested("Value", err.(request.ErrInvalidParams))
12256		}
12257	}
12258
12259	if invalidParams.Len() > 0 {
12260		return invalidParams
12261	}
12262	return nil
12263}
12264
12265// SetName sets the Name field's value.
12266func (s *ExpressionVariable) SetName(v string) *ExpressionVariable {
12267	s.Name = &v
12268	return s
12269}
12270
12271// SetValue sets the Value field's value.
12272func (s *ExpressionVariable) SetValue(v *VariableValue) *ExpressionVariable {
12273	s.Value = v
12274	return s
12275}
12276
12277// Contains a summary of a gateway capability configuration.
12278type GatewayCapabilitySummary struct {
12279	_ struct{} `type:"structure"`
12280
12281	// The namespace of the capability configuration. For example, if you configure
12282	// OPC-UA sources from the AWS IoT SiteWise console, your OPC-UA capability
12283	// configuration has the namespace iotsitewise:opcuacollector:version, where
12284	// version is a number such as 1.
12285	//
12286	// CapabilityNamespace is a required field
12287	CapabilityNamespace *string `locationName:"capabilityNamespace" min:"1" type:"string" required:"true"`
12288
12289	// The synchronization status of the capability configuration. The sync status
12290	// can be one of the following:
12291	//
12292	//    * IN_SYNC – The gateway is running the capability configuration.
12293	//
12294	//    * OUT_OF_SYNC – The gateway hasn't received the capability configuration.
12295	//
12296	//    * SYNC_FAILED – The gateway rejected the capability configuration.
12297	//
12298	// CapabilitySyncStatus is a required field
12299	CapabilitySyncStatus *string `locationName:"capabilitySyncStatus" type:"string" required:"true" enum:"CapabilitySyncStatus"`
12300}
12301
12302// String returns the string representation
12303func (s GatewayCapabilitySummary) String() string {
12304	return awsutil.Prettify(s)
12305}
12306
12307// GoString returns the string representation
12308func (s GatewayCapabilitySummary) GoString() string {
12309	return s.String()
12310}
12311
12312// SetCapabilityNamespace sets the CapabilityNamespace field's value.
12313func (s *GatewayCapabilitySummary) SetCapabilityNamespace(v string) *GatewayCapabilitySummary {
12314	s.CapabilityNamespace = &v
12315	return s
12316}
12317
12318// SetCapabilitySyncStatus sets the CapabilitySyncStatus field's value.
12319func (s *GatewayCapabilitySummary) SetCapabilitySyncStatus(v string) *GatewayCapabilitySummary {
12320	s.CapabilitySyncStatus = &v
12321	return s
12322}
12323
12324// Contains a gateway's platform information.
12325type GatewayPlatform struct {
12326	_ struct{} `type:"structure"`
12327
12328	// A gateway that runs on AWS IoT Greengrass.
12329	//
12330	// Greengrass is a required field
12331	Greengrass *Greengrass `locationName:"greengrass" type:"structure" required:"true"`
12332}
12333
12334// String returns the string representation
12335func (s GatewayPlatform) String() string {
12336	return awsutil.Prettify(s)
12337}
12338
12339// GoString returns the string representation
12340func (s GatewayPlatform) GoString() string {
12341	return s.String()
12342}
12343
12344// Validate inspects the fields of the type to determine if they are valid.
12345func (s *GatewayPlatform) Validate() error {
12346	invalidParams := request.ErrInvalidParams{Context: "GatewayPlatform"}
12347	if s.Greengrass == nil {
12348		invalidParams.Add(request.NewErrParamRequired("Greengrass"))
12349	}
12350	if s.Greengrass != nil {
12351		if err := s.Greengrass.Validate(); err != nil {
12352			invalidParams.AddNested("Greengrass", err.(request.ErrInvalidParams))
12353		}
12354	}
12355
12356	if invalidParams.Len() > 0 {
12357		return invalidParams
12358	}
12359	return nil
12360}
12361
12362// SetGreengrass sets the Greengrass field's value.
12363func (s *GatewayPlatform) SetGreengrass(v *Greengrass) *GatewayPlatform {
12364	s.Greengrass = v
12365	return s
12366}
12367
12368// Contains a summary of a gateway.
12369type GatewaySummary struct {
12370	_ struct{} `type:"structure"`
12371
12372	// The date the gateway was created, in Unix epoch time.
12373	//
12374	// CreationDate is a required field
12375	CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"`
12376
12377	// A list of gateway capability summaries that each contain a namespace and
12378	// status. Each gateway capability defines data sources for the gateway. To
12379	// retrieve a capability configuration's definition, use DescribeGatewayCapabilityConfiguration
12380	// (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeGatewayCapabilityConfiguration.html).
12381	GatewayCapabilitySummaries []*GatewayCapabilitySummary `locationName:"gatewayCapabilitySummaries" type:"list"`
12382
12383	// The ID of the gateway device.
12384	//
12385	// GatewayId is a required field
12386	GatewayId *string `locationName:"gatewayId" min:"36" type:"string" required:"true"`
12387
12388	// The name of the asset.
12389	//
12390	// GatewayName is a required field
12391	GatewayName *string `locationName:"gatewayName" min:"1" type:"string" required:"true"`
12392
12393	// The date the gateway was last updated, in Unix epoch time.
12394	//
12395	// LastUpdateDate is a required field
12396	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp" required:"true"`
12397}
12398
12399// String returns the string representation
12400func (s GatewaySummary) String() string {
12401	return awsutil.Prettify(s)
12402}
12403
12404// GoString returns the string representation
12405func (s GatewaySummary) GoString() string {
12406	return s.String()
12407}
12408
12409// SetCreationDate sets the CreationDate field's value.
12410func (s *GatewaySummary) SetCreationDate(v time.Time) *GatewaySummary {
12411	s.CreationDate = &v
12412	return s
12413}
12414
12415// SetGatewayCapabilitySummaries sets the GatewayCapabilitySummaries field's value.
12416func (s *GatewaySummary) SetGatewayCapabilitySummaries(v []*GatewayCapabilitySummary) *GatewaySummary {
12417	s.GatewayCapabilitySummaries = v
12418	return s
12419}
12420
12421// SetGatewayId sets the GatewayId field's value.
12422func (s *GatewaySummary) SetGatewayId(v string) *GatewaySummary {
12423	s.GatewayId = &v
12424	return s
12425}
12426
12427// SetGatewayName sets the GatewayName field's value.
12428func (s *GatewaySummary) SetGatewayName(v string) *GatewaySummary {
12429	s.GatewayName = &v
12430	return s
12431}
12432
12433// SetLastUpdateDate sets the LastUpdateDate field's value.
12434func (s *GatewaySummary) SetLastUpdateDate(v time.Time) *GatewaySummary {
12435	s.LastUpdateDate = &v
12436	return s
12437}
12438
12439type GetAssetPropertyAggregatesInput struct {
12440	_ struct{} `type:"structure"`
12441
12442	// The data aggregating function.
12443	//
12444	// AggregateTypes is a required field
12445	AggregateTypes []*string `location:"querystring" locationName:"aggregateTypes" min:"1" type:"list" required:"true"`
12446
12447	// The ID of the asset.
12448	AssetId *string `location:"querystring" locationName:"assetId" min:"36" type:"string"`
12449
12450	// The inclusive end of the range from which to query historical data, expressed
12451	// in seconds in Unix epoch time.
12452	//
12453	// EndDate is a required field
12454	EndDate *time.Time `location:"querystring" locationName:"endDate" type:"timestamp" required:"true"`
12455
12456	// The maximum number of results to be returned per paginated request.
12457	//
12458	// Default: 100
12459	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12460
12461	// The token to be used for the next set of paginated results.
12462	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
12463
12464	// The property alias that identifies the property, such as an OPC-UA server
12465	// data stream path (for example, /company/windfarm/3/turbine/7/temperature).
12466	// For more information, see Mapping industrial data streams to asset properties
12467	// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
12468	// in the AWS IoT SiteWise User Guide.
12469	PropertyAlias *string `location:"querystring" locationName:"propertyAlias" min:"1" type:"string"`
12470
12471	// The ID of the asset property.
12472	PropertyId *string `location:"querystring" locationName:"propertyId" min:"36" type:"string"`
12473
12474	// The quality by which to filter asset data.
12475	Qualities []*string `location:"querystring" locationName:"qualities" min:"1" type:"list"`
12476
12477	// The time interval over which to aggregate data.
12478	//
12479	// Resolution is a required field
12480	Resolution *string `location:"querystring" locationName:"resolution" min:"2" type:"string" required:"true"`
12481
12482	// The exclusive start of the range from which to query historical data, expressed
12483	// in seconds in Unix epoch time.
12484	//
12485	// StartDate is a required field
12486	StartDate *time.Time `location:"querystring" locationName:"startDate" type:"timestamp" required:"true"`
12487
12488	// The chronological sorting order of the requested information.
12489	//
12490	// Default: ASCENDING
12491	TimeOrdering *string `location:"querystring" locationName:"timeOrdering" type:"string" enum:"TimeOrdering"`
12492}
12493
12494// String returns the string representation
12495func (s GetAssetPropertyAggregatesInput) String() string {
12496	return awsutil.Prettify(s)
12497}
12498
12499// GoString returns the string representation
12500func (s GetAssetPropertyAggregatesInput) GoString() string {
12501	return s.String()
12502}
12503
12504// Validate inspects the fields of the type to determine if they are valid.
12505func (s *GetAssetPropertyAggregatesInput) Validate() error {
12506	invalidParams := request.ErrInvalidParams{Context: "GetAssetPropertyAggregatesInput"}
12507	if s.AggregateTypes == nil {
12508		invalidParams.Add(request.NewErrParamRequired("AggregateTypes"))
12509	}
12510	if s.AggregateTypes != nil && len(s.AggregateTypes) < 1 {
12511		invalidParams.Add(request.NewErrParamMinLen("AggregateTypes", 1))
12512	}
12513	if s.AssetId != nil && len(*s.AssetId) < 36 {
12514		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
12515	}
12516	if s.EndDate == nil {
12517		invalidParams.Add(request.NewErrParamRequired("EndDate"))
12518	}
12519	if s.MaxResults != nil && *s.MaxResults < 1 {
12520		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12521	}
12522	if s.NextToken != nil && len(*s.NextToken) < 1 {
12523		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12524	}
12525	if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 {
12526		invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1))
12527	}
12528	if s.PropertyId != nil && len(*s.PropertyId) < 36 {
12529		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36))
12530	}
12531	if s.Qualities != nil && len(s.Qualities) < 1 {
12532		invalidParams.Add(request.NewErrParamMinLen("Qualities", 1))
12533	}
12534	if s.Resolution == nil {
12535		invalidParams.Add(request.NewErrParamRequired("Resolution"))
12536	}
12537	if s.Resolution != nil && len(*s.Resolution) < 2 {
12538		invalidParams.Add(request.NewErrParamMinLen("Resolution", 2))
12539	}
12540	if s.StartDate == nil {
12541		invalidParams.Add(request.NewErrParamRequired("StartDate"))
12542	}
12543
12544	if invalidParams.Len() > 0 {
12545		return invalidParams
12546	}
12547	return nil
12548}
12549
12550// SetAggregateTypes sets the AggregateTypes field's value.
12551func (s *GetAssetPropertyAggregatesInput) SetAggregateTypes(v []*string) *GetAssetPropertyAggregatesInput {
12552	s.AggregateTypes = v
12553	return s
12554}
12555
12556// SetAssetId sets the AssetId field's value.
12557func (s *GetAssetPropertyAggregatesInput) SetAssetId(v string) *GetAssetPropertyAggregatesInput {
12558	s.AssetId = &v
12559	return s
12560}
12561
12562// SetEndDate sets the EndDate field's value.
12563func (s *GetAssetPropertyAggregatesInput) SetEndDate(v time.Time) *GetAssetPropertyAggregatesInput {
12564	s.EndDate = &v
12565	return s
12566}
12567
12568// SetMaxResults sets the MaxResults field's value.
12569func (s *GetAssetPropertyAggregatesInput) SetMaxResults(v int64) *GetAssetPropertyAggregatesInput {
12570	s.MaxResults = &v
12571	return s
12572}
12573
12574// SetNextToken sets the NextToken field's value.
12575func (s *GetAssetPropertyAggregatesInput) SetNextToken(v string) *GetAssetPropertyAggregatesInput {
12576	s.NextToken = &v
12577	return s
12578}
12579
12580// SetPropertyAlias sets the PropertyAlias field's value.
12581func (s *GetAssetPropertyAggregatesInput) SetPropertyAlias(v string) *GetAssetPropertyAggregatesInput {
12582	s.PropertyAlias = &v
12583	return s
12584}
12585
12586// SetPropertyId sets the PropertyId field's value.
12587func (s *GetAssetPropertyAggregatesInput) SetPropertyId(v string) *GetAssetPropertyAggregatesInput {
12588	s.PropertyId = &v
12589	return s
12590}
12591
12592// SetQualities sets the Qualities field's value.
12593func (s *GetAssetPropertyAggregatesInput) SetQualities(v []*string) *GetAssetPropertyAggregatesInput {
12594	s.Qualities = v
12595	return s
12596}
12597
12598// SetResolution sets the Resolution field's value.
12599func (s *GetAssetPropertyAggregatesInput) SetResolution(v string) *GetAssetPropertyAggregatesInput {
12600	s.Resolution = &v
12601	return s
12602}
12603
12604// SetStartDate sets the StartDate field's value.
12605func (s *GetAssetPropertyAggregatesInput) SetStartDate(v time.Time) *GetAssetPropertyAggregatesInput {
12606	s.StartDate = &v
12607	return s
12608}
12609
12610// SetTimeOrdering sets the TimeOrdering field's value.
12611func (s *GetAssetPropertyAggregatesInput) SetTimeOrdering(v string) *GetAssetPropertyAggregatesInput {
12612	s.TimeOrdering = &v
12613	return s
12614}
12615
12616type GetAssetPropertyAggregatesOutput struct {
12617	_ struct{} `type:"structure"`
12618
12619	// The requested aggregated values.
12620	//
12621	// AggregatedValues is a required field
12622	AggregatedValues []*AggregatedValue `locationName:"aggregatedValues" type:"list" required:"true"`
12623
12624	// The token for the next set of results, or null if there are no additional
12625	// results.
12626	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12627}
12628
12629// String returns the string representation
12630func (s GetAssetPropertyAggregatesOutput) String() string {
12631	return awsutil.Prettify(s)
12632}
12633
12634// GoString returns the string representation
12635func (s GetAssetPropertyAggregatesOutput) GoString() string {
12636	return s.String()
12637}
12638
12639// SetAggregatedValues sets the AggregatedValues field's value.
12640func (s *GetAssetPropertyAggregatesOutput) SetAggregatedValues(v []*AggregatedValue) *GetAssetPropertyAggregatesOutput {
12641	s.AggregatedValues = v
12642	return s
12643}
12644
12645// SetNextToken sets the NextToken field's value.
12646func (s *GetAssetPropertyAggregatesOutput) SetNextToken(v string) *GetAssetPropertyAggregatesOutput {
12647	s.NextToken = &v
12648	return s
12649}
12650
12651type GetAssetPropertyValueHistoryInput struct {
12652	_ struct{} `type:"structure"`
12653
12654	// The ID of the asset.
12655	AssetId *string `location:"querystring" locationName:"assetId" min:"36" type:"string"`
12656
12657	// The inclusive end of the range from which to query historical data, expressed
12658	// in seconds in Unix epoch time.
12659	EndDate *time.Time `location:"querystring" locationName:"endDate" type:"timestamp"`
12660
12661	// The maximum number of results to be returned per paginated request.
12662	//
12663	// Default: 100
12664	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12665
12666	// The token to be used for the next set of paginated results.
12667	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
12668
12669	// The property alias that identifies the property, such as an OPC-UA server
12670	// data stream path (for example, /company/windfarm/3/turbine/7/temperature).
12671	// For more information, see Mapping industrial data streams to asset properties
12672	// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
12673	// in the AWS IoT SiteWise User Guide.
12674	PropertyAlias *string `location:"querystring" locationName:"propertyAlias" min:"1" type:"string"`
12675
12676	// The ID of the asset property.
12677	PropertyId *string `location:"querystring" locationName:"propertyId" min:"36" type:"string"`
12678
12679	// The quality by which to filter asset data.
12680	Qualities []*string `location:"querystring" locationName:"qualities" min:"1" type:"list"`
12681
12682	// The exclusive start of the range from which to query historical data, expressed
12683	// in seconds in Unix epoch time.
12684	StartDate *time.Time `location:"querystring" locationName:"startDate" type:"timestamp"`
12685
12686	// The chronological sorting order of the requested information.
12687	//
12688	// Default: ASCENDING
12689	TimeOrdering *string `location:"querystring" locationName:"timeOrdering" type:"string" enum:"TimeOrdering"`
12690}
12691
12692// String returns the string representation
12693func (s GetAssetPropertyValueHistoryInput) String() string {
12694	return awsutil.Prettify(s)
12695}
12696
12697// GoString returns the string representation
12698func (s GetAssetPropertyValueHistoryInput) GoString() string {
12699	return s.String()
12700}
12701
12702// Validate inspects the fields of the type to determine if they are valid.
12703func (s *GetAssetPropertyValueHistoryInput) Validate() error {
12704	invalidParams := request.ErrInvalidParams{Context: "GetAssetPropertyValueHistoryInput"}
12705	if s.AssetId != nil && len(*s.AssetId) < 36 {
12706		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
12707	}
12708	if s.MaxResults != nil && *s.MaxResults < 1 {
12709		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12710	}
12711	if s.NextToken != nil && len(*s.NextToken) < 1 {
12712		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12713	}
12714	if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 {
12715		invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1))
12716	}
12717	if s.PropertyId != nil && len(*s.PropertyId) < 36 {
12718		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36))
12719	}
12720	if s.Qualities != nil && len(s.Qualities) < 1 {
12721		invalidParams.Add(request.NewErrParamMinLen("Qualities", 1))
12722	}
12723
12724	if invalidParams.Len() > 0 {
12725		return invalidParams
12726	}
12727	return nil
12728}
12729
12730// SetAssetId sets the AssetId field's value.
12731func (s *GetAssetPropertyValueHistoryInput) SetAssetId(v string) *GetAssetPropertyValueHistoryInput {
12732	s.AssetId = &v
12733	return s
12734}
12735
12736// SetEndDate sets the EndDate field's value.
12737func (s *GetAssetPropertyValueHistoryInput) SetEndDate(v time.Time) *GetAssetPropertyValueHistoryInput {
12738	s.EndDate = &v
12739	return s
12740}
12741
12742// SetMaxResults sets the MaxResults field's value.
12743func (s *GetAssetPropertyValueHistoryInput) SetMaxResults(v int64) *GetAssetPropertyValueHistoryInput {
12744	s.MaxResults = &v
12745	return s
12746}
12747
12748// SetNextToken sets the NextToken field's value.
12749func (s *GetAssetPropertyValueHistoryInput) SetNextToken(v string) *GetAssetPropertyValueHistoryInput {
12750	s.NextToken = &v
12751	return s
12752}
12753
12754// SetPropertyAlias sets the PropertyAlias field's value.
12755func (s *GetAssetPropertyValueHistoryInput) SetPropertyAlias(v string) *GetAssetPropertyValueHistoryInput {
12756	s.PropertyAlias = &v
12757	return s
12758}
12759
12760// SetPropertyId sets the PropertyId field's value.
12761func (s *GetAssetPropertyValueHistoryInput) SetPropertyId(v string) *GetAssetPropertyValueHistoryInput {
12762	s.PropertyId = &v
12763	return s
12764}
12765
12766// SetQualities sets the Qualities field's value.
12767func (s *GetAssetPropertyValueHistoryInput) SetQualities(v []*string) *GetAssetPropertyValueHistoryInput {
12768	s.Qualities = v
12769	return s
12770}
12771
12772// SetStartDate sets the StartDate field's value.
12773func (s *GetAssetPropertyValueHistoryInput) SetStartDate(v time.Time) *GetAssetPropertyValueHistoryInput {
12774	s.StartDate = &v
12775	return s
12776}
12777
12778// SetTimeOrdering sets the TimeOrdering field's value.
12779func (s *GetAssetPropertyValueHistoryInput) SetTimeOrdering(v string) *GetAssetPropertyValueHistoryInput {
12780	s.TimeOrdering = &v
12781	return s
12782}
12783
12784type GetAssetPropertyValueHistoryOutput struct {
12785	_ struct{} `type:"structure"`
12786
12787	// The asset property's value history.
12788	//
12789	// AssetPropertyValueHistory is a required field
12790	AssetPropertyValueHistory []*AssetPropertyValue `locationName:"assetPropertyValueHistory" type:"list" required:"true"`
12791
12792	// The token for the next set of results, or null if there are no additional
12793	// results.
12794	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12795}
12796
12797// String returns the string representation
12798func (s GetAssetPropertyValueHistoryOutput) String() string {
12799	return awsutil.Prettify(s)
12800}
12801
12802// GoString returns the string representation
12803func (s GetAssetPropertyValueHistoryOutput) GoString() string {
12804	return s.String()
12805}
12806
12807// SetAssetPropertyValueHistory sets the AssetPropertyValueHistory field's value.
12808func (s *GetAssetPropertyValueHistoryOutput) SetAssetPropertyValueHistory(v []*AssetPropertyValue) *GetAssetPropertyValueHistoryOutput {
12809	s.AssetPropertyValueHistory = v
12810	return s
12811}
12812
12813// SetNextToken sets the NextToken field's value.
12814func (s *GetAssetPropertyValueHistoryOutput) SetNextToken(v string) *GetAssetPropertyValueHistoryOutput {
12815	s.NextToken = &v
12816	return s
12817}
12818
12819type GetAssetPropertyValueInput struct {
12820	_ struct{} `type:"structure"`
12821
12822	// The ID of the asset.
12823	AssetId *string `location:"querystring" locationName:"assetId" min:"36" type:"string"`
12824
12825	// The property alias that identifies the property, such as an OPC-UA server
12826	// data stream path (for example, /company/windfarm/3/turbine/7/temperature).
12827	// For more information, see Mapping industrial data streams to asset properties
12828	// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
12829	// in the AWS IoT SiteWise User Guide.
12830	PropertyAlias *string `location:"querystring" locationName:"propertyAlias" min:"1" type:"string"`
12831
12832	// The ID of the asset property.
12833	PropertyId *string `location:"querystring" locationName:"propertyId" min:"36" type:"string"`
12834}
12835
12836// String returns the string representation
12837func (s GetAssetPropertyValueInput) String() string {
12838	return awsutil.Prettify(s)
12839}
12840
12841// GoString returns the string representation
12842func (s GetAssetPropertyValueInput) GoString() string {
12843	return s.String()
12844}
12845
12846// Validate inspects the fields of the type to determine if they are valid.
12847func (s *GetAssetPropertyValueInput) Validate() error {
12848	invalidParams := request.ErrInvalidParams{Context: "GetAssetPropertyValueInput"}
12849	if s.AssetId != nil && len(*s.AssetId) < 36 {
12850		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
12851	}
12852	if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 {
12853		invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1))
12854	}
12855	if s.PropertyId != nil && len(*s.PropertyId) < 36 {
12856		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36))
12857	}
12858
12859	if invalidParams.Len() > 0 {
12860		return invalidParams
12861	}
12862	return nil
12863}
12864
12865// SetAssetId sets the AssetId field's value.
12866func (s *GetAssetPropertyValueInput) SetAssetId(v string) *GetAssetPropertyValueInput {
12867	s.AssetId = &v
12868	return s
12869}
12870
12871// SetPropertyAlias sets the PropertyAlias field's value.
12872func (s *GetAssetPropertyValueInput) SetPropertyAlias(v string) *GetAssetPropertyValueInput {
12873	s.PropertyAlias = &v
12874	return s
12875}
12876
12877// SetPropertyId sets the PropertyId field's value.
12878func (s *GetAssetPropertyValueInput) SetPropertyId(v string) *GetAssetPropertyValueInput {
12879	s.PropertyId = &v
12880	return s
12881}
12882
12883type GetAssetPropertyValueOutput struct {
12884	_ struct{} `type:"structure"`
12885
12886	// The current asset property value.
12887	PropertyValue *AssetPropertyValue `locationName:"propertyValue" type:"structure"`
12888}
12889
12890// String returns the string representation
12891func (s GetAssetPropertyValueOutput) String() string {
12892	return awsutil.Prettify(s)
12893}
12894
12895// GoString returns the string representation
12896func (s GetAssetPropertyValueOutput) GoString() string {
12897	return s.String()
12898}
12899
12900// SetPropertyValue sets the PropertyValue field's value.
12901func (s *GetAssetPropertyValueOutput) SetPropertyValue(v *AssetPropertyValue) *GetAssetPropertyValueOutput {
12902	s.PropertyValue = v
12903	return s
12904}
12905
12906type GetInterpolatedAssetPropertyValuesInput struct {
12907	_ struct{} `type:"structure"`
12908
12909	// The ID of the asset.
12910	AssetId *string `location:"querystring" locationName:"assetId" min:"36" type:"string"`
12911
12912	// The inclusive end of the range from which to interpolate data, expressed
12913	// in seconds in Unix epoch time.
12914	//
12915	// EndTimeInSeconds is a required field
12916	EndTimeInSeconds *int64 `location:"querystring" locationName:"endTimeInSeconds" min:"1" type:"long" required:"true"`
12917
12918	// The nanosecond offset converted from endTimeInSeconds.
12919	EndTimeOffsetInNanos *int64 `location:"querystring" locationName:"endTimeOffsetInNanos" type:"integer"`
12920
12921	// The time interval in seconds over which to interpolate data. Each interval
12922	// starts when the previous one ends.
12923	//
12924	// IntervalInSeconds is a required field
12925	IntervalInSeconds *int64 `location:"querystring" locationName:"intervalInSeconds" min:"1" type:"long" required:"true"`
12926
12927	// The maximum number of results to be returned per paginated request. If not
12928	// specified, the default value is 10.
12929	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12930
12931	// The token to be used for the next set of paginated results.
12932	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
12933
12934	// The property alias that identifies the property, such as an OPC-UA server
12935	// data stream path (for example, /company/windfarm/3/turbine/7/temperature).
12936	// For more information, see Mapping industrial data streams to asset properties
12937	// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
12938	// in the AWS IoT SiteWise User Guide.
12939	PropertyAlias *string `location:"querystring" locationName:"propertyAlias" min:"1" type:"string"`
12940
12941	// The ID of the asset property.
12942	PropertyId *string `location:"querystring" locationName:"propertyId" min:"36" type:"string"`
12943
12944	// The quality of the asset property value. You can use this parameter as a
12945	// filter to choose only the asset property values that have a specific quality.
12946	//
12947	// Quality is a required field
12948	Quality *string `location:"querystring" locationName:"quality" type:"string" required:"true" enum:"Quality"`
12949
12950	// The exclusive start of the range from which to interpolate data, expressed
12951	// in seconds in Unix epoch time.
12952	//
12953	// StartTimeInSeconds is a required field
12954	StartTimeInSeconds *int64 `location:"querystring" locationName:"startTimeInSeconds" min:"1" type:"long" required:"true"`
12955
12956	// The nanosecond offset converted from startTimeInSeconds.
12957	StartTimeOffsetInNanos *int64 `location:"querystring" locationName:"startTimeOffsetInNanos" type:"integer"`
12958
12959	// The interpolation type.
12960	//
12961	// Valid values: LINEAR_INTERPOLATION
12962	//
12963	// Type is a required field
12964	Type *string `location:"querystring" locationName:"type" min:"1" type:"string" required:"true"`
12965}
12966
12967// String returns the string representation
12968func (s GetInterpolatedAssetPropertyValuesInput) String() string {
12969	return awsutil.Prettify(s)
12970}
12971
12972// GoString returns the string representation
12973func (s GetInterpolatedAssetPropertyValuesInput) GoString() string {
12974	return s.String()
12975}
12976
12977// Validate inspects the fields of the type to determine if they are valid.
12978func (s *GetInterpolatedAssetPropertyValuesInput) Validate() error {
12979	invalidParams := request.ErrInvalidParams{Context: "GetInterpolatedAssetPropertyValuesInput"}
12980	if s.AssetId != nil && len(*s.AssetId) < 36 {
12981		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
12982	}
12983	if s.EndTimeInSeconds == nil {
12984		invalidParams.Add(request.NewErrParamRequired("EndTimeInSeconds"))
12985	}
12986	if s.EndTimeInSeconds != nil && *s.EndTimeInSeconds < 1 {
12987		invalidParams.Add(request.NewErrParamMinValue("EndTimeInSeconds", 1))
12988	}
12989	if s.IntervalInSeconds == nil {
12990		invalidParams.Add(request.NewErrParamRequired("IntervalInSeconds"))
12991	}
12992	if s.IntervalInSeconds != nil && *s.IntervalInSeconds < 1 {
12993		invalidParams.Add(request.NewErrParamMinValue("IntervalInSeconds", 1))
12994	}
12995	if s.MaxResults != nil && *s.MaxResults < 1 {
12996		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12997	}
12998	if s.NextToken != nil && len(*s.NextToken) < 1 {
12999		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
13000	}
13001	if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 {
13002		invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1))
13003	}
13004	if s.PropertyId != nil && len(*s.PropertyId) < 36 {
13005		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36))
13006	}
13007	if s.Quality == nil {
13008		invalidParams.Add(request.NewErrParamRequired("Quality"))
13009	}
13010	if s.StartTimeInSeconds == nil {
13011		invalidParams.Add(request.NewErrParamRequired("StartTimeInSeconds"))
13012	}
13013	if s.StartTimeInSeconds != nil && *s.StartTimeInSeconds < 1 {
13014		invalidParams.Add(request.NewErrParamMinValue("StartTimeInSeconds", 1))
13015	}
13016	if s.Type == nil {
13017		invalidParams.Add(request.NewErrParamRequired("Type"))
13018	}
13019	if s.Type != nil && len(*s.Type) < 1 {
13020		invalidParams.Add(request.NewErrParamMinLen("Type", 1))
13021	}
13022
13023	if invalidParams.Len() > 0 {
13024		return invalidParams
13025	}
13026	return nil
13027}
13028
13029// SetAssetId sets the AssetId field's value.
13030func (s *GetInterpolatedAssetPropertyValuesInput) SetAssetId(v string) *GetInterpolatedAssetPropertyValuesInput {
13031	s.AssetId = &v
13032	return s
13033}
13034
13035// SetEndTimeInSeconds sets the EndTimeInSeconds field's value.
13036func (s *GetInterpolatedAssetPropertyValuesInput) SetEndTimeInSeconds(v int64) *GetInterpolatedAssetPropertyValuesInput {
13037	s.EndTimeInSeconds = &v
13038	return s
13039}
13040
13041// SetEndTimeOffsetInNanos sets the EndTimeOffsetInNanos field's value.
13042func (s *GetInterpolatedAssetPropertyValuesInput) SetEndTimeOffsetInNanos(v int64) *GetInterpolatedAssetPropertyValuesInput {
13043	s.EndTimeOffsetInNanos = &v
13044	return s
13045}
13046
13047// SetIntervalInSeconds sets the IntervalInSeconds field's value.
13048func (s *GetInterpolatedAssetPropertyValuesInput) SetIntervalInSeconds(v int64) *GetInterpolatedAssetPropertyValuesInput {
13049	s.IntervalInSeconds = &v
13050	return s
13051}
13052
13053// SetMaxResults sets the MaxResults field's value.
13054func (s *GetInterpolatedAssetPropertyValuesInput) SetMaxResults(v int64) *GetInterpolatedAssetPropertyValuesInput {
13055	s.MaxResults = &v
13056	return s
13057}
13058
13059// SetNextToken sets the NextToken field's value.
13060func (s *GetInterpolatedAssetPropertyValuesInput) SetNextToken(v string) *GetInterpolatedAssetPropertyValuesInput {
13061	s.NextToken = &v
13062	return s
13063}
13064
13065// SetPropertyAlias sets the PropertyAlias field's value.
13066func (s *GetInterpolatedAssetPropertyValuesInput) SetPropertyAlias(v string) *GetInterpolatedAssetPropertyValuesInput {
13067	s.PropertyAlias = &v
13068	return s
13069}
13070
13071// SetPropertyId sets the PropertyId field's value.
13072func (s *GetInterpolatedAssetPropertyValuesInput) SetPropertyId(v string) *GetInterpolatedAssetPropertyValuesInput {
13073	s.PropertyId = &v
13074	return s
13075}
13076
13077// SetQuality sets the Quality field's value.
13078func (s *GetInterpolatedAssetPropertyValuesInput) SetQuality(v string) *GetInterpolatedAssetPropertyValuesInput {
13079	s.Quality = &v
13080	return s
13081}
13082
13083// SetStartTimeInSeconds sets the StartTimeInSeconds field's value.
13084func (s *GetInterpolatedAssetPropertyValuesInput) SetStartTimeInSeconds(v int64) *GetInterpolatedAssetPropertyValuesInput {
13085	s.StartTimeInSeconds = &v
13086	return s
13087}
13088
13089// SetStartTimeOffsetInNanos sets the StartTimeOffsetInNanos field's value.
13090func (s *GetInterpolatedAssetPropertyValuesInput) SetStartTimeOffsetInNanos(v int64) *GetInterpolatedAssetPropertyValuesInput {
13091	s.StartTimeOffsetInNanos = &v
13092	return s
13093}
13094
13095// SetType sets the Type field's value.
13096func (s *GetInterpolatedAssetPropertyValuesInput) SetType(v string) *GetInterpolatedAssetPropertyValuesInput {
13097	s.Type = &v
13098	return s
13099}
13100
13101type GetInterpolatedAssetPropertyValuesOutput struct {
13102	_ struct{} `type:"structure"`
13103
13104	// The requested interpolated values.
13105	//
13106	// InterpolatedAssetPropertyValues is a required field
13107	InterpolatedAssetPropertyValues []*InterpolatedAssetPropertyValue `locationName:"interpolatedAssetPropertyValues" type:"list" required:"true"`
13108
13109	// The token for the next set of results, or null if there are no additional
13110	// results.
13111	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
13112}
13113
13114// String returns the string representation
13115func (s GetInterpolatedAssetPropertyValuesOutput) String() string {
13116	return awsutil.Prettify(s)
13117}
13118
13119// GoString returns the string representation
13120func (s GetInterpolatedAssetPropertyValuesOutput) GoString() string {
13121	return s.String()
13122}
13123
13124// SetInterpolatedAssetPropertyValues sets the InterpolatedAssetPropertyValues field's value.
13125func (s *GetInterpolatedAssetPropertyValuesOutput) SetInterpolatedAssetPropertyValues(v []*InterpolatedAssetPropertyValue) *GetInterpolatedAssetPropertyValuesOutput {
13126	s.InterpolatedAssetPropertyValues = v
13127	return s
13128}
13129
13130// SetNextToken sets the NextToken field's value.
13131func (s *GetInterpolatedAssetPropertyValuesOutput) SetNextToken(v string) *GetInterpolatedAssetPropertyValuesOutput {
13132	s.NextToken = &v
13133	return s
13134}
13135
13136// Contains details for a gateway that runs on AWS IoT Greengrass. To create
13137// a gateway that runs on AWS IoT Greengrass, you must add the IoT SiteWise
13138// connector to a Greengrass group and deploy it. Your Greengrass group must
13139// also have permissions to upload data to AWS IoT SiteWise. For more information,
13140// see Ingesting data using a gateway (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/gateway-connector.html)
13141// in the AWS IoT SiteWise User Guide.
13142type Greengrass struct {
13143	_ struct{} `type:"structure"`
13144
13145	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
13146	// of the Greengrass group. For more information about how to find a group's
13147	// ARN, see ListGroups (https://docs.aws.amazon.com/greengrass/latest/apireference/listgroups-get.html)
13148	// and GetGroup (https://docs.aws.amazon.com/greengrass/latest/apireference/getgroup-get.html)
13149	// in the AWS IoT Greengrass API Reference.
13150	//
13151	// GroupArn is a required field
13152	GroupArn *string `locationName:"groupArn" min:"1" type:"string" required:"true"`
13153}
13154
13155// String returns the string representation
13156func (s Greengrass) String() string {
13157	return awsutil.Prettify(s)
13158}
13159
13160// GoString returns the string representation
13161func (s Greengrass) GoString() string {
13162	return s.String()
13163}
13164
13165// Validate inspects the fields of the type to determine if they are valid.
13166func (s *Greengrass) Validate() error {
13167	invalidParams := request.ErrInvalidParams{Context: "Greengrass"}
13168	if s.GroupArn == nil {
13169		invalidParams.Add(request.NewErrParamRequired("GroupArn"))
13170	}
13171	if s.GroupArn != nil && len(*s.GroupArn) < 1 {
13172		invalidParams.Add(request.NewErrParamMinLen("GroupArn", 1))
13173	}
13174
13175	if invalidParams.Len() > 0 {
13176		return invalidParams
13177	}
13178	return nil
13179}
13180
13181// SetGroupArn sets the GroupArn field's value.
13182func (s *Greengrass) SetGroupArn(v string) *Greengrass {
13183	s.GroupArn = &v
13184	return s
13185}
13186
13187// Contains information for a group identity in an access policy.
13188type GroupIdentity struct {
13189	_ struct{} `type:"structure"`
13190
13191	// The AWS SSO ID of the group.
13192	//
13193	// Id is a required field
13194	Id *string `locationName:"id" min:"1" type:"string" required:"true"`
13195}
13196
13197// String returns the string representation
13198func (s GroupIdentity) String() string {
13199	return awsutil.Prettify(s)
13200}
13201
13202// GoString returns the string representation
13203func (s GroupIdentity) GoString() string {
13204	return s.String()
13205}
13206
13207// Validate inspects the fields of the type to determine if they are valid.
13208func (s *GroupIdentity) Validate() error {
13209	invalidParams := request.ErrInvalidParams{Context: "GroupIdentity"}
13210	if s.Id == nil {
13211		invalidParams.Add(request.NewErrParamRequired("Id"))
13212	}
13213	if s.Id != nil && len(*s.Id) < 1 {
13214		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
13215	}
13216
13217	if invalidParams.Len() > 0 {
13218		return invalidParams
13219	}
13220	return nil
13221}
13222
13223// SetId sets the Id field's value.
13224func (s *GroupIdentity) SetId(v string) *GroupIdentity {
13225	s.Id = &v
13226	return s
13227}
13228
13229// Contains information about an AWS Identity and Access Management (IAM) role.
13230// For more information, see IAM roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)
13231// in the IAM User Guide.
13232type IAMRoleIdentity struct {
13233	_ struct{} `type:"structure"`
13234
13235	// The ARN of the IAM role. For more information, see IAM ARNs (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html)
13236	// in the IAM User Guide.
13237	//
13238	// Arn is a required field
13239	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
13240}
13241
13242// String returns the string representation
13243func (s IAMRoleIdentity) String() string {
13244	return awsutil.Prettify(s)
13245}
13246
13247// GoString returns the string representation
13248func (s IAMRoleIdentity) GoString() string {
13249	return s.String()
13250}
13251
13252// Validate inspects the fields of the type to determine if they are valid.
13253func (s *IAMRoleIdentity) Validate() error {
13254	invalidParams := request.ErrInvalidParams{Context: "IAMRoleIdentity"}
13255	if s.Arn == nil {
13256		invalidParams.Add(request.NewErrParamRequired("Arn"))
13257	}
13258	if s.Arn != nil && len(*s.Arn) < 1 {
13259		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
13260	}
13261
13262	if invalidParams.Len() > 0 {
13263		return invalidParams
13264	}
13265	return nil
13266}
13267
13268// SetArn sets the Arn field's value.
13269func (s *IAMRoleIdentity) SetArn(v string) *IAMRoleIdentity {
13270	s.Arn = &v
13271	return s
13272}
13273
13274// Contains information about an AWS Identity and Access Management (IAM) user.
13275type IAMUserIdentity struct {
13276	_ struct{} `type:"structure"`
13277
13278	// The ARN of the IAM user. For more information, see IAM ARNs (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html)
13279	// in the IAM User Guide.
13280	//
13281	// If you delete the IAM user, access policies that contain this identity include
13282	// an empty arn. You can delete the access policy for the IAM user that no longer
13283	// exists.
13284	//
13285	// Arn is a required field
13286	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
13287}
13288
13289// String returns the string representation
13290func (s IAMUserIdentity) String() string {
13291	return awsutil.Prettify(s)
13292}
13293
13294// GoString returns the string representation
13295func (s IAMUserIdentity) GoString() string {
13296	return s.String()
13297}
13298
13299// Validate inspects the fields of the type to determine if they are valid.
13300func (s *IAMUserIdentity) Validate() error {
13301	invalidParams := request.ErrInvalidParams{Context: "IAMUserIdentity"}
13302	if s.Arn == nil {
13303		invalidParams.Add(request.NewErrParamRequired("Arn"))
13304	}
13305	if s.Arn != nil && len(*s.Arn) < 1 {
13306		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
13307	}
13308
13309	if invalidParams.Len() > 0 {
13310		return invalidParams
13311	}
13312	return nil
13313}
13314
13315// SetArn sets the Arn field's value.
13316func (s *IAMUserIdentity) SetArn(v string) *IAMUserIdentity {
13317	s.Arn = &v
13318	return s
13319}
13320
13321// Contains an identity that can access an AWS IoT SiteWise Monitor resource.
13322//
13323// Currently, you can't use AWS APIs to retrieve AWS SSO identity IDs. You can
13324// find the AWS SSO identity IDs in the URL of user and group pages in the AWS
13325// SSO console (https://console.aws.amazon.com/singlesignon).
13326type Identity struct {
13327	_ struct{} `type:"structure"`
13328
13329	// An AWS SSO group identity.
13330	Group *GroupIdentity `locationName:"group" type:"structure"`
13331
13332	// An IAM role identity.
13333	IamRole *IAMRoleIdentity `locationName:"iamRole" type:"structure"`
13334
13335	// An IAM user identity.
13336	IamUser *IAMUserIdentity `locationName:"iamUser" type:"structure"`
13337
13338	// An AWS SSO user identity.
13339	User *UserIdentity `locationName:"user" type:"structure"`
13340}
13341
13342// String returns the string representation
13343func (s Identity) String() string {
13344	return awsutil.Prettify(s)
13345}
13346
13347// GoString returns the string representation
13348func (s Identity) GoString() string {
13349	return s.String()
13350}
13351
13352// Validate inspects the fields of the type to determine if they are valid.
13353func (s *Identity) Validate() error {
13354	invalidParams := request.ErrInvalidParams{Context: "Identity"}
13355	if s.Group != nil {
13356		if err := s.Group.Validate(); err != nil {
13357			invalidParams.AddNested("Group", err.(request.ErrInvalidParams))
13358		}
13359	}
13360	if s.IamRole != nil {
13361		if err := s.IamRole.Validate(); err != nil {
13362			invalidParams.AddNested("IamRole", err.(request.ErrInvalidParams))
13363		}
13364	}
13365	if s.IamUser != nil {
13366		if err := s.IamUser.Validate(); err != nil {
13367			invalidParams.AddNested("IamUser", err.(request.ErrInvalidParams))
13368		}
13369	}
13370	if s.User != nil {
13371		if err := s.User.Validate(); err != nil {
13372			invalidParams.AddNested("User", err.(request.ErrInvalidParams))
13373		}
13374	}
13375
13376	if invalidParams.Len() > 0 {
13377		return invalidParams
13378	}
13379	return nil
13380}
13381
13382// SetGroup sets the Group field's value.
13383func (s *Identity) SetGroup(v *GroupIdentity) *Identity {
13384	s.Group = v
13385	return s
13386}
13387
13388// SetIamRole sets the IamRole field's value.
13389func (s *Identity) SetIamRole(v *IAMRoleIdentity) *Identity {
13390	s.IamRole = v
13391	return s
13392}
13393
13394// SetIamUser sets the IamUser field's value.
13395func (s *Identity) SetIamUser(v *IAMUserIdentity) *Identity {
13396	s.IamUser = v
13397	return s
13398}
13399
13400// SetUser sets the User field's value.
13401func (s *Identity) SetUser(v *UserIdentity) *Identity {
13402	s.User = v
13403	return s
13404}
13405
13406// Contains an image that is one of the following:
13407//
13408//    * An image file. Choose this option to upload a new image.
13409//
13410//    * The ID of an existing image. Choose this option to keep an existing
13411//    image.
13412type Image struct {
13413	_ struct{} `type:"structure"`
13414
13415	// Contains an image file.
13416	File *ImageFile `locationName:"file" type:"structure"`
13417
13418	// The ID of an existing image. Specify this parameter to keep an existing image.
13419	Id *string `locationName:"id" min:"36" type:"string"`
13420}
13421
13422// String returns the string representation
13423func (s Image) String() string {
13424	return awsutil.Prettify(s)
13425}
13426
13427// GoString returns the string representation
13428func (s Image) GoString() string {
13429	return s.String()
13430}
13431
13432// Validate inspects the fields of the type to determine if they are valid.
13433func (s *Image) Validate() error {
13434	invalidParams := request.ErrInvalidParams{Context: "Image"}
13435	if s.Id != nil && len(*s.Id) < 36 {
13436		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
13437	}
13438	if s.File != nil {
13439		if err := s.File.Validate(); err != nil {
13440			invalidParams.AddNested("File", err.(request.ErrInvalidParams))
13441		}
13442	}
13443
13444	if invalidParams.Len() > 0 {
13445		return invalidParams
13446	}
13447	return nil
13448}
13449
13450// SetFile sets the File field's value.
13451func (s *Image) SetFile(v *ImageFile) *Image {
13452	s.File = v
13453	return s
13454}
13455
13456// SetId sets the Id field's value.
13457func (s *Image) SetId(v string) *Image {
13458	s.Id = &v
13459	return s
13460}
13461
13462// Contains an image file.
13463type ImageFile struct {
13464	_ struct{} `type:"structure"`
13465
13466	// The image file contents, represented as a base64-encoded string. The file
13467	// size must be less than 1 MB.
13468	//
13469	// Data is automatically base64 encoded/decoded by the SDK.
13470	//
13471	// Data is a required field
13472	Data []byte `locationName:"data" min:"1" type:"blob" required:"true"`
13473
13474	// The file type of the image.
13475	//
13476	// Type is a required field
13477	Type *string `locationName:"type" type:"string" required:"true" enum:"ImageFileType"`
13478}
13479
13480// String returns the string representation
13481func (s ImageFile) String() string {
13482	return awsutil.Prettify(s)
13483}
13484
13485// GoString returns the string representation
13486func (s ImageFile) GoString() string {
13487	return s.String()
13488}
13489
13490// Validate inspects the fields of the type to determine if they are valid.
13491func (s *ImageFile) Validate() error {
13492	invalidParams := request.ErrInvalidParams{Context: "ImageFile"}
13493	if s.Data == nil {
13494		invalidParams.Add(request.NewErrParamRequired("Data"))
13495	}
13496	if s.Data != nil && len(s.Data) < 1 {
13497		invalidParams.Add(request.NewErrParamMinLen("Data", 1))
13498	}
13499	if s.Type == nil {
13500		invalidParams.Add(request.NewErrParamRequired("Type"))
13501	}
13502
13503	if invalidParams.Len() > 0 {
13504		return invalidParams
13505	}
13506	return nil
13507}
13508
13509// SetData sets the Data field's value.
13510func (s *ImageFile) SetData(v []byte) *ImageFile {
13511	s.Data = v
13512	return s
13513}
13514
13515// SetType sets the Type field's value.
13516func (s *ImageFile) SetType(v string) *ImageFile {
13517	s.Type = &v
13518	return s
13519}
13520
13521// Contains an image that is uploaded to AWS IoT SiteWise and available at a
13522// URL.
13523type ImageLocation struct {
13524	_ struct{} `type:"structure"`
13525
13526	// The ID of the image.
13527	//
13528	// Id is a required field
13529	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
13530
13531	// The URL where the image is available. The URL is valid for 15 minutes so
13532	// that you can view and download the image
13533	//
13534	// Url is a required field
13535	Url *string `locationName:"url" min:"1" type:"string" required:"true"`
13536}
13537
13538// String returns the string representation
13539func (s ImageLocation) String() string {
13540	return awsutil.Prettify(s)
13541}
13542
13543// GoString returns the string representation
13544func (s ImageLocation) GoString() string {
13545	return s.String()
13546}
13547
13548// SetId sets the Id field's value.
13549func (s *ImageLocation) SetId(v string) *ImageLocation {
13550	s.Id = &v
13551	return s
13552}
13553
13554// SetUrl sets the Url field's value.
13555func (s *ImageLocation) SetUrl(v string) *ImageLocation {
13556	s.Url = &v
13557	return s
13558}
13559
13560// AWS IoT SiteWise can't process your request right now. Try again later.
13561type InternalFailureException struct {
13562	_            struct{}                  `type:"structure"`
13563	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13564
13565	Message_ *string `locationName:"message" type:"string"`
13566}
13567
13568// String returns the string representation
13569func (s InternalFailureException) String() string {
13570	return awsutil.Prettify(s)
13571}
13572
13573// GoString returns the string representation
13574func (s InternalFailureException) GoString() string {
13575	return s.String()
13576}
13577
13578func newErrorInternalFailureException(v protocol.ResponseMetadata) error {
13579	return &InternalFailureException{
13580		RespMetadata: v,
13581	}
13582}
13583
13584// Code returns the exception type name.
13585func (s *InternalFailureException) Code() string {
13586	return "InternalFailureException"
13587}
13588
13589// Message returns the exception's message.
13590func (s *InternalFailureException) Message() string {
13591	if s.Message_ != nil {
13592		return *s.Message_
13593	}
13594	return ""
13595}
13596
13597// OrigErr always returns nil, satisfies awserr.Error interface.
13598func (s *InternalFailureException) OrigErr() error {
13599	return nil
13600}
13601
13602func (s *InternalFailureException) Error() string {
13603	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
13604}
13605
13606// Status code returns the HTTP status code for the request's response error.
13607func (s *InternalFailureException) StatusCode() int {
13608	return s.RespMetadata.StatusCode
13609}
13610
13611// RequestID returns the service's response RequestID for request.
13612func (s *InternalFailureException) RequestID() string {
13613	return s.RespMetadata.RequestID
13614}
13615
13616// Contains information about an interpolated asset property value.
13617type InterpolatedAssetPropertyValue struct {
13618	_ struct{} `type:"structure"`
13619
13620	// Contains a timestamp with optional nanosecond granularity.
13621	//
13622	// Timestamp is a required field
13623	Timestamp *TimeInNanos `locationName:"timestamp" type:"structure" required:"true"`
13624
13625	// Contains an asset property value (of a single type only).
13626	//
13627	// Value is a required field
13628	Value *Variant `locationName:"value" type:"structure" required:"true"`
13629}
13630
13631// String returns the string representation
13632func (s InterpolatedAssetPropertyValue) String() string {
13633	return awsutil.Prettify(s)
13634}
13635
13636// GoString returns the string representation
13637func (s InterpolatedAssetPropertyValue) GoString() string {
13638	return s.String()
13639}
13640
13641// SetTimestamp sets the Timestamp field's value.
13642func (s *InterpolatedAssetPropertyValue) SetTimestamp(v *TimeInNanos) *InterpolatedAssetPropertyValue {
13643	s.Timestamp = v
13644	return s
13645}
13646
13647// SetValue sets the Value field's value.
13648func (s *InterpolatedAssetPropertyValue) SetValue(v *Variant) *InterpolatedAssetPropertyValue {
13649	s.Value = v
13650	return s
13651}
13652
13653// The request isn't valid. This can occur if your request contains malformed
13654// JSON or unsupported characters. Check your request and try again.
13655type InvalidRequestException struct {
13656	_            struct{}                  `type:"structure"`
13657	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13658
13659	Message_ *string `locationName:"message" type:"string"`
13660}
13661
13662// String returns the string representation
13663func (s InvalidRequestException) String() string {
13664	return awsutil.Prettify(s)
13665}
13666
13667// GoString returns the string representation
13668func (s InvalidRequestException) GoString() string {
13669	return s.String()
13670}
13671
13672func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
13673	return &InvalidRequestException{
13674		RespMetadata: v,
13675	}
13676}
13677
13678// Code returns the exception type name.
13679func (s *InvalidRequestException) Code() string {
13680	return "InvalidRequestException"
13681}
13682
13683// Message returns the exception's message.
13684func (s *InvalidRequestException) Message() string {
13685	if s.Message_ != nil {
13686		return *s.Message_
13687	}
13688	return ""
13689}
13690
13691// OrigErr always returns nil, satisfies awserr.Error interface.
13692func (s *InvalidRequestException) OrigErr() error {
13693	return nil
13694}
13695
13696func (s *InvalidRequestException) Error() string {
13697	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
13698}
13699
13700// Status code returns the HTTP status code for the request's response error.
13701func (s *InvalidRequestException) StatusCode() int {
13702	return s.RespMetadata.StatusCode
13703}
13704
13705// RequestID returns the service's response RequestID for request.
13706func (s *InvalidRequestException) RequestID() string {
13707	return s.RespMetadata.RequestID
13708}
13709
13710// You've reached the limit for a resource. For example, this can occur if you're
13711// trying to associate more than the allowed number of child assets or attempting
13712// to create more than the allowed number of properties for an asset model.
13713//
13714// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
13715// in the AWS IoT SiteWise User Guide.
13716type LimitExceededException struct {
13717	_            struct{}                  `type:"structure"`
13718	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13719
13720	Message_ *string `locationName:"message" type:"string"`
13721}
13722
13723// String returns the string representation
13724func (s LimitExceededException) String() string {
13725	return awsutil.Prettify(s)
13726}
13727
13728// GoString returns the string representation
13729func (s LimitExceededException) GoString() string {
13730	return s.String()
13731}
13732
13733func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
13734	return &LimitExceededException{
13735		RespMetadata: v,
13736	}
13737}
13738
13739// Code returns the exception type name.
13740func (s *LimitExceededException) Code() string {
13741	return "LimitExceededException"
13742}
13743
13744// Message returns the exception's message.
13745func (s *LimitExceededException) Message() string {
13746	if s.Message_ != nil {
13747		return *s.Message_
13748	}
13749	return ""
13750}
13751
13752// OrigErr always returns nil, satisfies awserr.Error interface.
13753func (s *LimitExceededException) OrigErr() error {
13754	return nil
13755}
13756
13757func (s *LimitExceededException) Error() string {
13758	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
13759}
13760
13761// Status code returns the HTTP status code for the request's response error.
13762func (s *LimitExceededException) StatusCode() int {
13763	return s.RespMetadata.StatusCode
13764}
13765
13766// RequestID returns the service's response RequestID for request.
13767func (s *LimitExceededException) RequestID() string {
13768	return s.RespMetadata.RequestID
13769}
13770
13771type ListAccessPoliciesInput struct {
13772	_ struct{} `type:"structure"`
13773
13774	// The ARN of the IAM user. For more information, see IAM ARNs (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html)
13775	// in the IAM User Guide. This parameter is required if you specify IAM for
13776	// identityType.
13777	IamArn *string `location:"querystring" locationName:"iamArn" min:"1" type:"string"`
13778
13779	// The ID of the identity. This parameter is required if you specify USER or
13780	// GROUP for identityType.
13781	IdentityId *string `location:"querystring" locationName:"identityId" min:"1" type:"string"`
13782
13783	// The type of identity (AWS SSO user, AWS SSO group, or IAM user). This parameter
13784	// is required if you specify identityId.
13785	IdentityType *string `location:"querystring" locationName:"identityType" type:"string" enum:"IdentityType"`
13786
13787	// The maximum number of results to be returned per paginated request.
13788	//
13789	// Default: 50
13790	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
13791
13792	// The token to be used for the next set of paginated results.
13793	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
13794
13795	// The ID of the resource. This parameter is required if you specify resourceType.
13796	ResourceId *string `location:"querystring" locationName:"resourceId" min:"36" type:"string"`
13797
13798	// The type of resource (portal or project). This parameter is required if you
13799	// specify resourceId.
13800	ResourceType *string `location:"querystring" locationName:"resourceType" type:"string" enum:"ResourceType"`
13801}
13802
13803// String returns the string representation
13804func (s ListAccessPoliciesInput) String() string {
13805	return awsutil.Prettify(s)
13806}
13807
13808// GoString returns the string representation
13809func (s ListAccessPoliciesInput) GoString() string {
13810	return s.String()
13811}
13812
13813// Validate inspects the fields of the type to determine if they are valid.
13814func (s *ListAccessPoliciesInput) Validate() error {
13815	invalidParams := request.ErrInvalidParams{Context: "ListAccessPoliciesInput"}
13816	if s.IamArn != nil && len(*s.IamArn) < 1 {
13817		invalidParams.Add(request.NewErrParamMinLen("IamArn", 1))
13818	}
13819	if s.IdentityId != nil && len(*s.IdentityId) < 1 {
13820		invalidParams.Add(request.NewErrParamMinLen("IdentityId", 1))
13821	}
13822	if s.MaxResults != nil && *s.MaxResults < 1 {
13823		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
13824	}
13825	if s.NextToken != nil && len(*s.NextToken) < 1 {
13826		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
13827	}
13828	if s.ResourceId != nil && len(*s.ResourceId) < 36 {
13829		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 36))
13830	}
13831
13832	if invalidParams.Len() > 0 {
13833		return invalidParams
13834	}
13835	return nil
13836}
13837
13838// SetIamArn sets the IamArn field's value.
13839func (s *ListAccessPoliciesInput) SetIamArn(v string) *ListAccessPoliciesInput {
13840	s.IamArn = &v
13841	return s
13842}
13843
13844// SetIdentityId sets the IdentityId field's value.
13845func (s *ListAccessPoliciesInput) SetIdentityId(v string) *ListAccessPoliciesInput {
13846	s.IdentityId = &v
13847	return s
13848}
13849
13850// SetIdentityType sets the IdentityType field's value.
13851func (s *ListAccessPoliciesInput) SetIdentityType(v string) *ListAccessPoliciesInput {
13852	s.IdentityType = &v
13853	return s
13854}
13855
13856// SetMaxResults sets the MaxResults field's value.
13857func (s *ListAccessPoliciesInput) SetMaxResults(v int64) *ListAccessPoliciesInput {
13858	s.MaxResults = &v
13859	return s
13860}
13861
13862// SetNextToken sets the NextToken field's value.
13863func (s *ListAccessPoliciesInput) SetNextToken(v string) *ListAccessPoliciesInput {
13864	s.NextToken = &v
13865	return s
13866}
13867
13868// SetResourceId sets the ResourceId field's value.
13869func (s *ListAccessPoliciesInput) SetResourceId(v string) *ListAccessPoliciesInput {
13870	s.ResourceId = &v
13871	return s
13872}
13873
13874// SetResourceType sets the ResourceType field's value.
13875func (s *ListAccessPoliciesInput) SetResourceType(v string) *ListAccessPoliciesInput {
13876	s.ResourceType = &v
13877	return s
13878}
13879
13880type ListAccessPoliciesOutput struct {
13881	_ struct{} `type:"structure"`
13882
13883	// A list that summarizes each access policy.
13884	//
13885	// AccessPolicySummaries is a required field
13886	AccessPolicySummaries []*AccessPolicySummary `locationName:"accessPolicySummaries" type:"list" required:"true"`
13887
13888	// The token for the next set of results, or null if there are no additional
13889	// results.
13890	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
13891}
13892
13893// String returns the string representation
13894func (s ListAccessPoliciesOutput) String() string {
13895	return awsutil.Prettify(s)
13896}
13897
13898// GoString returns the string representation
13899func (s ListAccessPoliciesOutput) GoString() string {
13900	return s.String()
13901}
13902
13903// SetAccessPolicySummaries sets the AccessPolicySummaries field's value.
13904func (s *ListAccessPoliciesOutput) SetAccessPolicySummaries(v []*AccessPolicySummary) *ListAccessPoliciesOutput {
13905	s.AccessPolicySummaries = v
13906	return s
13907}
13908
13909// SetNextToken sets the NextToken field's value.
13910func (s *ListAccessPoliciesOutput) SetNextToken(v string) *ListAccessPoliciesOutput {
13911	s.NextToken = &v
13912	return s
13913}
13914
13915type ListAssetModelsInput struct {
13916	_ struct{} `type:"structure"`
13917
13918	// The maximum number of results to be returned per paginated request.
13919	//
13920	// Default: 50
13921	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
13922
13923	// The token to be used for the next set of paginated results.
13924	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
13925}
13926
13927// String returns the string representation
13928func (s ListAssetModelsInput) String() string {
13929	return awsutil.Prettify(s)
13930}
13931
13932// GoString returns the string representation
13933func (s ListAssetModelsInput) GoString() string {
13934	return s.String()
13935}
13936
13937// Validate inspects the fields of the type to determine if they are valid.
13938func (s *ListAssetModelsInput) Validate() error {
13939	invalidParams := request.ErrInvalidParams{Context: "ListAssetModelsInput"}
13940	if s.MaxResults != nil && *s.MaxResults < 1 {
13941		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
13942	}
13943	if s.NextToken != nil && len(*s.NextToken) < 1 {
13944		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
13945	}
13946
13947	if invalidParams.Len() > 0 {
13948		return invalidParams
13949	}
13950	return nil
13951}
13952
13953// SetMaxResults sets the MaxResults field's value.
13954func (s *ListAssetModelsInput) SetMaxResults(v int64) *ListAssetModelsInput {
13955	s.MaxResults = &v
13956	return s
13957}
13958
13959// SetNextToken sets the NextToken field's value.
13960func (s *ListAssetModelsInput) SetNextToken(v string) *ListAssetModelsInput {
13961	s.NextToken = &v
13962	return s
13963}
13964
13965type ListAssetModelsOutput struct {
13966	_ struct{} `type:"structure"`
13967
13968	// A list that summarizes each asset model.
13969	//
13970	// AssetModelSummaries is a required field
13971	AssetModelSummaries []*AssetModelSummary `locationName:"assetModelSummaries" type:"list" required:"true"`
13972
13973	// The token for the next set of results, or null if there are no additional
13974	// results.
13975	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
13976}
13977
13978// String returns the string representation
13979func (s ListAssetModelsOutput) String() string {
13980	return awsutil.Prettify(s)
13981}
13982
13983// GoString returns the string representation
13984func (s ListAssetModelsOutput) GoString() string {
13985	return s.String()
13986}
13987
13988// SetAssetModelSummaries sets the AssetModelSummaries field's value.
13989func (s *ListAssetModelsOutput) SetAssetModelSummaries(v []*AssetModelSummary) *ListAssetModelsOutput {
13990	s.AssetModelSummaries = v
13991	return s
13992}
13993
13994// SetNextToken sets the NextToken field's value.
13995func (s *ListAssetModelsOutput) SetNextToken(v string) *ListAssetModelsOutput {
13996	s.NextToken = &v
13997	return s
13998}
13999
14000type ListAssetRelationshipsInput struct {
14001	_ struct{} `type:"structure"`
14002
14003	// The ID of the asset.
14004	//
14005	// AssetId is a required field
14006	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
14007
14008	// The maximum number of results to be returned per paginated request.
14009	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
14010
14011	// The token to be used for the next set of paginated results.
14012	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
14013
14014	// The type of traversal to use to identify asset relationships. Choose the
14015	// following option:
14016	//
14017	//    * PATH_TO_ROOT – Identify the asset's parent assets up to the root asset.
14018	//    The asset that you specify in assetId is the first result in the list
14019	//    of assetRelationshipSummaries, and the root asset is the last result.
14020	//
14021	// TraversalType is a required field
14022	TraversalType *string `location:"querystring" locationName:"traversalType" type:"string" required:"true" enum:"TraversalType"`
14023}
14024
14025// String returns the string representation
14026func (s ListAssetRelationshipsInput) String() string {
14027	return awsutil.Prettify(s)
14028}
14029
14030// GoString returns the string representation
14031func (s ListAssetRelationshipsInput) GoString() string {
14032	return s.String()
14033}
14034
14035// Validate inspects the fields of the type to determine if they are valid.
14036func (s *ListAssetRelationshipsInput) Validate() error {
14037	invalidParams := request.ErrInvalidParams{Context: "ListAssetRelationshipsInput"}
14038	if s.AssetId == nil {
14039		invalidParams.Add(request.NewErrParamRequired("AssetId"))
14040	}
14041	if s.AssetId != nil && len(*s.AssetId) < 36 {
14042		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
14043	}
14044	if s.MaxResults != nil && *s.MaxResults < 1 {
14045		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14046	}
14047	if s.NextToken != nil && len(*s.NextToken) < 1 {
14048		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14049	}
14050	if s.TraversalType == nil {
14051		invalidParams.Add(request.NewErrParamRequired("TraversalType"))
14052	}
14053
14054	if invalidParams.Len() > 0 {
14055		return invalidParams
14056	}
14057	return nil
14058}
14059
14060// SetAssetId sets the AssetId field's value.
14061func (s *ListAssetRelationshipsInput) SetAssetId(v string) *ListAssetRelationshipsInput {
14062	s.AssetId = &v
14063	return s
14064}
14065
14066// SetMaxResults sets the MaxResults field's value.
14067func (s *ListAssetRelationshipsInput) SetMaxResults(v int64) *ListAssetRelationshipsInput {
14068	s.MaxResults = &v
14069	return s
14070}
14071
14072// SetNextToken sets the NextToken field's value.
14073func (s *ListAssetRelationshipsInput) SetNextToken(v string) *ListAssetRelationshipsInput {
14074	s.NextToken = &v
14075	return s
14076}
14077
14078// SetTraversalType sets the TraversalType field's value.
14079func (s *ListAssetRelationshipsInput) SetTraversalType(v string) *ListAssetRelationshipsInput {
14080	s.TraversalType = &v
14081	return s
14082}
14083
14084type ListAssetRelationshipsOutput struct {
14085	_ struct{} `type:"structure"`
14086
14087	// A list that summarizes each asset relationship.
14088	//
14089	// AssetRelationshipSummaries is a required field
14090	AssetRelationshipSummaries []*AssetRelationshipSummary `locationName:"assetRelationshipSummaries" type:"list" required:"true"`
14091
14092	// The token for the next set of results, or null if there are no additional
14093	// results.
14094	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
14095}
14096
14097// String returns the string representation
14098func (s ListAssetRelationshipsOutput) String() string {
14099	return awsutil.Prettify(s)
14100}
14101
14102// GoString returns the string representation
14103func (s ListAssetRelationshipsOutput) GoString() string {
14104	return s.String()
14105}
14106
14107// SetAssetRelationshipSummaries sets the AssetRelationshipSummaries field's value.
14108func (s *ListAssetRelationshipsOutput) SetAssetRelationshipSummaries(v []*AssetRelationshipSummary) *ListAssetRelationshipsOutput {
14109	s.AssetRelationshipSummaries = v
14110	return s
14111}
14112
14113// SetNextToken sets the NextToken field's value.
14114func (s *ListAssetRelationshipsOutput) SetNextToken(v string) *ListAssetRelationshipsOutput {
14115	s.NextToken = &v
14116	return s
14117}
14118
14119type ListAssetsInput struct {
14120	_ struct{} `type:"structure"`
14121
14122	// The ID of the asset model by which to filter the list of assets. This parameter
14123	// is required if you choose ALL for filter.
14124	AssetModelId *string `location:"querystring" locationName:"assetModelId" min:"36" type:"string"`
14125
14126	// The filter for the requested list of assets. Choose one of the following
14127	// options:
14128	//
14129	//    * ALL – The list includes all assets for a given asset model ID. The
14130	//    assetModelId parameter is required if you filter by ALL.
14131	//
14132	//    * TOP_LEVEL – The list includes only top-level assets in the asset hierarchy
14133	//    tree.
14134	//
14135	// Default: ALL
14136	Filter *string `location:"querystring" locationName:"filter" type:"string" enum:"ListAssetsFilter"`
14137
14138	// The maximum number of results to be returned per paginated request.
14139	//
14140	// Default: 50
14141	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
14142
14143	// The token to be used for the next set of paginated results.
14144	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
14145}
14146
14147// String returns the string representation
14148func (s ListAssetsInput) String() string {
14149	return awsutil.Prettify(s)
14150}
14151
14152// GoString returns the string representation
14153func (s ListAssetsInput) GoString() string {
14154	return s.String()
14155}
14156
14157// Validate inspects the fields of the type to determine if they are valid.
14158func (s *ListAssetsInput) Validate() error {
14159	invalidParams := request.ErrInvalidParams{Context: "ListAssetsInput"}
14160	if s.AssetModelId != nil && len(*s.AssetModelId) < 36 {
14161		invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36))
14162	}
14163	if s.MaxResults != nil && *s.MaxResults < 1 {
14164		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14165	}
14166	if s.NextToken != nil && len(*s.NextToken) < 1 {
14167		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14168	}
14169
14170	if invalidParams.Len() > 0 {
14171		return invalidParams
14172	}
14173	return nil
14174}
14175
14176// SetAssetModelId sets the AssetModelId field's value.
14177func (s *ListAssetsInput) SetAssetModelId(v string) *ListAssetsInput {
14178	s.AssetModelId = &v
14179	return s
14180}
14181
14182// SetFilter sets the Filter field's value.
14183func (s *ListAssetsInput) SetFilter(v string) *ListAssetsInput {
14184	s.Filter = &v
14185	return s
14186}
14187
14188// SetMaxResults sets the MaxResults field's value.
14189func (s *ListAssetsInput) SetMaxResults(v int64) *ListAssetsInput {
14190	s.MaxResults = &v
14191	return s
14192}
14193
14194// SetNextToken sets the NextToken field's value.
14195func (s *ListAssetsInput) SetNextToken(v string) *ListAssetsInput {
14196	s.NextToken = &v
14197	return s
14198}
14199
14200type ListAssetsOutput struct {
14201	_ struct{} `type:"structure"`
14202
14203	// A list that summarizes each asset.
14204	//
14205	// AssetSummaries is a required field
14206	AssetSummaries []*AssetSummary `locationName:"assetSummaries" type:"list" required:"true"`
14207
14208	// The token for the next set of results, or null if there are no additional
14209	// results.
14210	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
14211}
14212
14213// String returns the string representation
14214func (s ListAssetsOutput) String() string {
14215	return awsutil.Prettify(s)
14216}
14217
14218// GoString returns the string representation
14219func (s ListAssetsOutput) GoString() string {
14220	return s.String()
14221}
14222
14223// SetAssetSummaries sets the AssetSummaries field's value.
14224func (s *ListAssetsOutput) SetAssetSummaries(v []*AssetSummary) *ListAssetsOutput {
14225	s.AssetSummaries = v
14226	return s
14227}
14228
14229// SetNextToken sets the NextToken field's value.
14230func (s *ListAssetsOutput) SetNextToken(v string) *ListAssetsOutput {
14231	s.NextToken = &v
14232	return s
14233}
14234
14235type ListAssociatedAssetsInput struct {
14236	_ struct{} `type:"structure"`
14237
14238	// The ID of the asset to query.
14239	//
14240	// AssetId is a required field
14241	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
14242
14243	// The ID of the hierarchy by which child assets are associated to the asset.
14244	// To find a hierarchy ID, use the DescribeAsset (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAsset.html)
14245	// or DescribeAssetModel (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html)
14246	// operations. This parameter is required if you choose CHILD for traversalDirection.
14247	//
14248	// For more information, see Asset hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html)
14249	// in the AWS IoT SiteWise User Guide.
14250	HierarchyId *string `location:"querystring" locationName:"hierarchyId" min:"36" type:"string"`
14251
14252	// The maximum number of results to be returned per paginated request.
14253	//
14254	// Default: 50
14255	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
14256
14257	// The token to be used for the next set of paginated results.
14258	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
14259
14260	// The direction to list associated assets. Choose one of the following options:
14261	//
14262	//    * CHILD – The list includes all child assets associated to the asset.
14263	//    The hierarchyId parameter is required if you choose CHILD.
14264	//
14265	//    * PARENT – The list includes the asset's parent asset.
14266	//
14267	// Default: CHILD
14268	TraversalDirection *string `location:"querystring" locationName:"traversalDirection" type:"string" enum:"TraversalDirection"`
14269}
14270
14271// String returns the string representation
14272func (s ListAssociatedAssetsInput) String() string {
14273	return awsutil.Prettify(s)
14274}
14275
14276// GoString returns the string representation
14277func (s ListAssociatedAssetsInput) GoString() string {
14278	return s.String()
14279}
14280
14281// Validate inspects the fields of the type to determine if they are valid.
14282func (s *ListAssociatedAssetsInput) Validate() error {
14283	invalidParams := request.ErrInvalidParams{Context: "ListAssociatedAssetsInput"}
14284	if s.AssetId == nil {
14285		invalidParams.Add(request.NewErrParamRequired("AssetId"))
14286	}
14287	if s.AssetId != nil && len(*s.AssetId) < 36 {
14288		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
14289	}
14290	if s.HierarchyId != nil && len(*s.HierarchyId) < 36 {
14291		invalidParams.Add(request.NewErrParamMinLen("HierarchyId", 36))
14292	}
14293	if s.MaxResults != nil && *s.MaxResults < 1 {
14294		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14295	}
14296	if s.NextToken != nil && len(*s.NextToken) < 1 {
14297		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14298	}
14299
14300	if invalidParams.Len() > 0 {
14301		return invalidParams
14302	}
14303	return nil
14304}
14305
14306// SetAssetId sets the AssetId field's value.
14307func (s *ListAssociatedAssetsInput) SetAssetId(v string) *ListAssociatedAssetsInput {
14308	s.AssetId = &v
14309	return s
14310}
14311
14312// SetHierarchyId sets the HierarchyId field's value.
14313func (s *ListAssociatedAssetsInput) SetHierarchyId(v string) *ListAssociatedAssetsInput {
14314	s.HierarchyId = &v
14315	return s
14316}
14317
14318// SetMaxResults sets the MaxResults field's value.
14319func (s *ListAssociatedAssetsInput) SetMaxResults(v int64) *ListAssociatedAssetsInput {
14320	s.MaxResults = &v
14321	return s
14322}
14323
14324// SetNextToken sets the NextToken field's value.
14325func (s *ListAssociatedAssetsInput) SetNextToken(v string) *ListAssociatedAssetsInput {
14326	s.NextToken = &v
14327	return s
14328}
14329
14330// SetTraversalDirection sets the TraversalDirection field's value.
14331func (s *ListAssociatedAssetsInput) SetTraversalDirection(v string) *ListAssociatedAssetsInput {
14332	s.TraversalDirection = &v
14333	return s
14334}
14335
14336type ListAssociatedAssetsOutput struct {
14337	_ struct{} `type:"structure"`
14338
14339	// A list that summarizes the associated assets.
14340	//
14341	// AssetSummaries is a required field
14342	AssetSummaries []*AssociatedAssetsSummary `locationName:"assetSummaries" type:"list" required:"true"`
14343
14344	// The token for the next set of results, or null if there are no additional
14345	// results.
14346	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
14347}
14348
14349// String returns the string representation
14350func (s ListAssociatedAssetsOutput) String() string {
14351	return awsutil.Prettify(s)
14352}
14353
14354// GoString returns the string representation
14355func (s ListAssociatedAssetsOutput) GoString() string {
14356	return s.String()
14357}
14358
14359// SetAssetSummaries sets the AssetSummaries field's value.
14360func (s *ListAssociatedAssetsOutput) SetAssetSummaries(v []*AssociatedAssetsSummary) *ListAssociatedAssetsOutput {
14361	s.AssetSummaries = v
14362	return s
14363}
14364
14365// SetNextToken sets the NextToken field's value.
14366func (s *ListAssociatedAssetsOutput) SetNextToken(v string) *ListAssociatedAssetsOutput {
14367	s.NextToken = &v
14368	return s
14369}
14370
14371type ListDashboardsInput struct {
14372	_ struct{} `type:"structure"`
14373
14374	// The maximum number of results to be returned per paginated request.
14375	//
14376	// Default: 50
14377	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
14378
14379	// The token to be used for the next set of paginated results.
14380	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
14381
14382	// The ID of the project.
14383	//
14384	// ProjectId is a required field
14385	ProjectId *string `location:"querystring" locationName:"projectId" min:"36" type:"string" required:"true"`
14386}
14387
14388// String returns the string representation
14389func (s ListDashboardsInput) String() string {
14390	return awsutil.Prettify(s)
14391}
14392
14393// GoString returns the string representation
14394func (s ListDashboardsInput) GoString() string {
14395	return s.String()
14396}
14397
14398// Validate inspects the fields of the type to determine if they are valid.
14399func (s *ListDashboardsInput) Validate() error {
14400	invalidParams := request.ErrInvalidParams{Context: "ListDashboardsInput"}
14401	if s.MaxResults != nil && *s.MaxResults < 1 {
14402		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14403	}
14404	if s.NextToken != nil && len(*s.NextToken) < 1 {
14405		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14406	}
14407	if s.ProjectId == nil {
14408		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
14409	}
14410	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
14411		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
14412	}
14413
14414	if invalidParams.Len() > 0 {
14415		return invalidParams
14416	}
14417	return nil
14418}
14419
14420// SetMaxResults sets the MaxResults field's value.
14421func (s *ListDashboardsInput) SetMaxResults(v int64) *ListDashboardsInput {
14422	s.MaxResults = &v
14423	return s
14424}
14425
14426// SetNextToken sets the NextToken field's value.
14427func (s *ListDashboardsInput) SetNextToken(v string) *ListDashboardsInput {
14428	s.NextToken = &v
14429	return s
14430}
14431
14432// SetProjectId sets the ProjectId field's value.
14433func (s *ListDashboardsInput) SetProjectId(v string) *ListDashboardsInput {
14434	s.ProjectId = &v
14435	return s
14436}
14437
14438type ListDashboardsOutput struct {
14439	_ struct{} `type:"structure"`
14440
14441	// A list that summarizes each dashboard in the project.
14442	//
14443	// DashboardSummaries is a required field
14444	DashboardSummaries []*DashboardSummary `locationName:"dashboardSummaries" type:"list" required:"true"`
14445
14446	// The token for the next set of results, or null if there are no additional
14447	// results.
14448	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
14449}
14450
14451// String returns the string representation
14452func (s ListDashboardsOutput) String() string {
14453	return awsutil.Prettify(s)
14454}
14455
14456// GoString returns the string representation
14457func (s ListDashboardsOutput) GoString() string {
14458	return s.String()
14459}
14460
14461// SetDashboardSummaries sets the DashboardSummaries field's value.
14462func (s *ListDashboardsOutput) SetDashboardSummaries(v []*DashboardSummary) *ListDashboardsOutput {
14463	s.DashboardSummaries = v
14464	return s
14465}
14466
14467// SetNextToken sets the NextToken field's value.
14468func (s *ListDashboardsOutput) SetNextToken(v string) *ListDashboardsOutput {
14469	s.NextToken = &v
14470	return s
14471}
14472
14473type ListGatewaysInput struct {
14474	_ struct{} `type:"structure"`
14475
14476	// The maximum number of results to be returned per paginated request.
14477	//
14478	// Default: 50
14479	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
14480
14481	// The token to be used for the next set of paginated results.
14482	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
14483}
14484
14485// String returns the string representation
14486func (s ListGatewaysInput) String() string {
14487	return awsutil.Prettify(s)
14488}
14489
14490// GoString returns the string representation
14491func (s ListGatewaysInput) GoString() string {
14492	return s.String()
14493}
14494
14495// Validate inspects the fields of the type to determine if they are valid.
14496func (s *ListGatewaysInput) Validate() error {
14497	invalidParams := request.ErrInvalidParams{Context: "ListGatewaysInput"}
14498	if s.MaxResults != nil && *s.MaxResults < 1 {
14499		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14500	}
14501	if s.NextToken != nil && len(*s.NextToken) < 1 {
14502		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14503	}
14504
14505	if invalidParams.Len() > 0 {
14506		return invalidParams
14507	}
14508	return nil
14509}
14510
14511// SetMaxResults sets the MaxResults field's value.
14512func (s *ListGatewaysInput) SetMaxResults(v int64) *ListGatewaysInput {
14513	s.MaxResults = &v
14514	return s
14515}
14516
14517// SetNextToken sets the NextToken field's value.
14518func (s *ListGatewaysInput) SetNextToken(v string) *ListGatewaysInput {
14519	s.NextToken = &v
14520	return s
14521}
14522
14523type ListGatewaysOutput struct {
14524	_ struct{} `type:"structure"`
14525
14526	// A list that summarizes each gateway.
14527	//
14528	// GatewaySummaries is a required field
14529	GatewaySummaries []*GatewaySummary `locationName:"gatewaySummaries" type:"list" required:"true"`
14530
14531	// The token for the next set of results, or null if there are no additional
14532	// results.
14533	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
14534}
14535
14536// String returns the string representation
14537func (s ListGatewaysOutput) String() string {
14538	return awsutil.Prettify(s)
14539}
14540
14541// GoString returns the string representation
14542func (s ListGatewaysOutput) GoString() string {
14543	return s.String()
14544}
14545
14546// SetGatewaySummaries sets the GatewaySummaries field's value.
14547func (s *ListGatewaysOutput) SetGatewaySummaries(v []*GatewaySummary) *ListGatewaysOutput {
14548	s.GatewaySummaries = v
14549	return s
14550}
14551
14552// SetNextToken sets the NextToken field's value.
14553func (s *ListGatewaysOutput) SetNextToken(v string) *ListGatewaysOutput {
14554	s.NextToken = &v
14555	return s
14556}
14557
14558type ListPortalsInput struct {
14559	_ struct{} `type:"structure"`
14560
14561	// The maximum number of results to be returned per paginated request.
14562	//
14563	// Default: 50
14564	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
14565
14566	// The token to be used for the next set of paginated results.
14567	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
14568}
14569
14570// String returns the string representation
14571func (s ListPortalsInput) String() string {
14572	return awsutil.Prettify(s)
14573}
14574
14575// GoString returns the string representation
14576func (s ListPortalsInput) GoString() string {
14577	return s.String()
14578}
14579
14580// Validate inspects the fields of the type to determine if they are valid.
14581func (s *ListPortalsInput) Validate() error {
14582	invalidParams := request.ErrInvalidParams{Context: "ListPortalsInput"}
14583	if s.MaxResults != nil && *s.MaxResults < 1 {
14584		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14585	}
14586	if s.NextToken != nil && len(*s.NextToken) < 1 {
14587		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14588	}
14589
14590	if invalidParams.Len() > 0 {
14591		return invalidParams
14592	}
14593	return nil
14594}
14595
14596// SetMaxResults sets the MaxResults field's value.
14597func (s *ListPortalsInput) SetMaxResults(v int64) *ListPortalsInput {
14598	s.MaxResults = &v
14599	return s
14600}
14601
14602// SetNextToken sets the NextToken field's value.
14603func (s *ListPortalsInput) SetNextToken(v string) *ListPortalsInput {
14604	s.NextToken = &v
14605	return s
14606}
14607
14608type ListPortalsOutput struct {
14609	_ struct{} `type:"structure"`
14610
14611	// The token for the next set of results, or null if there are no additional
14612	// results.
14613	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
14614
14615	// A list that summarizes each portal.
14616	PortalSummaries []*PortalSummary `locationName:"portalSummaries" type:"list"`
14617}
14618
14619// String returns the string representation
14620func (s ListPortalsOutput) String() string {
14621	return awsutil.Prettify(s)
14622}
14623
14624// GoString returns the string representation
14625func (s ListPortalsOutput) GoString() string {
14626	return s.String()
14627}
14628
14629// SetNextToken sets the NextToken field's value.
14630func (s *ListPortalsOutput) SetNextToken(v string) *ListPortalsOutput {
14631	s.NextToken = &v
14632	return s
14633}
14634
14635// SetPortalSummaries sets the PortalSummaries field's value.
14636func (s *ListPortalsOutput) SetPortalSummaries(v []*PortalSummary) *ListPortalsOutput {
14637	s.PortalSummaries = v
14638	return s
14639}
14640
14641type ListProjectAssetsInput struct {
14642	_ struct{} `type:"structure"`
14643
14644	// The maximum number of results to be returned per paginated request.
14645	//
14646	// Default: 50
14647	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
14648
14649	// The token to be used for the next set of paginated results.
14650	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
14651
14652	// The ID of the project.
14653	//
14654	// ProjectId is a required field
14655	ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"`
14656}
14657
14658// String returns the string representation
14659func (s ListProjectAssetsInput) String() string {
14660	return awsutil.Prettify(s)
14661}
14662
14663// GoString returns the string representation
14664func (s ListProjectAssetsInput) GoString() string {
14665	return s.String()
14666}
14667
14668// Validate inspects the fields of the type to determine if they are valid.
14669func (s *ListProjectAssetsInput) Validate() error {
14670	invalidParams := request.ErrInvalidParams{Context: "ListProjectAssetsInput"}
14671	if s.MaxResults != nil && *s.MaxResults < 1 {
14672		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14673	}
14674	if s.NextToken != nil && len(*s.NextToken) < 1 {
14675		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14676	}
14677	if s.ProjectId == nil {
14678		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
14679	}
14680	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
14681		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
14682	}
14683
14684	if invalidParams.Len() > 0 {
14685		return invalidParams
14686	}
14687	return nil
14688}
14689
14690// SetMaxResults sets the MaxResults field's value.
14691func (s *ListProjectAssetsInput) SetMaxResults(v int64) *ListProjectAssetsInput {
14692	s.MaxResults = &v
14693	return s
14694}
14695
14696// SetNextToken sets the NextToken field's value.
14697func (s *ListProjectAssetsInput) SetNextToken(v string) *ListProjectAssetsInput {
14698	s.NextToken = &v
14699	return s
14700}
14701
14702// SetProjectId sets the ProjectId field's value.
14703func (s *ListProjectAssetsInput) SetProjectId(v string) *ListProjectAssetsInput {
14704	s.ProjectId = &v
14705	return s
14706}
14707
14708type ListProjectAssetsOutput struct {
14709	_ struct{} `type:"structure"`
14710
14711	// A list that contains the IDs of each asset associated with the project.
14712	//
14713	// AssetIds is a required field
14714	AssetIds []*string `locationName:"assetIds" type:"list" required:"true"`
14715
14716	// The token for the next set of results, or null if there are no additional
14717	// results.
14718	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
14719}
14720
14721// String returns the string representation
14722func (s ListProjectAssetsOutput) String() string {
14723	return awsutil.Prettify(s)
14724}
14725
14726// GoString returns the string representation
14727func (s ListProjectAssetsOutput) GoString() string {
14728	return s.String()
14729}
14730
14731// SetAssetIds sets the AssetIds field's value.
14732func (s *ListProjectAssetsOutput) SetAssetIds(v []*string) *ListProjectAssetsOutput {
14733	s.AssetIds = v
14734	return s
14735}
14736
14737// SetNextToken sets the NextToken field's value.
14738func (s *ListProjectAssetsOutput) SetNextToken(v string) *ListProjectAssetsOutput {
14739	s.NextToken = &v
14740	return s
14741}
14742
14743type ListProjectsInput struct {
14744	_ struct{} `type:"structure"`
14745
14746	// The maximum number of results to be returned per paginated request.
14747	//
14748	// Default: 50
14749	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
14750
14751	// The token to be used for the next set of paginated results.
14752	NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"`
14753
14754	// The ID of the portal.
14755	//
14756	// PortalId is a required field
14757	PortalId *string `location:"querystring" locationName:"portalId" min:"36" type:"string" required:"true"`
14758}
14759
14760// String returns the string representation
14761func (s ListProjectsInput) String() string {
14762	return awsutil.Prettify(s)
14763}
14764
14765// GoString returns the string representation
14766func (s ListProjectsInput) GoString() string {
14767	return s.String()
14768}
14769
14770// Validate inspects the fields of the type to determine if they are valid.
14771func (s *ListProjectsInput) Validate() error {
14772	invalidParams := request.ErrInvalidParams{Context: "ListProjectsInput"}
14773	if s.MaxResults != nil && *s.MaxResults < 1 {
14774		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14775	}
14776	if s.NextToken != nil && len(*s.NextToken) < 1 {
14777		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14778	}
14779	if s.PortalId == nil {
14780		invalidParams.Add(request.NewErrParamRequired("PortalId"))
14781	}
14782	if s.PortalId != nil && len(*s.PortalId) < 36 {
14783		invalidParams.Add(request.NewErrParamMinLen("PortalId", 36))
14784	}
14785
14786	if invalidParams.Len() > 0 {
14787		return invalidParams
14788	}
14789	return nil
14790}
14791
14792// SetMaxResults sets the MaxResults field's value.
14793func (s *ListProjectsInput) SetMaxResults(v int64) *ListProjectsInput {
14794	s.MaxResults = &v
14795	return s
14796}
14797
14798// SetNextToken sets the NextToken field's value.
14799func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput {
14800	s.NextToken = &v
14801	return s
14802}
14803
14804// SetPortalId sets the PortalId field's value.
14805func (s *ListProjectsInput) SetPortalId(v string) *ListProjectsInput {
14806	s.PortalId = &v
14807	return s
14808}
14809
14810type ListProjectsOutput struct {
14811	_ struct{} `type:"structure"`
14812
14813	// The token for the next set of results, or null if there are no additional
14814	// results.
14815	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
14816
14817	// A list that summarizes each project in the portal.
14818	//
14819	// ProjectSummaries is a required field
14820	ProjectSummaries []*ProjectSummary `locationName:"projectSummaries" type:"list" required:"true"`
14821}
14822
14823// String returns the string representation
14824func (s ListProjectsOutput) String() string {
14825	return awsutil.Prettify(s)
14826}
14827
14828// GoString returns the string representation
14829func (s ListProjectsOutput) GoString() string {
14830	return s.String()
14831}
14832
14833// SetNextToken sets the NextToken field's value.
14834func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput {
14835	s.NextToken = &v
14836	return s
14837}
14838
14839// SetProjectSummaries sets the ProjectSummaries field's value.
14840func (s *ListProjectsOutput) SetProjectSummaries(v []*ProjectSummary) *ListProjectsOutput {
14841	s.ProjectSummaries = v
14842	return s
14843}
14844
14845type ListTagsForResourceInput struct {
14846	_ struct{} `type:"structure"`
14847
14848	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
14849	// of the resource.
14850	//
14851	// ResourceArn is a required field
14852	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
14853}
14854
14855// String returns the string representation
14856func (s ListTagsForResourceInput) String() string {
14857	return awsutil.Prettify(s)
14858}
14859
14860// GoString returns the string representation
14861func (s ListTagsForResourceInput) GoString() string {
14862	return s.String()
14863}
14864
14865// Validate inspects the fields of the type to determine if they are valid.
14866func (s *ListTagsForResourceInput) Validate() error {
14867	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
14868	if s.ResourceArn == nil {
14869		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
14870	}
14871	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
14872		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
14873	}
14874
14875	if invalidParams.Len() > 0 {
14876		return invalidParams
14877	}
14878	return nil
14879}
14880
14881// SetResourceArn sets the ResourceArn field's value.
14882func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
14883	s.ResourceArn = &v
14884	return s
14885}
14886
14887type ListTagsForResourceOutput struct {
14888	_ struct{} `type:"structure"`
14889
14890	// The list of key-value pairs that contain metadata for the resource. For more
14891	// information, see Tagging your AWS IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
14892	// in the AWS IoT SiteWise User Guide.
14893	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
14894}
14895
14896// String returns the string representation
14897func (s ListTagsForResourceOutput) String() string {
14898	return awsutil.Prettify(s)
14899}
14900
14901// GoString returns the string representation
14902func (s ListTagsForResourceOutput) GoString() string {
14903	return s.String()
14904}
14905
14906// SetTags sets the Tags field's value.
14907func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
14908	s.Tags = v
14909	return s
14910}
14911
14912// Contains logging options.
14913type LoggingOptions struct {
14914	_ struct{} `type:"structure"`
14915
14916	// The AWS IoT SiteWise logging verbosity level.
14917	//
14918	// Level is a required field
14919	Level *string `locationName:"level" type:"string" required:"true" enum:"LoggingLevel"`
14920}
14921
14922// String returns the string representation
14923func (s LoggingOptions) String() string {
14924	return awsutil.Prettify(s)
14925}
14926
14927// GoString returns the string representation
14928func (s LoggingOptions) GoString() string {
14929	return s.String()
14930}
14931
14932// Validate inspects the fields of the type to determine if they are valid.
14933func (s *LoggingOptions) Validate() error {
14934	invalidParams := request.ErrInvalidParams{Context: "LoggingOptions"}
14935	if s.Level == nil {
14936		invalidParams.Add(request.NewErrParamRequired("Level"))
14937	}
14938
14939	if invalidParams.Len() > 0 {
14940		return invalidParams
14941	}
14942	return nil
14943}
14944
14945// SetLevel sets the Level field's value.
14946func (s *LoggingOptions) SetLevel(v string) *LoggingOptions {
14947	s.Level = &v
14948	return s
14949}
14950
14951// Contains an asset measurement property. For more information, see Measurements
14952// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html#measurements)
14953// in the AWS IoT SiteWise User Guide.
14954type Measurement struct {
14955	_ struct{} `type:"structure"`
14956}
14957
14958// String returns the string representation
14959func (s Measurement) String() string {
14960	return awsutil.Prettify(s)
14961}
14962
14963// GoString returns the string representation
14964func (s Measurement) GoString() string {
14965	return s.String()
14966}
14967
14968// Contains an asset metric property. With metrics, you can calculate aggregate
14969// functions, such as an average, maximum, or minimum, as specified through
14970// an expression. A metric maps several values to a single value (such as a
14971// sum).
14972//
14973// The maximum number of dependent/cascading variables used in any one metric
14974// calculation is 10. Therefore, a root metric can have up to 10 cascading metrics
14975// in its computational dependency tree. Additionally, a metric can only have
14976// a data type of DOUBLE and consume properties with data types of INTEGER or
14977// DOUBLE.
14978//
14979// For more information, see Metrics (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html#metrics)
14980// in the AWS IoT SiteWise User Guide.
14981type Metric struct {
14982	_ struct{} `type:"structure"`
14983
14984	// The mathematical expression that defines the metric aggregation function.
14985	// You can specify up to 10 variables per expression. You can specify up to
14986	// 10 functions per expression.
14987	//
14988	// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
14989	// in the AWS IoT SiteWise User Guide.
14990	//
14991	// Expression is a required field
14992	Expression *string `locationName:"expression" min:"1" type:"string" required:"true"`
14993
14994	// The list of variables used in the expression.
14995	//
14996	// Variables is a required field
14997	Variables []*ExpressionVariable `locationName:"variables" type:"list" required:"true"`
14998
14999	// The window (time interval) over which AWS IoT SiteWise computes the metric's
15000	// aggregation expression. AWS IoT SiteWise computes one data point per window.
15001	//
15002	// Window is a required field
15003	Window *MetricWindow `locationName:"window" type:"structure" required:"true"`
15004}
15005
15006// String returns the string representation
15007func (s Metric) String() string {
15008	return awsutil.Prettify(s)
15009}
15010
15011// GoString returns the string representation
15012func (s Metric) GoString() string {
15013	return s.String()
15014}
15015
15016// Validate inspects the fields of the type to determine if they are valid.
15017func (s *Metric) Validate() error {
15018	invalidParams := request.ErrInvalidParams{Context: "Metric"}
15019	if s.Expression == nil {
15020		invalidParams.Add(request.NewErrParamRequired("Expression"))
15021	}
15022	if s.Expression != nil && len(*s.Expression) < 1 {
15023		invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
15024	}
15025	if s.Variables == nil {
15026		invalidParams.Add(request.NewErrParamRequired("Variables"))
15027	}
15028	if s.Window == nil {
15029		invalidParams.Add(request.NewErrParamRequired("Window"))
15030	}
15031	if s.Variables != nil {
15032		for i, v := range s.Variables {
15033			if v == nil {
15034				continue
15035			}
15036			if err := v.Validate(); err != nil {
15037				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Variables", i), err.(request.ErrInvalidParams))
15038			}
15039		}
15040	}
15041	if s.Window != nil {
15042		if err := s.Window.Validate(); err != nil {
15043			invalidParams.AddNested("Window", err.(request.ErrInvalidParams))
15044		}
15045	}
15046
15047	if invalidParams.Len() > 0 {
15048		return invalidParams
15049	}
15050	return nil
15051}
15052
15053// SetExpression sets the Expression field's value.
15054func (s *Metric) SetExpression(v string) *Metric {
15055	s.Expression = &v
15056	return s
15057}
15058
15059// SetVariables sets the Variables field's value.
15060func (s *Metric) SetVariables(v []*ExpressionVariable) *Metric {
15061	s.Variables = v
15062	return s
15063}
15064
15065// SetWindow sets the Window field's value.
15066func (s *Metric) SetWindow(v *MetricWindow) *Metric {
15067	s.Window = v
15068	return s
15069}
15070
15071// Contains a time interval window used for data aggregate computations (for
15072// example, average, sum, count, and so on).
15073type MetricWindow struct {
15074	_ struct{} `type:"structure"`
15075
15076	// The tumbling time interval window.
15077	Tumbling *TumblingWindow `locationName:"tumbling" type:"structure"`
15078}
15079
15080// String returns the string representation
15081func (s MetricWindow) String() string {
15082	return awsutil.Prettify(s)
15083}
15084
15085// GoString returns the string representation
15086func (s MetricWindow) GoString() string {
15087	return s.String()
15088}
15089
15090// Validate inspects the fields of the type to determine if they are valid.
15091func (s *MetricWindow) Validate() error {
15092	invalidParams := request.ErrInvalidParams{Context: "MetricWindow"}
15093	if s.Tumbling != nil {
15094		if err := s.Tumbling.Validate(); err != nil {
15095			invalidParams.AddNested("Tumbling", err.(request.ErrInvalidParams))
15096		}
15097	}
15098
15099	if invalidParams.Len() > 0 {
15100		return invalidParams
15101	}
15102	return nil
15103}
15104
15105// SetTumbling sets the Tumbling field's value.
15106func (s *MetricWindow) SetTumbling(v *TumblingWindow) *MetricWindow {
15107	s.Tumbling = v
15108	return s
15109}
15110
15111// Contains AWS IoT SiteWise Monitor error details.
15112type MonitorErrorDetails struct {
15113	_ struct{} `type:"structure"`
15114
15115	// The error code.
15116	Code *string `locationName:"code" type:"string" enum:"MonitorErrorCode"`
15117
15118	// The error message.
15119	Message *string `locationName:"message" type:"string"`
15120}
15121
15122// String returns the string representation
15123func (s MonitorErrorDetails) String() string {
15124	return awsutil.Prettify(s)
15125}
15126
15127// GoString returns the string representation
15128func (s MonitorErrorDetails) GoString() string {
15129	return s.String()
15130}
15131
15132// SetCode sets the Code field's value.
15133func (s *MonitorErrorDetails) SetCode(v string) *MonitorErrorDetails {
15134	s.Code = &v
15135	return s
15136}
15137
15138// SetMessage sets the Message field's value.
15139func (s *MonitorErrorDetails) SetMessage(v string) *MonitorErrorDetails {
15140	s.Message = &v
15141	return s
15142}
15143
15144// Identifies an AWS IoT SiteWise Monitor portal.
15145type PortalResource struct {
15146	_ struct{} `type:"structure"`
15147
15148	// The ID of the portal.
15149	//
15150	// Id is a required field
15151	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
15152}
15153
15154// String returns the string representation
15155func (s PortalResource) String() string {
15156	return awsutil.Prettify(s)
15157}
15158
15159// GoString returns the string representation
15160func (s PortalResource) GoString() string {
15161	return s.String()
15162}
15163
15164// Validate inspects the fields of the type to determine if they are valid.
15165func (s *PortalResource) Validate() error {
15166	invalidParams := request.ErrInvalidParams{Context: "PortalResource"}
15167	if s.Id == nil {
15168		invalidParams.Add(request.NewErrParamRequired("Id"))
15169	}
15170	if s.Id != nil && len(*s.Id) < 36 {
15171		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
15172	}
15173
15174	if invalidParams.Len() > 0 {
15175		return invalidParams
15176	}
15177	return nil
15178}
15179
15180// SetId sets the Id field's value.
15181func (s *PortalResource) SetId(v string) *PortalResource {
15182	s.Id = &v
15183	return s
15184}
15185
15186// Contains information about the current status of a portal.
15187type PortalStatus struct {
15188	_ struct{} `type:"structure"`
15189
15190	// Contains associated error information, if any.
15191	Error *MonitorErrorDetails `locationName:"error" type:"structure"`
15192
15193	// The current state of the portal.
15194	//
15195	// State is a required field
15196	State *string `locationName:"state" type:"string" required:"true" enum:"PortalState"`
15197}
15198
15199// String returns the string representation
15200func (s PortalStatus) String() string {
15201	return awsutil.Prettify(s)
15202}
15203
15204// GoString returns the string representation
15205func (s PortalStatus) GoString() string {
15206	return s.String()
15207}
15208
15209// SetError sets the Error field's value.
15210func (s *PortalStatus) SetError(v *MonitorErrorDetails) *PortalStatus {
15211	s.Error = v
15212	return s
15213}
15214
15215// SetState sets the State field's value.
15216func (s *PortalStatus) SetState(v string) *PortalStatus {
15217	s.State = &v
15218	return s
15219}
15220
15221// Contains a portal summary.
15222type PortalSummary struct {
15223	_ struct{} `type:"structure"`
15224
15225	// The date the portal was created, in Unix epoch time.
15226	CreationDate *time.Time `locationName:"creationDate" type:"timestamp"`
15227
15228	// The portal's description.
15229	Description *string `locationName:"description" min:"1" type:"string"`
15230
15231	// The ID of the portal.
15232	//
15233	// Id is a required field
15234	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
15235
15236	// The date the portal was last updated, in Unix epoch time.
15237	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp"`
15238
15239	// The name of the portal.
15240	//
15241	// Name is a required field
15242	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
15243
15244	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
15245	// of the service role that allows the portal's users to access your AWS IoT
15246	// SiteWise resources on your behalf. For more information, see Using service
15247	// roles for AWS IoT SiteWise Monitor (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html)
15248	// in the AWS IoT SiteWise User Guide.
15249	RoleArn *string `locationName:"roleArn" min:"1" type:"string"`
15250
15251	// The URL for the AWS IoT SiteWise Monitor portal. You can use this URL to
15252	// access portals that use AWS SSO for authentication. For portals that use
15253	// IAM for authentication, you must use the AWS IoT SiteWise console to get
15254	// a URL that you can use to access the portal.
15255	//
15256	// StartUrl is a required field
15257	StartUrl *string `locationName:"startUrl" min:"1" type:"string" required:"true"`
15258
15259	// Contains information about the current status of a portal.
15260	//
15261	// Status is a required field
15262	Status *PortalStatus `locationName:"status" type:"structure" required:"true"`
15263}
15264
15265// String returns the string representation
15266func (s PortalSummary) String() string {
15267	return awsutil.Prettify(s)
15268}
15269
15270// GoString returns the string representation
15271func (s PortalSummary) GoString() string {
15272	return s.String()
15273}
15274
15275// SetCreationDate sets the CreationDate field's value.
15276func (s *PortalSummary) SetCreationDate(v time.Time) *PortalSummary {
15277	s.CreationDate = &v
15278	return s
15279}
15280
15281// SetDescription sets the Description field's value.
15282func (s *PortalSummary) SetDescription(v string) *PortalSummary {
15283	s.Description = &v
15284	return s
15285}
15286
15287// SetId sets the Id field's value.
15288func (s *PortalSummary) SetId(v string) *PortalSummary {
15289	s.Id = &v
15290	return s
15291}
15292
15293// SetLastUpdateDate sets the LastUpdateDate field's value.
15294func (s *PortalSummary) SetLastUpdateDate(v time.Time) *PortalSummary {
15295	s.LastUpdateDate = &v
15296	return s
15297}
15298
15299// SetName sets the Name field's value.
15300func (s *PortalSummary) SetName(v string) *PortalSummary {
15301	s.Name = &v
15302	return s
15303}
15304
15305// SetRoleArn sets the RoleArn field's value.
15306func (s *PortalSummary) SetRoleArn(v string) *PortalSummary {
15307	s.RoleArn = &v
15308	return s
15309}
15310
15311// SetStartUrl sets the StartUrl field's value.
15312func (s *PortalSummary) SetStartUrl(v string) *PortalSummary {
15313	s.StartUrl = &v
15314	return s
15315}
15316
15317// SetStatus sets the Status field's value.
15318func (s *PortalSummary) SetStatus(v *PortalStatus) *PortalSummary {
15319	s.Status = v
15320	return s
15321}
15322
15323// Identifies a specific AWS IoT SiteWise Monitor project.
15324type ProjectResource struct {
15325	_ struct{} `type:"structure"`
15326
15327	// The ID of the project.
15328	//
15329	// Id is a required field
15330	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
15331}
15332
15333// String returns the string representation
15334func (s ProjectResource) String() string {
15335	return awsutil.Prettify(s)
15336}
15337
15338// GoString returns the string representation
15339func (s ProjectResource) GoString() string {
15340	return s.String()
15341}
15342
15343// Validate inspects the fields of the type to determine if they are valid.
15344func (s *ProjectResource) Validate() error {
15345	invalidParams := request.ErrInvalidParams{Context: "ProjectResource"}
15346	if s.Id == nil {
15347		invalidParams.Add(request.NewErrParamRequired("Id"))
15348	}
15349	if s.Id != nil && len(*s.Id) < 36 {
15350		invalidParams.Add(request.NewErrParamMinLen("Id", 36))
15351	}
15352
15353	if invalidParams.Len() > 0 {
15354		return invalidParams
15355	}
15356	return nil
15357}
15358
15359// SetId sets the Id field's value.
15360func (s *ProjectResource) SetId(v string) *ProjectResource {
15361	s.Id = &v
15362	return s
15363}
15364
15365// Contains project summary information.
15366type ProjectSummary struct {
15367	_ struct{} `type:"structure"`
15368
15369	// The date the project was created, in Unix epoch time.
15370	CreationDate *time.Time `locationName:"creationDate" type:"timestamp"`
15371
15372	// The project's description.
15373	Description *string `locationName:"description" min:"1" type:"string"`
15374
15375	// The ID of the project.
15376	//
15377	// Id is a required field
15378	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
15379
15380	// The date the project was last updated, in Unix epoch time.
15381	LastUpdateDate *time.Time `locationName:"lastUpdateDate" type:"timestamp"`
15382
15383	// The name of the project.
15384	//
15385	// Name is a required field
15386	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
15387}
15388
15389// String returns the string representation
15390func (s ProjectSummary) String() string {
15391	return awsutil.Prettify(s)
15392}
15393
15394// GoString returns the string representation
15395func (s ProjectSummary) GoString() string {
15396	return s.String()
15397}
15398
15399// SetCreationDate sets the CreationDate field's value.
15400func (s *ProjectSummary) SetCreationDate(v time.Time) *ProjectSummary {
15401	s.CreationDate = &v
15402	return s
15403}
15404
15405// SetDescription sets the Description field's value.
15406func (s *ProjectSummary) SetDescription(v string) *ProjectSummary {
15407	s.Description = &v
15408	return s
15409}
15410
15411// SetId sets the Id field's value.
15412func (s *ProjectSummary) SetId(v string) *ProjectSummary {
15413	s.Id = &v
15414	return s
15415}
15416
15417// SetLastUpdateDate sets the LastUpdateDate field's value.
15418func (s *ProjectSummary) SetLastUpdateDate(v time.Time) *ProjectSummary {
15419	s.LastUpdateDate = &v
15420	return s
15421}
15422
15423// SetName sets the Name field's value.
15424func (s *ProjectSummary) SetName(v string) *ProjectSummary {
15425	s.Name = &v
15426	return s
15427}
15428
15429// Contains asset property information.
15430type Property struct {
15431	_ struct{} `type:"structure"`
15432
15433	// The property alias that identifies the property, such as an OPC-UA server
15434	// data stream path (for example, /company/windfarm/3/turbine/7/temperature).
15435	// For more information, see Mapping industrial data streams to asset properties
15436	// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
15437	// in the AWS IoT SiteWise User Guide.
15438	Alias *string `locationName:"alias" min:"1" type:"string"`
15439
15440	// The property data type.
15441	//
15442	// DataType is a required field
15443	DataType *string `locationName:"dataType" type:"string" required:"true" enum:"PropertyDataType"`
15444
15445	// The ID of the asset property.
15446	//
15447	// Id is a required field
15448	Id *string `locationName:"id" min:"36" type:"string" required:"true"`
15449
15450	// The name of the property.
15451	//
15452	// Name is a required field
15453	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
15454
15455	// The asset property's notification topic and state. For more information,
15456	// see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html).
15457	Notification *PropertyNotification `locationName:"notification" type:"structure"`
15458
15459	// The property type (see PropertyType). A property contains one type.
15460	Type *PropertyType `locationName:"type" type:"structure"`
15461
15462	// The unit (such as Newtons or RPM) of the asset property.
15463	Unit *string `locationName:"unit" min:"1" type:"string"`
15464}
15465
15466// String returns the string representation
15467func (s Property) String() string {
15468	return awsutil.Prettify(s)
15469}
15470
15471// GoString returns the string representation
15472func (s Property) GoString() string {
15473	return s.String()
15474}
15475
15476// SetAlias sets the Alias field's value.
15477func (s *Property) SetAlias(v string) *Property {
15478	s.Alias = &v
15479	return s
15480}
15481
15482// SetDataType sets the DataType field's value.
15483func (s *Property) SetDataType(v string) *Property {
15484	s.DataType = &v
15485	return s
15486}
15487
15488// SetId sets the Id field's value.
15489func (s *Property) SetId(v string) *Property {
15490	s.Id = &v
15491	return s
15492}
15493
15494// SetName sets the Name field's value.
15495func (s *Property) SetName(v string) *Property {
15496	s.Name = &v
15497	return s
15498}
15499
15500// SetNotification sets the Notification field's value.
15501func (s *Property) SetNotification(v *PropertyNotification) *Property {
15502	s.Notification = v
15503	return s
15504}
15505
15506// SetType sets the Type field's value.
15507func (s *Property) SetType(v *PropertyType) *Property {
15508	s.Type = v
15509	return s
15510}
15511
15512// SetUnit sets the Unit field's value.
15513func (s *Property) SetUnit(v string) *Property {
15514	s.Unit = &v
15515	return s
15516}
15517
15518// Contains asset property value notification information. When the notification
15519// state is enabled, AWS IoT SiteWise publishes property value updates to a
15520// unique MQTT topic. For more information, see Interacting with other services
15521// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/interact-with-other-services.html)
15522// in the AWS IoT SiteWise User Guide.
15523type PropertyNotification struct {
15524	_ struct{} `type:"structure"`
15525
15526	// The current notification state.
15527	//
15528	// State is a required field
15529	State *string `locationName:"state" type:"string" required:"true" enum:"PropertyNotificationState"`
15530
15531	// The MQTT topic to which AWS IoT SiteWise publishes property value update
15532	// notifications.
15533	//
15534	// Topic is a required field
15535	Topic *string `locationName:"topic" type:"string" required:"true"`
15536}
15537
15538// String returns the string representation
15539func (s PropertyNotification) String() string {
15540	return awsutil.Prettify(s)
15541}
15542
15543// GoString returns the string representation
15544func (s PropertyNotification) GoString() string {
15545	return s.String()
15546}
15547
15548// SetState sets the State field's value.
15549func (s *PropertyNotification) SetState(v string) *PropertyNotification {
15550	s.State = &v
15551	return s
15552}
15553
15554// SetTopic sets the Topic field's value.
15555func (s *PropertyNotification) SetTopic(v string) *PropertyNotification {
15556	s.Topic = &v
15557	return s
15558}
15559
15560// Contains a property type, which can be one of attribute, measurement, metric,
15561// or transform.
15562type PropertyType struct {
15563	_ struct{} `type:"structure"`
15564
15565	// Specifies an asset attribute property. An attribute generally contains static
15566	// information, such as the serial number of an IIoT (https://en.wikipedia.org/wiki/Internet_of_things#Industrial_applications)
15567	// wind turbine.
15568	Attribute *Attribute `locationName:"attribute" type:"structure"`
15569
15570	// Specifies an asset measurement property. A measurement represents a device's
15571	// raw sensor data stream, such as timestamped temperature values or timestamped
15572	// power values.
15573	Measurement *Measurement `locationName:"measurement" type:"structure"`
15574
15575	// Specifies an asset metric property. A metric contains a mathematical expression
15576	// that uses aggregate functions to process all input data points over a time
15577	// interval and output a single data point, such as to calculate the average
15578	// hourly temperature.
15579	Metric *Metric `locationName:"metric" type:"structure"`
15580
15581	// Specifies an asset transform property. A transform contains a mathematical
15582	// expression that maps a property's data points from one form to another, such
15583	// as a unit conversion from Celsius to Fahrenheit.
15584	Transform *Transform `locationName:"transform" type:"structure"`
15585}
15586
15587// String returns the string representation
15588func (s PropertyType) String() string {
15589	return awsutil.Prettify(s)
15590}
15591
15592// GoString returns the string representation
15593func (s PropertyType) GoString() string {
15594	return s.String()
15595}
15596
15597// Validate inspects the fields of the type to determine if they are valid.
15598func (s *PropertyType) Validate() error {
15599	invalidParams := request.ErrInvalidParams{Context: "PropertyType"}
15600	if s.Attribute != nil {
15601		if err := s.Attribute.Validate(); err != nil {
15602			invalidParams.AddNested("Attribute", err.(request.ErrInvalidParams))
15603		}
15604	}
15605	if s.Metric != nil {
15606		if err := s.Metric.Validate(); err != nil {
15607			invalidParams.AddNested("Metric", err.(request.ErrInvalidParams))
15608		}
15609	}
15610	if s.Transform != nil {
15611		if err := s.Transform.Validate(); err != nil {
15612			invalidParams.AddNested("Transform", err.(request.ErrInvalidParams))
15613		}
15614	}
15615
15616	if invalidParams.Len() > 0 {
15617		return invalidParams
15618	}
15619	return nil
15620}
15621
15622// SetAttribute sets the Attribute field's value.
15623func (s *PropertyType) SetAttribute(v *Attribute) *PropertyType {
15624	s.Attribute = v
15625	return s
15626}
15627
15628// SetMeasurement sets the Measurement field's value.
15629func (s *PropertyType) SetMeasurement(v *Measurement) *PropertyType {
15630	s.Measurement = v
15631	return s
15632}
15633
15634// SetMetric sets the Metric field's value.
15635func (s *PropertyType) SetMetric(v *Metric) *PropertyType {
15636	s.Metric = v
15637	return s
15638}
15639
15640// SetTransform sets the Transform field's value.
15641func (s *PropertyType) SetTransform(v *Transform) *PropertyType {
15642	s.Transform = v
15643	return s
15644}
15645
15646// Contains a list of value updates for an asset property in the list of asset
15647// entries consumed by the BatchPutAssetPropertyValue (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html)
15648// API operation.
15649type PutAssetPropertyValueEntry struct {
15650	_ struct{} `type:"structure"`
15651
15652	// The ID of the asset to update.
15653	AssetId *string `locationName:"assetId" min:"36" type:"string"`
15654
15655	// The user specified ID for the entry. You can use this ID to identify which
15656	// entries failed.
15657	//
15658	// EntryId is a required field
15659	EntryId *string `locationName:"entryId" min:"1" type:"string" required:"true"`
15660
15661	// The property alias that identifies the property, such as an OPC-UA server
15662	// data stream path (for example, /company/windfarm/3/turbine/7/temperature).
15663	// For more information, see Mapping industrial data streams to asset properties
15664	// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
15665	// in the AWS IoT SiteWise User Guide.
15666	PropertyAlias *string `locationName:"propertyAlias" min:"1" type:"string"`
15667
15668	// The ID of the asset property for this entry.
15669	PropertyId *string `locationName:"propertyId" min:"36" type:"string"`
15670
15671	// The list of property values to upload. You can specify up to 10 propertyValues
15672	// array elements.
15673	//
15674	// PropertyValues is a required field
15675	PropertyValues []*AssetPropertyValue `locationName:"propertyValues" type:"list" required:"true"`
15676}
15677
15678// String returns the string representation
15679func (s PutAssetPropertyValueEntry) String() string {
15680	return awsutil.Prettify(s)
15681}
15682
15683// GoString returns the string representation
15684func (s PutAssetPropertyValueEntry) GoString() string {
15685	return s.String()
15686}
15687
15688// Validate inspects the fields of the type to determine if they are valid.
15689func (s *PutAssetPropertyValueEntry) Validate() error {
15690	invalidParams := request.ErrInvalidParams{Context: "PutAssetPropertyValueEntry"}
15691	if s.AssetId != nil && len(*s.AssetId) < 36 {
15692		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
15693	}
15694	if s.EntryId == nil {
15695		invalidParams.Add(request.NewErrParamRequired("EntryId"))
15696	}
15697	if s.EntryId != nil && len(*s.EntryId) < 1 {
15698		invalidParams.Add(request.NewErrParamMinLen("EntryId", 1))
15699	}
15700	if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 {
15701		invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1))
15702	}
15703	if s.PropertyId != nil && len(*s.PropertyId) < 36 {
15704		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36))
15705	}
15706	if s.PropertyValues == nil {
15707		invalidParams.Add(request.NewErrParamRequired("PropertyValues"))
15708	}
15709	if s.PropertyValues != nil {
15710		for i, v := range s.PropertyValues {
15711			if v == nil {
15712				continue
15713			}
15714			if err := v.Validate(); err != nil {
15715				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyValues", i), err.(request.ErrInvalidParams))
15716			}
15717		}
15718	}
15719
15720	if invalidParams.Len() > 0 {
15721		return invalidParams
15722	}
15723	return nil
15724}
15725
15726// SetAssetId sets the AssetId field's value.
15727func (s *PutAssetPropertyValueEntry) SetAssetId(v string) *PutAssetPropertyValueEntry {
15728	s.AssetId = &v
15729	return s
15730}
15731
15732// SetEntryId sets the EntryId field's value.
15733func (s *PutAssetPropertyValueEntry) SetEntryId(v string) *PutAssetPropertyValueEntry {
15734	s.EntryId = &v
15735	return s
15736}
15737
15738// SetPropertyAlias sets the PropertyAlias field's value.
15739func (s *PutAssetPropertyValueEntry) SetPropertyAlias(v string) *PutAssetPropertyValueEntry {
15740	s.PropertyAlias = &v
15741	return s
15742}
15743
15744// SetPropertyId sets the PropertyId field's value.
15745func (s *PutAssetPropertyValueEntry) SetPropertyId(v string) *PutAssetPropertyValueEntry {
15746	s.PropertyId = &v
15747	return s
15748}
15749
15750// SetPropertyValues sets the PropertyValues field's value.
15751func (s *PutAssetPropertyValueEntry) SetPropertyValues(v []*AssetPropertyValue) *PutAssetPropertyValueEntry {
15752	s.PropertyValues = v
15753	return s
15754}
15755
15756type PutDefaultEncryptionConfigurationInput struct {
15757	_ struct{} `type:"structure"`
15758
15759	// The type of encryption used for the encryption configuration.
15760	//
15761	// EncryptionType is a required field
15762	EncryptionType *string `locationName:"encryptionType" type:"string" required:"true" enum:"EncryptionType"`
15763
15764	// The Key ID of the customer managed customer master key (CMK) used for AWS
15765	// KMS encryption. This is required if you use KMS_BASED_ENCRYPTION.
15766	KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"`
15767}
15768
15769// String returns the string representation
15770func (s PutDefaultEncryptionConfigurationInput) String() string {
15771	return awsutil.Prettify(s)
15772}
15773
15774// GoString returns the string representation
15775func (s PutDefaultEncryptionConfigurationInput) GoString() string {
15776	return s.String()
15777}
15778
15779// Validate inspects the fields of the type to determine if they are valid.
15780func (s *PutDefaultEncryptionConfigurationInput) Validate() error {
15781	invalidParams := request.ErrInvalidParams{Context: "PutDefaultEncryptionConfigurationInput"}
15782	if s.EncryptionType == nil {
15783		invalidParams.Add(request.NewErrParamRequired("EncryptionType"))
15784	}
15785	if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 {
15786		invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1))
15787	}
15788
15789	if invalidParams.Len() > 0 {
15790		return invalidParams
15791	}
15792	return nil
15793}
15794
15795// SetEncryptionType sets the EncryptionType field's value.
15796func (s *PutDefaultEncryptionConfigurationInput) SetEncryptionType(v string) *PutDefaultEncryptionConfigurationInput {
15797	s.EncryptionType = &v
15798	return s
15799}
15800
15801// SetKmsKeyId sets the KmsKeyId field's value.
15802func (s *PutDefaultEncryptionConfigurationInput) SetKmsKeyId(v string) *PutDefaultEncryptionConfigurationInput {
15803	s.KmsKeyId = &v
15804	return s
15805}
15806
15807type PutDefaultEncryptionConfigurationOutput struct {
15808	_ struct{} `type:"structure"`
15809
15810	// The status of the account configuration. This contains the ConfigurationState.
15811	// If there is an error, it also contains the ErrorDetails.
15812	//
15813	// ConfigurationStatus is a required field
15814	ConfigurationStatus *ConfigurationStatus `locationName:"configurationStatus" type:"structure" required:"true"`
15815
15816	// The type of encryption used for the encryption configuration.
15817	//
15818	// EncryptionType is a required field
15819	EncryptionType *string `locationName:"encryptionType" type:"string" required:"true" enum:"EncryptionType"`
15820
15821	// The Key ARN of the AWS KMS CMK used for AWS KMS encryption if you use KMS_BASED_ENCRYPTION.
15822	KmsKeyArn *string `locationName:"kmsKeyArn" min:"1" type:"string"`
15823}
15824
15825// String returns the string representation
15826func (s PutDefaultEncryptionConfigurationOutput) String() string {
15827	return awsutil.Prettify(s)
15828}
15829
15830// GoString returns the string representation
15831func (s PutDefaultEncryptionConfigurationOutput) GoString() string {
15832	return s.String()
15833}
15834
15835// SetConfigurationStatus sets the ConfigurationStatus field's value.
15836func (s *PutDefaultEncryptionConfigurationOutput) SetConfigurationStatus(v *ConfigurationStatus) *PutDefaultEncryptionConfigurationOutput {
15837	s.ConfigurationStatus = v
15838	return s
15839}
15840
15841// SetEncryptionType sets the EncryptionType field's value.
15842func (s *PutDefaultEncryptionConfigurationOutput) SetEncryptionType(v string) *PutDefaultEncryptionConfigurationOutput {
15843	s.EncryptionType = &v
15844	return s
15845}
15846
15847// SetKmsKeyArn sets the KmsKeyArn field's value.
15848func (s *PutDefaultEncryptionConfigurationOutput) SetKmsKeyArn(v string) *PutDefaultEncryptionConfigurationOutput {
15849	s.KmsKeyArn = &v
15850	return s
15851}
15852
15853type PutLoggingOptionsInput struct {
15854	_ struct{} `type:"structure"`
15855
15856	// The logging options to set.
15857	//
15858	// LoggingOptions is a required field
15859	LoggingOptions *LoggingOptions `locationName:"loggingOptions" type:"structure" required:"true"`
15860}
15861
15862// String returns the string representation
15863func (s PutLoggingOptionsInput) String() string {
15864	return awsutil.Prettify(s)
15865}
15866
15867// GoString returns the string representation
15868func (s PutLoggingOptionsInput) GoString() string {
15869	return s.String()
15870}
15871
15872// Validate inspects the fields of the type to determine if they are valid.
15873func (s *PutLoggingOptionsInput) Validate() error {
15874	invalidParams := request.ErrInvalidParams{Context: "PutLoggingOptionsInput"}
15875	if s.LoggingOptions == nil {
15876		invalidParams.Add(request.NewErrParamRequired("LoggingOptions"))
15877	}
15878	if s.LoggingOptions != nil {
15879		if err := s.LoggingOptions.Validate(); err != nil {
15880			invalidParams.AddNested("LoggingOptions", err.(request.ErrInvalidParams))
15881		}
15882	}
15883
15884	if invalidParams.Len() > 0 {
15885		return invalidParams
15886	}
15887	return nil
15888}
15889
15890// SetLoggingOptions sets the LoggingOptions field's value.
15891func (s *PutLoggingOptionsInput) SetLoggingOptions(v *LoggingOptions) *PutLoggingOptionsInput {
15892	s.LoggingOptions = v
15893	return s
15894}
15895
15896type PutLoggingOptionsOutput struct {
15897	_ struct{} `type:"structure"`
15898}
15899
15900// String returns the string representation
15901func (s PutLoggingOptionsOutput) String() string {
15902	return awsutil.Prettify(s)
15903}
15904
15905// GoString returns the string representation
15906func (s PutLoggingOptionsOutput) GoString() string {
15907	return s.String()
15908}
15909
15910// Contains an AWS IoT SiteWise Monitor resource ID for a portal or project.
15911type Resource struct {
15912	_ struct{} `type:"structure"`
15913
15914	// A portal resource.
15915	Portal *PortalResource `locationName:"portal" type:"structure"`
15916
15917	// A project resource.
15918	Project *ProjectResource `locationName:"project" type:"structure"`
15919}
15920
15921// String returns the string representation
15922func (s Resource) String() string {
15923	return awsutil.Prettify(s)
15924}
15925
15926// GoString returns the string representation
15927func (s Resource) GoString() string {
15928	return s.String()
15929}
15930
15931// Validate inspects the fields of the type to determine if they are valid.
15932func (s *Resource) Validate() error {
15933	invalidParams := request.ErrInvalidParams{Context: "Resource"}
15934	if s.Portal != nil {
15935		if err := s.Portal.Validate(); err != nil {
15936			invalidParams.AddNested("Portal", err.(request.ErrInvalidParams))
15937		}
15938	}
15939	if s.Project != nil {
15940		if err := s.Project.Validate(); err != nil {
15941			invalidParams.AddNested("Project", err.(request.ErrInvalidParams))
15942		}
15943	}
15944
15945	if invalidParams.Len() > 0 {
15946		return invalidParams
15947	}
15948	return nil
15949}
15950
15951// SetPortal sets the Portal field's value.
15952func (s *Resource) SetPortal(v *PortalResource) *Resource {
15953	s.Portal = v
15954	return s
15955}
15956
15957// SetProject sets the Project field's value.
15958func (s *Resource) SetProject(v *ProjectResource) *Resource {
15959	s.Project = v
15960	return s
15961}
15962
15963// The resource already exists.
15964type ResourceAlreadyExistsException struct {
15965	_            struct{}                  `type:"structure"`
15966	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15967
15968	Message_ *string `locationName:"message" type:"string"`
15969
15970	// The ARN of the resource that already exists.
15971	//
15972	// ResourceArn is a required field
15973	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
15974
15975	// The ID of the resource that already exists.
15976	//
15977	// ResourceId is a required field
15978	ResourceId *string `locationName:"resourceId" type:"string" required:"true"`
15979}
15980
15981// String returns the string representation
15982func (s ResourceAlreadyExistsException) String() string {
15983	return awsutil.Prettify(s)
15984}
15985
15986// GoString returns the string representation
15987func (s ResourceAlreadyExistsException) GoString() string {
15988	return s.String()
15989}
15990
15991func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
15992	return &ResourceAlreadyExistsException{
15993		RespMetadata: v,
15994	}
15995}
15996
15997// Code returns the exception type name.
15998func (s *ResourceAlreadyExistsException) Code() string {
15999	return "ResourceAlreadyExistsException"
16000}
16001
16002// Message returns the exception's message.
16003func (s *ResourceAlreadyExistsException) Message() string {
16004	if s.Message_ != nil {
16005		return *s.Message_
16006	}
16007	return ""
16008}
16009
16010// OrigErr always returns nil, satisfies awserr.Error interface.
16011func (s *ResourceAlreadyExistsException) OrigErr() error {
16012	return nil
16013}
16014
16015func (s *ResourceAlreadyExistsException) Error() string {
16016	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
16017}
16018
16019// Status code returns the HTTP status code for the request's response error.
16020func (s *ResourceAlreadyExistsException) StatusCode() int {
16021	return s.RespMetadata.StatusCode
16022}
16023
16024// RequestID returns the service's response RequestID for request.
16025func (s *ResourceAlreadyExistsException) RequestID() string {
16026	return s.RespMetadata.RequestID
16027}
16028
16029// The requested resource can't be found.
16030type ResourceNotFoundException struct {
16031	_            struct{}                  `type:"structure"`
16032	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16033
16034	Message_ *string `locationName:"message" type:"string"`
16035}
16036
16037// String returns the string representation
16038func (s ResourceNotFoundException) String() string {
16039	return awsutil.Prettify(s)
16040}
16041
16042// GoString returns the string representation
16043func (s ResourceNotFoundException) GoString() string {
16044	return s.String()
16045}
16046
16047func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
16048	return &ResourceNotFoundException{
16049		RespMetadata: v,
16050	}
16051}
16052
16053// Code returns the exception type name.
16054func (s *ResourceNotFoundException) Code() string {
16055	return "ResourceNotFoundException"
16056}
16057
16058// Message returns the exception's message.
16059func (s *ResourceNotFoundException) Message() string {
16060	if s.Message_ != nil {
16061		return *s.Message_
16062	}
16063	return ""
16064}
16065
16066// OrigErr always returns nil, satisfies awserr.Error interface.
16067func (s *ResourceNotFoundException) OrigErr() error {
16068	return nil
16069}
16070
16071func (s *ResourceNotFoundException) Error() string {
16072	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16073}
16074
16075// Status code returns the HTTP status code for the request's response error.
16076func (s *ResourceNotFoundException) StatusCode() int {
16077	return s.RespMetadata.StatusCode
16078}
16079
16080// RequestID returns the service's response RequestID for request.
16081func (s *ResourceNotFoundException) RequestID() string {
16082	return s.RespMetadata.RequestID
16083}
16084
16085// The requested service is unavailable.
16086type ServiceUnavailableException struct {
16087	_            struct{}                  `type:"structure"`
16088	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16089
16090	Message_ *string `locationName:"message" type:"string"`
16091}
16092
16093// String returns the string representation
16094func (s ServiceUnavailableException) String() string {
16095	return awsutil.Prettify(s)
16096}
16097
16098// GoString returns the string representation
16099func (s ServiceUnavailableException) GoString() string {
16100	return s.String()
16101}
16102
16103func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
16104	return &ServiceUnavailableException{
16105		RespMetadata: v,
16106	}
16107}
16108
16109// Code returns the exception type name.
16110func (s *ServiceUnavailableException) Code() string {
16111	return "ServiceUnavailableException"
16112}
16113
16114// Message returns the exception's message.
16115func (s *ServiceUnavailableException) Message() string {
16116	if s.Message_ != nil {
16117		return *s.Message_
16118	}
16119	return ""
16120}
16121
16122// OrigErr always returns nil, satisfies awserr.Error interface.
16123func (s *ServiceUnavailableException) OrigErr() error {
16124	return nil
16125}
16126
16127func (s *ServiceUnavailableException) Error() string {
16128	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16129}
16130
16131// Status code returns the HTTP status code for the request's response error.
16132func (s *ServiceUnavailableException) StatusCode() int {
16133	return s.RespMetadata.StatusCode
16134}
16135
16136// RequestID returns the service's response RequestID for request.
16137func (s *ServiceUnavailableException) RequestID() string {
16138	return s.RespMetadata.RequestID
16139}
16140
16141type TagResourceInput struct {
16142	_ struct{} `type:"structure"`
16143
16144	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
16145	// of the resource to tag.
16146	//
16147	// ResourceArn is a required field
16148	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
16149
16150	// A list of key-value pairs that contain metadata for the resource. For more
16151	// information, see Tagging your AWS IoT SiteWise resources (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html)
16152	// in the AWS IoT SiteWise User Guide.
16153	//
16154	// Tags is a required field
16155	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
16156}
16157
16158// String returns the string representation
16159func (s TagResourceInput) String() string {
16160	return awsutil.Prettify(s)
16161}
16162
16163// GoString returns the string representation
16164func (s TagResourceInput) GoString() string {
16165	return s.String()
16166}
16167
16168// Validate inspects the fields of the type to determine if they are valid.
16169func (s *TagResourceInput) Validate() error {
16170	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
16171	if s.ResourceArn == nil {
16172		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
16173	}
16174	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
16175		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
16176	}
16177	if s.Tags == nil {
16178		invalidParams.Add(request.NewErrParamRequired("Tags"))
16179	}
16180	if s.Tags != nil && len(s.Tags) < 1 {
16181		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
16182	}
16183
16184	if invalidParams.Len() > 0 {
16185		return invalidParams
16186	}
16187	return nil
16188}
16189
16190// SetResourceArn sets the ResourceArn field's value.
16191func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
16192	s.ResourceArn = &v
16193	return s
16194}
16195
16196// SetTags sets the Tags field's value.
16197func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
16198	s.Tags = v
16199	return s
16200}
16201
16202type TagResourceOutput struct {
16203	_ struct{} `type:"structure"`
16204}
16205
16206// String returns the string representation
16207func (s TagResourceOutput) String() string {
16208	return awsutil.Prettify(s)
16209}
16210
16211// GoString returns the string representation
16212func (s TagResourceOutput) GoString() string {
16213	return s.String()
16214}
16215
16216// Your request exceeded a rate limit. For example, you might have exceeded
16217// the number of AWS IoT SiteWise assets that can be created per second, the
16218// allowed number of messages per second, and so on.
16219//
16220// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
16221// in the AWS IoT SiteWise User Guide.
16222type ThrottlingException struct {
16223	_            struct{}                  `type:"structure"`
16224	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16225
16226	Message_ *string `locationName:"message" type:"string"`
16227}
16228
16229// String returns the string representation
16230func (s ThrottlingException) String() string {
16231	return awsutil.Prettify(s)
16232}
16233
16234// GoString returns the string representation
16235func (s ThrottlingException) GoString() string {
16236	return s.String()
16237}
16238
16239func newErrorThrottlingException(v protocol.ResponseMetadata) error {
16240	return &ThrottlingException{
16241		RespMetadata: v,
16242	}
16243}
16244
16245// Code returns the exception type name.
16246func (s *ThrottlingException) Code() string {
16247	return "ThrottlingException"
16248}
16249
16250// Message returns the exception's message.
16251func (s *ThrottlingException) Message() string {
16252	if s.Message_ != nil {
16253		return *s.Message_
16254	}
16255	return ""
16256}
16257
16258// OrigErr always returns nil, satisfies awserr.Error interface.
16259func (s *ThrottlingException) OrigErr() error {
16260	return nil
16261}
16262
16263func (s *ThrottlingException) Error() string {
16264	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16265}
16266
16267// Status code returns the HTTP status code for the request's response error.
16268func (s *ThrottlingException) StatusCode() int {
16269	return s.RespMetadata.StatusCode
16270}
16271
16272// RequestID returns the service's response RequestID for request.
16273func (s *ThrottlingException) RequestID() string {
16274	return s.RespMetadata.RequestID
16275}
16276
16277// Contains a timestamp with optional nanosecond granularity.
16278type TimeInNanos struct {
16279	_ struct{} `type:"structure"`
16280
16281	// The nanosecond offset from timeInSeconds.
16282	OffsetInNanos *int64 `locationName:"offsetInNanos" type:"integer"`
16283
16284	// The timestamp date, in seconds, in the Unix epoch format. Fractional nanosecond
16285	// data is provided by offsetInNanos.
16286	//
16287	// TimeInSeconds is a required field
16288	TimeInSeconds *int64 `locationName:"timeInSeconds" min:"1" type:"long" required:"true"`
16289}
16290
16291// String returns the string representation
16292func (s TimeInNanos) String() string {
16293	return awsutil.Prettify(s)
16294}
16295
16296// GoString returns the string representation
16297func (s TimeInNanos) GoString() string {
16298	return s.String()
16299}
16300
16301// Validate inspects the fields of the type to determine if they are valid.
16302func (s *TimeInNanos) Validate() error {
16303	invalidParams := request.ErrInvalidParams{Context: "TimeInNanos"}
16304	if s.TimeInSeconds == nil {
16305		invalidParams.Add(request.NewErrParamRequired("TimeInSeconds"))
16306	}
16307	if s.TimeInSeconds != nil && *s.TimeInSeconds < 1 {
16308		invalidParams.Add(request.NewErrParamMinValue("TimeInSeconds", 1))
16309	}
16310
16311	if invalidParams.Len() > 0 {
16312		return invalidParams
16313	}
16314	return nil
16315}
16316
16317// SetOffsetInNanos sets the OffsetInNanos field's value.
16318func (s *TimeInNanos) SetOffsetInNanos(v int64) *TimeInNanos {
16319	s.OffsetInNanos = &v
16320	return s
16321}
16322
16323// SetTimeInSeconds sets the TimeInSeconds field's value.
16324func (s *TimeInNanos) SetTimeInSeconds(v int64) *TimeInNanos {
16325	s.TimeInSeconds = &v
16326	return s
16327}
16328
16329// You've reached the limit for the number of tags allowed for a resource. For
16330// more information, see Tag naming limits and requirements (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions)
16331// in the AWS General Reference.
16332type TooManyTagsException struct {
16333	_            struct{}                  `type:"structure"`
16334	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16335
16336	Message_ *string `locationName:"message" type:"string"`
16337
16338	// The name of the resource with too many tags.
16339	ResourceName *string `locationName:"resourceName" min:"1" type:"string"`
16340}
16341
16342// String returns the string representation
16343func (s TooManyTagsException) String() string {
16344	return awsutil.Prettify(s)
16345}
16346
16347// GoString returns the string representation
16348func (s TooManyTagsException) GoString() string {
16349	return s.String()
16350}
16351
16352func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
16353	return &TooManyTagsException{
16354		RespMetadata: v,
16355	}
16356}
16357
16358// Code returns the exception type name.
16359func (s *TooManyTagsException) Code() string {
16360	return "TooManyTagsException"
16361}
16362
16363// Message returns the exception's message.
16364func (s *TooManyTagsException) Message() string {
16365	if s.Message_ != nil {
16366		return *s.Message_
16367	}
16368	return ""
16369}
16370
16371// OrigErr always returns nil, satisfies awserr.Error interface.
16372func (s *TooManyTagsException) OrigErr() error {
16373	return nil
16374}
16375
16376func (s *TooManyTagsException) Error() string {
16377	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
16378}
16379
16380// Status code returns the HTTP status code for the request's response error.
16381func (s *TooManyTagsException) StatusCode() int {
16382	return s.RespMetadata.StatusCode
16383}
16384
16385// RequestID returns the service's response RequestID for request.
16386func (s *TooManyTagsException) RequestID() string {
16387	return s.RespMetadata.RequestID
16388}
16389
16390// Contains an asset transform property. A transform is a one-to-one mapping
16391// of a property's data points from one form to another. For example, you can
16392// use a transform to convert a Celsius data stream to Fahrenheit by applying
16393// the transformation expression to each data point of the Celsius stream. A
16394// transform can only have a data type of DOUBLE and consume properties with
16395// data types of INTEGER or DOUBLE.
16396//
16397// For more information, see Transforms (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html#transforms)
16398// in the AWS IoT SiteWise User Guide.
16399type Transform struct {
16400	_ struct{} `type:"structure"`
16401
16402	// The mathematical expression that defines the transformation function. You
16403	// can specify up to 10 variables per expression. You can specify up to 10 functions
16404	// per expression.
16405	//
16406	// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
16407	// in the AWS IoT SiteWise User Guide.
16408	//
16409	// Expression is a required field
16410	Expression *string `locationName:"expression" min:"1" type:"string" required:"true"`
16411
16412	// The list of variables used in the expression.
16413	//
16414	// Variables is a required field
16415	Variables []*ExpressionVariable `locationName:"variables" type:"list" required:"true"`
16416}
16417
16418// String returns the string representation
16419func (s Transform) String() string {
16420	return awsutil.Prettify(s)
16421}
16422
16423// GoString returns the string representation
16424func (s Transform) GoString() string {
16425	return s.String()
16426}
16427
16428// Validate inspects the fields of the type to determine if they are valid.
16429func (s *Transform) Validate() error {
16430	invalidParams := request.ErrInvalidParams{Context: "Transform"}
16431	if s.Expression == nil {
16432		invalidParams.Add(request.NewErrParamRequired("Expression"))
16433	}
16434	if s.Expression != nil && len(*s.Expression) < 1 {
16435		invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
16436	}
16437	if s.Variables == nil {
16438		invalidParams.Add(request.NewErrParamRequired("Variables"))
16439	}
16440	if s.Variables != nil {
16441		for i, v := range s.Variables {
16442			if v == nil {
16443				continue
16444			}
16445			if err := v.Validate(); err != nil {
16446				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Variables", i), err.(request.ErrInvalidParams))
16447			}
16448		}
16449	}
16450
16451	if invalidParams.Len() > 0 {
16452		return invalidParams
16453	}
16454	return nil
16455}
16456
16457// SetExpression sets the Expression field's value.
16458func (s *Transform) SetExpression(v string) *Transform {
16459	s.Expression = &v
16460	return s
16461}
16462
16463// SetVariables sets the Variables field's value.
16464func (s *Transform) SetVariables(v []*ExpressionVariable) *Transform {
16465	s.Variables = v
16466	return s
16467}
16468
16469// Contains a tumbling window, which is a repeating fixed-sized, non-overlapping,
16470// and contiguous time interval. This window is used in metric and aggregation
16471// computations.
16472type TumblingWindow struct {
16473	_ struct{} `type:"structure"`
16474
16475	// The time interval for the tumbling window. Note that w represents weeks,
16476	// d represents days, h represents hours, and m represents minutes. AWS IoT
16477	// SiteWise computes the 1w interval the end of Sunday at midnight each week
16478	// (UTC), the 1d interval at the end of each day at midnight (UTC), the 1h interval
16479	// at the end of each hour, and so on.
16480	//
16481	// When AWS IoT SiteWise aggregates data points for metric computations, the
16482	// start of each interval is exclusive and the end of each interval is inclusive.
16483	// AWS IoT SiteWise places the computed data point at the end of the interval.
16484	//
16485	// Interval is a required field
16486	Interval *string `locationName:"interval" min:"2" type:"string" required:"true"`
16487}
16488
16489// String returns the string representation
16490func (s TumblingWindow) String() string {
16491	return awsutil.Prettify(s)
16492}
16493
16494// GoString returns the string representation
16495func (s TumblingWindow) GoString() string {
16496	return s.String()
16497}
16498
16499// Validate inspects the fields of the type to determine if they are valid.
16500func (s *TumblingWindow) Validate() error {
16501	invalidParams := request.ErrInvalidParams{Context: "TumblingWindow"}
16502	if s.Interval == nil {
16503		invalidParams.Add(request.NewErrParamRequired("Interval"))
16504	}
16505	if s.Interval != nil && len(*s.Interval) < 2 {
16506		invalidParams.Add(request.NewErrParamMinLen("Interval", 2))
16507	}
16508
16509	if invalidParams.Len() > 0 {
16510		return invalidParams
16511	}
16512	return nil
16513}
16514
16515// SetInterval sets the Interval field's value.
16516func (s *TumblingWindow) SetInterval(v string) *TumblingWindow {
16517	s.Interval = &v
16518	return s
16519}
16520
16521// You are not authorized.
16522type UnauthorizedException struct {
16523	_            struct{}                  `type:"structure"`
16524	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16525
16526	Message_ *string `locationName:"message" type:"string"`
16527}
16528
16529// String returns the string representation
16530func (s UnauthorizedException) String() string {
16531	return awsutil.Prettify(s)
16532}
16533
16534// GoString returns the string representation
16535func (s UnauthorizedException) GoString() string {
16536	return s.String()
16537}
16538
16539func newErrorUnauthorizedException(v protocol.ResponseMetadata) error {
16540	return &UnauthorizedException{
16541		RespMetadata: v,
16542	}
16543}
16544
16545// Code returns the exception type name.
16546func (s *UnauthorizedException) Code() string {
16547	return "UnauthorizedException"
16548}
16549
16550// Message returns the exception's message.
16551func (s *UnauthorizedException) Message() string {
16552	if s.Message_ != nil {
16553		return *s.Message_
16554	}
16555	return ""
16556}
16557
16558// OrigErr always returns nil, satisfies awserr.Error interface.
16559func (s *UnauthorizedException) OrigErr() error {
16560	return nil
16561}
16562
16563func (s *UnauthorizedException) Error() string {
16564	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16565}
16566
16567// Status code returns the HTTP status code for the request's response error.
16568func (s *UnauthorizedException) StatusCode() int {
16569	return s.RespMetadata.StatusCode
16570}
16571
16572// RequestID returns the service's response RequestID for request.
16573func (s *UnauthorizedException) RequestID() string {
16574	return s.RespMetadata.RequestID
16575}
16576
16577type UntagResourceInput struct {
16578	_ struct{} `type:"structure"`
16579
16580	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
16581	// of the resource to untag.
16582	//
16583	// ResourceArn is a required field
16584	ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"`
16585
16586	// A list of keys for tags to remove from the resource.
16587	//
16588	// TagKeys is a required field
16589	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
16590}
16591
16592// String returns the string representation
16593func (s UntagResourceInput) String() string {
16594	return awsutil.Prettify(s)
16595}
16596
16597// GoString returns the string representation
16598func (s UntagResourceInput) GoString() string {
16599	return s.String()
16600}
16601
16602// Validate inspects the fields of the type to determine if they are valid.
16603func (s *UntagResourceInput) Validate() error {
16604	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
16605	if s.ResourceArn == nil {
16606		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
16607	}
16608	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
16609		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
16610	}
16611	if s.TagKeys == nil {
16612		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
16613	}
16614
16615	if invalidParams.Len() > 0 {
16616		return invalidParams
16617	}
16618	return nil
16619}
16620
16621// SetResourceArn sets the ResourceArn field's value.
16622func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
16623	s.ResourceArn = &v
16624	return s
16625}
16626
16627// SetTagKeys sets the TagKeys field's value.
16628func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
16629	s.TagKeys = v
16630	return s
16631}
16632
16633type UntagResourceOutput struct {
16634	_ struct{} `type:"structure"`
16635}
16636
16637// String returns the string representation
16638func (s UntagResourceOutput) String() string {
16639	return awsutil.Prettify(s)
16640}
16641
16642// GoString returns the string representation
16643func (s UntagResourceOutput) GoString() string {
16644	return s.String()
16645}
16646
16647type UpdateAccessPolicyInput struct {
16648	_ struct{} `type:"structure"`
16649
16650	// The ID of the access policy.
16651	//
16652	// AccessPolicyId is a required field
16653	AccessPolicyId *string `location:"uri" locationName:"accessPolicyId" min:"36" type:"string" required:"true"`
16654
16655	// The identity for this access policy. Choose an AWS SSO user, an AWS SSO group,
16656	// or an IAM user.
16657	//
16658	// AccessPolicyIdentity is a required field
16659	AccessPolicyIdentity *Identity `locationName:"accessPolicyIdentity" type:"structure" required:"true"`
16660
16661	// The permission level for this access policy. Note that a project ADMINISTRATOR
16662	// is also known as a project owner.
16663	//
16664	// AccessPolicyPermission is a required field
16665	AccessPolicyPermission *string `locationName:"accessPolicyPermission" type:"string" required:"true" enum:"Permission"`
16666
16667	// The AWS IoT SiteWise Monitor resource for this access policy. Choose either
16668	// a portal or a project.
16669	//
16670	// AccessPolicyResource is a required field
16671	AccessPolicyResource *Resource `locationName:"accessPolicyResource" type:"structure" required:"true"`
16672
16673	// A unique case-sensitive identifier that you can provide to ensure the idempotency
16674	// of the request. Don't reuse this client token if a new idempotent request
16675	// is required.
16676	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
16677}
16678
16679// String returns the string representation
16680func (s UpdateAccessPolicyInput) String() string {
16681	return awsutil.Prettify(s)
16682}
16683
16684// GoString returns the string representation
16685func (s UpdateAccessPolicyInput) GoString() string {
16686	return s.String()
16687}
16688
16689// Validate inspects the fields of the type to determine if they are valid.
16690func (s *UpdateAccessPolicyInput) Validate() error {
16691	invalidParams := request.ErrInvalidParams{Context: "UpdateAccessPolicyInput"}
16692	if s.AccessPolicyId == nil {
16693		invalidParams.Add(request.NewErrParamRequired("AccessPolicyId"))
16694	}
16695	if s.AccessPolicyId != nil && len(*s.AccessPolicyId) < 36 {
16696		invalidParams.Add(request.NewErrParamMinLen("AccessPolicyId", 36))
16697	}
16698	if s.AccessPolicyIdentity == nil {
16699		invalidParams.Add(request.NewErrParamRequired("AccessPolicyIdentity"))
16700	}
16701	if s.AccessPolicyPermission == nil {
16702		invalidParams.Add(request.NewErrParamRequired("AccessPolicyPermission"))
16703	}
16704	if s.AccessPolicyResource == nil {
16705		invalidParams.Add(request.NewErrParamRequired("AccessPolicyResource"))
16706	}
16707	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
16708		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
16709	}
16710	if s.AccessPolicyIdentity != nil {
16711		if err := s.AccessPolicyIdentity.Validate(); err != nil {
16712			invalidParams.AddNested("AccessPolicyIdentity", err.(request.ErrInvalidParams))
16713		}
16714	}
16715	if s.AccessPolicyResource != nil {
16716		if err := s.AccessPolicyResource.Validate(); err != nil {
16717			invalidParams.AddNested("AccessPolicyResource", err.(request.ErrInvalidParams))
16718		}
16719	}
16720
16721	if invalidParams.Len() > 0 {
16722		return invalidParams
16723	}
16724	return nil
16725}
16726
16727// SetAccessPolicyId sets the AccessPolicyId field's value.
16728func (s *UpdateAccessPolicyInput) SetAccessPolicyId(v string) *UpdateAccessPolicyInput {
16729	s.AccessPolicyId = &v
16730	return s
16731}
16732
16733// SetAccessPolicyIdentity sets the AccessPolicyIdentity field's value.
16734func (s *UpdateAccessPolicyInput) SetAccessPolicyIdentity(v *Identity) *UpdateAccessPolicyInput {
16735	s.AccessPolicyIdentity = v
16736	return s
16737}
16738
16739// SetAccessPolicyPermission sets the AccessPolicyPermission field's value.
16740func (s *UpdateAccessPolicyInput) SetAccessPolicyPermission(v string) *UpdateAccessPolicyInput {
16741	s.AccessPolicyPermission = &v
16742	return s
16743}
16744
16745// SetAccessPolicyResource sets the AccessPolicyResource field's value.
16746func (s *UpdateAccessPolicyInput) SetAccessPolicyResource(v *Resource) *UpdateAccessPolicyInput {
16747	s.AccessPolicyResource = v
16748	return s
16749}
16750
16751// SetClientToken sets the ClientToken field's value.
16752func (s *UpdateAccessPolicyInput) SetClientToken(v string) *UpdateAccessPolicyInput {
16753	s.ClientToken = &v
16754	return s
16755}
16756
16757type UpdateAccessPolicyOutput struct {
16758	_ struct{} `type:"structure"`
16759}
16760
16761// String returns the string representation
16762func (s UpdateAccessPolicyOutput) String() string {
16763	return awsutil.Prettify(s)
16764}
16765
16766// GoString returns the string representation
16767func (s UpdateAccessPolicyOutput) GoString() string {
16768	return s.String()
16769}
16770
16771type UpdateAssetInput struct {
16772	_ struct{} `type:"structure"`
16773
16774	// The ID of the asset to update.
16775	//
16776	// AssetId is a required field
16777	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
16778
16779	// A unique, friendly name for the asset.
16780	//
16781	// AssetName is a required field
16782	AssetName *string `locationName:"assetName" min:"1" type:"string" required:"true"`
16783
16784	// A unique case-sensitive identifier that you can provide to ensure the idempotency
16785	// of the request. Don't reuse this client token if a new idempotent request
16786	// is required.
16787	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
16788}
16789
16790// String returns the string representation
16791func (s UpdateAssetInput) String() string {
16792	return awsutil.Prettify(s)
16793}
16794
16795// GoString returns the string representation
16796func (s UpdateAssetInput) GoString() string {
16797	return s.String()
16798}
16799
16800// Validate inspects the fields of the type to determine if they are valid.
16801func (s *UpdateAssetInput) Validate() error {
16802	invalidParams := request.ErrInvalidParams{Context: "UpdateAssetInput"}
16803	if s.AssetId == nil {
16804		invalidParams.Add(request.NewErrParamRequired("AssetId"))
16805	}
16806	if s.AssetId != nil && len(*s.AssetId) < 36 {
16807		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
16808	}
16809	if s.AssetName == nil {
16810		invalidParams.Add(request.NewErrParamRequired("AssetName"))
16811	}
16812	if s.AssetName != nil && len(*s.AssetName) < 1 {
16813		invalidParams.Add(request.NewErrParamMinLen("AssetName", 1))
16814	}
16815	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
16816		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
16817	}
16818
16819	if invalidParams.Len() > 0 {
16820		return invalidParams
16821	}
16822	return nil
16823}
16824
16825// SetAssetId sets the AssetId field's value.
16826func (s *UpdateAssetInput) SetAssetId(v string) *UpdateAssetInput {
16827	s.AssetId = &v
16828	return s
16829}
16830
16831// SetAssetName sets the AssetName field's value.
16832func (s *UpdateAssetInput) SetAssetName(v string) *UpdateAssetInput {
16833	s.AssetName = &v
16834	return s
16835}
16836
16837// SetClientToken sets the ClientToken field's value.
16838func (s *UpdateAssetInput) SetClientToken(v string) *UpdateAssetInput {
16839	s.ClientToken = &v
16840	return s
16841}
16842
16843type UpdateAssetModelInput struct {
16844	_ struct{} `type:"structure"`
16845
16846	// The composite asset models that are part of this asset model. Composite asset
16847	// models are asset models that contain specific properties. Each composite
16848	// model has a type that defines the properties that the composite model supports.
16849	// Use composite asset models to define alarms on this asset model.
16850	AssetModelCompositeModels []*AssetModelCompositeModel `locationName:"assetModelCompositeModels" type:"list"`
16851
16852	// A description for the asset model.
16853	AssetModelDescription *string `locationName:"assetModelDescription" min:"1" type:"string"`
16854
16855	// The updated hierarchy definitions of the asset model. Each hierarchy specifies
16856	// an asset model whose assets can be children of any other assets created from
16857	// this asset model. For more information, see Asset hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html)
16858	// in the AWS IoT SiteWise User Guide.
16859	//
16860	// You can specify up to 10 hierarchies per asset model. For more information,
16861	// see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
16862	// in the AWS IoT SiteWise User Guide.
16863	AssetModelHierarchies []*AssetModelHierarchy `locationName:"assetModelHierarchies" type:"list"`
16864
16865	// The ID of the asset model to update.
16866	//
16867	// AssetModelId is a required field
16868	AssetModelId *string `location:"uri" locationName:"assetModelId" min:"36" type:"string" required:"true"`
16869
16870	// A unique, friendly name for the asset model.
16871	//
16872	// AssetModelName is a required field
16873	AssetModelName *string `locationName:"assetModelName" min:"1" type:"string" required:"true"`
16874
16875	// The updated property definitions of the asset model. For more information,
16876	// see Asset properties (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-properties.html)
16877	// in the AWS IoT SiteWise User Guide.
16878	//
16879	// You can specify up to 200 properties per asset model. For more information,
16880	// see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html)
16881	// in the AWS IoT SiteWise User Guide.
16882	AssetModelProperties []*AssetModelProperty `locationName:"assetModelProperties" type:"list"`
16883
16884	// A unique case-sensitive identifier that you can provide to ensure the idempotency
16885	// of the request. Don't reuse this client token if a new idempotent request
16886	// is required.
16887	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
16888}
16889
16890// String returns the string representation
16891func (s UpdateAssetModelInput) String() string {
16892	return awsutil.Prettify(s)
16893}
16894
16895// GoString returns the string representation
16896func (s UpdateAssetModelInput) GoString() string {
16897	return s.String()
16898}
16899
16900// Validate inspects the fields of the type to determine if they are valid.
16901func (s *UpdateAssetModelInput) Validate() error {
16902	invalidParams := request.ErrInvalidParams{Context: "UpdateAssetModelInput"}
16903	if s.AssetModelDescription != nil && len(*s.AssetModelDescription) < 1 {
16904		invalidParams.Add(request.NewErrParamMinLen("AssetModelDescription", 1))
16905	}
16906	if s.AssetModelId == nil {
16907		invalidParams.Add(request.NewErrParamRequired("AssetModelId"))
16908	}
16909	if s.AssetModelId != nil && len(*s.AssetModelId) < 36 {
16910		invalidParams.Add(request.NewErrParamMinLen("AssetModelId", 36))
16911	}
16912	if s.AssetModelName == nil {
16913		invalidParams.Add(request.NewErrParamRequired("AssetModelName"))
16914	}
16915	if s.AssetModelName != nil && len(*s.AssetModelName) < 1 {
16916		invalidParams.Add(request.NewErrParamMinLen("AssetModelName", 1))
16917	}
16918	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
16919		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
16920	}
16921	if s.AssetModelCompositeModels != nil {
16922		for i, v := range s.AssetModelCompositeModels {
16923			if v == nil {
16924				continue
16925			}
16926			if err := v.Validate(); err != nil {
16927				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelCompositeModels", i), err.(request.ErrInvalidParams))
16928			}
16929		}
16930	}
16931	if s.AssetModelHierarchies != nil {
16932		for i, v := range s.AssetModelHierarchies {
16933			if v == nil {
16934				continue
16935			}
16936			if err := v.Validate(); err != nil {
16937				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelHierarchies", i), err.(request.ErrInvalidParams))
16938			}
16939		}
16940	}
16941	if s.AssetModelProperties != nil {
16942		for i, v := range s.AssetModelProperties {
16943			if v == nil {
16944				continue
16945			}
16946			if err := v.Validate(); err != nil {
16947				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssetModelProperties", i), err.(request.ErrInvalidParams))
16948			}
16949		}
16950	}
16951
16952	if invalidParams.Len() > 0 {
16953		return invalidParams
16954	}
16955	return nil
16956}
16957
16958// SetAssetModelCompositeModels sets the AssetModelCompositeModels field's value.
16959func (s *UpdateAssetModelInput) SetAssetModelCompositeModels(v []*AssetModelCompositeModel) *UpdateAssetModelInput {
16960	s.AssetModelCompositeModels = v
16961	return s
16962}
16963
16964// SetAssetModelDescription sets the AssetModelDescription field's value.
16965func (s *UpdateAssetModelInput) SetAssetModelDescription(v string) *UpdateAssetModelInput {
16966	s.AssetModelDescription = &v
16967	return s
16968}
16969
16970// SetAssetModelHierarchies sets the AssetModelHierarchies field's value.
16971func (s *UpdateAssetModelInput) SetAssetModelHierarchies(v []*AssetModelHierarchy) *UpdateAssetModelInput {
16972	s.AssetModelHierarchies = v
16973	return s
16974}
16975
16976// SetAssetModelId sets the AssetModelId field's value.
16977func (s *UpdateAssetModelInput) SetAssetModelId(v string) *UpdateAssetModelInput {
16978	s.AssetModelId = &v
16979	return s
16980}
16981
16982// SetAssetModelName sets the AssetModelName field's value.
16983func (s *UpdateAssetModelInput) SetAssetModelName(v string) *UpdateAssetModelInput {
16984	s.AssetModelName = &v
16985	return s
16986}
16987
16988// SetAssetModelProperties sets the AssetModelProperties field's value.
16989func (s *UpdateAssetModelInput) SetAssetModelProperties(v []*AssetModelProperty) *UpdateAssetModelInput {
16990	s.AssetModelProperties = v
16991	return s
16992}
16993
16994// SetClientToken sets the ClientToken field's value.
16995func (s *UpdateAssetModelInput) SetClientToken(v string) *UpdateAssetModelInput {
16996	s.ClientToken = &v
16997	return s
16998}
16999
17000type UpdateAssetModelOutput struct {
17001	_ struct{} `type:"structure"`
17002
17003	// The status of the asset model, which contains a state (UPDATING after successfully
17004	// calling this operation) and any error message.
17005	//
17006	// AssetModelStatus is a required field
17007	AssetModelStatus *AssetModelStatus `locationName:"assetModelStatus" type:"structure" required:"true"`
17008}
17009
17010// String returns the string representation
17011func (s UpdateAssetModelOutput) String() string {
17012	return awsutil.Prettify(s)
17013}
17014
17015// GoString returns the string representation
17016func (s UpdateAssetModelOutput) GoString() string {
17017	return s.String()
17018}
17019
17020// SetAssetModelStatus sets the AssetModelStatus field's value.
17021func (s *UpdateAssetModelOutput) SetAssetModelStatus(v *AssetModelStatus) *UpdateAssetModelOutput {
17022	s.AssetModelStatus = v
17023	return s
17024}
17025
17026type UpdateAssetOutput struct {
17027	_ struct{} `type:"structure"`
17028
17029	// The status of the asset, which contains a state (UPDATING after successfully
17030	// calling this operation) and any error message.
17031	//
17032	// AssetStatus is a required field
17033	AssetStatus *AssetStatus `locationName:"assetStatus" type:"structure" required:"true"`
17034}
17035
17036// String returns the string representation
17037func (s UpdateAssetOutput) String() string {
17038	return awsutil.Prettify(s)
17039}
17040
17041// GoString returns the string representation
17042func (s UpdateAssetOutput) GoString() string {
17043	return s.String()
17044}
17045
17046// SetAssetStatus sets the AssetStatus field's value.
17047func (s *UpdateAssetOutput) SetAssetStatus(v *AssetStatus) *UpdateAssetOutput {
17048	s.AssetStatus = v
17049	return s
17050}
17051
17052type UpdateAssetPropertyInput struct {
17053	_ struct{} `type:"structure"`
17054
17055	// The ID of the asset to be updated.
17056	//
17057	// AssetId is a required field
17058	AssetId *string `location:"uri" locationName:"assetId" min:"36" type:"string" required:"true"`
17059
17060	// A unique case-sensitive identifier that you can provide to ensure the idempotency
17061	// of the request. Don't reuse this client token if a new idempotent request
17062	// is required.
17063	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
17064
17065	// The property alias that identifies the property, such as an OPC-UA server
17066	// data stream path (for example, /company/windfarm/3/turbine/7/temperature).
17067	// For more information, see Mapping industrial data streams to asset properties
17068	// (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html)
17069	// in the AWS IoT SiteWise User Guide.
17070	//
17071	// If you omit this parameter, the alias is removed from the property.
17072	PropertyAlias *string `locationName:"propertyAlias" min:"1" type:"string"`
17073
17074	// The ID of the asset property to be updated.
17075	//
17076	// PropertyId is a required field
17077	PropertyId *string `location:"uri" locationName:"propertyId" min:"36" type:"string" required:"true"`
17078
17079	// The MQTT notification state (enabled or disabled) for this asset property.
17080	// When the notification state is enabled, AWS IoT SiteWise publishes property
17081	// value updates to a unique MQTT topic. For more information, see Interacting
17082	// with other services (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/interact-with-other-services.html)
17083	// in the AWS IoT SiteWise User Guide.
17084	//
17085	// If you omit this parameter, the notification state is set to DISABLED.
17086	PropertyNotificationState *string `locationName:"propertyNotificationState" type:"string" enum:"PropertyNotificationState"`
17087}
17088
17089// String returns the string representation
17090func (s UpdateAssetPropertyInput) String() string {
17091	return awsutil.Prettify(s)
17092}
17093
17094// GoString returns the string representation
17095func (s UpdateAssetPropertyInput) GoString() string {
17096	return s.String()
17097}
17098
17099// Validate inspects the fields of the type to determine if they are valid.
17100func (s *UpdateAssetPropertyInput) Validate() error {
17101	invalidParams := request.ErrInvalidParams{Context: "UpdateAssetPropertyInput"}
17102	if s.AssetId == nil {
17103		invalidParams.Add(request.NewErrParamRequired("AssetId"))
17104	}
17105	if s.AssetId != nil && len(*s.AssetId) < 36 {
17106		invalidParams.Add(request.NewErrParamMinLen("AssetId", 36))
17107	}
17108	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
17109		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
17110	}
17111	if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 {
17112		invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1))
17113	}
17114	if s.PropertyId == nil {
17115		invalidParams.Add(request.NewErrParamRequired("PropertyId"))
17116	}
17117	if s.PropertyId != nil && len(*s.PropertyId) < 36 {
17118		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36))
17119	}
17120
17121	if invalidParams.Len() > 0 {
17122		return invalidParams
17123	}
17124	return nil
17125}
17126
17127// SetAssetId sets the AssetId field's value.
17128func (s *UpdateAssetPropertyInput) SetAssetId(v string) *UpdateAssetPropertyInput {
17129	s.AssetId = &v
17130	return s
17131}
17132
17133// SetClientToken sets the ClientToken field's value.
17134func (s *UpdateAssetPropertyInput) SetClientToken(v string) *UpdateAssetPropertyInput {
17135	s.ClientToken = &v
17136	return s
17137}
17138
17139// SetPropertyAlias sets the PropertyAlias field's value.
17140func (s *UpdateAssetPropertyInput) SetPropertyAlias(v string) *UpdateAssetPropertyInput {
17141	s.PropertyAlias = &v
17142	return s
17143}
17144
17145// SetPropertyId sets the PropertyId field's value.
17146func (s *UpdateAssetPropertyInput) SetPropertyId(v string) *UpdateAssetPropertyInput {
17147	s.PropertyId = &v
17148	return s
17149}
17150
17151// SetPropertyNotificationState sets the PropertyNotificationState field's value.
17152func (s *UpdateAssetPropertyInput) SetPropertyNotificationState(v string) *UpdateAssetPropertyInput {
17153	s.PropertyNotificationState = &v
17154	return s
17155}
17156
17157type UpdateAssetPropertyOutput struct {
17158	_ struct{} `type:"structure"`
17159}
17160
17161// String returns the string representation
17162func (s UpdateAssetPropertyOutput) String() string {
17163	return awsutil.Prettify(s)
17164}
17165
17166// GoString returns the string representation
17167func (s UpdateAssetPropertyOutput) GoString() string {
17168	return s.String()
17169}
17170
17171type UpdateDashboardInput struct {
17172	_ struct{} `type:"structure"`
17173
17174	// A unique case-sensitive identifier that you can provide to ensure the idempotency
17175	// of the request. Don't reuse this client token if a new idempotent request
17176	// is required.
17177	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
17178
17179	// The new dashboard definition, as specified in a JSON literal. For detailed
17180	// information, see Creating dashboards (CLI) (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/create-dashboards-using-aws-cli.html)
17181	// in the AWS IoT SiteWise User Guide.
17182	//
17183	// DashboardDefinition is a required field
17184	DashboardDefinition *string `locationName:"dashboardDefinition" type:"string" required:"true"`
17185
17186	// A new description for the dashboard.
17187	DashboardDescription *string `locationName:"dashboardDescription" min:"1" type:"string"`
17188
17189	// The ID of the dashboard to update.
17190	//
17191	// DashboardId is a required field
17192	DashboardId *string `location:"uri" locationName:"dashboardId" min:"36" type:"string" required:"true"`
17193
17194	// A new friendly name for the dashboard.
17195	//
17196	// DashboardName is a required field
17197	DashboardName *string `locationName:"dashboardName" min:"1" type:"string" required:"true"`
17198}
17199
17200// String returns the string representation
17201func (s UpdateDashboardInput) String() string {
17202	return awsutil.Prettify(s)
17203}
17204
17205// GoString returns the string representation
17206func (s UpdateDashboardInput) GoString() string {
17207	return s.String()
17208}
17209
17210// Validate inspects the fields of the type to determine if they are valid.
17211func (s *UpdateDashboardInput) Validate() error {
17212	invalidParams := request.ErrInvalidParams{Context: "UpdateDashboardInput"}
17213	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
17214		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
17215	}
17216	if s.DashboardDefinition == nil {
17217		invalidParams.Add(request.NewErrParamRequired("DashboardDefinition"))
17218	}
17219	if s.DashboardDescription != nil && len(*s.DashboardDescription) < 1 {
17220		invalidParams.Add(request.NewErrParamMinLen("DashboardDescription", 1))
17221	}
17222	if s.DashboardId == nil {
17223		invalidParams.Add(request.NewErrParamRequired("DashboardId"))
17224	}
17225	if s.DashboardId != nil && len(*s.DashboardId) < 36 {
17226		invalidParams.Add(request.NewErrParamMinLen("DashboardId", 36))
17227	}
17228	if s.DashboardName == nil {
17229		invalidParams.Add(request.NewErrParamRequired("DashboardName"))
17230	}
17231	if s.DashboardName != nil && len(*s.DashboardName) < 1 {
17232		invalidParams.Add(request.NewErrParamMinLen("DashboardName", 1))
17233	}
17234
17235	if invalidParams.Len() > 0 {
17236		return invalidParams
17237	}
17238	return nil
17239}
17240
17241// SetClientToken sets the ClientToken field's value.
17242func (s *UpdateDashboardInput) SetClientToken(v string) *UpdateDashboardInput {
17243	s.ClientToken = &v
17244	return s
17245}
17246
17247// SetDashboardDefinition sets the DashboardDefinition field's value.
17248func (s *UpdateDashboardInput) SetDashboardDefinition(v string) *UpdateDashboardInput {
17249	s.DashboardDefinition = &v
17250	return s
17251}
17252
17253// SetDashboardDescription sets the DashboardDescription field's value.
17254func (s *UpdateDashboardInput) SetDashboardDescription(v string) *UpdateDashboardInput {
17255	s.DashboardDescription = &v
17256	return s
17257}
17258
17259// SetDashboardId sets the DashboardId field's value.
17260func (s *UpdateDashboardInput) SetDashboardId(v string) *UpdateDashboardInput {
17261	s.DashboardId = &v
17262	return s
17263}
17264
17265// SetDashboardName sets the DashboardName field's value.
17266func (s *UpdateDashboardInput) SetDashboardName(v string) *UpdateDashboardInput {
17267	s.DashboardName = &v
17268	return s
17269}
17270
17271type UpdateDashboardOutput struct {
17272	_ struct{} `type:"structure"`
17273}
17274
17275// String returns the string representation
17276func (s UpdateDashboardOutput) String() string {
17277	return awsutil.Prettify(s)
17278}
17279
17280// GoString returns the string representation
17281func (s UpdateDashboardOutput) GoString() string {
17282	return s.String()
17283}
17284
17285type UpdateGatewayCapabilityConfigurationInput struct {
17286	_ struct{} `type:"structure"`
17287
17288	// The JSON document that defines the configuration for the gateway capability.
17289	// For more information, see Configuring data sources (CLI) (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/configure-sources.html#configure-source-cli)
17290	// in the AWS IoT SiteWise User Guide.
17291	//
17292	// CapabilityConfiguration is a required field
17293	CapabilityConfiguration *string `locationName:"capabilityConfiguration" min:"1" type:"string" required:"true"`
17294
17295	// The namespace of the gateway capability configuration to be updated. For
17296	// example, if you configure OPC-UA sources from the AWS IoT SiteWise console,
17297	// your OPC-UA capability configuration has the namespace iotsitewise:opcuacollector:version,
17298	// where version is a number such as 1.
17299	//
17300	// CapabilityNamespace is a required field
17301	CapabilityNamespace *string `locationName:"capabilityNamespace" min:"1" type:"string" required:"true"`
17302
17303	// The ID of the gateway to be updated.
17304	//
17305	// GatewayId is a required field
17306	GatewayId *string `location:"uri" locationName:"gatewayId" min:"36" type:"string" required:"true"`
17307}
17308
17309// String returns the string representation
17310func (s UpdateGatewayCapabilityConfigurationInput) String() string {
17311	return awsutil.Prettify(s)
17312}
17313
17314// GoString returns the string representation
17315func (s UpdateGatewayCapabilityConfigurationInput) GoString() string {
17316	return s.String()
17317}
17318
17319// Validate inspects the fields of the type to determine if they are valid.
17320func (s *UpdateGatewayCapabilityConfigurationInput) Validate() error {
17321	invalidParams := request.ErrInvalidParams{Context: "UpdateGatewayCapabilityConfigurationInput"}
17322	if s.CapabilityConfiguration == nil {
17323		invalidParams.Add(request.NewErrParamRequired("CapabilityConfiguration"))
17324	}
17325	if s.CapabilityConfiguration != nil && len(*s.CapabilityConfiguration) < 1 {
17326		invalidParams.Add(request.NewErrParamMinLen("CapabilityConfiguration", 1))
17327	}
17328	if s.CapabilityNamespace == nil {
17329		invalidParams.Add(request.NewErrParamRequired("CapabilityNamespace"))
17330	}
17331	if s.CapabilityNamespace != nil && len(*s.CapabilityNamespace) < 1 {
17332		invalidParams.Add(request.NewErrParamMinLen("CapabilityNamespace", 1))
17333	}
17334	if s.GatewayId == nil {
17335		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
17336	}
17337	if s.GatewayId != nil && len(*s.GatewayId) < 36 {
17338		invalidParams.Add(request.NewErrParamMinLen("GatewayId", 36))
17339	}
17340
17341	if invalidParams.Len() > 0 {
17342		return invalidParams
17343	}
17344	return nil
17345}
17346
17347// SetCapabilityConfiguration sets the CapabilityConfiguration field's value.
17348func (s *UpdateGatewayCapabilityConfigurationInput) SetCapabilityConfiguration(v string) *UpdateGatewayCapabilityConfigurationInput {
17349	s.CapabilityConfiguration = &v
17350	return s
17351}
17352
17353// SetCapabilityNamespace sets the CapabilityNamespace field's value.
17354func (s *UpdateGatewayCapabilityConfigurationInput) SetCapabilityNamespace(v string) *UpdateGatewayCapabilityConfigurationInput {
17355	s.CapabilityNamespace = &v
17356	return s
17357}
17358
17359// SetGatewayId sets the GatewayId field's value.
17360func (s *UpdateGatewayCapabilityConfigurationInput) SetGatewayId(v string) *UpdateGatewayCapabilityConfigurationInput {
17361	s.GatewayId = &v
17362	return s
17363}
17364
17365type UpdateGatewayCapabilityConfigurationOutput struct {
17366	_ struct{} `type:"structure"`
17367
17368	// The namespace of the gateway capability.
17369	//
17370	// CapabilityNamespace is a required field
17371	CapabilityNamespace *string `locationName:"capabilityNamespace" min:"1" type:"string" required:"true"`
17372
17373	// The synchronization status of the capability configuration. The sync status
17374	// can be one of the following:
17375	//
17376	//    * IN_SYNC – The gateway is running the capability configuration.
17377	//
17378	//    * OUT_OF_SYNC – The gateway hasn't received the capability configuration.
17379	//
17380	//    * SYNC_FAILED – The gateway rejected the capability configuration.
17381	//
17382	// After you update a capability configuration, its sync status is OUT_OF_SYNC
17383	// until the gateway receives and applies or rejects the updated configuration.
17384	//
17385	// CapabilitySyncStatus is a required field
17386	CapabilitySyncStatus *string `locationName:"capabilitySyncStatus" type:"string" required:"true" enum:"CapabilitySyncStatus"`
17387}
17388
17389// String returns the string representation
17390func (s UpdateGatewayCapabilityConfigurationOutput) String() string {
17391	return awsutil.Prettify(s)
17392}
17393
17394// GoString returns the string representation
17395func (s UpdateGatewayCapabilityConfigurationOutput) GoString() string {
17396	return s.String()
17397}
17398
17399// SetCapabilityNamespace sets the CapabilityNamespace field's value.
17400func (s *UpdateGatewayCapabilityConfigurationOutput) SetCapabilityNamespace(v string) *UpdateGatewayCapabilityConfigurationOutput {
17401	s.CapabilityNamespace = &v
17402	return s
17403}
17404
17405// SetCapabilitySyncStatus sets the CapabilitySyncStatus field's value.
17406func (s *UpdateGatewayCapabilityConfigurationOutput) SetCapabilitySyncStatus(v string) *UpdateGatewayCapabilityConfigurationOutput {
17407	s.CapabilitySyncStatus = &v
17408	return s
17409}
17410
17411type UpdateGatewayInput struct {
17412	_ struct{} `type:"structure"`
17413
17414	// The ID of the gateway to update.
17415	//
17416	// GatewayId is a required field
17417	GatewayId *string `location:"uri" locationName:"gatewayId" min:"36" type:"string" required:"true"`
17418
17419	// A unique, friendly name for the gateway.
17420	//
17421	// GatewayName is a required field
17422	GatewayName *string `locationName:"gatewayName" min:"1" type:"string" required:"true"`
17423}
17424
17425// String returns the string representation
17426func (s UpdateGatewayInput) String() string {
17427	return awsutil.Prettify(s)
17428}
17429
17430// GoString returns the string representation
17431func (s UpdateGatewayInput) GoString() string {
17432	return s.String()
17433}
17434
17435// Validate inspects the fields of the type to determine if they are valid.
17436func (s *UpdateGatewayInput) Validate() error {
17437	invalidParams := request.ErrInvalidParams{Context: "UpdateGatewayInput"}
17438	if s.GatewayId == nil {
17439		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
17440	}
17441	if s.GatewayId != nil && len(*s.GatewayId) < 36 {
17442		invalidParams.Add(request.NewErrParamMinLen("GatewayId", 36))
17443	}
17444	if s.GatewayName == nil {
17445		invalidParams.Add(request.NewErrParamRequired("GatewayName"))
17446	}
17447	if s.GatewayName != nil && len(*s.GatewayName) < 1 {
17448		invalidParams.Add(request.NewErrParamMinLen("GatewayName", 1))
17449	}
17450
17451	if invalidParams.Len() > 0 {
17452		return invalidParams
17453	}
17454	return nil
17455}
17456
17457// SetGatewayId sets the GatewayId field's value.
17458func (s *UpdateGatewayInput) SetGatewayId(v string) *UpdateGatewayInput {
17459	s.GatewayId = &v
17460	return s
17461}
17462
17463// SetGatewayName sets the GatewayName field's value.
17464func (s *UpdateGatewayInput) SetGatewayName(v string) *UpdateGatewayInput {
17465	s.GatewayName = &v
17466	return s
17467}
17468
17469type UpdateGatewayOutput struct {
17470	_ struct{} `type:"structure"`
17471}
17472
17473// String returns the string representation
17474func (s UpdateGatewayOutput) String() string {
17475	return awsutil.Prettify(s)
17476}
17477
17478// GoString returns the string representation
17479func (s UpdateGatewayOutput) GoString() string {
17480	return s.String()
17481}
17482
17483type UpdatePortalInput struct {
17484	_ struct{} `type:"structure"`
17485
17486	// A unique case-sensitive identifier that you can provide to ensure the idempotency
17487	// of the request. Don't reuse this client token if a new idempotent request
17488	// is required.
17489	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
17490
17491	// The AWS administrator's contact email address.
17492	//
17493	// PortalContactEmail is a required field
17494	PortalContactEmail *string `locationName:"portalContactEmail" min:"1" type:"string" required:"true"`
17495
17496	// A new description for the portal.
17497	PortalDescription *string `locationName:"portalDescription" min:"1" type:"string"`
17498
17499	// The ID of the portal to update.
17500	//
17501	// PortalId is a required field
17502	PortalId *string `location:"uri" locationName:"portalId" min:"36" type:"string" required:"true"`
17503
17504	// Contains an image that is one of the following:
17505	//
17506	//    * An image file. Choose this option to upload a new image.
17507	//
17508	//    * The ID of an existing image. Choose this option to keep an existing
17509	//    image.
17510	PortalLogoImage *Image `locationName:"portalLogoImage" type:"structure"`
17511
17512	// A new friendly name for the portal.
17513	//
17514	// PortalName is a required field
17515	PortalName *string `locationName:"portalName" min:"1" type:"string" required:"true"`
17516
17517	// The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
17518	// of a service role that allows the portal's users to access your AWS IoT SiteWise
17519	// resources on your behalf. For more information, see Using service roles for
17520	// AWS IoT SiteWise Monitor (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html)
17521	// in the AWS IoT SiteWise User Guide.
17522	//
17523	// RoleArn is a required field
17524	RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"`
17525}
17526
17527// String returns the string representation
17528func (s UpdatePortalInput) String() string {
17529	return awsutil.Prettify(s)
17530}
17531
17532// GoString returns the string representation
17533func (s UpdatePortalInput) GoString() string {
17534	return s.String()
17535}
17536
17537// Validate inspects the fields of the type to determine if they are valid.
17538func (s *UpdatePortalInput) Validate() error {
17539	invalidParams := request.ErrInvalidParams{Context: "UpdatePortalInput"}
17540	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
17541		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
17542	}
17543	if s.PortalContactEmail == nil {
17544		invalidParams.Add(request.NewErrParamRequired("PortalContactEmail"))
17545	}
17546	if s.PortalContactEmail != nil && len(*s.PortalContactEmail) < 1 {
17547		invalidParams.Add(request.NewErrParamMinLen("PortalContactEmail", 1))
17548	}
17549	if s.PortalDescription != nil && len(*s.PortalDescription) < 1 {
17550		invalidParams.Add(request.NewErrParamMinLen("PortalDescription", 1))
17551	}
17552	if s.PortalId == nil {
17553		invalidParams.Add(request.NewErrParamRequired("PortalId"))
17554	}
17555	if s.PortalId != nil && len(*s.PortalId) < 36 {
17556		invalidParams.Add(request.NewErrParamMinLen("PortalId", 36))
17557	}
17558	if s.PortalName == nil {
17559		invalidParams.Add(request.NewErrParamRequired("PortalName"))
17560	}
17561	if s.PortalName != nil && len(*s.PortalName) < 1 {
17562		invalidParams.Add(request.NewErrParamMinLen("PortalName", 1))
17563	}
17564	if s.RoleArn == nil {
17565		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
17566	}
17567	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
17568		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
17569	}
17570	if s.PortalLogoImage != nil {
17571		if err := s.PortalLogoImage.Validate(); err != nil {
17572			invalidParams.AddNested("PortalLogoImage", err.(request.ErrInvalidParams))
17573		}
17574	}
17575
17576	if invalidParams.Len() > 0 {
17577		return invalidParams
17578	}
17579	return nil
17580}
17581
17582// SetClientToken sets the ClientToken field's value.
17583func (s *UpdatePortalInput) SetClientToken(v string) *UpdatePortalInput {
17584	s.ClientToken = &v
17585	return s
17586}
17587
17588// SetPortalContactEmail sets the PortalContactEmail field's value.
17589func (s *UpdatePortalInput) SetPortalContactEmail(v string) *UpdatePortalInput {
17590	s.PortalContactEmail = &v
17591	return s
17592}
17593
17594// SetPortalDescription sets the PortalDescription field's value.
17595func (s *UpdatePortalInput) SetPortalDescription(v string) *UpdatePortalInput {
17596	s.PortalDescription = &v
17597	return s
17598}
17599
17600// SetPortalId sets the PortalId field's value.
17601func (s *UpdatePortalInput) SetPortalId(v string) *UpdatePortalInput {
17602	s.PortalId = &v
17603	return s
17604}
17605
17606// SetPortalLogoImage sets the PortalLogoImage field's value.
17607func (s *UpdatePortalInput) SetPortalLogoImage(v *Image) *UpdatePortalInput {
17608	s.PortalLogoImage = v
17609	return s
17610}
17611
17612// SetPortalName sets the PortalName field's value.
17613func (s *UpdatePortalInput) SetPortalName(v string) *UpdatePortalInput {
17614	s.PortalName = &v
17615	return s
17616}
17617
17618// SetRoleArn sets the RoleArn field's value.
17619func (s *UpdatePortalInput) SetRoleArn(v string) *UpdatePortalInput {
17620	s.RoleArn = &v
17621	return s
17622}
17623
17624type UpdatePortalOutput struct {
17625	_ struct{} `type:"structure"`
17626
17627	// The status of the portal, which contains a state (UPDATING after successfully
17628	// calling this operation) and any error message.
17629	//
17630	// PortalStatus is a required field
17631	PortalStatus *PortalStatus `locationName:"portalStatus" type:"structure" required:"true"`
17632}
17633
17634// String returns the string representation
17635func (s UpdatePortalOutput) String() string {
17636	return awsutil.Prettify(s)
17637}
17638
17639// GoString returns the string representation
17640func (s UpdatePortalOutput) GoString() string {
17641	return s.String()
17642}
17643
17644// SetPortalStatus sets the PortalStatus field's value.
17645func (s *UpdatePortalOutput) SetPortalStatus(v *PortalStatus) *UpdatePortalOutput {
17646	s.PortalStatus = v
17647	return s
17648}
17649
17650type UpdateProjectInput struct {
17651	_ struct{} `type:"structure"`
17652
17653	// A unique case-sensitive identifier that you can provide to ensure the idempotency
17654	// of the request. Don't reuse this client token if a new idempotent request
17655	// is required.
17656	ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"`
17657
17658	// A new description for the project.
17659	ProjectDescription *string `locationName:"projectDescription" min:"1" type:"string"`
17660
17661	// The ID of the project to update.
17662	//
17663	// ProjectId is a required field
17664	ProjectId *string `location:"uri" locationName:"projectId" min:"36" type:"string" required:"true"`
17665
17666	// A new friendly name for the project.
17667	//
17668	// ProjectName is a required field
17669	ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"`
17670}
17671
17672// String returns the string representation
17673func (s UpdateProjectInput) String() string {
17674	return awsutil.Prettify(s)
17675}
17676
17677// GoString returns the string representation
17678func (s UpdateProjectInput) GoString() string {
17679	return s.String()
17680}
17681
17682// Validate inspects the fields of the type to determine if they are valid.
17683func (s *UpdateProjectInput) Validate() error {
17684	invalidParams := request.ErrInvalidParams{Context: "UpdateProjectInput"}
17685	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
17686		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
17687	}
17688	if s.ProjectDescription != nil && len(*s.ProjectDescription) < 1 {
17689		invalidParams.Add(request.NewErrParamMinLen("ProjectDescription", 1))
17690	}
17691	if s.ProjectId == nil {
17692		invalidParams.Add(request.NewErrParamRequired("ProjectId"))
17693	}
17694	if s.ProjectId != nil && len(*s.ProjectId) < 36 {
17695		invalidParams.Add(request.NewErrParamMinLen("ProjectId", 36))
17696	}
17697	if s.ProjectName == nil {
17698		invalidParams.Add(request.NewErrParamRequired("ProjectName"))
17699	}
17700	if s.ProjectName != nil && len(*s.ProjectName) < 1 {
17701		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1))
17702	}
17703
17704	if invalidParams.Len() > 0 {
17705		return invalidParams
17706	}
17707	return nil
17708}
17709
17710// SetClientToken sets the ClientToken field's value.
17711func (s *UpdateProjectInput) SetClientToken(v string) *UpdateProjectInput {
17712	s.ClientToken = &v
17713	return s
17714}
17715
17716// SetProjectDescription sets the ProjectDescription field's value.
17717func (s *UpdateProjectInput) SetProjectDescription(v string) *UpdateProjectInput {
17718	s.ProjectDescription = &v
17719	return s
17720}
17721
17722// SetProjectId sets the ProjectId field's value.
17723func (s *UpdateProjectInput) SetProjectId(v string) *UpdateProjectInput {
17724	s.ProjectId = &v
17725	return s
17726}
17727
17728// SetProjectName sets the ProjectName field's value.
17729func (s *UpdateProjectInput) SetProjectName(v string) *UpdateProjectInput {
17730	s.ProjectName = &v
17731	return s
17732}
17733
17734type UpdateProjectOutput struct {
17735	_ struct{} `type:"structure"`
17736}
17737
17738// String returns the string representation
17739func (s UpdateProjectOutput) String() string {
17740	return awsutil.Prettify(s)
17741}
17742
17743// GoString returns the string representation
17744func (s UpdateProjectOutput) GoString() string {
17745	return s.String()
17746}
17747
17748// Contains information for a user identity in an access policy.
17749type UserIdentity struct {
17750	_ struct{} `type:"structure"`
17751
17752	// The AWS SSO ID of the user.
17753	//
17754	// Id is a required field
17755	Id *string `locationName:"id" min:"1" type:"string" required:"true"`
17756}
17757
17758// String returns the string representation
17759func (s UserIdentity) String() string {
17760	return awsutil.Prettify(s)
17761}
17762
17763// GoString returns the string representation
17764func (s UserIdentity) GoString() string {
17765	return s.String()
17766}
17767
17768// Validate inspects the fields of the type to determine if they are valid.
17769func (s *UserIdentity) Validate() error {
17770	invalidParams := request.ErrInvalidParams{Context: "UserIdentity"}
17771	if s.Id == nil {
17772		invalidParams.Add(request.NewErrParamRequired("Id"))
17773	}
17774	if s.Id != nil && len(*s.Id) < 1 {
17775		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
17776	}
17777
17778	if invalidParams.Len() > 0 {
17779		return invalidParams
17780	}
17781	return nil
17782}
17783
17784// SetId sets the Id field's value.
17785func (s *UserIdentity) SetId(v string) *UserIdentity {
17786	s.Id = &v
17787	return s
17788}
17789
17790// Identifies a property value used in an expression.
17791type VariableValue struct {
17792	_ struct{} `type:"structure"`
17793
17794	// The ID of the hierarchy to query for the property ID. You can use the hierarchy's
17795	// name instead of the hierarchy's ID.
17796	//
17797	// You use a hierarchy ID instead of a model ID because you can have several
17798	// hierarchies using the same model and therefore the same propertyId. For example,
17799	// you might have separately grouped assets that come from the same asset model.
17800	// For more information, see Asset hierarchies (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-hierarchies.html)
17801	// in the AWS IoT SiteWise User Guide.
17802	HierarchyId *string `locationName:"hierarchyId" min:"1" type:"string"`
17803
17804	// The ID of the property to use as the variable. You can use the property name
17805	// if it's from the same asset model.
17806	//
17807	// PropertyId is a required field
17808	PropertyId *string `locationName:"propertyId" min:"1" type:"string" required:"true"`
17809}
17810
17811// String returns the string representation
17812func (s VariableValue) String() string {
17813	return awsutil.Prettify(s)
17814}
17815
17816// GoString returns the string representation
17817func (s VariableValue) GoString() string {
17818	return s.String()
17819}
17820
17821// Validate inspects the fields of the type to determine if they are valid.
17822func (s *VariableValue) Validate() error {
17823	invalidParams := request.ErrInvalidParams{Context: "VariableValue"}
17824	if s.HierarchyId != nil && len(*s.HierarchyId) < 1 {
17825		invalidParams.Add(request.NewErrParamMinLen("HierarchyId", 1))
17826	}
17827	if s.PropertyId == nil {
17828		invalidParams.Add(request.NewErrParamRequired("PropertyId"))
17829	}
17830	if s.PropertyId != nil && len(*s.PropertyId) < 1 {
17831		invalidParams.Add(request.NewErrParamMinLen("PropertyId", 1))
17832	}
17833
17834	if invalidParams.Len() > 0 {
17835		return invalidParams
17836	}
17837	return nil
17838}
17839
17840// SetHierarchyId sets the HierarchyId field's value.
17841func (s *VariableValue) SetHierarchyId(v string) *VariableValue {
17842	s.HierarchyId = &v
17843	return s
17844}
17845
17846// SetPropertyId sets the PropertyId field's value.
17847func (s *VariableValue) SetPropertyId(v string) *VariableValue {
17848	s.PropertyId = &v
17849	return s
17850}
17851
17852// Contains an asset property value (of a single type only).
17853type Variant struct {
17854	_ struct{} `type:"structure"`
17855
17856	// Asset property data of type Boolean (true or false).
17857	BooleanValue *bool `locationName:"booleanValue" type:"boolean"`
17858
17859	// Asset property data of type double (floating point number).
17860	DoubleValue *float64 `locationName:"doubleValue" type:"double"`
17861
17862	// Asset property data of type integer (whole number).
17863	IntegerValue *int64 `locationName:"integerValue" type:"integer"`
17864
17865	// Asset property data of type string (sequence of characters).
17866	StringValue *string `locationName:"stringValue" type:"string"`
17867}
17868
17869// String returns the string representation
17870func (s Variant) String() string {
17871	return awsutil.Prettify(s)
17872}
17873
17874// GoString returns the string representation
17875func (s Variant) GoString() string {
17876	return s.String()
17877}
17878
17879// SetBooleanValue sets the BooleanValue field's value.
17880func (s *Variant) SetBooleanValue(v bool) *Variant {
17881	s.BooleanValue = &v
17882	return s
17883}
17884
17885// SetDoubleValue sets the DoubleValue field's value.
17886func (s *Variant) SetDoubleValue(v float64) *Variant {
17887	s.DoubleValue = &v
17888	return s
17889}
17890
17891// SetIntegerValue sets the IntegerValue field's value.
17892func (s *Variant) SetIntegerValue(v int64) *Variant {
17893	s.IntegerValue = &v
17894	return s
17895}
17896
17897// SetStringValue sets the StringValue field's value.
17898func (s *Variant) SetStringValue(v string) *Variant {
17899	s.StringValue = &v
17900	return s
17901}
17902
17903const (
17904	// AggregateTypeAverage is a AggregateType enum value
17905	AggregateTypeAverage = "AVERAGE"
17906
17907	// AggregateTypeCount is a AggregateType enum value
17908	AggregateTypeCount = "COUNT"
17909
17910	// AggregateTypeMaximum is a AggregateType enum value
17911	AggregateTypeMaximum = "MAXIMUM"
17912
17913	// AggregateTypeMinimum is a AggregateType enum value
17914	AggregateTypeMinimum = "MINIMUM"
17915
17916	// AggregateTypeSum is a AggregateType enum value
17917	AggregateTypeSum = "SUM"
17918
17919	// AggregateTypeStandardDeviation is a AggregateType enum value
17920	AggregateTypeStandardDeviation = "STANDARD_DEVIATION"
17921)
17922
17923// AggregateType_Values returns all elements of the AggregateType enum
17924func AggregateType_Values() []string {
17925	return []string{
17926		AggregateTypeAverage,
17927		AggregateTypeCount,
17928		AggregateTypeMaximum,
17929		AggregateTypeMinimum,
17930		AggregateTypeSum,
17931		AggregateTypeStandardDeviation,
17932	}
17933}
17934
17935const (
17936	// AssetErrorCodeInternalFailure is a AssetErrorCode enum value
17937	AssetErrorCodeInternalFailure = "INTERNAL_FAILURE"
17938)
17939
17940// AssetErrorCode_Values returns all elements of the AssetErrorCode enum
17941func AssetErrorCode_Values() []string {
17942	return []string{
17943		AssetErrorCodeInternalFailure,
17944	}
17945}
17946
17947const (
17948	// AssetModelStateCreating is a AssetModelState enum value
17949	AssetModelStateCreating = "CREATING"
17950
17951	// AssetModelStateActive is a AssetModelState enum value
17952	AssetModelStateActive = "ACTIVE"
17953
17954	// AssetModelStateUpdating is a AssetModelState enum value
17955	AssetModelStateUpdating = "UPDATING"
17956
17957	// AssetModelStatePropagating is a AssetModelState enum value
17958	AssetModelStatePropagating = "PROPAGATING"
17959
17960	// AssetModelStateDeleting is a AssetModelState enum value
17961	AssetModelStateDeleting = "DELETING"
17962
17963	// AssetModelStateFailed is a AssetModelState enum value
17964	AssetModelStateFailed = "FAILED"
17965)
17966
17967// AssetModelState_Values returns all elements of the AssetModelState enum
17968func AssetModelState_Values() []string {
17969	return []string{
17970		AssetModelStateCreating,
17971		AssetModelStateActive,
17972		AssetModelStateUpdating,
17973		AssetModelStatePropagating,
17974		AssetModelStateDeleting,
17975		AssetModelStateFailed,
17976	}
17977}
17978
17979const (
17980	// AssetRelationshipTypeHierarchy is a AssetRelationshipType enum value
17981	AssetRelationshipTypeHierarchy = "HIERARCHY"
17982)
17983
17984// AssetRelationshipType_Values returns all elements of the AssetRelationshipType enum
17985func AssetRelationshipType_Values() []string {
17986	return []string{
17987		AssetRelationshipTypeHierarchy,
17988	}
17989}
17990
17991const (
17992	// AssetStateCreating is a AssetState enum value
17993	AssetStateCreating = "CREATING"
17994
17995	// AssetStateActive is a AssetState enum value
17996	AssetStateActive = "ACTIVE"
17997
17998	// AssetStateUpdating is a AssetState enum value
17999	AssetStateUpdating = "UPDATING"
18000
18001	// AssetStateDeleting is a AssetState enum value
18002	AssetStateDeleting = "DELETING"
18003
18004	// AssetStateFailed is a AssetState enum value
18005	AssetStateFailed = "FAILED"
18006)
18007
18008// AssetState_Values returns all elements of the AssetState enum
18009func AssetState_Values() []string {
18010	return []string{
18011		AssetStateCreating,
18012		AssetStateActive,
18013		AssetStateUpdating,
18014		AssetStateDeleting,
18015		AssetStateFailed,
18016	}
18017}
18018
18019const (
18020	// AuthModeIam is a AuthMode enum value
18021	AuthModeIam = "IAM"
18022
18023	// AuthModeSso is a AuthMode enum value
18024	AuthModeSso = "SSO"
18025)
18026
18027// AuthMode_Values returns all elements of the AuthMode enum
18028func AuthMode_Values() []string {
18029	return []string{
18030		AuthModeIam,
18031		AuthModeSso,
18032	}
18033}
18034
18035const (
18036	// BatchPutAssetPropertyValueErrorCodeResourceNotFoundException is a BatchPutAssetPropertyValueErrorCode enum value
18037	BatchPutAssetPropertyValueErrorCodeResourceNotFoundException = "ResourceNotFoundException"
18038
18039	// BatchPutAssetPropertyValueErrorCodeInvalidRequestException is a BatchPutAssetPropertyValueErrorCode enum value
18040	BatchPutAssetPropertyValueErrorCodeInvalidRequestException = "InvalidRequestException"
18041
18042	// BatchPutAssetPropertyValueErrorCodeInternalFailureException is a BatchPutAssetPropertyValueErrorCode enum value
18043	BatchPutAssetPropertyValueErrorCodeInternalFailureException = "InternalFailureException"
18044
18045	// BatchPutAssetPropertyValueErrorCodeServiceUnavailableException is a BatchPutAssetPropertyValueErrorCode enum value
18046	BatchPutAssetPropertyValueErrorCodeServiceUnavailableException = "ServiceUnavailableException"
18047
18048	// BatchPutAssetPropertyValueErrorCodeThrottlingException is a BatchPutAssetPropertyValueErrorCode enum value
18049	BatchPutAssetPropertyValueErrorCodeThrottlingException = "ThrottlingException"
18050
18051	// BatchPutAssetPropertyValueErrorCodeLimitExceededException is a BatchPutAssetPropertyValueErrorCode enum value
18052	BatchPutAssetPropertyValueErrorCodeLimitExceededException = "LimitExceededException"
18053
18054	// BatchPutAssetPropertyValueErrorCodeConflictingOperationException is a BatchPutAssetPropertyValueErrorCode enum value
18055	BatchPutAssetPropertyValueErrorCodeConflictingOperationException = "ConflictingOperationException"
18056
18057	// BatchPutAssetPropertyValueErrorCodeTimestampOutOfRangeException is a BatchPutAssetPropertyValueErrorCode enum value
18058	BatchPutAssetPropertyValueErrorCodeTimestampOutOfRangeException = "TimestampOutOfRangeException"
18059
18060	// BatchPutAssetPropertyValueErrorCodeAccessDeniedException is a BatchPutAssetPropertyValueErrorCode enum value
18061	BatchPutAssetPropertyValueErrorCodeAccessDeniedException = "AccessDeniedException"
18062)
18063
18064// BatchPutAssetPropertyValueErrorCode_Values returns all elements of the BatchPutAssetPropertyValueErrorCode enum
18065func BatchPutAssetPropertyValueErrorCode_Values() []string {
18066	return []string{
18067		BatchPutAssetPropertyValueErrorCodeResourceNotFoundException,
18068		BatchPutAssetPropertyValueErrorCodeInvalidRequestException,
18069		BatchPutAssetPropertyValueErrorCodeInternalFailureException,
18070		BatchPutAssetPropertyValueErrorCodeServiceUnavailableException,
18071		BatchPutAssetPropertyValueErrorCodeThrottlingException,
18072		BatchPutAssetPropertyValueErrorCodeLimitExceededException,
18073		BatchPutAssetPropertyValueErrorCodeConflictingOperationException,
18074		BatchPutAssetPropertyValueErrorCodeTimestampOutOfRangeException,
18075		BatchPutAssetPropertyValueErrorCodeAccessDeniedException,
18076	}
18077}
18078
18079const (
18080	// CapabilitySyncStatusInSync is a CapabilitySyncStatus enum value
18081	CapabilitySyncStatusInSync = "IN_SYNC"
18082
18083	// CapabilitySyncStatusOutOfSync is a CapabilitySyncStatus enum value
18084	CapabilitySyncStatusOutOfSync = "OUT_OF_SYNC"
18085
18086	// CapabilitySyncStatusSyncFailed is a CapabilitySyncStatus enum value
18087	CapabilitySyncStatusSyncFailed = "SYNC_FAILED"
18088)
18089
18090// CapabilitySyncStatus_Values returns all elements of the CapabilitySyncStatus enum
18091func CapabilitySyncStatus_Values() []string {
18092	return []string{
18093		CapabilitySyncStatusInSync,
18094		CapabilitySyncStatusOutOfSync,
18095		CapabilitySyncStatusSyncFailed,
18096	}
18097}
18098
18099const (
18100	// ConfigurationStateActive is a ConfigurationState enum value
18101	ConfigurationStateActive = "ACTIVE"
18102
18103	// ConfigurationStateUpdateInProgress is a ConfigurationState enum value
18104	ConfigurationStateUpdateInProgress = "UPDATE_IN_PROGRESS"
18105
18106	// ConfigurationStateUpdateFailed is a ConfigurationState enum value
18107	ConfigurationStateUpdateFailed = "UPDATE_FAILED"
18108)
18109
18110// ConfigurationState_Values returns all elements of the ConfigurationState enum
18111func ConfigurationState_Values() []string {
18112	return []string{
18113		ConfigurationStateActive,
18114		ConfigurationStateUpdateInProgress,
18115		ConfigurationStateUpdateFailed,
18116	}
18117}
18118
18119const (
18120	// EncryptionTypeSitewiseDefaultEncryption is a EncryptionType enum value
18121	EncryptionTypeSitewiseDefaultEncryption = "SITEWISE_DEFAULT_ENCRYPTION"
18122
18123	// EncryptionTypeKmsBasedEncryption is a EncryptionType enum value
18124	EncryptionTypeKmsBasedEncryption = "KMS_BASED_ENCRYPTION"
18125)
18126
18127// EncryptionType_Values returns all elements of the EncryptionType enum
18128func EncryptionType_Values() []string {
18129	return []string{
18130		EncryptionTypeSitewiseDefaultEncryption,
18131		EncryptionTypeKmsBasedEncryption,
18132	}
18133}
18134
18135const (
18136	// ErrorCodeValidationError is a ErrorCode enum value
18137	ErrorCodeValidationError = "VALIDATION_ERROR"
18138
18139	// ErrorCodeInternalFailure is a ErrorCode enum value
18140	ErrorCodeInternalFailure = "INTERNAL_FAILURE"
18141)
18142
18143// ErrorCode_Values returns all elements of the ErrorCode enum
18144func ErrorCode_Values() []string {
18145	return []string{
18146		ErrorCodeValidationError,
18147		ErrorCodeInternalFailure,
18148	}
18149}
18150
18151const (
18152	// IdentityTypeUser is a IdentityType enum value
18153	IdentityTypeUser = "USER"
18154
18155	// IdentityTypeGroup is a IdentityType enum value
18156	IdentityTypeGroup = "GROUP"
18157
18158	// IdentityTypeIam is a IdentityType enum value
18159	IdentityTypeIam = "IAM"
18160)
18161
18162// IdentityType_Values returns all elements of the IdentityType enum
18163func IdentityType_Values() []string {
18164	return []string{
18165		IdentityTypeUser,
18166		IdentityTypeGroup,
18167		IdentityTypeIam,
18168	}
18169}
18170
18171const (
18172	// ImageFileTypePng is a ImageFileType enum value
18173	ImageFileTypePng = "PNG"
18174)
18175
18176// ImageFileType_Values returns all elements of the ImageFileType enum
18177func ImageFileType_Values() []string {
18178	return []string{
18179		ImageFileTypePng,
18180	}
18181}
18182
18183const (
18184	// ListAssetsFilterAll is a ListAssetsFilter enum value
18185	ListAssetsFilterAll = "ALL"
18186
18187	// ListAssetsFilterTopLevel is a ListAssetsFilter enum value
18188	ListAssetsFilterTopLevel = "TOP_LEVEL"
18189)
18190
18191// ListAssetsFilter_Values returns all elements of the ListAssetsFilter enum
18192func ListAssetsFilter_Values() []string {
18193	return []string{
18194		ListAssetsFilterAll,
18195		ListAssetsFilterTopLevel,
18196	}
18197}
18198
18199const (
18200	// LoggingLevelError is a LoggingLevel enum value
18201	LoggingLevelError = "ERROR"
18202
18203	// LoggingLevelInfo is a LoggingLevel enum value
18204	LoggingLevelInfo = "INFO"
18205
18206	// LoggingLevelOff is a LoggingLevel enum value
18207	LoggingLevelOff = "OFF"
18208)
18209
18210// LoggingLevel_Values returns all elements of the LoggingLevel enum
18211func LoggingLevel_Values() []string {
18212	return []string{
18213		LoggingLevelError,
18214		LoggingLevelInfo,
18215		LoggingLevelOff,
18216	}
18217}
18218
18219const (
18220	// MonitorErrorCodeInternalFailure is a MonitorErrorCode enum value
18221	MonitorErrorCodeInternalFailure = "INTERNAL_FAILURE"
18222
18223	// MonitorErrorCodeValidationError is a MonitorErrorCode enum value
18224	MonitorErrorCodeValidationError = "VALIDATION_ERROR"
18225
18226	// MonitorErrorCodeLimitExceeded is a MonitorErrorCode enum value
18227	MonitorErrorCodeLimitExceeded = "LIMIT_EXCEEDED"
18228)
18229
18230// MonitorErrorCode_Values returns all elements of the MonitorErrorCode enum
18231func MonitorErrorCode_Values() []string {
18232	return []string{
18233		MonitorErrorCodeInternalFailure,
18234		MonitorErrorCodeValidationError,
18235		MonitorErrorCodeLimitExceeded,
18236	}
18237}
18238
18239const (
18240	// PermissionAdministrator is a Permission enum value
18241	PermissionAdministrator = "ADMINISTRATOR"
18242
18243	// PermissionViewer is a Permission enum value
18244	PermissionViewer = "VIEWER"
18245)
18246
18247// Permission_Values returns all elements of the Permission enum
18248func Permission_Values() []string {
18249	return []string{
18250		PermissionAdministrator,
18251		PermissionViewer,
18252	}
18253}
18254
18255const (
18256	// PortalStateCreating is a PortalState enum value
18257	PortalStateCreating = "CREATING"
18258
18259	// PortalStateUpdating is a PortalState enum value
18260	PortalStateUpdating = "UPDATING"
18261
18262	// PortalStateDeleting is a PortalState enum value
18263	PortalStateDeleting = "DELETING"
18264
18265	// PortalStateActive is a PortalState enum value
18266	PortalStateActive = "ACTIVE"
18267
18268	// PortalStateFailed is a PortalState enum value
18269	PortalStateFailed = "FAILED"
18270)
18271
18272// PortalState_Values returns all elements of the PortalState enum
18273func PortalState_Values() []string {
18274	return []string{
18275		PortalStateCreating,
18276		PortalStateUpdating,
18277		PortalStateDeleting,
18278		PortalStateActive,
18279		PortalStateFailed,
18280	}
18281}
18282
18283const (
18284	// PropertyDataTypeString is a PropertyDataType enum value
18285	PropertyDataTypeString = "STRING"
18286
18287	// PropertyDataTypeInteger is a PropertyDataType enum value
18288	PropertyDataTypeInteger = "INTEGER"
18289
18290	// PropertyDataTypeDouble is a PropertyDataType enum value
18291	PropertyDataTypeDouble = "DOUBLE"
18292
18293	// PropertyDataTypeBoolean is a PropertyDataType enum value
18294	PropertyDataTypeBoolean = "BOOLEAN"
18295
18296	// PropertyDataTypeStruct is a PropertyDataType enum value
18297	PropertyDataTypeStruct = "STRUCT"
18298)
18299
18300// PropertyDataType_Values returns all elements of the PropertyDataType enum
18301func PropertyDataType_Values() []string {
18302	return []string{
18303		PropertyDataTypeString,
18304		PropertyDataTypeInteger,
18305		PropertyDataTypeDouble,
18306		PropertyDataTypeBoolean,
18307		PropertyDataTypeStruct,
18308	}
18309}
18310
18311const (
18312	// PropertyNotificationStateEnabled is a PropertyNotificationState enum value
18313	PropertyNotificationStateEnabled = "ENABLED"
18314
18315	// PropertyNotificationStateDisabled is a PropertyNotificationState enum value
18316	PropertyNotificationStateDisabled = "DISABLED"
18317)
18318
18319// PropertyNotificationState_Values returns all elements of the PropertyNotificationState enum
18320func PropertyNotificationState_Values() []string {
18321	return []string{
18322		PropertyNotificationStateEnabled,
18323		PropertyNotificationStateDisabled,
18324	}
18325}
18326
18327const (
18328	// QualityGood is a Quality enum value
18329	QualityGood = "GOOD"
18330
18331	// QualityBad is a Quality enum value
18332	QualityBad = "BAD"
18333
18334	// QualityUncertain is a Quality enum value
18335	QualityUncertain = "UNCERTAIN"
18336)
18337
18338// Quality_Values returns all elements of the Quality enum
18339func Quality_Values() []string {
18340	return []string{
18341		QualityGood,
18342		QualityBad,
18343		QualityUncertain,
18344	}
18345}
18346
18347const (
18348	// ResourceTypePortal is a ResourceType enum value
18349	ResourceTypePortal = "PORTAL"
18350
18351	// ResourceTypeProject is a ResourceType enum value
18352	ResourceTypeProject = "PROJECT"
18353)
18354
18355// ResourceType_Values returns all elements of the ResourceType enum
18356func ResourceType_Values() []string {
18357	return []string{
18358		ResourceTypePortal,
18359		ResourceTypeProject,
18360	}
18361}
18362
18363const (
18364	// TimeOrderingAscending is a TimeOrdering enum value
18365	TimeOrderingAscending = "ASCENDING"
18366
18367	// TimeOrderingDescending is a TimeOrdering enum value
18368	TimeOrderingDescending = "DESCENDING"
18369)
18370
18371// TimeOrdering_Values returns all elements of the TimeOrdering enum
18372func TimeOrdering_Values() []string {
18373	return []string{
18374		TimeOrderingAscending,
18375		TimeOrderingDescending,
18376	}
18377}
18378
18379const (
18380	// TraversalDirectionParent is a TraversalDirection enum value
18381	TraversalDirectionParent = "PARENT"
18382
18383	// TraversalDirectionChild is a TraversalDirection enum value
18384	TraversalDirectionChild = "CHILD"
18385)
18386
18387// TraversalDirection_Values returns all elements of the TraversalDirection enum
18388func TraversalDirection_Values() []string {
18389	return []string{
18390		TraversalDirectionParent,
18391		TraversalDirectionChild,
18392	}
18393}
18394
18395const (
18396	// TraversalTypePathToRoot is a TraversalType enum value
18397	TraversalTypePathToRoot = "PATH_TO_ROOT"
18398)
18399
18400// TraversalType_Values returns all elements of the TraversalType enum
18401func TraversalType_Values() []string {
18402	return []string{
18403		TraversalTypePathToRoot,
18404	}
18405}
18406