1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package types 4 5import ( 6 smithydocument "github.com/aws/smithy-go/document" 7 "time" 8) 9 10// The criteria that determine when and how a job abort takes place. 11type AbortConfig struct { 12 13 // The list of criteria that determine when and how to abort the job. 14 // 15 // This member is required. 16 CriteriaList []AbortCriteria 17 18 noSmithyDocumentSerde 19} 20 21// The criteria that determine when and how a job abort takes place. 22type AbortCriteria struct { 23 24 // The type of job action to take to initiate the job abort. 25 // 26 // This member is required. 27 Action AbortAction 28 29 // The type of job execution failures that can initiate a job abort. 30 // 31 // This member is required. 32 FailureType JobExecutionFailureType 33 34 // The minimum number of things which must receive job execution notifications 35 // before the job can be aborted. 36 // 37 // This member is required. 38 MinNumberOfExecutedThings *int32 39 40 // The minimum percentage of job execution failures that must occur to initiate the 41 // job abort. Amazon Web Services IoT Core supports up to two digits after the 42 // decimal (for example, 10.9 and 10.99, but not 10.999). 43 // 44 // This member is required. 45 ThresholdPercentage *float64 46 47 noSmithyDocumentSerde 48} 49 50// Describes the actions associated with a rule. 51type Action struct { 52 53 // Change the state of a CloudWatch alarm. 54 CloudwatchAlarm *CloudwatchAlarmAction 55 56 // Send data to CloudWatch Logs. 57 CloudwatchLogs *CloudwatchLogsAction 58 59 // Capture a CloudWatch metric. 60 CloudwatchMetric *CloudwatchMetricAction 61 62 // Write to a DynamoDB table. 63 DynamoDB *DynamoDBAction 64 65 // Write to a DynamoDB table. This is a new version of the DynamoDB action. It 66 // allows you to write each attribute in an MQTT message payload into a separate 67 // DynamoDB column. 68 DynamoDBv2 *DynamoDBv2Action 69 70 // Write data to an Amazon Elasticsearch Service domain. This action is deprecated. 71 // Use the OpenSearch action 72 // (https://docs.aws.amazon.com/iot/latest/apireference/API_OpenSearchAction.html) 73 // instead. 74 Elasticsearch *ElasticsearchAction 75 76 // Write to an Amazon Kinesis Firehose stream. 77 Firehose *FirehoseAction 78 79 // Send data to an HTTPS endpoint. 80 Http *HttpAction 81 82 // Sends message data to an IoT Analytics channel. 83 IotAnalytics *IotAnalyticsAction 84 85 // Sends an input to an IoT Events detector. 86 IotEvents *IotEventsAction 87 88 // Sends data from the MQTT message that triggered the rule to IoT SiteWise asset 89 // properties. 90 IotSiteWise *IotSiteWiseAction 91 92 // Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or 93 // self-managed Apache Kafka cluster. 94 Kafka *KafkaAction 95 96 // Write data to an Amazon Kinesis stream. 97 Kinesis *KinesisAction 98 99 // Invoke a Lambda function. 100 Lambda *LambdaAction 101 102 // Write data to an Amazon OpenSearch Service domain. 103 OpenSearch *OpenSearchAction 104 105 // Publish to another MQTT topic. 106 Republish *RepublishAction 107 108 // Write to an Amazon S3 bucket. 109 S3 *S3Action 110 111 // Send a message to a Salesforce IoT Cloud Input Stream. 112 Salesforce *SalesforceAction 113 114 // Publish to an Amazon SNS topic. 115 Sns *SnsAction 116 117 // Publish to an Amazon SQS queue. 118 Sqs *SqsAction 119 120 // Starts execution of a Step Functions state machine. 121 StepFunctions *StepFunctionsAction 122 123 // The Timestream rule action writes attributes (measures) from an MQTT message 124 // into an Amazon Timestream table. For more information, see the Timestream 125 // (https://docs.aws.amazon.com/iot/latest/developerguide/timestream-rule-action.html) 126 // topic rule action documentation. 127 Timestream *TimestreamAction 128 129 noSmithyDocumentSerde 130} 131 132// Information about an active Device Defender security profile behavior violation. 133type ActiveViolation struct { 134 135 // The behavior that is being violated. 136 Behavior *Behavior 137 138 // The time the most recent violation occurred. 139 LastViolationTime *time.Time 140 141 // The value of the metric (the measurement) that caused the most recent violation. 142 LastViolationValue *MetricValue 143 144 // The security profile with the behavior is in violation. 145 SecurityProfileName *string 146 147 // The name of the thing responsible for the active violation. 148 ThingName *string 149 150 // The details of a violation event. 151 ViolationEventAdditionalInfo *ViolationEventAdditionalInfo 152 153 // The ID of the active violation. 154 ViolationId *string 155 156 // The time the violation started. 157 ViolationStartTime *time.Time 158 159 noSmithyDocumentSerde 160} 161 162// Parameters used when defining a mitigation action that move a set of things to a 163// thing group. 164type AddThingsToThingGroupParams struct { 165 166 // The list of groups to which you want to add the things that triggered the 167 // mitigation action. You can add a thing to a maximum of 10 groups, but you can't 168 // add a thing to more than one group in the same hierarchy. 169 // 170 // This member is required. 171 ThingGroupNames []string 172 173 // Specifies if this mitigation action can move the things that triggered the 174 // mitigation action even if they are part of one or more dynamic thing groups. 175 OverrideDynamicGroups bool 176 177 noSmithyDocumentSerde 178} 179 180// The type of aggregation queries. 181type AggregationType struct { 182 183 // The name of the aggregation type. 184 // 185 // This member is required. 186 Name AggregationTypeName 187 188 // A list of the values of aggregation types. 189 Values []string 190 191 noSmithyDocumentSerde 192} 193 194// A structure containing the alert target ARN and the role ARN. 195type AlertTarget struct { 196 197 // The Amazon Resource Name (ARN) of the notification target to which alerts are 198 // sent. 199 // 200 // This member is required. 201 AlertTargetArn *string 202 203 // The ARN of the role that grants permission to send alerts to the notification 204 // target. 205 // 206 // This member is required. 207 RoleArn *string 208 209 noSmithyDocumentSerde 210} 211 212// Contains information that allowed the authorization. 213type Allowed struct { 214 215 // A list of policies that allowed the authentication. 216 Policies []Policy 217 218 noSmithyDocumentSerde 219} 220 221// An asset property timestamp entry containing the following information. 222type AssetPropertyTimestamp struct { 223 224 // A string that contains the time in seconds since epoch. Accepts substitution 225 // templates. 226 // 227 // This member is required. 228 TimeInSeconds *string 229 230 // Optional. A string that contains the nanosecond time offset. Accepts 231 // substitution templates. 232 OffsetInNanos *string 233 234 noSmithyDocumentSerde 235} 236 237// An asset property value entry containing the following information. 238type AssetPropertyValue struct { 239 240 // The asset property value timestamp. 241 // 242 // This member is required. 243 Timestamp *AssetPropertyTimestamp 244 245 // The value of the asset property. 246 // 247 // This member is required. 248 Value AssetPropertyVariant 249 250 // Optional. A string that describes the quality of the value. Accepts substitution 251 // templates. Must be GOOD, BAD, or UNCERTAIN. 252 Quality *string 253 254 noSmithyDocumentSerde 255} 256 257// Contains an asset property value (of a single type). 258// 259// The following types satisfy this interface: 260// AssetPropertyVariantMemberStringValue 261// AssetPropertyVariantMemberIntegerValue 262// AssetPropertyVariantMemberDoubleValue 263// AssetPropertyVariantMemberBooleanValue 264type AssetPropertyVariant interface { 265 isAssetPropertyVariant() 266} 267 268// Optional. The string value of the value entry. Accepts substitution templates. 269type AssetPropertyVariantMemberStringValue struct { 270 Value string 271 272 noSmithyDocumentSerde 273} 274 275func (*AssetPropertyVariantMemberStringValue) isAssetPropertyVariant() {} 276 277// Optional. A string that contains the integer value of the value entry. Accepts 278// substitution templates. 279type AssetPropertyVariantMemberIntegerValue struct { 280 Value string 281 282 noSmithyDocumentSerde 283} 284 285func (*AssetPropertyVariantMemberIntegerValue) isAssetPropertyVariant() {} 286 287// Optional. A string that contains the double value of the value entry. Accepts 288// substitution templates. 289type AssetPropertyVariantMemberDoubleValue struct { 290 Value string 291 292 noSmithyDocumentSerde 293} 294 295func (*AssetPropertyVariantMemberDoubleValue) isAssetPropertyVariant() {} 296 297// Optional. A string that contains the boolean value (true or false) of the value 298// entry. Accepts substitution templates. 299type AssetPropertyVariantMemberBooleanValue struct { 300 Value string 301 302 noSmithyDocumentSerde 303} 304 305func (*AssetPropertyVariantMemberBooleanValue) isAssetPropertyVariant() {} 306 307// The attribute payload. 308type AttributePayload struct { 309 310 // A JSON string containing up to three key-value pair in JSON format. For example: 311 // {\"attributes\":{\"string1\":\"string2\"}} 312 Attributes map[string]string 313 314 // Specifies whether the list of attributes provided in the AttributePayload is 315 // merged with the attributes stored in the registry, instead of overwriting them. 316 // To remove an attribute, call UpdateThing with an empty attribute value. The 317 // merge attribute is only valid when calling UpdateThing or UpdateThingGroup. 318 Merge bool 319 320 noSmithyDocumentSerde 321} 322 323// Which audit checks are enabled and disabled for this account. 324type AuditCheckConfiguration struct { 325 326 // True if this audit check is enabled for this account. 327 Enabled bool 328 329 noSmithyDocumentSerde 330} 331 332// Information about the audit check. 333type AuditCheckDetails struct { 334 335 // True if the check is complete and found all resources compliant. 336 CheckCompliant *bool 337 338 // The completion status of this check. One of "IN_PROGRESS", 339 // "WAITING_FOR_DATA_COLLECTION", "CANCELED", "COMPLETED_COMPLIANT", 340 // "COMPLETED_NON_COMPLIANT", or "FAILED". 341 CheckRunStatus AuditCheckRunStatus 342 343 // The code of any error encountered when this check is performed during this 344 // audit. One of "INSUFFICIENT_PERMISSIONS" or "AUDIT_CHECK_DISABLED". 345 ErrorCode *string 346 347 // The message associated with any error encountered when this check is performed 348 // during this audit. 349 Message *string 350 351 // The number of resources that were found noncompliant during the check. 352 NonCompliantResourcesCount *int64 353 354 // Describes how many of the non-compliant resources created during the evaluation 355 // of an audit check were marked as suppressed. 356 SuppressedNonCompliantResourcesCount *int64 357 358 // The number of resources on which the check was performed. 359 TotalResourcesCount *int64 360 361 noSmithyDocumentSerde 362} 363 364// The findings (results) of the audit. 365type AuditFinding struct { 366 367 // The audit check that generated this result. 368 CheckName *string 369 370 // A unique identifier for this set of audit findings. This identifier is used to 371 // apply mitigation tasks to one or more sets of findings. 372 FindingId *string 373 374 // The time the result (finding) was discovered. 375 FindingTime *time.Time 376 377 // Indicates whether the audit finding was suppressed or not during reporting. 378 IsSuppressed *bool 379 380 // The resource that was found to be noncompliant with the audit check. 381 NonCompliantResource *NonCompliantResource 382 383 // The reason the resource was noncompliant. 384 ReasonForNonCompliance *string 385 386 // A code that indicates the reason that the resource was noncompliant. 387 ReasonForNonComplianceCode *string 388 389 // The list of related resources. 390 RelatedResources []RelatedResource 391 392 // The severity of the result (finding). 393 Severity AuditFindingSeverity 394 395 // The ID of the audit that generated this result (finding). 396 TaskId *string 397 398 // The time the audit started. 399 TaskStartTime *time.Time 400 401 noSmithyDocumentSerde 402} 403 404// Returned by ListAuditMitigationActionsTask, this object contains information 405// that describes a mitigation action that has been started. 406type AuditMitigationActionExecutionMetadata struct { 407 408 // The unique identifier for the mitigation action being applied by the task. 409 ActionId *string 410 411 // The friendly name of the mitigation action being applied by the task. 412 ActionName *string 413 414 // The date and time when the task was completed or canceled. Blank if the task is 415 // still running. 416 EndTime *time.Time 417 418 // If an error occurred, the code that indicates which type of error occurred. 419 ErrorCode *string 420 421 // The unique identifier for the findings to which the task and associated 422 // mitigation action are applied. 423 FindingId *string 424 425 // If an error occurred, a message that describes the error. 426 Message *string 427 428 // The date and time when the task was started. 429 StartTime *time.Time 430 431 // The current status of the task being executed. 432 Status AuditMitigationActionsExecutionStatus 433 434 // The unique identifier for the task that applies the mitigation action. 435 TaskId *string 436 437 noSmithyDocumentSerde 438} 439 440// Information about an audit mitigation actions task that is returned by 441// ListAuditMitigationActionsTasks. 442type AuditMitigationActionsTaskMetadata struct { 443 444 // The time at which the audit mitigation actions task was started. 445 StartTime *time.Time 446 447 // The unique identifier for the task. 448 TaskId *string 449 450 // The current state of the audit mitigation actions task. 451 TaskStatus AuditMitigationActionsTaskStatus 452 453 noSmithyDocumentSerde 454} 455 456// Used in MitigationActionParams, this information identifies the target findings 457// to which the mitigation actions are applied. Only one entry appears. 458type AuditMitigationActionsTaskTarget struct { 459 460 // Specifies a filter in the form of an audit check and set of reason codes that 461 // identify the findings from the audit to which the audit mitigation actions task 462 // apply. 463 AuditCheckToReasonCodeFilter map[string][]string 464 465 // If the task will apply a mitigation action to findings from a specific audit, 466 // this value uniquely identifies the audit. 467 AuditTaskId *string 468 469 // If the task will apply a mitigation action to one or more listed findings, this 470 // value uniquely identifies those findings. 471 FindingIds []string 472 473 noSmithyDocumentSerde 474} 475 476// Information about the targets to which audit notifications are sent. 477type AuditNotificationTarget struct { 478 479 // True if notifications to the target are enabled. 480 Enabled bool 481 482 // The ARN of the role that grants permission to send notifications to the target. 483 RoleArn *string 484 485 // The ARN of the target (SNS topic) to which audit notifications are sent. 486 TargetArn *string 487 488 noSmithyDocumentSerde 489} 490 491// Filters out specific findings of a Device Defender audit. 492type AuditSuppression struct { 493 494 // An audit check name. Checks must be enabled for your account. (Use 495 // DescribeAccountAuditConfiguration to see the list of all checks, including those 496 // that are enabled or use UpdateAccountAuditConfiguration to select which checks 497 // are enabled.) 498 // 499 // This member is required. 500 CheckName *string 501 502 // Information that identifies the noncompliant resource. 503 // 504 // This member is required. 505 ResourceIdentifier *ResourceIdentifier 506 507 // The description of the audit suppression. 508 Description *string 509 510 // The expiration date (epoch timestamp in seconds) that you want the suppression 511 // to adhere to. 512 ExpirationDate *time.Time 513 514 // Indicates whether a suppression should exist indefinitely or not. 515 SuppressIndefinitely *bool 516 517 noSmithyDocumentSerde 518} 519 520// The audits that were performed. 521type AuditTaskMetadata struct { 522 523 // The ID of this audit. 524 TaskId *string 525 526 // The status of this audit. One of "IN_PROGRESS", "COMPLETED", "FAILED", or 527 // "CANCELED". 528 TaskStatus AuditTaskStatus 529 530 // The type of this audit. One of "ON_DEMAND_AUDIT_TASK" or "SCHEDULED_AUDIT_TASK". 531 TaskType AuditTaskType 532 533 noSmithyDocumentSerde 534} 535 536// A collection of authorization information. 537type AuthInfo struct { 538 539 // The resources for which the principal is being authorized to perform the 540 // specified action. 541 // 542 // This member is required. 543 Resources []string 544 545 // The type of action for which the principal is being authorized. 546 ActionType ActionType 547 548 noSmithyDocumentSerde 549} 550 551// An object that specifies the authorization service for a domain. 552type AuthorizerConfig struct { 553 554 // A Boolean that specifies whether the domain configuration's authorization 555 // service can be overridden. 556 AllowAuthorizerOverride bool 557 558 // The name of the authorization service for a domain configuration. 559 DefaultAuthorizerName *string 560 561 noSmithyDocumentSerde 562} 563 564// The authorizer description. 565type AuthorizerDescription struct { 566 567 // The authorizer ARN. 568 AuthorizerArn *string 569 570 // The authorizer's Lambda function ARN. 571 AuthorizerFunctionArn *string 572 573 // The authorizer name. 574 AuthorizerName *string 575 576 // The UNIX timestamp of when the authorizer was created. 577 CreationDate *time.Time 578 579 // The UNIX timestamp of when the authorizer was last updated. 580 LastModifiedDate *time.Time 581 582 // Specifies whether IoT validates the token signature in an authorization request. 583 SigningDisabled *bool 584 585 // The status of the authorizer. 586 Status AuthorizerStatus 587 588 // The key used to extract the token from the HTTP headers. 589 TokenKeyName *string 590 591 // The public keys used to validate the token signature returned by your custom 592 // authentication service. 593 TokenSigningPublicKeys map[string]string 594 595 noSmithyDocumentSerde 596} 597 598// The authorizer summary. 599type AuthorizerSummary struct { 600 601 // The authorizer ARN. 602 AuthorizerArn *string 603 604 // The authorizer name. 605 AuthorizerName *string 606 607 noSmithyDocumentSerde 608} 609 610// The authorizer result. 611type AuthResult struct { 612 613 // The policies and statements that allowed the specified action. 614 Allowed *Allowed 615 616 // The final authorization decision of this scenario. Multiple statements are taken 617 // into account when determining the authorization decision. An explicit deny 618 // statement can override multiple allow statements. 619 AuthDecision AuthDecision 620 621 // Authorization information. 622 AuthInfo *AuthInfo 623 624 // The policies and statements that denied the specified action. 625 Denied *Denied 626 627 // Contains any missing context values found while evaluating policy. 628 MissingContextValues []string 629 630 noSmithyDocumentSerde 631} 632 633// The criteria that determine when and how a job abort takes place. 634type AwsJobAbortConfig struct { 635 636 // The list of criteria that determine when and how to abort the job. 637 // 638 // This member is required. 639 AbortCriteriaList []AwsJobAbortCriteria 640 641 noSmithyDocumentSerde 642} 643 644// The criteria that determine when and how a job abort takes place. 645type AwsJobAbortCriteria struct { 646 647 // The type of job action to take to initiate the job abort. 648 // 649 // This member is required. 650 Action AwsJobAbortCriteriaAbortAction 651 652 // The type of job execution failures that can initiate a job abort. 653 // 654 // This member is required. 655 FailureType AwsJobAbortCriteriaFailureType 656 657 // The minimum number of things which must receive job execution notifications 658 // before the job can be aborted. 659 // 660 // This member is required. 661 MinNumberOfExecutedThings *int32 662 663 // The minimum percentage of job execution failures that must occur to initiate the 664 // job abort. Amazon Web Services IoT Core supports up to two digits after the 665 // decimal (for example, 10.9 and 10.99, but not 10.999). 666 // 667 // This member is required. 668 ThresholdPercentage *float64 669 670 noSmithyDocumentSerde 671} 672 673// Configuration for the rollout of OTA updates. 674type AwsJobExecutionsRolloutConfig struct { 675 676 // The rate of increase for a job rollout. This parameter allows you to define an 677 // exponential rate increase for a job rollout. 678 ExponentialRate *AwsJobExponentialRolloutRate 679 680 // The maximum number of OTA update job executions started per minute. 681 MaximumPerMinute *int32 682 683 noSmithyDocumentSerde 684} 685 686// The rate of increase for a job rollout. This parameter allows you to define an 687// exponential rate increase for a job rollout. 688type AwsJobExponentialRolloutRate struct { 689 690 // The minimum number of things that will be notified of a pending job, per minute, 691 // at the start of the job rollout. This is the initial rate of the rollout. 692 // 693 // This member is required. 694 BaseRatePerMinute *int32 695 696 // The rate of increase for a job rollout. The number of things notified is 697 // multiplied by this factor. 698 // 699 // This member is required. 700 IncrementFactor float64 701 702 // The criteria to initiate the increase in rate of rollout for a job. Amazon Web 703 // Services IoT Core supports up to one digit after the decimal (for example, 1.5, 704 // but not 1.55). 705 // 706 // This member is required. 707 RateIncreaseCriteria *AwsJobRateIncreaseCriteria 708 709 noSmithyDocumentSerde 710} 711 712// Configuration information for pre-signed URLs. Valid when protocols contains 713// HTTP. 714type AwsJobPresignedUrlConfig struct { 715 716 // How long (in seconds) pre-signed URLs are valid. Valid values are 60 - 3600, the 717 // default value is 1800 seconds. Pre-signed URLs are generated when a request for 718 // the job document is received. 719 ExpiresInSec *int64 720 721 noSmithyDocumentSerde 722} 723 724// The criteria to initiate the increase in rate of rollout for a job. 725type AwsJobRateIncreaseCriteria struct { 726 727 // When this number of things have been notified, it will initiate an increase in 728 // the rollout rate. 729 NumberOfNotifiedThings *int32 730 731 // When this number of things have succeeded in their job execution, it will 732 // initiate an increase in the rollout rate. 733 NumberOfSucceededThings *int32 734 735 noSmithyDocumentSerde 736} 737 738// Specifies the amount of time each device has to finish its execution of the job. 739// A timer is started when the job execution status is set to IN_PROGRESS. If the 740// job execution status is not set to another terminal state before the timer 741// expires, it will be automatically set to TIMED_OUT. 742type AwsJobTimeoutConfig struct { 743 744 // Specifies the amount of time, in minutes, this device has to finish execution of 745 // this job. The timeout interval can be anywhere between 1 minute and 7 days (1 to 746 // 10080 minutes). The in progress timer can't be updated and will apply to all job 747 // executions for the job. Whenever a job execution remains in the IN_PROGRESS 748 // status for longer than this interval, the job execution will fail and switch to 749 // the terminal TIMED_OUT status. 750 InProgressTimeoutInMinutes *int64 751 752 noSmithyDocumentSerde 753} 754 755// A Device Defender security profile behavior. 756type Behavior struct { 757 758 // The name you've given to the behavior. 759 // 760 // This member is required. 761 Name *string 762 763 // The criteria that determine if a device is behaving normally in regard to the 764 // metric. 765 Criteria *BehaviorCriteria 766 767 // What is measured by the behavior. 768 Metric *string 769 770 // The dimension for a metric in your behavior. For example, using a TOPIC_FILTER 771 // dimension, you can narrow down the scope of the metric to only MQTT topics where 772 // the name matches the pattern specified in the dimension. This can't be used with 773 // custom metrics. 774 MetricDimension *MetricDimension 775 776 // Suppresses alerts. 777 SuppressAlerts *bool 778 779 noSmithyDocumentSerde 780} 781 782// The criteria by which the behavior is determined to be normal. 783type BehaviorCriteria struct { 784 785 // The operator that relates the thing measured (metric) to the criteria 786 // (containing a value or statisticalThreshold). Valid operators include: 787 // 788 // * 789 // string-list: in-set and not-in-set 790 // 791 // * number-list: in-set and not-in-set 792 // 793 // * 794 // ip-address-list: in-cidr-set and not-in-cidr-set 795 // 796 // * number: less-than, 797 // less-than-equals, greater-than, and greater-than-equals 798 ComparisonOperator ComparisonOperator 799 800 // If a device is in violation of the behavior for the specified number of 801 // consecutive datapoints, an alarm occurs. If not specified, the default is 1. 802 ConsecutiveDatapointsToAlarm *int32 803 804 // If an alarm has occurred and the offending device is no longer in violation of 805 // the behavior for the specified number of consecutive datapoints, the alarm is 806 // cleared. If not specified, the default is 1. 807 ConsecutiveDatapointsToClear *int32 808 809 // Use this to specify the time duration over which the behavior is evaluated, for 810 // those criteria that have a time dimension (for example, NUM_MESSAGES_SENT). For 811 // a statisticalThreshhold metric comparison, measurements from all devices are 812 // accumulated over this time duration before being used to calculate percentiles, 813 // and later, measurements from an individual device are also accumulated over this 814 // time duration before being given a percentile rank. Cannot be used with 815 // list-based metric datatypes. 816 DurationSeconds *int32 817 818 // The configuration of an ML Detect 819 MlDetectionConfig *MachineLearningDetectionConfig 820 821 // A statistical ranking (percentile)that indicates a threshold value by which a 822 // behavior is determined to be in compliance or in violation of the behavior. 823 StatisticalThreshold *StatisticalThreshold 824 825 // The value to be compared with the metric. 826 Value *MetricValue 827 828 noSmithyDocumentSerde 829} 830 831// The summary of an ML Detect behavior model. 832type BehaviorModelTrainingSummary struct { 833 834 // The name of the behavior. 835 BehaviorName *string 836 837 // The percentage of datapoints collected. 838 DatapointsCollectionPercentage *float64 839 840 // The date the model was last refreshed. 841 LastModelRefreshDate *time.Time 842 843 // The status of the behavior model. 844 ModelStatus ModelStatus 845 846 // The name of the security profile. 847 SecurityProfileName *string 848 849 // The date a training model started collecting data. 850 TrainingDataCollectionStartDate *time.Time 851 852 noSmithyDocumentSerde 853} 854 855// Additional information about the billing group. 856type BillingGroupMetadata struct { 857 858 // The date the billing group was created. 859 CreationDate *time.Time 860 861 noSmithyDocumentSerde 862} 863 864// The properties of a billing group. 865type BillingGroupProperties struct { 866 867 // The description of the billing group. 868 BillingGroupDescription *string 869 870 noSmithyDocumentSerde 871} 872 873// A count of documents that meets a specific aggregation criteria. 874type Bucket struct { 875 876 // The number of documents that have the value counted for the particular bucket. 877 Count int32 878 879 // The value counted for the particular bucket. 880 KeyValue *string 881 882 noSmithyDocumentSerde 883} 884 885// The type of bucketed aggregation performed. 886type BucketsAggregationType struct { 887 888 // Performs an aggregation that will return a list of buckets. The list of buckets 889 // is a ranked list of the number of occurrences of an aggregation field value. 890 TermsAggregation *TermsAggregation 891 892 noSmithyDocumentSerde 893} 894 895// A CA certificate. 896type CACertificate struct { 897 898 // The ARN of the CA certificate. 899 CertificateArn *string 900 901 // The ID of the CA certificate. 902 CertificateId *string 903 904 // The date the CA certificate was created. 905 CreationDate *time.Time 906 907 // The status of the CA certificate. The status value REGISTER_INACTIVE is 908 // deprecated and should not be used. 909 Status CACertificateStatus 910 911 noSmithyDocumentSerde 912} 913 914// Describes a CA certificate. 915type CACertificateDescription struct { 916 917 // Whether the CA certificate configured for auto registration of device 918 // certificates. Valid values are "ENABLE" and "DISABLE" 919 AutoRegistrationStatus AutoRegistrationStatus 920 921 // The CA certificate ARN. 922 CertificateArn *string 923 924 // The CA certificate ID. 925 CertificateId *string 926 927 // The CA certificate data, in PEM format. 928 CertificatePem *string 929 930 // The date the CA certificate was created. 931 CreationDate *time.Time 932 933 // The customer version of the CA certificate. 934 CustomerVersion *int32 935 936 // The generation ID of the CA certificate. 937 GenerationId *string 938 939 // The date the CA certificate was last modified. 940 LastModifiedDate *time.Time 941 942 // The owner of the CA certificate. 943 OwnedBy *string 944 945 // The status of a CA certificate. 946 Status CACertificateStatus 947 948 // When the CA certificate is valid. 949 Validity *CertificateValidity 950 951 noSmithyDocumentSerde 952} 953 954// Information about a certificate. 955type Certificate struct { 956 957 // The ARN of the certificate. 958 CertificateArn *string 959 960 // The ID of the certificate. (The last part of the certificate ARN contains the 961 // certificate ID.) 962 CertificateId *string 963 964 // The mode of the certificate. 965 CertificateMode CertificateMode 966 967 // The date and time the certificate was created. 968 CreationDate *time.Time 969 970 // The status of the certificate. The status value REGISTER_INACTIVE is deprecated 971 // and should not be used. 972 Status CertificateStatus 973 974 noSmithyDocumentSerde 975} 976 977// Describes a certificate. 978type CertificateDescription struct { 979 980 // The certificate ID of the CA certificate used to sign this certificate. 981 CaCertificateId *string 982 983 // The ARN of the certificate. 984 CertificateArn *string 985 986 // The ID of the certificate. 987 CertificateId *string 988 989 // The mode of the certificate. 990 CertificateMode CertificateMode 991 992 // The certificate data, in PEM format. 993 CertificatePem *string 994 995 // The date and time the certificate was created. 996 CreationDate *time.Time 997 998 // The customer version of the certificate. 999 CustomerVersion *int32 1000 1001 // The generation ID of the certificate. 1002 GenerationId *string 1003 1004 // The date and time the certificate was last modified. 1005 LastModifiedDate *time.Time 1006 1007 // The ID of the Amazon Web Services account that owns the certificate. 1008 OwnedBy *string 1009 1010 // The ID of the Amazon Web Services account of the previous owner of the 1011 // certificate. 1012 PreviousOwnedBy *string 1013 1014 // The status of the certificate. 1015 Status CertificateStatus 1016 1017 // The transfer data. 1018 TransferData *TransferData 1019 1020 // When the certificate is valid. 1021 Validity *CertificateValidity 1022 1023 noSmithyDocumentSerde 1024} 1025 1026// When the certificate is valid. 1027type CertificateValidity struct { 1028 1029 // The certificate is not valid after this date. 1030 NotAfter *time.Time 1031 1032 // The certificate is not valid before this date. 1033 NotBefore *time.Time 1034 1035 noSmithyDocumentSerde 1036} 1037 1038// Describes an action that updates a CloudWatch alarm. 1039type CloudwatchAlarmAction struct { 1040 1041 // The CloudWatch alarm name. 1042 // 1043 // This member is required. 1044 AlarmName *string 1045 1046 // The IAM role that allows access to the CloudWatch alarm. 1047 // 1048 // This member is required. 1049 RoleArn *string 1050 1051 // The reason for the alarm change. 1052 // 1053 // This member is required. 1054 StateReason *string 1055 1056 // The value of the alarm state. Acceptable values are: OK, ALARM, 1057 // INSUFFICIENT_DATA. 1058 // 1059 // This member is required. 1060 StateValue *string 1061 1062 noSmithyDocumentSerde 1063} 1064 1065// Describes an action that sends data to CloudWatch Logs. 1066type CloudwatchLogsAction struct { 1067 1068 // The CloudWatch log group to which the action sends data. 1069 // 1070 // This member is required. 1071 LogGroupName *string 1072 1073 // The IAM role that allows access to the CloudWatch log. 1074 // 1075 // This member is required. 1076 RoleArn *string 1077 1078 noSmithyDocumentSerde 1079} 1080 1081// Describes an action that captures a CloudWatch metric. 1082type CloudwatchMetricAction struct { 1083 1084 // The CloudWatch metric name. 1085 // 1086 // This member is required. 1087 MetricName *string 1088 1089 // The CloudWatch metric namespace name. 1090 // 1091 // This member is required. 1092 MetricNamespace *string 1093 1094 // The metric unit 1095 // (https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Unit) 1096 // supported by CloudWatch. 1097 // 1098 // This member is required. 1099 MetricUnit *string 1100 1101 // The CloudWatch metric value. 1102 // 1103 // This member is required. 1104 MetricValue *string 1105 1106 // The IAM role that allows access to the CloudWatch metric. 1107 // 1108 // This member is required. 1109 RoleArn *string 1110 1111 // An optional Unix timestamp 1112 // (https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#about_timestamp). 1113 MetricTimestamp *string 1114 1115 noSmithyDocumentSerde 1116} 1117 1118// Describes the method to use when code signing a file. 1119type CodeSigning struct { 1120 1121 // The ID of the AWSSignerJob which was created to sign the file. 1122 AwsSignerJobId *string 1123 1124 // A custom method for code signing a file. 1125 CustomCodeSigning *CustomCodeSigning 1126 1127 // Describes the code-signing job. 1128 StartSigningJobParameter *StartSigningJobParameter 1129 1130 noSmithyDocumentSerde 1131} 1132 1133// Describes the certificate chain being used when code signing a file. 1134type CodeSigningCertificateChain struct { 1135 1136 // The name of the certificate. 1137 CertificateName *string 1138 1139 // A base64 encoded binary representation of the code signing certificate chain. 1140 InlineDocument *string 1141 1142 noSmithyDocumentSerde 1143} 1144 1145// Describes the signature for a file. 1146type CodeSigningSignature struct { 1147 1148 // A base64 encoded binary representation of the code signing signature. 1149 InlineDocument []byte 1150 1151 noSmithyDocumentSerde 1152} 1153 1154// Configuration. 1155type Configuration struct { 1156 1157 // True to enable the configuration. 1158 Enabled bool 1159 1160 noSmithyDocumentSerde 1161} 1162 1163// Describes a custom method used to code sign a file. 1164type CustomCodeSigning struct { 1165 1166 // The certificate chain. 1167 CertificateChain *CodeSigningCertificateChain 1168 1169 // The hash algorithm used to code sign the file. 1170 HashAlgorithm *string 1171 1172 // The signature for the file. 1173 Signature *CodeSigningSignature 1174 1175 // The signature algorithm used to code sign the file. 1176 SignatureAlgorithm *string 1177 1178 noSmithyDocumentSerde 1179} 1180 1181// Contains information that denied the authorization. 1182type Denied struct { 1183 1184 // Information that explicitly denies the authorization. 1185 ExplicitDeny *ExplicitDeny 1186 1187 // Information that implicitly denies the authorization. When a policy doesn't 1188 // explicitly deny or allow an action on a resource it is considered an implicit 1189 // deny. 1190 ImplicitDeny *ImplicitDeny 1191 1192 noSmithyDocumentSerde 1193} 1194 1195// Describes the location of the updated firmware. 1196type Destination struct { 1197 1198 // Describes the location in S3 of the updated firmware. 1199 S3Destination *S3Destination 1200 1201 noSmithyDocumentSerde 1202} 1203 1204// Describes which mitigation actions should be executed. 1205type DetectMitigationActionExecution struct { 1206 1207 // The friendly name that uniquely identifies the mitigation action. 1208 ActionName *string 1209 1210 // The error code of a mitigation action. 1211 ErrorCode *string 1212 1213 // The date a mitigation action ended. 1214 ExecutionEndDate *time.Time 1215 1216 // The date a mitigation action was started. 1217 ExecutionStartDate *time.Time 1218 1219 // The message of a mitigation action. 1220 Message *string 1221 1222 // The status of a mitigation action. 1223 Status DetectMitigationActionExecutionStatus 1224 1225 // The unique identifier of the task. 1226 TaskId *string 1227 1228 // The name of the thing. 1229 ThingName *string 1230 1231 // The unique identifier of the violation. 1232 ViolationId *string 1233 1234 noSmithyDocumentSerde 1235} 1236 1237// The statistics of a mitigation action task. 1238type DetectMitigationActionsTaskStatistics struct { 1239 1240 // The actions that were performed. 1241 ActionsExecuted *int64 1242 1243 // The actions that failed. 1244 ActionsFailed *int64 1245 1246 // The actions that were skipped. 1247 ActionsSkipped *int64 1248 1249 noSmithyDocumentSerde 1250} 1251 1252// The summary of the mitigation action tasks. 1253type DetectMitigationActionsTaskSummary struct { 1254 1255 // The definition of the actions. 1256 ActionsDefinition []MitigationAction 1257 1258 // Includes only active violations. 1259 OnlyActiveViolationsIncluded bool 1260 1261 // Includes suppressed alerts. 1262 SuppressedAlertsIncluded bool 1263 1264 // Specifies the ML Detect findings to which the mitigation actions are applied. 1265 Target *DetectMitigationActionsTaskTarget 1266 1267 // The date the task ended. 1268 TaskEndTime *time.Time 1269 1270 // The unique identifier of the task. 1271 TaskId *string 1272 1273 // The date the task started. 1274 TaskStartTime *time.Time 1275 1276 // The statistics of a mitigation action task. 1277 TaskStatistics *DetectMitigationActionsTaskStatistics 1278 1279 // The status of the task. 1280 TaskStatus DetectMitigationActionsTaskStatus 1281 1282 // Specifies the time period of which violation events occurred between. 1283 ViolationEventOccurrenceRange *ViolationEventOccurrenceRange 1284 1285 noSmithyDocumentSerde 1286} 1287 1288// The target of a mitigation action task. 1289type DetectMitigationActionsTaskTarget struct { 1290 1291 // The name of the behavior. 1292 BehaviorName *string 1293 1294 // The name of the security profile. 1295 SecurityProfileName *string 1296 1297 // The unique identifiers of the violations. 1298 ViolationIds []string 1299 1300 noSmithyDocumentSerde 1301} 1302 1303// The summary of a domain configuration. A domain configuration specifies custom 1304// IoT-specific information about a domain. A domain configuration can be 1305// associated with an Amazon Web Services-managed domain (for example, 1306// dbc123defghijk.iot.us-west-2.amazonaws.com), a customer managed domain, or a 1307// default endpoint. 1308// 1309// * Data 1310// 1311// * Jobs 1312// 1313// * CredentialProvider 1314type DomainConfigurationSummary struct { 1315 1316 // The ARN of the domain configuration. 1317 DomainConfigurationArn *string 1318 1319 // The name of the domain configuration. This value must be unique to a region. 1320 DomainConfigurationName *string 1321 1322 // The type of service delivered by the endpoint. 1323 ServiceType ServiceType 1324 1325 noSmithyDocumentSerde 1326} 1327 1328// Describes an action to write to a DynamoDB table. The tableName, hashKeyField, 1329// and rangeKeyField values must match the values used when you created the table. 1330// The hashKeyValue and rangeKeyvalue fields use a substitution template syntax. 1331// These templates provide data at runtime. The syntax is as follows: 1332// ${sql-expression}. You can specify any valid expression in a WHERE or SELECT 1333// clause, including JSON properties, comparisons, calculations, and functions. For 1334// example, the following field uses the third level of the topic: "hashKeyValue": 1335// "${topic(3)}" The following field uses the timestamp: "rangeKeyValue": 1336// "${timestamp()}" 1337type DynamoDBAction struct { 1338 1339 // The hash key name. 1340 // 1341 // This member is required. 1342 HashKeyField *string 1343 1344 // The hash key value. 1345 // 1346 // This member is required. 1347 HashKeyValue *string 1348 1349 // The ARN of the IAM role that grants access to the DynamoDB table. 1350 // 1351 // This member is required. 1352 RoleArn *string 1353 1354 // The name of the DynamoDB table. 1355 // 1356 // This member is required. 1357 TableName *string 1358 1359 // The hash key type. Valid values are "STRING" or "NUMBER" 1360 HashKeyType DynamoKeyType 1361 1362 // The type of operation to be performed. This follows the substitution template, 1363 // so it can be ${operation}, but the substitution must result in one of the 1364 // following: INSERT, UPDATE, or DELETE. 1365 Operation *string 1366 1367 // The action payload. This name can be customized. 1368 PayloadField *string 1369 1370 // The range key name. 1371 RangeKeyField *string 1372 1373 // The range key type. Valid values are "STRING" or "NUMBER" 1374 RangeKeyType DynamoKeyType 1375 1376 // The range key value. 1377 RangeKeyValue *string 1378 1379 noSmithyDocumentSerde 1380} 1381 1382// Describes an action to write to a DynamoDB table. This DynamoDB action writes 1383// each attribute in the message payload into it's own column in the DynamoDB 1384// table. 1385type DynamoDBv2Action struct { 1386 1387 // Specifies the DynamoDB table to which the message data will be written. For 1388 // example: { "dynamoDBv2": { "roleArn": "aws:iam:12341251:my-role" "putItem": { 1389 // "tableName": "my-table" } } } Each attribute in the message payload will be 1390 // written to a separate column in the DynamoDB database. 1391 // 1392 // This member is required. 1393 PutItem *PutItemInput 1394 1395 // The ARN of the IAM role that grants access to the DynamoDB table. 1396 // 1397 // This member is required. 1398 RoleArn *string 1399 1400 noSmithyDocumentSerde 1401} 1402 1403// The policy that has the effect on the authorization results. 1404type EffectivePolicy struct { 1405 1406 // The policy ARN. 1407 PolicyArn *string 1408 1409 // The IAM policy document. 1410 PolicyDocument *string 1411 1412 // The policy name. 1413 PolicyName *string 1414 1415 noSmithyDocumentSerde 1416} 1417 1418// Describes an action that writes data to an Amazon Elasticsearch Service domain. 1419// This action is deprecated. Use the OpenSearch action 1420// (https://docs.aws.amazon.com/iot/latest/apireference/API_OpenSearchAction.html) 1421// instead. 1422type ElasticsearchAction struct { 1423 1424 // The endpoint of your Elasticsearch domain. 1425 // 1426 // This member is required. 1427 Endpoint *string 1428 1429 // The unique identifier for the document you are storing. 1430 // 1431 // This member is required. 1432 Id *string 1433 1434 // The Elasticsearch index where you want to store your data. 1435 // 1436 // This member is required. 1437 Index *string 1438 1439 // The IAM role ARN that has access to Elasticsearch. 1440 // 1441 // This member is required. 1442 RoleArn *string 1443 1444 // The type of document you are storing. 1445 // 1446 // This member is required. 1447 Type *string 1448 1449 noSmithyDocumentSerde 1450} 1451 1452// Parameters used when defining a mitigation action that enable Amazon Web 1453// Services IoT Core logging. 1454type EnableIoTLoggingParams struct { 1455 1456 // Specifies the type of information to be logged. 1457 // 1458 // This member is required. 1459 LogLevel LogLevel 1460 1461 // The Amazon Resource Name (ARN) of the IAM role used for logging. 1462 // 1463 // This member is required. 1464 RoleArnForLogging *string 1465 1466 noSmithyDocumentSerde 1467} 1468 1469// Error information. 1470type ErrorInfo struct { 1471 1472 // The error code. 1473 Code *string 1474 1475 // The error message. 1476 Message *string 1477 1478 noSmithyDocumentSerde 1479} 1480 1481// Information that explicitly denies authorization. 1482type ExplicitDeny struct { 1483 1484 // The policies that denied the authorization. 1485 Policies []Policy 1486 1487 noSmithyDocumentSerde 1488} 1489 1490// Allows you to create an exponential rate of rollout for a job. 1491type ExponentialRolloutRate struct { 1492 1493 // The minimum number of things that will be notified of a pending job, per minute 1494 // at the start of job rollout. This parameter allows you to define the initial 1495 // rate of rollout. 1496 // 1497 // This member is required. 1498 BaseRatePerMinute *int32 1499 1500 // The exponential factor to increase the rate of rollout for a job. Amazon Web 1501 // Services IoT Core supports up to one digit after the decimal (for example, 1.5, 1502 // but not 1.55). 1503 // 1504 // This member is required. 1505 IncrementFactor float64 1506 1507 // The criteria to initiate the increase in rate of rollout for a job. 1508 // 1509 // This member is required. 1510 RateIncreaseCriteria *RateIncreaseCriteria 1511 1512 noSmithyDocumentSerde 1513} 1514 1515// Describes the name and data type at a field. 1516type Field struct { 1517 1518 // The name of the field. 1519 Name *string 1520 1521 // The data type of the field. 1522 Type FieldType 1523 1524 noSmithyDocumentSerde 1525} 1526 1527// The location of the OTA update. 1528type FileLocation struct { 1529 1530 // The location of the updated firmware in S3. 1531 S3Location *S3Location 1532 1533 // The stream that contains the OTA update. 1534 Stream *Stream 1535 1536 noSmithyDocumentSerde 1537} 1538 1539// Describes an action that writes data to an Amazon Kinesis Firehose stream. 1540type FirehoseAction struct { 1541 1542 // The delivery stream name. 1543 // 1544 // This member is required. 1545 DeliveryStreamName *string 1546 1547 // The IAM role that grants access to the Amazon Kinesis Firehose stream. 1548 // 1549 // This member is required. 1550 RoleArn *string 1551 1552 // Whether to deliver the Kinesis Data Firehose stream as a batch by using 1553 // PutRecordBatch 1554 // (https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecordBatch.html). 1555 // The default value is false. When batchMode is true and the rule's SQL statement 1556 // evaluates to an Array, each Array element forms one record in the PutRecordBatch 1557 // (https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecordBatch.html) 1558 // request. The resulting array can't have more than 500 records. 1559 BatchMode *bool 1560 1561 // A character separator that will be used to separate records written to the 1562 // Firehose stream. Valid values are: '\n' (newline), '\t' (tab), '\r\n' (Windows 1563 // newline), ',' (comma). 1564 Separator *string 1565 1566 noSmithyDocumentSerde 1567} 1568 1569// The name and ARN of a fleet metric. 1570type FleetMetricNameAndArn struct { 1571 1572 // The fleet metric ARN. 1573 MetricArn *string 1574 1575 // The fleet metric name. 1576 MetricName *string 1577 1578 noSmithyDocumentSerde 1579} 1580 1581// The name and ARN of a group. 1582type GroupNameAndArn struct { 1583 1584 // The group ARN. 1585 GroupArn *string 1586 1587 // The group name. 1588 GroupName *string 1589 1590 noSmithyDocumentSerde 1591} 1592 1593// Send data to an HTTPS endpoint. 1594type HttpAction struct { 1595 1596 // The endpoint URL. If substitution templates are used in the URL, you must also 1597 // specify a confirmationUrl. If this is a new destination, a new 1598 // TopicRuleDestination is created if possible. 1599 // 1600 // This member is required. 1601 Url *string 1602 1603 // The authentication method to use when sending data to an HTTPS endpoint. 1604 Auth *HttpAuthorization 1605 1606 // The URL to which IoT sends a confirmation message. The value of the confirmation 1607 // URL must be a prefix of the endpoint URL. If you do not specify a confirmation 1608 // URL IoT uses the endpoint URL as the confirmation URL. If you use substitution 1609 // templates in the confirmationUrl, you must create and enable topic rule 1610 // destinations that match each possible value of the substitution template before 1611 // traffic is allowed to your endpoint URL. 1612 ConfirmationUrl *string 1613 1614 // The HTTP headers to send with the message data. 1615 Headers []HttpActionHeader 1616 1617 noSmithyDocumentSerde 1618} 1619 1620// The HTTP action header. 1621type HttpActionHeader struct { 1622 1623 // The HTTP header key. 1624 // 1625 // This member is required. 1626 Key *string 1627 1628 // The HTTP header value. Substitution templates are supported. 1629 // 1630 // This member is required. 1631 Value *string 1632 1633 noSmithyDocumentSerde 1634} 1635 1636// The authorization method used to send messages. 1637type HttpAuthorization struct { 1638 1639 // Use Sig V4 authorization. For more information, see Signature Version 4 Signing 1640 // Process 1641 // (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). 1642 Sigv4 *SigV4Authorization 1643 1644 noSmithyDocumentSerde 1645} 1646 1647// Specifies the HTTP context to use for the test authorizer request. 1648type HttpContext struct { 1649 1650 // The header keys and values in an HTTP authorization request. 1651 Headers map[string]string 1652 1653 // The query string keys and values in an HTTP authorization request. 1654 QueryString *string 1655 1656 noSmithyDocumentSerde 1657} 1658 1659// HTTP URL destination configuration used by the topic rule's HTTP action. 1660type HttpUrlDestinationConfiguration struct { 1661 1662 // The URL IoT uses to confirm ownership of or access to the topic rule destination 1663 // URL. 1664 // 1665 // This member is required. 1666 ConfirmationUrl *string 1667 1668 noSmithyDocumentSerde 1669} 1670 1671// HTTP URL destination properties. 1672type HttpUrlDestinationProperties struct { 1673 1674 // The URL used to confirm the HTTP topic rule destination URL. 1675 ConfirmationUrl *string 1676 1677 noSmithyDocumentSerde 1678} 1679 1680// Information about an HTTP URL destination. 1681type HttpUrlDestinationSummary struct { 1682 1683 // The URL used to confirm ownership of or access to the HTTP topic rule 1684 // destination URL. 1685 ConfirmationUrl *string 1686 1687 noSmithyDocumentSerde 1688} 1689 1690// Information that implicitly denies authorization. When policy doesn't explicitly 1691// deny or allow an action on a resource it is considered an implicit deny. 1692type ImplicitDeny struct { 1693 1694 // Policies that don't contain a matching allow or deny statement for the specified 1695 // action on the specified resource. 1696 Policies []Policy 1697 1698 noSmithyDocumentSerde 1699} 1700 1701// Sends message data to an IoT Analytics channel. 1702type IotAnalyticsAction struct { 1703 1704 // Whether to process the action as a batch. The default value is false. When 1705 // batchMode is true and the rule SQL statement evaluates to an Array, each Array 1706 // element is delivered as a separate message when passed by BatchPutMessage 1707 // (https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_BatchPutMessage.html) 1708 // to the IoT Analytics channel. The resulting array can't have more than 100 1709 // messages. 1710 BatchMode *bool 1711 1712 // (deprecated) The ARN of the IoT Analytics channel to which message data will be 1713 // sent. 1714 ChannelArn *string 1715 1716 // The name of the IoT Analytics channel to which message data will be sent. 1717 ChannelName *string 1718 1719 // The ARN of the role which has a policy that grants IoT Analytics permission to 1720 // send message data via IoT Analytics (iotanalytics:BatchPutMessage). 1721 RoleArn *string 1722 1723 noSmithyDocumentSerde 1724} 1725 1726// Sends an input to an IoT Events detector. 1727type IotEventsAction struct { 1728 1729 // The name of the IoT Events input. 1730 // 1731 // This member is required. 1732 InputName *string 1733 1734 // The ARN of the role that grants IoT permission to send an input to an IoT Events 1735 // detector. ("Action":"iotevents:BatchPutMessage"). 1736 // 1737 // This member is required. 1738 RoleArn *string 1739 1740 // Whether to process the event actions as a batch. The default value is false. 1741 // When batchMode is true, you can't specify a messageId. When batchMode is true 1742 // and the rule SQL statement evaluates to an Array, each Array element is treated 1743 // as a separate message when it's sent to IoT Events by calling BatchPutMessage 1744 // (https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchPutMessage.html). 1745 // The resulting array can't have more than 10 messages. 1746 BatchMode *bool 1747 1748 // The ID of the message. The default messageId is a new UUID value. When batchMode 1749 // is true, you can't specify a messageId--a new UUID value will be assigned. 1750 // Assign a value to this property to ensure that only one input (message) with a 1751 // given messageId will be processed by an IoT Events detector. 1752 MessageId *string 1753 1754 noSmithyDocumentSerde 1755} 1756 1757// Describes an action to send data from an MQTT message that triggered the rule to 1758// IoT SiteWise asset properties. 1759type IotSiteWiseAction struct { 1760 1761 // A list of asset property value entries. 1762 // 1763 // This member is required. 1764 PutAssetPropertyValueEntries []PutAssetPropertyValueEntry 1765 1766 // The ARN of the role that grants IoT permission to send an asset property value 1767 // to IoT SiteWise. ("Action": "iotsitewise:BatchPutAssetPropertyValue"). The trust 1768 // policy can restrict access to specific asset hierarchy paths. 1769 // 1770 // This member is required. 1771 RoleArn *string 1772 1773 noSmithyDocumentSerde 1774} 1775 1776// The Job object contains details about a job. 1777type Job struct { 1778 1779 // Configuration for criteria to abort the job. 1780 AbortConfig *AbortConfig 1781 1782 // If the job was updated, describes the reason for the update. 1783 Comment *string 1784 1785 // The time, in seconds since the epoch, when the job was completed. 1786 CompletedAt *time.Time 1787 1788 // The time, in seconds since the epoch, when the job was created. 1789 CreatedAt *time.Time 1790 1791 // A short text description of the job. 1792 Description *string 1793 1794 // Will be true if the job was canceled with the optional force parameter set to 1795 // true. 1796 ForceCanceled *bool 1797 1798 // An ARN identifying the job with format "arn:aws:iot:region:account:job/jobId". 1799 JobArn *string 1800 1801 // Allows you to create a staged rollout of a job. 1802 JobExecutionsRolloutConfig *JobExecutionsRolloutConfig 1803 1804 // The unique identifier you assigned to this job when it was created. 1805 JobId *string 1806 1807 // Details about the job process. 1808 JobProcessDetails *JobProcessDetails 1809 1810 // The ARN of the job template used to create the job. 1811 JobTemplateArn *string 1812 1813 // The time, in seconds since the epoch, when the job was last updated. 1814 LastUpdatedAt *time.Time 1815 1816 // The namespace used to indicate that a job is a customer-managed job. When you 1817 // specify a value for this parameter, Amazon Web Services IoT Core sends jobs 1818 // notifications to MQTT topics that contain the value in the following format. 1819 // $aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/ The 1820 // namespaceId feature is in public preview. 1821 NamespaceId *string 1822 1823 // Configuration for pre-signed S3 URLs. 1824 PresignedUrlConfig *PresignedUrlConfig 1825 1826 // If the job was updated, provides the reason code for the update. 1827 ReasonCode *string 1828 1829 // The status of the job, one of IN_PROGRESS, CANCELED, DELETION_IN_PROGRESS or 1830 // COMPLETED. 1831 Status JobStatus 1832 1833 // Specifies whether the job will continue to run (CONTINUOUS), or will be complete 1834 // after all those things specified as targets have completed the job (SNAPSHOT). 1835 // If continuous, the job may also be run on a thing when a change is detected in a 1836 // target. For example, a job will run on a device when the thing representing the 1837 // device is added to a target group, even after the job was completed by all 1838 // things originally in the group. 1839 TargetSelection TargetSelection 1840 1841 // A list of IoT things and thing groups to which the job should be sent. 1842 Targets []string 1843 1844 // Specifies the amount of time each device has to finish its execution of the job. 1845 // A timer is started when the job execution status is set to IN_PROGRESS. If the 1846 // job execution status is not set to another terminal state before the timer 1847 // expires, it will be automatically set to TIMED_OUT. 1848 TimeoutConfig *TimeoutConfig 1849 1850 noSmithyDocumentSerde 1851} 1852 1853// The job execution object represents the execution of a job on a particular 1854// device. 1855type JobExecution struct { 1856 1857 // The estimated number of seconds that remain before the job execution status will 1858 // be changed to TIMED_OUT. The timeout interval can be anywhere between 1 minute 1859 // and 7 days (1 to 10080 minutes). The actual job execution timeout can occur up 1860 // to 60 seconds later than the estimated duration. This value will not be included 1861 // if the job execution has reached a terminal status. 1862 ApproximateSecondsBeforeTimedOut *int64 1863 1864 // A string (consisting of the digits "0" through "9") which identifies this 1865 // particular job execution on this particular device. It can be used in commands 1866 // which return or update job execution information. 1867 ExecutionNumber *int64 1868 1869 // Will be true if the job execution was canceled with the optional force parameter 1870 // set to true. 1871 ForceCanceled *bool 1872 1873 // The unique identifier you assigned to the job when it was created. 1874 JobId *string 1875 1876 // The time, in seconds since the epoch, when the job execution was last updated. 1877 LastUpdatedAt *time.Time 1878 1879 // The time, in seconds since the epoch, when the job execution was queued. 1880 QueuedAt *time.Time 1881 1882 // The time, in seconds since the epoch, when the job execution started. 1883 StartedAt *time.Time 1884 1885 // The status of the job execution (IN_PROGRESS, QUEUED, FAILED, SUCCEEDED, 1886 // TIMED_OUT, CANCELED, or REJECTED). 1887 Status JobExecutionStatus 1888 1889 // A collection of name/value pairs that describe the status of the job execution. 1890 StatusDetails *JobExecutionStatusDetails 1891 1892 // The ARN of the thing on which the job execution is running. 1893 ThingArn *string 1894 1895 // The version of the job execution. Job execution versions are incremented each 1896 // time they are updated by a device. 1897 VersionNumber int64 1898 1899 noSmithyDocumentSerde 1900} 1901 1902// Allows you to create a staged rollout of a job. 1903type JobExecutionsRolloutConfig struct { 1904 1905 // The rate of increase for a job rollout. This parameter allows you to define an 1906 // exponential rate for a job rollout. 1907 ExponentialRate *ExponentialRolloutRate 1908 1909 // The maximum number of things that will be notified of a pending job, per minute. 1910 // This parameter allows you to create a staged rollout. 1911 MaximumPerMinute *int32 1912 1913 noSmithyDocumentSerde 1914} 1915 1916// Details of the job execution status. 1917type JobExecutionStatusDetails struct { 1918 1919 // The job execution status. 1920 DetailsMap map[string]string 1921 1922 noSmithyDocumentSerde 1923} 1924 1925// The job execution summary. 1926type JobExecutionSummary struct { 1927 1928 // A string (consisting of the digits "0" through "9") which identifies this 1929 // particular job execution on this particular device. It can be used later in 1930 // commands which return or update job execution information. 1931 ExecutionNumber *int64 1932 1933 // The time, in seconds since the epoch, when the job execution was last updated. 1934 LastUpdatedAt *time.Time 1935 1936 // The time, in seconds since the epoch, when the job execution was queued. 1937 QueuedAt *time.Time 1938 1939 // The time, in seconds since the epoch, when the job execution started. 1940 StartedAt *time.Time 1941 1942 // The status of the job execution. 1943 Status JobExecutionStatus 1944 1945 noSmithyDocumentSerde 1946} 1947 1948// Contains a summary of information about job executions for a specific job. 1949type JobExecutionSummaryForJob struct { 1950 1951 // Contains a subset of information about a job execution. 1952 JobExecutionSummary *JobExecutionSummary 1953 1954 // The ARN of the thing on which the job execution is running. 1955 ThingArn *string 1956 1957 noSmithyDocumentSerde 1958} 1959 1960// The job execution summary for a thing. 1961type JobExecutionSummaryForThing struct { 1962 1963 // Contains a subset of information about a job execution. 1964 JobExecutionSummary *JobExecutionSummary 1965 1966 // The unique identifier you assigned to this job when it was created. 1967 JobId *string 1968 1969 noSmithyDocumentSerde 1970} 1971 1972// The job process details. 1973type JobProcessDetails struct { 1974 1975 // The number of things that cancelled the job. 1976 NumberOfCanceledThings *int32 1977 1978 // The number of things that failed executing the job. 1979 NumberOfFailedThings *int32 1980 1981 // The number of things currently executing the job. 1982 NumberOfInProgressThings *int32 1983 1984 // The number of things that are awaiting execution of the job. 1985 NumberOfQueuedThings *int32 1986 1987 // The number of things that rejected the job. 1988 NumberOfRejectedThings *int32 1989 1990 // The number of things that are no longer scheduled to execute the job because 1991 // they have been deleted or have been removed from the group that was a target of 1992 // the job. 1993 NumberOfRemovedThings *int32 1994 1995 // The number of things which successfully completed the job. 1996 NumberOfSucceededThings *int32 1997 1998 // The number of things whose job execution status is TIMED_OUT. 1999 NumberOfTimedOutThings *int32 2000 2001 // The target devices to which the job execution is being rolled out. This value 2002 // will be null after the job execution has finished rolling out to all the target 2003 // devices. 2004 ProcessingTargets []string 2005 2006 noSmithyDocumentSerde 2007} 2008 2009// The job summary. 2010type JobSummary struct { 2011 2012 // The time, in seconds since the epoch, when the job completed. 2013 CompletedAt *time.Time 2014 2015 // The time, in seconds since the epoch, when the job was created. 2016 CreatedAt *time.Time 2017 2018 // The job ARN. 2019 JobArn *string 2020 2021 // The unique identifier you assigned to this job when it was created. 2022 JobId *string 2023 2024 // The time, in seconds since the epoch, when the job was last updated. 2025 LastUpdatedAt *time.Time 2026 2027 // The job summary status. 2028 Status JobStatus 2029 2030 // Specifies whether the job will continue to run (CONTINUOUS), or will be complete 2031 // after all those things specified as targets have completed the job (SNAPSHOT). 2032 // If continuous, the job may also be run on a thing when a change is detected in a 2033 // target. For example, a job will run on a thing when the thing is added to a 2034 // target group, even after the job was completed by all things originally in the 2035 // group. 2036 TargetSelection TargetSelection 2037 2038 // The ID of the thing group. 2039 ThingGroupId *string 2040 2041 noSmithyDocumentSerde 2042} 2043 2044// An object that contains information about the job template. 2045type JobTemplateSummary struct { 2046 2047 // The time, in seconds since the epoch, when the job template was created. 2048 CreatedAt *time.Time 2049 2050 // A description of the job template. 2051 Description *string 2052 2053 // The ARN of the job template. 2054 JobTemplateArn *string 2055 2056 // The unique identifier of the job template. 2057 JobTemplateId *string 2058 2059 noSmithyDocumentSerde 2060} 2061 2062// Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or 2063// self-managed Apache Kafka cluster. 2064type KafkaAction struct { 2065 2066 // Properties of the Apache Kafka producer client. 2067 // 2068 // This member is required. 2069 ClientProperties map[string]string 2070 2071 // The ARN of Kafka action's VPC TopicRuleDestination. 2072 // 2073 // This member is required. 2074 DestinationArn *string 2075 2076 // The Kafka topic for messages to be sent to the Kafka broker. 2077 // 2078 // This member is required. 2079 Topic *string 2080 2081 // The Kafka message key. 2082 Key *string 2083 2084 // The Kafka message partition. 2085 Partition *string 2086 2087 noSmithyDocumentSerde 2088} 2089 2090// Describes a key pair. 2091type KeyPair struct { 2092 2093 // The private key. 2094 PrivateKey *string 2095 2096 // The public key. 2097 PublicKey *string 2098 2099 noSmithyDocumentSerde 2100} 2101 2102// Describes an action to write data to an Amazon Kinesis stream. 2103type KinesisAction struct { 2104 2105 // The ARN of the IAM role that grants access to the Amazon Kinesis stream. 2106 // 2107 // This member is required. 2108 RoleArn *string 2109 2110 // The name of the Amazon Kinesis stream. 2111 // 2112 // This member is required. 2113 StreamName *string 2114 2115 // The partition key. 2116 PartitionKey *string 2117 2118 noSmithyDocumentSerde 2119} 2120 2121// Describes an action to invoke a Lambda function. 2122type LambdaAction struct { 2123 2124 // The ARN of the Lambda function. 2125 // 2126 // This member is required. 2127 FunctionArn *string 2128 2129 noSmithyDocumentSerde 2130} 2131 2132// Describes the logging options payload. 2133type LoggingOptionsPayload struct { 2134 2135 // The ARN of the IAM role that grants access. 2136 // 2137 // This member is required. 2138 RoleArn *string 2139 2140 // The log level. 2141 LogLevel LogLevel 2142 2143 noSmithyDocumentSerde 2144} 2145 2146// A log target. 2147type LogTarget struct { 2148 2149 // The target type. 2150 // 2151 // This member is required. 2152 TargetType LogTargetType 2153 2154 // The target name. 2155 TargetName *string 2156 2157 noSmithyDocumentSerde 2158} 2159 2160// The target configuration. 2161type LogTargetConfiguration struct { 2162 2163 // The logging level. 2164 LogLevel LogLevel 2165 2166 // A log target 2167 LogTarget *LogTarget 2168 2169 noSmithyDocumentSerde 2170} 2171 2172// The configuration of an ML Detect Security Profile. 2173type MachineLearningDetectionConfig struct { 2174 2175 // The sensitivity of anomalous behavior evaluation. Can be Low, Medium, or High. 2176 // 2177 // This member is required. 2178 ConfidenceLevel ConfidenceLevel 2179 2180 noSmithyDocumentSerde 2181} 2182 2183// The dimension of a metric. 2184type MetricDimension struct { 2185 2186 // A unique identifier for the dimension. 2187 // 2188 // This member is required. 2189 DimensionName *string 2190 2191 // Defines how the dimensionValues of a dimension are interpreted. For example, for 2192 // dimension type TOPIC_FILTER, the IN operator, a message will be counted only if 2193 // its topic matches one of the topic filters. With NOT_IN operator, a message will 2194 // be counted only if it doesn't match any of the topic filters. The operator is 2195 // optional: if it's not provided (is null), it will be interpreted as IN. 2196 Operator DimensionValueOperator 2197 2198 noSmithyDocumentSerde 2199} 2200 2201// The metric you want to retain. Dimensions are optional. 2202type MetricToRetain struct { 2203 2204 // What is measured by the behavior. 2205 // 2206 // This member is required. 2207 Metric *string 2208 2209 // The dimension of a metric. This can't be used with custom metrics. 2210 MetricDimension *MetricDimension 2211 2212 noSmithyDocumentSerde 2213} 2214 2215// The value to be compared with the metric. 2216type MetricValue struct { 2217 2218 // If the comparisonOperator calls for a set of CIDRs, use this to specify that set 2219 // to be compared with the metric. 2220 Cidrs []string 2221 2222 // If the comparisonOperator calls for a numeric value, use this to specify that 2223 // numeric value to be compared with the metric. 2224 Count *int64 2225 2226 // The numeral value of a metric. 2227 Number *float64 2228 2229 // The numeral values of a metric. 2230 Numbers []float64 2231 2232 // If the comparisonOperator calls for a set of ports, use this to specify that set 2233 // to be compared with the metric. 2234 Ports []int32 2235 2236 // The string values of a metric. 2237 Strings []string 2238 2239 noSmithyDocumentSerde 2240} 2241 2242// Describes which changes should be applied as part of a mitigation action. 2243type MitigationAction struct { 2244 2245 // The set of parameters for this mitigation action. The parameters vary, depending 2246 // on the kind of action you apply. 2247 ActionParams *MitigationActionParams 2248 2249 // A unique identifier for the mitigation action. 2250 Id *string 2251 2252 // A user-friendly name for the mitigation action. 2253 Name *string 2254 2255 // The IAM role ARN used to apply this mitigation action. 2256 RoleArn *string 2257 2258 noSmithyDocumentSerde 2259} 2260 2261// Information that identifies a mitigation action. This information is returned by 2262// ListMitigationActions. 2263type MitigationActionIdentifier struct { 2264 2265 // The IAM role ARN used to apply this mitigation action. 2266 ActionArn *string 2267 2268 // The friendly name of the mitigation action. 2269 ActionName *string 2270 2271 // The date when this mitigation action was created. 2272 CreationDate *time.Time 2273 2274 noSmithyDocumentSerde 2275} 2276 2277// The set of parameters for this mitigation action. You can specify only one type 2278// of parameter (in other words, you can apply only one action for each defined 2279// mitigation action). 2280type MitigationActionParams struct { 2281 2282 // Parameters to define a mitigation action that moves devices associated with a 2283 // certificate to one or more specified thing groups, typically for quarantine. 2284 AddThingsToThingGroupParams *AddThingsToThingGroupParams 2285 2286 // Parameters to define a mitigation action that enables Amazon Web Services IoT 2287 // Core logging at a specified level of detail. 2288 EnableIoTLoggingParams *EnableIoTLoggingParams 2289 2290 // Parameters to define a mitigation action that publishes findings to Amazon 2291 // Simple Notification Service (Amazon SNS. You can implement your own custom 2292 // actions in response to the Amazon SNS messages. 2293 PublishFindingToSnsParams *PublishFindingToSnsParams 2294 2295 // Parameters to define a mitigation action that adds a blank policy to restrict 2296 // permissions. 2297 ReplaceDefaultPolicyVersionParams *ReplaceDefaultPolicyVersionParams 2298 2299 // Parameters to define a mitigation action that changes the state of the CA 2300 // certificate to inactive. 2301 UpdateCACertificateParams *UpdateCACertificateParams 2302 2303 // Parameters to define a mitigation action that changes the state of the device 2304 // certificate to inactive. 2305 UpdateDeviceCertificateParams *UpdateDeviceCertificateParams 2306 2307 noSmithyDocumentSerde 2308} 2309 2310// Specifies the MQTT context to use for the test authorizer request 2311type MqttContext struct { 2312 2313 // The value of the clientId key in an MQTT authorization request. 2314 ClientId *string 2315 2316 // The value of the password key in an MQTT authorization request. 2317 Password []byte 2318 2319 // The value of the username key in an MQTT authorization request. 2320 Username *string 2321 2322 noSmithyDocumentSerde 2323} 2324 2325// Information about the resource that was noncompliant with the audit check. 2326type NonCompliantResource struct { 2327 2328 // Other information about the noncompliant resource. 2329 AdditionalInfo map[string]string 2330 2331 // Information that identifies the noncompliant resource. 2332 ResourceIdentifier *ResourceIdentifier 2333 2334 // The type of the noncompliant resource. 2335 ResourceType ResourceType 2336 2337 noSmithyDocumentSerde 2338} 2339 2340// Describes an action that writes data to an Amazon OpenSearch Service domain. 2341type OpenSearchAction struct { 2342 2343 // The endpoint of your OpenSearch domain. 2344 // 2345 // This member is required. 2346 Endpoint *string 2347 2348 // The unique identifier for the document you are storing. 2349 // 2350 // This member is required. 2351 Id *string 2352 2353 // The OpenSearch index where you want to store your data. 2354 // 2355 // This member is required. 2356 Index *string 2357 2358 // The IAM role ARN that has access to OpenSearch. 2359 // 2360 // This member is required. 2361 RoleArn *string 2362 2363 // The type of document you are storing. 2364 // 2365 // This member is required. 2366 Type *string 2367 2368 noSmithyDocumentSerde 2369} 2370 2371// Describes a file to be associated with an OTA update. 2372type OTAUpdateFile struct { 2373 2374 // A list of name/attribute pairs. 2375 Attributes map[string]string 2376 2377 // The code signing method of the file. 2378 CodeSigning *CodeSigning 2379 2380 // The location of the updated firmware. 2381 FileLocation *FileLocation 2382 2383 // The name of the file. 2384 FileName *string 2385 2386 // An integer value you can include in the job document to allow your devices to 2387 // identify the type of file received from the cloud. 2388 FileType *int32 2389 2390 // The file version. 2391 FileVersion *string 2392 2393 noSmithyDocumentSerde 2394} 2395 2396// Information about an OTA update. 2397type OTAUpdateInfo struct { 2398 2399 // A collection of name/value pairs 2400 AdditionalParameters map[string]string 2401 2402 // The IoT job ARN associated with the OTA update. 2403 AwsIotJobArn *string 2404 2405 // The IoT job ID associated with the OTA update. 2406 AwsIotJobId *string 2407 2408 // Configuration for the rollout of OTA updates. 2409 AwsJobExecutionsRolloutConfig *AwsJobExecutionsRolloutConfig 2410 2411 // Configuration information for pre-signed URLs. Valid when protocols contains 2412 // HTTP. 2413 AwsJobPresignedUrlConfig *AwsJobPresignedUrlConfig 2414 2415 // The date when the OTA update was created. 2416 CreationDate *time.Time 2417 2418 // A description of the OTA update. 2419 Description *string 2420 2421 // Error information associated with the OTA update. 2422 ErrorInfo *ErrorInfo 2423 2424 // The date when the OTA update was last updated. 2425 LastModifiedDate *time.Time 2426 2427 // The OTA update ARN. 2428 OtaUpdateArn *string 2429 2430 // A list of files associated with the OTA update. 2431 OtaUpdateFiles []OTAUpdateFile 2432 2433 // The OTA update ID. 2434 OtaUpdateId *string 2435 2436 // The status of the OTA update. 2437 OtaUpdateStatus OTAUpdateStatus 2438 2439 // The protocol used to transfer the OTA update image. Valid values are [HTTP], 2440 // [MQTT], [HTTP, MQTT]. When both HTTP and MQTT are specified, the target device 2441 // can choose the protocol. 2442 Protocols []Protocol 2443 2444 // Specifies whether the OTA update will continue to run (CONTINUOUS), or will be 2445 // complete after all those things specified as targets have completed the OTA 2446 // update (SNAPSHOT). If continuous, the OTA update may also be run on a thing when 2447 // a change is detected in a target. For example, an OTA update will run on a thing 2448 // when the thing is added to a target group, even after the OTA update was 2449 // completed by all things originally in the group. 2450 TargetSelection TargetSelection 2451 2452 // The targets of the OTA update. 2453 Targets []string 2454 2455 noSmithyDocumentSerde 2456} 2457 2458// An OTA update summary. 2459type OTAUpdateSummary struct { 2460 2461 // The date when the OTA update was created. 2462 CreationDate *time.Time 2463 2464 // The OTA update ARN. 2465 OtaUpdateArn *string 2466 2467 // The OTA update ID. 2468 OtaUpdateId *string 2469 2470 noSmithyDocumentSerde 2471} 2472 2473// A certificate that has been transferred but not yet accepted. 2474type OutgoingCertificate struct { 2475 2476 // The certificate ARN. 2477 CertificateArn *string 2478 2479 // The certificate ID. 2480 CertificateId *string 2481 2482 // The certificate creation date. 2483 CreationDate *time.Time 2484 2485 // The date the transfer was initiated. 2486 TransferDate *time.Time 2487 2488 // The transfer message. 2489 TransferMessage *string 2490 2491 // The Amazon Web Services account to which the transfer was made. 2492 TransferredTo *string 2493 2494 noSmithyDocumentSerde 2495} 2496 2497// Describes the percentile and percentile value. 2498type PercentPair struct { 2499 2500 // The percentile. 2501 Percent float64 2502 2503 // The value of the percentile. 2504 Value float64 2505 2506 noSmithyDocumentSerde 2507} 2508 2509// Describes an IoT policy. 2510type Policy struct { 2511 2512 // The policy ARN. 2513 PolicyArn *string 2514 2515 // The policy name. 2516 PolicyName *string 2517 2518 noSmithyDocumentSerde 2519} 2520 2521// Describes a policy version. 2522type PolicyVersion struct { 2523 2524 // The date and time the policy was created. 2525 CreateDate *time.Time 2526 2527 // Specifies whether the policy version is the default. 2528 IsDefaultVersion bool 2529 2530 // The policy version ID. 2531 VersionId *string 2532 2533 noSmithyDocumentSerde 2534} 2535 2536// Information about the version of the policy associated with the resource. 2537type PolicyVersionIdentifier struct { 2538 2539 // The name of the policy. 2540 PolicyName *string 2541 2542 // The ID of the version of the policy associated with the resource. 2543 PolicyVersionId *string 2544 2545 noSmithyDocumentSerde 2546} 2547 2548// Configuration for pre-signed S3 URLs. 2549type PresignedUrlConfig struct { 2550 2551 // How long (in seconds) pre-signed URLs are valid. Valid values are 60 - 3600, the 2552 // default value is 3600 seconds. Pre-signed URLs are generated when Jobs receives 2553 // an MQTT request for the job document. 2554 ExpiresInSec *int64 2555 2556 // The ARN of an IAM role that grants grants permission to download files from the 2557 // S3 bucket where the job data/updates are stored. The role must also grant 2558 // permission for IoT to download the files. 2559 RoleArn *string 2560 2561 noSmithyDocumentSerde 2562} 2563 2564// Structure that contains payloadVersion and targetArn. 2565type ProvisioningHook struct { 2566 2567 // The ARN of the target function. Note: Only Lambda functions are currently 2568 // supported. 2569 // 2570 // This member is required. 2571 TargetArn *string 2572 2573 // The payload that was sent to the target function. Note: Only Lambda functions 2574 // are currently supported. 2575 PayloadVersion *string 2576 2577 noSmithyDocumentSerde 2578} 2579 2580// A summary of information about a fleet provisioning template. 2581type ProvisioningTemplateSummary struct { 2582 2583 // The date when the fleet provisioning template summary was created. 2584 CreationDate *time.Time 2585 2586 // The description of the fleet provisioning template. 2587 Description *string 2588 2589 // True if the fleet provision template is enabled, otherwise false. 2590 Enabled bool 2591 2592 // The date when the fleet provisioning template summary was last modified. 2593 LastModifiedDate *time.Time 2594 2595 // The ARN of the fleet provisioning template. 2596 TemplateArn *string 2597 2598 // The name of the fleet provisioning template. 2599 TemplateName *string 2600 2601 noSmithyDocumentSerde 2602} 2603 2604// A summary of information about a fleet provision template version. 2605type ProvisioningTemplateVersionSummary struct { 2606 2607 // The date when the fleet provisioning template version was created 2608 CreationDate *time.Time 2609 2610 // True if the fleet provisioning template version is the default version, 2611 // otherwise false. 2612 IsDefaultVersion bool 2613 2614 // The ID of the fleet privisioning template version. 2615 VersionId *int32 2616 2617 noSmithyDocumentSerde 2618} 2619 2620// Parameters to define a mitigation action that publishes findings to Amazon SNS. 2621// You can implement your own custom actions in response to the Amazon SNS 2622// messages. 2623type PublishFindingToSnsParams struct { 2624 2625 // The ARN of the topic to which you want to publish the findings. 2626 // 2627 // This member is required. 2628 TopicArn *string 2629 2630 noSmithyDocumentSerde 2631} 2632 2633// An asset property value entry containing the following information. 2634type PutAssetPropertyValueEntry struct { 2635 2636 // A list of property values to insert that each contain timestamp, quality, and 2637 // value (TQV) information. 2638 // 2639 // This member is required. 2640 PropertyValues []AssetPropertyValue 2641 2642 // The ID of the IoT SiteWise asset. You must specify either a propertyAlias or 2643 // both an aliasId and a propertyId. Accepts substitution templates. 2644 AssetId *string 2645 2646 // Optional. A unique identifier for this entry that you can define to better track 2647 // which message caused an error in case of failure. Accepts substitution 2648 // templates. Defaults to a new UUID. 2649 EntryId *string 2650 2651 // The name of the property alias associated with your asset property. You must 2652 // specify either a propertyAlias or both an aliasId and a propertyId. Accepts 2653 // substitution templates. 2654 PropertyAlias *string 2655 2656 // The ID of the asset's property. You must specify either a propertyAlias or both 2657 // an aliasId and a propertyId. Accepts substitution templates. 2658 PropertyId *string 2659 2660 noSmithyDocumentSerde 2661} 2662 2663// The input for the DynamoActionVS action that specifies the DynamoDB table to 2664// which the message data will be written. 2665type PutItemInput struct { 2666 2667 // The table where the message data will be written. 2668 // 2669 // This member is required. 2670 TableName *string 2671 2672 noSmithyDocumentSerde 2673} 2674 2675// Allows you to define a criteria to initiate the increase in rate of rollout for 2676// a job. 2677type RateIncreaseCriteria struct { 2678 2679 // The threshold for number of notified things that will initiate the increase in 2680 // rate of rollout. 2681 NumberOfNotifiedThings *int32 2682 2683 // The threshold for number of succeeded things that will initiate the increase in 2684 // rate of rollout. 2685 NumberOfSucceededThings *int32 2686 2687 noSmithyDocumentSerde 2688} 2689 2690// The registration configuration. 2691type RegistrationConfig struct { 2692 2693 // The ARN of the role. 2694 RoleArn *string 2695 2696 // The template body. 2697 TemplateBody *string 2698 2699 noSmithyDocumentSerde 2700} 2701 2702// Information about a related resource. 2703type RelatedResource struct { 2704 2705 // Other information about the resource. 2706 AdditionalInfo map[string]string 2707 2708 // Information that identifies the resource. 2709 ResourceIdentifier *ResourceIdentifier 2710 2711 // The type of resource. 2712 ResourceType ResourceType 2713 2714 noSmithyDocumentSerde 2715} 2716 2717// Parameters to define a mitigation action that adds a blank policy to restrict 2718// permissions. 2719type ReplaceDefaultPolicyVersionParams struct { 2720 2721 // The name of the template to be applied. The only supported value is 2722 // BLANK_POLICY. 2723 // 2724 // This member is required. 2725 TemplateName PolicyTemplateName 2726 2727 noSmithyDocumentSerde 2728} 2729 2730// Describes an action to republish to another topic. 2731type RepublishAction struct { 2732 2733 // The ARN of the IAM role that grants access. 2734 // 2735 // This member is required. 2736 RoleArn *string 2737 2738 // The name of the MQTT topic. 2739 // 2740 // This member is required. 2741 Topic *string 2742 2743 // The Quality of Service (QoS) level to use when republishing messages. The 2744 // default value is 0. 2745 Qos *int32 2746 2747 noSmithyDocumentSerde 2748} 2749 2750// Information that identifies the noncompliant resource. 2751type ResourceIdentifier struct { 2752 2753 // The account with which the resource is associated. 2754 Account *string 2755 2756 // The ID of the CA certificate used to authorize the certificate. 2757 CaCertificateId *string 2758 2759 // The client ID. 2760 ClientId *string 2761 2762 // The ID of the Amazon Cognito identity pool. 2763 CognitoIdentityPoolId *string 2764 2765 // The ID of the certificate attached to the resource. 2766 DeviceCertificateId *string 2767 2768 // The ARN of the IAM role that has overly permissive actions. 2769 IamRoleArn *string 2770 2771 // The version of the policy associated with the resource. 2772 PolicyVersionIdentifier *PolicyVersionIdentifier 2773 2774 // The ARN of the role alias that has overly permissive actions. 2775 RoleAliasArn *string 2776 2777 noSmithyDocumentSerde 2778} 2779 2780// Role alias description. 2781type RoleAliasDescription struct { 2782 2783 // The UNIX timestamp of when the role alias was created. 2784 CreationDate *time.Time 2785 2786 // The number of seconds for which the credential is valid. 2787 CredentialDurationSeconds *int32 2788 2789 // The UNIX timestamp of when the role alias was last modified. 2790 LastModifiedDate *time.Time 2791 2792 // The role alias owner. 2793 Owner *string 2794 2795 // The role alias. 2796 RoleAlias *string 2797 2798 // The ARN of the role alias. 2799 RoleAliasArn *string 2800 2801 // The role ARN. 2802 RoleArn *string 2803 2804 noSmithyDocumentSerde 2805} 2806 2807// Describes an action to write data to an Amazon S3 bucket. 2808type S3Action struct { 2809 2810 // The Amazon S3 bucket. 2811 // 2812 // This member is required. 2813 BucketName *string 2814 2815 // The object key. For more information, see Actions, resources, and condition keys 2816 // for Amazon S3 2817 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html). 2818 // 2819 // This member is required. 2820 Key *string 2821 2822 // The ARN of the IAM role that grants access. 2823 // 2824 // This member is required. 2825 RoleArn *string 2826 2827 // The Amazon S3 canned ACL that controls access to the object identified by the 2828 // object key. For more information, see S3 canned ACLs 2829 // (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl). 2830 CannedAcl CannedAccessControlList 2831 2832 noSmithyDocumentSerde 2833} 2834 2835// Describes the location of updated firmware in S3. 2836type S3Destination struct { 2837 2838 // The S3 bucket that contains the updated firmware. 2839 Bucket *string 2840 2841 // The S3 prefix. 2842 Prefix *string 2843 2844 noSmithyDocumentSerde 2845} 2846 2847// The S3 location. 2848type S3Location struct { 2849 2850 // The S3 bucket. 2851 Bucket *string 2852 2853 // The S3 key. 2854 Key *string 2855 2856 // The S3 bucket version. 2857 Version *string 2858 2859 noSmithyDocumentSerde 2860} 2861 2862// Describes an action to write a message to a Salesforce IoT Cloud Input Stream. 2863type SalesforceAction struct { 2864 2865 // The token used to authenticate access to the Salesforce IoT Cloud Input Stream. 2866 // The token is available from the Salesforce IoT Cloud platform after creation of 2867 // the Input Stream. 2868 // 2869 // This member is required. 2870 Token *string 2871 2872 // The URL exposed by the Salesforce IoT Cloud Input Stream. The URL is available 2873 // from the Salesforce IoT Cloud platform after creation of the Input Stream. 2874 // 2875 // This member is required. 2876 Url *string 2877 2878 noSmithyDocumentSerde 2879} 2880 2881// Information about the scheduled audit. 2882type ScheduledAuditMetadata struct { 2883 2884 // The day of the month on which the scheduled audit is run (if the frequency is 2885 // "MONTHLY"). If days 29-31 are specified, and the month does not have that many 2886 // days, the audit takes place on the "LAST" day of the month. 2887 DayOfMonth *string 2888 2889 // The day of the week on which the scheduled audit is run (if the frequency is 2890 // "WEEKLY" or "BIWEEKLY"). 2891 DayOfWeek DayOfWeek 2892 2893 // How often the scheduled audit occurs. 2894 Frequency AuditFrequency 2895 2896 // The ARN of the scheduled audit. 2897 ScheduledAuditArn *string 2898 2899 // The name of the scheduled audit. 2900 ScheduledAuditName *string 2901 2902 noSmithyDocumentSerde 2903} 2904 2905// Identifying information for a Device Defender security profile. 2906type SecurityProfileIdentifier struct { 2907 2908 // The ARN of the security profile. 2909 // 2910 // This member is required. 2911 Arn *string 2912 2913 // The name you've given to the security profile. 2914 // 2915 // This member is required. 2916 Name *string 2917 2918 noSmithyDocumentSerde 2919} 2920 2921// A target to which an alert is sent when a security profile behavior is violated. 2922type SecurityProfileTarget struct { 2923 2924 // The ARN of the security profile. 2925 // 2926 // This member is required. 2927 Arn *string 2928 2929 noSmithyDocumentSerde 2930} 2931 2932// Information about a security profile and the target associated with it. 2933type SecurityProfileTargetMapping struct { 2934 2935 // Information that identifies the security profile. 2936 SecurityProfileIdentifier *SecurityProfileIdentifier 2937 2938 // Information about the target (thing group) associated with the security profile. 2939 Target *SecurityProfileTarget 2940 2941 noSmithyDocumentSerde 2942} 2943 2944// An object that contains information about a server certificate. 2945type ServerCertificateSummary struct { 2946 2947 // The ARN of the server certificate. 2948 ServerCertificateArn *string 2949 2950 // The status of the server certificate. 2951 ServerCertificateStatus ServerCertificateStatus 2952 2953 // Details that explain the status of the server certificate. 2954 ServerCertificateStatusDetail *string 2955 2956 noSmithyDocumentSerde 2957} 2958 2959// Describes the code-signing profile. 2960type SigningProfileParameter struct { 2961 2962 // Certificate ARN. 2963 CertificateArn *string 2964 2965 // The location of the code-signing certificate on your device. 2966 CertificatePathOnDevice *string 2967 2968 // The hardware platform of your device. 2969 Platform *string 2970 2971 noSmithyDocumentSerde 2972} 2973 2974// For more information, see Signature Version 4 signing process 2975// (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html). 2976type SigV4Authorization struct { 2977 2978 // The ARN of the signing role. 2979 // 2980 // This member is required. 2981 RoleArn *string 2982 2983 // The service name to use while signing with Sig V4. 2984 // 2985 // This member is required. 2986 ServiceName *string 2987 2988 // The signing region. 2989 // 2990 // This member is required. 2991 SigningRegion *string 2992 2993 noSmithyDocumentSerde 2994} 2995 2996// Describes an action to publish to an Amazon SNS topic. 2997type SnsAction struct { 2998 2999 // The ARN of the IAM role that grants access. 3000 // 3001 // This member is required. 3002 RoleArn *string 3003 3004 // The ARN of the SNS topic. 3005 // 3006 // This member is required. 3007 TargetArn *string 3008 3009 // (Optional) The message format of the message to publish. Accepted values are 3010 // "JSON" and "RAW". The default value of the attribute is "RAW". SNS uses this 3011 // setting to determine if the payload should be parsed and relevant 3012 // platform-specific bits of the payload should be extracted. To read more about 3013 // SNS message formats, see 3014 // https://docs.aws.amazon.com/sns/latest/dg/json-formats.html 3015 // (https://docs.aws.amazon.com/sns/latest/dg/json-formats.html) refer to their 3016 // official documentation. 3017 MessageFormat MessageFormat 3018 3019 noSmithyDocumentSerde 3020} 3021 3022// Describes an action to publish data to an Amazon SQS queue. 3023type SqsAction struct { 3024 3025 // The URL of the Amazon SQS queue. 3026 // 3027 // This member is required. 3028 QueueUrl *string 3029 3030 // The ARN of the IAM role that grants access. 3031 // 3032 // This member is required. 3033 RoleArn *string 3034 3035 // Specifies whether to use Base64 encoding. 3036 UseBase64 *bool 3037 3038 noSmithyDocumentSerde 3039} 3040 3041// Information required to start a signing job. 3042type StartSigningJobParameter struct { 3043 3044 // The location to write the code-signed file. 3045 Destination *Destination 3046 3047 // The code-signing profile name. 3048 SigningProfileName *string 3049 3050 // Describes the code-signing profile. 3051 SigningProfileParameter *SigningProfileParameter 3052 3053 noSmithyDocumentSerde 3054} 3055 3056// A statistical ranking (percentile) that indicates a threshold value by which a 3057// behavior is determined to be in compliance or in violation of the behavior. 3058type StatisticalThreshold struct { 3059 3060 // The percentile that resolves to a threshold value by which compliance with a 3061 // behavior is determined. Metrics are collected over the specified period 3062 // (durationSeconds) from all reporting devices in your account and statistical 3063 // ranks are calculated. Then, the measurements from a device are collected over 3064 // the same period. If the accumulated measurements from the device fall above or 3065 // below (comparisonOperator) the value associated with the percentile specified, 3066 // then the device is considered to be in compliance with the behavior, otherwise a 3067 // violation occurs. 3068 Statistic *string 3069 3070 noSmithyDocumentSerde 3071} 3072 3073// A map of key-value pairs for all supported statistics. Currently, only count is 3074// supported. 3075type Statistics struct { 3076 3077 // The average of the aggregated field values. 3078 Average float64 3079 3080 // The count of things that match the query. 3081 Count int32 3082 3083 // The maximum aggregated field value. 3084 Maximum float64 3085 3086 // The minimum aggregated field value. 3087 Minimum float64 3088 3089 // The standard deviation of the aggregated field values. 3090 StdDeviation float64 3091 3092 // The sum of the aggregated field values. 3093 Sum float64 3094 3095 // The sum of the squares of the aggregated field values. 3096 SumOfSquares float64 3097 3098 // The variance of the aggregated field values. 3099 Variance float64 3100 3101 noSmithyDocumentSerde 3102} 3103 3104// Starts execution of a Step Functions state machine. 3105type StepFunctionsAction struct { 3106 3107 // The ARN of the role that grants IoT permission to start execution of a state 3108 // machine ("Action":"states:StartExecution"). 3109 // 3110 // This member is required. 3111 RoleArn *string 3112 3113 // The name of the Step Functions state machine whose execution will be started. 3114 // 3115 // This member is required. 3116 StateMachineName *string 3117 3118 // (Optional) A name will be given to the state machine execution consisting of 3119 // this prefix followed by a UUID. Step Functions automatically creates a unique 3120 // name for each state machine execution if one is not provided. 3121 ExecutionNamePrefix *string 3122 3123 noSmithyDocumentSerde 3124} 3125 3126// Describes a group of files that can be streamed. 3127type Stream struct { 3128 3129 // The ID of a file associated with a stream. 3130 FileId *int32 3131 3132 // The stream ID. 3133 StreamId *string 3134 3135 noSmithyDocumentSerde 3136} 3137 3138// Represents a file to stream. 3139type StreamFile struct { 3140 3141 // The file ID. 3142 FileId *int32 3143 3144 // The location of the file in S3. 3145 S3Location *S3Location 3146 3147 noSmithyDocumentSerde 3148} 3149 3150// Information about a stream. 3151type StreamInfo struct { 3152 3153 // The date when the stream was created. 3154 CreatedAt *time.Time 3155 3156 // The description of the stream. 3157 Description *string 3158 3159 // The files to stream. 3160 Files []StreamFile 3161 3162 // The date when the stream was last updated. 3163 LastUpdatedAt *time.Time 3164 3165 // An IAM role IoT assumes to access your S3 files. 3166 RoleArn *string 3167 3168 // The stream ARN. 3169 StreamArn *string 3170 3171 // The stream ID. 3172 StreamId *string 3173 3174 // The stream version. 3175 StreamVersion *int32 3176 3177 noSmithyDocumentSerde 3178} 3179 3180// A summary of a stream. 3181type StreamSummary struct { 3182 3183 // A description of the stream. 3184 Description *string 3185 3186 // The stream ARN. 3187 StreamArn *string 3188 3189 // The stream ID. 3190 StreamId *string 3191 3192 // The stream version. 3193 StreamVersion *int32 3194 3195 noSmithyDocumentSerde 3196} 3197 3198// A set of key/value pairs that are used to manage the resource. 3199type Tag struct { 3200 3201 // The tag's key. 3202 // 3203 // This member is required. 3204 Key *string 3205 3206 // The tag's value. 3207 Value *string 3208 3209 noSmithyDocumentSerde 3210} 3211 3212// Statistics for the checks performed during the audit. 3213type TaskStatistics struct { 3214 3215 // The number of checks that did not run because the audit was canceled. 3216 CanceledChecks *int32 3217 3218 // The number of checks that found compliant resources. 3219 CompliantChecks *int32 3220 3221 // The number of checks. 3222 FailedChecks *int32 3223 3224 // The number of checks in progress. 3225 InProgressChecks *int32 3226 3227 // The number of checks that found noncompliant resources. 3228 NonCompliantChecks *int32 3229 3230 // The number of checks in this audit. 3231 TotalChecks *int32 3232 3233 // The number of checks waiting for data collection. 3234 WaitingForDataCollectionChecks *int32 3235 3236 noSmithyDocumentSerde 3237} 3238 3239// Provides summary counts of how many tasks for findings are in a particular 3240// state. This information is included in the response from 3241// DescribeAuditMitigationActionsTask. 3242type TaskStatisticsForAuditCheck struct { 3243 3244 // The number of findings to which the mitigation action task was canceled when 3245 // applied. 3246 CanceledFindingsCount *int64 3247 3248 // The number of findings for which at least one of the actions failed when 3249 // applied. 3250 FailedFindingsCount *int64 3251 3252 // The number of findings skipped because of filter conditions provided in the 3253 // parameters to the command. 3254 SkippedFindingsCount *int64 3255 3256 // The number of findings for which all mitigation actions succeeded when applied. 3257 SucceededFindingsCount *int64 3258 3259 // The total number of findings to which a task is being applied. 3260 TotalFindingsCount *int64 3261 3262 noSmithyDocumentSerde 3263} 3264 3265// Performs an aggregation that will return a list of buckets. The list of buckets 3266// is a ranked list of the number of occurrences of an aggregation field value. 3267type TermsAggregation struct { 3268 3269 // The number of buckets to return in the response. Default to 10. 3270 MaxBuckets int32 3271 3272 noSmithyDocumentSerde 3273} 3274 3275// The properties of the thing, including thing name, thing type name, and a list 3276// of thing attributes. 3277type ThingAttribute struct { 3278 3279 // A list of thing attributes which are name-value pairs. 3280 Attributes map[string]string 3281 3282 // The thing ARN. 3283 ThingArn *string 3284 3285 // The name of the thing. 3286 ThingName *string 3287 3288 // The name of the thing type, if the thing has been associated with a type. 3289 ThingTypeName *string 3290 3291 // The version of the thing record in the registry. 3292 Version int64 3293 3294 noSmithyDocumentSerde 3295} 3296 3297// The connectivity status of the thing. 3298type ThingConnectivity struct { 3299 3300 // True if the thing is connected to the Amazon Web Services IoT Core service; 3301 // false if it is not connected. 3302 Connected bool 3303 3304 // The reason why the client is disconnected. If the thing has been disconnected 3305 // for approximately an hour, the disconnectReason value might be missing. 3306 DisconnectReason *string 3307 3308 // The epoch time (in milliseconds) when the thing last connected or disconnected. 3309 // If the thing has been disconnected for approximately an hour, the time value 3310 // might be missing. 3311 Timestamp *int64 3312 3313 noSmithyDocumentSerde 3314} 3315 3316// The thing search index document. 3317type ThingDocument struct { 3318 3319 // The attributes. 3320 Attributes map[string]string 3321 3322 // Indicates whether the thing is connected to the Amazon Web Services IoT Core 3323 // service. 3324 Connectivity *ThingConnectivity 3325 3326 // The shadow. 3327 Shadow *string 3328 3329 // Thing group names. 3330 ThingGroupNames []string 3331 3332 // The thing ID. 3333 ThingId *string 3334 3335 // The thing name. 3336 ThingName *string 3337 3338 // The thing type name. 3339 ThingTypeName *string 3340 3341 noSmithyDocumentSerde 3342} 3343 3344// The thing group search index document. 3345type ThingGroupDocument struct { 3346 3347 // The thing group attributes. 3348 Attributes map[string]string 3349 3350 // Parent group names. 3351 ParentGroupNames []string 3352 3353 // The thing group description. 3354 ThingGroupDescription *string 3355 3356 // The thing group ID. 3357 ThingGroupId *string 3358 3359 // The thing group name. 3360 ThingGroupName *string 3361 3362 noSmithyDocumentSerde 3363} 3364 3365// Thing group indexing configuration. 3366type ThingGroupIndexingConfiguration struct { 3367 3368 // Thing group indexing mode. 3369 // 3370 // This member is required. 3371 ThingGroupIndexingMode ThingGroupIndexingMode 3372 3373 // A list of thing group fields to index. This list cannot contain any managed 3374 // fields. Use the GetIndexingConfiguration API to get a list of managed fields. 3375 // Contains custom field names and their data type. 3376 CustomFields []Field 3377 3378 // Contains fields that are indexed and whose types are already known by the Fleet 3379 // Indexing service. 3380 ManagedFields []Field 3381 3382 noSmithyDocumentSerde 3383} 3384 3385// Thing group metadata. 3386type ThingGroupMetadata struct { 3387 3388 // The UNIX timestamp of when the thing group was created. 3389 CreationDate *time.Time 3390 3391 // The parent thing group name. 3392 ParentGroupName *string 3393 3394 // The root parent thing group. 3395 RootToParentThingGroups []GroupNameAndArn 3396 3397 noSmithyDocumentSerde 3398} 3399 3400// Thing group properties. 3401type ThingGroupProperties struct { 3402 3403 // The thing group attributes in JSON format. 3404 AttributePayload *AttributePayload 3405 3406 // The thing group description. 3407 ThingGroupDescription *string 3408 3409 noSmithyDocumentSerde 3410} 3411 3412// The thing indexing configuration. For more information, see Managing Thing 3413// Indexing 3414// (https://docs.aws.amazon.com/iot/latest/developerguide/managing-index.html). 3415type ThingIndexingConfiguration struct { 3416 3417 // Thing indexing mode. Valid values are: 3418 // 3419 // * REGISTRY – Your thing index contains 3420 // registry data only. 3421 // 3422 // * REGISTRY_AND_SHADOW - Your thing index contains registry 3423 // and shadow data. 3424 // 3425 // * OFF - Thing indexing is disabled. 3426 // 3427 // This member is required. 3428 ThingIndexingMode ThingIndexingMode 3429 3430 // Contains custom field names and their data type. 3431 CustomFields []Field 3432 3433 // Contains fields that are indexed and whose types are already known by the Fleet 3434 // Indexing service. 3435 ManagedFields []Field 3436 3437 // Thing connectivity indexing mode. Valid values are: 3438 // 3439 // * STATUS – Your thing index 3440 // contains connectivity status. To enable thing connectivity indexing, 3441 // thingIndexMode must not be set to OFF. 3442 // 3443 // * OFF - Thing connectivity status 3444 // indexing is disabled. 3445 ThingConnectivityIndexingMode ThingConnectivityIndexingMode 3446 3447 noSmithyDocumentSerde 3448} 3449 3450// The definition of the thing type, including thing type name and description. 3451type ThingTypeDefinition struct { 3452 3453 // The thing type ARN. 3454 ThingTypeArn *string 3455 3456 // The ThingTypeMetadata contains additional information about the thing type 3457 // including: creation date and time, a value indicating whether the thing type is 3458 // deprecated, and a date and time when it was deprecated. 3459 ThingTypeMetadata *ThingTypeMetadata 3460 3461 // The name of the thing type. 3462 ThingTypeName *string 3463 3464 // The ThingTypeProperties for the thing type. 3465 ThingTypeProperties *ThingTypeProperties 3466 3467 noSmithyDocumentSerde 3468} 3469 3470// The ThingTypeMetadata contains additional information about the thing type 3471// including: creation date and time, a value indicating whether the thing type is 3472// deprecated, and a date and time when time was deprecated. 3473type ThingTypeMetadata struct { 3474 3475 // The date and time when the thing type was created. 3476 CreationDate *time.Time 3477 3478 // Whether the thing type is deprecated. If true, no new things could be associated 3479 // with this type. 3480 Deprecated bool 3481 3482 // The date and time when the thing type was deprecated. 3483 DeprecationDate *time.Time 3484 3485 noSmithyDocumentSerde 3486} 3487 3488// The ThingTypeProperties contains information about the thing type including: a 3489// thing type description, and a list of searchable thing attribute names. 3490type ThingTypeProperties struct { 3491 3492 // A list of searchable thing attribute names. 3493 SearchableAttributes []string 3494 3495 // The description of the thing type. 3496 ThingTypeDescription *string 3497 3498 noSmithyDocumentSerde 3499} 3500 3501// Specifies the amount of time each device has to finish its execution of the job. 3502// A timer is started when the job execution status is set to IN_PROGRESS. If the 3503// job execution status is not set to another terminal state before the timer 3504// expires, it will be automatically set to TIMED_OUT. 3505type TimeoutConfig struct { 3506 3507 // Specifies the amount of time, in minutes, this device has to finish execution of 3508 // this job. The timeout interval can be anywhere between 1 minute and 7 days (1 to 3509 // 10080 minutes). The in progress timer can't be updated and will apply to all job 3510 // executions for the job. Whenever a job execution remains in the IN_PROGRESS 3511 // status for longer than this interval, the job execution will fail and switch to 3512 // the terminal TIMED_OUT status. 3513 InProgressTimeoutInMinutes *int64 3514 3515 noSmithyDocumentSerde 3516} 3517 3518// The Timestream rule action writes attributes (measures) from an MQTT message 3519// into an Amazon Timestream table. For more information, see the Timestream 3520// (https://docs.aws.amazon.com/iot/latest/developerguide/timestream-rule-action.html) 3521// topic rule action documentation. 3522type TimestreamAction struct { 3523 3524 // The name of an Amazon Timestream database. 3525 // 3526 // This member is required. 3527 DatabaseName *string 3528 3529 // Metadata attributes of the time series that are written in each measure record. 3530 // 3531 // This member is required. 3532 Dimensions []TimestreamDimension 3533 3534 // The ARN of the role that grants permission to write to the Amazon Timestream 3535 // database table. 3536 // 3537 // This member is required. 3538 RoleArn *string 3539 3540 // The name of the database table into which to write the measure records. 3541 // 3542 // This member is required. 3543 TableName *string 3544 3545 // Specifies an application-defined value to replace the default value assigned to 3546 // the Timestream record's timestamp in the time column. You can use this property 3547 // to specify the value and the precision of the Timestream record's timestamp. You 3548 // can specify a value from the message payload or a value computed by a 3549 // substitution template. If omitted, the topic rule action assigns the timestamp, 3550 // in milliseconds, at the time it processed the rule. 3551 Timestamp *TimestreamTimestamp 3552 3553 noSmithyDocumentSerde 3554} 3555 3556// Metadata attributes of the time series that are written in each measure record. 3557type TimestreamDimension struct { 3558 3559 // The metadata dimension name. This is the name of the column in the Amazon 3560 // Timestream database table record. Dimensions cannot be named: measure_name, 3561 // measure_value, or time. These names are reserved. Dimension names cannot start 3562 // with ts_ or measure_value and they cannot contain the colon (:) character. 3563 // 3564 // This member is required. 3565 Name *string 3566 3567 // The value to write in this column of the database record. 3568 // 3569 // This member is required. 3570 Value *string 3571 3572 noSmithyDocumentSerde 3573} 3574 3575// Describes how to interpret an application-defined timestamp value from an MQTT 3576// message payload and the precision of that value. 3577type TimestreamTimestamp struct { 3578 3579 // The precision of the timestamp value that results from the expression described 3580 // in value. Valid values: SECONDS | MILLISECONDS | MICROSECONDS | NANOSECONDS. The 3581 // default is MILLISECONDS. 3582 // 3583 // This member is required. 3584 Unit *string 3585 3586 // An expression that returns a long epoch time value. 3587 // 3588 // This member is required. 3589 Value *string 3590 3591 noSmithyDocumentSerde 3592} 3593 3594// Specifies the TLS context to use for the test authorizer request. 3595type TlsContext struct { 3596 3597 // The value of the serverName key in a TLS authorization request. 3598 ServerName *string 3599 3600 noSmithyDocumentSerde 3601} 3602 3603// Describes a rule. 3604type TopicRule struct { 3605 3606 // The actions associated with the rule. 3607 Actions []Action 3608 3609 // The version of the SQL rules engine to use when evaluating the rule. 3610 AwsIotSqlVersion *string 3611 3612 // The date and time the rule was created. 3613 CreatedAt *time.Time 3614 3615 // The description of the rule. 3616 Description *string 3617 3618 // The action to perform when an error occurs. 3619 ErrorAction *Action 3620 3621 // Specifies whether the rule is disabled. 3622 RuleDisabled *bool 3623 3624 // The name of the rule. 3625 RuleName *string 3626 3627 // The SQL statement used to query the topic. When using a SQL query with multiple 3628 // lines, be sure to escape the newline characters. 3629 Sql *string 3630 3631 noSmithyDocumentSerde 3632} 3633 3634// A topic rule destination. 3635type TopicRuleDestination struct { 3636 3637 // The topic rule destination URL. 3638 Arn *string 3639 3640 // The date and time when the topic rule destination was created. 3641 CreatedAt *time.Time 3642 3643 // Properties of the HTTP URL. 3644 HttpUrlProperties *HttpUrlDestinationProperties 3645 3646 // The date and time when the topic rule destination was last updated. 3647 LastUpdatedAt *time.Time 3648 3649 // The status of the topic rule destination. Valid values are: IN_PROGRESS A topic 3650 // rule destination was created but has not been confirmed. You can set status to 3651 // IN_PROGRESS by calling UpdateTopicRuleDestination. Calling 3652 // UpdateTopicRuleDestination causes a new confirmation challenge to be sent to 3653 // your confirmation endpoint. ENABLED Confirmation was completed, and traffic to 3654 // this destination is allowed. You can set status to DISABLED by calling 3655 // UpdateTopicRuleDestination. DISABLED Confirmation was completed, and traffic to 3656 // this destination is not allowed. You can set status to ENABLED by calling 3657 // UpdateTopicRuleDestination. ERROR Confirmation could not be completed, for 3658 // example if the confirmation timed out. You can call GetTopicRuleDestination for 3659 // details about the error. You can set status to IN_PROGRESS by calling 3660 // UpdateTopicRuleDestination. Calling UpdateTopicRuleDestination causes a new 3661 // confirmation challenge to be sent to your confirmation endpoint. 3662 Status TopicRuleDestinationStatus 3663 3664 // Additional details or reason why the topic rule destination is in the current 3665 // status. 3666 StatusReason *string 3667 3668 // Properties of the virtual private cloud (VPC) connection. 3669 VpcProperties *VpcDestinationProperties 3670 3671 noSmithyDocumentSerde 3672} 3673 3674// Configuration of the topic rule destination. 3675type TopicRuleDestinationConfiguration struct { 3676 3677 // Configuration of the HTTP URL. 3678 HttpUrlConfiguration *HttpUrlDestinationConfiguration 3679 3680 // Configuration of the virtual private cloud (VPC) connection. 3681 VpcConfiguration *VpcDestinationConfiguration 3682 3683 noSmithyDocumentSerde 3684} 3685 3686// Information about the topic rule destination. 3687type TopicRuleDestinationSummary struct { 3688 3689 // The topic rule destination ARN. 3690 Arn *string 3691 3692 // The date and time when the topic rule destination was created. 3693 CreatedAt *time.Time 3694 3695 // Information about the HTTP URL. 3696 HttpUrlSummary *HttpUrlDestinationSummary 3697 3698 // The date and time when the topic rule destination was last updated. 3699 LastUpdatedAt *time.Time 3700 3701 // The status of the topic rule destination. Valid values are: IN_PROGRESS A topic 3702 // rule destination was created but has not been confirmed. You can set status to 3703 // IN_PROGRESS by calling UpdateTopicRuleDestination. Calling 3704 // UpdateTopicRuleDestination causes a new confirmation challenge to be sent to 3705 // your confirmation endpoint. ENABLED Confirmation was completed, and traffic to 3706 // this destination is allowed. You can set status to DISABLED by calling 3707 // UpdateTopicRuleDestination. DISABLED Confirmation was completed, and traffic to 3708 // this destination is not allowed. You can set status to ENABLED by calling 3709 // UpdateTopicRuleDestination. ERROR Confirmation could not be completed, for 3710 // example if the confirmation timed out. You can call GetTopicRuleDestination for 3711 // details about the error. You can set status to IN_PROGRESS by calling 3712 // UpdateTopicRuleDestination. Calling UpdateTopicRuleDestination causes a new 3713 // confirmation challenge to be sent to your confirmation endpoint. 3714 Status TopicRuleDestinationStatus 3715 3716 // The reason the topic rule destination is in the current status. 3717 StatusReason *string 3718 3719 // Information about the virtual private cloud (VPC) connection. 3720 VpcDestinationSummary *VpcDestinationSummary 3721 3722 noSmithyDocumentSerde 3723} 3724 3725// Describes a rule. 3726type TopicRuleListItem struct { 3727 3728 // The date and time the rule was created. 3729 CreatedAt *time.Time 3730 3731 // The rule ARN. 3732 RuleArn *string 3733 3734 // Specifies whether the rule is disabled. 3735 RuleDisabled *bool 3736 3737 // The name of the rule. 3738 RuleName *string 3739 3740 // The pattern for the topic names that apply. 3741 TopicPattern *string 3742 3743 noSmithyDocumentSerde 3744} 3745 3746// Describes a rule. 3747type TopicRulePayload struct { 3748 3749 // The actions associated with the rule. 3750 // 3751 // This member is required. 3752 Actions []Action 3753 3754 // The SQL statement used to query the topic. For more information, see IoT SQL 3755 // Reference 3756 // (https://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-reference.html) 3757 // in the IoT Developer Guide. 3758 // 3759 // This member is required. 3760 Sql *string 3761 3762 // The version of the SQL rules engine to use when evaluating the rule. 3763 AwsIotSqlVersion *string 3764 3765 // The description of the rule. 3766 Description *string 3767 3768 // The action to take when an error occurs. 3769 ErrorAction *Action 3770 3771 // Specifies whether the rule is disabled. 3772 RuleDisabled *bool 3773 3774 noSmithyDocumentSerde 3775} 3776 3777// Data used to transfer a certificate to an Amazon Web Services account. 3778type TransferData struct { 3779 3780 // The date the transfer was accepted. 3781 AcceptDate *time.Time 3782 3783 // The date the transfer was rejected. 3784 RejectDate *time.Time 3785 3786 // The reason why the transfer was rejected. 3787 RejectReason *string 3788 3789 // The date the transfer took place. 3790 TransferDate *time.Time 3791 3792 // The transfer message. 3793 TransferMessage *string 3794 3795 noSmithyDocumentSerde 3796} 3797 3798// Parameters to define a mitigation action that changes the state of the CA 3799// certificate to inactive. 3800type UpdateCACertificateParams struct { 3801 3802 // The action that you want to apply to the CA certificate. The only supported 3803 // value is DEACTIVATE. 3804 // 3805 // This member is required. 3806 Action CACertificateUpdateAction 3807 3808 noSmithyDocumentSerde 3809} 3810 3811// Parameters to define a mitigation action that changes the state of the device 3812// certificate to inactive. 3813type UpdateDeviceCertificateParams struct { 3814 3815 // The action that you want to apply to the device certificate. The only supported 3816 // value is DEACTIVATE. 3817 // 3818 // This member is required. 3819 Action DeviceCertificateUpdateAction 3820 3821 noSmithyDocumentSerde 3822} 3823 3824// Information about an error found in a behavior specification. 3825type ValidationError struct { 3826 3827 // The description of an error found in the behaviors. 3828 ErrorMessage *string 3829 3830 noSmithyDocumentSerde 3831} 3832 3833// Information about a Device Defender security profile behavior violation. 3834type ViolationEvent struct { 3835 3836 // The behavior that was violated. 3837 Behavior *Behavior 3838 3839 // The value of the metric (the measurement). 3840 MetricValue *MetricValue 3841 3842 // The name of the security profile whose behavior was violated. 3843 SecurityProfileName *string 3844 3845 // The name of the thing responsible for the violation event. 3846 ThingName *string 3847 3848 // The details of a violation event. 3849 ViolationEventAdditionalInfo *ViolationEventAdditionalInfo 3850 3851 // The time the violation event occurred. 3852 ViolationEventTime *time.Time 3853 3854 // The type of violation event. 3855 ViolationEventType ViolationEventType 3856 3857 // The ID of the violation event. 3858 ViolationId *string 3859 3860 noSmithyDocumentSerde 3861} 3862 3863// The details of a violation event. 3864type ViolationEventAdditionalInfo struct { 3865 3866 // The sensitivity of anomalous behavior evaluation. Can be Low, Medium, or High. 3867 ConfidenceLevel ConfidenceLevel 3868 3869 noSmithyDocumentSerde 3870} 3871 3872// Specifies the time period of which violation events occurred between. 3873type ViolationEventOccurrenceRange struct { 3874 3875 // The end date and time of a time period in which violation events occurred. 3876 // 3877 // This member is required. 3878 EndTime *time.Time 3879 3880 // The start date and time of a time period in which violation events occurred. 3881 // 3882 // This member is required. 3883 StartTime *time.Time 3884 3885 noSmithyDocumentSerde 3886} 3887 3888// The configuration information for a virtual private cloud (VPC) destination. 3889type VpcDestinationConfiguration struct { 3890 3891 // The ARN of a role that has permission to create and attach to elastic network 3892 // interfaces (ENIs). 3893 // 3894 // This member is required. 3895 RoleArn *string 3896 3897 // The subnet IDs of the VPC destination. 3898 // 3899 // This member is required. 3900 SubnetIds []string 3901 3902 // The ID of the VPC. 3903 // 3904 // This member is required. 3905 VpcId *string 3906 3907 // The security groups of the VPC destination. 3908 SecurityGroups []string 3909 3910 noSmithyDocumentSerde 3911} 3912 3913// The properties of a virtual private cloud (VPC) destination. 3914type VpcDestinationProperties struct { 3915 3916 // The ARN of a role that has permission to create and attach to elastic network 3917 // interfaces (ENIs). 3918 RoleArn *string 3919 3920 // The security groups of the VPC destination. 3921 SecurityGroups []string 3922 3923 // The subnet IDs of the VPC destination. 3924 SubnetIds []string 3925 3926 // The ID of the VPC. 3927 VpcId *string 3928 3929 noSmithyDocumentSerde 3930} 3931 3932// The summary of a virtual private cloud (VPC) destination. 3933type VpcDestinationSummary struct { 3934 3935 // The ARN of a role that has permission to create and attach to elastic network 3936 // interfaces (ENIs). 3937 RoleArn *string 3938 3939 // The security groups of the VPC destination. 3940 SecurityGroups []string 3941 3942 // The subnet IDs of the VPC destination. 3943 SubnetIds []string 3944 3945 // The ID of the VPC. 3946 VpcId *string 3947 3948 noSmithyDocumentSerde 3949} 3950 3951type noSmithyDocumentSerde = smithydocument.NoSerde 3952 3953// UnknownUnionMember is returned when a union member is returned over the wire, 3954// but has an unknown tag. 3955type UnknownUnionMember struct { 3956 Tag string 3957 Value []byte 3958 3959 noSmithyDocumentSerde 3960} 3961 3962func (*UnknownUnionMember) isAssetPropertyVariant() {} 3963