diff --git a/CHANGELOG.md b/CHANGELOG.md index adabae842eb..37da72f4ed9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,21 @@ +Release v1.38.50 (2021-05-27) +=== + +### Service Client Updates +* `service/devicefarm`: Updates service API and documentation + * Introduces support for using our desktop testing service with applications hosted within your Virtual Private Cloud (VPC). +* `service/fsx`: Updates service API and documentation +* `service/iotevents`: Updates service API and documentation +* `service/iotevents-data`: Updates service API and documentation +* `service/iotsitewise`: Updates service API and documentation +* `service/kendra`: Updates service API and documentation + * Amazon Kendra now suggests popular queries in order to help guide query typing and help overall accuracy. +* `service/lightsail`: Updates service documentation + * Documentation updates for Lightsail +* `service/resource-groups`: Updates service documentation +* `service/sqs`: Updates service documentation + * Documentation updates for Amazon SQS for General Availability of high throughput for FIFO queues. + Release v1.38.49 (2021-05-27) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 2de69cc5bc8..ddafd526507 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -5071,6 +5071,7 @@ var awsPartition = partition{ "ap-northeast-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-west-2": endpoint{}, "us-east-1": endpoint{}, @@ -10501,6 +10502,12 @@ var awsisoPartition = partition{ "us-iso-east-1": endpoint{}, }, }, + "ram": service{ + + Endpoints: endpoints{ + "us-iso-east-1": endpoint{}, + }, + }, "rds": service{ Endpoints: endpoints{ diff --git a/aws/version.go b/aws/version.go index e0d4f2a8665..94cfd51b8ef 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.38.49" +const SDKVersion = "1.38.50" diff --git a/models/apis/devicefarm/2015-06-23/api-2.json b/models/apis/devicefarm/2015-06-23/api-2.json index f25e1ab28dd..0f6c82e82c1 100644 --- a/models/apis/devicefarm/2015-06-23/api-2.json +++ b/models/apis/devicefarm/2015-06-23/api-2.json @@ -97,6 +97,8 @@ "input":{"shape":"CreateTestGridProjectRequest"}, "output":{"shape":"CreateTestGridProjectResult"}, "errors":[ + {"shape":"ArgumentException"}, + {"shape":"LimitExceededException"}, {"shape":"InternalServiceException"} ] }, @@ -1125,6 +1127,7 @@ "errors":[ {"shape":"NotFoundException"}, {"shape":"ArgumentException"}, + {"shape":"LimitExceededException"}, {"shape":"InternalServiceException"} ] }, @@ -1419,7 +1422,8 @@ "required":["name"], "members":{ "name":{"shape":"ResourceName"}, - "description":{"shape":"ResourceDescription"} + "description":{"shape":"ResourceDescription"}, + "vpcConfig":{"shape":"TestGridVpcConfig"} } }, "CreateTestGridProjectResult":{ @@ -1442,7 +1446,7 @@ "CreateTestGridUrlResult":{ "type":"structure", "members":{ - "url":{"shape":"String"}, + "url":{"shape":"SensitiveString"}, "expires":{"shape":"DateTime"} } }, @@ -1668,6 +1672,11 @@ }, "DeviceFilter":{ "type":"structure", + "required":[ + "attribute", + "operator", + "values" + ], "members":{ "attribute":{"shape":"DeviceFilterAttribute"}, "operator":{"shape":"RuleOperator"}, @@ -2650,6 +2659,12 @@ "type":"list", "member":{"shape":"NetworkProfile"} }, + "NonEmptyString":{ + "type":"string", + "max":4096, + "min":1, + "pattern":".*\\S.*" + }, "NotEligibleException":{ "type":"structure", "members":{ @@ -2789,6 +2804,10 @@ }, "PurchaseOfferingRequest":{ "type":"structure", + "required":[ + "offeringId", + "quantity" + ], "members":{ "offeringId":{"shape":"OfferingIdentifier"}, "quantity":{"shape":"Integer"}, @@ -2862,6 +2881,10 @@ }, "RenewOfferingRequest":{ "type":"structure", + "required":[ + "offeringId", + "quantity" + ], "members":{ "offeringId":{"shape":"OfferingIdentifier"}, "quantity":{"shape":"Integer"} @@ -3045,6 +3068,22 @@ "parameters":{"shape":"TestParameters"} } }, + "SecurityGroupIds":{ + "type":"list", + "member":{"shape":"NonEmptyString"}, + "max":5, + "min":1 + }, + "SensitiveString":{ + "type":"string", + "sensitive":true + }, + "SensitiveURL":{ + "type":"string", + "max":2048, + "min":0, + "sensitive":true + }, "ServiceAccountException":{ "type":"structure", "members":{ @@ -3103,6 +3142,12 @@ } }, "String":{"type":"string"}, + "SubnetIds":{ + "type":"list", + "member":{"shape":"NonEmptyString"}, + "max":8, + "min":1 + }, "Suite":{ "type":"structure", "members":{ @@ -3208,6 +3253,7 @@ "arn":{"shape":"DeviceFarmArn"}, "name":{"shape":"String"}, "description":{"shape":"String"}, + "vpcConfig":{"shape":"TestGridVpcConfig"}, "created":{"shape":"DateTime"} } }, @@ -3245,7 +3291,7 @@ "members":{ "filename":{"shape":"String"}, "type":{"shape":"TestGridSessionArtifactType"}, - "url":{"shape":"String"} + "url":{"shape":"SensitiveString"} } }, "TestGridSessionArtifactCategory":{ @@ -3284,6 +3330,19 @@ "max":86400, "min":60 }, + "TestGridVpcConfig":{ + "type":"structure", + "required":[ + "securityGroupIds", + "subnetIds", + "vpcId" + ], + "members":{ + "securityGroupIds":{"shape":"SecurityGroupIds"}, + "subnetIds":{"shape":"SubnetIds"}, + "vpcId":{"shape":"NonEmptyString"} + } + }, "TestParameters":{ "type":"map", "key":{"shape":"String"}, @@ -3471,7 +3530,8 @@ "members":{ "projectArn":{"shape":"DeviceFarmArn"}, "name":{"shape":"ResourceName"}, - "description":{"shape":"ResourceDescription"} + "description":{"shape":"ResourceDescription"}, + "vpcConfig":{"shape":"TestGridVpcConfig"} } }, "UpdateTestGridProjectResult":{ @@ -3521,7 +3581,7 @@ "created":{"shape":"DateTime"}, "type":{"shape":"UploadType"}, "status":{"shape":"UploadStatus"}, - "url":{"shape":"URL"}, + "url":{"shape":"SensitiveURL"}, "metadata":{"shape":"Metadata"}, "contentType":{"shape":"ContentType"}, "message":{"shape":"Message"}, diff --git a/models/apis/devicefarm/2015-06-23/docs-2.json b/models/apis/devicefarm/2015-06-23/docs-2.json index beccbd6b5c2..0f26383e4cc 100644 --- a/models/apis/devicefarm/2015-06-23/docs-2.json +++ b/models/apis/devicefarm/2015-06-23/docs-2.json @@ -1493,6 +1493,14 @@ "ListNetworkProfilesResult$networkProfiles": "

A list of the available network profiles.

" } }, + "NonEmptyString": { + "base": null, + "refs": { + "SecurityGroupIds$member": null, + "SubnetIds$member": null, + "TestGridVpcConfig$vpcId": "

The ID of the Amazon VPC.

" + } + }, "NotEligibleException": { "base": "

Exception gets thrown when a user is not eligible to perform the specified transaction.

", "refs": { @@ -1864,6 +1872,25 @@ "ScheduleRunRequest$test": "

Information about the test for the run to be scheduled.

" } }, + "SecurityGroupIds": { + "base": null, + "refs": { + "TestGridVpcConfig$securityGroupIds": "

A list of VPC security group IDs in your Amazon VPC.

" + } + }, + "SensitiveString": { + "base": null, + "refs": { + "CreateTestGridUrlResult$url": "

A signed URL, expiring in CreateTestGridUrlRequest$expiresInSeconds seconds, to be passed to a RemoteWebDriver.

", + "TestGridSessionArtifact$url": "

A semi-stable URL to the content of the object.

" + } + }, + "SensitiveURL": { + "base": null, + "refs": { + "Upload$url": "

The presigned Amazon S3 URL that was used to store a file using a PUT request.

" + } + }, "ServiceAccountException": { "base": "

There was a problem with the service account.

", "refs": { @@ -1929,7 +1956,6 @@ "Artifact$extension": "

The artifact's file extension.

", "CPU$frequency": "

The CPU's frequency.

", "CPU$architecture": "

The CPU's architecture (for example, x86 or ARM).

", - "CreateTestGridUrlResult$url": "

A signed URL, expiring in CreateTestGridUrlRequest$expiresInSeconds seconds, to be passed to a RemoteWebDriver.

", "Device$manufacturer": "

The device's manufacturer name.

", "Device$model": "

The device's model name.

", "Device$modelId": "

The device's model ID.

", @@ -1961,11 +1987,16 @@ "TestGridSessionAction$statusCode": "

HTTP status code returned to the browser when the action was taken.

", "TestGridSessionAction$requestMethod": "

HTTP method that the browser used to make the request.

", "TestGridSessionArtifact$filename": "

The file name of the artifact.

", - "TestGridSessionArtifact$url": "

A semi-stable URL to the content of the object.

", "TestParameters$key": null, "TestParameters$value": null } }, + "SubnetIds": { + "base": null, + "refs": { + "TestGridVpcConfig$subnetIds": "

A list of VPC subnet IDs in your Amazon VPC.

" + } + }, "Suite": { "base": "

Represents a collection of one or more tests.

", "refs": { @@ -2115,6 +2146,14 @@ "CreateTestGridUrlRequest$expiresInSeconds": "

Lifetime, in seconds, of the URL.

" } }, + "TestGridVpcConfig": { + "base": "

The VPC security groups and subnets that are attached to a project.

", + "refs": { + "CreateTestGridProjectRequest$vpcConfig": "

The VPC security groups and subnets that are attached to a project.

", + "TestGridProject$vpcConfig": "

The VPC security groups and subnets that are attached to a project.

", + "UpdateTestGridProjectRequest$vpcConfig": "

The VPC security groups and subnets that are attached to a project.

" + } + }, "TestParameters": { "base": null, "refs": { @@ -2159,8 +2198,7 @@ "base": null, "refs": { "Artifact$url": "

The presigned Amazon S3 URL that can be used with a GET request to download the artifact's file.

", - "Sample$url": "

The presigned Amazon S3 URL that can be used with a GET request to download the sample's file.

", - "Upload$url": "

The presigned Amazon S3 URL that was used to store a file using a PUT request.

" + "Sample$url": "

The presigned Amazon S3 URL that can be used with a GET request to download the sample's file.

" } }, "UniqueProblem": { diff --git a/models/apis/fsx/2018-03-01/api-2.json b/models/apis/fsx/2018-03-01/api-2.json index 266c35c6f8a..26cf80df0b6 100644 --- a/models/apis/fsx/2018-03-01/api-2.json +++ b/models/apis/fsx/2018-03-01/api-2.json @@ -706,7 +706,8 @@ "DailyAutomaticBackupStartTime":{"shape":"DailyTime"}, "AutomaticBackupRetentionDays":{"shape":"AutomaticBackupRetentionDays"}, "CopyTagsToBackups":{"shape":"Flag"}, - "DriveCacheType":{"shape":"DriveCacheType"} + "DriveCacheType":{"shape":"DriveCacheType"}, + "DataCompressionType":{"shape":"DataCompressionType"} } }, "CreateFileSystemRequest":{ @@ -767,6 +768,13 @@ "min":5, "pattern":"^([01]\\d|2[0-3]):?([0-5]\\d)$" }, + "DataCompressionType":{ + "type":"string", + "enum":[ + "NONE", + "LZ4" + ] + }, "DataRepositoryConfiguration":{ "type":"structure", "members":{ @@ -1354,7 +1362,8 @@ "DailyAutomaticBackupStartTime":{"shape":"DailyTime"}, "AutomaticBackupRetentionDays":{"shape":"AutomaticBackupRetentionDays"}, "CopyTagsToBackups":{"shape":"Flag"}, - "DriveCacheType":{"shape":"DriveCacheType"} + "DriveCacheType":{"shape":"DriveCacheType"}, + "DataCompressionType":{"shape":"DataCompressionType"} } }, "LustreFileSystemMountName":{ @@ -1677,7 +1686,8 @@ "WeeklyMaintenanceStartTime":{"shape":"WeeklyTime"}, "DailyAutomaticBackupStartTime":{"shape":"DailyTime"}, "AutomaticBackupRetentionDays":{"shape":"AutomaticBackupRetentionDays"}, - "AutoImportPolicy":{"shape":"AutoImportPolicyType"} + "AutoImportPolicy":{"shape":"AutoImportPolicyType"}, + "DataCompressionType":{"shape":"DataCompressionType"} } }, "UpdateFileSystemRequest":{ diff --git a/models/apis/fsx/2018-03-01/docs-2.json b/models/apis/fsx/2018-03-01/docs-2.json index d223b4d56b0..06095513a0e 100644 --- a/models/apis/fsx/2018-03-01/docs-2.json +++ b/models/apis/fsx/2018-03-01/docs-2.json @@ -4,7 +4,7 @@ "operations": { "AssociateFileSystemAliases": "

Use this action to associate one or more Domain Name Server (DNS) aliases with an existing Amazon FSx for Windows File Server file system. A file systen can have a maximum of 50 DNS aliases associated with it at any one time. If you try to associate a DNS alias that is already associated with the file system, FSx takes no action on that alias in the request. For more information, see Working with DNS Aliases and Walkthrough 5: Using DNS aliases to access your file system, including additional steps you must take to be able to access your file system using a DNS alias.

The system response shows the DNS aliases that Amazon FSx is attempting to associate with the file system. Use the API operation to monitor the status of the aliases Amazon FSx is associating with the file system.

", "CancelDataRepositoryTask": "

Cancels an existing Amazon FSx for Lustre data repository task if that task is in either the PENDING or EXECUTING state. When you cancel a task, Amazon FSx does the following.

", - "CopyBackup": "

Copies an existing backup within the same AWS account to another Region (cross-Region copy) or within the same Region (in-Region copy). You can have up to five backup copy requests in progress to a single destination Region per account.

You can use cross-Region backup copies for cross-region disaster recovery. You periodically take backups and copy them to another Region so that in the event of a disaster in the primary Region, you can restore from backup and recover availability quickly in the other Region. You can make cross-Region copies only within your AWS partition.

You can also use backup copies to clone your file data set to another Region or within the same Region.

You can use the SourceRegion parameter to specify the AWS Region from which the backup will be copied. For example, if you make the call from the us-west-1 Region and want to copy a backup from the us-east-2 Region, you specify us-east-2 in the SourceRegion parameter to make a cross-Region copy. If you don't specify a Region, the backup copy is created in the same Region where the request is sent from (in-Region copy).

For more information on creating backup copies, see Copying backups in the Amazon FSx for Windows User Guide and Copying backups in the Amazon FSx for Lustre User Guide.

", + "CopyBackup": "

Copies an existing backup within the same AWS account to another Region (cross-Region copy) or within the same Region (in-Region copy). You can have up to five backup copy requests in progress to a single destination Region per account.

You can use cross-Region backup copies for cross-region disaster recovery. You periodically take backups and copy them to another Region so that in the event of a disaster in the primary Region, you can restore from backup and recover availability quickly in the other Region. You can make cross-Region copies only within your AWS partition.

You can also use backup copies to clone your file data set to another Region or within the same Region.

You can use the SourceRegion parameter to specify the AWS Region from which the backup will be copied. For example, if you make the call from the us-west-1 Region and want to copy a backup from the us-east-2 Region, you specify us-east-2 in the SourceRegion parameter to make a cross-Region copy. If you don't specify a Region, the backup copy is created in the same Region where the request is sent from (in-Region copy).

For more information on creating backup copies, see Copying backups in the Amazon FSx for Windows User Guide and Copying backups in the Amazon FSx for Lustre User Guide.

", "CreateBackup": "

Creates a backup of an existing Amazon FSx file system. Creating regular backups for your file system is a best practice, enabling you to restore a file system from a backup if an issue arises with the original file system.

For Amazon FSx for Lustre file systems, you can create a backup only for file systems with the following configuration:

For more information about backing up Amazon FSx for Lustre file systems, see Working with FSx for Lustre backups.

For more information about backing up Amazon FSx for Windows file systems, see Working with FSx for Windows backups.

If a backup with the specified client request token exists, and the parameters match, this operation returns the description of the existing backup. If a backup specified client request token exists, and the parameters don't match, this operation returns IncompatibleParameterError. If a backup with the specified client request token doesn't exist, CreateBackup does the following:

By using the idempotent operation, you can retry a CreateBackup operation without the risk of creating an extra backup. This approach can be useful when an initial call fails in a way that makes it unclear whether a backup was created. If you use the same client request token and the initial call created a backup, the operation returns a successful result because all the parameters are the same.

The CreateBackup operation returns while the backup's lifecycle state is still CREATING. You can check the backup creation status by calling the DescribeBackups operation, which returns the backup state along with other information.

", "CreateDataRepositoryTask": "

Creates an Amazon FSx for Lustre data repository task. You use data repository tasks to perform bulk operations between your Amazon FSx file system and its linked data repository. An example of a data repository task is exporting any data and metadata changes, including POSIX metadata, to files, directories, and symbolic links (symlinks) from your FSx file system to its linked data repository. A CreateDataRepositoryTask operation will fail if a data repository is not linked to the FSx file system. To learn more about data repository tasks, see Data Repository Tasks. To learn more about linking a data repository to your file system, see Linking your file system to an S3 bucket.

", "CreateFileSystem": "

Creates a new, empty Amazon FSx file system.

If a file system with the specified client request token exists and the parameters match, CreateFileSystem returns the description of the existing file system. If a file system specified client request token exists and the parameters don't match, this call returns IncompatibleParameterError. If a file system with the specified client request token doesn't exist, CreateFileSystem does the following:

This operation requires a client request token in the request that Amazon FSx uses to ensure idempotent creation. This means that calling the operation multiple times with the same client request token has no effect. By using the idempotent operation, you can retry a CreateFileSystem operation without the risk of creating an extra file system. This approach can be useful when an initial call fails in a way that makes it unclear whether a file system was created. Examples are if a transport level timeout occurred, or your connection was reset. If you use the same client request token and the initial call created a file system, the client receives success as long as the parameters are the same.

The CreateFileSystem call returns while the file system's lifecycle state is still CREATING. You can check the file-system creation status by calling the DescribeFileSystems operation, which returns the file system state along with other information.

", @@ -19,7 +19,7 @@ "ListTagsForResource": "

Lists tags for an Amazon FSx file systems and backups in the case of Amazon FSx for Windows File Server.

When retrieving all tags, you can optionally specify the MaxResults parameter to limit the number of tags in a response. If more tags remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response.

This action is used in an iterative process to retrieve a list of your tags. ListTagsForResource is called first without a NextTokenvalue. Then the action continues to be called with the NextToken parameter set to the value of the last NextToken value until a response has no NextToken.

When using this action, keep the following in mind:

", "TagResource": "

Tags an Amazon FSx resource.

", "UntagResource": "

This action removes a tag from an Amazon FSx resource.

", - "UpdateFileSystem": "

Use this operation to update the configuration of an existing Amazon FSx file system. You can update multiple properties in a single request.

For Amazon FSx for Windows File Server file systems, you can update the following properties:

For Amazon FSx for Lustre file systems, you can update the following properties:

" + "UpdateFileSystem": "

Use this operation to update the configuration of an existing Amazon FSx file system. You can update multiple properties in a single request.

For Amazon FSx for Windows File Server file systems, you can update the following properties:

For Amazon FSx for Lustre file systems, you can update the following properties:

" }, "shapes": { "AWSAccountId": { @@ -355,6 +355,14 @@ "WindowsFileSystemConfiguration$DailyAutomaticBackupStartTime": "

The preferred time to take daily automatic backups, in the UTC time zone.

" } }, + "DataCompressionType": { + "base": null, + "refs": { + "CreateFileSystemLustreConfiguration$DataCompressionType": "

Sets the data compression configuration for the file system. DataCompressionType can have the following values:

For more information, see Lustre data compression.

", + "LustreFileSystemConfiguration$DataCompressionType": "

The data compression configuration for the file system. DataCompressionType can have the following values:

For more information, see Lustre data compression.

", + "UpdateFileSystemLustreConfiguration$DataCompressionType": "

Sets the data compression configuration for the file system. DataCompressionType can have the following values:

If you don't use DataCompressionType, the file system retains its current data compression configuration.

For more information, see Lustre data compression.

" + } + }, "DataRepositoryConfiguration": { "base": "

The data repository configuration object for Lustre file systems returned in the response of the CreateFileSystem operation.

", "refs": { diff --git a/models/apis/iotevents-data/2018-10-23/api-2.json b/models/apis/iotevents-data/2018-10-23/api-2.json index 958c42baf56..04885db84b5 100644 --- a/models/apis/iotevents-data/2018-10-23/api-2.json +++ b/models/apis/iotevents-data/2018-10-23/api-2.json @@ -11,6 +11,54 @@ "uid":"iotevents-data-2018-10-23" }, "operations":{ + "BatchAcknowledgeAlarm":{ + "name":"BatchAcknowledgeAlarm", + "http":{ + "method":"POST", + "requestUri":"/alarms/acknowledge", + "responseCode":202 + }, + "input":{"shape":"BatchAcknowledgeAlarmRequest"}, + "output":{"shape":"BatchAcknowledgeAlarmResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ] + }, + "BatchDisableAlarm":{ + "name":"BatchDisableAlarm", + "http":{ + "method":"POST", + "requestUri":"/alarms/disable", + "responseCode":202 + }, + "input":{"shape":"BatchDisableAlarmRequest"}, + "output":{"shape":"BatchDisableAlarmResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ] + }, + "BatchEnableAlarm":{ + "name":"BatchEnableAlarm", + "http":{ + "method":"POST", + "requestUri":"/alarms/enable", + "responseCode":202 + }, + "input":{"shape":"BatchEnableAlarmRequest"}, + "output":{"shape":"BatchEnableAlarmResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ] + }, "BatchPutMessage":{ "name":"BatchPutMessage", "http":{ @@ -27,6 +75,38 @@ {"shape":"ThrottlingException"} ] }, + "BatchResetAlarm":{ + "name":"BatchResetAlarm", + "http":{ + "method":"POST", + "requestUri":"/alarms/reset", + "responseCode":202 + }, + "input":{"shape":"BatchResetAlarmRequest"}, + "output":{"shape":"BatchResetAlarmResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ] + }, + "BatchSnoozeAlarm":{ + "name":"BatchSnoozeAlarm", + "http":{ + "method":"POST", + "requestUri":"/alarms/snooze", + "responseCode":202 + }, + "input":{"shape":"BatchSnoozeAlarmRequest"}, + "output":{"shape":"BatchSnoozeAlarmResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ] + }, "BatchUpdateDetector":{ "name":"BatchUpdateDetector", "http":{ @@ -43,6 +123,22 @@ {"shape":"ThrottlingException"} ] }, + "DescribeAlarm":{ + "name":"DescribeAlarm", + "http":{ + "method":"GET", + "requestUri":"/alarms/{alarmModelName}/keyValues/" + }, + "input":{"shape":"DescribeAlarmRequest"}, + "output":{"shape":"DescribeAlarmResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ] + }, "DescribeDetector":{ "name":"DescribeDetector", "http":{ @@ -59,6 +155,22 @@ {"shape":"ServiceUnavailableException"} ] }, + "ListAlarms":{ + "name":"ListAlarms", + "http":{ + "method":"GET", + "requestUri":"/alarms/{alarmModelName}" + }, + "input":{"shape":"ListAlarmsRequest"}, + "output":{"shape":"ListAlarmsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ] + }, "ListDetectors":{ "name":"ListDetectors", "http":{ @@ -77,6 +189,139 @@ } }, "shapes":{ + "AcknowledgeActionConfiguration":{ + "type":"structure", + "members":{ + "note":{"shape":"Note"} + } + }, + "AcknowledgeAlarmActionRequest":{ + "type":"structure", + "required":[ + "requestId", + "alarmModelName" + ], + "members":{ + "requestId":{"shape":"RequestId"}, + "alarmModelName":{"shape":"AlarmModelName"}, + "keyValue":{"shape":"KeyValue"}, + "note":{"shape":"Note"} + } + }, + "AcknowledgeAlarmActionRequests":{ + "type":"list", + "member":{"shape":"AcknowledgeAlarmActionRequest"}, + "min":1 + }, + "Alarm":{ + "type":"structure", + "members":{ + "alarmModelName":{"shape":"AlarmModelName"}, + "alarmModelVersion":{"shape":"AlarmModelVersion"}, + "keyValue":{"shape":"KeyValue"}, + "alarmState":{"shape":"AlarmState"}, + "severity":{"shape":"Severity"}, + "creationTime":{"shape":"Timestamp"}, + "lastUpdateTime":{"shape":"Timestamp"} + } + }, + "AlarmModelName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_-]+$" + }, + "AlarmModelVersion":{ + "type":"string", + "max":128, + "min":1 + }, + "AlarmState":{ + "type":"structure", + "members":{ + "stateName":{"shape":"AlarmStateName"}, + "ruleEvaluation":{"shape":"RuleEvaluation"}, + "customerAction":{"shape":"CustomerAction"}, + "systemEvent":{"shape":"SystemEvent"} + } + }, + "AlarmStateName":{ + "type":"string", + "enum":[ + "DISABLED", + "NORMAL", + "ACTIVE", + "ACKNOWLEDGED", + "SNOOZE_DISABLED", + "LATCHED" + ] + }, + "AlarmSummaries":{ + "type":"list", + "member":{"shape":"AlarmSummary"} + }, + "AlarmSummary":{ + "type":"structure", + "members":{ + "alarmModelName":{"shape":"AlarmModelName"}, + "alarmModelVersion":{"shape":"AlarmModelVersion"}, + "keyValue":{"shape":"KeyValue"}, + "stateName":{"shape":"AlarmStateName"}, + "creationTime":{"shape":"Timestamp"}, + "lastUpdateTime":{"shape":"Timestamp"} + } + }, + "BatchAcknowledgeAlarmRequest":{ + "type":"structure", + "required":["acknowledgeActionRequests"], + "members":{ + "acknowledgeActionRequests":{"shape":"AcknowledgeAlarmActionRequests"} + } + }, + "BatchAcknowledgeAlarmResponse":{ + "type":"structure", + "members":{ + "errorEntries":{"shape":"BatchAlarmActionErrorEntries"} + } + }, + "BatchAlarmActionErrorEntries":{ + "type":"list", + "member":{"shape":"BatchAlarmActionErrorEntry"} + }, + "BatchAlarmActionErrorEntry":{ + "type":"structure", + "members":{ + "requestId":{"shape":"RequestId"}, + "errorCode":{"shape":"ErrorCode"}, + "errorMessage":{"shape":"ErrorMessage"} + } + }, + "BatchDisableAlarmRequest":{ + "type":"structure", + "required":["disableActionRequests"], + "members":{ + "disableActionRequests":{"shape":"DisableAlarmActionRequests"} + } + }, + "BatchDisableAlarmResponse":{ + "type":"structure", + "members":{ + "errorEntries":{"shape":"BatchAlarmActionErrorEntries"} + } + }, + "BatchEnableAlarmRequest":{ + "type":"structure", + "required":["enableActionRequests"], + "members":{ + "enableActionRequests":{"shape":"EnableAlarmActionRequests"} + } + }, + "BatchEnableAlarmResponse":{ + "type":"structure", + "members":{ + "errorEntries":{"shape":"BatchAlarmActionErrorEntries"} + } + }, "BatchPutMessageErrorEntries":{ "type":"list", "member":{"shape":"BatchPutMessageErrorEntry"} @@ -102,6 +347,32 @@ "BatchPutMessageErrorEntries":{"shape":"BatchPutMessageErrorEntries"} } }, + "BatchResetAlarmRequest":{ + "type":"structure", + "required":["resetActionRequests"], + "members":{ + "resetActionRequests":{"shape":"ResetAlarmActionRequests"} + } + }, + "BatchResetAlarmResponse":{ + "type":"structure", + "members":{ + "errorEntries":{"shape":"BatchAlarmActionErrorEntries"} + } + }, + "BatchSnoozeAlarmRequest":{ + "type":"structure", + "required":["snoozeActionRequests"], + "members":{ + "snoozeActionRequests":{"shape":"SnoozeAlarmActionRequests"} + } + }, + "BatchSnoozeAlarmResponse":{ + "type":"structure", + "members":{ + "errorEntries":{"shape":"BatchAlarmActionErrorEntries"} + } + }, "BatchUpdateDetectorErrorEntries":{ "type":"list", "member":{"shape":"BatchUpdateDetectorErrorEntry"} @@ -127,6 +398,60 @@ "batchUpdateDetectorErrorEntries":{"shape":"BatchUpdateDetectorErrorEntries"} } }, + "ComparisonOperator":{ + "type":"string", + "enum":[ + "GREATER", + "GREATER_OR_EQUAL", + "LESS", + "LESS_OR_EQUAL", + "EQUAL", + "NOT_EQUAL" + ] + }, + "CustomerAction":{ + "type":"structure", + "members":{ + "actionName":{"shape":"CustomerActionName"}, + "snoozeActionConfiguration":{"shape":"SnoozeActionConfiguration"}, + "enableActionConfiguration":{"shape":"EnableActionConfiguration"}, + "disableActionConfiguration":{"shape":"DisableActionConfiguration"}, + "acknowledgeActionConfiguration":{"shape":"AcknowledgeActionConfiguration"}, + "resetActionConfiguration":{"shape":"ResetActionConfiguration"} + } + }, + "CustomerActionName":{ + "type":"string", + "enum":[ + "SNOOZE", + "ENABLE", + "DISABLE", + "ACKNOWLEDGE", + "RESET" + ] + }, + "DescribeAlarmRequest":{ + "type":"structure", + "required":["alarmModelName"], + "members":{ + "alarmModelName":{ + "shape":"AlarmModelName", + "location":"uri", + "locationName":"alarmModelName" + }, + "keyValue":{ + "shape":"KeyValue", + "location":"querystring", + "locationName":"keyValue" + } + } + }, + "DescribeAlarmResponse":{ + "type":"structure", + "members":{ + "alarm":{"shape":"Alarm"} + } + }, "DescribeDetectorRequest":{ "type":"structure", "required":["detectorModelName"], @@ -218,6 +543,65 @@ "lastUpdateTime":{"shape":"Timestamp"} } }, + "DisableActionConfiguration":{ + "type":"structure", + "members":{ + "note":{"shape":"Note"} + } + }, + "DisableAlarmActionRequest":{ + "type":"structure", + "required":[ + "requestId", + "alarmModelName" + ], + "members":{ + "requestId":{"shape":"RequestId"}, + "alarmModelName":{"shape":"AlarmModelName"}, + "keyValue":{"shape":"KeyValue"}, + "note":{"shape":"Note"} + } + }, + "DisableAlarmActionRequests":{ + "type":"list", + "member":{"shape":"DisableAlarmActionRequest"}, + "min":1 + }, + "EnableActionConfiguration":{ + "type":"structure", + "members":{ + "note":{"shape":"Note"} + } + }, + "EnableAlarmActionRequest":{ + "type":"structure", + "required":[ + "requestId", + "alarmModelName" + ], + "members":{ + "requestId":{"shape":"RequestId"}, + "alarmModelName":{"shape":"AlarmModelName"}, + "keyValue":{"shape":"KeyValue"}, + "note":{"shape":"Note"} + } + }, + "EnableAlarmActionRequests":{ + "type":"list", + "member":{"shape":"EnableAlarmActionRequest"}, + "min":1 + }, + "EphemeralInputName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9][a-zA-Z0-9_.-]*$" + }, + "EpochMilliTimestamp":{ + "type":"long", + "max":9223372036854775807, + "min":1 + }, "ErrorCode":{ "type":"string", "enum":[ @@ -229,12 +613,11 @@ ] }, "ErrorMessage":{"type":"string"}, - "InputName":{ + "EventType":{ "type":"string", - "max":128, - "min":1, - "pattern":"^[a-zA-Z][a-zA-Z0-9_]*$" + "enum":["STATE_CHANGE"] }, + "InputPropertyValue":{"type":"string"}, "InternalFailureException":{ "type":"structure", "members":{ @@ -258,6 +641,34 @@ "min":1, "pattern":"^[a-zA-Z0-9\\-_:]+$" }, + "ListAlarmsRequest":{ + "type":"structure", + "required":["alarmModelName"], + "members":{ + "alarmModelName":{ + "shape":"AlarmModelName", + "location":"uri", + "locationName":"alarmModelName" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListAlarmsResponse":{ + "type":"structure", + "members":{ + "alarmSummaries":{"shape":"AlarmSummaries"}, + "nextToken":{"shape":"NextToken"} + } + }, "ListDetectorsRequest":{ "type":"structure", "required":["detectorModelName"], @@ -305,8 +716,9 @@ ], "members":{ "messageId":{"shape":"MessageId"}, - "inputName":{"shape":"InputName"}, - "payload":{"shape":"Payload"} + "inputName":{"shape":"EphemeralInputName"}, + "payload":{"shape":"Payload"}, + "timestamp":{"shape":"TimestampValue"} } }, "MessageId":{ @@ -321,7 +733,41 @@ "min":1 }, "NextToken":{"type":"string"}, + "Note":{ + "type":"string", + "max":256 + }, "Payload":{"type":"blob"}, + "RequestId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9_-]+$" + }, + "ResetActionConfiguration":{ + "type":"structure", + "members":{ + "note":{"shape":"Note"} + } + }, + "ResetAlarmActionRequest":{ + "type":"structure", + "required":[ + "requestId", + "alarmModelName" + ], + "members":{ + "requestId":{"shape":"RequestId"}, + "alarmModelName":{"shape":"AlarmModelName"}, + "keyValue":{"shape":"KeyValue"}, + "note":{"shape":"Note"} + } + }, + "ResetAlarmActionRequests":{ + "type":"list", + "member":{"shape":"ResetAlarmActionRequest"}, + "min":1 + }, "ResourceNotFoundException":{ "type":"structure", "members":{ @@ -330,6 +776,12 @@ "error":{"httpStatusCode":404}, "exception":true }, + "RuleEvaluation":{ + "type":"structure", + "members":{ + "simpleRuleEvaluation":{"shape":"SimpleRuleEvaluation"} + } + }, "Seconds":{"type":"integer"}, "ServiceUnavailableException":{ "type":"structure", @@ -340,11 +792,67 @@ "exception":true, "fault":true }, + "Severity":{ + "type":"integer", + "box":true, + "max":2147483647, + "min":0 + }, + "SimpleRuleEvaluation":{ + "type":"structure", + "members":{ + "inputPropertyValue":{"shape":"InputPropertyValue"}, + "operator":{"shape":"ComparisonOperator"}, + "thresholdValue":{"shape":"ThresholdValue"} + } + }, + "SnoozeActionConfiguration":{ + "type":"structure", + "members":{ + "snoozeDuration":{"shape":"SnoozeDuration"}, + "note":{"shape":"Note"} + } + }, + "SnoozeAlarmActionRequest":{ + "type":"structure", + "required":[ + "requestId", + "alarmModelName", + "snoozeDuration" + ], + "members":{ + "requestId":{"shape":"RequestId"}, + "alarmModelName":{"shape":"AlarmModelName"}, + "keyValue":{"shape":"KeyValue"}, + "note":{"shape":"Note"}, + "snoozeDuration":{"shape":"SnoozeDuration"} + } + }, + "SnoozeAlarmActionRequests":{ + "type":"list", + "member":{"shape":"SnoozeAlarmActionRequest"}, + "min":1 + }, + "SnoozeDuration":{"type":"integer"}, + "StateChangeConfiguration":{ + "type":"structure", + "members":{ + "triggerType":{"shape":"TriggerType"} + } + }, "StateName":{ "type":"string", "max":128, "min":1 }, + "SystemEvent":{ + "type":"structure", + "members":{ + "eventType":{"shape":"EventType"}, + "stateChangeConfiguration":{"shape":"StateChangeConfiguration"} + } + }, + "ThresholdValue":{"type":"string"}, "ThrottlingException":{ "type":"structure", "members":{ @@ -389,6 +897,16 @@ "member":{"shape":"Timer"} }, "Timestamp":{"type":"timestamp"}, + "TimestampValue":{ + "type":"structure", + "members":{ + "timeInMillis":{"shape":"EpochMilliTimestamp"} + } + }, + "TriggerType":{ + "type":"string", + "enum":["SNOOZE_TIMEOUT"] + }, "UpdateDetectorRequest":{ "type":"structure", "required":[ diff --git a/models/apis/iotevents-data/2018-10-23/docs-2.json b/models/apis/iotevents-data/2018-10-23/docs-2.json index abf5eca8a37..a0af42a4e4f 100644 --- a/models/apis/iotevents-data/2018-10-23/docs-2.json +++ b/models/apis/iotevents-data/2018-10-23/docs-2.json @@ -1,13 +1,136 @@ { "version": "2.0", - "service": "

AWS IoT Events monitors your equipment or device fleets for failures or changes in operation, and triggers actions when such events occur. AWS IoT Events Data API commands enable you to send inputs to detectors, list detectors, and view or update a detector's status.

", + "service": "

AWS IoT Events monitors your equipment or device fleets for failures or changes in operation, and triggers actions when such events occur. You can use AWS IoT Events Data API commands to send inputs to detectors, list detectors, and view or update a detector's status.

For more information, see What is AWS IoT Events? in the AWS IoT Events Developer Guide.

", "operations": { + "BatchAcknowledgeAlarm": "

Acknowledges one or more alarms. The alarms change to the ACKNOWLEDGED state after you acknowledge them.

", + "BatchDisableAlarm": "

Disables one or more alarms. The alarms change to the DISABLED state after you disable them.

", + "BatchEnableAlarm": "

Enables one or more alarms. The alarms change to the NORMAL state after you enable them.

", "BatchPutMessage": "

Sends a set of messages to the AWS IoT Events system. Each message payload is transformed into the input you specify (\"inputName\") and ingested into any detectors that monitor that input. If multiple messages are sent, the order in which the messages are processed isn't guaranteed. To guarantee ordering, you must send messages one at a time and wait for a successful response.

", + "BatchResetAlarm": "

Resets one or more alarms. The alarms return to the NORMAL state after you reset them.

", + "BatchSnoozeAlarm": "

Changes one or more alarms to the snooze mode. The alarms change to the SNOOZE_DISABLED state after you set them to the snooze mode.

", "BatchUpdateDetector": "

Updates the state, variable values, and timer settings of one or more detectors (instances) of a specified detector model.

", + "DescribeAlarm": "

Retrieves information about an alarm.

", "DescribeDetector": "

Returns information about the specified detector (instance).

", + "ListAlarms": "

Lists one or more alarms. The operation returns only the metadata associated with each alarm.

", "ListDetectors": "

Lists detectors (the instances of a detector model).

" }, "shapes": { + "AcknowledgeActionConfiguration": { + "base": "

Contains the configuration information of an acknowledge action.

", + "refs": { + "CustomerAction$acknowledgeActionConfiguration": "

Contains the configuration information of an acknowledge action.

" + } + }, + "AcknowledgeAlarmActionRequest": { + "base": "

Information needed to acknowledge the alarm.

", + "refs": { + "AcknowledgeAlarmActionRequests$member": null + } + }, + "AcknowledgeAlarmActionRequests": { + "base": null, + "refs": { + "BatchAcknowledgeAlarmRequest$acknowledgeActionRequests": "

The list of acknowledge action requests. You can specify up to 10 requests per operation.

" + } + }, + "Alarm": { + "base": "

Contains information about an alarm.

", + "refs": { + "DescribeAlarmResponse$alarm": "

Contains information about an alarm.

" + } + }, + "AlarmModelName": { + "base": null, + "refs": { + "AcknowledgeAlarmActionRequest$alarmModelName": "

The name of the alarm model.

", + "Alarm$alarmModelName": "

The name of the alarm model.

", + "AlarmSummary$alarmModelName": "

The name of the alarm model.

", + "DescribeAlarmRequest$alarmModelName": "

The name of the alarm model.

", + "DisableAlarmActionRequest$alarmModelName": "

The name of the alarm model.

", + "EnableAlarmActionRequest$alarmModelName": "

The name of the alarm model.

", + "ListAlarmsRequest$alarmModelName": "

The name of the alarm model.

", + "ResetAlarmActionRequest$alarmModelName": "

The name of the alarm model.

", + "SnoozeAlarmActionRequest$alarmModelName": "

The name of the alarm model.

" + } + }, + "AlarmModelVersion": { + "base": null, + "refs": { + "Alarm$alarmModelVersion": "

The version of the alarm model.

", + "AlarmSummary$alarmModelVersion": "

The version of the alarm model.

" + } + }, + "AlarmState": { + "base": "

Contains information about the current state of the alarm.

", + "refs": { + "Alarm$alarmState": "

Contains information about the current state of the alarm.

" + } + }, + "AlarmStateName": { + "base": null, + "refs": { + "AlarmState$stateName": "

The name of the alarm state. The state name can be one of the following values:

", + "AlarmSummary$stateName": "

The name of the alarm state. The state name can be one of the following values:

" + } + }, + "AlarmSummaries": { + "base": null, + "refs": { + "ListAlarmsResponse$alarmSummaries": "

A list that summarizes each alarm.

" + } + }, + "AlarmSummary": { + "base": "

Contains a summary of an alarm.

", + "refs": { + "AlarmSummaries$member": null + } + }, + "BatchAcknowledgeAlarmRequest": { + "base": null, + "refs": { + } + }, + "BatchAcknowledgeAlarmResponse": { + "base": null, + "refs": { + } + }, + "BatchAlarmActionErrorEntries": { + "base": null, + "refs": { + "BatchAcknowledgeAlarmResponse$errorEntries": "

A list of errors associated with the request, or null if there are no errors. Each error entry contains an entry ID that helps you identify the entry that failed.

", + "BatchDisableAlarmResponse$errorEntries": "

A list of errors associated with the request, or null if there are no errors. Each error entry contains an entry ID that helps you identify the entry that failed.

", + "BatchEnableAlarmResponse$errorEntries": "

A list of errors associated with the request, or null if there are no errors. Each error entry contains an entry ID that helps you identify the entry that failed.

", + "BatchResetAlarmResponse$errorEntries": "

A list of errors associated with the request, or null if there are no errors. Each error entry contains an entry ID that helps you identify the entry that failed.

", + "BatchSnoozeAlarmResponse$errorEntries": "

A list of errors associated with the request, or null if there are no errors. Each error entry contains an entry ID that helps you identify the entry that failed.

" + } + }, + "BatchAlarmActionErrorEntry": { + "base": "

Contains error messages associated with one of the following requests:

", + "refs": { + "BatchAlarmActionErrorEntries$member": null + } + }, + "BatchDisableAlarmRequest": { + "base": null, + "refs": { + } + }, + "BatchDisableAlarmResponse": { + "base": null, + "refs": { + } + }, + "BatchEnableAlarmRequest": { + "base": null, + "refs": { + } + }, + "BatchEnableAlarmResponse": { + "base": null, + "refs": { + } + }, "BatchPutMessageErrorEntries": { "base": null, "refs": { @@ -30,6 +153,26 @@ "refs": { } }, + "BatchResetAlarmRequest": { + "base": null, + "refs": { + } + }, + "BatchResetAlarmResponse": { + "base": null, + "refs": { + } + }, + "BatchSnoozeAlarmRequest": { + "base": null, + "refs": { + } + }, + "BatchSnoozeAlarmResponse": { + "base": null, + "refs": { + } + }, "BatchUpdateDetectorErrorEntries": { "base": null, "refs": { @@ -37,7 +180,7 @@ } }, "BatchUpdateDetectorErrorEntry": { - "base": "

Information about the error that occured when attempting to update a detector.

", + "base": "

Information about the error that occurred when attempting to update a detector.

", "refs": { "BatchUpdateDetectorErrorEntries$member": null } @@ -52,6 +195,34 @@ "refs": { } }, + "ComparisonOperator": { + "base": null, + "refs": { + "SimpleRuleEvaluation$operator": "

The comparison operator.

" + } + }, + "CustomerAction": { + "base": "

Contains information about the action that you can take to respond to the alarm.

", + "refs": { + "AlarmState$customerAction": "

Contains information about the action that you can take to respond to the alarm.

" + } + }, + "CustomerActionName": { + "base": null, + "refs": { + "CustomerAction$actionName": "

The name of the action. The action name can be one of the following values:

For more information, see the AlarmState API.

" + } + }, + "DescribeAlarmRequest": { + "base": null, + "refs": { + } + }, + "DescribeAlarmResponse": { + "base": null, + "refs": { + } + }, "DescribeDetectorRequest": { "base": null, "refs": { @@ -115,28 +286,84 @@ "DetectorSummaries$member": null } }, + "DisableActionConfiguration": { + "base": "

Contains the configuration information of a disable action.

", + "refs": { + "CustomerAction$disableActionConfiguration": "

Contains the configuration information of a disable action.

" + } + }, + "DisableAlarmActionRequest": { + "base": "

Information used to disable the alarm.

", + "refs": { + "DisableAlarmActionRequests$member": null + } + }, + "DisableAlarmActionRequests": { + "base": null, + "refs": { + "BatchDisableAlarmRequest$disableActionRequests": "

The list of disable action requests. You can specify up to 10 requests per operation.

" + } + }, + "EnableActionConfiguration": { + "base": "

Contains the configuration information of an enable action.

", + "refs": { + "CustomerAction$enableActionConfiguration": "

Contains the configuration information of an enable action.

" + } + }, + "EnableAlarmActionRequest": { + "base": "

Information needed to enable the alarm.

", + "refs": { + "EnableAlarmActionRequests$member": null + } + }, + "EnableAlarmActionRequests": { + "base": null, + "refs": { + "BatchEnableAlarmRequest$enableActionRequests": "

The list of enable action requests. You can specify up to 10 requests per operation.

" + } + }, + "EphemeralInputName": { + "base": null, + "refs": { + "Message$inputName": "

The name of the input into which the message payload is transformed.

" + } + }, + "EpochMilliTimestamp": { + "base": null, + "refs": { + "TimestampValue$timeInMillis": "

The value of the timestamp, in the Unix epoch format.

" + } + }, "ErrorCode": { "base": null, "refs": { - "BatchPutMessageErrorEntry$errorCode": "

The code associated with the error.

", - "BatchUpdateDetectorErrorEntry$errorCode": "

The code of the error.

" + "BatchAlarmActionErrorEntry$errorCode": "

The error code.

", + "BatchPutMessageErrorEntry$errorCode": "

The error code.

", + "BatchUpdateDetectorErrorEntry$errorCode": "

The error code.

" } }, "ErrorMessage": { "base": null, "refs": { - "BatchPutMessageErrorEntry$errorMessage": "

More information about the error.

", - "BatchUpdateDetectorErrorEntry$errorMessage": "

A message describing the error.

" + "BatchAlarmActionErrorEntry$errorMessage": "

A message that describes the error.

", + "BatchPutMessageErrorEntry$errorMessage": "

A message that describes the error.

", + "BatchUpdateDetectorErrorEntry$errorMessage": "

A message that describes the error.

" } }, - "InputName": { + "EventType": { "base": null, "refs": { - "Message$inputName": "

The name of the input into which the message payload is transformed.

" + "SystemEvent$eventType": "

The event type. If the value is STATE_CHANGE, the event contains information about alarm state changes.

" + } + }, + "InputPropertyValue": { + "base": null, + "refs": { + "SimpleRuleEvaluation$inputPropertyValue": "

The value of the input property, on the left side of the comparison operator.

" } }, "InternalFailureException": { - "base": "

An internal failure occured.

", + "base": "

An internal failure occurred.

", "refs": { } }, @@ -148,12 +375,30 @@ "KeyValue": { "base": null, "refs": { + "AcknowledgeAlarmActionRequest$keyValue": "

The value of the key used as a filter to select only the alarms associated with the key.

", + "Alarm$keyValue": "

The value of the key used as a filter to select only the alarms associated with the key.

", + "AlarmSummary$keyValue": "

The value of the key used as a filter to select only the alarms associated with the key.

", + "DescribeAlarmRequest$keyValue": "

The value of the key used as a filter to select only the alarms associated with the key.

", "DescribeDetectorRequest$keyValue": "

A filter used to limit results to detectors (instances) created because of the given key ID.

", "Detector$keyValue": "

The value of the key (identifying the device or system) that caused the creation of this detector (instance).

", "DetectorSummary$keyValue": "

The value of the key (identifying the device or system) that caused the creation of this detector (instance).

", + "DisableAlarmActionRequest$keyValue": "

The value of the key used as a filter to select only the alarms associated with the key.

", + "EnableAlarmActionRequest$keyValue": "

The value of the key used as a filter to select only the alarms associated with the key.

", + "ResetAlarmActionRequest$keyValue": "

The value of the key used as a filter to select only the alarms associated with the key.

", + "SnoozeAlarmActionRequest$keyValue": "

The value of the key used as a filter to select only the alarms associated with the key.

", "UpdateDetectorRequest$keyValue": "

The value of the input key attribute (identifying the device or system) that caused the creation of this detector (instance).

" } }, + "ListAlarmsRequest": { + "base": null, + "refs": { + } + }, + "ListAlarmsResponse": { + "base": null, + "refs": { + } + }, "ListDetectorsRequest": { "base": null, "refs": { @@ -167,7 +412,8 @@ "MaxResults": { "base": null, "refs": { - "ListDetectorsRequest$maxResults": "

The maximum number of results to return at one time.

" + "ListAlarmsRequest$maxResults": "

The maximum number of results to be returned per request.

", + "ListDetectorsRequest$maxResults": "

The maximum number of results to be returned per request.

" } }, "Message": { @@ -194,8 +440,25 @@ "NextToken": { "base": null, "refs": { - "ListDetectorsRequest$nextToken": "

The token for the next set of results.

", - "ListDetectorsResponse$nextToken": "

A token to retrieve the next set of results, or null if there are no additional results.

" + "ListAlarmsRequest$nextToken": "

The token that you can use to return the next set of results.

", + "ListAlarmsResponse$nextToken": "

The token that you can use to return the next set of results, or null if there are no more results.

", + "ListDetectorsRequest$nextToken": "

The token that you can use to return the next set of results.

", + "ListDetectorsResponse$nextToken": "

The token that you can use to return the next set of results, or null if there are no more results.

" + } + }, + "Note": { + "base": null, + "refs": { + "AcknowledgeActionConfiguration$note": "

The note that you can leave when you acknowledge the alarm.

", + "AcknowledgeAlarmActionRequest$note": "

The note that you can leave when you acknowledge the alarm.

", + "DisableActionConfiguration$note": "

The note that you can leave when you disable the alarm.

", + "DisableAlarmActionRequest$note": "

The note that you can leave when you disable the alarm.

", + "EnableActionConfiguration$note": "

The note that you can leave when you enable the alarm.

", + "EnableAlarmActionRequest$note": "

The note that you can leave when you enable the alarm.

", + "ResetActionConfiguration$note": "

The note that you can leave when you reset the alarm.

", + "ResetAlarmActionRequest$note": "

The note that you can leave when you reset the alarm.

", + "SnoozeActionConfiguration$note": "

The note that you can leave when you snooze the alarm.

", + "SnoozeAlarmActionRequest$note": "

The note that you can leave when you snooze the alarm.

" } }, "Payload": { @@ -204,11 +467,46 @@ "Message$payload": "

The payload of the message. This can be a JSON string or a Base-64-encoded string representing binary data (in which case you must decode it).

" } }, + "RequestId": { + "base": null, + "refs": { + "AcknowledgeAlarmActionRequest$requestId": "

The request ID. Each ID must be unique within each batch.

", + "BatchAlarmActionErrorEntry$requestId": "

The request ID. Each ID must be unique within each batch.

", + "DisableAlarmActionRequest$requestId": "

The request ID. Each ID must be unique within each batch.

", + "EnableAlarmActionRequest$requestId": "

The request ID. Each ID must be unique within each batch.

", + "ResetAlarmActionRequest$requestId": "

The request ID. Each ID must be unique within each batch.

", + "SnoozeAlarmActionRequest$requestId": "

The request ID. Each ID must be unique within each batch.

" + } + }, + "ResetActionConfiguration": { + "base": "

Contains the configuration information of a reset action.

", + "refs": { + "CustomerAction$resetActionConfiguration": "

Contains the configuration information of a reset action.

" + } + }, + "ResetAlarmActionRequest": { + "base": "

Information needed to reset the alarm.

", + "refs": { + "ResetAlarmActionRequests$member": null + } + }, + "ResetAlarmActionRequests": { + "base": null, + "refs": { + "BatchResetAlarmRequest$resetActionRequests": "

The list of reset action requests. You can specify up to 10 requests per operation.

" + } + }, "ResourceNotFoundException": { "base": "

The resource was not found.

", "refs": { } }, + "RuleEvaluation": { + "base": "

Information needed to evaluate data.

", + "refs": { + "AlarmState$ruleEvaluation": "

Information needed to evaluate data.

" + } + }, "Seconds": { "base": null, "refs": { @@ -220,6 +518,49 @@ "refs": { } }, + "Severity": { + "base": null, + "refs": { + "Alarm$severity": "

A non-negative integer that reflects the severity level of the alarm.

" + } + }, + "SimpleRuleEvaluation": { + "base": "

Information needed to compare two values with a comparison operator.

", + "refs": { + "RuleEvaluation$simpleRuleEvaluation": "

Information needed to compare two values with a comparison operator.

" + } + }, + "SnoozeActionConfiguration": { + "base": "

Contains the configuration information of a snooze action.

", + "refs": { + "CustomerAction$snoozeActionConfiguration": "

Contains the configuration information of a snooze action.

" + } + }, + "SnoozeAlarmActionRequest": { + "base": "

Information needed to snooze the alarm.

", + "refs": { + "SnoozeAlarmActionRequests$member": null + } + }, + "SnoozeAlarmActionRequests": { + "base": null, + "refs": { + "BatchSnoozeAlarmRequest$snoozeActionRequests": "

The list of snooze action requests. You can specify up to 10 requests per operation.

" + } + }, + "SnoozeDuration": { + "base": null, + "refs": { + "SnoozeActionConfiguration$snoozeDuration": "

The snooze time in seconds. The alarm automatically changes to the NORMAL state after this duration.

", + "SnoozeAlarmActionRequest$snoozeDuration": "

The snooze time in seconds. The alarm automatically changes to the NORMAL state after this duration.

" + } + }, + "StateChangeConfiguration": { + "base": "

Contains the configuration information of alarm state changes.

", + "refs": { + "SystemEvent$stateChangeConfiguration": "

Contains the configuration information of alarm state changes.

" + } + }, "StateName": { "base": null, "refs": { @@ -229,6 +570,18 @@ "ListDetectorsRequest$stateName": "

A filter that limits results to those detectors (instances) in the given state.

" } }, + "SystemEvent": { + "base": "

Contains information about alarm state changes.

", + "refs": { + "AlarmState$systemEvent": "

Contains information about alarm state changes.

" + } + }, + "ThresholdValue": { + "base": null, + "refs": { + "SimpleRuleEvaluation$thresholdValue": "

The threshold value, on the right side of the comparison operator.

" + } + }, "ThrottlingException": { "base": "

The request could not be completed due to throttling.

", "refs": { @@ -268,6 +621,10 @@ "Timestamp": { "base": null, "refs": { + "Alarm$creationTime": "

The time the alarm was created, in the Unix epoch format.

", + "Alarm$lastUpdateTime": "

The time the alarm was last updated, in the Unix epoch format.

", + "AlarmSummary$creationTime": "

The time the alarm was created, in the Unix epoch format.

", + "AlarmSummary$lastUpdateTime": "

The time the alarm was last updated, in the Unix epoch format.

", "Detector$creationTime": "

The time the detector (instance) was created.

", "Detector$lastUpdateTime": "

The time the detector (instance) was last updated.

", "DetectorSummary$creationTime": "

The time the detector (instance) was created.

", @@ -275,6 +632,18 @@ "Timer$timestamp": "

The number of seconds which have elapsed on the timer.

" } }, + "TimestampValue": { + "base": "

Contains information about a timestamp.

", + "refs": { + "Message$timestamp": "

The timestamp associated with the message.

" + } + }, + "TriggerType": { + "base": null, + "refs": { + "StateChangeConfiguration$triggerType": "

The trigger type. If the value is SNOOZE_TIMEOUT, the snooze duration ends and the alarm automatically changes to the NORMAL state.

" + } + }, "UpdateDetectorRequest": { "base": "

Information used to update the detector (instance).

", "refs": { diff --git a/models/apis/iotevents/2018-07-27/api-2.json b/models/apis/iotevents/2018-07-27/api-2.json index aa8f4bfd107..0142c07e1dc 100644 --- a/models/apis/iotevents/2018-07-27/api-2.json +++ b/models/apis/iotevents/2018-07-27/api-2.json @@ -11,6 +11,24 @@ "uid":"iotevents-2018-07-27" }, "operations":{ + "CreateAlarmModel":{ + "name":"CreateAlarmModel", + "http":{ + "method":"POST", + "requestUri":"/alarm-models" + }, + "input":{"shape":"CreateAlarmModelRequest"}, + "output":{"shape":"CreateAlarmModelResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ] + }, "CreateDetectorModel":{ "name":"CreateDetectorModel", "http":{ @@ -46,6 +64,24 @@ {"shape":"ResourceAlreadyExistsException"} ] }, + "DeleteAlarmModel":{ + "name":"DeleteAlarmModel", + "http":{ + "method":"DELETE", + "requestUri":"/alarm-models/{alarmModelName}", + "responseCode":204 + }, + "input":{"shape":"DeleteAlarmModelRequest"}, + "output":{"shape":"DeleteAlarmModelResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ] + }, "DeleteDetectorModel":{ "name":"DeleteDetectorModel", "http":{ @@ -81,6 +117,22 @@ {"shape":"ResourceInUseException"} ] }, + "DescribeAlarmModel":{ + "name":"DescribeAlarmModel", + "http":{ + "method":"GET", + "requestUri":"/alarm-models/{alarmModelName}" + }, + "input":{"shape":"DescribeAlarmModelRequest"}, + "output":{"shape":"DescribeAlarmModelResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ] + }, "DescribeDetectorModel":{ "name":"DescribeDetectorModel", "http":{ @@ -162,6 +214,37 @@ {"shape":"ServiceUnavailableException"} ] }, + "ListAlarmModelVersions":{ + "name":"ListAlarmModelVersions", + "http":{ + "method":"GET", + "requestUri":"/alarm-models/{alarmModelName}/versions" + }, + "input":{"shape":"ListAlarmModelVersionsRequest"}, + "output":{"shape":"ListAlarmModelVersionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ] + }, + "ListAlarmModels":{ + "name":"ListAlarmModels", + "http":{ + "method":"GET", + "requestUri":"/alarm-models" + }, + "input":{"shape":"ListAlarmModelsRequest"}, + "output":{"shape":"ListAlarmModelsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ] + }, "ListDetectorModelVersions":{ "name":"ListDetectorModelVersions", "http":{ @@ -193,6 +276,22 @@ {"shape":"ServiceUnavailableException"} ] }, + "ListInputRoutings":{ + "name":"ListInputRoutings", + "http":{ + "method":"POST", + "requestUri":"/input-routings" + }, + "input":{"shape":"ListInputRoutingsRequest"}, + "output":{"shape":"ListInputRoutingsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "ListInputs":{ "name":"ListInputs", "http":{ @@ -289,6 +388,23 @@ {"shape":"InternalFailureException"} ] }, + "UpdateAlarmModel":{ + "name":"UpdateAlarmModel", + "http":{ + "method":"POST", + "requestUri":"/alarm-models/{alarmModelName}" + }, + "input":{"shape":"UpdateAlarmModelRequest"}, + "output":{"shape":"UpdateAlarmModelResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ] + }, "UpdateDetectorModel":{ "name":"UpdateDetectorModel", "http":{ @@ -325,6 +441,17 @@ } }, "shapes":{ + "AcknowledgeFlow":{ + "type":"structure", + "required":["enabled"], + "members":{ + "enabled":{"shape":"AcknowledgeFlowEnabled"} + } + }, + "AcknowledgeFlowEnabled":{ + "type":"boolean", + "box":true + }, "Action":{ "type":"structure", "members":{ @@ -347,6 +474,103 @@ "type":"list", "member":{"shape":"Action"} }, + "AlarmAction":{ + "type":"structure", + "members":{ + "sns":{"shape":"SNSTopicPublishAction"}, + "iotTopicPublish":{"shape":"IotTopicPublishAction"}, + "lambda":{"shape":"LambdaAction"}, + "iotEvents":{"shape":"IotEventsAction"}, + "sqs":{"shape":"SqsAction"}, + "firehose":{"shape":"FirehoseAction"}, + "dynamoDB":{"shape":"DynamoDBAction"}, + "dynamoDBv2":{"shape":"DynamoDBv2Action"}, + "iotSiteWise":{"shape":"IotSiteWiseAction"} + } + }, + "AlarmActions":{ + "type":"list", + "member":{"shape":"AlarmAction"} + }, + "AlarmCapabilities":{ + "type":"structure", + "members":{ + "initializationConfiguration":{"shape":"InitializationConfiguration"}, + "acknowledgeFlow":{"shape":"AcknowledgeFlow"} + } + }, + "AlarmEventActions":{ + "type":"structure", + "members":{ + "alarmActions":{"shape":"AlarmActions"} + } + }, + "AlarmModelArn":{"type":"string"}, + "AlarmModelDescription":{ + "type":"string", + "max":128 + }, + "AlarmModelName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_-]+$" + }, + "AlarmModelSummaries":{ + "type":"list", + "member":{"shape":"AlarmModelSummary"} + }, + "AlarmModelSummary":{ + "type":"structure", + "members":{ + "creationTime":{"shape":"Timestamp"}, + "alarmModelDescription":{"shape":"AlarmModelDescription"}, + "alarmModelName":{"shape":"AlarmModelName"} + } + }, + "AlarmModelVersion":{ + "type":"string", + "max":128, + "min":1 + }, + "AlarmModelVersionStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "ACTIVATING", + "INACTIVE", + "FAILED" + ] + }, + "AlarmModelVersionSummaries":{ + "type":"list", + "member":{"shape":"AlarmModelVersionSummary"} + }, + "AlarmModelVersionSummary":{ + "type":"structure", + "members":{ + "alarmModelName":{"shape":"AlarmModelName"}, + "alarmModelArn":{"shape":"AlarmModelArn"}, + "alarmModelVersion":{"shape":"AlarmModelVersion"}, + "roleArn":{"shape":"AmazonResourceName"}, + "creationTime":{"shape":"Timestamp"}, + "lastUpdateTime":{"shape":"Timestamp"}, + "status":{"shape":"AlarmModelVersionStatus"}, + "statusMessage":{"shape":"StatusMessage"} + } + }, + "AlarmNotification":{ + "type":"structure", + "members":{ + "notificationActions":{"shape":"NotificationActions"} + } + }, + "AlarmRule":{ + "type":"structure", + "members":{ + "simpleRule":{"shape":"SimpleRule"} + } + }, "AmazonResourceName":{ "type":"string", "max":2048, @@ -396,6 +620,7 @@ }, "AnalysisType":{"type":"string"}, "AssetId":{"type":"string"}, + "AssetModelId":{"type":"string"}, "AssetPropertyAlias":{"type":"string"}, "AssetPropertyBooleanValue":{"type":"string"}, "AssetPropertyDoubleValue":{"type":"string"}, @@ -416,7 +641,6 @@ }, "AssetPropertyValue":{ "type":"structure", - "required":["value"], "members":{ "value":{"shape":"AssetPropertyVariant"}, "timestamp":{"shape":"AssetPropertyTimestamp"}, @@ -458,6 +682,17 @@ "timerName":{"shape":"TimerName"} } }, + "ComparisonOperator":{ + "type":"string", + "enum":[ + "GREATER", + "GREATER_OR_EQUAL", + "LESS", + "LESS_OR_EQUAL", + "EQUAL", + "NOT_EQUAL" + ] + }, "Condition":{ "type":"string", "max":512 @@ -466,6 +701,36 @@ "type":"string", "min":1 }, + "CreateAlarmModelRequest":{ + "type":"structure", + "required":[ + "alarmModelName", + "roleArn", + "alarmRule" + ], + "members":{ + "alarmModelName":{"shape":"AlarmModelName"}, + "alarmModelDescription":{"shape":"AlarmModelDescription"}, + "roleArn":{"shape":"AmazonResourceName"}, + "tags":{"shape":"Tags"}, + "key":{"shape":"AttributeJsonPath"}, + "severity":{"shape":"Severity"}, + "alarmRule":{"shape":"AlarmRule"}, + "alarmNotification":{"shape":"AlarmNotification"}, + "alarmEventActions":{"shape":"AlarmEventActions"}, + "alarmCapabilities":{"shape":"AlarmCapabilities"} + } + }, + "CreateAlarmModelResponse":{ + "type":"structure", + "members":{ + "creationTime":{"shape":"Timestamp"}, + "alarmModelArn":{"shape":"AlarmModelArn"}, + "alarmModelVersion":{"shape":"AlarmModelVersion"}, + "lastUpdateTime":{"shape":"Timestamp"}, + "status":{"shape":"AlarmModelVersionStatus"} + } + }, "CreateDetectorModelRequest":{ "type":"structure", "required":[ @@ -508,6 +773,22 @@ "inputConfiguration":{"shape":"InputConfiguration"} } }, + "DeleteAlarmModelRequest":{ + "type":"structure", + "required":["alarmModelName"], + "members":{ + "alarmModelName":{ + "shape":"AlarmModelName", + "location":"uri", + "locationName":"alarmModelName" + } + } + }, + "DeleteAlarmModelResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteDetectorModelRequest":{ "type":"structure", "required":["detectorModelName"], @@ -541,6 +822,42 @@ } }, "DeliveryStreamName":{"type":"string"}, + "DescribeAlarmModelRequest":{ + "type":"structure", + "required":["alarmModelName"], + "members":{ + "alarmModelName":{ + "shape":"AlarmModelName", + "location":"uri", + "locationName":"alarmModelName" + }, + "alarmModelVersion":{ + "shape":"AlarmModelVersion", + "location":"querystring", + "locationName":"version" + } + } + }, + "DescribeAlarmModelResponse":{ + "type":"structure", + "members":{ + "creationTime":{"shape":"Timestamp"}, + "alarmModelArn":{"shape":"AlarmModelArn"}, + "alarmModelVersion":{"shape":"AlarmModelVersion"}, + "lastUpdateTime":{"shape":"Timestamp"}, + "status":{"shape":"AlarmModelVersionStatus"}, + "statusMessage":{"shape":"StatusMessage"}, + "alarmModelName":{"shape":"AlarmModelName"}, + "alarmModelDescription":{"shape":"AlarmModelDescription"}, + "roleArn":{"shape":"AmazonResourceName"}, + "key":{"shape":"AttributeJsonPath"}, + "severity":{"shape":"Severity"}, + "alarmRule":{"shape":"AlarmRule"}, + "alarmNotification":{"shape":"AlarmNotification"}, + "alarmEventActions":{"shape":"AlarmEventActions"}, + "alarmCapabilities":{"shape":"AlarmCapabilities"} + } + }, "DescribeDetectorModelAnalysisRequest":{ "type":"structure", "required":["analysisId"], @@ -711,6 +1028,10 @@ "evaluationMethod":{"shape":"EvaluationMethod"} } }, + "DisabledOnInitialization":{ + "type":"boolean", + "box":true + }, "DynamoDBAction":{ "type":"structure", "required":[ @@ -744,6 +1065,37 @@ "DynamoKeyValue":{"type":"string"}, "DynamoOperation":{"type":"string"}, "DynamoTableName":{"type":"string"}, + "EmailConfiguration":{ + "type":"structure", + "required":[ + "from", + "recipients" + ], + "members":{ + "from":{"shape":"FromEmail"}, + "content":{"shape":"EmailContent"}, + "recipients":{"shape":"EmailRecipients"} + } + }, + "EmailConfigurations":{ + "type":"list", + "member":{"shape":"EmailConfiguration"}, + "min":1 + }, + "EmailContent":{ + "type":"structure", + "members":{ + "subject":{"shape":"EmailSubject"}, + "additionalMessage":{"shape":"NotificationAdditionalMessage"} + } + }, + "EmailRecipients":{ + "type":"structure", + "members":{ + "to":{"shape":"RecipientDetails"} + } + }, + "EmailSubject":{"type":"string"}, "EvaluationMethod":{ "type":"string", "enum":[ @@ -781,6 +1133,7 @@ "type":"string", "pattern":"([\\n\\t])|(\\r\\n)|(,)" }, + "FromEmail":{"type":"string"}, "GetDetectorModelAnalysisResultsRequest":{ "type":"structure", "required":["analysisId"], @@ -809,6 +1162,14 @@ "nextToken":{"shape":"NextToken"} } }, + "IdentityStoreId":{"type":"string"}, + "InitializationConfiguration":{ + "type":"structure", + "required":["disabledOnInitialization"], + "members":{ + "disabledOnInitialization":{"shape":"DisabledOnInitialization"} + } + }, "Input":{ "type":"structure", "members":{ @@ -846,12 +1207,24 @@ "type":"string", "max":128 }, + "InputIdentifier":{ + "type":"structure", + "members":{ + "iotEventsInputIdentifier":{"shape":"IotEventsInputIdentifier"}, + "iotSiteWiseInputIdentifier":{"shape":"IotSiteWiseInputIdentifier"} + } + }, "InputName":{ "type":"string", "max":128, "min":1, "pattern":"^[a-zA-Z][a-zA-Z0-9_]*$" }, + "InputProperty":{ + "type":"string", + "max":512, + "min":1 + }, "InputStatus":{ "type":"string", "enum":[ @@ -901,9 +1274,15 @@ "payload":{"shape":"Payload"} } }, + "IotEventsInputIdentifier":{ + "type":"structure", + "required":["inputName"], + "members":{ + "inputName":{"shape":"InputName"} + } + }, "IotSiteWiseAction":{ "type":"structure", - "required":["propertyValue"], "members":{ "entryId":{"shape":"AssetPropertyEntryId"}, "assetId":{"shape":"AssetId"}, @@ -912,6 +1291,23 @@ "propertyValue":{"shape":"AssetPropertyValue"} } }, + "IotSiteWiseAssetModelPropertyIdentifier":{ + "type":"structure", + "required":[ + "assetModelId", + "propertyId" + ], + "members":{ + "assetModelId":{"shape":"AssetModelId"}, + "propertyId":{"shape":"AssetPropertyId"} + } + }, + "IotSiteWiseInputIdentifier":{ + "type":"structure", + "members":{ + "iotSiteWiseAssetModelPropertyIdentifier":{"shape":"IotSiteWiseAssetModelPropertyIdentifier"} + } + }, "IotTopicPublishAction":{ "type":"structure", "required":["mqttTopic"], @@ -942,6 +1338,56 @@ "error":{"httpStatusCode":410}, "exception":true }, + "ListAlarmModelVersionsRequest":{ + "type":"structure", + "required":["alarmModelName"], + "members":{ + "alarmModelName":{ + "shape":"AlarmModelName", + "location":"uri", + "locationName":"alarmModelName" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListAlarmModelVersionsResponse":{ + "type":"structure", + "members":{ + "alarmModelVersionSummaries":{"shape":"AlarmModelVersionSummaries"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListAlarmModelsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListAlarmModelsResponse":{ + "type":"structure", + "members":{ + "alarmModelSummaries":{"shape":"AlarmModelSummaries"}, + "nextToken":{"shape":"NextToken"} + } + }, "ListDetectorModelVersionsRequest":{ "type":"structure", "required":["detectorModelName"], @@ -992,6 +1438,22 @@ "nextToken":{"shape":"NextToken"} } }, + "ListInputRoutingsRequest":{ + "type":"structure", + "required":["inputIdentifier"], + "members":{ + "inputIdentifier":{"shape":"InputIdentifier"}, + "maxResults":{"shape":"MaxResults"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListInputRoutingsResponse":{ + "type":"structure", + "members":{ + "routedResources":{"shape":"RoutedResources"}, + "nextToken":{"shape":"NextToken"} + } + }, "ListInputsRequest":{ "type":"structure", "members":{ @@ -1066,6 +1528,27 @@ "min":1 }, "NextToken":{"type":"string"}, + "NotificationAction":{ + "type":"structure", + "required":["action"], + "members":{ + "action":{"shape":"NotificationTargetActions"}, + "smsConfigurations":{"shape":"SMSConfigurations"}, + "emailConfigurations":{"shape":"EmailConfigurations"} + } + }, + "NotificationActions":{ + "type":"list", + "member":{"shape":"NotificationAction"}, + "min":1 + }, + "NotificationAdditionalMessage":{"type":"string"}, + "NotificationTargetActions":{ + "type":"structure", + "members":{ + "lambdaAction":{"shape":"LambdaAction"} + } + }, "OnEnterLifecycle":{ "type":"structure", "members":{ @@ -1111,6 +1594,17 @@ } }, "QueueUrl":{"type":"string"}, + "RecipientDetail":{ + "type":"structure", + "members":{ + "ssoIdentity":{"shape":"SSOIdentity"} + } + }, + "RecipientDetails":{ + "type":"list", + "member":{"shape":"RecipientDetail"}, + "min":1 + }, "ResetTimerAction":{ "type":"structure", "required":["timerName"], @@ -1136,6 +1630,7 @@ "error":{"httpStatusCode":409}, "exception":true }, + "ResourceName":{"type":"string"}, "ResourceNotFoundException":{ "type":"structure", "members":{ @@ -1144,6 +1639,32 @@ "error":{"httpStatusCode":404}, "exception":true }, + "RoutedResource":{ + "type":"structure", + "members":{ + "name":{"shape":"ResourceName"}, + "arn":{"shape":"AmazonResourceName"} + } + }, + "RoutedResources":{ + "type":"list", + "member":{"shape":"RoutedResource"} + }, + "SMSConfiguration":{ + "type":"structure", + "required":["recipients"], + "members":{ + "senderId":{"shape":"SMSSenderId"}, + "additionalMessage":{"shape":"NotificationAdditionalMessage"}, + "recipients":{"shape":"RecipientDetails"} + } + }, + "SMSConfigurations":{ + "type":"list", + "member":{"shape":"SMSConfiguration"}, + "min":1 + }, + "SMSSenderId":{"type":"string"}, "SNSTopicPublishAction":{ "type":"structure", "required":["targetArn"], @@ -1152,6 +1673,15 @@ "payload":{"shape":"Payload"} } }, + "SSOIdentity":{ + "type":"structure", + "required":["identityStoreId"], + "members":{ + "identityStoreId":{"shape":"IdentityStoreId"}, + "userId":{"shape":"SSOReferenceId"} + } + }, + "SSOReferenceId":{"type":"string"}, "Seconds":{ "type":"integer", "max":31622400, @@ -1190,6 +1720,25 @@ "value":{"shape":"VariableValue"} } }, + "Severity":{ + "type":"integer", + "box":true, + "max":2147483647, + "min":0 + }, + "SimpleRule":{ + "type":"structure", + "required":[ + "inputProperty", + "comparisonOperator", + "threshold" + ], + "members":{ + "inputProperty":{"shape":"InputProperty"}, + "comparisonOperator":{"shape":"ComparisonOperator"}, + "threshold":{"shape":"Threshold"} + } + }, "SqsAction":{ "type":"structure", "required":["queueUrl"], @@ -1232,6 +1781,7 @@ "member":{"shape":"State"}, "min":1 }, + "StatusMessage":{"type":"string"}, "Tag":{ "type":"structure", "required":[ @@ -1281,6 +1831,11 @@ "type":"list", "member":{"shape":"Tag"} }, + "Threshold":{ + "type":"string", + "max":512, + "min":1 + }, "ThrottlingException":{ "type":"structure", "members":{ @@ -1346,6 +1901,38 @@ "members":{ } }, + "UpdateAlarmModelRequest":{ + "type":"structure", + "required":[ + "alarmModelName", + "roleArn", + "alarmRule" + ], + "members":{ + "alarmModelName":{ + "shape":"AlarmModelName", + "location":"uri", + "locationName":"alarmModelName" + }, + "alarmModelDescription":{"shape":"AlarmModelDescription"}, + "roleArn":{"shape":"AmazonResourceName"}, + "severity":{"shape":"Severity"}, + "alarmRule":{"shape":"AlarmRule"}, + "alarmNotification":{"shape":"AlarmNotification"}, + "alarmEventActions":{"shape":"AlarmEventActions"}, + "alarmCapabilities":{"shape":"AlarmCapabilities"} + } + }, + "UpdateAlarmModelResponse":{ + "type":"structure", + "members":{ + "creationTime":{"shape":"Timestamp"}, + "alarmModelArn":{"shape":"AlarmModelArn"}, + "alarmModelVersion":{"shape":"AlarmModelVersion"}, + "lastUpdateTime":{"shape":"Timestamp"}, + "status":{"shape":"AlarmModelVersionStatus"} + } + }, "UpdateDetectorModelRequest":{ "type":"structure", "required":[ diff --git a/models/apis/iotevents/2018-07-27/docs-2.json b/models/apis/iotevents/2018-07-27/docs-2.json index 8004efd53ca..843ae893db8 100644 --- a/models/apis/iotevents/2018-07-27/docs-2.json +++ b/models/apis/iotevents/2018-07-27/docs-2.json @@ -2,27 +2,46 @@ "version": "2.0", "service": "

AWS IoT Events monitors your equipment or device fleets for failures or changes in operation, and triggers actions when such events occur. You can use AWS IoT Events API operations to create, read, update, and delete inputs and detector models, and to list their versions.

", "operations": { + "CreateAlarmModel": "

Creates an alarm model to monitor an AWS IoT Events input attribute. You can use the alarm to get notified when the value is outside a specified range. For more information, see Create an alarm model in the AWS IoT Events Developer Guide.

", "CreateDetectorModel": "

Creates a detector model.

", "CreateInput": "

Creates an input.

", + "DeleteAlarmModel": "

Deletes an alarm model. Any alarm instances that were created based on this alarm model are also deleted. This action can't be undone.

", "DeleteDetectorModel": "

Deletes a detector model. Any active instances of the detector model are also deleted.

", "DeleteInput": "

Deletes an input.

", + "DescribeAlarmModel": "

Retrieves information about an alarm model. If you don't specify a value for the alarmModelVersion parameter, the latest version is returned.

", "DescribeDetectorModel": "

Describes a detector model. If the version parameter is not specified, information about the latest version is returned.

", - "DescribeDetectorModelAnalysis": "

Retrieves execution information about a detector model analysis

", + "DescribeDetectorModelAnalysis": "

Retrieves runtime information about a detector model analysis.

After AWS IoT Events starts analyzing your detector model, you have up to 24 hours to retrieve the analysis results.

", "DescribeInput": "

Describes an input.

", "DescribeLoggingOptions": "

Retrieves the current settings of the AWS IoT Events logging options.

", - "GetDetectorModelAnalysisResults": "

Retrieves one or more analysis results of the detector model.

", + "GetDetectorModelAnalysisResults": "

Retrieves one or more analysis results of the detector model.

After AWS IoT Events starts analyzing your detector model, you have up to 24 hours to retrieve the analysis results.

", + "ListAlarmModelVersions": "

Lists all the versions of an alarm model. The operation returns only the metadata associated with each alarm model version.

", + "ListAlarmModels": "

Lists the alarm models that you created. The operation returns only the metadata associated with each alarm model.

", "ListDetectorModelVersions": "

Lists all the versions of a detector model. Only the metadata associated with each detector model version is returned.

", "ListDetectorModels": "

Lists the detector models you have created. Only the metadata associated with each detector model is returned.

", + "ListInputRoutings": "

Lists one or more input routings.

", "ListInputs": "

Lists the inputs you have created.

", "ListTagsForResource": "

Lists the tags (metadata) you have assigned to the resource.

", "PutLoggingOptions": "

Sets or updates the AWS IoT Events logging options.

If you update the value of any loggingOptions field, it takes up to one minute for the change to take effect. If you change the policy attached to the role you specified in the roleArn field (for example, to correct an invalid policy), it takes up to five minutes for that change to take effect.

", - "StartDetectorModelAnalysis": "

Performs an analysis of your detector model. For more information, see Running detector model analyses in the AWS IoT Events Developer Guide.

", + "StartDetectorModelAnalysis": "

Performs an analysis of your detector model. For more information, see Troubleshooting a detector model in the AWS IoT Events Developer Guide.

", "TagResource": "

Adds to or modifies the tags of the given resource. Tags are metadata that can be used to manage a resource.

", "UntagResource": "

Removes the given tags (metadata) from the resource.

", + "UpdateAlarmModel": "

Updates an alarm model. Any alarms that were created based on the previous version are deleted and then created again as new data arrives.

", "UpdateDetectorModel": "

Updates a detector model. Detectors (instances) spawned by the previous version are deleted and then re-created as new inputs arrive.

", "UpdateInput": "

Updates an input.

" }, "shapes": { + "AcknowledgeFlow": { + "base": "

Specifies whether to get notified for alarm state changes.

", + "refs": { + "AlarmCapabilities$acknowledgeFlow": "

Specifies whether to get notified for alarm state changes.

" + } + }, + "AcknowledgeFlowEnabled": { + "base": null, + "refs": { + "AcknowledgeFlow$enabled": "

The value must be TRUE or FALSE. If TRUE, you receive a notification when the alarm state changes. You must choose to acknowledge the notification before the alarm state can return to NORMAL. If FALSE, you won't receive notifications. The alarm automatically changes to the NORMAL state when the input property value returns to the specified range.

" + } + }, "Action": { "base": "

An action to be performed when the condition is TRUE.

", "refs": { @@ -36,18 +55,141 @@ "TransitionEvent$actions": "

The actions to be performed.

" } }, + "AlarmAction": { + "base": "

Specifies one of the following actions to receive notifications when the alarm state changes.

", + "refs": { + "AlarmActions$member": null + } + }, + "AlarmActions": { + "base": null, + "refs": { + "AlarmEventActions$alarmActions": "

Specifies one or more supported actions to receive notifications when the alarm state changes.

" + } + }, + "AlarmCapabilities": { + "base": "

Contains the configuration information of alarm state changes.

", + "refs": { + "CreateAlarmModelRequest$alarmCapabilities": "

Contains the configuration information of alarm state changes.

", + "DescribeAlarmModelResponse$alarmCapabilities": "

Contains the configuration information of alarm state changes.

", + "UpdateAlarmModelRequest$alarmCapabilities": "

Contains the configuration information of alarm state changes.

" + } + }, + "AlarmEventActions": { + "base": "

Contains information about one or more alarm actions.

", + "refs": { + "CreateAlarmModelRequest$alarmEventActions": "

Contains information about one or more alarm actions.

", + "DescribeAlarmModelResponse$alarmEventActions": "

Contains information about one or more alarm actions.

", + "UpdateAlarmModelRequest$alarmEventActions": "

Contains information about one or more alarm actions.

" + } + }, + "AlarmModelArn": { + "base": null, + "refs": { + "AlarmModelVersionSummary$alarmModelArn": "

The ARN of the alarm model. For more information, see Amazon Resource Names (ARNs) in the AWS General Reference.

", + "CreateAlarmModelResponse$alarmModelArn": "

The ARN of the alarm model. For more information, see Amazon Resource Names (ARNs) in the AWS General Reference.

", + "DescribeAlarmModelResponse$alarmModelArn": "

The ARN of the alarm model. For more information, see Amazon Resource Names (ARNs) in the AWS General Reference.

", + "UpdateAlarmModelResponse$alarmModelArn": "

The ARN of the alarm model. For more information, see Amazon Resource Names (ARNs) in the AWS General Reference.

" + } + }, + "AlarmModelDescription": { + "base": null, + "refs": { + "AlarmModelSummary$alarmModelDescription": "

The description of the alarm model.

", + "CreateAlarmModelRequest$alarmModelDescription": "

A description that tells you what the alarm model detects.

", + "DescribeAlarmModelResponse$alarmModelDescription": "

The description of the alarm model.

", + "UpdateAlarmModelRequest$alarmModelDescription": "

The description of the alarm model.

" + } + }, + "AlarmModelName": { + "base": null, + "refs": { + "AlarmModelSummary$alarmModelName": "

The name of the alarm model.

", + "AlarmModelVersionSummary$alarmModelName": "

The name of the alarm model.

", + "CreateAlarmModelRequest$alarmModelName": "

A unique name that helps you identify the alarm model. You can't change this name after you create the alarm model.

", + "DeleteAlarmModelRequest$alarmModelName": "

The name of the alarm model.

", + "DescribeAlarmModelRequest$alarmModelName": "

The name of the alarm model.

", + "DescribeAlarmModelResponse$alarmModelName": "

The name of the alarm model.

", + "ListAlarmModelVersionsRequest$alarmModelName": "

The name of the alarm model.

", + "UpdateAlarmModelRequest$alarmModelName": "

The name of the alarm model.

" + } + }, + "AlarmModelSummaries": { + "base": null, + "refs": { + "ListAlarmModelsResponse$alarmModelSummaries": "

A list that summarizes each alarm model.

" + } + }, + "AlarmModelSummary": { + "base": "

Contains a summary of an alarm model.

", + "refs": { + "AlarmModelSummaries$member": null + } + }, + "AlarmModelVersion": { + "base": null, + "refs": { + "AlarmModelVersionSummary$alarmModelVersion": "

The version of the alarm model.

", + "CreateAlarmModelResponse$alarmModelVersion": "

The version of the alarm model.

", + "DescribeAlarmModelRequest$alarmModelVersion": "

The version of the alarm model.

", + "DescribeAlarmModelResponse$alarmModelVersion": "

The version of the alarm model.

", + "UpdateAlarmModelResponse$alarmModelVersion": "

The version of the alarm model.

" + } + }, + "AlarmModelVersionStatus": { + "base": null, + "refs": { + "AlarmModelVersionSummary$status": "

The status of the alarm model. The status can be one of the following values:

", + "CreateAlarmModelResponse$status": "

The status of the alarm model. The status can be one of the following values:

", + "DescribeAlarmModelResponse$status": "

The status of the alarm model. The status can be one of the following values:

", + "UpdateAlarmModelResponse$status": "

The status of the alarm model. The status can be one of the following values:

" + } + }, + "AlarmModelVersionSummaries": { + "base": null, + "refs": { + "ListAlarmModelVersionsResponse$alarmModelVersionSummaries": "

A list that summarizes each alarm model version.

" + } + }, + "AlarmModelVersionSummary": { + "base": "

Contains a summary of an alarm model version.

", + "refs": { + "AlarmModelVersionSummaries$member": null + } + }, + "AlarmNotification": { + "base": "

Contains information about one or more notification actions.

", + "refs": { + "CreateAlarmModelRequest$alarmNotification": "

Contains information about one or more notification actions.

", + "DescribeAlarmModelResponse$alarmNotification": "

Contains information about one or more notification actions.

", + "UpdateAlarmModelRequest$alarmNotification": "

Contains information about one or more notification actions.

" + } + }, + "AlarmRule": { + "base": "

Defines when your alarm is invoked.

", + "refs": { + "CreateAlarmModelRequest$alarmRule": "

Defines when your alarm is invoked.

", + "DescribeAlarmModelResponse$alarmRule": "

Defines when your alarm is invoked.

", + "UpdateAlarmModelRequest$alarmRule": "

Defines when your alarm is invoked.

" + } + }, "AmazonResourceName": { "base": null, "refs": { + "AlarmModelVersionSummary$roleArn": "

The ARN of the IAM role that allows the alarm to perform actions and access AWS resources. For more information, see Amazon Resource Names (ARNs) in the AWS General Reference.

", + "CreateAlarmModelRequest$roleArn": "

The ARN of the IAM role that allows the alarm to perform actions and access AWS resources. For more information, see Amazon Resource Names (ARNs) in the AWS General Reference.

", "CreateDetectorModelRequest$roleArn": "

The ARN of the role that grants permission to AWS IoT Events to perform its operations.

", + "DescribeAlarmModelResponse$roleArn": "

The ARN of the IAM role that allows the alarm to perform actions and access AWS resources. For more information, see Amazon Resource Names (ARNs) in the AWS General Reference.

", "DetectorModelConfiguration$roleArn": "

The ARN of the role that grants permission to AWS IoT Events to perform its operations.

", "DetectorModelVersionSummary$roleArn": "

The ARN of the role that grants the detector model permission to perform its tasks.

", "LambdaAction$functionArn": "

The ARN of the Lambda function that is executed.

", "ListTagsForResourceRequest$resourceArn": "

The ARN of the resource.

", "LoggingOptions$roleArn": "

The ARN of the role that grants permission to AWS IoT Events to perform logging.

", + "RoutedResource$arn": "

The ARN of the routed resource. For more information, see Amazon Resource Names (ARNs) in the AWS General Reference.

", "SNSTopicPublishAction$targetArn": "

The ARN of the Amazon SNS target where the message is sent.

", "TagResourceRequest$resourceArn": "

The ARN of the resource.

", "UntagResourceRequest$resourceArn": "

The ARN of the resource.

", + "UpdateAlarmModelRequest$roleArn": "

The ARN of the IAM role that allows the alarm to perform actions and access AWS resources. For more information, see Amazon Resource Names (ARNs) in the AWS General Reference.

", "UpdateDetectorModelRequest$roleArn": "

The ARN of the role that grants permission to AWS IoT Events to perform its operations.

" } }, @@ -74,7 +216,7 @@ "AnalysisResultLevel": { "base": null, "refs": { - "AnalysisResult$level": "

The severity level of the analysis result. Analysis results fall into three general categories based on the severity level:

" + "AnalysisResult$level": "

The severity level of the analysis result. Based on the severity level, analysis results fall into three general categories:

" } }, "AnalysisResultLocation": { @@ -104,13 +246,13 @@ "AnalysisStatus": { "base": null, "refs": { - "DescribeDetectorModelAnalysisResponse$status": "

The status of the analysis activity. The status can be one of the following values:

" + "DescribeDetectorModelAnalysisResponse$status": "

The status of the analysis activity. The status can be one of the following values:

" } }, "AnalysisType": { "base": null, "refs": { - "AnalysisResult$type": "

The type of the analysis result. Analyses fall into the following types based on the validators used to generate the analysis result:

For more information, see Running detector model analyses in the AWS IoT Events Developer Guide.

" + "AnalysisResult$type": "

The type of the analysis result. Analyses fall into the following types based on the validators used to generate the analysis result:

For more information, see Running detector model analyses in the AWS IoT Events Developer Guide.

" } }, "AssetId": { @@ -119,6 +261,12 @@ "IotSiteWiseAction$assetId": "

The ID of the asset that has the specified property.

" } }, + "AssetModelId": { + "base": null, + "refs": { + "IotSiteWiseAssetModelPropertyIdentifier$assetModelId": "

The ID of the AWS IoT SiteWise asset model.

" + } + }, "AssetPropertyAlias": { "base": null, "refs": { @@ -146,7 +294,8 @@ "AssetPropertyId": { "base": null, "refs": { - "IotSiteWiseAction$propertyId": "

The ID of the asset property.

" + "IotSiteWiseAction$propertyId": "

The ID of the asset property.

", + "IotSiteWiseAssetModelPropertyIdentifier$propertyId": "

The ID of the AWS IoT SiteWise asset property.

" } }, "AssetPropertyIntegerValue": { @@ -207,7 +356,9 @@ "base": null, "refs": { "Attribute$jsonPath": "

An expression that specifies an attribute-value pair in a JSON structure. Use this to specify an attribute from the JSON payload that is made available by the input. Inputs are derived from messages sent to AWS IoT Events (BatchPutMessage). Each such message contains a JSON payload. The attribute (and its paired value) specified here are available for use in the condition expressions used by detectors.

Syntax: <field-name>.<field-name>...

", + "CreateAlarmModelRequest$key": "

An input attribute used as a key to create an alarm. AWS IoT Events routes inputs associated with this key to the alarm.

", "CreateDetectorModelRequest$key": "

The input attribute key used to identify a device or system to create a detector (an instance of the detector model) and then to route each input received to the appropriate detector (instance). This parameter uses a JSON-path expression in the message payload of each input to specify the attribute-value pair that is used to identify the device associated with the input.

", + "DescribeAlarmModelResponse$key": "

An input attribute used as a key to create an alarm. AWS IoT Events routes inputs associated with this key to the alarm.

", "DetectorModelConfiguration$key": "

The value used to identify a detector instance. When a device or system sends input, a new detector instance with a unique key value is created. AWS IoT Events can continue to route input to its corresponding detector instance based on this identifying information.

This parameter uses a JSON-path expression to select the attribute-value pair in the message payload that is used for identification. To route the message to the correct detector instance, the device must send a message payload that contains the same attribute-value.

" } }, @@ -223,6 +374,12 @@ "Action$clearTimer": "

Information needed to clear the timer.

" } }, + "ComparisonOperator": { + "base": null, + "refs": { + "SimpleRule$comparisonOperator": "

The comparison operator.

" + } + }, "Condition": { "base": null, "refs": { @@ -236,6 +393,16 @@ "Payload$contentExpression": "

The content of the payload. You can use a string expression that includes quoted strings ('<string>'), variables ($variable.<variable-name>), input values ($input.<input-name>.<path-to-datum>), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

" } }, + "CreateAlarmModelRequest": { + "base": null, + "refs": { + } + }, + "CreateAlarmModelResponse": { + "base": null, + "refs": { + } + }, "CreateDetectorModelRequest": { "base": null, "refs": { @@ -256,6 +423,16 @@ "refs": { } }, + "DeleteAlarmModelRequest": { + "base": null, + "refs": { + } + }, + "DeleteAlarmModelResponse": { + "base": null, + "refs": { + } + }, "DeleteDetectorModelRequest": { "base": null, "refs": { @@ -282,6 +459,16 @@ "FirehoseAction$deliveryStreamName": "

The name of the Kinesis Data Firehose delivery stream where the data is written.

" } }, + "DescribeAlarmModelRequest": { + "base": null, + "refs": { + } + }, + "DescribeAlarmModelResponse": { + "base": null, + "refs": { + } + }, "DescribeDetectorModelAnalysisRequest": { "base": null, "refs": { @@ -426,16 +613,24 @@ "DetectorModelVersionSummaries$member": null } }, + "DisabledOnInitialization": { + "base": null, + "refs": { + "InitializationConfiguration$disabledOnInitialization": "

The value must be TRUE or FALSE. If FALSE, all alarm instances created based on the alarm model are activated. The default value is TRUE.

" + } + }, "DynamoDBAction": { "base": "

Defines an action to write to the Amazon DynamoDB table that you created. The standard action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the payload. One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify.

You must use expressions for all parameters in DynamoDBAction. The expressions accept literals, operators, functions, references, and substitution templates.

Examples

For more information, see Expressions in the AWS IoT Events Developer Guide.

If the defined payload type is a string, DynamoDBAction writes non-JSON data to the DynamoDB table as binary data. The DynamoDB console displays the data as Base64-encoded text. The value for the payloadField parameter is <payload-field>_raw.

", "refs": { - "Action$dynamoDB": "

Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can customize the payload. One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see Actions in AWS IoT Events Developer Guide.

" + "Action$dynamoDB": "

Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can customize the payload. One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see Actions in AWS IoT Events Developer Guide.

", + "AlarmAction$dynamoDB": null } }, "DynamoDBv2Action": { "base": "

Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all the information about the detector model instance and the event that triggered the action. You can customize the payload. A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.

You must use expressions for all parameters in DynamoDBv2Action. The expressions accept literals, operators, functions, references, and substitution templates.

Examples

For more information, see Expressions in the AWS IoT Events Developer Guide.

The value for the type parameter in Payload must be JSON.

", "refs": { - "Action$dynamoDBv2": "

Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can customize the payload. A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify. For more information, see Actions in AWS IoT Events Developer Guide.

" + "Action$dynamoDBv2": "

Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can customize the payload. A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify. For more information, see Actions in AWS IoT Events Developer Guide.

", + "AlarmAction$dynamoDBv2": null } }, "DynamoKeyField": { @@ -473,6 +668,36 @@ "DynamoDBv2Action$tableName": "

The name of the DynamoDB table.

" } }, + "EmailConfiguration": { + "base": "

Contains the configuration information of email notifications.

", + "refs": { + "EmailConfigurations$member": null + } + }, + "EmailConfigurations": { + "base": null, + "refs": { + "NotificationAction$emailConfigurations": "

Contains the configuration information of email notifications.

" + } + }, + "EmailContent": { + "base": "

Contains the subject and message of an email.

", + "refs": { + "EmailConfiguration$content": "

Contains the subject and message of an email.

" + } + }, + "EmailRecipients": { + "base": "

Contains the information of one or more recipients who receive the emails.

You must add the users that receive emails to your AWS SSO store.

", + "refs": { + "EmailConfiguration$recipients": "

Contains the information of one or more recipients who receive the emails.

You must add the users that receive emails to your AWS SSO store.

" + } + }, + "EmailSubject": { + "base": null, + "refs": { + "EmailContent$subject": "

The subject of the email.

" + } + }, "EvaluationMethod": { "base": null, "refs": { @@ -506,7 +731,8 @@ "FirehoseAction": { "base": "

Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.

", "refs": { - "Action$firehose": "

Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.

" + "Action$firehose": "

Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.

", + "AlarmAction$firehose": null } }, "FirehoseSeparator": { @@ -515,6 +741,12 @@ "FirehoseAction$separator": "

A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: '\\n' (newline), '\\t' (tab), '\\r\\n' (Windows newline), ',' (comma).

" } }, + "FromEmail": { + "base": null, + "refs": { + "EmailConfiguration$from": "

The email address that sends emails.

If you use the AWS IoT Events managed AWS Lambda function to manage your emails, you must verify the email address that sends emails in Amazon SES.

" + } + }, "GetDetectorModelAnalysisResultsRequest": { "base": null, "refs": { @@ -525,6 +757,18 @@ "refs": { } }, + "IdentityStoreId": { + "base": null, + "refs": { + "SSOIdentity$identityStoreId": "

The ID of the AWS SSO identity store.

" + } + }, + "InitializationConfiguration": { + "base": "

Specifies the default alarm state. The configuration applies to all alarms that were created based on this alarm model.

", + "refs": { + "AlarmCapabilities$initializationConfiguration": "

Specifies the default alarm state. The configuration applies to all alarms that were created based on this alarm model.

" + } + }, "Input": { "base": "

Information about the input.

", "refs": { @@ -563,6 +807,12 @@ "UpdateInputRequest$inputDescription": "

A brief description of the input.

" } }, + "InputIdentifier": { + "base": "

The identifer of the input.

", + "refs": { + "ListInputRoutingsRequest$inputIdentifier": "

The identifer of the routed input.

" + } + }, "InputName": { "base": null, "refs": { @@ -572,9 +822,16 @@ "InputConfiguration$inputName": "

The name of the input.

", "InputSummary$inputName": "

The name of the input.

", "IotEventsAction$inputName": "

The name of the AWS IoT Events input where the data is sent.

", + "IotEventsInputIdentifier$inputName": "

The name of the input routed to AWS IoT Events.

", "UpdateInputRequest$inputName": "

The name of the input you want to update.

" } }, + "InputProperty": { + "base": null, + "refs": { + "SimpleRule$inputProperty": "

The value on the left side of the comparison operator. You can specify an AWS IoT Events input attribute as an input property.

" + } + }, "InputStatus": { "base": null, "refs": { @@ -607,19 +864,40 @@ "IotEventsAction": { "base": "

Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.

", "refs": { - "Action$iotEvents": "

Sends AWS IoT Events input, which passes information about the detector model instance and the event that triggered the action.

" + "Action$iotEvents": "

Sends AWS IoT Events input, which passes information about the detector model instance and the event that triggered the action.

", + "AlarmAction$iotEvents": null + } + }, + "IotEventsInputIdentifier": { + "base": "

The identifier of the input routed to AWS IoT Events.

", + "refs": { + "InputIdentifier$iotEventsInputIdentifier": "

The identifier of the input routed to AWS IoT Events.

" } }, "IotSiteWiseAction": { "base": "

Sends information about the detector model instance and the event that triggered the action to a specified asset property in AWS IoT SiteWise.

You must use expressions for all parameters in IotSiteWiseAction. The expressions accept literals, operators, functions, references, and substitutions templates.

Examples

You must specify either propertyAlias or both assetId and propertyId to identify the target asset property in AWS IoT SiteWise.

For more information, see Expressions in the AWS IoT Events Developer Guide.

", "refs": { - "Action$iotSiteWise": "

Sends information about the detector model instance and the event that triggered the action to an asset property in AWS IoT SiteWise .

" + "Action$iotSiteWise": "

Sends information about the detector model instance and the event that triggered the action to an asset property in AWS IoT SiteWise .

", + "AlarmAction$iotSiteWise": null + } + }, + "IotSiteWiseAssetModelPropertyIdentifier": { + "base": "

The asset model property identifer of the input routed from AWS IoT SiteWise.

", + "refs": { + "IotSiteWiseInputIdentifier$iotSiteWiseAssetModelPropertyIdentifier": "

The identifier of the AWS IoT SiteWise asset model property.

" + } + }, + "IotSiteWiseInputIdentifier": { + "base": "

The identifer of the input routed from AWS IoT SiteWise.

", + "refs": { + "InputIdentifier$iotSiteWiseInputIdentifier": "

The identifer of the input routed from AWS IoT SiteWise.

" } }, "IotTopicPublishAction": { "base": "

Information required to publish the MQTT message through the AWS IoT message broker.

", "refs": { - "Action$iotTopicPublish": "

Publishes an MQTT message with the given topic to the AWS IoT message broker.

" + "Action$iotTopicPublish": "

Publishes an MQTT message with the given topic to the AWS IoT message broker.

", + "AlarmAction$iotTopicPublish": null } }, "KeyValue": { @@ -631,7 +909,9 @@ "LambdaAction": { "base": "

Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.

", "refs": { - "Action$lambda": "

Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.

" + "Action$lambda": "

Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.

", + "AlarmAction$lambda": null, + "NotificationTargetActions$lambdaAction": null } }, "LimitExceededException": { @@ -639,6 +919,26 @@ "refs": { } }, + "ListAlarmModelVersionsRequest": { + "base": null, + "refs": { + } + }, + "ListAlarmModelVersionsResponse": { + "base": null, + "refs": { + } + }, + "ListAlarmModelsRequest": { + "base": null, + "refs": { + } + }, + "ListAlarmModelsResponse": { + "base": null, + "refs": { + } + }, "ListDetectorModelVersionsRequest": { "base": null, "refs": { @@ -659,6 +959,16 @@ "refs": { } }, + "ListInputRoutingsRequest": { + "base": null, + "refs": { + } + }, + "ListInputRoutingsResponse": { + "base": null, + "refs": { + } + }, "ListInputsRequest": { "base": null, "refs": { @@ -713,8 +1023,11 @@ "MaxResults": { "base": null, "refs": { + "ListAlarmModelVersionsRequest$maxResults": "

The maximum number of results to be returned per request.

", + "ListAlarmModelsRequest$maxResults": "

The maximum number of results to be returned per request.

", "ListDetectorModelVersionsRequest$maxResults": "

The maximum number of results to be returned per request.

", "ListDetectorModelsRequest$maxResults": "

The maximum number of results to be returned per request.

", + "ListInputRoutingsRequest$maxResults": "

The maximum number of results to be returned per request.

", "ListInputsRequest$maxResults": "

The maximum number of results to be returned per request.

" } }, @@ -723,14 +1036,45 @@ "refs": { "GetDetectorModelAnalysisResultsRequest$nextToken": "

The token that you can use to return the next set of results.

", "GetDetectorModelAnalysisResultsResponse$nextToken": "

The token that you can use to return the next set of results, or null if there are no more results.

", + "ListAlarmModelVersionsRequest$nextToken": "

The token that you can use to return the next set of results.

", + "ListAlarmModelVersionsResponse$nextToken": "

The token that you can use to return the next set of results, or null if there are no more results.

", + "ListAlarmModelsRequest$nextToken": "

The token that you can use to return the next set of results.

", + "ListAlarmModelsResponse$nextToken": "

The token that you can use to return the next set of results, or null if there are no more results.

", "ListDetectorModelVersionsRequest$nextToken": "

The token that you can use to return the next set of results.

", "ListDetectorModelVersionsResponse$nextToken": "

The token that you can use to return the next set of results, or null if there are no more results.

", "ListDetectorModelsRequest$nextToken": "

The token that you can use to return the next set of results.

", "ListDetectorModelsResponse$nextToken": "

The token that you can use to return the next set of results, or null if there are no more results.

", + "ListInputRoutingsRequest$nextToken": "

The token that you can use to return the next set of results.

", + "ListInputRoutingsResponse$nextToken": "

The token that you can use to return the next set of results, or null if there are no more results.

", "ListInputsRequest$nextToken": "

The token that you can use to return the next set of results.

", "ListInputsResponse$nextToken": "

The token that you can use to return the next set of results, or null if there are no more results.

" } }, + "NotificationAction": { + "base": "

Contains the notification settings of an alarm model. The settings apply to all alarms that were created based on this alarm model.

", + "refs": { + "NotificationActions$member": null + } + }, + "NotificationActions": { + "base": null, + "refs": { + "AlarmNotification$notificationActions": "

Contains the notification settings of an alarm model. The settings apply to all alarms that were created based on this alarm model.

" + } + }, + "NotificationAdditionalMessage": { + "base": null, + "refs": { + "EmailContent$additionalMessage": "

The message that you want to send. The message can be up to 200 characters.

", + "SMSConfiguration$additionalMessage": "

The message that you want to send. The message can be up to 200 characters.

" + } + }, + "NotificationTargetActions": { + "base": "

Specifies an AWS Lambda function to manage alarm notifications. You can create one or use the AWS Lambda function provided by AWS IoT Events.

", + "refs": { + "NotificationAction$action": "

Specifies an AWS Lambda function to manage alarm notifications. You can create one or use the AWS Lambda function provided by AWS IoT Events.

" + } + }, "OnEnterLifecycle": { "base": "

When entering this state, perform these actions if the condition is TRUE.

", "refs": { @@ -779,6 +1123,19 @@ "SqsAction$queueUrl": "

The URL of the SQS queue where the data is written.

" } }, + "RecipientDetail": { + "base": "

The information that identifies the recipient.

", + "refs": { + "RecipientDetails$member": null + } + }, + "RecipientDetails": { + "base": null, + "refs": { + "EmailRecipients$to": "

Specifies one or more recipients who receive the email.

", + "SMSConfiguration$recipients": "

Specifies one or more recipients who receive the message.

You must add the users that receive SMS messages to your AWS SSO store.

" + } + }, "ResetTimerAction": { "base": "

Information required to reset the timer. The timer is reset to the previously evaluated result of the duration. The duration expression isn't reevaluated when you reset the timer.

", "refs": { @@ -795,15 +1152,64 @@ "refs": { } }, + "ResourceName": { + "base": null, + "refs": { + "RoutedResource$name": "

The name of the routed resource.

" + } + }, "ResourceNotFoundException": { "base": "

The resource was not found.

", "refs": { } }, + "RoutedResource": { + "base": "

Contains information about the routed resource.

", + "refs": { + "RoutedResources$member": null + } + }, + "RoutedResources": { + "base": null, + "refs": { + "ListInputRoutingsResponse$routedResources": "

Summary information about the routed resources.

" + } + }, + "SMSConfiguration": { + "base": "

Contains the configuration information of SMS notifications.

", + "refs": { + "SMSConfigurations$member": null + } + }, + "SMSConfigurations": { + "base": null, + "refs": { + "NotificationAction$smsConfigurations": "

Contains the configuration information of SMS notifications.

" + } + }, + "SMSSenderId": { + "base": null, + "refs": { + "SMSConfiguration$senderId": "

The sender ID.

" + } + }, "SNSTopicPublishAction": { "base": "

Information required to publish the Amazon SNS message.

", "refs": { - "Action$sns": "

Sends an Amazon SNS message.

" + "Action$sns": "

Sends an Amazon SNS message.

", + "AlarmAction$sns": null + } + }, + "SSOIdentity": { + "base": "

Contains information about your identity source in AWS Single Sign-On. For more information, see the AWS Single Sign-On User Guide.

", + "refs": { + "RecipientDetail$ssoIdentity": "

The AWS Single Sign-On (AWS SSO) authentication information.

" + } + }, + "SSOReferenceId": { + "base": null, + "refs": { + "SSOIdentity$userId": "

The user ID.

" } }, "Seconds": { @@ -829,10 +1235,25 @@ "Action$setVariable": "

Sets a variable to a specified value.

" } }, + "Severity": { + "base": null, + "refs": { + "CreateAlarmModelRequest$severity": "

A non-negative integer that reflects the severity level of the alarm.

", + "DescribeAlarmModelResponse$severity": "

A non-negative integer that reflects the severity level of the alarm.

", + "UpdateAlarmModelRequest$severity": "

A non-negative integer that reflects the severity level of the alarm.

" + } + }, + "SimpleRule": { + "base": "

A rule that compares an input property value to a threshold value with a comparison operator.

", + "refs": { + "AlarmRule$simpleRule": "

A rule that compares an input property value to a threshold value with a comparison operator.

" + } + }, "SqsAction": { "base": "

Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.

", "refs": { - "Action$sqs": "

Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.

" + "Action$sqs": "

Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.

", + "AlarmAction$sqs": null } }, "StartDetectorModelAnalysisRequest": { @@ -865,6 +1286,13 @@ "DetectorModelDefinition$states": "

Information about the states of the detector.

" } }, + "StatusMessage": { + "base": null, + "refs": { + "AlarmModelVersionSummary$statusMessage": "

Contains information about the status of the alarm model version.

", + "DescribeAlarmModelResponse$statusMessage": "

Contains information about the status of the alarm model.

" + } + }, "Tag": { "base": "

Metadata that can be used to manage the resource.

", "refs": { @@ -903,12 +1331,19 @@ "Tags": { "base": null, "refs": { + "CreateAlarmModelRequest$tags": "

A list of key-value pairs that contain metadata for the alarm model. The tags help you manage the alarm model. For more information, see Tagging your AWS IoT Events resources in the AWS IoT Events Developer Guide.

You can create up to 50 tags for one alarm model.

", "CreateDetectorModelRequest$tags": "

Metadata that can be used to manage the detector model.

", "CreateInputRequest$tags": "

Metadata that can be used to manage the input.

", "ListTagsForResourceResponse$tags": "

The list of tags assigned to the resource.

", "TagResourceRequest$tags": "

The new or modified tags for the resource.

" } }, + "Threshold": { + "base": null, + "refs": { + "SimpleRule$threshold": "

The value on the right side of the comparison operator. You can enter a number or specify an AWS IoT Events input attribute.

" + } + }, "ThrottlingException": { "base": "

The request could not be completed due to throttling.

", "refs": { @@ -925,6 +1360,13 @@ "Timestamp": { "base": null, "refs": { + "AlarmModelSummary$creationTime": "

The time the alarm model was created, in the Unix epoch format.

", + "AlarmModelVersionSummary$creationTime": "

The time the alarm model was created, in the Unix epoch format.

", + "AlarmModelVersionSummary$lastUpdateTime": "

The time the alarm model was last updated, in the Unix epoch format.

", + "CreateAlarmModelResponse$creationTime": "

The time the alarm model was created, in the Unix epoch format.

", + "CreateAlarmModelResponse$lastUpdateTime": "

The time the alarm model was last updated, in the Unix epoch format.

", + "DescribeAlarmModelResponse$creationTime": "

The time the alarm model was created, in the Unix epoch format.

", + "DescribeAlarmModelResponse$lastUpdateTime": "

The time the alarm model was last updated, in the Unix epoch format.

", "DetectorModelConfiguration$creationTime": "

The time the detector model was created.

", "DetectorModelConfiguration$lastUpdateTime": "

The time the detector model was last updated.

", "DetectorModelSummary$creationTime": "

The time the detector model was created.

", @@ -933,7 +1375,9 @@ "InputConfiguration$creationTime": "

The time the input was created.

", "InputConfiguration$lastUpdateTime": "

The last time the input was updated.

", "InputSummary$creationTime": "

The time the input was created.

", - "InputSummary$lastUpdateTime": "

The last time the input was updated.

" + "InputSummary$lastUpdateTime": "

The last time the input was updated.

", + "UpdateAlarmModelResponse$creationTime": "

The time the alarm model was created, in the Unix epoch format.

", + "UpdateAlarmModelResponse$lastUpdateTime": "

The time the alarm model was last updated, in the Unix epoch format.

" } }, "TransitionEvent": { @@ -963,6 +1407,16 @@ "refs": { } }, + "UpdateAlarmModelRequest": { + "base": null, + "refs": { + } + }, + "UpdateAlarmModelResponse": { + "base": null, + "refs": { + } + }, "UpdateDetectorModelRequest": { "base": null, "refs": { diff --git a/models/apis/iotsitewise/2019-12-02/api-2.json b/models/apis/iotsitewise/2019-12-02/api-2.json index f34dbe4cb99..a95db29e83f 100644 --- a/models/apis/iotsitewise/2019-12-02/api-2.json +++ b/models/apis/iotsitewise/2019-12-02/api-2.json @@ -1073,6 +1073,14 @@ "standardDeviation":{"shape":"AggregatedDoubleValue"} } }, + "Alarms":{ + "type":"structure", + "required":["alarmRoleArn"], + "members":{ + "alarmRoleArn":{"shape":"ARN"}, + "notificationLambdaArn":{"shape":"ARN"} + } + }, "AmazonResourceName":{ "type":"string", "max":1011, @@ -1810,7 +1818,9 @@ "portalLogoImageFile":{"shape":"ImageFile"}, "roleArn":{"shape":"ARN"}, "tags":{"shape":"TagMap"}, - "portalAuthMode":{"shape":"AuthMode"} + "portalAuthMode":{"shape":"AuthMode"}, + "notificationSenderEmail":{"shape":"Email"}, + "alarms":{"shape":"Alarms"} } }, "CreatePortalResponse":{ @@ -2341,7 +2351,9 @@ "portalLastUpdateDate":{"shape":"Timestamp"}, "portalLogoImageLocation":{"shape":"ImageLocation"}, "roleArn":{"shape":"ARN"}, - "portalAuthMode":{"shape":"AuthMode"} + "portalAuthMode":{"shape":"AuthMode"}, + "notificationSenderEmail":{"shape":"Email"}, + "alarms":{"shape":"Alarms"} } }, "DescribeProjectRequest":{ @@ -3963,7 +3975,9 @@ "clientToken":{ "shape":"ClientToken", "idempotencyToken":true - } + }, + "notificationSenderEmail":{"shape":"Email"}, + "alarms":{"shape":"Alarms"} } }, "UpdatePortalResponse":{ diff --git a/models/apis/iotsitewise/2019-12-02/docs-2.json b/models/apis/iotsitewise/2019-12-02/docs-2.json index 21fd921edb9..4c28d6806e4 100644 --- a/models/apis/iotsitewise/2019-12-02/docs-2.json +++ b/models/apis/iotsitewise/2019-12-02/docs-2.json @@ -65,6 +65,8 @@ "ARN": { "base": null, "refs": { + "Alarms$alarmRoleArn": "

The ARN of the IAM role that allows the alarm to perform actions and access AWS resources, including AWS IoT Events.

", + "Alarms$notificationLambdaArn": "

The ARN of the AWS Lambda function that manages alarm notifications. For more information, see Managing alarm notifications in the AWS IoT Events Developer Guide.

", "AssetModelSummary$arn": "

The ARN of the asset model, which has the following format.

arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId}

", "AssetSummary$arn": "

The ARN of the asset, which has the following format.

arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}

", "AssociatedAssetsSummary$arn": "

The ARN of the asset, which has the following format.

arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}

", @@ -147,6 +149,14 @@ "AggregatedValue$value": "

The value of the aggregates.

" } }, + "Alarms": { + "base": "

Contains the configuration information of an alarm created in an AWS IoT SiteWise Monitor portal. You can use the alarm to monitor an asset property and get notified when the asset property value is outside a specified range. For more information, see .

", + "refs": { + "CreatePortalRequest$alarms": "

Contains the configuration information of an alarm created in an AWS IoT SiteWise Monitor portal. You can use the alarm to monitor an asset property and get notified when the asset property value is outside a specified range. For more information, see .

", + "DescribePortalResponse$alarms": "

Contains the configuration information of an alarm created in a AWS IoT SiteWise Monitor portal.

", + "UpdatePortalRequest$alarms": "

Contains the configuration information of an alarm created in an AWS IoT SiteWise Monitor portal. You can use the alarm to monitor an asset property and get notified when the asset property value is outside a specified range. For more information, see .

" + } + }, "AmazonResourceName": { "base": null, "refs": { @@ -897,8 +907,11 @@ "base": null, "refs": { "CreatePortalRequest$portalContactEmail": "

The AWS administrator's contact email address.

", + "CreatePortalRequest$notificationSenderEmail": "

The email address that sends alarm notifications.

If you use the AWS IoT Events managed AWS Lambda function to manage your emails, you must verify the sender email address in Amazon SES.

", "DescribePortalResponse$portalContactEmail": "

The AWS administrator's contact email address.

", - "UpdatePortalRequest$portalContactEmail": "

The AWS administrator's contact email address.

" + "DescribePortalResponse$notificationSenderEmail": "

The email address that sends alarm notifications.

", + "UpdatePortalRequest$portalContactEmail": "

The AWS administrator's contact email address.

", + "UpdatePortalRequest$notificationSenderEmail": "

The email address that sends alarm notifications.

" } }, "EncryptionType": { diff --git a/models/apis/kendra/2019-02-03/api-2.json b/models/apis/kendra/2019-02-03/api-2.json index d8d33a5b660..57edc59359b 100644 --- a/models/apis/kendra/2019-02-03/api-2.json +++ b/models/apis/kendra/2019-02-03/api-2.json @@ -49,6 +49,22 @@ {"shape":"InternalServerException"} ] }, + "ClearQuerySuggestions":{ + "name":"ClearQuerySuggestions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ClearQuerySuggestionsRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ] + }, "CreateDataSource":{ "name":"CreateDataSource", "http":{ @@ -104,6 +120,24 @@ {"shape":"InternalServerException"} ] }, + "CreateQuerySuggestionsBlockList":{ + "name":"CreateQuerySuggestionsBlockList", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateQuerySuggestionsBlockListRequest"}, + "output":{"shape":"CreateQuerySuggestionsBlockListResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ] + }, "CreateThesaurus":{ "name":"CreateThesaurus", "http":{ @@ -170,6 +204,22 @@ {"shape":"InternalServerException"} ] }, + "DeleteQuerySuggestionsBlockList":{ + "name":"DeleteQuerySuggestionsBlockList", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteQuerySuggestionsBlockListRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ] + }, "DeleteThesaurus":{ "name":"DeleteThesaurus", "http":{ @@ -234,6 +284,38 @@ {"shape":"InternalServerException"} ] }, + "DescribeQuerySuggestionsBlockList":{ + "name":"DescribeQuerySuggestionsBlockList", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeQuerySuggestionsBlockListRequest"}, + "output":{"shape":"DescribeQuerySuggestionsBlockListResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ] + }, + "DescribeQuerySuggestionsConfig":{ + "name":"DescribeQuerySuggestionsConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeQuerySuggestionsConfigRequest"}, + "output":{"shape":"DescribeQuerySuggestionsConfigResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ] + }, "DescribeThesaurus":{ "name":"DescribeThesaurus", "http":{ @@ -250,6 +332,24 @@ {"shape":"InternalServerException"} ] }, + "GetQuerySuggestions":{ + "name":"GetQuerySuggestions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetQuerySuggestionsRequest"}, + "output":{"shape":"GetQuerySuggestionsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ] + }, "ListDataSourceSyncJobs":{ "name":"ListDataSourceSyncJobs", "http":{ @@ -314,6 +414,22 @@ {"shape":"InternalServerException"} ] }, + "ListQuerySuggestionsBlockLists":{ + "name":"ListQuerySuggestionsBlockLists", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListQuerySuggestionsBlockListsRequest"}, + "output":{"shape":"ListQuerySuggestionsBlockListsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ] + }, "ListTagsForResource":{ "name":"ListTagsForResource", "http":{ @@ -478,6 +594,38 @@ {"shape":"InternalServerException"} ] }, + "UpdateQuerySuggestionsBlockList":{ + "name":"UpdateQuerySuggestionsBlockList", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateQuerySuggestionsBlockListRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ] + }, + "UpdateQuerySuggestionsConfig":{ + "name":"UpdateQuerySuggestionsConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateQuerySuggestionsConfigRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ] + }, "UpdateThesaurus":{ "name":"UpdateThesaurus", "http":{ @@ -652,6 +800,13 @@ "min":1, "pattern":"^\\P{C}*$" }, + "ClearQuerySuggestionsRequest":{ + "type":"structure", + "required":["IndexId"], + "members":{ + "IndexId":{"shape":"IndexId"} + } + }, "ClickFeedback":{ "type":"structure", "required":[ @@ -990,6 +1145,33 @@ "Id":{"shape":"IndexId"} } }, + "CreateQuerySuggestionsBlockListRequest":{ + "type":"structure", + "required":[ + "IndexId", + "Name", + "SourceS3Path", + "RoleArn" + ], + "members":{ + "IndexId":{"shape":"IndexId"}, + "Name":{"shape":"QuerySuggestionsBlockListName"}, + "Description":{"shape":"Description"}, + "SourceS3Path":{"shape":"S3Path"}, + "ClientToken":{ + "shape":"ClientTokenName", + "idempotencyToken":true + }, + "RoleArn":{"shape":"RoleArn"}, + "Tags":{"shape":"TagList"} + } + }, + "CreateQuerySuggestionsBlockListResponse":{ + "type":"structure", + "members":{ + "Id":{"shape":"QuerySuggestionsBlockListId"} + } + }, "CreateThesaurusRequest":{ "type":"structure", "required":[ @@ -1115,10 +1297,7 @@ }, "DataSourceSyncJobMetricTarget":{ "type":"structure", - "required":[ - "DataSourceId", - "DataSourceSyncJobId" - ], + "required":["DataSourceId"], "members":{ "DataSourceId":{"shape":"DataSourceId"}, "DataSourceSyncJobId":{"shape":"DataSourceSyncJobId"} @@ -1259,6 +1438,17 @@ "Id":{"shape":"IndexId"} } }, + "DeleteQuerySuggestionsBlockListRequest":{ + "type":"structure", + "required":[ + "IndexId", + "Id" + ], + "members":{ + "IndexId":{"shape":"IndexId"}, + "Id":{"shape":"QuerySuggestionsBlockListId"} + } + }, "DeleteThesaurusRequest":{ "type":"structure", "required":[ @@ -1352,6 +1542,55 @@ "UserContextPolicy":{"shape":"UserContextPolicy"} } }, + "DescribeQuerySuggestionsBlockListRequest":{ + "type":"structure", + "required":[ + "IndexId", + "Id" + ], + "members":{ + "IndexId":{"shape":"IndexId"}, + "Id":{"shape":"QuerySuggestionsBlockListId"} + } + }, + "DescribeQuerySuggestionsBlockListResponse":{ + "type":"structure", + "members":{ + "IndexId":{"shape":"IndexId"}, + "Id":{"shape":"QuerySuggestionsBlockListId"}, + "Name":{"shape":"QuerySuggestionsBlockListName"}, + "Description":{"shape":"Description"}, + "Status":{"shape":"QuerySuggestionsBlockListStatus"}, + "ErrorMessage":{"shape":"ErrorMessage"}, + "CreatedAt":{"shape":"Timestamp"}, + "UpdatedAt":{"shape":"Timestamp"}, + "SourceS3Path":{"shape":"S3Path"}, + "ItemCount":{"shape":"Integer"}, + "FileSizeBytes":{"shape":"Long"}, + "RoleArn":{"shape":"RoleArn"} + } + }, + "DescribeQuerySuggestionsConfigRequest":{ + "type":"structure", + "required":["IndexId"], + "members":{ + "IndexId":{"shape":"IndexId"} + } + }, + "DescribeQuerySuggestionsConfigResponse":{ + "type":"structure", + "members":{ + "Mode":{"shape":"Mode"}, + "Status":{"shape":"QuerySuggestionsStatus"}, + "QueryLogLookBackWindowInDays":{"shape":"Integer"}, + "IncludeQueriesWithoutUserInformation":{"shape":"ObjectBoolean"}, + "MinimumNumberOfQueryingUsers":{"shape":"MinimumNumberOfQueryingUsers"}, + "MinimumQueryCount":{"shape":"MinimumQueryCount"}, + "LastSuggestionsBuildTime":{"shape":"Timestamp"}, + "LastClearTime":{"shape":"Timestamp"}, + "TotalSuggestionsCount":{"shape":"Integer"} + } + }, "DescribeThesaurusRequest":{ "type":"structure", "required":[ @@ -1647,6 +1886,25 @@ "min":1, "pattern":"^\\P{C}*.\\P{C}*$" }, + "GetQuerySuggestionsRequest":{ + "type":"structure", + "required":[ + "IndexId", + "QueryText" + ], + "members":{ + "IndexId":{"shape":"IndexId"}, + "QueryText":{"shape":"SuggestionQueryText"}, + "MaxSuggestionsCount":{"shape":"Integer"} + } + }, + "GetQuerySuggestionsResponse":{ + "type":"structure", + "members":{ + "QuerySuggestionsId":{"shape":"QuerySuggestionsId"}, + "Suggestions":{"shape":"SuggestionList"} + } + }, "GoogleDriveConfiguration":{ "type":"structure", "required":["SecretArn"], @@ -1894,6 +2152,22 @@ "NextToken":{"shape":"NextToken"} } }, + "ListQuerySuggestionsBlockListsRequest":{ + "type":"structure", + "required":["IndexId"], + "members":{ + "IndexId":{"shape":"IndexId"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResultsIntegerForListQuerySuggestionsBlockLists"} + } + }, + "ListQuerySuggestionsBlockListsResponse":{ + "type":"structure", + "members":{ + "BlockListSummaryItems":{"shape":"QuerySuggestionsBlockListSummaryItems"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListTagsForResourceRequest":{ "type":"structure", "required":["ResourceARN"], @@ -1944,6 +2218,11 @@ "max":100, "min":1 }, + "MaxResultsIntegerForListQuerySuggestionsBlockLists":{ + "type":"integer", + "max":100, + "min":1 + }, "MaxResultsIntegerForListThesauriRequest":{ "type":"integer", "max":100, @@ -1959,11 +2238,29 @@ "min":1, "pattern":"^\\P{C}*$" }, + "MinimumNumberOfQueryingUsers":{ + "type":"integer", + "max":10000, + "min":1 + }, + "MinimumQueryCount":{ + "type":"integer", + "max":10000, + "min":1 + }, + "Mode":{ + "type":"string", + "enum":[ + "ENABLED", + "LEARN_ONLY" + ] + }, "NextToken":{ "type":"string", "max":800, "min":1 }, + "ObjectBoolean":{"type":"boolean"}, "OneDriveConfiguration":{ "type":"structure", "required":[ @@ -2111,6 +2408,56 @@ "ANSWER" ] }, + "QuerySuggestionsBlockListId":{ + "type":"string", + "max":36, + "min":36, + "pattern":"[a-zA-Z0-9][a-zA-Z0-9-]*" + }, + "QuerySuggestionsBlockListName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "QuerySuggestionsBlockListStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "CREATING", + "DELETING", + "UPDATING", + "ACTIVE_BUT_UPDATE_FAILED", + "FAILED" + ] + }, + "QuerySuggestionsBlockListSummary":{ + "type":"structure", + "members":{ + "Id":{"shape":"QuerySuggestionsBlockListId"}, + "Name":{"shape":"QuerySuggestionsBlockListName"}, + "Status":{"shape":"QuerySuggestionsBlockListStatus"}, + "CreatedAt":{"shape":"Timestamp"}, + "UpdatedAt":{"shape":"Timestamp"}, + "ItemCount":{"shape":"Integer"} + } + }, + "QuerySuggestionsBlockListSummaryItems":{ + "type":"list", + "member":{"shape":"QuerySuggestionsBlockListSummary"} + }, + "QuerySuggestionsId":{ + "type":"string", + "max":36, + "min":1 + }, + "QuerySuggestionsStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "UPDATING" + ] + }, "QueryText":{ "type":"string", "max":1000, @@ -2615,6 +2962,45 @@ "max":6, "min":1 }, + "Suggestion":{ + "type":"structure", + "members":{ + "Id":{"shape":"ResultId"}, + "Value":{"shape":"SuggestionValue"} + } + }, + "SuggestionHighlight":{ + "type":"structure", + "members":{ + "BeginOffset":{"shape":"Integer"}, + "EndOffset":{"shape":"Integer"} + } + }, + "SuggestionHighlightList":{ + "type":"list", + "member":{"shape":"SuggestionHighlight"} + }, + "SuggestionList":{ + "type":"list", + "member":{"shape":"Suggestion"} + }, + "SuggestionQueryText":{ + "type":"string", + "pattern":"^\\P{C}*$" + }, + "SuggestionTextWithHighlights":{ + "type":"structure", + "members":{ + "Text":{"shape":"String"}, + "Highlights":{"shape":"SuggestionHighlightList"} + } + }, + "SuggestionValue":{ + "type":"structure", + "members":{ + "Text":{"shape":"SuggestionTextWithHighlights"} + } + }, "TableName":{ "type":"string", "max":100, @@ -2799,6 +3185,33 @@ "UserContextPolicy":{"shape":"UserContextPolicy"} } }, + "UpdateQuerySuggestionsBlockListRequest":{ + "type":"structure", + "required":[ + "IndexId", + "Id" + ], + "members":{ + "IndexId":{"shape":"IndexId"}, + "Id":{"shape":"QuerySuggestionsBlockListId"}, + "Name":{"shape":"QuerySuggestionsBlockListName"}, + "Description":{"shape":"Description"}, + "SourceS3Path":{"shape":"S3Path"}, + "RoleArn":{"shape":"RoleArn"} + } + }, + "UpdateQuerySuggestionsConfigRequest":{ + "type":"structure", + "required":["IndexId"], + "members":{ + "IndexId":{"shape":"IndexId"}, + "Mode":{"shape":"Mode"}, + "QueryLogLookBackWindowInDays":{"shape":"Integer"}, + "IncludeQueriesWithoutUserInformation":{"shape":"ObjectBoolean"}, + "MinimumNumberOfQueryingUsers":{"shape":"MinimumNumberOfQueryingUsers"}, + "MinimumQueryCount":{"shape":"MinimumQueryCount"} + } + }, "UpdateThesaurusRequest":{ "type":"structure", "required":[ diff --git a/models/apis/kendra/2019-02-03/docs-2.json b/models/apis/kendra/2019-02-03/docs-2.json index 672ddfa1286..54a695fea3a 100644 --- a/models/apis/kendra/2019-02-03/docs-2.json +++ b/models/apis/kendra/2019-02-03/docs-2.json @@ -4,22 +4,29 @@ "operations": { "BatchDeleteDocument": "

Removes one or more documents from an index. The documents must have been added with the BatchPutDocument operation.

The documents are deleted asynchronously. You can see the progress of the deletion by using AWS CloudWatch. Any error messages related to the processing of the batch are sent to you CloudWatch log.

", "BatchPutDocument": "

Adds one or more documents to an index.

The BatchPutDocument operation enables you to ingest inline documents or a set of documents stored in an Amazon S3 bucket. Use this operation to ingest your text and unstructured text into an index, add custom attributes to the documents, and to attach an access control list to the documents added to the index.

The documents are indexed asynchronously. You can see the progress of the batch using AWS CloudWatch. Any error messages related to processing the batch are sent to your AWS CloudWatch log.

", + "ClearQuerySuggestions": "

Clears existing query suggestions from an index.

This deletes existing suggestions only, not the queries in the query log. After you clear suggestions, Amazon Kendra learns new suggestions based on new queries added to the query log from the time you cleared suggestions. If you do not see any new suggestions, then please allow Amazon Kendra to collect enough queries to learn new suggestions.

", "CreateDataSource": "

Creates a data source that you use to with an Amazon Kendra index.

You specify a name, data source connector type and description for your data source. You also specify configuration information such as document metadata (author, source URI, and so on) and user context information.

CreateDataSource is a synchronous operation. The operation returns 200 if the data source was successfully created. Otherwise, an exception is raised.

", "CreateFaq": "

Creates an new set of frequently asked question (FAQ) questions and answers.

", "CreateIndex": "

Creates a new Amazon Kendra index. Index creation is an asynchronous operation. To determine if index creation has completed, check the Status field returned from a call to DescribeIndex. The Status field is set to ACTIVE when the index is ready to use.

Once the index is active you can index your documents using the BatchPutDocument operation or using one of the supported data sources.

", + "CreateQuerySuggestionsBlockList": "

Creates a block list to exlcude certain queries from suggestions.

Any query that contains words or phrases specified in the block list is blocked or filtered out from being shown as a suggestion.

You need to provide the file location of your block list text file in your S3 bucket. In your text file, enter each block word or phrase on a separate line.

For information on the current quota limits for block lists, see Quotas for Amazon Kendra.

", "CreateThesaurus": "

Creates a thesaurus for an index. The thesaurus contains a list of synonyms in Solr format.

", "DeleteDataSource": "

Deletes an Amazon Kendra data source. An exception is not thrown if the data source is already being deleted. While the data source is being deleted, the Status field returned by a call to the DescribeDataSource operation is set to DELETING. For more information, see Deleting Data Sources.

", "DeleteFaq": "

Removes an FAQ from an index.

", "DeleteIndex": "

Deletes an existing Amazon Kendra index. An exception is not thrown if the index is already being deleted. While the index is being deleted, the Status field returned by a call to the DescribeIndex operation is set to DELETING.

", + "DeleteQuerySuggestionsBlockList": "

Deletes a block list used for query suggestions for an index.

A deleted block list might not take effect right away. Amazon Kendra needs to refresh the entire suggestions list to add back the queries that were previously blocked.

", "DeleteThesaurus": "

Deletes an existing Amazon Kendra thesaurus.

", "DescribeDataSource": "

Gets information about a Amazon Kendra data source.

", "DescribeFaq": "

Gets information about an FAQ list.

", "DescribeIndex": "

Describes an existing Amazon Kendra index

", + "DescribeQuerySuggestionsBlockList": "

Describes a block list used for query suggestions for an index.

This is used to check the current settings that are applied to a block list.

", + "DescribeQuerySuggestionsConfig": "

Describes the settings of query suggestions for an index.

This is used to check the current settings applied to query suggestions.

", "DescribeThesaurus": "

Describes an existing Amazon Kendra thesaurus.

", + "GetQuerySuggestions": "

Fetches the queries that are suggested to your users.

", "ListDataSourceSyncJobs": "

Gets statistics about synchronizing Amazon Kendra with a data source.

", "ListDataSources": "

Lists the data sources that you have created.

", "ListFaqs": "

Gets a list of FAQ lists associated with an index.

", "ListIndices": "

Lists the Amazon Kendra indexes that you have created.

", + "ListQuerySuggestionsBlockLists": "

Lists the block lists used for query suggestions for an index.

For information on the current quota limits for block lists, see Quotas for Amazon Kendra.

", "ListTagsForResource": "

Gets a list of tags associated with a specified resource. Indexes, FAQs, and data sources can have tags associated with them.

", "ListThesauri": "

Lists the Amazon Kendra thesauri associated with an index.

", "Query": "

Searches an active index. Use this API to search your documents using query. The Query operation enables to do faceted search and to filter results based on document attributes.

It also enables you to provide user context that Amazon Kendra uses to enforce document access control in the search results.

Amazon Kendra searches your index for text content and question and answer (FAQ) content. By default the response contains three types of results.

You can specify that the query return only one type of result using the QueryResultTypeConfig parameter.

Each query returns the 100 most relevant results.

", @@ -30,6 +37,8 @@ "UntagResource": "

Removes a tag from an index, FAQ, or a data source.

", "UpdateDataSource": "

Updates an existing Amazon Kendra data source.

", "UpdateIndex": "

Updates an existing Amazon Kendra index.

", + "UpdateQuerySuggestionsBlockList": "

Updates a block list used for query suggestions for an index.

Updates to a block list might not take effect right away. Amazon Kendra needs to refresh the entire suggestions list to apply any updates to the block list. Other changes not related to the block list apply immediately.

If a block list is updating, then you need to wait for the first update to finish before submitting another update.

Amazon Kendra supports partial updates, so you only need to provide the fields you want to update.

", + "UpdateQuerySuggestionsConfig": "

Updates the settings of query suggestions for an index.

Amazon Kendra supports partial updates, so you only need to provide the fields you want to update.

If an update is currently processing (i.e. 'happening'), you need to wait for the update to finish before making another update.

Updates to query suggestions settings might not take effect right away. The time for your updated settings to take effect depends on the updates made and the number of search queries in your index.

You can still enable/disable query suggestions at any time.

", "UpdateThesaurus": "

Updates a thesaurus file associated with an index.

" }, "shapes": { @@ -186,6 +195,11 @@ "JwtTokenTypeConfiguration$ClaimRegex": "

The regular expression that identifies the claim.

" } }, + "ClearQuerySuggestionsRequest": { + "base": null, + "refs": { + } + }, "ClickFeedback": { "base": "

Gathers information about when a particular result was clicked by a user. Your application uses the SubmitFeedback operation to provide click information.

", "refs": { @@ -204,6 +218,7 @@ "CreateDataSourceRequest$ClientToken": "

A token that you provide to identify the request to create a data source. Multiple calls to the CreateDataSource operation with the same client token will create only one data source.

", "CreateFaqRequest$ClientToken": "

A token that you provide to identify the request to create a FAQ. Multiple calls to the CreateFaqRequest operation with the same client token will create only one FAQ.

", "CreateIndexRequest$ClientToken": "

A token that you provide to identify the request to create an index. Multiple calls to the CreateIndex operation with the same client token will create only one index.

", + "CreateQuerySuggestionsBlockListRequest$ClientToken": "

A token that you provide to identify the request to create a query suggestions block list.

", "CreateThesaurusRequest$ClientToken": "

A token that you provide to identify the request to create a thesaurus. Multiple calls to the CreateThesaurus operation with the same client token will create only one index.

" } }, @@ -391,6 +406,16 @@ "refs": { } }, + "CreateQuerySuggestionsBlockListRequest": { + "base": null, + "refs": { + } + }, + "CreateQuerySuggestionsBlockListResponse": { + "base": null, + "refs": { + } + }, "CreateThesaurusRequest": { "base": null, "refs": { @@ -424,7 +449,7 @@ "refs": { "DataSourceToIndexFieldMapping$DataSourceFieldName": "

The name of the column or attribute in the data source.

", "SalesforceChatterFeedConfiguration$DocumentDataFieldName": "

The name of the column in the Salesforce FeedItem table that contains the content to index. Typically this is the Body column.

", - "SalesforceChatterFeedConfiguration$DocumentTitleFieldName": "

The name of the column in the Salesforce FeedItem table that contains the title of the document. This is typically the Title collumn.

", + "SalesforceChatterFeedConfiguration$DocumentTitleFieldName": "

The name of the column in the Salesforce FeedItem table that contains the title of the document. This is typically the Title column.

", "SalesforceCustomKnowledgeArticleTypeConfiguration$DocumentDataFieldName": "

The name of the field in the custom knowledge article that contains the document data to index.

", "SalesforceCustomKnowledgeArticleTypeConfiguration$DocumentTitleFieldName": "

The name of the field in the custom knowledge article that contains the document title.

", "SalesforceStandardKnowledgeArticleTypeConfiguration$DocumentDataFieldName": "

The name of the field that contains the document data to index.

", @@ -464,8 +489,8 @@ "OneDriveConfiguration$InclusionPatterns": "

A list of regular expression patterns. Documents that match the pattern are included in the index. Documents that don't match the pattern are excluded from the index. If a document matches both an inclusion pattern and an exclusion pattern, the document is not included in the index.

The exclusion pattern is applied to the file name.

", "OneDriveConfiguration$ExclusionPatterns": "

List of regular expressions applied to documents. Items that match the exclusion pattern are not indexed. If you provide both an inclusion pattern and an exclusion pattern, any item that matches the exclusion pattern isn't indexed.

The exclusion pattern is applied to the file name.

", "S3DataSourceConfiguration$InclusionPrefixes": "

A list of S3 prefixes for the documents that should be included in the index.

", - "S3DataSourceConfiguration$InclusionPatterns": "

A list of glob patterns for documents that should be indexed. If a document that matches an inclusion pattern also matches an exclusion pattern, the document is not indexed.

For more information about glob patterns, see glob (programming) in Wikipedia.

", - "S3DataSourceConfiguration$ExclusionPatterns": "

A list of glob patterns for documents that should not be indexed. If a document that matches an inclusion prefix or inclusion pattern also matches an exclusion pattern, the document is not indexed.

For more information about glob patterns, see glob (programming) in Wikipedia.

", + "S3DataSourceConfiguration$InclusionPatterns": "

A list of glob patterns for documents that should be indexed. If a document that matches an inclusion pattern also matches an exclusion pattern, the document is not indexed.

Some examples are:

", + "S3DataSourceConfiguration$ExclusionPatterns": "

A list of glob patterns for documents that should not be indexed. If a document that matches an inclusion prefix or inclusion pattern also matches an exclusion pattern, the document is not indexed.

Some examples are:

", "SalesforceConfiguration$IncludeAttachmentFilePatterns": "

A list of regular expression patterns. Documents that match the patterns are included in the index. Documents that don't match the patterns are excluded from the index. If a document matches both an inclusion pattern and an exclusion pattern, the document is not included in the index.

The regex is applied to the name of the attached file.

", "SalesforceConfiguration$ExcludeAttachmentFilePatterns": "

A list of regular expression patterns. Documents that match the patterns are excluded from the index. Documents that don't match the patterns are included in the index. If a document matches both an exclusion pattern and an inclusion pattern, the document is not included in the index.

The regex is applied to the name of the attached file.

", "ServiceNowKnowledgeArticleConfiguration$IncludeAttachmentFilePatterns": "

List of regular expressions applied to knowledge articles. Items that don't match the inclusion pattern are not indexed. The regex is applied to the field specified in the PatternTargetField.

", @@ -525,7 +550,7 @@ "DataSourceSyncJobId": { "base": null, "refs": { - "DataSourceSyncJobMetricTarget$DataSourceSyncJobId": "

The ID of the sync job that is running on the data source.

" + "DataSourceSyncJobMetricTarget$DataSourceSyncJobId": "

The ID of the sync job that is running on the data source.

If the ID of a sync job is not provided and there is a sync job running, then the ID of this sync job is used and metrics are generated for this sync job.

If the ID of a sync job is not provided and there is no sync job running, then no metrics are generated and documents are indexed/deleted at the index level without sync job metrics included.

" } }, "DataSourceSyncJobMetricTarget": { @@ -630,6 +655,11 @@ "refs": { } }, + "DeleteQuerySuggestionsBlockListRequest": { + "base": null, + "refs": { + } + }, "DeleteThesaurusRequest": { "base": null, "refs": { @@ -665,6 +695,26 @@ "refs": { } }, + "DescribeQuerySuggestionsBlockListRequest": { + "base": null, + "refs": { + } + }, + "DescribeQuerySuggestionsBlockListResponse": { + "base": null, + "refs": { + } + }, + "DescribeQuerySuggestionsConfigRequest": { + "base": null, + "refs": { + } + }, + "DescribeQuerySuggestionsConfigResponse": { + "base": null, + "refs": { + } + }, "DescribeThesaurusRequest": { "base": null, "refs": { @@ -681,13 +731,16 @@ "CreateDataSourceRequest$Description": "

A description for the data source.

", "CreateFaqRequest$Description": "

A description of the FAQ.

", "CreateIndexRequest$Description": "

A description for the index.

", + "CreateQuerySuggestionsBlockListRequest$Description": "

A user-friendly description for the block list.

For example, the description \"List of all offensive words that can appear in user queries and need to be blocked from suggestions.\"

", "CreateThesaurusRequest$Description": "

The description for the new thesaurus.

", "DescribeDataSourceResponse$Description": "

The description of the data source.

", "DescribeFaqResponse$Description": "

The description of the FAQ that you provided when it was created.

", "DescribeIndexResponse$Description": "

The description of the index.

", + "DescribeQuerySuggestionsBlockListResponse$Description": "

Shows the description for the block list.

", "DescribeThesaurusResponse$Description": "

The thesaurus description.

", "UpdateDataSourceRequest$Description": "

The new description for the data source.

", "UpdateIndexRequest$Description": "

A new description for the index.

", + "UpdateQuerySuggestionsBlockListRequest$Description": "

The description for a block list.

", "UpdateThesaurusRequest$Description": "

The updated description of the thesaurus.

" } }, @@ -790,7 +843,7 @@ "DocumentList": { "base": null, "refs": { - "BatchPutDocumentRequest$Documents": "

One or more documents to add to the index.

Documents have the following file size limits.

For more information about file size and transaction per second quotas, see Quotas.

" + "BatchPutDocumentRequest$Documents": "

One or more documents to add to the index.

Documents can include custom attributes. For example, 'DataSourceId' and 'DataSourceSyncJobId' are custom attributes that provide information on the synchronization of documents running on a data source. Note, 'DataSourceSyncJobId' could be an optional custom attribute as Amazon Kendra will use the ID of a running sync job.

Documents have the following file size limits.

For more information about file size and transaction per second quotas, see Quotas.

" } }, "DocumentMetadataBoolean": { @@ -862,6 +915,7 @@ "DescribeDataSourceResponse$ErrorMessage": "

When the Status field value is FAILED, the ErrorMessage field contains a description of the error that caused the data source to fail.

", "DescribeFaqResponse$ErrorMessage": "

If the Status field is FAILED, the ErrorMessage field contains the reason why the FAQ failed.

", "DescribeIndexResponse$ErrorMessage": "

When th eStatus field value is FAILED, the ErrorMessage field contains a message that explains why.

", + "DescribeQuerySuggestionsBlockListResponse$ErrorMessage": "

Shows the error message with details when there are issues in processing the block list.

", "DescribeThesaurusResponse$ErrorMessage": "

When the Status field value is FAILED, the ErrorMessage field provides more information.

", "InternalServerException$Message": null, "ResourceAlreadyExistException$Message": null, @@ -972,6 +1026,16 @@ "QueryResultItem$FeedbackToken": "

A token that identifies a particular result from a particular query. Use this token to provide click-through feedback for the result. For more information, see Submitting feedback .

" } }, + "GetQuerySuggestionsRequest": { + "base": null, + "refs": { + } + }, + "GetQuerySuggestionsResponse": { + "base": null, + "refs": { + } + }, "GoogleDriveConfiguration": { "base": "

Provides configuration information for data sources that connect to Google Drive.

", "refs": { @@ -1044,13 +1108,16 @@ "refs": { "BatchDeleteDocumentRequest$IndexId": "

The identifier of the index that contains the documents to delete.

", "BatchPutDocumentRequest$IndexId": "

The identifier of the index to add the documents to. You need to create the index first using the CreateIndex operation.

", + "ClearQuerySuggestionsRequest$IndexId": "

The identifier of the index you want to clear query suggestions from.

", "CreateDataSourceRequest$IndexId": "

The identifier of the index that should be associated with this data source.

", "CreateFaqRequest$IndexId": "

The identifier of the index that contains the FAQ.

", "CreateIndexResponse$Id": "

The unique identifier of the index. Use this identifier when you query an index, set up a data source, or index a document.

", + "CreateQuerySuggestionsBlockListRequest$IndexId": "

The identifier of the index you want to create a query suggestions block list for.

", "CreateThesaurusRequest$IndexId": "

The unique identifier of the index for the new thesaurus.

", "DeleteDataSourceRequest$IndexId": "

The unique identifier of the index associated with the data source.

", "DeleteFaqRequest$IndexId": "

The index to remove the FAQ from.

", "DeleteIndexRequest$Id": "

The identifier of the index to delete.

", + "DeleteQuerySuggestionsBlockListRequest$IndexId": "

The identifier of the you want to delete a block list from.

", "DeleteThesaurusRequest$IndexId": "

The identifier of the index associated with the thesaurus to delete.

", "DescribeDataSourceRequest$IndexId": "

The identifier of the index that contains the data source.

", "DescribeDataSourceResponse$IndexId": "

The identifier of the index that contains the data source.

", @@ -1058,12 +1125,17 @@ "DescribeFaqResponse$IndexId": "

The identifier of the index that contains the FAQ.

", "DescribeIndexRequest$Id": "

The name of the index to describe.

", "DescribeIndexResponse$Id": "

The name of the index.

", + "DescribeQuerySuggestionsBlockListRequest$IndexId": "

The identifier of the index for the block list.

", + "DescribeQuerySuggestionsBlockListResponse$IndexId": "

Shows the identifier of the index for the block list.

", + "DescribeQuerySuggestionsConfigRequest$IndexId": "

The identifier of the index you want to describe query suggestions settings for.

", "DescribeThesaurusRequest$IndexId": "

The identifier of the index associated with the thesaurus to describe.

", "DescribeThesaurusResponse$IndexId": "

The identifier of the index associated with the thesaurus to describe.

", + "GetQuerySuggestionsRequest$IndexId": "

The identifier of the index you want to get query suggestions from.

", "IndexConfigurationSummary$Id": "

A unique identifier for the index. Use this to identify the index when you are using operations such as Query, DescribeIndex, UpdateIndex, and DeleteIndex.

", "ListDataSourceSyncJobsRequest$IndexId": "

The identifier of the index that contains the data source.

", "ListDataSourcesRequest$IndexId": "

The identifier of the index that contains the data source.

", "ListFaqsRequest$IndexId": "

The index that contains the FAQ lists.

", + "ListQuerySuggestionsBlockListsRequest$IndexId": "

The identifier of the index for a list of all block lists that exist for that index.

For information on the current quota limits for block lists, see Quotas for Amazon Kendra.

", "ListThesauriRequest$IndexId": "

The identifier of the index associated with the thesaurus to list.

", "QueryRequest$IndexId": "

The unique identifier of the index to search. The identifier is returned in the response from the CreateIndex operation.

", "StartDataSourceSyncJobRequest$IndexId": "

The identifier of the index that contains the data source.

", @@ -1071,6 +1143,8 @@ "SubmitFeedbackRequest$IndexId": "

The identifier of the index that was queried.

", "UpdateDataSourceRequest$IndexId": "

The identifier of the index that contains the data source to update.

", "UpdateIndexRequest$Id": "

The identifier of the index to update.

", + "UpdateQuerySuggestionsBlockListRequest$IndexId": "

The identifier of the index for a block list.

", + "UpdateQuerySuggestionsConfigRequest$IndexId": "

The identifier of the index you want to update query suggestions settings for.

", "UpdateThesaurusRequest$IndexId": "

The identifier of the index associated with the thesaurus to update.

" } }, @@ -1117,12 +1191,20 @@ "Integer": { "base": null, "refs": { + "DescribeQuerySuggestionsBlockListResponse$ItemCount": "

Shows the current number of valid, non-empty words or phrases in the block list text file.

", + "DescribeQuerySuggestionsConfigResponse$QueryLogLookBackWindowInDays": "

Shows how recent your queries are in your query log time window (in days).

", + "DescribeQuerySuggestionsConfigResponse$TotalSuggestionsCount": "

Shows the current total count of query suggestions for an index.

This count can change when you update your query suggestions settings, if you filter out certain queries from suggestions using a block list, and as the query log accumulates more queries for Amazon Kendra to learn from.

", "DocumentAttributeValueCountPair$Count": "

The number of documents in the response that have the attribute value for the key.

", + "GetQuerySuggestionsRequest$MaxSuggestionsCount": "

The maximum number of query suggestions you want to show to your users.

", "Highlight$BeginOffset": "

The zero-based location in the response string where the highlight starts.

", "Highlight$EndOffset": "

The zero-based location in the response string where the highlight ends.

", "QueryRequest$PageNumber": "

Query results are returned in pages the size of the PageSize parameter. By default, Amazon Kendra returns the first page of results. Use this parameter to get result pages after the first one.

", "QueryRequest$PageSize": "

Sets the number of results that are returned in each page of results. The default page size is 10. The maximum number of results returned is 100. If you ask for more than 100 results, only 100 are returned.

", - "QueryResult$TotalNumberOfResults": "

The total number of items found by the search; however, you can only retrieve up to 100 items. For example, if the search found 192 items, you can only retrieve the first 100 of the items.

" + "QueryResult$TotalNumberOfResults": "

The total number of items found by the search; however, you can only retrieve up to 100 items. For example, if the search found 192 items, you can only retrieve the first 100 of the items.

", + "QuerySuggestionsBlockListSummary$ItemCount": "

The number of items in the block list file.

", + "SuggestionHighlight$BeginOffset": "

The zero-based location in the response string where the highlight starts.

", + "SuggestionHighlight$EndOffset": "

The zero-based location in the response string where the highlight ends.

", + "UpdateQuerySuggestionsConfigRequest$QueryLogLookBackWindowInDays": "

How recent your queries are in your query log time window.

The time window is the number of days from current day to past days.

By default, Amazon Kendra sets this to 180.

" } }, "InternalServerException": { @@ -1200,6 +1282,16 @@ "refs": { } }, + "ListQuerySuggestionsBlockListsRequest": { + "base": null, + "refs": { + } + }, + "ListQuerySuggestionsBlockListsResponse": { + "base": null, + "refs": { + } + }, "ListTagsForResourceRequest": { "base": null, "refs": { @@ -1223,6 +1315,7 @@ "Long": { "base": null, "refs": { + "DescribeQuerySuggestionsBlockListResponse$FileSizeBytes": "

Shows the current size of the block list text file in S3.

", "DescribeThesaurusResponse$FileSizeBytes": "

The size of the thesaurus file in bytes.

", "DescribeThesaurusResponse$TermCount": "

The number of unique terms in the thesaurus file. For example, the synonyms a,b,c and a=>d, the term count would be 4.

", "DescribeThesaurusResponse$SynonymRuleCount": "

The number of synonym rules in the thesaurus file.

", @@ -1253,6 +1346,12 @@ "ListIndicesRequest$MaxResults": "

The maximum number of data sources to return.

" } }, + "MaxResultsIntegerForListQuerySuggestionsBlockLists": { + "base": null, + "refs": { + "ListQuerySuggestionsBlockListsRequest$MaxResults": "

The maximum number of block lists to return.

" + } + }, "MaxResultsIntegerForListThesauriRequest": { "base": null, "refs": { @@ -1275,6 +1374,27 @@ "ExcludeMimeTypesList$member": null } }, + "MinimumNumberOfQueryingUsers": { + "base": null, + "refs": { + "DescribeQuerySuggestionsConfigResponse$MinimumNumberOfQueryingUsers": "

Shows the minimum number of unique users who must search a query in order for the query to be eligible to suggest to your users.

", + "UpdateQuerySuggestionsConfigRequest$MinimumNumberOfQueryingUsers": "

The minimum number of unique users who must search a query in order for the query to be eligible to suggest to your users.

Increasing this number might decrease the number of suggestions. However, this ensures a query is searched by many users and is truly popular to suggest to users.

How you tune this setting depends on your specific needs.

" + } + }, + "MinimumQueryCount": { + "base": null, + "refs": { + "DescribeQuerySuggestionsConfigResponse$MinimumQueryCount": "

Shows the minimum number of times a query must be searched in order for the query to be eligible to suggest to your users.

", + "UpdateQuerySuggestionsConfigRequest$MinimumQueryCount": "

The the minimum number of times a query must be searched in order to be eligible to suggest to your users.

Decreasing this number increases the number of suggestions. However, this affects the quality of suggestions as it sets a low bar for a query to be considered popular to suggest to users.

How you tune this setting depends on your specific needs.

" + } + }, + "Mode": { + "base": null, + "refs": { + "DescribeQuerySuggestionsConfigResponse$Mode": "

Shows whether query suggestions are currently in ENABLED mode or LEARN_ONLY mode.

By default, Amazon Kendra enables query suggestions.LEARN_ONLY turns off query suggestions for your users. You can change the mode using the UpdateQuerySuggestionsConfig operation.

", + "UpdateQuerySuggestionsConfigRequest$Mode": "

Set the mode to ENABLED or LEARN_ONLY.

By default, Amazon Kendra enables query suggestions. LEARN_ONLY mode allows you to turn off query suggestions. You can to update this at any time.

In LEARN_ONLY mode, Amazon Kendra continues to learn from new queries to keep suggestions up to date for when you are ready to switch to ENABLED mode again.

" + } + }, "NextToken": { "base": null, "refs": { @@ -1286,10 +1406,19 @@ "ListFaqsResponse$NextToken": "

The ListFaqs operation returns a page of FAQs at a time. The maximum size of the page is set by the MaxResults parameter. If there are more jobs in the list than the page size, Amazon Kendra returns the NextPage token. Include the token in the next request to the ListFaqs operation to return the next page of FAQs.

", "ListIndicesRequest$NextToken": "

If the previous response was incomplete (because there is more data to retrieve), Amazon Kendra returns a pagination token in the response. You can use this pagination token to retrieve the next set of indexes (DataSourceSummaryItems).

", "ListIndicesResponse$NextToken": "

If the response is truncated, Amazon Kendra returns this token that you can use in the subsequent request to retrieve the next set of indexes.

", + "ListQuerySuggestionsBlockListsRequest$NextToken": "

If the previous response was incomplete (because there is more data to retrieve), Amazon Kendra returns a pagination token in the response. You can use this pagination token to retrieve the next set of block lists (BlockListSummaryItems).

", + "ListQuerySuggestionsBlockListsResponse$NextToken": "

If the response is truncated, Amazon Kendra returns this token that you can use in the subsequent request to retrieve the next set of block lists.

", "ListThesauriRequest$NextToken": "

If the previous response was incomplete (because there is more data to retrieve), Amazon Kendra returns a pagination token in the response. You can use this pagination token to retrieve the next set of thesauri (ThesaurusSummaryItems).

", "ListThesauriResponse$NextToken": "

If the response is truncated, Amazon Kendra returns this token that you can use in the subsequent request to retrieve the next set of thesauri.

" } }, + "ObjectBoolean": { + "base": null, + "refs": { + "DescribeQuerySuggestionsConfigResponse$IncludeQueriesWithoutUserInformation": "

Shows whether Amazon Kendra uses all queries or only uses queries that include user information to generate query suggestions.

", + "UpdateQuerySuggestionsConfigRequest$IncludeQueriesWithoutUserInformation": "

TRUE to include queries without user information (i.e. all queries, irrespective of the user), otherwise FALSE to only include queries with user information.

If you pass user information to Amazon Kendra along with the queries, you can set this flag to FALSE and instruct Amazon Kendra to only consider queries with user information.

If you set to FALSE, Amazon Kendra only considers queries searched at least MinimumQueryCount times across MinimumNumberOfQueryingUsers unique users for suggestions.

If you set to TRUE, Amazon Kendra ignores all user information and learns from all queries.

" + } + }, "OneDriveConfiguration": { "base": "

Provides configuration information for data sources that connect to OneDrive.

", "refs": { @@ -1392,6 +1521,57 @@ "QueryResultItem$Type": "

The type of document.

" } }, + "QuerySuggestionsBlockListId": { + "base": null, + "refs": { + "CreateQuerySuggestionsBlockListResponse$Id": "

The unique identifier of the created block list.

", + "DeleteQuerySuggestionsBlockListRequest$Id": "

The unique identifier of the block list that needs to be deleted.

", + "DescribeQuerySuggestionsBlockListRequest$Id": "

The unique identifier of the block list.

", + "DescribeQuerySuggestionsBlockListResponse$Id": "

Shows the unique identifier of the block list.

", + "QuerySuggestionsBlockListSummary$Id": "

The identifier of a block list.

", + "UpdateQuerySuggestionsBlockListRequest$Id": "

The unique identifier of a block list.

" + } + }, + "QuerySuggestionsBlockListName": { + "base": null, + "refs": { + "CreateQuerySuggestionsBlockListRequest$Name": "

A user friendly name for the block list.

For example, the block list named 'offensive-words' includes all offensive words that could appear in user queries and need to be blocked from suggestions.

", + "DescribeQuerySuggestionsBlockListResponse$Name": "

Shows the name of the block list.

", + "QuerySuggestionsBlockListSummary$Name": "

The name of the block list.

", + "UpdateQuerySuggestionsBlockListRequest$Name": "

The name of a block list.

" + } + }, + "QuerySuggestionsBlockListStatus": { + "base": null, + "refs": { + "DescribeQuerySuggestionsBlockListResponse$Status": "

Shows whether the current status of the block list is ACTIVE or INACTIVE.

", + "QuerySuggestionsBlockListSummary$Status": "

The status of the block list.

" + } + }, + "QuerySuggestionsBlockListSummary": { + "base": "

Summary information on a query suggestions block list.

This includes information on the block list ID, block list name, when the block list was created, when the block list was last updated, and the count of block words/phrases in the block list.

For information on the current quota limits for block lists, see Quotas for Amazon Kendra.

", + "refs": { + "QuerySuggestionsBlockListSummaryItems$member": null + } + }, + "QuerySuggestionsBlockListSummaryItems": { + "base": null, + "refs": { + "ListQuerySuggestionsBlockListsResponse$BlockListSummaryItems": "

Summary items for a block list.

This includes summary items on the block list ID, block list name, when the block list was created, when the block list was last updated, and the count of block words/phrases in the block list.

For information on the current quota limits for block lists, see Quotas for Amazon Kendra.

" + } + }, + "QuerySuggestionsId": { + "base": null, + "refs": { + "GetQuerySuggestionsResponse$QuerySuggestionsId": "

The unique identifier for a list of query suggestions for an index.

" + } + }, + "QuerySuggestionsStatus": { + "base": null, + "refs": { + "DescribeQuerySuggestionsConfigResponse$Status": "

Shows whether the status of query suggestions settings is currently Active or Updating.

Active means the current settings apply and Updating means your changed settings are in the process of applying.

" + } + }, "QueryText": { "base": null, "refs": { @@ -1454,7 +1634,8 @@ "refs": { "ClickFeedback$ResultId": "

The unique identifier of the search result that was clicked.

", "QueryResultItem$Id": "

The unique identifier for the query result.

", - "RelevanceFeedback$ResultId": "

The unique identifier of the search result that the user provided relevance feedback for.

" + "RelevanceFeedback$ResultId": "

The unique identifier of the search result that the user provided relevance feedback for.

", + "Suggestion$Id": "

The unique UUID (universally unique identifier) of a single query suggestion.

" } }, "RoleArn": { @@ -1464,14 +1645,17 @@ "CreateDataSourceRequest$RoleArn": "

The Amazon Resource Name (ARN) of a role with permission to access the data source. For more information, see IAM Roles for Amazon Kendra.

You can't specify the RoleArn parameter when the Type parameter is set to CUSTOM. If you do, you receive a ValidationException exception.

The RoleArn parameter is required for all other data sources.

", "CreateFaqRequest$RoleArn": "

The Amazon Resource Name (ARN) of a role with permission to access the S3 bucket that contains the FAQs. For more information, see IAM Roles for Amazon Kendra.

", "CreateIndexRequest$RoleArn": "

An AWS Identity and Access Management (IAM) role that gives Amazon Kendra permissions to access your Amazon CloudWatch logs and metrics. This is also the role used when you use the BatchPutDocument operation to index documents from an Amazon S3 bucket.

", + "CreateQuerySuggestionsBlockListRequest$RoleArn": "

The IAM (Identity and Access Management) role used by Amazon Kendra to access the block list text file in your S3 bucket.

You need permissions to the role ARN (Amazon Resource Name). The role needs S3 read permissions to your file in S3 and needs to give STS (Security Token Service) assume role permissions to Amazon Kendra.

", "CreateThesaurusRequest$RoleArn": "

An AWS Identity and Access Management (IAM) role that gives Amazon Kendra permissions to access thesaurus file specified in SourceS3Path.

", "DescribeDataSourceResponse$RoleArn": "

The Amazon Resource Name (ARN) of the role that enables the data source to access its resources.

", "DescribeFaqResponse$RoleArn": "

The Amazon Resource Name (ARN) of the role that provides access to the S3 bucket containing the input files for the FAQ.

", "DescribeIndexResponse$RoleArn": "

The Amazon Resource Name (ARN) of the IAM role that gives Amazon Kendra permission to write to your Amazon Cloudwatch logs.

", + "DescribeQuerySuggestionsBlockListResponse$RoleArn": "

Shows the current IAM (Identity and Access Management) role used by Amazon Kendra to access the block list text file in S3.

The role needs S3 read permissions to your file in S3 and needs to give STS (Security Token Service) assume role permissions to Amazon Kendra.

", "DescribeThesaurusResponse$RoleArn": "

An AWS Identity and Access Management (IAM) role that gives Amazon Kendra permissions to access thesaurus file specified in SourceS3Path.

", "JwtTokenTypeConfiguration$SecretManagerArn": "

The Amazon Resource Name (arn) of the secret.

", "UpdateDataSourceRequest$RoleArn": "

The Amazon Resource Name (ARN) of the new role to use when the data source is accessing resources on your behalf.

", "UpdateIndexRequest$RoleArn": "

A new IAM role that gives Amazon Kendra permission to access your Amazon CloudWatch logs.

", + "UpdateQuerySuggestionsBlockListRequest$RoleArn": "

The IAM (Identity and Access Management) role used to access the block list text file in S3.

", "UpdateThesaurusRequest$RoleArn": "

The updated role ARN of the thesaurus.

" } }, @@ -1500,11 +1684,14 @@ "base": "

Information required to find a specific file in an Amazon S3 bucket.

", "refs": { "CreateFaqRequest$S3Path": "

The S3 location of the FAQ input data.

", + "CreateQuerySuggestionsBlockListRequest$SourceS3Path": "

The S3 path to your block list text file in your S3 bucket.

Each block word or phrase should be on a separate line in a text file.

For information on the current quota limits for block lists, see Quotas for Amazon Kendra.

", "CreateThesaurusRequest$SourceS3Path": "

The thesaurus file Amazon S3 source path.

", "DescribeFaqResponse$S3Path": null, + "DescribeQuerySuggestionsBlockListResponse$SourceS3Path": "

Shows the current S3 path to your block list text file in your S3 bucket.

Each block word or phrase should be on a separate line in a text file.

For information on the current quota limits for block lists, see Quotas for Amazon Kendra.

", "DescribeThesaurusResponse$SourceS3Path": null, "Document$S3Path": null, "OneDriveUsers$OneDriveUserS3Path": "

The S3 bucket location of a file containing a list of users whose documents should be indexed.

", + "UpdateQuerySuggestionsBlockListRequest$SourceS3Path": "

The S3 path where your block list text file sits in S3.

If you update your block list and provide the same path to the block list text file in S3, then Amazon Kendra reloads the file to refresh the block list. Amazon Kendra does not automatically refresh your block list. You need to call the UpdateQuerySuggestionsBlockList API to refresh you block list.

If you update your block list, then Amazon Kendra asynchronously refreshes all query suggestions with the latest content in the S3 file. This means changes might not take effect immediately.

", "UpdateThesaurusRequest$SourceS3Path": null } }, @@ -1769,6 +1956,7 @@ "JsonTokenTypeConfiguration$UserNameAttributeField": "

The user name attribute field.

", "JsonTokenTypeConfiguration$GroupAttributeField": "

The group attribute field.

", "StartDataSourceSyncJobResponse$ExecutionId": "

Identifies a particular synchronization job.

", + "SuggestionTextWithHighlights$Text": "

The query suggestion text to display to the user.

", "TextWithHighlights$Text": "

The text to display to the user.

" } }, @@ -1789,6 +1977,48 @@ "DataSourceVpcConfiguration$SubnetIds": "

A list of identifiers for subnets within your Amazon VPC. The subnets should be able to connect to each other in the VPC, and they should have outgoing access to the Internet through a NAT device.

" } }, + "Suggestion": { + "base": "

A single query suggestion.

", + "refs": { + "SuggestionList$member": null + } + }, + "SuggestionHighlight": { + "base": "

The text highlights for a single query suggestion.

", + "refs": { + "SuggestionHighlightList$member": null + } + }, + "SuggestionHighlightList": { + "base": null, + "refs": { + "SuggestionTextWithHighlights$Highlights": "

The beginning and end of the query suggestion text that should be highlighted.

" + } + }, + "SuggestionList": { + "base": null, + "refs": { + "GetQuerySuggestionsResponse$Suggestions": "

A list of query suggestions for an index.

" + } + }, + "SuggestionQueryText": { + "base": null, + "refs": { + "GetQuerySuggestionsRequest$QueryText": "

The text of a user's query to generate query suggestions.

A query is suggested if the query prefix matches what a user starts to type as their query.

Amazon Kendra does not show any suggestions if a user types fewer than two characters or more than 60 characters. A query must also have at least one search result and contain at least one word of more than four characters.

" + } + }, + "SuggestionTextWithHighlights": { + "base": "

Provides text and information about where to highlight the query suggestion text.

", + "refs": { + "SuggestionValue$Text": "

The SuggestionTextWithHighlights structure that contains the query suggestion text and highlights.

" + } + }, + "SuggestionValue": { + "base": "

The SuggestionTextWithHighlights structure information.

", + "refs": { + "Suggestion$Value": "

The value for the unique UUID (universally unique identifier) of a single query suggestion.

The value is the text string of a suggestion.

" + } + }, "TableName": { "base": null, "refs": { @@ -1820,6 +2050,7 @@ "CreateDataSourceRequest$Tags": "

A list of key-value pairs that identify the data source. You can use the tags to identify and organize your resources and to control access to resources.

", "CreateFaqRequest$Tags": "

A list of key-value pairs that identify the FAQ. You can use the tags to identify and organize your resources and to control access to resources.

", "CreateIndexRequest$Tags": "

A list of key-value pairs that identify the index. You can use the tags to identify and organize your resources and to control access to resources.

", + "CreateQuerySuggestionsBlockListRequest$Tags": "

A tag that you can assign to a block list that categorizes the block list.

", "CreateThesaurusRequest$Tags": "

A list of key-value pairs that identify the thesaurus. You can use the tags to identify and organize your resources and to control access to resources.

", "ListTagsForResourceResponse$Tags": "

A list of tags associated with the index, FAQ, or data source.

", "TagResourceRequest$Tags": "

A list of tag keys to add to the index, FAQ, or data source. If a tag already exists, the existing value is replaced with the new value.

" @@ -1925,6 +2156,10 @@ "DescribeFaqResponse$UpdatedAt": "

The date and time that the FAQ was last updated.

", "DescribeIndexResponse$CreatedAt": "

The Unix datetime that the index was created.

", "DescribeIndexResponse$UpdatedAt": "

The Unix datetime that the index was last updated.

", + "DescribeQuerySuggestionsBlockListResponse$CreatedAt": "

Shows the date-time a block list for query suggestions was last created.

", + "DescribeQuerySuggestionsBlockListResponse$UpdatedAt": "

Shows the date-time a block list for query suggestions was last updated.

", + "DescribeQuerySuggestionsConfigResponse$LastSuggestionsBuildTime": "

Shows the date-time query suggestions for an index was last updated.

", + "DescribeQuerySuggestionsConfigResponse$LastClearTime": "

Shows the date-time query suggestions for an index was last cleared.

After you clear suggestions, Amazon Kendra learns new suggestions based on new queries added to the query log from the time you cleared suggestions. Amazon Kendra only considers re-occurences of a query from the time you cleared suggestions.

", "DescribeThesaurusResponse$CreatedAt": "

The Unix datetime that the thesaurus was created.

", "DescribeThesaurusResponse$UpdatedAt": "

The Unix datetime that the thesaurus was last updated.

", "DocumentAttributeValue$DateValue": "

A date expressed as an ISO 8601 string.

", @@ -1932,6 +2167,8 @@ "FaqSummary$UpdatedAt": "

The UNIX datetime that the FAQ was last updated.

", "IndexConfigurationSummary$CreatedAt": "

The Unix timestamp when the index was created.

", "IndexConfigurationSummary$UpdatedAt": "

The Unix timestamp when the index was last updated by the UpdateIndex operation.

", + "QuerySuggestionsBlockListSummary$CreatedAt": "

The date-time summary information for a query suggestions block list was last created.

", + "QuerySuggestionsBlockListSummary$UpdatedAt": "

The date-time the block list was last updated.

", "ThesaurusSummary$CreatedAt": "

The Unix datetime that the thesaurus was created.

", "ThesaurusSummary$UpdatedAt": "

The Unix datetime that the thesaurus was last updated.

", "TimeRange$StartTime": "

The UNIX datetime of the beginning of the time range.

", @@ -1970,6 +2207,16 @@ "refs": { } }, + "UpdateQuerySuggestionsBlockListRequest": { + "base": null, + "refs": { + } + }, + "UpdateQuerySuggestionsConfigRequest": { + "base": null, + "refs": { + } + }, "UpdateThesaurusRequest": { "base": null, "refs": { diff --git a/models/apis/lightsail/2016-11-28/docs-2.json b/models/apis/lightsail/2016-11-28/docs-2.json index 92bff13f716..1d1857671d9 100644 --- a/models/apis/lightsail/2016-11-28/docs-2.json +++ b/models/apis/lightsail/2016-11-28/docs-2.json @@ -1370,7 +1370,7 @@ "DomainEntryType": { "base": null, "refs": { - "DomainEntry$type": "

The type of domain entry, such as address (A), canonical name (CNAME), mail exchanger (MX), name server (NS), start of authority (SOA), service locator (SRV), or text (TXT).

The following domain entry types can be used:

" + "DomainEntry$type": "

The type of domain entry, such as address for IPv4 (A), address for IPv6 (AAAA), canonical name (CNAME), mail exchanger (MX), name server (NS), start of authority (SOA), service locator (SRV), or text (TXT).

The following domain entry types can be used:

" } }, "DomainList": { @@ -1386,7 +1386,7 @@ "CertificateSummary$domainName": "

The domain name of the certificate.

", "CreateCertificateRequest$domainName": "

The domain name (e.g., example.com) for the certificate.

", "CreateDomainEntryRequest$domainName": "

The domain name (e.g., example.com) for which you want to create the domain entry.

", - "CreateDomainRequest$domainName": "

The domain name to manage (e.g., example.com).

You cannot register a new domain name using Lightsail. You must register a domain name using Amazon Route 53 or another domain name registrar. If you have already registered your domain, you can enter its name in this parameter to manage the DNS records for that domain.

", + "CreateDomainRequest$domainName": "

The domain name to manage (e.g., example.com).

You cannot register a new domain name using Lightsail. You must register a domain name using Amazon Route 53 or another domain name registrar. If you have already registered your domain, you can enter its name in this parameter to manage the DNS records for that domain using Lightsail.

", "CreateLoadBalancerRequest$certificateDomainName": "

The domain name with which your certificate is associated (e.g., example.com).

If you specify certificateDomainName, then certificateName is required (and vice-versa).

", "CreateLoadBalancerTlsCertificateRequest$certificateDomainName": "

The domain name (e.g., example.com) for your SSL/TLS certificate.

", "DeleteDomainEntryRequest$domainName": "

The name of the domain entry to delete.

", @@ -3973,7 +3973,7 @@ "DistributionBundle$bundleId": "

The ID of the bundle.

", "DistributionBundle$name": "

The name of the distribution bundle.

", "Domain$supportCode": "

The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.

", - "DomainEntry$target": "

The target AWS name server (e.g., ns-111.awsdns-22.com.).

For Lightsail load balancers, the value looks like ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com. Be sure to also set isAlias to true when setting up an A record for a load balancer.

", + "DomainEntry$target": "

The target IP address (e.g., 192.0.2.0), or AWS name server (e.g., ns-111.awsdns-22.com.).

For Lightsail load balancers, the value looks like ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com. For Lightsail distributions, the value looks like exampled1182ne.cloudfront.net. For Lightsail container services, the value looks like container-service-1.example23scljs.us-west-2.cs.amazonlightsail.com. Be sure to also set isAlias to true when setting up an A record for a Lightsail load balancer, distribution, or container service.

", "DomainEntryOptions$value": null, "EndpointRequest$containerName": "

The name of the container for the endpoint.

", "Environment$key": null, diff --git a/models/apis/resource-groups/2017-11-27/docs-2.json b/models/apis/resource-groups/2017-11-27/docs-2.json index fc8b529a2cb..c735b2bffa0 100644 --- a/models/apis/resource-groups/2017-11-27/docs-2.json +++ b/models/apis/resource-groups/2017-11-27/docs-2.json @@ -9,10 +9,10 @@ "GetGroupQuery": "

Retrieves the resource query associated with the specified resource group. For more information about resource queries, see Create a tag-based group in Resource Groups.

Minimum permissions

To run this command, you must have the following permissions:

", "GetTags": "

Returns a list of tags that are associated with a resource group, specified by an ARN.

Minimum permissions

To run this command, you must have the following permissions:

", "GroupResources": "

Adds the specified resources to the specified group.

Minimum permissions

To run this command, you must have the following permissions:

", - "ListGroupResources": "

Returns a list of ARNs of the resources that are members of a specified resource group.

Minimum permissions

To run this command, you must have the following permissions:

", + "ListGroupResources": "

Returns a list of ARNs of the resources that are members of a specified resource group.

Minimum permissions

To run this command, you must have the following permissions:

", "ListGroups": "

Returns a list of existing resource groups in your account.

Minimum permissions

To run this command, you must have the following permissions:

", "PutGroupConfiguration": "

Attaches a service configuration to the specified group. This occurs asynchronously, and can take time to complete. You can use GetGroupConfiguration to check the status of the update.

Minimum permissions

To run this command, you must have the following permissions:

", - "SearchResources": "

Returns a list of AWS resource identifiers that matches the specified query. The query uses the same format as a resource query in a CreateGroup or UpdateGroupQuery operation.

Minimum permissions

To run this command, you must have the following permissions:

", + "SearchResources": "

Returns a list of AWS resource identifiers that matches the specified query. The query uses the same format as a resource query in a CreateGroup or UpdateGroupQuery operation.

Minimum permissions

To run this command, you must have the following permissions:

", "Tag": "

Adds tags to a resource group with the specified ARN. Existing tags on a resource group are not changed if they are not specified in the request parameters.

Do not store personally identifiable information (PII) or other confidential or sensitive information in tags. We use tags to provide you with billing and administration services. Tags are not intended to be used for private or sensitive data.

Minimum permissions

To run this command, you must have the following permissions:

", "UngroupResources": "

Removes the specified resources from the specified group.

Minimum permissions

To run this command, you must have the following permissions:

", "Untag": "

Deletes tags from a specified resource group.

Minimum permissions

To run this command, you must have the following permissions:

", diff --git a/models/apis/sqs/2012-11-05/docs-2.json b/models/apis/sqs/2012-11-05/docs-2.json index b86862a6bf7..2bad6866bb2 100644 --- a/models/apis/sqs/2012-11-05/docs-2.json +++ b/models/apis/sqs/2012-11-05/docs-2.json @@ -44,7 +44,7 @@ "AttributeNameList": { "base": null, "refs": { - "GetQueueAttributesRequest$AttributeNames": "

A list of attributes for which to retrieve information.

In the future, new attributes might be added. If you write code that calls this action, we recommend that you structure your code so that it can handle new attributes gracefully.

The following attributes are supported:

The ApproximateNumberOfMessagesDelayed, ApproximateNumberOfMessagesNotVisible, and ApproximateNumberOfMessagesVisible metrics may not achieve consistency until at least 1 minute after the producers stop sending messages. This period is required for the queue metadata to reach eventual consistency.

The following attributes apply only to server-side-encryption:

The following attributes apply only to FIFO (first-in-first-out) queues:

Preview: High throughput for FIFO queues

High throughput for Amazon SQS FIFO queues is in preview release and is subject to change. This feature provides a high number of transactions per second (TPS) for messages in FIFO queues. For information on throughput quotas, see Quotas related to messages in the Amazon Simple Queue Service Developer Guide.

This preview includes two new attributes:

To enable high throughput for FIFO queues, do the following:

If you set these attributes to anything other than the values shown for enabling high throughput, standard throughput is in effect and deduplication occurs as specified.

This preview is available in the following AWS Regions:

For more information about high throughput for FIFO queues, see Preview: High throughput for FIFO queues in the Amazon Simple Queue Service Developer Guide.

", + "GetQueueAttributesRequest$AttributeNames": "

A list of attributes for which to retrieve information.

In the future, new attributes might be added. If you write code that calls this action, we recommend that you structure your code so that it can handle new attributes gracefully.

The following attributes are supported:

The ApproximateNumberOfMessagesDelayed, ApproximateNumberOfMessagesNotVisible, and ApproximateNumberOfMessagesVisible metrics may not achieve consistency until at least 1 minute after the producers stop sending messages. This period is required for the queue metadata to reach eventual consistency.

The following attributes apply only to server-side-encryption:

The following attributes apply only to FIFO (first-in-first-out) queues:

The following attributes apply only to high throughput for FIFO queues:

To enable high throughput for FIFO queues, do the following:

If you set these attributes to anything other than the values shown for enabling high throughput, normal throughput is in effect and deduplication occurs as specified.

For information on throughput quotas, see Quotas related to messages in the Amazon Simple Queue Service Developer Guide.

", "ReceiveMessageRequest$AttributeNames": "

A list of attributes that need to be returned along with each message. These attributes include:

" } }, @@ -372,9 +372,9 @@ "QueueAttributeMap": { "base": null, "refs": { - "CreateQueueRequest$Attributes": "

A map of attributes with their corresponding values.

The following lists the names, descriptions, and values of the special request parameters that the CreateQueue action uses:

The following attributes apply only to server-side-encryption:

The following attributes apply only to FIFO (first-in-first-out) queues:

Preview: High throughput for FIFO queues

High throughput for Amazon SQS FIFO queues is in preview release and is subject to change. This feature provides a high number of transactions per second (TPS) for messages in FIFO queues. For information on throughput quotas, see Quotas related to messages in the Amazon Simple Queue Service Developer Guide.

This preview includes two new attributes:

To enable high throughput for FIFO queues, do the following:

If you set these attributes to anything other than the values shown for enabling high throughput, standard throughput is in effect and deduplication occurs as specified.

This preview is available in the following AWS Regions:

For more information about high throughput for FIFO queues, see Preview: High throughput for FIFO queues in the Amazon Simple Queue Service Developer Guide.

", + "CreateQueueRequest$Attributes": "

A map of attributes with their corresponding values.

The following lists the names, descriptions, and values of the special request parameters that the CreateQueue action uses:

The following attributes apply only to server-side-encryption:

The following attributes apply only to FIFO (first-in-first-out) queues:

The following attributes apply only to high throughput for FIFO queues:

To enable high throughput for FIFO queues, do the following:

If you set these attributes to anything other than the values shown for enabling high throughput, normal throughput is in effect and deduplication occurs as specified.

For information on throughput quotas, see Quotas related to messages in the Amazon Simple Queue Service Developer Guide.

", "GetQueueAttributesResult$Attributes": "

A map of attributes to their respective values.

", - "SetQueueAttributesRequest$Attributes": "

A map of attributes to set.

The following lists the names, descriptions, and values of the special request parameters that the SetQueueAttributes action uses:

The following attributes apply only to server-side-encryption:

The following attribute applies only to FIFO (first-in-first-out) queues:

Preview: High throughput for FIFO queues

High throughput for Amazon SQS FIFO queues is in preview release and is subject to change. This feature provides a high number of transactions per second (TPS) for messages in FIFO queues. For information on throughput quotas, see Quotas related to messages in the Amazon Simple Queue Service Developer Guide.

This preview includes two new attributes:

To enable high throughput for FIFO queues, do the following:

If you set these attributes to anything other than the values shown for enabling high throughput, standard throughput is in effect and deduplication occurs as specified.

This preview is available in the following AWS Regions:

For more information about high throughput for FIFO queues, see Preview: High throughput for FIFO queues in the Amazon Simple Queue Service Developer Guide.

" + "SetQueueAttributesRequest$Attributes": "

A map of attributes to set.

The following lists the names, descriptions, and values of the special request parameters that the SetQueueAttributes action uses:

The following attributes apply only to server-side-encryption:

The following attribute applies only to FIFO (first-in-first-out) queues:

The following attributes apply only to high throughput for FIFO queues:

To enable high throughput for FIFO queues, do the following:

If you set these attributes to anything other than the values shown for enabling high throughput, normal throughput is in effect and deduplication occurs as specified.

For information on throughput quotas, see Quotas related to messages in the Amazon Simple Queue Service Developer Guide.

" } }, "QueueAttributeName": { @@ -528,7 +528,7 @@ "SendMessageBatchRequest$QueueUrl": "

The URL of the Amazon SQS queue to which batched messages are sent.

Queue URLs and names are case-sensitive.

", "SendMessageBatchRequestEntry$Id": "

An identifier for a message in this batch used to communicate the result.

The Ids of a batch request need to be unique within a request.

This identifier can have up to 80 characters. The following characters are accepted: alphanumeric characters, hyphens(-), and underscores (_).

", "SendMessageBatchRequestEntry$MessageBody": "

The body of the message.

", - "SendMessageBatchRequestEntry$MessageDeduplicationId": "

This parameter applies only to FIFO (first-in-first-out) queues.

The token used for deduplication of messages within a 5-minute minimum deduplication interval. If a message with a particular MessageDeduplicationId is sent successfully, subsequent messages with the same MessageDeduplicationId are accepted successfully but aren't delivered. For more information, see Exactly-Once Processing in the Amazon Simple Queue Service Developer Guide.

The MessageDeduplicationId is available to the consumer of the message (this can be useful for troubleshooting delivery issues).

If a message is sent successfully but the acknowledgement is lost and the message is resent with the same MessageDeduplicationId after the deduplication interval, Amazon SQS can't detect duplicate messages.

Amazon SQS continues to keep track of the message deduplication ID even after the message is received and deleted.

The length of MessageDeduplicationId is 128 characters. MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

For best practices of using MessageDeduplicationId, see Using the MessageDeduplicationId Property in the Amazon Simple Queue Service Developer Guide.

", + "SendMessageBatchRequestEntry$MessageDeduplicationId": "

This parameter applies only to FIFO (first-in-first-out) queues.

The token used for deduplication of messages within a 5-minute minimum deduplication interval. If a message with a particular MessageDeduplicationId is sent successfully, subsequent messages with the same MessageDeduplicationId are accepted successfully but aren't delivered. For more information, see Exactly-once processing in the Amazon Simple Queue Service Developer Guide.

The MessageDeduplicationId is available to the consumer of the message (this can be useful for troubleshooting delivery issues).

If a message is sent successfully but the acknowledgement is lost and the message is resent with the same MessageDeduplicationId after the deduplication interval, Amazon SQS can't detect duplicate messages.

Amazon SQS continues to keep track of the message deduplication ID even after the message is received and deleted.

The length of MessageDeduplicationId is 128 characters. MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

For best practices of using MessageDeduplicationId, see Using the MessageDeduplicationId Property in the Amazon Simple Queue Service Developer Guide.

", "SendMessageBatchRequestEntry$MessageGroupId": "

This parameter applies only to FIFO (first-in-first-out) queues.

The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner (however, messages in different message groups might be processed out of order). To interleave multiple ordered streams within a single queue, use MessageGroupId values (for example, session data for multiple users). In this scenario, multiple consumers can process the queue, but the session data of each user is processed in a FIFO fashion.

The length of MessageGroupId is 128 characters. Valid values: alphanumeric characters and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

For best practices of using MessageGroupId, see Using the MessageGroupId Property in the Amazon Simple Queue Service Developer Guide.

MessageGroupId is required for FIFO queues. You can't use it for Standard queues.

", "SendMessageBatchResultEntry$Id": "

An identifier for the message in this batch.

", "SendMessageBatchResultEntry$MessageId": "

An identifier for the message.

", @@ -538,7 +538,7 @@ "SendMessageBatchResultEntry$SequenceNumber": "

This parameter applies only to FIFO (first-in-first-out) queues.

The large, non-consecutive number that Amazon SQS assigns to each message.

The length of SequenceNumber is 128 bits. As SequenceNumber continues to increase for a particular MessageGroupId.

", "SendMessageRequest$QueueUrl": "

The URL of the Amazon SQS queue to which a message is sent.

Queue URLs and names are case-sensitive.

", "SendMessageRequest$MessageBody": "

The message to send. The minimum size is one character. The maximum size is 256 KB.

A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed:

#x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF

Any characters not included in this list will be rejected. For more information, see the W3C specification for characters.

", - "SendMessageRequest$MessageDeduplicationId": "

This parameter applies only to FIFO (first-in-first-out) queues.

The token used for deduplication of sent messages. If a message with a particular MessageDeduplicationId is sent successfully, any messages sent with the same MessageDeduplicationId are accepted successfully but aren't delivered during the 5-minute deduplication interval. For more information, see Exactly-Once Processing in the Amazon Simple Queue Service Developer Guide.

The MessageDeduplicationId is available to the consumer of the message (this can be useful for troubleshooting delivery issues).

If a message is sent successfully but the acknowledgement is lost and the message is resent with the same MessageDeduplicationId after the deduplication interval, Amazon SQS can't detect duplicate messages.

Amazon SQS continues to keep track of the message deduplication ID even after the message is received and deleted.

The maximum length of MessageDeduplicationId is 128 characters. MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

For best practices of using MessageDeduplicationId, see Using the MessageDeduplicationId Property in the Amazon Simple Queue Service Developer Guide.

", + "SendMessageRequest$MessageDeduplicationId": "

This parameter applies only to FIFO (first-in-first-out) queues.

The token used for deduplication of sent messages. If a message with a particular MessageDeduplicationId is sent successfully, any messages sent with the same MessageDeduplicationId are accepted successfully but aren't delivered during the 5-minute deduplication interval. For more information, see Exactly-once processing in the Amazon Simple Queue Service Developer Guide.

The MessageDeduplicationId is available to the consumer of the message (this can be useful for troubleshooting delivery issues).

If a message is sent successfully but the acknowledgement is lost and the message is resent with the same MessageDeduplicationId after the deduplication interval, Amazon SQS can't detect duplicate messages.

Amazon SQS continues to keep track of the message deduplication ID even after the message is received and deleted.

The maximum length of MessageDeduplicationId is 128 characters. MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

For best practices of using MessageDeduplicationId, see Using the MessageDeduplicationId Property in the Amazon Simple Queue Service Developer Guide.

", "SendMessageRequest$MessageGroupId": "

This parameter applies only to FIFO (first-in-first-out) queues.

The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner (however, messages in different message groups might be processed out of order). To interleave multiple ordered streams within a single queue, use MessageGroupId values (for example, session data for multiple users). In this scenario, multiple consumers can process the queue, but the session data of each user is processed in a FIFO fashion.

The length of MessageGroupId is 128 characters. Valid values: alphanumeric characters and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

For best practices of using MessageGroupId, see Using the MessageGroupId Property in the Amazon Simple Queue Service Developer Guide.

MessageGroupId is required for FIFO queues. You can't use it for Standard queues.

", "SendMessageResult$MD5OfMessageBody": "

An MD5 digest of the non-URL-encoded message body string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

", "SendMessageResult$MD5OfMessageAttributes": "

An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

", diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 9a30fd17d2f..6307738689c 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -4867,6 +4867,7 @@ "ap-northeast-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, + "ca-central-1" : { }, "eu-central-1" : { }, "eu-west-2" : { }, "us-east-1" : { }, @@ -9999,6 +10000,11 @@ "us-iso-east-1" : { } } }, + "ram" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, "rds" : { "endpoints" : { "us-iso-east-1" : { } diff --git a/service/devicefarm/api.go b/service/devicefarm/api.go index 81646ad64ce..baba13e5a5c 100644 --- a/service/devicefarm/api.go +++ b/service/devicefarm/api.go @@ -512,6 +512,12 @@ func (c *DeviceFarm) CreateTestGridProjectRequest(input *CreateTestGridProjectIn // API operation CreateTestGridProject for usage and error information. // // Returned Error Types: +// * ArgumentException +// An invalid argument was specified. +// +// * LimitExceededException +// A limit was exceeded. +// // * InternalServiceException // An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com // (mailto:aws-devicefarm-support@amazon.com) if you see this error. @@ -7705,6 +7711,9 @@ func (c *DeviceFarm) UpdateTestGridProjectRequest(input *UpdateTestGridProjectIn // * ArgumentException // An invalid argument was specified. // +// * LimitExceededException +// A limit was exceeded. +// // * InternalServiceException // An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com // (mailto:aws-devicefarm-support@amazon.com) if you see this error. @@ -9081,6 +9090,9 @@ type CreateTestGridProjectInput struct { // // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The VPC security groups and subnets that are attached to a project. + VpcConfig *TestGridVpcConfig `locationName:"vpcConfig" type:"structure"` } // String returns the string representation @@ -9105,6 +9117,11 @@ func (s *CreateTestGridProjectInput) Validate() error { if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } + if s.VpcConfig != nil { + if err := s.VpcConfig.Validate(); err != nil { + invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -9124,6 +9141,12 @@ func (s *CreateTestGridProjectInput) SetName(v string) *CreateTestGridProjectInp return s } +// SetVpcConfig sets the VpcConfig field's value. +func (s *CreateTestGridProjectInput) SetVpcConfig(v *TestGridVpcConfig) *CreateTestGridProjectInput { + s.VpcConfig = v + return s +} + type CreateTestGridProjectOutput struct { _ struct{} `type:"structure"` @@ -9214,7 +9237,7 @@ type CreateTestGridUrlOutput struct { // A signed URL, expiring in CreateTestGridUrlRequest$expiresInSeconds seconds, // to be passed to a RemoteWebDriver. - Url *string `locationName:"url" type:"string"` + Url *string `locationName:"url" type:"string" sensitive:"true"` } // String returns the string representation @@ -10389,11 +10412,15 @@ type DeviceFilter struct { // The fleet type. Valid values are PUBLIC or PRIVATE. // // Supported operators: EQUALS - Attribute *string `locationName:"attribute" type:"string" enum:"DeviceFilterAttribute"` + // + // Attribute is a required field + Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"DeviceFilterAttribute"` // Specifies how Device Farm compares the filter's attribute to the value. See // the attribute descriptions. - Operator *string `locationName:"operator" type:"string" enum:"RuleOperator"` + // + // Operator is a required field + Operator *string `locationName:"operator" type:"string" required:"true" enum:"RuleOperator"` // An array of one or more filter values used in a device filter. // @@ -10414,7 +10441,9 @@ type DeviceFilter struct { // * The FORM_FACTOR attribute can be set to PHONE or TABLET. // // * The FLEET_TYPE attribute can be set to PUBLIC or PRIVATE. - Values []*string `locationName:"values" type:"list"` + // + // Values is a required field + Values []*string `locationName:"values" type:"list" required:"true"` } // String returns the string representation @@ -10427,6 +10456,25 @@ func (s DeviceFilter) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeviceFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeviceFilter"} + if s.Attribute == nil { + invalidParams.Add(request.NewErrParamRequired("Attribute")) + } + if s.Operator == nil { + invalidParams.Add(request.NewErrParamRequired("Operator")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAttribute sets the Attribute field's value. func (s *DeviceFilter) SetAttribute(v string) *DeviceFilter { s.Attribute = &v @@ -10753,6 +10801,16 @@ func (s *DeviceSelectionConfiguration) Validate() error { if s.MaxDevices == nil { invalidParams.Add(request.NewErrParamRequired("MaxDevices")) } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -13199,6 +13257,16 @@ func (s *ListDevicesInput) Validate() error { if s.NextToken != nil && len(*s.NextToken) < 4 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 4)) } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -15850,13 +15918,17 @@ type PurchaseOfferingInput struct { _ struct{} `type:"structure"` // The ID of the offering. - OfferingId *string `locationName:"offeringId" min:"32" type:"string"` + // + // OfferingId is a required field + OfferingId *string `locationName:"offeringId" min:"32" type:"string" required:"true"` // The ID of the offering promotion to be applied to the purchase. OfferingPromotionId *string `locationName:"offeringPromotionId" min:"4" type:"string"` // The number of device slots to purchase in an offering request. - Quantity *int64 `locationName:"quantity" type:"integer"` + // + // Quantity is a required field + Quantity *int64 `locationName:"quantity" type:"integer" required:"true"` } // String returns the string representation @@ -15872,12 +15944,18 @@ func (s PurchaseOfferingInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *PurchaseOfferingInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PurchaseOfferingInput"} + if s.OfferingId == nil { + invalidParams.Add(request.NewErrParamRequired("OfferingId")) + } if s.OfferingId != nil && len(*s.OfferingId) < 32 { invalidParams.Add(request.NewErrParamMinLen("OfferingId", 32)) } if s.OfferingPromotionId != nil && len(*s.OfferingPromotionId) < 4 { invalidParams.Add(request.NewErrParamMinLen("OfferingPromotionId", 4)) } + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) + } if invalidParams.Len() > 0 { return invalidParams @@ -16286,10 +16364,14 @@ type RenewOfferingInput struct { _ struct{} `type:"structure"` // The ID of a request to renew an offering. - OfferingId *string `locationName:"offeringId" min:"32" type:"string"` + // + // OfferingId is a required field + OfferingId *string `locationName:"offeringId" min:"32" type:"string" required:"true"` // The quantity requested in an offering renewal. - Quantity *int64 `locationName:"quantity" type:"integer"` + // + // Quantity is a required field + Quantity *int64 `locationName:"quantity" type:"integer" required:"true"` } // String returns the string representation @@ -16305,9 +16387,15 @@ func (s RenewOfferingInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *RenewOfferingInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "RenewOfferingInput"} + if s.OfferingId == nil { + invalidParams.Add(request.NewErrParamRequired("OfferingId")) + } if s.OfferingId != nil && len(*s.OfferingId) < 32 { invalidParams.Add(request.NewErrParamMinLen("OfferingId", 32)) } + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) + } if invalidParams.Len() > 0 { return invalidParams @@ -18366,6 +18454,9 @@ type TestGridProject struct { // A human-readable name for the project. Name *string `locationName:"name" type:"string"` + + // The VPC security groups and subnets that are attached to a project. + VpcConfig *TestGridVpcConfig `locationName:"vpcConfig" type:"structure"` } // String returns the string representation @@ -18402,6 +18493,12 @@ func (s *TestGridProject) SetName(v string) *TestGridProject { return s } +// SetVpcConfig sets the VpcConfig field's value. +func (s *TestGridProject) SetVpcConfig(v *TestGridVpcConfig) *TestGridProject { + s.VpcConfig = v + return s +} + // A TestGridSession is a single instance of a browser launched from the URL // provided by a call to CreateTestGridUrl. type TestGridSession struct { @@ -18547,7 +18644,7 @@ type TestGridSessionArtifact struct { Type *string `locationName:"type" type:"string" enum:"TestGridSessionArtifactType"` // A semi-stable URL to the content of the object. - Url *string `locationName:"url" type:"string"` + Url *string `locationName:"url" type:"string" sensitive:"true"` } // String returns the string representation @@ -18578,6 +18675,82 @@ func (s *TestGridSessionArtifact) SetUrl(v string) *TestGridSessionArtifact { return s } +// The VPC security groups and subnets that are attached to a project. +type TestGridVpcConfig struct { + _ struct{} `type:"structure"` + + // A list of VPC security group IDs in your Amazon VPC. + // + // SecurityGroupIds is a required field + SecurityGroupIds []*string `locationName:"securityGroupIds" min:"1" type:"list" required:"true"` + + // A list of VPC subnet IDs in your Amazon VPC. + // + // SubnetIds is a required field + SubnetIds []*string `locationName:"subnetIds" min:"1" type:"list" required:"true"` + + // The ID of the Amazon VPC. + // + // VpcId is a required field + VpcId *string `locationName:"vpcId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s TestGridVpcConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestGridVpcConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TestGridVpcConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TestGridVpcConfig"} + if s.SecurityGroupIds == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds")) + } + if s.SecurityGroupIds != nil && len(s.SecurityGroupIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIds", 1)) + } + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + if s.SubnetIds != nil && len(s.SubnetIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SubnetIds", 1)) + } + if s.VpcId == nil { + invalidParams.Add(request.NewErrParamRequired("VpcId")) + } + if s.VpcId != nil && len(*s.VpcId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VpcId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *TestGridVpcConfig) SetSecurityGroupIds(v []*string) *TestGridVpcConfig { + s.SecurityGroupIds = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *TestGridVpcConfig) SetSubnetIds(v []*string) *TestGridVpcConfig { + s.SubnetIds = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *TestGridVpcConfig) SetVpcId(v string) *TestGridVpcConfig { + s.VpcId = &v + return s +} + // The list of tags on the repository is over the limit. The maximum number // of tags that can be applied to a repository is 50. type TooManyTagsException struct { @@ -19370,6 +19543,9 @@ type UpdateTestGridProjectInput struct { // // ProjectArn is a required field ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"` + + // The VPC security groups and subnets that are attached to a project. + VpcConfig *TestGridVpcConfig `locationName:"vpcConfig" type:"structure"` } // String returns the string representation @@ -19397,6 +19573,11 @@ func (s *UpdateTestGridProjectInput) Validate() error { if s.ProjectArn != nil && len(*s.ProjectArn) < 32 { invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32)) } + if s.VpcConfig != nil { + if err := s.VpcConfig.Validate(); err != nil { + invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -19422,6 +19603,12 @@ func (s *UpdateTestGridProjectInput) SetProjectArn(v string) *UpdateTestGridProj return s } +// SetVpcConfig sets the VpcConfig field's value. +func (s *UpdateTestGridProjectInput) SetVpcConfig(v *TestGridVpcConfig) *UpdateTestGridProjectInput { + s.VpcConfig = v + return s +} + type UpdateTestGridProjectOutput struct { _ struct{} `type:"structure"` @@ -19756,7 +19943,7 @@ type Upload struct { Type *string `locationName:"type" type:"string" enum:"UploadType"` // The presigned Amazon S3 URL that was used to store a file using a PUT request. - Url *string `locationName:"url" type:"string"` + Url *string `locationName:"url" type:"string" sensitive:"true"` } // String returns the string representation diff --git a/service/fsx/api.go b/service/fsx/api.go index 855fe9f0326..58f48fb6dcd 100644 --- a/service/fsx/api.go +++ b/service/fsx/api.go @@ -275,8 +275,8 @@ func (c *FSx) CopyBackupRequest(input *CopyBackupInput) (req *request.Request, o // a Region, the backup copy is created in the same Region where the request // is sent from (in-Region copy). // -// For more information on creating backup copies, see Copying backups (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/copy-backups.html) -// in the Amazon FSx for Windows User Guide and Copying backups (https://docs.aws.amazon.com/fsx/latest/LustreGuide/copy-backups.html) +// For more information on creating backup copies, see Copying backups (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html#copy-backups) +// in the Amazon FSx for Windows User Guide and Copying backups (https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html#copy-backups) // in the Amazon FSx for Lustre User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2201,6 +2201,8 @@ func (c *FSx) UpdateFileSystemRequest(input *UpdateFileSystemInput) (req *reques // // * DailyAutomaticBackupStartTime // +// * DataCompressionType +// // * StorageCapacity // // * WeeklyMaintenanceStartTime @@ -4225,6 +4227,17 @@ type CreateFileSystemLustreConfiguration struct { // 05:00 specifies 5 AM daily. DailyAutomaticBackupStartTime *string `min:"5" type:"string"` + // Sets the data compression configuration for the file system. DataCompressionType + // can have the following values: + // + // * NONE - (Default) Data compression is turned off when the file system + // is created. + // + // * LZ4 - Data compression is turned on with the LZ4 algorithm. + // + // For more information, see Lustre data compression (https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html). + DataCompressionType *string `type:"string" enum:"DataCompressionType"` + // Choose SCRATCH_1 and SCRATCH_2 deployment types when you need temporary storage // and shorter-term processing of data. The SCRATCH_2 deployment type provides // in-transit encryption of data and higher burst throughput capacity than SCRATCH_1. @@ -4364,6 +4377,12 @@ func (s *CreateFileSystemLustreConfiguration) SetDailyAutomaticBackupStartTime(v return s } +// SetDataCompressionType sets the DataCompressionType field's value. +func (s *CreateFileSystemLustreConfiguration) SetDataCompressionType(v string) *CreateFileSystemLustreConfiguration { + s.DataCompressionType = &v + return s +} + // SetDeploymentType sets the DeploymentType field's value. func (s *CreateFileSystemLustreConfiguration) SetDeploymentType(v string) *CreateFileSystemLustreConfiguration { s.DeploymentType = &v @@ -7276,6 +7295,16 @@ type LustreFileSystemConfiguration struct { // 05:00 specifies 5 AM daily. DailyAutomaticBackupStartTime *string `min:"5" type:"string"` + // The data compression configuration for the file system. DataCompressionType + // can have the following values: + // + // * NONE - Data compression is turned off for the file system. + // + // * LZ4 - Data compression is turned on with the LZ4 algorithm. + // + // For more information, see Lustre data compression (https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html). + DataCompressionType *string `type:"string" enum:"DataCompressionType"` + // The data repository configuration object for Lustre file systems returned // in the response of the CreateFileSystem operation. DataRepositoryConfiguration *DataRepositoryConfiguration `type:"structure"` @@ -7352,6 +7381,12 @@ func (s *LustreFileSystemConfiguration) SetDailyAutomaticBackupStartTime(v strin return s } +// SetDataCompressionType sets the DataCompressionType field's value. +func (s *LustreFileSystemConfiguration) SetDataCompressionType(v string) *LustreFileSystemConfiguration { + s.DataCompressionType = &v + return s +} + // SetDataRepositoryConfiguration sets the DataRepositoryConfiguration field's value. func (s *LustreFileSystemConfiguration) SetDataRepositoryConfiguration(v *DataRepositoryConfiguration) *LustreFileSystemConfiguration { s.DataRepositoryConfiguration = v @@ -8467,6 +8502,19 @@ type UpdateFileSystemLustreConfiguration struct { // 05:00 specifies 5 AM daily. DailyAutomaticBackupStartTime *string `min:"5" type:"string"` + // Sets the data compression configuration for the file system. DataCompressionType + // can have the following values: + // + // * NONE - Data compression is turned off for the file system. + // + // * LZ4 - Data compression is turned on with the LZ4 algorithm. + // + // If you don't use DataCompressionType, the file system retains its current + // data compression configuration. + // + // For more information, see Lustre data compression (https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html). + DataCompressionType *string `type:"string" enum:"DataCompressionType"` + // (Optional) The preferred start time to perform weekly maintenance, formatted // d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7, // beginning with Monday and ending with Sunday. @@ -8517,6 +8565,12 @@ func (s *UpdateFileSystemLustreConfiguration) SetDailyAutomaticBackupStartTime(v return s } +// SetDataCompressionType sets the DataCompressionType field's value. +func (s *UpdateFileSystemLustreConfiguration) SetDataCompressionType(v string) *UpdateFileSystemLustreConfiguration { + s.DataCompressionType = &v + return s +} + // SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. func (s *UpdateFileSystemLustreConfiguration) SetWeeklyMaintenanceStartTime(v string) *UpdateFileSystemLustreConfiguration { s.WeeklyMaintenanceStartTime = &v @@ -9033,6 +9087,22 @@ func BackupType_Values() []string { } } +const ( + // DataCompressionTypeNone is a DataCompressionType enum value + DataCompressionTypeNone = "NONE" + + // DataCompressionTypeLz4 is a DataCompressionType enum value + DataCompressionTypeLz4 = "LZ4" +) + +// DataCompressionType_Values returns all elements of the DataCompressionType enum +func DataCompressionType_Values() []string { + return []string{ + DataCompressionTypeNone, + DataCompressionTypeLz4, + } +} + const ( // DataRepositoryLifecycleCreating is a DataRepositoryLifecycle enum value DataRepositoryLifecycleCreating = "CREATING" diff --git a/service/iotevents/api.go b/service/iotevents/api.go index c623c6fa1b2..eeaf8e69123 100644 --- a/service/iotevents/api.go +++ b/service/iotevents/api.go @@ -13,6 +13,106 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/restjson" ) +const opCreateAlarmModel = "CreateAlarmModel" + +// CreateAlarmModelRequest generates a "aws/request.Request" representing the +// client's request for the CreateAlarmModel operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateAlarmModel for more information on using the CreateAlarmModel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateAlarmModelRequest method. +// req, resp := client.CreateAlarmModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/CreateAlarmModel +func (c *IoTEvents) CreateAlarmModelRequest(input *CreateAlarmModelInput) (req *request.Request, output *CreateAlarmModelOutput) { + op := &request.Operation{ + Name: opCreateAlarmModel, + HTTPMethod: "POST", + HTTPPath: "/alarm-models", + } + + if input == nil { + input = &CreateAlarmModelInput{} + } + + output = &CreateAlarmModelOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateAlarmModel API operation for AWS IoT Events. +// +// Creates an alarm model to monitor an AWS IoT Events input attribute. You +// can use the alarm to get notified when the value is outside a specified range. +// For more information, see Create an alarm model (https://docs.aws.amazon.com/iotevents/latest/developerguide/create-alarms.html) +// in the AWS IoT Events Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Events's +// API operation CreateAlarmModel for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request was invalid. +// +// * ResourceInUseException +// The resource is in use. +// +// * ResourceAlreadyExistsException +// The resource already exists. +// +// * LimitExceededException +// A limit was exceeded. +// +// * ThrottlingException +// The request could not be completed due to throttling. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ServiceUnavailableException +// The service is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/CreateAlarmModel +func (c *IoTEvents) CreateAlarmModel(input *CreateAlarmModelInput) (*CreateAlarmModelOutput, error) { + req, out := c.CreateAlarmModelRequest(input) + return out, req.Send() +} + +// CreateAlarmModelWithContext is the same as CreateAlarmModel with the addition of +// the ability to pass a context and additional request options. +// +// See CreateAlarmModel for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTEvents) CreateAlarmModelWithContext(ctx aws.Context, input *CreateAlarmModelInput, opts ...request.Option) (*CreateAlarmModelOutput, error) { + req, out := c.CreateAlarmModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateDetectorModel = "CreateDetectorModel" // CreateDetectorModelRequest generates a "aws/request.Request" representing the @@ -201,6 +301,102 @@ func (c *IoTEvents) CreateInputWithContext(ctx aws.Context, input *CreateInputIn return out, req.Send() } +const opDeleteAlarmModel = "DeleteAlarmModel" + +// DeleteAlarmModelRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAlarmModel operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteAlarmModel for more information on using the DeleteAlarmModel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteAlarmModelRequest method. +// req, resp := client.DeleteAlarmModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DeleteAlarmModel +func (c *IoTEvents) DeleteAlarmModelRequest(input *DeleteAlarmModelInput) (req *request.Request, output *DeleteAlarmModelOutput) { + op := &request.Operation{ + Name: opDeleteAlarmModel, + HTTPMethod: "DELETE", + HTTPPath: "/alarm-models/{alarmModelName}", + } + + if input == nil { + input = &DeleteAlarmModelInput{} + } + + output = &DeleteAlarmModelOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteAlarmModel API operation for AWS IoT Events. +// +// Deletes an alarm model. Any alarm instances that were created based on this +// alarm model are also deleted. This action can't be undone. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Events's +// API operation DeleteAlarmModel for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request was invalid. +// +// * ResourceInUseException +// The resource is in use. +// +// * ResourceNotFoundException +// The resource was not found. +// +// * ThrottlingException +// The request could not be completed due to throttling. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ServiceUnavailableException +// The service is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DeleteAlarmModel +func (c *IoTEvents) DeleteAlarmModel(input *DeleteAlarmModelInput) (*DeleteAlarmModelOutput, error) { + req, out := c.DeleteAlarmModelRequest(input) + return out, req.Send() +} + +// DeleteAlarmModelWithContext is the same as DeleteAlarmModel with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteAlarmModel for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTEvents) DeleteAlarmModelWithContext(ctx aws.Context, input *DeleteAlarmModelInput, opts ...request.Option) (*DeleteAlarmModelOutput, error) { + req, out := c.DeleteAlarmModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteDetectorModel = "DeleteDetectorModel" // DeleteDetectorModelRequest generates a "aws/request.Request" representing the @@ -392,6 +588,98 @@ func (c *IoTEvents) DeleteInputWithContext(ctx aws.Context, input *DeleteInputIn return out, req.Send() } +const opDescribeAlarmModel = "DescribeAlarmModel" + +// DescribeAlarmModelRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAlarmModel operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeAlarmModel for more information on using the DescribeAlarmModel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeAlarmModelRequest method. +// req, resp := client.DescribeAlarmModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeAlarmModel +func (c *IoTEvents) DescribeAlarmModelRequest(input *DescribeAlarmModelInput) (req *request.Request, output *DescribeAlarmModelOutput) { + op := &request.Operation{ + Name: opDescribeAlarmModel, + HTTPMethod: "GET", + HTTPPath: "/alarm-models/{alarmModelName}", + } + + if input == nil { + input = &DescribeAlarmModelInput{} + } + + output = &DescribeAlarmModelOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeAlarmModel API operation for AWS IoT Events. +// +// Retrieves information about an alarm model. If you don't specify a value +// for the alarmModelVersion parameter, the latest version is returned. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Events's +// API operation DescribeAlarmModel for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request was invalid. +// +// * ResourceNotFoundException +// The resource was not found. +// +// * ThrottlingException +// The request could not be completed due to throttling. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ServiceUnavailableException +// The service is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/DescribeAlarmModel +func (c *IoTEvents) DescribeAlarmModel(input *DescribeAlarmModelInput) (*DescribeAlarmModelOutput, error) { + req, out := c.DescribeAlarmModelRequest(input) + return out, req.Send() +} + +// DescribeAlarmModelWithContext is the same as DescribeAlarmModel with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeAlarmModel for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTEvents) DescribeAlarmModelWithContext(ctx aws.Context, input *DescribeAlarmModelInput, opts ...request.Option) (*DescribeAlarmModelOutput, error) { + req, out := c.DescribeAlarmModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeDetectorModel = "DescribeDetectorModel" // DescribeDetectorModelRequest generates a "aws/request.Request" representing the @@ -528,7 +816,10 @@ func (c *IoTEvents) DescribeDetectorModelAnalysisRequest(input *DescribeDetector // DescribeDetectorModelAnalysis API operation for AWS IoT Events. // -// Retrieves execution information about a detector model analysis +// Retrieves runtime information about a detector model analysis. +// +// After AWS IoT Events starts analyzing your detector model, you have up to +// 24 hours to retrieve the analysis results. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -806,6 +1097,9 @@ func (c *IoTEvents) GetDetectorModelAnalysisResultsRequest(input *GetDetectorMod // // Retrieves one or more analysis results of the detector model. // +// After AWS IoT Events starts analyzing your detector model, you have up to +// 24 hours to retrieve the analysis results. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -851,59 +1145,59 @@ func (c *IoTEvents) GetDetectorModelAnalysisResultsWithContext(ctx aws.Context, return out, req.Send() } -const opListDetectorModelVersions = "ListDetectorModelVersions" +const opListAlarmModelVersions = "ListAlarmModelVersions" -// ListDetectorModelVersionsRequest generates a "aws/request.Request" representing the -// client's request for the ListDetectorModelVersions operation. The "output" return +// ListAlarmModelVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListAlarmModelVersions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListDetectorModelVersions for more information on using the ListDetectorModelVersions +// See ListAlarmModelVersions for more information on using the ListAlarmModelVersions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListDetectorModelVersionsRequest method. -// req, resp := client.ListDetectorModelVersionsRequest(params) +// // Example sending a request using the ListAlarmModelVersionsRequest method. +// req, resp := client.ListAlarmModelVersionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListDetectorModelVersions -func (c *IoTEvents) ListDetectorModelVersionsRequest(input *ListDetectorModelVersionsInput) (req *request.Request, output *ListDetectorModelVersionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListAlarmModelVersions +func (c *IoTEvents) ListAlarmModelVersionsRequest(input *ListAlarmModelVersionsInput) (req *request.Request, output *ListAlarmModelVersionsOutput) { op := &request.Operation{ - Name: opListDetectorModelVersions, + Name: opListAlarmModelVersions, HTTPMethod: "GET", - HTTPPath: "/detector-models/{detectorModelName}/versions", + HTTPPath: "/alarm-models/{alarmModelName}/versions", } if input == nil { - input = &ListDetectorModelVersionsInput{} + input = &ListAlarmModelVersionsInput{} } - output = &ListDetectorModelVersionsOutput{} + output = &ListAlarmModelVersionsOutput{} req = c.newRequest(op, input, output) return } -// ListDetectorModelVersions API operation for AWS IoT Events. +// ListAlarmModelVersions API operation for AWS IoT Events. // -// Lists all the versions of a detector model. Only the metadata associated -// with each detector model version is returned. +// Lists all the versions of an alarm model. The operation returns only the +// metadata associated with each alarm model version. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Events's -// API operation ListDetectorModelVersions for usage and error information. +// API operation ListAlarmModelVersions for usage and error information. // // Returned Error Types: // * InvalidRequestException @@ -921,71 +1215,252 @@ func (c *IoTEvents) ListDetectorModelVersionsRequest(input *ListDetectorModelVer // * ServiceUnavailableException // The service is currently unavailable. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListDetectorModelVersions -func (c *IoTEvents) ListDetectorModelVersions(input *ListDetectorModelVersionsInput) (*ListDetectorModelVersionsOutput, error) { - req, out := c.ListDetectorModelVersionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListAlarmModelVersions +func (c *IoTEvents) ListAlarmModelVersions(input *ListAlarmModelVersionsInput) (*ListAlarmModelVersionsOutput, error) { + req, out := c.ListAlarmModelVersionsRequest(input) return out, req.Send() } -// ListDetectorModelVersionsWithContext is the same as ListDetectorModelVersions with the addition of +// ListAlarmModelVersionsWithContext is the same as ListAlarmModelVersions with the addition of // the ability to pass a context and additional request options. // -// See ListDetectorModelVersions for details on how to use this API operation. +// See ListAlarmModelVersions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTEvents) ListDetectorModelVersionsWithContext(ctx aws.Context, input *ListDetectorModelVersionsInput, opts ...request.Option) (*ListDetectorModelVersionsOutput, error) { - req, out := c.ListDetectorModelVersionsRequest(input) +func (c *IoTEvents) ListAlarmModelVersionsWithContext(ctx aws.Context, input *ListAlarmModelVersionsInput, opts ...request.Option) (*ListAlarmModelVersionsOutput, error) { + req, out := c.ListAlarmModelVersionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListDetectorModels = "ListDetectorModels" +const opListAlarmModels = "ListAlarmModels" -// ListDetectorModelsRequest generates a "aws/request.Request" representing the -// client's request for the ListDetectorModels operation. The "output" return +// ListAlarmModelsRequest generates a "aws/request.Request" representing the +// client's request for the ListAlarmModels operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListDetectorModels for more information on using the ListDetectorModels +// See ListAlarmModels for more information on using the ListAlarmModels // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListDetectorModelsRequest method. -// req, resp := client.ListDetectorModelsRequest(params) +// // Example sending a request using the ListAlarmModelsRequest method. +// req, resp := client.ListAlarmModelsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListDetectorModels -func (c *IoTEvents) ListDetectorModelsRequest(input *ListDetectorModelsInput) (req *request.Request, output *ListDetectorModelsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListAlarmModels +func (c *IoTEvents) ListAlarmModelsRequest(input *ListAlarmModelsInput) (req *request.Request, output *ListAlarmModelsOutput) { op := &request.Operation{ - Name: opListDetectorModels, + Name: opListAlarmModels, HTTPMethod: "GET", - HTTPPath: "/detector-models", + HTTPPath: "/alarm-models", } if input == nil { - input = &ListDetectorModelsInput{} + input = &ListAlarmModelsInput{} } - output = &ListDetectorModelsOutput{} + output = &ListAlarmModelsOutput{} req = c.newRequest(op, input, output) return } -// ListDetectorModels API operation for AWS IoT Events. +// ListAlarmModels API operation for AWS IoT Events. +// +// Lists the alarm models that you created. The operation returns only the metadata +// associated with each alarm model. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Events's +// API operation ListAlarmModels for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request was invalid. +// +// * ThrottlingException +// The request could not be completed due to throttling. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ServiceUnavailableException +// The service is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListAlarmModels +func (c *IoTEvents) ListAlarmModels(input *ListAlarmModelsInput) (*ListAlarmModelsOutput, error) { + req, out := c.ListAlarmModelsRequest(input) + return out, req.Send() +} + +// ListAlarmModelsWithContext is the same as ListAlarmModels with the addition of +// the ability to pass a context and additional request options. +// +// See ListAlarmModels for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTEvents) ListAlarmModelsWithContext(ctx aws.Context, input *ListAlarmModelsInput, opts ...request.Option) (*ListAlarmModelsOutput, error) { + req, out := c.ListAlarmModelsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListDetectorModelVersions = "ListDetectorModelVersions" + +// ListDetectorModelVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListDetectorModelVersions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListDetectorModelVersions for more information on using the ListDetectorModelVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListDetectorModelVersionsRequest method. +// req, resp := client.ListDetectorModelVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListDetectorModelVersions +func (c *IoTEvents) ListDetectorModelVersionsRequest(input *ListDetectorModelVersionsInput) (req *request.Request, output *ListDetectorModelVersionsOutput) { + op := &request.Operation{ + Name: opListDetectorModelVersions, + HTTPMethod: "GET", + HTTPPath: "/detector-models/{detectorModelName}/versions", + } + + if input == nil { + input = &ListDetectorModelVersionsInput{} + } + + output = &ListDetectorModelVersionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDetectorModelVersions API operation for AWS IoT Events. +// +// Lists all the versions of a detector model. Only the metadata associated +// with each detector model version is returned. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Events's +// API operation ListDetectorModelVersions for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request was invalid. +// +// * ResourceNotFoundException +// The resource was not found. +// +// * ThrottlingException +// The request could not be completed due to throttling. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ServiceUnavailableException +// The service is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListDetectorModelVersions +func (c *IoTEvents) ListDetectorModelVersions(input *ListDetectorModelVersionsInput) (*ListDetectorModelVersionsOutput, error) { + req, out := c.ListDetectorModelVersionsRequest(input) + return out, req.Send() +} + +// ListDetectorModelVersionsWithContext is the same as ListDetectorModelVersions with the addition of +// the ability to pass a context and additional request options. +// +// See ListDetectorModelVersions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTEvents) ListDetectorModelVersionsWithContext(ctx aws.Context, input *ListDetectorModelVersionsInput, opts ...request.Option) (*ListDetectorModelVersionsOutput, error) { + req, out := c.ListDetectorModelVersionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListDetectorModels = "ListDetectorModels" + +// ListDetectorModelsRequest generates a "aws/request.Request" representing the +// client's request for the ListDetectorModels operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListDetectorModels for more information on using the ListDetectorModels +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListDetectorModelsRequest method. +// req, resp := client.ListDetectorModelsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListDetectorModels +func (c *IoTEvents) ListDetectorModelsRequest(input *ListDetectorModelsInput) (req *request.Request, output *ListDetectorModelsOutput) { + op := &request.Operation{ + Name: opListDetectorModels, + HTTPMethod: "GET", + HTTPPath: "/detector-models", + } + + if input == nil { + input = &ListDetectorModelsInput{} + } + + output = &ListDetectorModelsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDetectorModels API operation for AWS IoT Events. // // Lists the detector models you have created. Only the metadata associated // with each detector model is returned. @@ -1032,6 +1507,97 @@ func (c *IoTEvents) ListDetectorModelsWithContext(ctx aws.Context, input *ListDe return out, req.Send() } +const opListInputRoutings = "ListInputRoutings" + +// ListInputRoutingsRequest generates a "aws/request.Request" representing the +// client's request for the ListInputRoutings operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListInputRoutings for more information on using the ListInputRoutings +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListInputRoutingsRequest method. +// req, resp := client.ListInputRoutingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListInputRoutings +func (c *IoTEvents) ListInputRoutingsRequest(input *ListInputRoutingsInput) (req *request.Request, output *ListInputRoutingsOutput) { + op := &request.Operation{ + Name: opListInputRoutings, + HTTPMethod: "POST", + HTTPPath: "/input-routings", + } + + if input == nil { + input = &ListInputRoutingsInput{} + } + + output = &ListInputRoutingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListInputRoutings API operation for AWS IoT Events. +// +// Lists one or more input routings. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Events's +// API operation ListInputRoutings for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request was invalid. +// +// * ThrottlingException +// The request could not be completed due to throttling. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ServiceUnavailableException +// The service is currently unavailable. +// +// * ResourceNotFoundException +// The resource was not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/ListInputRoutings +func (c *IoTEvents) ListInputRoutings(input *ListInputRoutingsInput) (*ListInputRoutingsOutput, error) { + req, out := c.ListInputRoutingsRequest(input) + return out, req.Send() +} + +// ListInputRoutingsWithContext is the same as ListInputRoutings with the addition of +// the ability to pass a context and additional request options. +// +// See ListInputRoutings for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTEvents) ListInputRoutingsWithContext(ctx aws.Context, input *ListInputRoutingsInput, opts ...request.Option) (*ListInputRoutingsOutput, error) { + req, out := c.ListInputRoutingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListInputs = "ListInputs" // ListInputsRequest generates a "aws/request.Request" representing the @@ -1355,8 +1921,8 @@ func (c *IoTEvents) StartDetectorModelAnalysisRequest(input *StartDetectorModelA // StartDetectorModelAnalysis API operation for AWS IoT Events. // -// Performs an analysis of your detector model. For more information, see Running -// detector model analyses (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-analyze-api.html) +// Performs an analysis of your detector model. For more information, see Troubleshooting +// a detector model (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-analyze-api.html) // in the AWS IoT Events Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1592,59 +2158,154 @@ func (c *IoTEvents) UntagResourceWithContext(ctx aws.Context, input *UntagResour return out, req.Send() } -const opUpdateDetectorModel = "UpdateDetectorModel" +const opUpdateAlarmModel = "UpdateAlarmModel" -// UpdateDetectorModelRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDetectorModel operation. The "output" return +// UpdateAlarmModelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAlarmModel operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateDetectorModel for more information on using the UpdateDetectorModel +// See UpdateAlarmModel for more information on using the UpdateAlarmModel // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateDetectorModelRequest method. -// req, resp := client.UpdateDetectorModelRequest(params) +// // Example sending a request using the UpdateAlarmModelRequest method. +// req, resp := client.UpdateAlarmModelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/UpdateDetectorModel -func (c *IoTEvents) UpdateDetectorModelRequest(input *UpdateDetectorModelInput) (req *request.Request, output *UpdateDetectorModelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/UpdateAlarmModel +func (c *IoTEvents) UpdateAlarmModelRequest(input *UpdateAlarmModelInput) (req *request.Request, output *UpdateAlarmModelOutput) { op := &request.Operation{ - Name: opUpdateDetectorModel, + Name: opUpdateAlarmModel, HTTPMethod: "POST", - HTTPPath: "/detector-models/{detectorModelName}", + HTTPPath: "/alarm-models/{alarmModelName}", } if input == nil { - input = &UpdateDetectorModelInput{} + input = &UpdateAlarmModelInput{} } - output = &UpdateDetectorModelOutput{} + output = &UpdateAlarmModelOutput{} req = c.newRequest(op, input, output) return } -// UpdateDetectorModel API operation for AWS IoT Events. +// UpdateAlarmModel API operation for AWS IoT Events. // -// Updates a detector model. Detectors (instances) spawned by the previous version -// are deleted and then re-created as new inputs arrive. +// Updates an alarm model. Any alarms that were created based on the previous +// version are deleted and then created again as new data arrives. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Events's -// API operation UpdateDetectorModel for usage and error information. +// API operation UpdateAlarmModel for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request was invalid. +// +// * ResourceInUseException +// The resource is in use. +// +// * ResourceNotFoundException +// The resource was not found. +// +// * ThrottlingException +// The request could not be completed due to throttling. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ServiceUnavailableException +// The service is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/UpdateAlarmModel +func (c *IoTEvents) UpdateAlarmModel(input *UpdateAlarmModelInput) (*UpdateAlarmModelOutput, error) { + req, out := c.UpdateAlarmModelRequest(input) + return out, req.Send() +} + +// UpdateAlarmModelWithContext is the same as UpdateAlarmModel with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAlarmModel for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTEvents) UpdateAlarmModelWithContext(ctx aws.Context, input *UpdateAlarmModelInput, opts ...request.Option) (*UpdateAlarmModelOutput, error) { + req, out := c.UpdateAlarmModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDetectorModel = "UpdateDetectorModel" + +// UpdateDetectorModelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDetectorModel operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDetectorModel for more information on using the UpdateDetectorModel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateDetectorModelRequest method. +// req, resp := client.UpdateDetectorModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-2018-07-27/UpdateDetectorModel +func (c *IoTEvents) UpdateDetectorModelRequest(input *UpdateDetectorModelInput) (req *request.Request, output *UpdateDetectorModelOutput) { + op := &request.Operation{ + Name: opUpdateDetectorModel, + HTTPMethod: "POST", + HTTPPath: "/detector-models/{detectorModelName}", + } + + if input == nil { + input = &UpdateDetectorModelInput{} + } + + output = &UpdateDetectorModelOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDetectorModel API operation for AWS IoT Events. +// +// Updates a detector model. Detectors (instances) spawned by the previous version +// are deleted and then re-created as new inputs arrive. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Events's +// API operation UpdateDetectorModel for usage and error information. // // Returned Error Types: // * InvalidRequestException @@ -1781,6 +2442,49 @@ func (c *IoTEvents) UpdateInputWithContext(ctx aws.Context, input *UpdateInputIn return out, req.Send() } +// Specifies whether to get notified for alarm state changes. +type AcknowledgeFlow struct { + _ struct{} `type:"structure"` + + // The value must be TRUE or FALSE. If TRUE, you receive a notification when + // the alarm state changes. You must choose to acknowledge the notification + // before the alarm state can return to NORMAL. If FALSE, you won't receive + // notifications. The alarm automatically changes to the NORMAL state when the + // input property value returns to the specified range. + // + // Enabled is a required field + Enabled *bool `locationName:"enabled" type:"boolean" required:"true"` +} + +// String returns the string representation +func (s AcknowledgeFlow) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcknowledgeFlow) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AcknowledgeFlow) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AcknowledgeFlow"} + if s.Enabled == nil { + invalidParams.Add(request.NewErrParamRequired("Enabled")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnabled sets the Enabled field's value. +func (s *AcknowledgeFlow) SetEnabled(v bool) *AcknowledgeFlow { + s.Enabled = &v + return s +} + // Sends an AWS IoT Events input, passing in information about the detector // model instance and the event that triggered the action. type Action struct { @@ -2063,90 +2767,673 @@ func (s *ActionData) SetSqs(v *SqsAction) *ActionData { return s } -// Contains the result of the analysis. -type AnalysisResult struct { +// Specifies one of the following actions to receive notifications when the +// alarm state changes. +type AlarmAction struct { _ struct{} `type:"structure"` - // The severity level of the analysis result. Analysis results fall into three - // general categories based on the severity level: + // Defines an action to write to the Amazon DynamoDB table that you created. + // The standard action payload contains all the information about the detector + // model instance and the event that triggered the action. You can customize + // the payload (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). + // One column of the DynamoDB table receives all attribute-value pairs in the + // payload that you specify. // - // * INFO - An information result informs you about a significant field in - // your detector model. This type of result usually doesn't require immediate - // action. + // You must use expressions for all parameters in DynamoDBAction. The expressions + // accept literals, operators, functions, references, and substitution templates. // - // * WARNING - A warning result draws special attention to fields that are - // potentially damaging to your detector model. We recommend that you review - // warnings and take necessary actions before you use your detetor model - // in production environments. Otherwise, the detector model may not fully - // function as expected. + // Examples // - // * ERROR - An error result notifies you about a problem found in your detector - // model. You must fix all errors before you can publish your detector model. - Level *string `locationName:"level" type:"string" enum:"AnalysisResultLevel"` + // * For literal values, the expressions must contain single quotes. For + // example, the value for the hashKeyType parameter can be 'STRING'. + // + // * For references, you must specify either variables or input values. For + // example, the value for the hashKeyField parameter can be $input.GreenhouseInput.name. + // + // * For a substitution template, you must use ${}, and the template must + // be in single quotes. A substitution template can also contain a combination + // of literals, operators, functions, references, and substitution templates. + // In the following example, the value for the hashKeyValue parameter uses + // a substitution template. '${$input.GreenhouseInput.temperature * 6 / 5 + // + 32} in Fahrenheit' + // + // * For a string concatenation, you must use +. A string concatenation can + // also contain a combination of literals, operators, functions, references, + // and substitution templates. In the following example, the value for the + // tableName parameter uses a string concatenation. 'GreenhouseTemperatureTable + // ' + $input.GreenhouseInput.date + // + // For more information, see Expressions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) + // in the AWS IoT Events Developer Guide. + // + // If the defined payload type is a string, DynamoDBAction writes non-JSON data + // to the DynamoDB table as binary data. The DynamoDB console displays the data + // as Base64-encoded text. The value for the payloadField parameter is _raw. + DynamoDB *DynamoDBAction `locationName:"dynamoDB" type:"structure"` - // Contains one or more locations that you can use to locate the fields in your - // detector model that the analysis result references. - Locations []*AnalysisResultLocation `locationName:"locations" type:"list"` + // Defines an action to write to the Amazon DynamoDB table that you created. + // The default action payload contains all the information about the detector + // model instance and the event that triggered the action. You can customize + // the payload (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Payload.html). + // A separate column of the DynamoDB table receives one attribute-value pair + // in the payload that you specify. + // + // You must use expressions for all parameters in DynamoDBv2Action. The expressions + // accept literals, operators, functions, references, and substitution templates. + // + // Examples + // + // * For literal values, the expressions must contain single quotes. For + // example, the value for the tableName parameter can be 'GreenhouseTemperatureTable'. + // + // * For references, you must specify either variables or input values. For + // example, the value for the tableName parameter can be $variable.ddbtableName. + // + // * For a substitution template, you must use ${}, and the template must + // be in single quotes. A substitution template can also contain a combination + // of literals, operators, functions, references, and substitution templates. + // In the following example, the value for the contentExpression parameter + // in Payload uses a substitution template. '{\"sensorID\": \"${$input.GreenhouseInput.sensor_id}\", + // \"temperature\": \"${$input.GreenhouseInput.temperature * 9 / 5 + 32}\"}' + // + // * For a string concatenation, you must use +. A string concatenation can + // also contain a combination of literals, operators, functions, references, + // and substitution templates. In the following example, the value for the + // tableName parameter uses a string concatenation. 'GreenhouseTemperatureTable + // ' + $input.GreenhouseInput.date + // + // For more information, see Expressions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) + // in the AWS IoT Events Developer Guide. + // + // The value for the type parameter in Payload must be JSON. + DynamoDBv2 *DynamoDBv2Action `locationName:"dynamoDBv2" type:"structure"` - // Contains additional information about the analysis result. - Message *string `locationName:"message" type:"string"` + // Sends information about the detector model instance and the event that triggered + // the action to an Amazon Kinesis Data Firehose delivery stream. + Firehose *FirehoseAction `locationName:"firehose" type:"structure"` - // The type of the analysis result. Analyses fall into the following types based - // on the validators used to generate the analysis result: - // - // * supported-actions - You must specify AWS IoT Events supported actions - // that work with other AWS services in a supported AWS Region. + // Sends an AWS IoT Events input, passing in information about the detector + // model instance and the event that triggered the action. + IotEvents *Action `locationName:"iotEvents" type:"structure"` + + // Sends information about the detector model instance and the event that triggered + // the action to a specified asset property in AWS IoT SiteWise. // - // * service-limits - Resources or operations can't exceed service limits. - // Update your detector model or request a limit adjust. + // You must use expressions for all parameters in IotSiteWiseAction. The expressions + // accept literals, operators, functions, references, and substitutions templates. // - // * structure - The detector model must follow a structure that AWS IoT - // Events supports. + // Examples // - // * expression-syntax - Your expression must follow the required syntax. + // * For literal values, the expressions must contain single quotes. For + // example, the value for the propertyAlias parameter can be '/company/windfarm/3/turbine/7/temperature'. // - // * data-type - Data types referenced in the detector model must be compatible. + // * For references, you must specify either variables or input values. For + // example, the value for the assetId parameter can be $input.TurbineInput.assetId1. // - // * referenced-data - You must define the data referenced in your detector - // model before you can use the data. + // * For a substitution template, you must use ${}, and the template must + // be in single quotes. A substitution template can also contain a combination + // of literals, operators, functions, references, and substitution templates. + // In the following example, the value for the propertyAlias parameter uses + // a substitution template. 'company/windfarm/${$input.TemperatureInput.sensorData.windfarmID}/turbine/ + // ${$input.TemperatureInput.sensorData.turbineID}/temperature' // - // * referenced-resource - Resources that the detector model uses must be - // available. + // You must specify either propertyAlias or both assetId and propertyId to identify + // the target asset property in AWS IoT SiteWise. // - // For more information, see Running detector model analyses (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-analyze-api.html) + // For more information, see Expressions (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-expressions.html) // in the AWS IoT Events Developer Guide. - Type *string `locationName:"type" type:"string"` + IotSiteWise *IotSiteWiseAction `locationName:"iotSiteWise" type:"structure"` + + // Information required to publish the MQTT message through the AWS IoT message + // broker. + IotTopicPublish *IotTopicPublishAction `locationName:"iotTopicPublish" type:"structure"` + + // Calls a Lambda function, passing in information about the detector model + // instance and the event that triggered the action. + Lambda *LambdaAction `locationName:"lambda" type:"structure"` + + // Information required to publish the Amazon SNS message. + Sns *SNSTopicPublishAction `locationName:"sns" type:"structure"` + + // Sends information about the detector model instance and the event that triggered + // the action to an Amazon SQS queue. + Sqs *SqsAction `locationName:"sqs" type:"structure"` } // String returns the string representation -func (s AnalysisResult) String() string { +func (s AlarmAction) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AnalysisResult) GoString() string { +func (s AlarmAction) GoString() string { return s.String() } -// SetLevel sets the Level field's value. -func (s *AnalysisResult) SetLevel(v string) *AnalysisResult { - s.Level = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *AlarmAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AlarmAction"} + if s.DynamoDB != nil { + if err := s.DynamoDB.Validate(); err != nil { + invalidParams.AddNested("DynamoDB", err.(request.ErrInvalidParams)) + } + } + if s.DynamoDBv2 != nil { + if err := s.DynamoDBv2.Validate(); err != nil { + invalidParams.AddNested("DynamoDBv2", err.(request.ErrInvalidParams)) + } + } + if s.Firehose != nil { + if err := s.Firehose.Validate(); err != nil { + invalidParams.AddNested("Firehose", err.(request.ErrInvalidParams)) + } + } + if s.IotEvents != nil { + if err := s.IotEvents.Validate(); err != nil { + invalidParams.AddNested("IotEvents", err.(request.ErrInvalidParams)) + } + } + if s.IotSiteWise != nil { + if err := s.IotSiteWise.Validate(); err != nil { + invalidParams.AddNested("IotSiteWise", err.(request.ErrInvalidParams)) + } + } + if s.IotTopicPublish != nil { + if err := s.IotTopicPublish.Validate(); err != nil { + invalidParams.AddNested("IotTopicPublish", err.(request.ErrInvalidParams)) + } + } + if s.Lambda != nil { + if err := s.Lambda.Validate(); err != nil { + invalidParams.AddNested("Lambda", err.(request.ErrInvalidParams)) + } + } + if s.Sns != nil { + if err := s.Sns.Validate(); err != nil { + invalidParams.AddNested("Sns", err.(request.ErrInvalidParams)) + } + } + if s.Sqs != nil { + if err := s.Sqs.Validate(); err != nil { + invalidParams.AddNested("Sqs", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetLocations sets the Locations field's value. -func (s *AnalysisResult) SetLocations(v []*AnalysisResultLocation) *AnalysisResult { - s.Locations = v +// SetDynamoDB sets the DynamoDB field's value. +func (s *AlarmAction) SetDynamoDB(v *DynamoDBAction) *AlarmAction { + s.DynamoDB = v return s } -// SetMessage sets the Message field's value. -func (s *AnalysisResult) SetMessage(v string) *AnalysisResult { - s.Message = &v +// SetDynamoDBv2 sets the DynamoDBv2 field's value. +func (s *AlarmAction) SetDynamoDBv2(v *DynamoDBv2Action) *AlarmAction { + s.DynamoDBv2 = v return s } -// SetType sets the Type field's value. +// SetFirehose sets the Firehose field's value. +func (s *AlarmAction) SetFirehose(v *FirehoseAction) *AlarmAction { + s.Firehose = v + return s +} + +// SetIotEvents sets the IotEvents field's value. +func (s *AlarmAction) SetIotEvents(v *Action) *AlarmAction { + s.IotEvents = v + return s +} + +// SetIotSiteWise sets the IotSiteWise field's value. +func (s *AlarmAction) SetIotSiteWise(v *IotSiteWiseAction) *AlarmAction { + s.IotSiteWise = v + return s +} + +// SetIotTopicPublish sets the IotTopicPublish field's value. +func (s *AlarmAction) SetIotTopicPublish(v *IotTopicPublishAction) *AlarmAction { + s.IotTopicPublish = v + return s +} + +// SetLambda sets the Lambda field's value. +func (s *AlarmAction) SetLambda(v *LambdaAction) *AlarmAction { + s.Lambda = v + return s +} + +// SetSns sets the Sns field's value. +func (s *AlarmAction) SetSns(v *SNSTopicPublishAction) *AlarmAction { + s.Sns = v + return s +} + +// SetSqs sets the Sqs field's value. +func (s *AlarmAction) SetSqs(v *SqsAction) *AlarmAction { + s.Sqs = v + return s +} + +// Contains the configuration information of alarm state changes. +type AlarmCapabilities struct { + _ struct{} `type:"structure"` + + // Specifies whether to get notified for alarm state changes. + AcknowledgeFlow *AcknowledgeFlow `locationName:"acknowledgeFlow" type:"structure"` + + // Specifies the default alarm state. The configuration applies to all alarms + // that were created based on this alarm model. + InitializationConfiguration *InitializationConfiguration `locationName:"initializationConfiguration" type:"structure"` +} + +// String returns the string representation +func (s AlarmCapabilities) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AlarmCapabilities) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AlarmCapabilities) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AlarmCapabilities"} + if s.AcknowledgeFlow != nil { + if err := s.AcknowledgeFlow.Validate(); err != nil { + invalidParams.AddNested("AcknowledgeFlow", err.(request.ErrInvalidParams)) + } + } + if s.InitializationConfiguration != nil { + if err := s.InitializationConfiguration.Validate(); err != nil { + invalidParams.AddNested("InitializationConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcknowledgeFlow sets the AcknowledgeFlow field's value. +func (s *AlarmCapabilities) SetAcknowledgeFlow(v *AcknowledgeFlow) *AlarmCapabilities { + s.AcknowledgeFlow = v + return s +} + +// SetInitializationConfiguration sets the InitializationConfiguration field's value. +func (s *AlarmCapabilities) SetInitializationConfiguration(v *InitializationConfiguration) *AlarmCapabilities { + s.InitializationConfiguration = v + return s +} + +// Contains information about one or more alarm actions. +type AlarmEventActions struct { + _ struct{} `type:"structure"` + + // Specifies one or more supported actions to receive notifications when the + // alarm state changes. + AlarmActions []*AlarmAction `locationName:"alarmActions" type:"list"` +} + +// String returns the string representation +func (s AlarmEventActions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AlarmEventActions) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AlarmEventActions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AlarmEventActions"} + if s.AlarmActions != nil { + for i, v := range s.AlarmActions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AlarmActions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlarmActions sets the AlarmActions field's value. +func (s *AlarmEventActions) SetAlarmActions(v []*AlarmAction) *AlarmEventActions { + s.AlarmActions = v + return s +} + +// Contains a summary of an alarm model. +type AlarmModelSummary struct { + _ struct{} `type:"structure"` + + // The description of the alarm model. + AlarmModelDescription *string `locationName:"alarmModelDescription" type:"string"` + + // The name of the alarm model. + AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string"` + + // The time the alarm model was created, in the Unix epoch format. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` +} + +// String returns the string representation +func (s AlarmModelSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AlarmModelSummary) GoString() string { + return s.String() +} + +// SetAlarmModelDescription sets the AlarmModelDescription field's value. +func (s *AlarmModelSummary) SetAlarmModelDescription(v string) *AlarmModelSummary { + s.AlarmModelDescription = &v + return s +} + +// SetAlarmModelName sets the AlarmModelName field's value. +func (s *AlarmModelSummary) SetAlarmModelName(v string) *AlarmModelSummary { + s.AlarmModelName = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *AlarmModelSummary) SetCreationTime(v time.Time) *AlarmModelSummary { + s.CreationTime = &v + return s +} + +// Contains a summary of an alarm model version. +type AlarmModelVersionSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the alarm model. For more information, see Amazon Resource Names + // (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + AlarmModelArn *string `locationName:"alarmModelArn" type:"string"` + + // The name of the alarm model. + AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string"` + + // The version of the alarm model. + AlarmModelVersion *string `locationName:"alarmModelVersion" min:"1" type:"string"` + + // The time the alarm model was created, in the Unix epoch format. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // The time the alarm model was last updated, in the Unix epoch format. + LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"` + + // The ARN of the IAM role that allows the alarm to perform actions and access + // AWS resources. For more information, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + RoleArn *string `locationName:"roleArn" min:"1" type:"string"` + + // The status of the alarm model. The status can be one of the following values: + // + // * ACTIVE - The alarm model is active and it's ready to evaluate data. + // + // * ACTIVATING - AWS IoT Events is activating your alarm model. Activating + // an alarm model can take up to a few minutes. + // + // * INACTIVE - The alarm model is inactive, so it isn't ready to evaluate + // data. Check your alarm model information and update the alarm model. + // + // * FAILED - You couldn't create or update the alarm model. Check your alarm + // model information and try again. + Status *string `locationName:"status" type:"string" enum:"AlarmModelVersionStatus"` + + // Contains information about the status of the alarm model version. + StatusMessage *string `locationName:"statusMessage" type:"string"` +} + +// String returns the string representation +func (s AlarmModelVersionSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AlarmModelVersionSummary) GoString() string { + return s.String() +} + +// SetAlarmModelArn sets the AlarmModelArn field's value. +func (s *AlarmModelVersionSummary) SetAlarmModelArn(v string) *AlarmModelVersionSummary { + s.AlarmModelArn = &v + return s +} + +// SetAlarmModelName sets the AlarmModelName field's value. +func (s *AlarmModelVersionSummary) SetAlarmModelName(v string) *AlarmModelVersionSummary { + s.AlarmModelName = &v + return s +} + +// SetAlarmModelVersion sets the AlarmModelVersion field's value. +func (s *AlarmModelVersionSummary) SetAlarmModelVersion(v string) *AlarmModelVersionSummary { + s.AlarmModelVersion = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *AlarmModelVersionSummary) SetCreationTime(v time.Time) *AlarmModelVersionSummary { + s.CreationTime = &v + return s +} + +// SetLastUpdateTime sets the LastUpdateTime field's value. +func (s *AlarmModelVersionSummary) SetLastUpdateTime(v time.Time) *AlarmModelVersionSummary { + s.LastUpdateTime = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *AlarmModelVersionSummary) SetRoleArn(v string) *AlarmModelVersionSummary { + s.RoleArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AlarmModelVersionSummary) SetStatus(v string) *AlarmModelVersionSummary { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *AlarmModelVersionSummary) SetStatusMessage(v string) *AlarmModelVersionSummary { + s.StatusMessage = &v + return s +} + +// Contains information about one or more notification actions. +type AlarmNotification struct { + _ struct{} `type:"structure"` + + // Contains the notification settings of an alarm model. The settings apply + // to all alarms that were created based on this alarm model. + NotificationActions []*NotificationAction `locationName:"notificationActions" min:"1" type:"list"` +} + +// String returns the string representation +func (s AlarmNotification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AlarmNotification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AlarmNotification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AlarmNotification"} + if s.NotificationActions != nil && len(s.NotificationActions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NotificationActions", 1)) + } + if s.NotificationActions != nil { + for i, v := range s.NotificationActions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NotificationActions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNotificationActions sets the NotificationActions field's value. +func (s *AlarmNotification) SetNotificationActions(v []*NotificationAction) *AlarmNotification { + s.NotificationActions = v + return s +} + +// Defines when your alarm is invoked. +type AlarmRule struct { + _ struct{} `type:"structure"` + + // A rule that compares an input property value to a threshold value with a + // comparison operator. + SimpleRule *SimpleRule `locationName:"simpleRule" type:"structure"` +} + +// String returns the string representation +func (s AlarmRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AlarmRule) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AlarmRule) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AlarmRule"} + if s.SimpleRule != nil { + if err := s.SimpleRule.Validate(); err != nil { + invalidParams.AddNested("SimpleRule", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSimpleRule sets the SimpleRule field's value. +func (s *AlarmRule) SetSimpleRule(v *SimpleRule) *AlarmRule { + s.SimpleRule = v + return s +} + +// Contains the result of the analysis. +type AnalysisResult struct { + _ struct{} `type:"structure"` + + // The severity level of the analysis result. Based on the severity level, analysis + // results fall into three general categories: + // + // * INFO - An information result tells you about a significant field in + // your detector model. This type of result usually doesn't require immediate + // action. + // + // * WARNING - A warning result draws special attention to fields that might + // cause issues for your detector model. We recommend that you review warnings + // and take necessary actions before you use your detector model in production + // environments. Otherwise, the detector model might not work as expected. + // + // * ERROR - An error result notifies you about a problem found in your detector + // model. You must fix all errors before you can publish your detector model. + Level *string `locationName:"level" type:"string" enum:"AnalysisResultLevel"` + + // Contains one or more locations that you can use to locate the fields in your + // detector model that the analysis result references. + Locations []*AnalysisResultLocation `locationName:"locations" type:"list"` + + // Contains additional information about the analysis result. + Message *string `locationName:"message" type:"string"` + + // The type of the analysis result. Analyses fall into the following types based + // on the validators used to generate the analysis result: + // + // * supported-actions - You must specify AWS IoT Events supported actions + // that work with other AWS services in a supported AWS Region. + // + // * service-limits - Resources or API operations can't exceed service quotas + // (also known as limits). Update your detector model or request a quota + // increase. + // + // * structure - The detector model must follow a structure that AWS IoT + // Events supports. + // + // * expression-syntax - Your expression must follow the required syntax. + // + // * data-type - Data types referenced in the detector model must be compatible. + // + // * referenced-data - You must define the data referenced in your detector + // model before you can use the data. + // + // * referenced-resource - Resources that the detector model uses must be + // available. + // + // For more information, see Running detector model analyses (https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-analyze-api.html) + // in the AWS IoT Events Developer Guide. + Type *string `locationName:"type" type:"string"` +} + +// String returns the string representation +func (s AnalysisResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AnalysisResult) GoString() string { + return s.String() +} + +// SetLevel sets the Level field's value. +func (s *AnalysisResult) SetLevel(v string) *AnalysisResult { + s.Level = &v + return s +} + +// SetLocations sets the Locations field's value. +func (s *AnalysisResult) SetLocations(v []*AnalysisResultLocation) *AnalysisResult { + s.Locations = v + return s +} + +// SetMessage sets the Message field's value. +func (s *AnalysisResult) SetMessage(v string) *AnalysisResult { + s.Message = &v + return s +} + +// SetType sets the Type field's value. func (s *AnalysisResult) SetType(v string) *AnalysisResult { s.Type = &v return s @@ -2281,9 +3568,7 @@ type AssetPropertyValue struct { Timestamp *AssetPropertyTimestamp `locationName:"timestamp" type:"structure"` // The value to send to an asset property. - // - // Value is a required field - Value *AssetPropertyVariant `locationName:"value" type:"structure" required:"true"` + Value *AssetPropertyVariant `locationName:"value" type:"structure"` } // String returns the string representation @@ -2299,9 +3584,6 @@ func (s AssetPropertyValue) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *AssetPropertyValue) Validate() error { invalidParams := request.ErrInvalidParams{Context: "AssetPropertyValue"} - if s.Value == nil { - invalidParams.Add(request.NewErrParamRequired("Value")) - } if s.Timestamp != nil { if err := s.Timestamp.Validate(); err != nil { invalidParams.AddNested("Timestamp", err.(request.ErrInvalidParams)) @@ -2458,57 +3740,307 @@ func (s *Attribute) Validate() error { invalidParams.Add(request.NewErrParamMinLen("JsonPath", 1)) } - if invalidParams.Len() > 0 { - return invalidParams - } - return nil + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJsonPath sets the JsonPath field's value. +func (s *Attribute) SetJsonPath(v string) *Attribute { + s.JsonPath = &v + return s +} + +// Information needed to clear the timer. +type ClearTimerAction struct { + _ struct{} `type:"structure"` + + // The name of the timer to clear. + // + // TimerName is a required field + TimerName *string `locationName:"timerName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ClearTimerAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClearTimerAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ClearTimerAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ClearTimerAction"} + if s.TimerName == nil { + invalidParams.Add(request.NewErrParamRequired("TimerName")) + } + if s.TimerName != nil && len(*s.TimerName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TimerName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTimerName sets the TimerName field's value. +func (s *ClearTimerAction) SetTimerName(v string) *ClearTimerAction { + s.TimerName = &v + return s +} + +type CreateAlarmModelInput struct { + _ struct{} `type:"structure"` + + // Contains the configuration information of alarm state changes. + AlarmCapabilities *AlarmCapabilities `locationName:"alarmCapabilities" type:"structure"` + + // Contains information about one or more alarm actions. + AlarmEventActions *AlarmEventActions `locationName:"alarmEventActions" type:"structure"` + + // A description that tells you what the alarm model detects. + AlarmModelDescription *string `locationName:"alarmModelDescription" type:"string"` + + // A unique name that helps you identify the alarm model. You can't change this + // name after you create the alarm model. + // + // AlarmModelName is a required field + AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string" required:"true"` + + // Contains information about one or more notification actions. + AlarmNotification *AlarmNotification `locationName:"alarmNotification" type:"structure"` + + // Defines when your alarm is invoked. + // + // AlarmRule is a required field + AlarmRule *AlarmRule `locationName:"alarmRule" type:"structure" required:"true"` + + // An input attribute used as a key to create an alarm. AWS IoT Events routes + // inputs (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Input.html) + // associated with this key to the alarm. + Key *string `locationName:"key" min:"1" type:"string"` + + // The ARN of the IAM role that allows the alarm to perform actions and access + // AWS resources. For more information, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"` + + // A non-negative integer that reflects the severity level of the alarm. + Severity *int64 `locationName:"severity" type:"integer"` + + // A list of key-value pairs that contain metadata for the alarm model. The + // tags help you manage the alarm model. For more information, see Tagging your + // AWS IoT Events resources (https://docs.aws.amazon.com/iotevents/latest/developerguide/tagging-iotevents.html) + // in the AWS IoT Events Developer Guide. + // + // You can create up to 50 tags for one alarm model. + Tags []*Tag `locationName:"tags" type:"list"` +} + +// String returns the string representation +func (s CreateAlarmModelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAlarmModelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAlarmModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAlarmModelInput"} + if s.AlarmModelName == nil { + invalidParams.Add(request.NewErrParamRequired("AlarmModelName")) + } + if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1)) + } + if s.AlarmRule == nil { + invalidParams.Add(request.NewErrParamRequired("AlarmRule")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.RoleArn != nil && len(*s.RoleArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) + } + if s.AlarmCapabilities != nil { + if err := s.AlarmCapabilities.Validate(); err != nil { + invalidParams.AddNested("AlarmCapabilities", err.(request.ErrInvalidParams)) + } + } + if s.AlarmEventActions != nil { + if err := s.AlarmEventActions.Validate(); err != nil { + invalidParams.AddNested("AlarmEventActions", err.(request.ErrInvalidParams)) + } + } + if s.AlarmNotification != nil { + if err := s.AlarmNotification.Validate(); err != nil { + invalidParams.AddNested("AlarmNotification", err.(request.ErrInvalidParams)) + } + } + if s.AlarmRule != nil { + if err := s.AlarmRule.Validate(); err != nil { + invalidParams.AddNested("AlarmRule", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlarmCapabilities sets the AlarmCapabilities field's value. +func (s *CreateAlarmModelInput) SetAlarmCapabilities(v *AlarmCapabilities) *CreateAlarmModelInput { + s.AlarmCapabilities = v + return s +} + +// SetAlarmEventActions sets the AlarmEventActions field's value. +func (s *CreateAlarmModelInput) SetAlarmEventActions(v *AlarmEventActions) *CreateAlarmModelInput { + s.AlarmEventActions = v + return s +} + +// SetAlarmModelDescription sets the AlarmModelDescription field's value. +func (s *CreateAlarmModelInput) SetAlarmModelDescription(v string) *CreateAlarmModelInput { + s.AlarmModelDescription = &v + return s +} + +// SetAlarmModelName sets the AlarmModelName field's value. +func (s *CreateAlarmModelInput) SetAlarmModelName(v string) *CreateAlarmModelInput { + s.AlarmModelName = &v + return s +} + +// SetAlarmNotification sets the AlarmNotification field's value. +func (s *CreateAlarmModelInput) SetAlarmNotification(v *AlarmNotification) *CreateAlarmModelInput { + s.AlarmNotification = v + return s +} + +// SetAlarmRule sets the AlarmRule field's value. +func (s *CreateAlarmModelInput) SetAlarmRule(v *AlarmRule) *CreateAlarmModelInput { + s.AlarmRule = v + return s +} + +// SetKey sets the Key field's value. +func (s *CreateAlarmModelInput) SetKey(v string) *CreateAlarmModelInput { + s.Key = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *CreateAlarmModelInput) SetRoleArn(v string) *CreateAlarmModelInput { + s.RoleArn = &v + return s } -// SetJsonPath sets the JsonPath field's value. -func (s *Attribute) SetJsonPath(v string) *Attribute { - s.JsonPath = &v +// SetSeverity sets the Severity field's value. +func (s *CreateAlarmModelInput) SetSeverity(v int64) *CreateAlarmModelInput { + s.Severity = &v return s } -// Information needed to clear the timer. -type ClearTimerAction struct { +// SetTags sets the Tags field's value. +func (s *CreateAlarmModelInput) SetTags(v []*Tag) *CreateAlarmModelInput { + s.Tags = v + return s +} + +type CreateAlarmModelOutput struct { _ struct{} `type:"structure"` - // The name of the timer to clear. + // The ARN of the alarm model. For more information, see Amazon Resource Names + // (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + AlarmModelArn *string `locationName:"alarmModelArn" type:"string"` + + // The version of the alarm model. + AlarmModelVersion *string `locationName:"alarmModelVersion" min:"1" type:"string"` + + // The time the alarm model was created, in the Unix epoch format. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // The time the alarm model was last updated, in the Unix epoch format. + LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"` + + // The status of the alarm model. The status can be one of the following values: // - // TimerName is a required field - TimerName *string `locationName:"timerName" min:"1" type:"string" required:"true"` + // * ACTIVE - The alarm model is active and it's ready to evaluate data. + // + // * ACTIVATING - AWS IoT Events is activating your alarm model. Activating + // an alarm model can take up to a few minutes. + // + // * INACTIVE - The alarm model is inactive, so it isn't ready to evaluate + // data. Check your alarm model information and update the alarm model. + // + // * FAILED - You couldn't create or update the alarm model. Check your alarm + // model information and try again. + Status *string `locationName:"status" type:"string" enum:"AlarmModelVersionStatus"` } // String returns the string representation -func (s ClearTimerAction) String() string { +func (s CreateAlarmModelOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ClearTimerAction) GoString() string { +func (s CreateAlarmModelOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ClearTimerAction) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ClearTimerAction"} - if s.TimerName == nil { - invalidParams.Add(request.NewErrParamRequired("TimerName")) - } - if s.TimerName != nil && len(*s.TimerName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TimerName", 1)) - } +// SetAlarmModelArn sets the AlarmModelArn field's value. +func (s *CreateAlarmModelOutput) SetAlarmModelArn(v string) *CreateAlarmModelOutput { + s.AlarmModelArn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAlarmModelVersion sets the AlarmModelVersion field's value. +func (s *CreateAlarmModelOutput) SetAlarmModelVersion(v string) *CreateAlarmModelOutput { + s.AlarmModelVersion = &v + return s } -// SetTimerName sets the TimerName field's value. -func (s *ClearTimerAction) SetTimerName(v string) *ClearTimerAction { - s.TimerName = &v +// SetCreationTime sets the CreationTime field's value. +func (s *CreateAlarmModelOutput) SetCreationTime(v time.Time) *CreateAlarmModelOutput { + s.CreationTime = &v + return s +} + +// SetLastUpdateTime sets the LastUpdateTime field's value. +func (s *CreateAlarmModelOutput) SetLastUpdateTime(v time.Time) *CreateAlarmModelOutput { + s.LastUpdateTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateAlarmModelOutput) SetStatus(v string) *CreateAlarmModelOutput { + s.Status = &v return s } @@ -2778,114 +4310,388 @@ func (s *CreateInputOutput) SetInputConfiguration(v *InputConfiguration) *Create return s } -type DeleteDetectorModelInput struct { - _ struct{} `type:"structure"` +type DeleteAlarmModelInput struct { + _ struct{} `type:"structure"` + + // The name of the alarm model. + // + // AlarmModelName is a required field + AlarmModelName *string `location:"uri" locationName:"alarmModelName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteAlarmModelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAlarmModelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAlarmModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAlarmModelInput"} + if s.AlarmModelName == nil { + invalidParams.Add(request.NewErrParamRequired("AlarmModelName")) + } + if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlarmModelName sets the AlarmModelName field's value. +func (s *DeleteAlarmModelInput) SetAlarmModelName(v string) *DeleteAlarmModelInput { + s.AlarmModelName = &v + return s +} + +type DeleteAlarmModelOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteAlarmModelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAlarmModelOutput) GoString() string { + return s.String() +} + +type DeleteDetectorModelInput struct { + _ struct{} `type:"structure"` + + // The name of the detector model to be deleted. + // + // DetectorModelName is a required field + DetectorModelName *string `location:"uri" locationName:"detectorModelName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteDetectorModelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDetectorModelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDetectorModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDetectorModelInput"} + if s.DetectorModelName == nil { + invalidParams.Add(request.NewErrParamRequired("DetectorModelName")) + } + if s.DetectorModelName != nil && len(*s.DetectorModelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DetectorModelName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDetectorModelName sets the DetectorModelName field's value. +func (s *DeleteDetectorModelInput) SetDetectorModelName(v string) *DeleteDetectorModelInput { + s.DetectorModelName = &v + return s +} + +type DeleteDetectorModelOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDetectorModelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDetectorModelOutput) GoString() string { + return s.String() +} + +type DeleteInputInput struct { + _ struct{} `type:"structure"` + + // The name of the input to delete. + // + // InputName is a required field + InputName *string `location:"uri" locationName:"inputName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteInputInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteInputInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteInputInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteInputInput"} + if s.InputName == nil { + invalidParams.Add(request.NewErrParamRequired("InputName")) + } + if s.InputName != nil && len(*s.InputName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputName sets the InputName field's value. +func (s *DeleteInputInput) SetInputName(v string) *DeleteInputInput { + s.InputName = &v + return s +} + +type DeleteInputOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteInputOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteInputOutput) GoString() string { + return s.String() +} + +type DescribeAlarmModelInput struct { + _ struct{} `type:"structure"` + + // The name of the alarm model. + // + // AlarmModelName is a required field + AlarmModelName *string `location:"uri" locationName:"alarmModelName" min:"1" type:"string" required:"true"` + + // The version of the alarm model. + AlarmModelVersion *string `location:"querystring" locationName:"version" min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeAlarmModelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAlarmModelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAlarmModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAlarmModelInput"} + if s.AlarmModelName == nil { + invalidParams.Add(request.NewErrParamRequired("AlarmModelName")) + } + if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1)) + } + if s.AlarmModelVersion != nil && len(*s.AlarmModelVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlarmModelVersion", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlarmModelName sets the AlarmModelName field's value. +func (s *DescribeAlarmModelInput) SetAlarmModelName(v string) *DescribeAlarmModelInput { + s.AlarmModelName = &v + return s +} + +// SetAlarmModelVersion sets the AlarmModelVersion field's value. +func (s *DescribeAlarmModelInput) SetAlarmModelVersion(v string) *DescribeAlarmModelInput { + s.AlarmModelVersion = &v + return s +} + +type DescribeAlarmModelOutput struct { + _ struct{} `type:"structure"` + + // Contains the configuration information of alarm state changes. + AlarmCapabilities *AlarmCapabilities `locationName:"alarmCapabilities" type:"structure"` + + // Contains information about one or more alarm actions. + AlarmEventActions *AlarmEventActions `locationName:"alarmEventActions" type:"structure"` + + // The ARN of the alarm model. For more information, see Amazon Resource Names + // (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + AlarmModelArn *string `locationName:"alarmModelArn" type:"string"` + + // The description of the alarm model. + AlarmModelDescription *string `locationName:"alarmModelDescription" type:"string"` + + // The name of the alarm model. + AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string"` + + // The version of the alarm model. + AlarmModelVersion *string `locationName:"alarmModelVersion" min:"1" type:"string"` + + // Contains information about one or more notification actions. + AlarmNotification *AlarmNotification `locationName:"alarmNotification" type:"structure"` + + // Defines when your alarm is invoked. + AlarmRule *AlarmRule `locationName:"alarmRule" type:"structure"` + + // The time the alarm model was created, in the Unix epoch format. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // An input attribute used as a key to create an alarm. AWS IoT Events routes + // inputs (https://docs.aws.amazon.com/iotevents/latest/apireference/API_Input.html) + // associated with this key to the alarm. + Key *string `locationName:"key" min:"1" type:"string"` + + // The time the alarm model was last updated, in the Unix epoch format. + LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"` + + // The ARN of the IAM role that allows the alarm to perform actions and access + // AWS resources. For more information, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + RoleArn *string `locationName:"roleArn" min:"1" type:"string"` - // The name of the detector model to be deleted. + // A non-negative integer that reflects the severity level of the alarm. + Severity *int64 `locationName:"severity" type:"integer"` + + // The status of the alarm model. The status can be one of the following values: // - // DetectorModelName is a required field - DetectorModelName *string `location:"uri" locationName:"detectorModelName" min:"1" type:"string" required:"true"` + // * ACTIVE - The alarm model is active and it's ready to evaluate data. + // + // * ACTIVATING - AWS IoT Events is activating your alarm model. Activating + // an alarm model can take up to a few minutes. + // + // * INACTIVE - The alarm model is inactive, so it isn't ready to evaluate + // data. Check your alarm model information and update the alarm model. + // + // * FAILED - You couldn't create or update the alarm model. Check your alarm + // model information and try again. + Status *string `locationName:"status" type:"string" enum:"AlarmModelVersionStatus"` + + // Contains information about the status of the alarm model. + StatusMessage *string `locationName:"statusMessage" type:"string"` } // String returns the string representation -func (s DeleteDetectorModelInput) String() string { +func (s DescribeAlarmModelOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDetectorModelInput) GoString() string { +func (s DescribeAlarmModelOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteDetectorModelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteDetectorModelInput"} - if s.DetectorModelName == nil { - invalidParams.Add(request.NewErrParamRequired("DetectorModelName")) - } - if s.DetectorModelName != nil && len(*s.DetectorModelName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DetectorModelName", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAlarmCapabilities sets the AlarmCapabilities field's value. +func (s *DescribeAlarmModelOutput) SetAlarmCapabilities(v *AlarmCapabilities) *DescribeAlarmModelOutput { + s.AlarmCapabilities = v + return s } -// SetDetectorModelName sets the DetectorModelName field's value. -func (s *DeleteDetectorModelInput) SetDetectorModelName(v string) *DeleteDetectorModelInput { - s.DetectorModelName = &v +// SetAlarmEventActions sets the AlarmEventActions field's value. +func (s *DescribeAlarmModelOutput) SetAlarmEventActions(v *AlarmEventActions) *DescribeAlarmModelOutput { + s.AlarmEventActions = v return s } -type DeleteDetectorModelOutput struct { - _ struct{} `type:"structure"` +// SetAlarmModelArn sets the AlarmModelArn field's value. +func (s *DescribeAlarmModelOutput) SetAlarmModelArn(v string) *DescribeAlarmModelOutput { + s.AlarmModelArn = &v + return s } -// String returns the string representation -func (s DeleteDetectorModelOutput) String() string { - return awsutil.Prettify(s) +// SetAlarmModelDescription sets the AlarmModelDescription field's value. +func (s *DescribeAlarmModelOutput) SetAlarmModelDescription(v string) *DescribeAlarmModelOutput { + s.AlarmModelDescription = &v + return s } -// GoString returns the string representation -func (s DeleteDetectorModelOutput) GoString() string { - return s.String() +// SetAlarmModelName sets the AlarmModelName field's value. +func (s *DescribeAlarmModelOutput) SetAlarmModelName(v string) *DescribeAlarmModelOutput { + s.AlarmModelName = &v + return s } -type DeleteInputInput struct { - _ struct{} `type:"structure"` +// SetAlarmModelVersion sets the AlarmModelVersion field's value. +func (s *DescribeAlarmModelOutput) SetAlarmModelVersion(v string) *DescribeAlarmModelOutput { + s.AlarmModelVersion = &v + return s +} - // The name of the input to delete. - // - // InputName is a required field - InputName *string `location:"uri" locationName:"inputName" min:"1" type:"string" required:"true"` +// SetAlarmNotification sets the AlarmNotification field's value. +func (s *DescribeAlarmModelOutput) SetAlarmNotification(v *AlarmNotification) *DescribeAlarmModelOutput { + s.AlarmNotification = v + return s } -// String returns the string representation -func (s DeleteInputInput) String() string { - return awsutil.Prettify(s) +// SetAlarmRule sets the AlarmRule field's value. +func (s *DescribeAlarmModelOutput) SetAlarmRule(v *AlarmRule) *DescribeAlarmModelOutput { + s.AlarmRule = v + return s } -// GoString returns the string representation -func (s DeleteInputInput) GoString() string { - return s.String() +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeAlarmModelOutput) SetCreationTime(v time.Time) *DescribeAlarmModelOutput { + s.CreationTime = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteInputInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteInputInput"} - if s.InputName == nil { - invalidParams.Add(request.NewErrParamRequired("InputName")) - } - if s.InputName != nil && len(*s.InputName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("InputName", 1)) - } +// SetKey sets the Key field's value. +func (s *DescribeAlarmModelOutput) SetKey(v string) *DescribeAlarmModelOutput { + s.Key = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetLastUpdateTime sets the LastUpdateTime field's value. +func (s *DescribeAlarmModelOutput) SetLastUpdateTime(v time.Time) *DescribeAlarmModelOutput { + s.LastUpdateTime = &v + return s } -// SetInputName sets the InputName field's value. -func (s *DeleteInputInput) SetInputName(v string) *DeleteInputInput { - s.InputName = &v +// SetRoleArn sets the RoleArn field's value. +func (s *DescribeAlarmModelOutput) SetRoleArn(v string) *DescribeAlarmModelOutput { + s.RoleArn = &v return s } -type DeleteInputOutput struct { - _ struct{} `type:"structure"` +// SetSeverity sets the Severity field's value. +func (s *DescribeAlarmModelOutput) SetSeverity(v int64) *DescribeAlarmModelOutput { + s.Severity = &v + return s } -// String returns the string representation -func (s DeleteInputOutput) String() string { - return awsutil.Prettify(s) +// SetStatus sets the Status field's value. +func (s *DescribeAlarmModelOutput) SetStatus(v string) *DescribeAlarmModelOutput { + s.Status = &v + return s } -// GoString returns the string representation -func (s DeleteInputOutput) GoString() string { - return s.String() +// SetStatusMessage sets the StatusMessage field's value. +func (s *DescribeAlarmModelOutput) SetStatusMessage(v string) *DescribeAlarmModelOutput { + s.StatusMessage = &v + return s } type DescribeDetectorModelAnalysisInput struct { @@ -2938,7 +4744,7 @@ type DescribeDetectorModelAnalysisOutput struct { // * RUNNING - AWS IoT Events is analyzing your detector model. This process // can take several minutes to complete. // - // * COMPLETE - AWS IoT Events finished analyzing your detector model . + // * COMPLETE - AWS IoT Events finished analyzing your detector model. // // * FAILED - AWS IoT Events couldn't analyze your detector model. Try again // later. @@ -3844,6 +5650,161 @@ func (s *DynamoDBv2Action) SetTableName(v string) *DynamoDBv2Action { return s } +// Contains the configuration information of email notifications. +type EmailConfiguration struct { + _ struct{} `type:"structure"` + + // Contains the subject and message of an email. + Content *EmailContent `locationName:"content" type:"structure"` + + // The email address that sends emails. + // + // If you use the AWS IoT Events managed AWS Lambda function to manage your + // emails, you must verify the email address that sends emails in Amazon SES + // (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html). + // + // From is a required field + From *string `locationName:"from" type:"string" required:"true"` + + // Contains the information of one or more recipients who receive the emails. + // + // You must add the users that receive emails to your AWS SSO store (https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html). + // + // Recipients is a required field + Recipients *EmailRecipients `locationName:"recipients" type:"structure" required:"true"` +} + +// String returns the string representation +func (s EmailConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EmailConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EmailConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EmailConfiguration"} + if s.From == nil { + invalidParams.Add(request.NewErrParamRequired("From")) + } + if s.Recipients == nil { + invalidParams.Add(request.NewErrParamRequired("Recipients")) + } + if s.Recipients != nil { + if err := s.Recipients.Validate(); err != nil { + invalidParams.AddNested("Recipients", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContent sets the Content field's value. +func (s *EmailConfiguration) SetContent(v *EmailContent) *EmailConfiguration { + s.Content = v + return s +} + +// SetFrom sets the From field's value. +func (s *EmailConfiguration) SetFrom(v string) *EmailConfiguration { + s.From = &v + return s +} + +// SetRecipients sets the Recipients field's value. +func (s *EmailConfiguration) SetRecipients(v *EmailRecipients) *EmailConfiguration { + s.Recipients = v + return s +} + +// Contains the subject and message of an email. +type EmailContent struct { + _ struct{} `type:"structure"` + + // The message that you want to send. The message can be up to 200 characters. + AdditionalMessage *string `locationName:"additionalMessage" type:"string"` + + // The subject of the email. + Subject *string `locationName:"subject" type:"string"` +} + +// String returns the string representation +func (s EmailContent) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EmailContent) GoString() string { + return s.String() +} + +// SetAdditionalMessage sets the AdditionalMessage field's value. +func (s *EmailContent) SetAdditionalMessage(v string) *EmailContent { + s.AdditionalMessage = &v + return s +} + +// SetSubject sets the Subject field's value. +func (s *EmailContent) SetSubject(v string) *EmailContent { + s.Subject = &v + return s +} + +// Contains the information of one or more recipients who receive the emails. +// +// You must add the users that receive emails to your AWS SSO store (https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html). +type EmailRecipients struct { + _ struct{} `type:"structure"` + + // Specifies one or more recipients who receive the email. + To []*RecipientDetail `locationName:"to" min:"1" type:"list"` +} + +// String returns the string representation +func (s EmailRecipients) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EmailRecipients) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EmailRecipients) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EmailRecipients"} + if s.To != nil && len(s.To) < 1 { + invalidParams.Add(request.NewErrParamMinLen("To", 1)) + } + if s.To != nil { + for i, v := range s.To { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "To", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTo sets the To field's value. +func (s *EmailRecipients) SetTo(v []*RecipientDetail) *EmailRecipients { + s.To = v + return s +} + // Specifies the actions to be performed when the condition evaluates to TRUE. type Event struct { _ struct{} `type:"structure"` @@ -4071,6 +6032,47 @@ func (s *GetDetectorModelAnalysisResultsOutput) SetNextToken(v string) *GetDetec return s } +// Specifies the default alarm state. The configuration applies to all alarms +// that were created based on this alarm model. +type InitializationConfiguration struct { + _ struct{} `type:"structure"` + + // The value must be TRUE or FALSE. If FALSE, all alarm instances created based + // on the alarm model are activated. The default value is TRUE. + // + // DisabledOnInitialization is a required field + DisabledOnInitialization *bool `locationName:"disabledOnInitialization" type:"boolean" required:"true"` +} + +// String returns the string representation +func (s InitializationConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InitializationConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InitializationConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InitializationConfiguration"} + if s.DisabledOnInitialization == nil { + invalidParams.Add(request.NewErrParamRequired("DisabledOnInitialization")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDisabledOnInitialization sets the DisabledOnInitialization field's value. +func (s *InitializationConfiguration) SetDisabledOnInitialization(v bool) *InitializationConfiguration { + s.DisabledOnInitialization = &v + return s +} + // Information about the input. type Input struct { _ struct{} `type:"structure"` @@ -4198,32 +6200,79 @@ type InputDefinition struct { } // String returns the string representation -func (s InputDefinition) String() string { +func (s InputDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InputDefinition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InputDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputDefinition"} + if s.Attributes == nil { + invalidParams.Add(request.NewErrParamRequired("Attributes")) + } + if s.Attributes != nil && len(s.Attributes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Attributes", 1)) + } + if s.Attributes != nil { + for i, v := range s.Attributes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttributes sets the Attributes field's value. +func (s *InputDefinition) SetAttributes(v []*Attribute) *InputDefinition { + s.Attributes = v + return s +} + +// The identifer of the input. +type InputIdentifier struct { + _ struct{} `type:"structure"` + + // The identifier of the input routed to AWS IoT Events. + IotEventsInputIdentifier *IotEventsInputIdentifier `locationName:"iotEventsInputIdentifier" type:"structure"` + + // The identifer of the input routed from AWS IoT SiteWise. + IotSiteWiseInputIdentifier *IotSiteWiseInputIdentifier `locationName:"iotSiteWiseInputIdentifier" type:"structure"` +} + +// String returns the string representation +func (s InputIdentifier) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InputDefinition) GoString() string { +func (s InputIdentifier) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *InputDefinition) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "InputDefinition"} - if s.Attributes == nil { - invalidParams.Add(request.NewErrParamRequired("Attributes")) - } - if s.Attributes != nil && len(s.Attributes) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Attributes", 1)) +func (s *InputIdentifier) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InputIdentifier"} + if s.IotEventsInputIdentifier != nil { + if err := s.IotEventsInputIdentifier.Validate(); err != nil { + invalidParams.AddNested("IotEventsInputIdentifier", err.(request.ErrInvalidParams)) + } } - if s.Attributes != nil { - for i, v := range s.Attributes { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) - } + if s.IotSiteWiseInputIdentifier != nil { + if err := s.IotSiteWiseInputIdentifier.Validate(); err != nil { + invalidParams.AddNested("IotSiteWiseInputIdentifier", err.(request.ErrInvalidParams)) } } @@ -4233,9 +6282,15 @@ func (s *InputDefinition) Validate() error { return nil } -// SetAttributes sets the Attributes field's value. -func (s *InputDefinition) SetAttributes(v []*Attribute) *InputDefinition { - s.Attributes = v +// SetIotEventsInputIdentifier sets the IotEventsInputIdentifier field's value. +func (s *InputIdentifier) SetIotEventsInputIdentifier(v *IotEventsInputIdentifier) *InputIdentifier { + s.IotEventsInputIdentifier = v + return s +} + +// SetIotSiteWiseInputIdentifier sets the IotSiteWiseInputIdentifier field's value. +func (s *InputIdentifier) SetIotSiteWiseInputIdentifier(v *IotSiteWiseInputIdentifier) *InputIdentifier { + s.IotSiteWiseInputIdentifier = v return s } @@ -4422,6 +6477,48 @@ func (s *InvalidRequestException) RequestID() string { return s.RespMetadata.RequestID } +// The identifier of the input routed to AWS IoT Events. +type IotEventsInputIdentifier struct { + _ struct{} `type:"structure"` + + // The name of the input routed to AWS IoT Events. + // + // InputName is a required field + InputName *string `locationName:"inputName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s IotEventsInputIdentifier) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IotEventsInputIdentifier) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IotEventsInputIdentifier) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IotEventsInputIdentifier"} + if s.InputName == nil { + invalidParams.Add(request.NewErrParamRequired("InputName")) + } + if s.InputName != nil && len(*s.InputName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputName sets the InputName field's value. +func (s *IotEventsInputIdentifier) SetInputName(v string) *IotEventsInputIdentifier { + s.InputName = &v + return s +} + // Sends information about the detector model instance and the event that triggered // the action to a specified asset property in AWS IoT SiteWise. // @@ -4467,9 +6564,7 @@ type IotSiteWiseAction struct { // The value to send to the asset property. This value contains timestamp, quality, // and value (TQV) information. - // - // PropertyValue is a required field - PropertyValue *AssetPropertyValue `locationName:"propertyValue" type:"structure" required:"true"` + PropertyValue *AssetPropertyValue `locationName:"propertyValue" type:"structure"` } // String returns the string representation @@ -4485,9 +6580,6 @@ func (s IotSiteWiseAction) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *IotSiteWiseAction) Validate() error { invalidParams := request.ErrInvalidParams{Context: "IotSiteWiseAction"} - if s.PropertyValue == nil { - invalidParams.Add(request.NewErrParamRequired("PropertyValue")) - } if s.PropertyValue != nil { if err := s.PropertyValue.Validate(); err != nil { invalidParams.AddNested("PropertyValue", err.(request.ErrInvalidParams)) @@ -4530,6 +6622,98 @@ func (s *IotSiteWiseAction) SetPropertyValue(v *AssetPropertyValue) *IotSiteWise return s } +// The asset model property identifer of the input routed from AWS IoT SiteWise. +type IotSiteWiseAssetModelPropertyIdentifier struct { + _ struct{} `type:"structure"` + + // The ID of the AWS IoT SiteWise asset model. + // + // AssetModelId is a required field + AssetModelId *string `locationName:"assetModelId" type:"string" required:"true"` + + // The ID of the AWS IoT SiteWise asset property. + // + // PropertyId is a required field + PropertyId *string `locationName:"propertyId" type:"string" required:"true"` +} + +// String returns the string representation +func (s IotSiteWiseAssetModelPropertyIdentifier) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IotSiteWiseAssetModelPropertyIdentifier) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IotSiteWiseAssetModelPropertyIdentifier) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IotSiteWiseAssetModelPropertyIdentifier"} + if s.AssetModelId == nil { + invalidParams.Add(request.NewErrParamRequired("AssetModelId")) + } + if s.PropertyId == nil { + invalidParams.Add(request.NewErrParamRequired("PropertyId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssetModelId sets the AssetModelId field's value. +func (s *IotSiteWiseAssetModelPropertyIdentifier) SetAssetModelId(v string) *IotSiteWiseAssetModelPropertyIdentifier { + s.AssetModelId = &v + return s +} + +// SetPropertyId sets the PropertyId field's value. +func (s *IotSiteWiseAssetModelPropertyIdentifier) SetPropertyId(v string) *IotSiteWiseAssetModelPropertyIdentifier { + s.PropertyId = &v + return s +} + +// The identifer of the input routed from AWS IoT SiteWise. +type IotSiteWiseInputIdentifier struct { + _ struct{} `type:"structure"` + + // The identifier of the AWS IoT SiteWise asset model property. + IotSiteWiseAssetModelPropertyIdentifier *IotSiteWiseAssetModelPropertyIdentifier `locationName:"iotSiteWiseAssetModelPropertyIdentifier" type:"structure"` +} + +// String returns the string representation +func (s IotSiteWiseInputIdentifier) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IotSiteWiseInputIdentifier) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IotSiteWiseInputIdentifier) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IotSiteWiseInputIdentifier"} + if s.IotSiteWiseAssetModelPropertyIdentifier != nil { + if err := s.IotSiteWiseAssetModelPropertyIdentifier.Validate(); err != nil { + invalidParams.AddNested("IotSiteWiseAssetModelPropertyIdentifier", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIotSiteWiseAssetModelPropertyIdentifier sets the IotSiteWiseAssetModelPropertyIdentifier field's value. +func (s *IotSiteWiseInputIdentifier) SetIotSiteWiseAssetModelPropertyIdentifier(v *IotSiteWiseAssetModelPropertyIdentifier) *IotSiteWiseInputIdentifier { + s.IotSiteWiseAssetModelPropertyIdentifier = v + return s +} + // Information required to publish the MQTT message through the AWS IoT message // broker. type IotTopicPublishAction struct { @@ -4695,14 +6879,187 @@ func (s *LimitExceededException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// Status code returns the HTTP status code for the request's response error. -func (s *LimitExceededException) StatusCode() int { - return s.RespMetadata.StatusCode +// Status code returns the HTTP status code for the request's response error. +func (s *LimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *LimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListAlarmModelVersionsInput struct { + _ struct{} `type:"structure"` + + // The name of the alarm model. + // + // AlarmModelName is a required field + AlarmModelName *string `location:"uri" locationName:"alarmModelName" min:"1" type:"string" required:"true"` + + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token that you can use to return the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListAlarmModelVersionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAlarmModelVersionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAlarmModelVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAlarmModelVersionsInput"} + if s.AlarmModelName == nil { + invalidParams.Add(request.NewErrParamRequired("AlarmModelName")) + } + if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlarmModelName sets the AlarmModelName field's value. +func (s *ListAlarmModelVersionsInput) SetAlarmModelName(v string) *ListAlarmModelVersionsInput { + s.AlarmModelName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListAlarmModelVersionsInput) SetMaxResults(v int64) *ListAlarmModelVersionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAlarmModelVersionsInput) SetNextToken(v string) *ListAlarmModelVersionsInput { + s.NextToken = &v + return s +} + +type ListAlarmModelVersionsOutput struct { + _ struct{} `type:"structure"` + + // A list that summarizes each alarm model version. + AlarmModelVersionSummaries []*AlarmModelVersionSummary `locationName:"alarmModelVersionSummaries" type:"list"` + + // The token that you can use to return the next set of results, or null if + // there are no more results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListAlarmModelVersionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAlarmModelVersionsOutput) GoString() string { + return s.String() +} + +// SetAlarmModelVersionSummaries sets the AlarmModelVersionSummaries field's value. +func (s *ListAlarmModelVersionsOutput) SetAlarmModelVersionSummaries(v []*AlarmModelVersionSummary) *ListAlarmModelVersionsOutput { + s.AlarmModelVersionSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAlarmModelVersionsOutput) SetNextToken(v string) *ListAlarmModelVersionsOutput { + s.NextToken = &v + return s +} + +type ListAlarmModelsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token that you can use to return the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListAlarmModelsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAlarmModelsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAlarmModelsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAlarmModelsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListAlarmModelsInput) SetMaxResults(v int64) *ListAlarmModelsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAlarmModelsInput) SetNextToken(v string) *ListAlarmModelsInput { + s.NextToken = &v + return s +} + +type ListAlarmModelsOutput struct { + _ struct{} `type:"structure"` + + // A list that summarizes each alarm model. + AlarmModelSummaries []*AlarmModelSummary `locationName:"alarmModelSummaries" type:"list"` + + // The token that you can use to return the next set of results, or null if + // there are no more results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListAlarmModelsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAlarmModelsOutput) GoString() string { + return s.String() +} + +// SetAlarmModelSummaries sets the AlarmModelSummaries field's value. +func (s *ListAlarmModelsOutput) SetAlarmModelSummaries(v []*AlarmModelSummary) *ListAlarmModelsOutput { + s.AlarmModelSummaries = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *LimitExceededException) RequestID() string { - return s.RespMetadata.RequestID +// SetNextToken sets the NextToken field's value. +func (s *ListAlarmModelsOutput) SetNextToken(v string) *ListAlarmModelsOutput { + s.NextToken = &v + return s } type ListDetectorModelVersionsInput struct { @@ -4878,6 +7235,103 @@ func (s *ListDetectorModelsOutput) SetNextToken(v string) *ListDetectorModelsOut return s } +type ListInputRoutingsInput struct { + _ struct{} `type:"structure"` + + // The identifer of the routed input. + // + // InputIdentifier is a required field + InputIdentifier *InputIdentifier `locationName:"inputIdentifier" type:"structure" required:"true"` + + // The maximum number of results to be returned per request. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token that you can use to return the next set of results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListInputRoutingsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListInputRoutingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListInputRoutingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListInputRoutingsInput"} + if s.InputIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("InputIdentifier")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.InputIdentifier != nil { + if err := s.InputIdentifier.Validate(); err != nil { + invalidParams.AddNested("InputIdentifier", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputIdentifier sets the InputIdentifier field's value. +func (s *ListInputRoutingsInput) SetInputIdentifier(v *InputIdentifier) *ListInputRoutingsInput { + s.InputIdentifier = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListInputRoutingsInput) SetMaxResults(v int64) *ListInputRoutingsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListInputRoutingsInput) SetNextToken(v string) *ListInputRoutingsInput { + s.NextToken = &v + return s +} + +type ListInputRoutingsOutput struct { + _ struct{} `type:"structure"` + + // The token that you can use to return the next set of results, or null if + // there are no more results. + NextToken *string `locationName:"nextToken" type:"string"` + + // Summary information about the routed resources. + RoutedResources []*RoutedResource `locationName:"routedResources" type:"list"` +} + +// String returns the string representation +func (s ListInputRoutingsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListInputRoutingsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListInputRoutingsOutput) SetNextToken(v string) *ListInputRoutingsOutput { + s.NextToken = &v + return s +} + +// SetRoutedResources sets the RoutedResources field's value. +func (s *ListInputRoutingsOutput) SetRoutedResources(v []*RoutedResource) *ListInputRoutingsOutput { + s.RoutedResources = v + return s +} + type ListInputsInput struct { _ struct{} `type:"structure"` @@ -5113,6 +7567,137 @@ func (s *LoggingOptions) SetRoleArn(v string) *LoggingOptions { return s } +// Contains the notification settings of an alarm model. The settings apply +// to all alarms that were created based on this alarm model. +type NotificationAction struct { + _ struct{} `type:"structure"` + + // Specifies an AWS Lambda function to manage alarm notifications. You can create + // one or use the AWS Lambda function provided by AWS IoT Events (https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html). + // + // Action is a required field + Action *NotificationTargetActions `locationName:"action" type:"structure" required:"true"` + + // Contains the configuration information of email notifications. + EmailConfigurations []*EmailConfiguration `locationName:"emailConfigurations" min:"1" type:"list"` + + // Contains the configuration information of SMS notifications. + SmsConfigurations []*SMSConfiguration `locationName:"smsConfigurations" min:"1" type:"list"` +} + +// String returns the string representation +func (s NotificationAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NotificationAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *NotificationAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "NotificationAction"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.EmailConfigurations != nil && len(s.EmailConfigurations) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EmailConfigurations", 1)) + } + if s.SmsConfigurations != nil && len(s.SmsConfigurations) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SmsConfigurations", 1)) + } + if s.Action != nil { + if err := s.Action.Validate(); err != nil { + invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) + } + } + if s.EmailConfigurations != nil { + for i, v := range s.EmailConfigurations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EmailConfigurations", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SmsConfigurations != nil { + for i, v := range s.SmsConfigurations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SmsConfigurations", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAction sets the Action field's value. +func (s *NotificationAction) SetAction(v *NotificationTargetActions) *NotificationAction { + s.Action = v + return s +} + +// SetEmailConfigurations sets the EmailConfigurations field's value. +func (s *NotificationAction) SetEmailConfigurations(v []*EmailConfiguration) *NotificationAction { + s.EmailConfigurations = v + return s +} + +// SetSmsConfigurations sets the SmsConfigurations field's value. +func (s *NotificationAction) SetSmsConfigurations(v []*SMSConfiguration) *NotificationAction { + s.SmsConfigurations = v + return s +} + +// Specifies an AWS Lambda function to manage alarm notifications. You can create +// one or use the AWS Lambda function provided by AWS IoT Events (https://docs.aws.amazon.com/iotevents/latest/developerguide/lambda-support.html). +type NotificationTargetActions struct { + _ struct{} `type:"structure"` + + // Calls a Lambda function, passing in information about the detector model + // instance and the event that triggered the action. + LambdaAction *LambdaAction `locationName:"lambdaAction" type:"structure"` +} + +// String returns the string representation +func (s NotificationTargetActions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NotificationTargetActions) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *NotificationTargetActions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "NotificationTargetActions"} + if s.LambdaAction != nil { + if err := s.LambdaAction.Validate(); err != nil { + invalidParams.AddNested("LambdaAction", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLambdaAction sets the LambdaAction field's value. +func (s *NotificationTargetActions) SetLambdaAction(v *LambdaAction) *NotificationTargetActions { + s.LambdaAction = v + return s +} + // When entering this state, perform these actions if the condition is TRUE. type OnEnterLifecycle struct { _ struct{} `type:"structure"` @@ -5390,6 +7975,45 @@ func (s PutLoggingOptionsOutput) GoString() string { return s.String() } +// The information that identifies the recipient. +type RecipientDetail struct { + _ struct{} `type:"structure"` + + // The AWS Single Sign-On (AWS SSO) authentication information. + SsoIdentity *SSOIdentity `locationName:"ssoIdentity" type:"structure"` +} + +// String returns the string representation +func (s RecipientDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RecipientDetail) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RecipientDetail) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RecipientDetail"} + if s.SsoIdentity != nil { + if err := s.SsoIdentity.Validate(); err != nil { + invalidParams.AddNested("SsoIdentity", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSsoIdentity sets the SsoIdentity field's value. +func (s *RecipientDetail) SetSsoIdentity(v *SSOIdentity) *RecipientDetail { + s.SsoIdentity = v + return s +} + // Information required to reset the timer. The timer is reset to the previously // evaluated result of the duration. The duration expression isn't reevaluated // when you reset the timer. @@ -5559,56 +8183,163 @@ type ResourceNotFoundException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The message for the exception. - Message_ *string `locationName:"message" type:"string"` + // The message for the exception. + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceNotFoundException) GoString() string { + return s.String() +} + +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Contains information about the routed resource. +type RoutedResource struct { + _ struct{} `type:"structure"` + + // The ARN of the routed resource. For more information, see Amazon Resource + // Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + Arn *string `locationName:"arn" min:"1" type:"string"` + + // The name of the routed resource. + Name *string `locationName:"name" type:"string"` +} + +// String returns the string representation +func (s RoutedResource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RoutedResource) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *RoutedResource) SetArn(v string) *RoutedResource { + s.Arn = &v + return s +} + +// SetName sets the Name field's value. +func (s *RoutedResource) SetName(v string) *RoutedResource { + s.Name = &v + return s +} + +// Contains the configuration information of SMS notifications. +type SMSConfiguration struct { + _ struct{} `type:"structure"` + + // The message that you want to send. The message can be up to 200 characters. + AdditionalMessage *string `locationName:"additionalMessage" type:"string"` + + // Specifies one or more recipients who receive the message. + // + // You must add the users that receive SMS messages to your AWS SSO store (https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html). + // + // Recipients is a required field + Recipients []*RecipientDetail `locationName:"recipients" min:"1" type:"list" required:"true"` + + // The sender ID. + SenderId *string `locationName:"senderId" type:"string"` } // String returns the string representation -func (s ResourceNotFoundException) String() string { +func (s SMSConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResourceNotFoundException) GoString() string { +func (s SMSConfiguration) GoString() string { return s.String() } -func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { - return &ResourceNotFoundException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *SMSConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SMSConfiguration"} + if s.Recipients == nil { + invalidParams.Add(request.NewErrParamRequired("Recipients")) } -} - -// Code returns the exception type name. -func (s *ResourceNotFoundException) Code() string { - return "ResourceNotFoundException" -} - -// Message returns the exception's message. -func (s *ResourceNotFoundException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.Recipients != nil && len(s.Recipients) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Recipients", 1)) + } + if s.Recipients != nil { + for i, v := range s.Recipients { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Recipients", i), err.(request.ErrInvalidParams)) + } + } } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceNotFoundException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *ResourceNotFoundException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetAdditionalMessage sets the AdditionalMessage field's value. +func (s *SMSConfiguration) SetAdditionalMessage(v string) *SMSConfiguration { + s.AdditionalMessage = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceNotFoundException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetRecipients sets the Recipients field's value. +func (s *SMSConfiguration) SetRecipients(v []*RecipientDetail) *SMSConfiguration { + s.Recipients = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ResourceNotFoundException) RequestID() string { - return s.RespMetadata.RequestID +// SetSenderId sets the SenderId field's value. +func (s *SMSConfiguration) SetSenderId(v string) *SMSConfiguration { + s.SenderId = &v + return s } // Information required to publish the Amazon SNS message. @@ -5668,6 +8399,55 @@ func (s *SNSTopicPublishAction) SetTargetArn(v string) *SNSTopicPublishAction { return s } +// Contains information about your identity source in AWS Single Sign-On. For +// more information, see the AWS Single Sign-On User Guide (https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html). +type SSOIdentity struct { + _ struct{} `type:"structure"` + + // The ID of the AWS SSO identity store. + // + // IdentityStoreId is a required field + IdentityStoreId *string `locationName:"identityStoreId" type:"string" required:"true"` + + // The user ID. + UserId *string `locationName:"userId" type:"string"` +} + +// String returns the string representation +func (s SSOIdentity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SSOIdentity) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SSOIdentity) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SSOIdentity"} + if s.IdentityStoreId == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityStoreId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIdentityStoreId sets the IdentityStoreId field's value. +func (s *SSOIdentity) SetIdentityStoreId(v string) *SSOIdentity { + s.IdentityStoreId = &v + return s +} + +// SetUserId sets the UserId field's value. +func (s *SSOIdentity) SetUserId(v string) *SSOIdentity { + s.UserId = &v + return s +} + // The service is currently unavailable. type ServiceUnavailableException struct { _ struct{} `type:"structure"` @@ -5858,6 +8638,82 @@ func (s *SetVariableAction) SetVariableName(v string) *SetVariableAction { return s } +// A rule that compares an input property value to a threshold value with a +// comparison operator. +type SimpleRule struct { + _ struct{} `type:"structure"` + + // The comparison operator. + // + // ComparisonOperator is a required field + ComparisonOperator *string `locationName:"comparisonOperator" type:"string" required:"true" enum:"ComparisonOperator"` + + // The value on the left side of the comparison operator. You can specify an + // AWS IoT Events input attribute as an input property. + // + // InputProperty is a required field + InputProperty *string `locationName:"inputProperty" min:"1" type:"string" required:"true"` + + // The value on the right side of the comparison operator. You can enter a number + // or specify an AWS IoT Events input attribute. + // + // Threshold is a required field + Threshold *string `locationName:"threshold" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s SimpleRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SimpleRule) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SimpleRule) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SimpleRule"} + if s.ComparisonOperator == nil { + invalidParams.Add(request.NewErrParamRequired("ComparisonOperator")) + } + if s.InputProperty == nil { + invalidParams.Add(request.NewErrParamRequired("InputProperty")) + } + if s.InputProperty != nil && len(*s.InputProperty) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputProperty", 1)) + } + if s.Threshold == nil { + invalidParams.Add(request.NewErrParamRequired("Threshold")) + } + if s.Threshold != nil && len(*s.Threshold) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Threshold", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComparisonOperator sets the ComparisonOperator field's value. +func (s *SimpleRule) SetComparisonOperator(v string) *SimpleRule { + s.ComparisonOperator = &v + return s +} + +// SetInputProperty sets the InputProperty field's value. +func (s *SimpleRule) SetInputProperty(v string) *SimpleRule { + s.InputProperty = &v + return s +} + +// SetThreshold sets the Threshold field's value. +func (s *SimpleRule) SetThreshold(v string) *SimpleRule { + s.Threshold = &v + return s +} + // Sends information about the detector model instance and the event that triggered // the action to an Amazon SQS queue. type SqsAction struct { @@ -6484,6 +9340,217 @@ func (s UntagResourceOutput) GoString() string { return s.String() } +type UpdateAlarmModelInput struct { + _ struct{} `type:"structure"` + + // Contains the configuration information of alarm state changes. + AlarmCapabilities *AlarmCapabilities `locationName:"alarmCapabilities" type:"structure"` + + // Contains information about one or more alarm actions. + AlarmEventActions *AlarmEventActions `locationName:"alarmEventActions" type:"structure"` + + // The description of the alarm model. + AlarmModelDescription *string `locationName:"alarmModelDescription" type:"string"` + + // The name of the alarm model. + // + // AlarmModelName is a required field + AlarmModelName *string `location:"uri" locationName:"alarmModelName" min:"1" type:"string" required:"true"` + + // Contains information about one or more notification actions. + AlarmNotification *AlarmNotification `locationName:"alarmNotification" type:"structure"` + + // Defines when your alarm is invoked. + // + // AlarmRule is a required field + AlarmRule *AlarmRule `locationName:"alarmRule" type:"structure" required:"true"` + + // The ARN of the IAM role that allows the alarm to perform actions and access + // AWS resources. For more information, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" min:"1" type:"string" required:"true"` + + // A non-negative integer that reflects the severity level of the alarm. + Severity *int64 `locationName:"severity" type:"integer"` +} + +// String returns the string representation +func (s UpdateAlarmModelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAlarmModelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateAlarmModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAlarmModelInput"} + if s.AlarmModelName == nil { + invalidParams.Add(request.NewErrParamRequired("AlarmModelName")) + } + if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1)) + } + if s.AlarmRule == nil { + invalidParams.Add(request.NewErrParamRequired("AlarmRule")) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.RoleArn != nil && len(*s.RoleArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) + } + if s.AlarmCapabilities != nil { + if err := s.AlarmCapabilities.Validate(); err != nil { + invalidParams.AddNested("AlarmCapabilities", err.(request.ErrInvalidParams)) + } + } + if s.AlarmEventActions != nil { + if err := s.AlarmEventActions.Validate(); err != nil { + invalidParams.AddNested("AlarmEventActions", err.(request.ErrInvalidParams)) + } + } + if s.AlarmNotification != nil { + if err := s.AlarmNotification.Validate(); err != nil { + invalidParams.AddNested("AlarmNotification", err.(request.ErrInvalidParams)) + } + } + if s.AlarmRule != nil { + if err := s.AlarmRule.Validate(); err != nil { + invalidParams.AddNested("AlarmRule", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlarmCapabilities sets the AlarmCapabilities field's value. +func (s *UpdateAlarmModelInput) SetAlarmCapabilities(v *AlarmCapabilities) *UpdateAlarmModelInput { + s.AlarmCapabilities = v + return s +} + +// SetAlarmEventActions sets the AlarmEventActions field's value. +func (s *UpdateAlarmModelInput) SetAlarmEventActions(v *AlarmEventActions) *UpdateAlarmModelInput { + s.AlarmEventActions = v + return s +} + +// SetAlarmModelDescription sets the AlarmModelDescription field's value. +func (s *UpdateAlarmModelInput) SetAlarmModelDescription(v string) *UpdateAlarmModelInput { + s.AlarmModelDescription = &v + return s +} + +// SetAlarmModelName sets the AlarmModelName field's value. +func (s *UpdateAlarmModelInput) SetAlarmModelName(v string) *UpdateAlarmModelInput { + s.AlarmModelName = &v + return s +} + +// SetAlarmNotification sets the AlarmNotification field's value. +func (s *UpdateAlarmModelInput) SetAlarmNotification(v *AlarmNotification) *UpdateAlarmModelInput { + s.AlarmNotification = v + return s +} + +// SetAlarmRule sets the AlarmRule field's value. +func (s *UpdateAlarmModelInput) SetAlarmRule(v *AlarmRule) *UpdateAlarmModelInput { + s.AlarmRule = v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *UpdateAlarmModelInput) SetRoleArn(v string) *UpdateAlarmModelInput { + s.RoleArn = &v + return s +} + +// SetSeverity sets the Severity field's value. +func (s *UpdateAlarmModelInput) SetSeverity(v int64) *UpdateAlarmModelInput { + s.Severity = &v + return s +} + +type UpdateAlarmModelOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the alarm model. For more information, see Amazon Resource Names + // (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the AWS General Reference. + AlarmModelArn *string `locationName:"alarmModelArn" type:"string"` + + // The version of the alarm model. + AlarmModelVersion *string `locationName:"alarmModelVersion" min:"1" type:"string"` + + // The time the alarm model was created, in the Unix epoch format. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // The time the alarm model was last updated, in the Unix epoch format. + LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"` + + // The status of the alarm model. The status can be one of the following values: + // + // * ACTIVE - The alarm model is active and it's ready to evaluate data. + // + // * ACTIVATING - AWS IoT Events is activating your alarm model. Activating + // an alarm model can take up to a few minutes. + // + // * INACTIVE - The alarm model is inactive, so it isn't ready to evaluate + // data. Check your alarm model information and update the alarm model. + // + // * FAILED - You couldn't create or update the alarm model. Check your alarm + // model information and try again. + Status *string `locationName:"status" type:"string" enum:"AlarmModelVersionStatus"` +} + +// String returns the string representation +func (s UpdateAlarmModelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAlarmModelOutput) GoString() string { + return s.String() +} + +// SetAlarmModelArn sets the AlarmModelArn field's value. +func (s *UpdateAlarmModelOutput) SetAlarmModelArn(v string) *UpdateAlarmModelOutput { + s.AlarmModelArn = &v + return s +} + +// SetAlarmModelVersion sets the AlarmModelVersion field's value. +func (s *UpdateAlarmModelOutput) SetAlarmModelVersion(v string) *UpdateAlarmModelOutput { + s.AlarmModelVersion = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *UpdateAlarmModelOutput) SetCreationTime(v time.Time) *UpdateAlarmModelOutput { + s.CreationTime = &v + return s +} + +// SetLastUpdateTime sets the LastUpdateTime field's value. +func (s *UpdateAlarmModelOutput) SetLastUpdateTime(v time.Time) *UpdateAlarmModelOutput { + s.LastUpdateTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *UpdateAlarmModelOutput) SetStatus(v string) *UpdateAlarmModelOutput { + s.Status = &v + return s +} + type UpdateDetectorModelInput struct { _ struct{} `type:"structure"` @@ -6696,6 +9763,30 @@ func (s *UpdateInputOutput) SetInputConfiguration(v *InputConfiguration) *Update return s } +const ( + // AlarmModelVersionStatusActive is a AlarmModelVersionStatus enum value + AlarmModelVersionStatusActive = "ACTIVE" + + // AlarmModelVersionStatusActivating is a AlarmModelVersionStatus enum value + AlarmModelVersionStatusActivating = "ACTIVATING" + + // AlarmModelVersionStatusInactive is a AlarmModelVersionStatus enum value + AlarmModelVersionStatusInactive = "INACTIVE" + + // AlarmModelVersionStatusFailed is a AlarmModelVersionStatus enum value + AlarmModelVersionStatusFailed = "FAILED" +) + +// AlarmModelVersionStatus_Values returns all elements of the AlarmModelVersionStatus enum +func AlarmModelVersionStatus_Values() []string { + return []string{ + AlarmModelVersionStatusActive, + AlarmModelVersionStatusActivating, + AlarmModelVersionStatusInactive, + AlarmModelVersionStatusFailed, + } +} + const ( // AnalysisResultLevelInfo is a AnalysisResultLevel enum value AnalysisResultLevelInfo = "INFO" @@ -6736,6 +9827,38 @@ func AnalysisStatus_Values() []string { } } +const ( + // ComparisonOperatorGreater is a ComparisonOperator enum value + ComparisonOperatorGreater = "GREATER" + + // ComparisonOperatorGreaterOrEqual is a ComparisonOperator enum value + ComparisonOperatorGreaterOrEqual = "GREATER_OR_EQUAL" + + // ComparisonOperatorLess is a ComparisonOperator enum value + ComparisonOperatorLess = "LESS" + + // ComparisonOperatorLessOrEqual is a ComparisonOperator enum value + ComparisonOperatorLessOrEqual = "LESS_OR_EQUAL" + + // ComparisonOperatorEqual is a ComparisonOperator enum value + ComparisonOperatorEqual = "EQUAL" + + // ComparisonOperatorNotEqual is a ComparisonOperator enum value + ComparisonOperatorNotEqual = "NOT_EQUAL" +) + +// ComparisonOperator_Values returns all elements of the ComparisonOperator enum +func ComparisonOperator_Values() []string { + return []string{ + ComparisonOperatorGreater, + ComparisonOperatorGreaterOrEqual, + ComparisonOperatorLess, + ComparisonOperatorLessOrEqual, + ComparisonOperatorEqual, + ComparisonOperatorNotEqual, + } +} + const ( // DetectorModelVersionStatusActive is a DetectorModelVersionStatus enum value DetectorModelVersionStatusActive = "ACTIVE" diff --git a/service/iotevents/ioteventsiface/interface.go b/service/iotevents/ioteventsiface/interface.go index ce229865706..33c71cb1dad 100644 --- a/service/iotevents/ioteventsiface/interface.go +++ b/service/iotevents/ioteventsiface/interface.go @@ -26,7 +26,7 @@ import ( // // myFunc uses an SDK service client to make a request to // // AWS IoT Events. // func myFunc(svc ioteventsiface.IoTEventsAPI) bool { -// // Make svc.CreateDetectorModel request +// // Make svc.CreateAlarmModel request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockIoTEventsClient struct { // ioteventsiface.IoTEventsAPI // } -// func (m *mockIoTEventsClient) CreateDetectorModel(input *iotevents.CreateDetectorModelInput) (*iotevents.CreateDetectorModelOutput, error) { +// func (m *mockIoTEventsClient) CreateAlarmModel(input *iotevents.CreateAlarmModelInput) (*iotevents.CreateAlarmModelOutput, error) { // // mock response/functionality // } // @@ -60,6 +60,10 @@ import ( // and waiters. Its suggested to use the pattern above for testing, or using // tooling to generate mocks to satisfy the interfaces. type IoTEventsAPI interface { + CreateAlarmModel(*iotevents.CreateAlarmModelInput) (*iotevents.CreateAlarmModelOutput, error) + CreateAlarmModelWithContext(aws.Context, *iotevents.CreateAlarmModelInput, ...request.Option) (*iotevents.CreateAlarmModelOutput, error) + CreateAlarmModelRequest(*iotevents.CreateAlarmModelInput) (*request.Request, *iotevents.CreateAlarmModelOutput) + CreateDetectorModel(*iotevents.CreateDetectorModelInput) (*iotevents.CreateDetectorModelOutput, error) CreateDetectorModelWithContext(aws.Context, *iotevents.CreateDetectorModelInput, ...request.Option) (*iotevents.CreateDetectorModelOutput, error) CreateDetectorModelRequest(*iotevents.CreateDetectorModelInput) (*request.Request, *iotevents.CreateDetectorModelOutput) @@ -68,6 +72,10 @@ type IoTEventsAPI interface { CreateInputWithContext(aws.Context, *iotevents.CreateInputInput, ...request.Option) (*iotevents.CreateInputOutput, error) CreateInputRequest(*iotevents.CreateInputInput) (*request.Request, *iotevents.CreateInputOutput) + DeleteAlarmModel(*iotevents.DeleteAlarmModelInput) (*iotevents.DeleteAlarmModelOutput, error) + DeleteAlarmModelWithContext(aws.Context, *iotevents.DeleteAlarmModelInput, ...request.Option) (*iotevents.DeleteAlarmModelOutput, error) + DeleteAlarmModelRequest(*iotevents.DeleteAlarmModelInput) (*request.Request, *iotevents.DeleteAlarmModelOutput) + DeleteDetectorModel(*iotevents.DeleteDetectorModelInput) (*iotevents.DeleteDetectorModelOutput, error) DeleteDetectorModelWithContext(aws.Context, *iotevents.DeleteDetectorModelInput, ...request.Option) (*iotevents.DeleteDetectorModelOutput, error) DeleteDetectorModelRequest(*iotevents.DeleteDetectorModelInput) (*request.Request, *iotevents.DeleteDetectorModelOutput) @@ -76,6 +84,10 @@ type IoTEventsAPI interface { DeleteInputWithContext(aws.Context, *iotevents.DeleteInputInput, ...request.Option) (*iotevents.DeleteInputOutput, error) DeleteInputRequest(*iotevents.DeleteInputInput) (*request.Request, *iotevents.DeleteInputOutput) + DescribeAlarmModel(*iotevents.DescribeAlarmModelInput) (*iotevents.DescribeAlarmModelOutput, error) + DescribeAlarmModelWithContext(aws.Context, *iotevents.DescribeAlarmModelInput, ...request.Option) (*iotevents.DescribeAlarmModelOutput, error) + DescribeAlarmModelRequest(*iotevents.DescribeAlarmModelInput) (*request.Request, *iotevents.DescribeAlarmModelOutput) + DescribeDetectorModel(*iotevents.DescribeDetectorModelInput) (*iotevents.DescribeDetectorModelOutput, error) DescribeDetectorModelWithContext(aws.Context, *iotevents.DescribeDetectorModelInput, ...request.Option) (*iotevents.DescribeDetectorModelOutput, error) DescribeDetectorModelRequest(*iotevents.DescribeDetectorModelInput) (*request.Request, *iotevents.DescribeDetectorModelOutput) @@ -96,6 +108,14 @@ type IoTEventsAPI interface { GetDetectorModelAnalysisResultsWithContext(aws.Context, *iotevents.GetDetectorModelAnalysisResultsInput, ...request.Option) (*iotevents.GetDetectorModelAnalysisResultsOutput, error) GetDetectorModelAnalysisResultsRequest(*iotevents.GetDetectorModelAnalysisResultsInput) (*request.Request, *iotevents.GetDetectorModelAnalysisResultsOutput) + ListAlarmModelVersions(*iotevents.ListAlarmModelVersionsInput) (*iotevents.ListAlarmModelVersionsOutput, error) + ListAlarmModelVersionsWithContext(aws.Context, *iotevents.ListAlarmModelVersionsInput, ...request.Option) (*iotevents.ListAlarmModelVersionsOutput, error) + ListAlarmModelVersionsRequest(*iotevents.ListAlarmModelVersionsInput) (*request.Request, *iotevents.ListAlarmModelVersionsOutput) + + ListAlarmModels(*iotevents.ListAlarmModelsInput) (*iotevents.ListAlarmModelsOutput, error) + ListAlarmModelsWithContext(aws.Context, *iotevents.ListAlarmModelsInput, ...request.Option) (*iotevents.ListAlarmModelsOutput, error) + ListAlarmModelsRequest(*iotevents.ListAlarmModelsInput) (*request.Request, *iotevents.ListAlarmModelsOutput) + ListDetectorModelVersions(*iotevents.ListDetectorModelVersionsInput) (*iotevents.ListDetectorModelVersionsOutput, error) ListDetectorModelVersionsWithContext(aws.Context, *iotevents.ListDetectorModelVersionsInput, ...request.Option) (*iotevents.ListDetectorModelVersionsOutput, error) ListDetectorModelVersionsRequest(*iotevents.ListDetectorModelVersionsInput) (*request.Request, *iotevents.ListDetectorModelVersionsOutput) @@ -104,6 +124,10 @@ type IoTEventsAPI interface { ListDetectorModelsWithContext(aws.Context, *iotevents.ListDetectorModelsInput, ...request.Option) (*iotevents.ListDetectorModelsOutput, error) ListDetectorModelsRequest(*iotevents.ListDetectorModelsInput) (*request.Request, *iotevents.ListDetectorModelsOutput) + ListInputRoutings(*iotevents.ListInputRoutingsInput) (*iotevents.ListInputRoutingsOutput, error) + ListInputRoutingsWithContext(aws.Context, *iotevents.ListInputRoutingsInput, ...request.Option) (*iotevents.ListInputRoutingsOutput, error) + ListInputRoutingsRequest(*iotevents.ListInputRoutingsInput) (*request.Request, *iotevents.ListInputRoutingsOutput) + ListInputs(*iotevents.ListInputsInput) (*iotevents.ListInputsOutput, error) ListInputsWithContext(aws.Context, *iotevents.ListInputsInput, ...request.Option) (*iotevents.ListInputsOutput, error) ListInputsRequest(*iotevents.ListInputsInput) (*request.Request, *iotevents.ListInputsOutput) @@ -128,6 +152,10 @@ type IoTEventsAPI interface { UntagResourceWithContext(aws.Context, *iotevents.UntagResourceInput, ...request.Option) (*iotevents.UntagResourceOutput, error) UntagResourceRequest(*iotevents.UntagResourceInput) (*request.Request, *iotevents.UntagResourceOutput) + UpdateAlarmModel(*iotevents.UpdateAlarmModelInput) (*iotevents.UpdateAlarmModelOutput, error) + UpdateAlarmModelWithContext(aws.Context, *iotevents.UpdateAlarmModelInput, ...request.Option) (*iotevents.UpdateAlarmModelOutput, error) + UpdateAlarmModelRequest(*iotevents.UpdateAlarmModelInput) (*request.Request, *iotevents.UpdateAlarmModelOutput) + UpdateDetectorModel(*iotevents.UpdateDetectorModelInput) (*iotevents.UpdateDetectorModelOutput, error) UpdateDetectorModelWithContext(aws.Context, *iotevents.UpdateDetectorModelInput, ...request.Option) (*iotevents.UpdateDetectorModelOutput, error) UpdateDetectorModelRequest(*iotevents.UpdateDetectorModelInput) (*request.Request, *iotevents.UpdateDetectorModelOutput) diff --git a/service/ioteventsdata/api.go b/service/ioteventsdata/api.go index e0d3f78d4a1..2bbf25b1355 100644 --- a/service/ioteventsdata/api.go +++ b/service/ioteventsdata/api.go @@ -12,70 +12,66 @@ import ( "github.com/aws/aws-sdk-go/private/protocol" ) -const opBatchPutMessage = "BatchPutMessage" +const opBatchAcknowledgeAlarm = "BatchAcknowledgeAlarm" -// BatchPutMessageRequest generates a "aws/request.Request" representing the -// client's request for the BatchPutMessage operation. The "output" return +// BatchAcknowledgeAlarmRequest generates a "aws/request.Request" representing the +// client's request for the BatchAcknowledgeAlarm operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See BatchPutMessage for more information on using the BatchPutMessage +// See BatchAcknowledgeAlarm for more information on using the BatchAcknowledgeAlarm // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the BatchPutMessageRequest method. -// req, resp := client.BatchPutMessageRequest(params) +// // Example sending a request using the BatchAcknowledgeAlarmRequest method. +// req, resp := client.BatchAcknowledgeAlarmRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchPutMessage -func (c *IoTEventsData) BatchPutMessageRequest(input *BatchPutMessageInput) (req *request.Request, output *BatchPutMessageOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchAcknowledgeAlarm +func (c *IoTEventsData) BatchAcknowledgeAlarmRequest(input *BatchAcknowledgeAlarmInput) (req *request.Request, output *BatchAcknowledgeAlarmOutput) { op := &request.Operation{ - Name: opBatchPutMessage, + Name: opBatchAcknowledgeAlarm, HTTPMethod: "POST", - HTTPPath: "/inputs/messages", + HTTPPath: "/alarms/acknowledge", } if input == nil { - input = &BatchPutMessageInput{} + input = &BatchAcknowledgeAlarmInput{} } - output = &BatchPutMessageOutput{} + output = &BatchAcknowledgeAlarmOutput{} req = c.newRequest(op, input, output) return } -// BatchPutMessage API operation for AWS IoT Events Data. +// BatchAcknowledgeAlarm API operation for AWS IoT Events Data. // -// Sends a set of messages to the AWS IoT Events system. Each message payload -// is transformed into the input you specify ("inputName") and ingested into -// any detectors that monitor that input. If multiple messages are sent, the -// order in which the messages are processed isn't guaranteed. To guarantee -// ordering, you must send messages one at a time and wait for a successful -// response. +// Acknowledges one or more alarms. The alarms change to the ACKNOWLEDGED state +// after you acknowledge them. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Events Data's -// API operation BatchPutMessage for usage and error information. +// API operation BatchAcknowledgeAlarm for usage and error information. // // Returned Error Types: // * InvalidRequestException // The request was invalid. // // * InternalFailureException -// An internal failure occured. +// An internal failure occurred. // // * ServiceUnavailableException // The service is currently unavailable. @@ -83,88 +79,88 @@ func (c *IoTEventsData) BatchPutMessageRequest(input *BatchPutMessageInput) (req // * ThrottlingException // The request could not be completed due to throttling. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchPutMessage -func (c *IoTEventsData) BatchPutMessage(input *BatchPutMessageInput) (*BatchPutMessageOutput, error) { - req, out := c.BatchPutMessageRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchAcknowledgeAlarm +func (c *IoTEventsData) BatchAcknowledgeAlarm(input *BatchAcknowledgeAlarmInput) (*BatchAcknowledgeAlarmOutput, error) { + req, out := c.BatchAcknowledgeAlarmRequest(input) return out, req.Send() } -// BatchPutMessageWithContext is the same as BatchPutMessage with the addition of +// BatchAcknowledgeAlarmWithContext is the same as BatchAcknowledgeAlarm with the addition of // the ability to pass a context and additional request options. // -// See BatchPutMessage for details on how to use this API operation. +// See BatchAcknowledgeAlarm for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTEventsData) BatchPutMessageWithContext(ctx aws.Context, input *BatchPutMessageInput, opts ...request.Option) (*BatchPutMessageOutput, error) { - req, out := c.BatchPutMessageRequest(input) +func (c *IoTEventsData) BatchAcknowledgeAlarmWithContext(ctx aws.Context, input *BatchAcknowledgeAlarmInput, opts ...request.Option) (*BatchAcknowledgeAlarmOutput, error) { + req, out := c.BatchAcknowledgeAlarmRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opBatchUpdateDetector = "BatchUpdateDetector" +const opBatchDisableAlarm = "BatchDisableAlarm" -// BatchUpdateDetectorRequest generates a "aws/request.Request" representing the -// client's request for the BatchUpdateDetector operation. The "output" return +// BatchDisableAlarmRequest generates a "aws/request.Request" representing the +// client's request for the BatchDisableAlarm operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See BatchUpdateDetector for more information on using the BatchUpdateDetector +// See BatchDisableAlarm for more information on using the BatchDisableAlarm // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the BatchUpdateDetectorRequest method. -// req, resp := client.BatchUpdateDetectorRequest(params) +// // Example sending a request using the BatchDisableAlarmRequest method. +// req, resp := client.BatchDisableAlarmRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchUpdateDetector -func (c *IoTEventsData) BatchUpdateDetectorRequest(input *BatchUpdateDetectorInput) (req *request.Request, output *BatchUpdateDetectorOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchDisableAlarm +func (c *IoTEventsData) BatchDisableAlarmRequest(input *BatchDisableAlarmInput) (req *request.Request, output *BatchDisableAlarmOutput) { op := &request.Operation{ - Name: opBatchUpdateDetector, + Name: opBatchDisableAlarm, HTTPMethod: "POST", - HTTPPath: "/detectors", + HTTPPath: "/alarms/disable", } if input == nil { - input = &BatchUpdateDetectorInput{} + input = &BatchDisableAlarmInput{} } - output = &BatchUpdateDetectorOutput{} + output = &BatchDisableAlarmOutput{} req = c.newRequest(op, input, output) return } -// BatchUpdateDetector API operation for AWS IoT Events Data. +// BatchDisableAlarm API operation for AWS IoT Events Data. // -// Updates the state, variable values, and timer settings of one or more detectors -// (instances) of a specified detector model. +// Disables one or more alarms. The alarms change to the DISABLED state after +// you disable them. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Events Data's -// API operation BatchUpdateDetector for usage and error information. +// API operation BatchDisableAlarm for usage and error information. // // Returned Error Types: // * InvalidRequestException // The request was invalid. // // * InternalFailureException -// An internal failure occured. +// An internal failure occurred. // // * ServiceUnavailableException // The service is currently unavailable. @@ -172,255 +168,1518 @@ func (c *IoTEventsData) BatchUpdateDetectorRequest(input *BatchUpdateDetectorInp // * ThrottlingException // The request could not be completed due to throttling. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchUpdateDetector -func (c *IoTEventsData) BatchUpdateDetector(input *BatchUpdateDetectorInput) (*BatchUpdateDetectorOutput, error) { - req, out := c.BatchUpdateDetectorRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchDisableAlarm +func (c *IoTEventsData) BatchDisableAlarm(input *BatchDisableAlarmInput) (*BatchDisableAlarmOutput, error) { + req, out := c.BatchDisableAlarmRequest(input) return out, req.Send() } -// BatchUpdateDetectorWithContext is the same as BatchUpdateDetector with the addition of +// BatchDisableAlarmWithContext is the same as BatchDisableAlarm with the addition of // the ability to pass a context and additional request options. // -// See BatchUpdateDetector for details on how to use this API operation. +// See BatchDisableAlarm for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTEventsData) BatchUpdateDetectorWithContext(ctx aws.Context, input *BatchUpdateDetectorInput, opts ...request.Option) (*BatchUpdateDetectorOutput, error) { - req, out := c.BatchUpdateDetectorRequest(input) +func (c *IoTEventsData) BatchDisableAlarmWithContext(ctx aws.Context, input *BatchDisableAlarmInput, opts ...request.Option) (*BatchDisableAlarmOutput, error) { + req, out := c.BatchDisableAlarmRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeDetector = "DescribeDetector" +const opBatchEnableAlarm = "BatchEnableAlarm" -// DescribeDetectorRequest generates a "aws/request.Request" representing the -// client's request for the DescribeDetector operation. The "output" return +// BatchEnableAlarmRequest generates a "aws/request.Request" representing the +// client's request for the BatchEnableAlarm operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeDetector for more information on using the DescribeDetector +// See BatchEnableAlarm for more information on using the BatchEnableAlarm // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeDetectorRequest method. -// req, resp := client.DescribeDetectorRequest(params) +// // Example sending a request using the BatchEnableAlarmRequest method. +// req, resp := client.BatchEnableAlarmRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/DescribeDetector -func (c *IoTEventsData) DescribeDetectorRequest(input *DescribeDetectorInput) (req *request.Request, output *DescribeDetectorOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchEnableAlarm +func (c *IoTEventsData) BatchEnableAlarmRequest(input *BatchEnableAlarmInput) (req *request.Request, output *BatchEnableAlarmOutput) { op := &request.Operation{ - Name: opDescribeDetector, - HTTPMethod: "GET", - HTTPPath: "/detectors/{detectorModelName}/keyValues/", + Name: opBatchEnableAlarm, + HTTPMethod: "POST", + HTTPPath: "/alarms/enable", } if input == nil { - input = &DescribeDetectorInput{} + input = &BatchEnableAlarmInput{} } - output = &DescribeDetectorOutput{} + output = &BatchEnableAlarmOutput{} req = c.newRequest(op, input, output) return } -// DescribeDetector API operation for AWS IoT Events Data. +// BatchEnableAlarm API operation for AWS IoT Events Data. // -// Returns information about the specified detector (instance). +// Enables one or more alarms. The alarms change to the NORMAL state after you +// enable them. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Events Data's -// API operation DescribeDetector for usage and error information. +// API operation BatchEnableAlarm for usage and error information. // // Returned Error Types: // * InvalidRequestException // The request was invalid. // -// * ResourceNotFoundException -// The resource was not found. -// -// * ThrottlingException -// The request could not be completed due to throttling. -// // * InternalFailureException -// An internal failure occured. +// An internal failure occurred. // // * ServiceUnavailableException // The service is currently unavailable. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/DescribeDetector -func (c *IoTEventsData) DescribeDetector(input *DescribeDetectorInput) (*DescribeDetectorOutput, error) { - req, out := c.DescribeDetectorRequest(input) +// * ThrottlingException +// The request could not be completed due to throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchEnableAlarm +func (c *IoTEventsData) BatchEnableAlarm(input *BatchEnableAlarmInput) (*BatchEnableAlarmOutput, error) { + req, out := c.BatchEnableAlarmRequest(input) return out, req.Send() } -// DescribeDetectorWithContext is the same as DescribeDetector with the addition of +// BatchEnableAlarmWithContext is the same as BatchEnableAlarm with the addition of // the ability to pass a context and additional request options. // -// See DescribeDetector for details on how to use this API operation. +// See BatchEnableAlarm for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTEventsData) DescribeDetectorWithContext(ctx aws.Context, input *DescribeDetectorInput, opts ...request.Option) (*DescribeDetectorOutput, error) { - req, out := c.DescribeDetectorRequest(input) +func (c *IoTEventsData) BatchEnableAlarmWithContext(ctx aws.Context, input *BatchEnableAlarmInput, opts ...request.Option) (*BatchEnableAlarmOutput, error) { + req, out := c.BatchEnableAlarmRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListDetectors = "ListDetectors" +const opBatchPutMessage = "BatchPutMessage" -// ListDetectorsRequest generates a "aws/request.Request" representing the -// client's request for the ListDetectors operation. The "output" return +// BatchPutMessageRequest generates a "aws/request.Request" representing the +// client's request for the BatchPutMessage operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListDetectors for more information on using the ListDetectors +// See BatchPutMessage for more information on using the BatchPutMessage // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListDetectorsRequest method. -// req, resp := client.ListDetectorsRequest(params) +// // Example sending a request using the BatchPutMessageRequest method. +// req, resp := client.BatchPutMessageRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/ListDetectors -func (c *IoTEventsData) ListDetectorsRequest(input *ListDetectorsInput) (req *request.Request, output *ListDetectorsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchPutMessage +func (c *IoTEventsData) BatchPutMessageRequest(input *BatchPutMessageInput) (req *request.Request, output *BatchPutMessageOutput) { op := &request.Operation{ - Name: opListDetectors, - HTTPMethod: "GET", - HTTPPath: "/detectors/{detectorModelName}", + Name: opBatchPutMessage, + HTTPMethod: "POST", + HTTPPath: "/inputs/messages", } if input == nil { - input = &ListDetectorsInput{} + input = &BatchPutMessageInput{} } - output = &ListDetectorsOutput{} + output = &BatchPutMessageOutput{} req = c.newRequest(op, input, output) return } -// ListDetectors API operation for AWS IoT Events Data. +// BatchPutMessage API operation for AWS IoT Events Data. // -// Lists detectors (the instances of a detector model). +// Sends a set of messages to the AWS IoT Events system. Each message payload +// is transformed into the input you specify ("inputName") and ingested into +// any detectors that monitor that input. If multiple messages are sent, the +// order in which the messages are processed isn't guaranteed. To guarantee +// ordering, you must send messages one at a time and wait for a successful +// response. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Events Data's -// API operation ListDetectors for usage and error information. +// API operation BatchPutMessage for usage and error information. // // Returned Error Types: // * InvalidRequestException // The request was invalid. // -// * ResourceNotFoundException -// The resource was not found. -// -// * ThrottlingException -// The request could not be completed due to throttling. -// // * InternalFailureException -// An internal failure occured. +// An internal failure occurred. // // * ServiceUnavailableException // The service is currently unavailable. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/ListDetectors -func (c *IoTEventsData) ListDetectors(input *ListDetectorsInput) (*ListDetectorsOutput, error) { - req, out := c.ListDetectorsRequest(input) +// * ThrottlingException +// The request could not be completed due to throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchPutMessage +func (c *IoTEventsData) BatchPutMessage(input *BatchPutMessageInput) (*BatchPutMessageOutput, error) { + req, out := c.BatchPutMessageRequest(input) return out, req.Send() } -// ListDetectorsWithContext is the same as ListDetectors with the addition of +// BatchPutMessageWithContext is the same as BatchPutMessage with the addition of // the ability to pass a context and additional request options. // -// See ListDetectors for details on how to use this API operation. +// See BatchPutMessage for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTEventsData) ListDetectorsWithContext(ctx aws.Context, input *ListDetectorsInput, opts ...request.Option) (*ListDetectorsOutput, error) { - req, out := c.ListDetectorsRequest(input) +func (c *IoTEventsData) BatchPutMessageWithContext(ctx aws.Context, input *BatchPutMessageInput, opts ...request.Option) (*BatchPutMessageOutput, error) { + req, out := c.BatchPutMessageRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// Contains information about the errors encountered. -type BatchPutMessageErrorEntry struct { - _ struct{} `type:"structure"` +const opBatchResetAlarm = "BatchResetAlarm" - // The code associated with the error. - ErrorCode *string `locationName:"errorCode" type:"string" enum:"ErrorCode"` +// BatchResetAlarmRequest generates a "aws/request.Request" representing the +// client's request for the BatchResetAlarm operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchResetAlarm for more information on using the BatchResetAlarm +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the BatchResetAlarmRequest method. +// req, resp := client.BatchResetAlarmRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchResetAlarm +func (c *IoTEventsData) BatchResetAlarmRequest(input *BatchResetAlarmInput) (req *request.Request, output *BatchResetAlarmOutput) { + op := &request.Operation{ + Name: opBatchResetAlarm, + HTTPMethod: "POST", + HTTPPath: "/alarms/reset", + } - // More information about the error. - ErrorMessage *string `locationName:"errorMessage" type:"string"` + if input == nil { + input = &BatchResetAlarmInput{} + } - // The ID of the message that caused the error. (See the value corresponding - // to the "messageId" key in the "message" object.) - MessageId *string `locationName:"messageId" min:"1" type:"string"` + output = &BatchResetAlarmOutput{} + req = c.newRequest(op, input, output) + return } -// String returns the string representation -func (s BatchPutMessageErrorEntry) String() string { - return awsutil.Prettify(s) +// BatchResetAlarm API operation for AWS IoT Events Data. +// +// Resets one or more alarms. The alarms return to the NORMAL state after you +// reset them. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Events Data's +// API operation BatchResetAlarm for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request was invalid. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ServiceUnavailableException +// The service is currently unavailable. +// +// * ThrottlingException +// The request could not be completed due to throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchResetAlarm +func (c *IoTEventsData) BatchResetAlarm(input *BatchResetAlarmInput) (*BatchResetAlarmOutput, error) { + req, out := c.BatchResetAlarmRequest(input) + return out, req.Send() } -// GoString returns the string representation -func (s BatchPutMessageErrorEntry) GoString() string { - return s.String() +// BatchResetAlarmWithContext is the same as BatchResetAlarm with the addition of +// the ability to pass a context and additional request options. +// +// See BatchResetAlarm for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTEventsData) BatchResetAlarmWithContext(ctx aws.Context, input *BatchResetAlarmInput, opts ...request.Option) (*BatchResetAlarmOutput, error) { + req, out := c.BatchResetAlarmRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -// SetErrorCode sets the ErrorCode field's value. -func (s *BatchPutMessageErrorEntry) SetErrorCode(v string) *BatchPutMessageErrorEntry { - s.ErrorCode = &v - return s -} +const opBatchSnoozeAlarm = "BatchSnoozeAlarm" -// SetErrorMessage sets the ErrorMessage field's value. -func (s *BatchPutMessageErrorEntry) SetErrorMessage(v string) *BatchPutMessageErrorEntry { - s.ErrorMessage = &v - return s -} +// BatchSnoozeAlarmRequest generates a "aws/request.Request" representing the +// client's request for the BatchSnoozeAlarm operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchSnoozeAlarm for more information on using the BatchSnoozeAlarm +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the BatchSnoozeAlarmRequest method. +// req, resp := client.BatchSnoozeAlarmRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchSnoozeAlarm +func (c *IoTEventsData) BatchSnoozeAlarmRequest(input *BatchSnoozeAlarmInput) (req *request.Request, output *BatchSnoozeAlarmOutput) { + op := &request.Operation{ + Name: opBatchSnoozeAlarm, + HTTPMethod: "POST", + HTTPPath: "/alarms/snooze", + } -// SetMessageId sets the MessageId field's value. -func (s *BatchPutMessageErrorEntry) SetMessageId(v string) *BatchPutMessageErrorEntry { - s.MessageId = &v - return s -} + if input == nil { + input = &BatchSnoozeAlarmInput{} + } -type BatchPutMessageInput struct { - _ struct{} `type:"structure"` + output = &BatchSnoozeAlarmOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchSnoozeAlarm API operation for AWS IoT Events Data. +// +// Changes one or more alarms to the snooze mode. The alarms change to the SNOOZE_DISABLED +// state after you set them to the snooze mode. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Events Data's +// API operation BatchSnoozeAlarm for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request was invalid. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ServiceUnavailableException +// The service is currently unavailable. +// +// * ThrottlingException +// The request could not be completed due to throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchSnoozeAlarm +func (c *IoTEventsData) BatchSnoozeAlarm(input *BatchSnoozeAlarmInput) (*BatchSnoozeAlarmOutput, error) { + req, out := c.BatchSnoozeAlarmRequest(input) + return out, req.Send() +} + +// BatchSnoozeAlarmWithContext is the same as BatchSnoozeAlarm with the addition of +// the ability to pass a context and additional request options. +// +// See BatchSnoozeAlarm for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTEventsData) BatchSnoozeAlarmWithContext(ctx aws.Context, input *BatchSnoozeAlarmInput, opts ...request.Option) (*BatchSnoozeAlarmOutput, error) { + req, out := c.BatchSnoozeAlarmRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opBatchUpdateDetector = "BatchUpdateDetector" + +// BatchUpdateDetectorRequest generates a "aws/request.Request" representing the +// client's request for the BatchUpdateDetector operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See BatchUpdateDetector for more information on using the BatchUpdateDetector +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the BatchUpdateDetectorRequest method. +// req, resp := client.BatchUpdateDetectorRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchUpdateDetector +func (c *IoTEventsData) BatchUpdateDetectorRequest(input *BatchUpdateDetectorInput) (req *request.Request, output *BatchUpdateDetectorOutput) { + op := &request.Operation{ + Name: opBatchUpdateDetector, + HTTPMethod: "POST", + HTTPPath: "/detectors", + } + + if input == nil { + input = &BatchUpdateDetectorInput{} + } + + output = &BatchUpdateDetectorOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchUpdateDetector API operation for AWS IoT Events Data. +// +// Updates the state, variable values, and timer settings of one or more detectors +// (instances) of a specified detector model. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Events Data's +// API operation BatchUpdateDetector for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request was invalid. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ServiceUnavailableException +// The service is currently unavailable. +// +// * ThrottlingException +// The request could not be completed due to throttling. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/BatchUpdateDetector +func (c *IoTEventsData) BatchUpdateDetector(input *BatchUpdateDetectorInput) (*BatchUpdateDetectorOutput, error) { + req, out := c.BatchUpdateDetectorRequest(input) + return out, req.Send() +} + +// BatchUpdateDetectorWithContext is the same as BatchUpdateDetector with the addition of +// the ability to pass a context and additional request options. +// +// See BatchUpdateDetector for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTEventsData) BatchUpdateDetectorWithContext(ctx aws.Context, input *BatchUpdateDetectorInput, opts ...request.Option) (*BatchUpdateDetectorOutput, error) { + req, out := c.BatchUpdateDetectorRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeAlarm = "DescribeAlarm" + +// DescribeAlarmRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAlarm operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeAlarm for more information on using the DescribeAlarm +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeAlarmRequest method. +// req, resp := client.DescribeAlarmRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/DescribeAlarm +func (c *IoTEventsData) DescribeAlarmRequest(input *DescribeAlarmInput) (req *request.Request, output *DescribeAlarmOutput) { + op := &request.Operation{ + Name: opDescribeAlarm, + HTTPMethod: "GET", + HTTPPath: "/alarms/{alarmModelName}/keyValues/", + } + + if input == nil { + input = &DescribeAlarmInput{} + } + + output = &DescribeAlarmOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeAlarm API operation for AWS IoT Events Data. +// +// Retrieves information about an alarm. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Events Data's +// API operation DescribeAlarm for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request was invalid. +// +// * ResourceNotFoundException +// The resource was not found. +// +// * ThrottlingException +// The request could not be completed due to throttling. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ServiceUnavailableException +// The service is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/DescribeAlarm +func (c *IoTEventsData) DescribeAlarm(input *DescribeAlarmInput) (*DescribeAlarmOutput, error) { + req, out := c.DescribeAlarmRequest(input) + return out, req.Send() +} + +// DescribeAlarmWithContext is the same as DescribeAlarm with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeAlarm for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTEventsData) DescribeAlarmWithContext(ctx aws.Context, input *DescribeAlarmInput, opts ...request.Option) (*DescribeAlarmOutput, error) { + req, out := c.DescribeAlarmRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeDetector = "DescribeDetector" + +// DescribeDetectorRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDetector operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeDetector for more information on using the DescribeDetector +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeDetectorRequest method. +// req, resp := client.DescribeDetectorRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/DescribeDetector +func (c *IoTEventsData) DescribeDetectorRequest(input *DescribeDetectorInput) (req *request.Request, output *DescribeDetectorOutput) { + op := &request.Operation{ + Name: opDescribeDetector, + HTTPMethod: "GET", + HTTPPath: "/detectors/{detectorModelName}/keyValues/", + } + + if input == nil { + input = &DescribeDetectorInput{} + } + + output = &DescribeDetectorOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDetector API operation for AWS IoT Events Data. +// +// Returns information about the specified detector (instance). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Events Data's +// API operation DescribeDetector for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request was invalid. +// +// * ResourceNotFoundException +// The resource was not found. +// +// * ThrottlingException +// The request could not be completed due to throttling. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ServiceUnavailableException +// The service is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/DescribeDetector +func (c *IoTEventsData) DescribeDetector(input *DescribeDetectorInput) (*DescribeDetectorOutput, error) { + req, out := c.DescribeDetectorRequest(input) + return out, req.Send() +} + +// DescribeDetectorWithContext is the same as DescribeDetector with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDetector for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTEventsData) DescribeDetectorWithContext(ctx aws.Context, input *DescribeDetectorInput, opts ...request.Option) (*DescribeDetectorOutput, error) { + req, out := c.DescribeDetectorRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListAlarms = "ListAlarms" + +// ListAlarmsRequest generates a "aws/request.Request" representing the +// client's request for the ListAlarms operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListAlarms for more information on using the ListAlarms +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListAlarmsRequest method. +// req, resp := client.ListAlarmsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/ListAlarms +func (c *IoTEventsData) ListAlarmsRequest(input *ListAlarmsInput) (req *request.Request, output *ListAlarmsOutput) { + op := &request.Operation{ + Name: opListAlarms, + HTTPMethod: "GET", + HTTPPath: "/alarms/{alarmModelName}", + } + + if input == nil { + input = &ListAlarmsInput{} + } + + output = &ListAlarmsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListAlarms API operation for AWS IoT Events Data. +// +// Lists one or more alarms. The operation returns only the metadata associated +// with each alarm. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Events Data's +// API operation ListAlarms for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request was invalid. +// +// * ResourceNotFoundException +// The resource was not found. +// +// * ThrottlingException +// The request could not be completed due to throttling. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ServiceUnavailableException +// The service is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/ListAlarms +func (c *IoTEventsData) ListAlarms(input *ListAlarmsInput) (*ListAlarmsOutput, error) { + req, out := c.ListAlarmsRequest(input) + return out, req.Send() +} + +// ListAlarmsWithContext is the same as ListAlarms with the addition of +// the ability to pass a context and additional request options. +// +// See ListAlarms for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTEventsData) ListAlarmsWithContext(ctx aws.Context, input *ListAlarmsInput, opts ...request.Option) (*ListAlarmsOutput, error) { + req, out := c.ListAlarmsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListDetectors = "ListDetectors" + +// ListDetectorsRequest generates a "aws/request.Request" representing the +// client's request for the ListDetectors operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListDetectors for more information on using the ListDetectors +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListDetectorsRequest method. +// req, resp := client.ListDetectorsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/ListDetectors +func (c *IoTEventsData) ListDetectorsRequest(input *ListDetectorsInput) (req *request.Request, output *ListDetectorsOutput) { + op := &request.Operation{ + Name: opListDetectors, + HTTPMethod: "GET", + HTTPPath: "/detectors/{detectorModelName}", + } + + if input == nil { + input = &ListDetectorsInput{} + } + + output = &ListDetectorsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDetectors API operation for AWS IoT Events Data. +// +// Lists detectors (the instances of a detector model). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Events Data's +// API operation ListDetectors for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request was invalid. +// +// * ResourceNotFoundException +// The resource was not found. +// +// * ThrottlingException +// The request could not be completed due to throttling. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ServiceUnavailableException +// The service is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23/ListDetectors +func (c *IoTEventsData) ListDetectors(input *ListDetectorsInput) (*ListDetectorsOutput, error) { + req, out := c.ListDetectorsRequest(input) + return out, req.Send() +} + +// ListDetectorsWithContext is the same as ListDetectors with the addition of +// the ability to pass a context and additional request options. +// +// See ListDetectors for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTEventsData) ListDetectorsWithContext(ctx aws.Context, input *ListDetectorsInput, opts ...request.Option) (*ListDetectorsOutput, error) { + req, out := c.ListDetectorsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Contains the configuration information of an acknowledge action. +type AcknowledgeActionConfiguration struct { + _ struct{} `type:"structure"` + + // The note that you can leave when you acknowledge the alarm. + Note *string `locationName:"note" type:"string"` +} + +// String returns the string representation +func (s AcknowledgeActionConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcknowledgeActionConfiguration) GoString() string { + return s.String() +} + +// SetNote sets the Note field's value. +func (s *AcknowledgeActionConfiguration) SetNote(v string) *AcknowledgeActionConfiguration { + s.Note = &v + return s +} + +// Information needed to acknowledge the alarm. +type AcknowledgeAlarmActionRequest struct { + _ struct{} `type:"structure"` + + // The name of the alarm model. + // + // AlarmModelName is a required field + AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string" required:"true"` + + // The value of the key used as a filter to select only the alarms associated + // with the key (https://docs.aws.amazon.com/iotevents/latest/apireference/API_CreateAlarmModel.html#iotevents-CreateAlarmModel-request-key). + KeyValue *string `locationName:"keyValue" min:"1" type:"string"` + + // The note that you can leave when you acknowledge the alarm. + Note *string `locationName:"note" type:"string"` + + // The request ID. Each ID must be unique within each batch. + // + // RequestId is a required field + RequestId *string `locationName:"requestId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AcknowledgeAlarmActionRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcknowledgeAlarmActionRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AcknowledgeAlarmActionRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AcknowledgeAlarmActionRequest"} + if s.AlarmModelName == nil { + invalidParams.Add(request.NewErrParamRequired("AlarmModelName")) + } + if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1)) + } + if s.KeyValue != nil && len(*s.KeyValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyValue", 1)) + } + if s.RequestId == nil { + invalidParams.Add(request.NewErrParamRequired("RequestId")) + } + if s.RequestId != nil && len(*s.RequestId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RequestId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlarmModelName sets the AlarmModelName field's value. +func (s *AcknowledgeAlarmActionRequest) SetAlarmModelName(v string) *AcknowledgeAlarmActionRequest { + s.AlarmModelName = &v + return s +} + +// SetKeyValue sets the KeyValue field's value. +func (s *AcknowledgeAlarmActionRequest) SetKeyValue(v string) *AcknowledgeAlarmActionRequest { + s.KeyValue = &v + return s +} + +// SetNote sets the Note field's value. +func (s *AcknowledgeAlarmActionRequest) SetNote(v string) *AcknowledgeAlarmActionRequest { + s.Note = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *AcknowledgeAlarmActionRequest) SetRequestId(v string) *AcknowledgeAlarmActionRequest { + s.RequestId = &v + return s +} + +// Contains information about an alarm. +type Alarm struct { + _ struct{} `type:"structure"` + + // The name of the alarm model. + AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string"` + + // The version of the alarm model. + AlarmModelVersion *string `locationName:"alarmModelVersion" min:"1" type:"string"` + + // Contains information about the current state of the alarm. + AlarmState *AlarmState `locationName:"alarmState" type:"structure"` + + // The time the alarm was created, in the Unix epoch format. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // The value of the key used as a filter to select only the alarms associated + // with the key (https://docs.aws.amazon.com/iotevents/latest/apireference/API_CreateAlarmModel.html#iotevents-CreateAlarmModel-request-key). + KeyValue *string `locationName:"keyValue" min:"1" type:"string"` + + // The time the alarm was last updated, in the Unix epoch format. + LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"` + + // A non-negative integer that reflects the severity level of the alarm. + Severity *int64 `locationName:"severity" type:"integer"` +} + +// String returns the string representation +func (s Alarm) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Alarm) GoString() string { + return s.String() +} + +// SetAlarmModelName sets the AlarmModelName field's value. +func (s *Alarm) SetAlarmModelName(v string) *Alarm { + s.AlarmModelName = &v + return s +} + +// SetAlarmModelVersion sets the AlarmModelVersion field's value. +func (s *Alarm) SetAlarmModelVersion(v string) *Alarm { + s.AlarmModelVersion = &v + return s +} + +// SetAlarmState sets the AlarmState field's value. +func (s *Alarm) SetAlarmState(v *AlarmState) *Alarm { + s.AlarmState = v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *Alarm) SetCreationTime(v time.Time) *Alarm { + s.CreationTime = &v + return s +} + +// SetKeyValue sets the KeyValue field's value. +func (s *Alarm) SetKeyValue(v string) *Alarm { + s.KeyValue = &v + return s +} + +// SetLastUpdateTime sets the LastUpdateTime field's value. +func (s *Alarm) SetLastUpdateTime(v time.Time) *Alarm { + s.LastUpdateTime = &v + return s +} + +// SetSeverity sets the Severity field's value. +func (s *Alarm) SetSeverity(v int64) *Alarm { + s.Severity = &v + return s +} + +// Contains information about the current state of the alarm. +type AlarmState struct { + _ struct{} `type:"structure"` + + // Contains information about the action that you can take to respond to the + // alarm. + CustomerAction *CustomerAction `locationName:"customerAction" type:"structure"` + + // Information needed to evaluate data. + RuleEvaluation *RuleEvaluation `locationName:"ruleEvaluation" type:"structure"` + + // The name of the alarm state. The state name can be one of the following values: + // + // * DISABLED - When the alarm is in the DISABLED state, it isn't ready to + // evaluate data. To enable the alarm, you must change the alarm to the NORMAL + // state. + // + // * NORMAL - When the alarm is in the NORMAL state, it's ready to evaluate + // data. + // + // * ACTIVE - If the alarm is in the ACTIVE state, the alarm is invoked. + // + // * ACKNOWLEDGED - When the alarm is in the ACKNOWLEDGED state, the alarm + // was invoked and you acknowledged the alarm. + // + // * SNOOZE_DISABLED - When the alarm is in the SNOOZE_DISABLED state, the + // alarm is disabled for a specified period of time. After the snooze time, + // the alarm automatically changes to the NORMAL state. + // + // * LATCHED - When the alarm is in the LATCHED state, the alarm was invoked. + // However, the data that the alarm is currently evaluating is within the + // specified range. To change the alarm to the NORMAL state, you must acknowledge + // the alarm. + StateName *string `locationName:"stateName" type:"string" enum:"AlarmStateName"` + + // Contains information about alarm state changes. + SystemEvent *SystemEvent `locationName:"systemEvent" type:"structure"` +} + +// String returns the string representation +func (s AlarmState) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AlarmState) GoString() string { + return s.String() +} + +// SetCustomerAction sets the CustomerAction field's value. +func (s *AlarmState) SetCustomerAction(v *CustomerAction) *AlarmState { + s.CustomerAction = v + return s +} + +// SetRuleEvaluation sets the RuleEvaluation field's value. +func (s *AlarmState) SetRuleEvaluation(v *RuleEvaluation) *AlarmState { + s.RuleEvaluation = v + return s +} + +// SetStateName sets the StateName field's value. +func (s *AlarmState) SetStateName(v string) *AlarmState { + s.StateName = &v + return s +} + +// SetSystemEvent sets the SystemEvent field's value. +func (s *AlarmState) SetSystemEvent(v *SystemEvent) *AlarmState { + s.SystemEvent = v + return s +} + +// Contains a summary of an alarm. +type AlarmSummary struct { + _ struct{} `type:"structure"` + + // The name of the alarm model. + AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string"` + + // The version of the alarm model. + AlarmModelVersion *string `locationName:"alarmModelVersion" min:"1" type:"string"` + + // The time the alarm was created, in the Unix epoch format. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // The value of the key used as a filter to select only the alarms associated + // with the key (https://docs.aws.amazon.com/iotevents/latest/apireference/API_CreateAlarmModel.html#iotevents-CreateAlarmModel-request-key). + KeyValue *string `locationName:"keyValue" min:"1" type:"string"` + + // The time the alarm was last updated, in the Unix epoch format. + LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"` + + // The name of the alarm state. The state name can be one of the following values: + // + // * DISABLED - When the alarm is in the DISABLED state, it isn't ready to + // evaluate data. To enable the alarm, you must change the alarm to the NORMAL + // state. + // + // * NORMAL - When the alarm is in the NORMAL state, it's ready to evaluate + // data. + // + // * ACTIVE - If the alarm is in the ACTIVE state, the alarm is invoked. + // + // * ACKNOWLEDGED - When the alarm is in the ACKNOWLEDGED state, the alarm + // was invoked and you acknowledged the alarm. + // + // * SNOOZE_DISABLED - When the alarm is in the SNOOZE_DISABLED state, the + // alarm is disabled for a specified period of time. After the snooze time, + // the alarm automatically changes to the NORMAL state. + // + // * LATCHED - When the alarm is in the LATCHED state, the alarm was invoked. + // However, the data that the alarm is currently evaluating is within the + // specified range. To change the alarm to the NORMAL state, you must acknowledge + // the alarm. + StateName *string `locationName:"stateName" type:"string" enum:"AlarmStateName"` +} + +// String returns the string representation +func (s AlarmSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AlarmSummary) GoString() string { + return s.String() +} + +// SetAlarmModelName sets the AlarmModelName field's value. +func (s *AlarmSummary) SetAlarmModelName(v string) *AlarmSummary { + s.AlarmModelName = &v + return s +} + +// SetAlarmModelVersion sets the AlarmModelVersion field's value. +func (s *AlarmSummary) SetAlarmModelVersion(v string) *AlarmSummary { + s.AlarmModelVersion = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *AlarmSummary) SetCreationTime(v time.Time) *AlarmSummary { + s.CreationTime = &v + return s +} + +// SetKeyValue sets the KeyValue field's value. +func (s *AlarmSummary) SetKeyValue(v string) *AlarmSummary { + s.KeyValue = &v + return s +} + +// SetLastUpdateTime sets the LastUpdateTime field's value. +func (s *AlarmSummary) SetLastUpdateTime(v time.Time) *AlarmSummary { + s.LastUpdateTime = &v + return s +} + +// SetStateName sets the StateName field's value. +func (s *AlarmSummary) SetStateName(v string) *AlarmSummary { + s.StateName = &v + return s +} + +type BatchAcknowledgeAlarmInput struct { + _ struct{} `type:"structure"` + + // The list of acknowledge action requests. You can specify up to 10 requests + // per operation. + // + // AcknowledgeActionRequests is a required field + AcknowledgeActionRequests []*AcknowledgeAlarmActionRequest `locationName:"acknowledgeActionRequests" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchAcknowledgeAlarmInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchAcknowledgeAlarmInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchAcknowledgeAlarmInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchAcknowledgeAlarmInput"} + if s.AcknowledgeActionRequests == nil { + invalidParams.Add(request.NewErrParamRequired("AcknowledgeActionRequests")) + } + if s.AcknowledgeActionRequests != nil && len(s.AcknowledgeActionRequests) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AcknowledgeActionRequests", 1)) + } + if s.AcknowledgeActionRequests != nil { + for i, v := range s.AcknowledgeActionRequests { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AcknowledgeActionRequests", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcknowledgeActionRequests sets the AcknowledgeActionRequests field's value. +func (s *BatchAcknowledgeAlarmInput) SetAcknowledgeActionRequests(v []*AcknowledgeAlarmActionRequest) *BatchAcknowledgeAlarmInput { + s.AcknowledgeActionRequests = v + return s +} + +type BatchAcknowledgeAlarmOutput struct { + _ struct{} `type:"structure"` + + // A list of errors associated with the request, or null if there are no errors. + // Each error entry contains an entry ID that helps you identify the entry that + // failed. + ErrorEntries []*BatchAlarmActionErrorEntry `locationName:"errorEntries" type:"list"` +} + +// String returns the string representation +func (s BatchAcknowledgeAlarmOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchAcknowledgeAlarmOutput) GoString() string { + return s.String() +} + +// SetErrorEntries sets the ErrorEntries field's value. +func (s *BatchAcknowledgeAlarmOutput) SetErrorEntries(v []*BatchAlarmActionErrorEntry) *BatchAcknowledgeAlarmOutput { + s.ErrorEntries = v + return s +} + +// Contains error messages associated with one of the following requests: +// +// * BatchAcknowledgeAlarm (https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchAcknowledgeAlarm.html) +// +// * BatchDisableAlarm (https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchDisableAlarm.html) +// +// * BatchEnableAlarm (https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchEnableAlarm.html) +// +// * BatchResetAlarm (https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchResetAlarm.html) +// +// * BatchSnoozeAlarm (https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchSnoozeAlarm.html) +type BatchAlarmActionErrorEntry struct { + _ struct{} `type:"structure"` + + // The error code. + ErrorCode *string `locationName:"errorCode" type:"string" enum:"ErrorCode"` + + // A message that describes the error. + ErrorMessage *string `locationName:"errorMessage" type:"string"` + + // The request ID. Each ID must be unique within each batch. + RequestId *string `locationName:"requestId" min:"1" type:"string"` +} + +// String returns the string representation +func (s BatchAlarmActionErrorEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchAlarmActionErrorEntry) GoString() string { + return s.String() +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *BatchAlarmActionErrorEntry) SetErrorCode(v string) *BatchAlarmActionErrorEntry { + s.ErrorCode = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *BatchAlarmActionErrorEntry) SetErrorMessage(v string) *BatchAlarmActionErrorEntry { + s.ErrorMessage = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *BatchAlarmActionErrorEntry) SetRequestId(v string) *BatchAlarmActionErrorEntry { + s.RequestId = &v + return s +} + +type BatchDisableAlarmInput struct { + _ struct{} `type:"structure"` + + // The list of disable action requests. You can specify up to 10 requests per + // operation. + // + // DisableActionRequests is a required field + DisableActionRequests []*DisableAlarmActionRequest `locationName:"disableActionRequests" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchDisableAlarmInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDisableAlarmInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchDisableAlarmInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchDisableAlarmInput"} + if s.DisableActionRequests == nil { + invalidParams.Add(request.NewErrParamRequired("DisableActionRequests")) + } + if s.DisableActionRequests != nil && len(s.DisableActionRequests) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DisableActionRequests", 1)) + } + if s.DisableActionRequests != nil { + for i, v := range s.DisableActionRequests { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DisableActionRequests", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDisableActionRequests sets the DisableActionRequests field's value. +func (s *BatchDisableAlarmInput) SetDisableActionRequests(v []*DisableAlarmActionRequest) *BatchDisableAlarmInput { + s.DisableActionRequests = v + return s +} + +type BatchDisableAlarmOutput struct { + _ struct{} `type:"structure"` + + // A list of errors associated with the request, or null if there are no errors. + // Each error entry contains an entry ID that helps you identify the entry that + // failed. + ErrorEntries []*BatchAlarmActionErrorEntry `locationName:"errorEntries" type:"list"` +} + +// String returns the string representation +func (s BatchDisableAlarmOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchDisableAlarmOutput) GoString() string { + return s.String() +} + +// SetErrorEntries sets the ErrorEntries field's value. +func (s *BatchDisableAlarmOutput) SetErrorEntries(v []*BatchAlarmActionErrorEntry) *BatchDisableAlarmOutput { + s.ErrorEntries = v + return s +} + +type BatchEnableAlarmInput struct { + _ struct{} `type:"structure"` + + // The list of enable action requests. You can specify up to 10 requests per + // operation. + // + // EnableActionRequests is a required field + EnableActionRequests []*EnableAlarmActionRequest `locationName:"enableActionRequests" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchEnableAlarmInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchEnableAlarmInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchEnableAlarmInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchEnableAlarmInput"} + if s.EnableActionRequests == nil { + invalidParams.Add(request.NewErrParamRequired("EnableActionRequests")) + } + if s.EnableActionRequests != nil && len(s.EnableActionRequests) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EnableActionRequests", 1)) + } + if s.EnableActionRequests != nil { + for i, v := range s.EnableActionRequests { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnableActionRequests", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnableActionRequests sets the EnableActionRequests field's value. +func (s *BatchEnableAlarmInput) SetEnableActionRequests(v []*EnableAlarmActionRequest) *BatchEnableAlarmInput { + s.EnableActionRequests = v + return s +} + +type BatchEnableAlarmOutput struct { + _ struct{} `type:"structure"` + + // A list of errors associated with the request, or null if there are no errors. + // Each error entry contains an entry ID that helps you identify the entry that + // failed. + ErrorEntries []*BatchAlarmActionErrorEntry `locationName:"errorEntries" type:"list"` +} + +// String returns the string representation +func (s BatchEnableAlarmOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchEnableAlarmOutput) GoString() string { + return s.String() +} + +// SetErrorEntries sets the ErrorEntries field's value. +func (s *BatchEnableAlarmOutput) SetErrorEntries(v []*BatchAlarmActionErrorEntry) *BatchEnableAlarmOutput { + s.ErrorEntries = v + return s +} + +// Contains information about the errors encountered. +type BatchPutMessageErrorEntry struct { + _ struct{} `type:"structure"` + + // The error code. + ErrorCode *string `locationName:"errorCode" type:"string" enum:"ErrorCode"` + + // A message that describes the error. + ErrorMessage *string `locationName:"errorMessage" type:"string"` + + // The ID of the message that caused the error. (See the value corresponding + // to the "messageId" key in the "message" object.) + MessageId *string `locationName:"messageId" min:"1" type:"string"` +} + +// String returns the string representation +func (s BatchPutMessageErrorEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchPutMessageErrorEntry) GoString() string { + return s.String() +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *BatchPutMessageErrorEntry) SetErrorCode(v string) *BatchPutMessageErrorEntry { + s.ErrorCode = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *BatchPutMessageErrorEntry) SetErrorMessage(v string) *BatchPutMessageErrorEntry { + s.ErrorMessage = &v + return s +} + +// SetMessageId sets the MessageId field's value. +func (s *BatchPutMessageErrorEntry) SetMessageId(v string) *BatchPutMessageErrorEntry { + s.MessageId = &v + return s +} + +type BatchPutMessageInput struct { + _ struct{} `type:"structure"` // The list of messages to send. Each message has the following format: '{ "messageId": // "string", "inputName": "string", "payload": "string"}' @@ -494,86 +1753,396 @@ func (s *BatchPutMessageOutput) SetBatchPutMessageErrorEntries(v []*BatchPutMess return s } -// Information about the error that occured when attempting to update a detector. -type BatchUpdateDetectorErrorEntry struct { - _ struct{} `type:"structure"` +type BatchResetAlarmInput struct { + _ struct{} `type:"structure"` + + // The list of reset action requests. You can specify up to 10 requests per + // operation. + // + // ResetActionRequests is a required field + ResetActionRequests []*ResetAlarmActionRequest `locationName:"resetActionRequests" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchResetAlarmInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchResetAlarmInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchResetAlarmInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchResetAlarmInput"} + if s.ResetActionRequests == nil { + invalidParams.Add(request.NewErrParamRequired("ResetActionRequests")) + } + if s.ResetActionRequests != nil && len(s.ResetActionRequests) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResetActionRequests", 1)) + } + if s.ResetActionRequests != nil { + for i, v := range s.ResetActionRequests { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResetActionRequests", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResetActionRequests sets the ResetActionRequests field's value. +func (s *BatchResetAlarmInput) SetResetActionRequests(v []*ResetAlarmActionRequest) *BatchResetAlarmInput { + s.ResetActionRequests = v + return s +} + +type BatchResetAlarmOutput struct { + _ struct{} `type:"structure"` + + // A list of errors associated with the request, or null if there are no errors. + // Each error entry contains an entry ID that helps you identify the entry that + // failed. + ErrorEntries []*BatchAlarmActionErrorEntry `locationName:"errorEntries" type:"list"` +} + +// String returns the string representation +func (s BatchResetAlarmOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchResetAlarmOutput) GoString() string { + return s.String() +} + +// SetErrorEntries sets the ErrorEntries field's value. +func (s *BatchResetAlarmOutput) SetErrorEntries(v []*BatchAlarmActionErrorEntry) *BatchResetAlarmOutput { + s.ErrorEntries = v + return s +} + +type BatchSnoozeAlarmInput struct { + _ struct{} `type:"structure"` + + // The list of snooze action requests. You can specify up to 10 requests per + // operation. + // + // SnoozeActionRequests is a required field + SnoozeActionRequests []*SnoozeAlarmActionRequest `locationName:"snoozeActionRequests" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchSnoozeAlarmInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchSnoozeAlarmInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchSnoozeAlarmInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchSnoozeAlarmInput"} + if s.SnoozeActionRequests == nil { + invalidParams.Add(request.NewErrParamRequired("SnoozeActionRequests")) + } + if s.SnoozeActionRequests != nil && len(s.SnoozeActionRequests) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SnoozeActionRequests", 1)) + } + if s.SnoozeActionRequests != nil { + for i, v := range s.SnoozeActionRequests { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SnoozeActionRequests", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSnoozeActionRequests sets the SnoozeActionRequests field's value. +func (s *BatchSnoozeAlarmInput) SetSnoozeActionRequests(v []*SnoozeAlarmActionRequest) *BatchSnoozeAlarmInput { + s.SnoozeActionRequests = v + return s +} + +type BatchSnoozeAlarmOutput struct { + _ struct{} `type:"structure"` + + // A list of errors associated with the request, or null if there are no errors. + // Each error entry contains an entry ID that helps you identify the entry that + // failed. + ErrorEntries []*BatchAlarmActionErrorEntry `locationName:"errorEntries" type:"list"` +} + +// String returns the string representation +func (s BatchSnoozeAlarmOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchSnoozeAlarmOutput) GoString() string { + return s.String() +} + +// SetErrorEntries sets the ErrorEntries field's value. +func (s *BatchSnoozeAlarmOutput) SetErrorEntries(v []*BatchAlarmActionErrorEntry) *BatchSnoozeAlarmOutput { + s.ErrorEntries = v + return s +} + +// Information about the error that occurred when attempting to update a detector. +type BatchUpdateDetectorErrorEntry struct { + _ struct{} `type:"structure"` + + // The error code. + ErrorCode *string `locationName:"errorCode" type:"string" enum:"ErrorCode"` + + // A message that describes the error. + ErrorMessage *string `locationName:"errorMessage" type:"string"` + + // The "messageId" of the update request that caused the error. (The value of + // the "messageId" in the update request "Detector" object.) + MessageId *string `locationName:"messageId" min:"1" type:"string"` +} + +// String returns the string representation +func (s BatchUpdateDetectorErrorEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchUpdateDetectorErrorEntry) GoString() string { + return s.String() +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *BatchUpdateDetectorErrorEntry) SetErrorCode(v string) *BatchUpdateDetectorErrorEntry { + s.ErrorCode = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *BatchUpdateDetectorErrorEntry) SetErrorMessage(v string) *BatchUpdateDetectorErrorEntry { + s.ErrorMessage = &v + return s +} + +// SetMessageId sets the MessageId field's value. +func (s *BatchUpdateDetectorErrorEntry) SetMessageId(v string) *BatchUpdateDetectorErrorEntry { + s.MessageId = &v + return s +} + +type BatchUpdateDetectorInput struct { + _ struct{} `type:"structure"` + + // The list of detectors (instances) to update, along with the values to update. + // + // Detectors is a required field + Detectors []*UpdateDetectorRequest `locationName:"detectors" min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s BatchUpdateDetectorInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchUpdateDetectorInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchUpdateDetectorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchUpdateDetectorInput"} + if s.Detectors == nil { + invalidParams.Add(request.NewErrParamRequired("Detectors")) + } + if s.Detectors != nil && len(s.Detectors) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Detectors", 1)) + } + if s.Detectors != nil { + for i, v := range s.Detectors { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Detectors", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDetectors sets the Detectors field's value. +func (s *BatchUpdateDetectorInput) SetDetectors(v []*UpdateDetectorRequest) *BatchUpdateDetectorInput { + s.Detectors = v + return s +} + +type BatchUpdateDetectorOutput struct { + _ struct{} `type:"structure"` + + // A list of those detector updates that resulted in errors. (If an error is + // listed here, the specific update did not occur.) + BatchUpdateDetectorErrorEntries []*BatchUpdateDetectorErrorEntry `locationName:"batchUpdateDetectorErrorEntries" type:"list"` +} + +// String returns the string representation +func (s BatchUpdateDetectorOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchUpdateDetectorOutput) GoString() string { + return s.String() +} + +// SetBatchUpdateDetectorErrorEntries sets the BatchUpdateDetectorErrorEntries field's value. +func (s *BatchUpdateDetectorOutput) SetBatchUpdateDetectorErrorEntries(v []*BatchUpdateDetectorErrorEntry) *BatchUpdateDetectorOutput { + s.BatchUpdateDetectorErrorEntries = v + return s +} + +// Contains information about the action that you can take to respond to the +// alarm. +type CustomerAction struct { + _ struct{} `type:"structure"` + + // Contains the configuration information of an acknowledge action. + AcknowledgeActionConfiguration *AcknowledgeActionConfiguration `locationName:"acknowledgeActionConfiguration" type:"structure"` + + // The name of the action. The action name can be one of the following values: + // + // * SNOOZE - When you snooze the alarm, the alarm state changes to SNOOZE_DISABLED. + // + // * ENABLE - When you enable the alarm, the alarm state changes to NORMAL. + // + // * DISABLE - When you disable the alarm, the alarm state changes to DISABLED. + // + // * ACKNOWLEDGE - When you acknowledge the alarm, the alarm state changes + // to ACKNOWLEDGED. + // + // * RESET - When you reset the alarm, the alarm state changes to NORMAL. + // + // For more information, see the AlarmState (https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_AlarmState.html) + // API. + ActionName *string `locationName:"actionName" type:"string" enum:"CustomerActionName"` + + // Contains the configuration information of a disable action. + DisableActionConfiguration *DisableActionConfiguration `locationName:"disableActionConfiguration" type:"structure"` - // The code of the error. - ErrorCode *string `locationName:"errorCode" type:"string" enum:"ErrorCode"` + // Contains the configuration information of an enable action. + EnableActionConfiguration *EnableActionConfiguration `locationName:"enableActionConfiguration" type:"structure"` - // A message describing the error. - ErrorMessage *string `locationName:"errorMessage" type:"string"` + // Contains the configuration information of a reset action. + ResetActionConfiguration *ResetActionConfiguration `locationName:"resetActionConfiguration" type:"structure"` - // The "messageId" of the update request that caused the error. (The value of - // the "messageId" in the update request "Detector" object.) - MessageId *string `locationName:"messageId" min:"1" type:"string"` + // Contains the configuration information of a snooze action. + SnoozeActionConfiguration *SnoozeActionConfiguration `locationName:"snoozeActionConfiguration" type:"structure"` } // String returns the string representation -func (s BatchUpdateDetectorErrorEntry) String() string { +func (s CustomerAction) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchUpdateDetectorErrorEntry) GoString() string { +func (s CustomerAction) GoString() string { return s.String() } -// SetErrorCode sets the ErrorCode field's value. -func (s *BatchUpdateDetectorErrorEntry) SetErrorCode(v string) *BatchUpdateDetectorErrorEntry { - s.ErrorCode = &v +// SetAcknowledgeActionConfiguration sets the AcknowledgeActionConfiguration field's value. +func (s *CustomerAction) SetAcknowledgeActionConfiguration(v *AcknowledgeActionConfiguration) *CustomerAction { + s.AcknowledgeActionConfiguration = v return s } -// SetErrorMessage sets the ErrorMessage field's value. -func (s *BatchUpdateDetectorErrorEntry) SetErrorMessage(v string) *BatchUpdateDetectorErrorEntry { - s.ErrorMessage = &v +// SetActionName sets the ActionName field's value. +func (s *CustomerAction) SetActionName(v string) *CustomerAction { + s.ActionName = &v return s } -// SetMessageId sets the MessageId field's value. -func (s *BatchUpdateDetectorErrorEntry) SetMessageId(v string) *BatchUpdateDetectorErrorEntry { - s.MessageId = &v +// SetDisableActionConfiguration sets the DisableActionConfiguration field's value. +func (s *CustomerAction) SetDisableActionConfiguration(v *DisableActionConfiguration) *CustomerAction { + s.DisableActionConfiguration = v return s } -type BatchUpdateDetectorInput struct { +// SetEnableActionConfiguration sets the EnableActionConfiguration field's value. +func (s *CustomerAction) SetEnableActionConfiguration(v *EnableActionConfiguration) *CustomerAction { + s.EnableActionConfiguration = v + return s +} + +// SetResetActionConfiguration sets the ResetActionConfiguration field's value. +func (s *CustomerAction) SetResetActionConfiguration(v *ResetActionConfiguration) *CustomerAction { + s.ResetActionConfiguration = v + return s +} + +// SetSnoozeActionConfiguration sets the SnoozeActionConfiguration field's value. +func (s *CustomerAction) SetSnoozeActionConfiguration(v *SnoozeActionConfiguration) *CustomerAction { + s.SnoozeActionConfiguration = v + return s +} + +type DescribeAlarmInput struct { _ struct{} `type:"structure"` - // The list of detectors (instances) to update, along with the values to update. + // The name of the alarm model. // - // Detectors is a required field - Detectors []*UpdateDetectorRequest `locationName:"detectors" min:"1" type:"list" required:"true"` + // AlarmModelName is a required field + AlarmModelName *string `location:"uri" locationName:"alarmModelName" min:"1" type:"string" required:"true"` + + // The value of the key used as a filter to select only the alarms associated + // with the key (https://docs.aws.amazon.com/iotevents/latest/apireference/API_CreateAlarmModel.html#iotevents-CreateAlarmModel-request-key). + KeyValue *string `location:"querystring" locationName:"keyValue" min:"1" type:"string"` } // String returns the string representation -func (s BatchUpdateDetectorInput) String() string { +func (s DescribeAlarmInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchUpdateDetectorInput) GoString() string { +func (s DescribeAlarmInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchUpdateDetectorInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchUpdateDetectorInput"} - if s.Detectors == nil { - invalidParams.Add(request.NewErrParamRequired("Detectors")) +func (s *DescribeAlarmInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAlarmInput"} + if s.AlarmModelName == nil { + invalidParams.Add(request.NewErrParamRequired("AlarmModelName")) } - if s.Detectors != nil && len(s.Detectors) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Detectors", 1)) + if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1)) } - if s.Detectors != nil { - for i, v := range s.Detectors { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Detectors", i), err.(request.ErrInvalidParams)) - } - } + if s.KeyValue != nil && len(*s.KeyValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyValue", 1)) } if invalidParams.Len() > 0 { @@ -582,33 +2151,38 @@ func (s *BatchUpdateDetectorInput) Validate() error { return nil } -// SetDetectors sets the Detectors field's value. -func (s *BatchUpdateDetectorInput) SetDetectors(v []*UpdateDetectorRequest) *BatchUpdateDetectorInput { - s.Detectors = v +// SetAlarmModelName sets the AlarmModelName field's value. +func (s *DescribeAlarmInput) SetAlarmModelName(v string) *DescribeAlarmInput { + s.AlarmModelName = &v return s } -type BatchUpdateDetectorOutput struct { +// SetKeyValue sets the KeyValue field's value. +func (s *DescribeAlarmInput) SetKeyValue(v string) *DescribeAlarmInput { + s.KeyValue = &v + return s +} + +type DescribeAlarmOutput struct { _ struct{} `type:"structure"` - // A list of those detector updates that resulted in errors. (If an error is - // listed here, the specific update did not occur.) - BatchUpdateDetectorErrorEntries []*BatchUpdateDetectorErrorEntry `locationName:"batchUpdateDetectorErrorEntries" type:"list"` + // Contains information about an alarm. + Alarm *Alarm `locationName:"alarm" type:"structure"` } // String returns the string representation -func (s BatchUpdateDetectorOutput) String() string { +func (s DescribeAlarmOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BatchUpdateDetectorOutput) GoString() string { +func (s DescribeAlarmOutput) GoString() string { return s.String() } -// SetBatchUpdateDetectorErrorEntries sets the BatchUpdateDetectorErrorEntries field's value. -func (s *BatchUpdateDetectorOutput) SetBatchUpdateDetectorErrorEntries(v []*BatchUpdateDetectorErrorEntry) *BatchUpdateDetectorOutput { - s.BatchUpdateDetectorErrorEntries = v +// SetAlarm sets the Alarm field's value. +func (s *DescribeAlarmOutput) SetAlarm(v *Alarm) *DescribeAlarmOutput { + s.Alarm = v return s } @@ -841,39 +2415,232 @@ func (s DetectorStateDefinition) GoString() string { } // Validate inspects the fields of the type to determine if they are valid. -func (s *DetectorStateDefinition) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DetectorStateDefinition"} - if s.StateName == nil { - invalidParams.Add(request.NewErrParamRequired("StateName")) +func (s *DetectorStateDefinition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DetectorStateDefinition"} + if s.StateName == nil { + invalidParams.Add(request.NewErrParamRequired("StateName")) + } + if s.StateName != nil && len(*s.StateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StateName", 1)) + } + if s.Timers == nil { + invalidParams.Add(request.NewErrParamRequired("Timers")) + } + if s.Variables == nil { + invalidParams.Add(request.NewErrParamRequired("Variables")) + } + if s.Timers != nil { + for i, v := range s.Timers { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Timers", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Variables != nil { + for i, v := range s.Variables { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Variables", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStateName sets the StateName field's value. +func (s *DetectorStateDefinition) SetStateName(v string) *DetectorStateDefinition { + s.StateName = &v + return s +} + +// SetTimers sets the Timers field's value. +func (s *DetectorStateDefinition) SetTimers(v []*TimerDefinition) *DetectorStateDefinition { + s.Timers = v + return s +} + +// SetVariables sets the Variables field's value. +func (s *DetectorStateDefinition) SetVariables(v []*VariableDefinition) *DetectorStateDefinition { + s.Variables = v + return s +} + +// Information about the detector state. +type DetectorStateSummary struct { + _ struct{} `type:"structure"` + + // The name of the state. + StateName *string `locationName:"stateName" min:"1" type:"string"` +} + +// String returns the string representation +func (s DetectorStateSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DetectorStateSummary) GoString() string { + return s.String() +} + +// SetStateName sets the StateName field's value. +func (s *DetectorStateSummary) SetStateName(v string) *DetectorStateSummary { + s.StateName = &v + return s +} + +// Information about the detector (instance). +type DetectorSummary struct { + _ struct{} `type:"structure"` + + // The time the detector (instance) was created. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // The name of the detector model that created this detector (instance). + DetectorModelName *string `locationName:"detectorModelName" min:"1" type:"string"` + + // The version of the detector model that created this detector (instance). + DetectorModelVersion *string `locationName:"detectorModelVersion" min:"1" type:"string"` + + // The value of the key (identifying the device or system) that caused the creation + // of this detector (instance). + KeyValue *string `locationName:"keyValue" min:"1" type:"string"` + + // The time the detector (instance) was last updated. + LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"` + + // The current state of the detector (instance). + State *DetectorStateSummary `locationName:"state" type:"structure"` +} + +// String returns the string representation +func (s DetectorSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DetectorSummary) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DetectorSummary) SetCreationTime(v time.Time) *DetectorSummary { + s.CreationTime = &v + return s +} + +// SetDetectorModelName sets the DetectorModelName field's value. +func (s *DetectorSummary) SetDetectorModelName(v string) *DetectorSummary { + s.DetectorModelName = &v + return s +} + +// SetDetectorModelVersion sets the DetectorModelVersion field's value. +func (s *DetectorSummary) SetDetectorModelVersion(v string) *DetectorSummary { + s.DetectorModelVersion = &v + return s +} + +// SetKeyValue sets the KeyValue field's value. +func (s *DetectorSummary) SetKeyValue(v string) *DetectorSummary { + s.KeyValue = &v + return s +} + +// SetLastUpdateTime sets the LastUpdateTime field's value. +func (s *DetectorSummary) SetLastUpdateTime(v time.Time) *DetectorSummary { + s.LastUpdateTime = &v + return s +} + +// SetState sets the State field's value. +func (s *DetectorSummary) SetState(v *DetectorStateSummary) *DetectorSummary { + s.State = v + return s +} + +// Contains the configuration information of a disable action. +type DisableActionConfiguration struct { + _ struct{} `type:"structure"` + + // The note that you can leave when you disable the alarm. + Note *string `locationName:"note" type:"string"` +} + +// String returns the string representation +func (s DisableActionConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisableActionConfiguration) GoString() string { + return s.String() +} + +// SetNote sets the Note field's value. +func (s *DisableActionConfiguration) SetNote(v string) *DisableActionConfiguration { + s.Note = &v + return s +} + +// Information used to disable the alarm. +type DisableAlarmActionRequest struct { + _ struct{} `type:"structure"` + + // The name of the alarm model. + // + // AlarmModelName is a required field + AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string" required:"true"` + + // The value of the key used as a filter to select only the alarms associated + // with the key (https://docs.aws.amazon.com/iotevents/latest/apireference/API_CreateAlarmModel.html#iotevents-CreateAlarmModel-request-key). + KeyValue *string `locationName:"keyValue" min:"1" type:"string"` + + // The note that you can leave when you disable the alarm. + Note *string `locationName:"note" type:"string"` + + // The request ID. Each ID must be unique within each batch. + // + // RequestId is a required field + RequestId *string `locationName:"requestId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisableAlarmActionRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisableAlarmActionRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisableAlarmActionRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisableAlarmActionRequest"} + if s.AlarmModelName == nil { + invalidParams.Add(request.NewErrParamRequired("AlarmModelName")) } - if s.StateName != nil && len(*s.StateName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("StateName", 1)) - } - if s.Timers == nil { - invalidParams.Add(request.NewErrParamRequired("Timers")) + if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1)) } - if s.Variables == nil { - invalidParams.Add(request.NewErrParamRequired("Variables")) + if s.KeyValue != nil && len(*s.KeyValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyValue", 1)) } - if s.Timers != nil { - for i, v := range s.Timers { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Timers", i), err.(request.ErrInvalidParams)) - } - } + if s.RequestId == nil { + invalidParams.Add(request.NewErrParamRequired("RequestId")) } - if s.Variables != nil { - for i, v := range s.Variables { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Variables", i), err.(request.ErrInvalidParams)) - } - } + if s.RequestId != nil && len(*s.RequestId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RequestId", 1)) } if invalidParams.Len() > 0 { @@ -882,119 +2649,136 @@ func (s *DetectorStateDefinition) Validate() error { return nil } -// SetStateName sets the StateName field's value. -func (s *DetectorStateDefinition) SetStateName(v string) *DetectorStateDefinition { - s.StateName = &v +// SetAlarmModelName sets the AlarmModelName field's value. +func (s *DisableAlarmActionRequest) SetAlarmModelName(v string) *DisableAlarmActionRequest { + s.AlarmModelName = &v return s } -// SetTimers sets the Timers field's value. -func (s *DetectorStateDefinition) SetTimers(v []*TimerDefinition) *DetectorStateDefinition { - s.Timers = v +// SetKeyValue sets the KeyValue field's value. +func (s *DisableAlarmActionRequest) SetKeyValue(v string) *DisableAlarmActionRequest { + s.KeyValue = &v return s } -// SetVariables sets the Variables field's value. -func (s *DetectorStateDefinition) SetVariables(v []*VariableDefinition) *DetectorStateDefinition { - s.Variables = v +// SetNote sets the Note field's value. +func (s *DisableAlarmActionRequest) SetNote(v string) *DisableAlarmActionRequest { + s.Note = &v return s } -// Information about the detector state. -type DetectorStateSummary struct { +// SetRequestId sets the RequestId field's value. +func (s *DisableAlarmActionRequest) SetRequestId(v string) *DisableAlarmActionRequest { + s.RequestId = &v + return s +} + +// Contains the configuration information of an enable action. +type EnableActionConfiguration struct { _ struct{} `type:"structure"` - // The name of the state. - StateName *string `locationName:"stateName" min:"1" type:"string"` + // The note that you can leave when you enable the alarm. + Note *string `locationName:"note" type:"string"` } // String returns the string representation -func (s DetectorStateSummary) String() string { +func (s EnableActionConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DetectorStateSummary) GoString() string { +func (s EnableActionConfiguration) GoString() string { return s.String() } -// SetStateName sets the StateName field's value. -func (s *DetectorStateSummary) SetStateName(v string) *DetectorStateSummary { - s.StateName = &v +// SetNote sets the Note field's value. +func (s *EnableActionConfiguration) SetNote(v string) *EnableActionConfiguration { + s.Note = &v return s } -// Information about the detector (instance). -type DetectorSummary struct { +// Information needed to enable the alarm. +type EnableAlarmActionRequest struct { _ struct{} `type:"structure"` - // The time the detector (instance) was created. - CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` - - // The name of the detector model that created this detector (instance). - DetectorModelName *string `locationName:"detectorModelName" min:"1" type:"string"` - - // The version of the detector model that created this detector (instance). - DetectorModelVersion *string `locationName:"detectorModelVersion" min:"1" type:"string"` + // The name of the alarm model. + // + // AlarmModelName is a required field + AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string" required:"true"` - // The value of the key (identifying the device or system) that caused the creation - // of this detector (instance). + // The value of the key used as a filter to select only the alarms associated + // with the key (https://docs.aws.amazon.com/iotevents/latest/apireference/API_CreateAlarmModel.html#iotevents-CreateAlarmModel-request-key). KeyValue *string `locationName:"keyValue" min:"1" type:"string"` - // The time the detector (instance) was last updated. - LastUpdateTime *time.Time `locationName:"lastUpdateTime" type:"timestamp"` + // The note that you can leave when you enable the alarm. + Note *string `locationName:"note" type:"string"` - // The current state of the detector (instance). - State *DetectorStateSummary `locationName:"state" type:"structure"` + // The request ID. Each ID must be unique within each batch. + // + // RequestId is a required field + RequestId *string `locationName:"requestId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DetectorSummary) String() string { +func (s EnableAlarmActionRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DetectorSummary) GoString() string { +func (s EnableAlarmActionRequest) GoString() string { return s.String() } -// SetCreationTime sets the CreationTime field's value. -func (s *DetectorSummary) SetCreationTime(v time.Time) *DetectorSummary { - s.CreationTime = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *EnableAlarmActionRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnableAlarmActionRequest"} + if s.AlarmModelName == nil { + invalidParams.Add(request.NewErrParamRequired("AlarmModelName")) + } + if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1)) + } + if s.KeyValue != nil && len(*s.KeyValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyValue", 1)) + } + if s.RequestId == nil { + invalidParams.Add(request.NewErrParamRequired("RequestId")) + } + if s.RequestId != nil && len(*s.RequestId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RequestId", 1)) + } -// SetDetectorModelName sets the DetectorModelName field's value. -func (s *DetectorSummary) SetDetectorModelName(v string) *DetectorSummary { - s.DetectorModelName = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetDetectorModelVersion sets the DetectorModelVersion field's value. -func (s *DetectorSummary) SetDetectorModelVersion(v string) *DetectorSummary { - s.DetectorModelVersion = &v +// SetAlarmModelName sets the AlarmModelName field's value. +func (s *EnableAlarmActionRequest) SetAlarmModelName(v string) *EnableAlarmActionRequest { + s.AlarmModelName = &v return s } // SetKeyValue sets the KeyValue field's value. -func (s *DetectorSummary) SetKeyValue(v string) *DetectorSummary { +func (s *EnableAlarmActionRequest) SetKeyValue(v string) *EnableAlarmActionRequest { s.KeyValue = &v return s } -// SetLastUpdateTime sets the LastUpdateTime field's value. -func (s *DetectorSummary) SetLastUpdateTime(v time.Time) *DetectorSummary { - s.LastUpdateTime = &v +// SetNote sets the Note field's value. +func (s *EnableAlarmActionRequest) SetNote(v string) *EnableAlarmActionRequest { + s.Note = &v return s } -// SetState sets the State field's value. -func (s *DetectorSummary) SetState(v *DetectorStateSummary) *DetectorSummary { - s.State = v +// SetRequestId sets the RequestId field's value. +func (s *EnableAlarmActionRequest) SetRequestId(v string) *EnableAlarmActionRequest { + s.RequestId = &v return s } -// An internal failure occured. +// An internal failure occurred. type InternalFailureException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -1108,6 +2892,101 @@ func (s *InvalidRequestException) RequestID() string { return s.RespMetadata.RequestID } +type ListAlarmsInput struct { + _ struct{} `type:"structure"` + + // The name of the alarm model. + // + // AlarmModelName is a required field + AlarmModelName *string `location:"uri" locationName:"alarmModelName" min:"1" type:"string" required:"true"` + + // The maximum number of results to be returned per request. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token that you can use to return the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListAlarmsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAlarmsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAlarmsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAlarmsInput"} + if s.AlarmModelName == nil { + invalidParams.Add(request.NewErrParamRequired("AlarmModelName")) + } + if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlarmModelName sets the AlarmModelName field's value. +func (s *ListAlarmsInput) SetAlarmModelName(v string) *ListAlarmsInput { + s.AlarmModelName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListAlarmsInput) SetMaxResults(v int64) *ListAlarmsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAlarmsInput) SetNextToken(v string) *ListAlarmsInput { + s.NextToken = &v + return s +} + +type ListAlarmsOutput struct { + _ struct{} `type:"structure"` + + // A list that summarizes each alarm. + AlarmSummaries []*AlarmSummary `locationName:"alarmSummaries" type:"list"` + + // The token that you can use to return the next set of results, or null if + // there are no more results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListAlarmsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAlarmsOutput) GoString() string { + return s.String() +} + +// SetAlarmSummaries sets the AlarmSummaries field's value. +func (s *ListAlarmsOutput) SetAlarmSummaries(v []*AlarmSummary) *ListAlarmsOutput { + s.AlarmSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAlarmsOutput) SetNextToken(v string) *ListAlarmsOutput { + s.NextToken = &v + return s +} + type ListDetectorsInput struct { _ struct{} `type:"structure"` @@ -1116,10 +2995,10 @@ type ListDetectorsInput struct { // DetectorModelName is a required field DetectorModelName *string `location:"uri" locationName:"detectorModelName" min:"1" type:"string" required:"true"` - // The maximum number of results to return at one time. + // The maximum number of results to be returned per request. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The token for the next set of results. + // The token that you can use to return the next set of results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` // A filter that limits results to those detectors (instances) in the given @@ -1189,8 +3068,8 @@ type ListDetectorsOutput struct { // A list of summary information about the detectors (instances). DetectorSummaries []*DetectorSummary `locationName:"detectorSummaries" type:"list"` - // A token to retrieve the next set of results, or null if there are no additional - // results. + // The token that you can use to return the next set of results, or null if + // there are no more results. NextToken *string `locationName:"nextToken" type:"string"` } @@ -1231,42 +3110,155 @@ type Message struct { // MessageId is a required field MessageId *string `locationName:"messageId" min:"1" type:"string" required:"true"` - // The payload of the message. This can be a JSON string or a Base-64-encoded - // string representing binary data (in which case you must decode it). + // The payload of the message. This can be a JSON string or a Base-64-encoded + // string representing binary data (in which case you must decode it). + // + // Payload is automatically base64 encoded/decoded by the SDK. + // + // Payload is a required field + Payload []byte `locationName:"payload" type:"blob" required:"true"` + + // The timestamp associated with the message. + Timestamp *TimestampValue `locationName:"timestamp" type:"structure"` +} + +// String returns the string representation +func (s Message) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Message) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Message) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Message"} + if s.InputName == nil { + invalidParams.Add(request.NewErrParamRequired("InputName")) + } + if s.InputName != nil && len(*s.InputName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputName", 1)) + } + if s.MessageId == nil { + invalidParams.Add(request.NewErrParamRequired("MessageId")) + } + if s.MessageId != nil && len(*s.MessageId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MessageId", 1)) + } + if s.Payload == nil { + invalidParams.Add(request.NewErrParamRequired("Payload")) + } + if s.Timestamp != nil { + if err := s.Timestamp.Validate(); err != nil { + invalidParams.AddNested("Timestamp", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputName sets the InputName field's value. +func (s *Message) SetInputName(v string) *Message { + s.InputName = &v + return s +} + +// SetMessageId sets the MessageId field's value. +func (s *Message) SetMessageId(v string) *Message { + s.MessageId = &v + return s +} + +// SetPayload sets the Payload field's value. +func (s *Message) SetPayload(v []byte) *Message { + s.Payload = v + return s +} + +// SetTimestamp sets the Timestamp field's value. +func (s *Message) SetTimestamp(v *TimestampValue) *Message { + s.Timestamp = v + return s +} + +// Contains the configuration information of a reset action. +type ResetActionConfiguration struct { + _ struct{} `type:"structure"` + + // The note that you can leave when you reset the alarm. + Note *string `locationName:"note" type:"string"` +} + +// String returns the string representation +func (s ResetActionConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResetActionConfiguration) GoString() string { + return s.String() +} + +// SetNote sets the Note field's value. +func (s *ResetActionConfiguration) SetNote(v string) *ResetActionConfiguration { + s.Note = &v + return s +} + +// Information needed to reset the alarm. +type ResetAlarmActionRequest struct { + _ struct{} `type:"structure"` + + // The name of the alarm model. // - // Payload is automatically base64 encoded/decoded by the SDK. + // AlarmModelName is a required field + AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string" required:"true"` + + // The value of the key used as a filter to select only the alarms associated + // with the key (https://docs.aws.amazon.com/iotevents/latest/apireference/API_CreateAlarmModel.html#iotevents-CreateAlarmModel-request-key). + KeyValue *string `locationName:"keyValue" min:"1" type:"string"` + + // The note that you can leave when you reset the alarm. + Note *string `locationName:"note" type:"string"` + + // The request ID. Each ID must be unique within each batch. // - // Payload is a required field - Payload []byte `locationName:"payload" type:"blob" required:"true"` + // RequestId is a required field + RequestId *string `locationName:"requestId" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s Message) String() string { +func (s ResetAlarmActionRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Message) GoString() string { +func (s ResetAlarmActionRequest) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Message) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Message"} - if s.InputName == nil { - invalidParams.Add(request.NewErrParamRequired("InputName")) +func (s *ResetAlarmActionRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResetAlarmActionRequest"} + if s.AlarmModelName == nil { + invalidParams.Add(request.NewErrParamRequired("AlarmModelName")) } - if s.InputName != nil && len(*s.InputName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("InputName", 1)) + if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1)) } - if s.MessageId == nil { - invalidParams.Add(request.NewErrParamRequired("MessageId")) + if s.KeyValue != nil && len(*s.KeyValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyValue", 1)) } - if s.MessageId != nil && len(*s.MessageId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MessageId", 1)) + if s.RequestId == nil { + invalidParams.Add(request.NewErrParamRequired("RequestId")) } - if s.Payload == nil { - invalidParams.Add(request.NewErrParamRequired("Payload")) + if s.RequestId != nil && len(*s.RequestId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RequestId", 1)) } if invalidParams.Len() > 0 { @@ -1275,21 +3267,27 @@ func (s *Message) Validate() error { return nil } -// SetInputName sets the InputName field's value. -func (s *Message) SetInputName(v string) *Message { - s.InputName = &v +// SetAlarmModelName sets the AlarmModelName field's value. +func (s *ResetAlarmActionRequest) SetAlarmModelName(v string) *ResetAlarmActionRequest { + s.AlarmModelName = &v return s } -// SetMessageId sets the MessageId field's value. -func (s *Message) SetMessageId(v string) *Message { - s.MessageId = &v +// SetKeyValue sets the KeyValue field's value. +func (s *ResetAlarmActionRequest) SetKeyValue(v string) *ResetAlarmActionRequest { + s.KeyValue = &v return s } -// SetPayload sets the Payload field's value. -func (s *Message) SetPayload(v []byte) *Message { - s.Payload = v +// SetNote sets the Note field's value. +func (s *ResetAlarmActionRequest) SetNote(v string) *ResetAlarmActionRequest { + s.Note = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *ResetAlarmActionRequest) SetRequestId(v string) *ResetAlarmActionRequest { + s.RequestId = &v return s } @@ -1350,6 +3348,30 @@ func (s *ResourceNotFoundException) RequestID() string { return s.RespMetadata.RequestID } +// Information needed to evaluate data. +type RuleEvaluation struct { + _ struct{} `type:"structure"` + + // Information needed to compare two values with a comparison operator. + SimpleRuleEvaluation *SimpleRuleEvaluation `locationName:"simpleRuleEvaluation" type:"structure"` +} + +// String returns the string representation +func (s RuleEvaluation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RuleEvaluation) GoString() string { + return s.String() +} + +// SetSimpleRuleEvaluation sets the SimpleRuleEvaluation field's value. +func (s *RuleEvaluation) SetSimpleRuleEvaluation(v *SimpleRuleEvaluation) *RuleEvaluation { + s.SimpleRuleEvaluation = v + return s +} + // The service is currently unavailable. type ServiceUnavailableException struct { _ struct{} `type:"structure"` @@ -1407,6 +3429,237 @@ func (s *ServiceUnavailableException) RequestID() string { return s.RespMetadata.RequestID } +// Information needed to compare two values with a comparison operator. +type SimpleRuleEvaluation struct { + _ struct{} `type:"structure"` + + // The value of the input property, on the left side of the comparison operator. + InputPropertyValue *string `locationName:"inputPropertyValue" type:"string"` + + // The comparison operator. + Operator *string `locationName:"operator" type:"string" enum:"ComparisonOperator"` + + // The threshold value, on the right side of the comparison operator. + ThresholdValue *string `locationName:"thresholdValue" type:"string"` +} + +// String returns the string representation +func (s SimpleRuleEvaluation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SimpleRuleEvaluation) GoString() string { + return s.String() +} + +// SetInputPropertyValue sets the InputPropertyValue field's value. +func (s *SimpleRuleEvaluation) SetInputPropertyValue(v string) *SimpleRuleEvaluation { + s.InputPropertyValue = &v + return s +} + +// SetOperator sets the Operator field's value. +func (s *SimpleRuleEvaluation) SetOperator(v string) *SimpleRuleEvaluation { + s.Operator = &v + return s +} + +// SetThresholdValue sets the ThresholdValue field's value. +func (s *SimpleRuleEvaluation) SetThresholdValue(v string) *SimpleRuleEvaluation { + s.ThresholdValue = &v + return s +} + +// Contains the configuration information of a snooze action. +type SnoozeActionConfiguration struct { + _ struct{} `type:"structure"` + + // The note that you can leave when you snooze the alarm. + Note *string `locationName:"note" type:"string"` + + // The snooze time in seconds. The alarm automatically changes to the NORMAL + // state after this duration. + SnoozeDuration *int64 `locationName:"snoozeDuration" type:"integer"` +} + +// String returns the string representation +func (s SnoozeActionConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SnoozeActionConfiguration) GoString() string { + return s.String() +} + +// SetNote sets the Note field's value. +func (s *SnoozeActionConfiguration) SetNote(v string) *SnoozeActionConfiguration { + s.Note = &v + return s +} + +// SetSnoozeDuration sets the SnoozeDuration field's value. +func (s *SnoozeActionConfiguration) SetSnoozeDuration(v int64) *SnoozeActionConfiguration { + s.SnoozeDuration = &v + return s +} + +// Information needed to snooze the alarm. +type SnoozeAlarmActionRequest struct { + _ struct{} `type:"structure"` + + // The name of the alarm model. + // + // AlarmModelName is a required field + AlarmModelName *string `locationName:"alarmModelName" min:"1" type:"string" required:"true"` + + // The value of the key used as a filter to select only the alarms associated + // with the key (https://docs.aws.amazon.com/iotevents/latest/apireference/API_CreateAlarmModel.html#iotevents-CreateAlarmModel-request-key). + KeyValue *string `locationName:"keyValue" min:"1" type:"string"` + + // The note that you can leave when you snooze the alarm. + Note *string `locationName:"note" type:"string"` + + // The request ID. Each ID must be unique within each batch. + // + // RequestId is a required field + RequestId *string `locationName:"requestId" min:"1" type:"string" required:"true"` + + // The snooze time in seconds. The alarm automatically changes to the NORMAL + // state after this duration. + // + // SnoozeDuration is a required field + SnoozeDuration *int64 `locationName:"snoozeDuration" type:"integer" required:"true"` +} + +// String returns the string representation +func (s SnoozeAlarmActionRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SnoozeAlarmActionRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SnoozeAlarmActionRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SnoozeAlarmActionRequest"} + if s.AlarmModelName == nil { + invalidParams.Add(request.NewErrParamRequired("AlarmModelName")) + } + if s.AlarmModelName != nil && len(*s.AlarmModelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlarmModelName", 1)) + } + if s.KeyValue != nil && len(*s.KeyValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KeyValue", 1)) + } + if s.RequestId == nil { + invalidParams.Add(request.NewErrParamRequired("RequestId")) + } + if s.RequestId != nil && len(*s.RequestId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RequestId", 1)) + } + if s.SnoozeDuration == nil { + invalidParams.Add(request.NewErrParamRequired("SnoozeDuration")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlarmModelName sets the AlarmModelName field's value. +func (s *SnoozeAlarmActionRequest) SetAlarmModelName(v string) *SnoozeAlarmActionRequest { + s.AlarmModelName = &v + return s +} + +// SetKeyValue sets the KeyValue field's value. +func (s *SnoozeAlarmActionRequest) SetKeyValue(v string) *SnoozeAlarmActionRequest { + s.KeyValue = &v + return s +} + +// SetNote sets the Note field's value. +func (s *SnoozeAlarmActionRequest) SetNote(v string) *SnoozeAlarmActionRequest { + s.Note = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *SnoozeAlarmActionRequest) SetRequestId(v string) *SnoozeAlarmActionRequest { + s.RequestId = &v + return s +} + +// SetSnoozeDuration sets the SnoozeDuration field's value. +func (s *SnoozeAlarmActionRequest) SetSnoozeDuration(v int64) *SnoozeAlarmActionRequest { + s.SnoozeDuration = &v + return s +} + +// Contains the configuration information of alarm state changes. +type StateChangeConfiguration struct { + _ struct{} `type:"structure"` + + // The trigger type. If the value is SNOOZE_TIMEOUT, the snooze duration ends + // and the alarm automatically changes to the NORMAL state. + TriggerType *string `locationName:"triggerType" type:"string" enum:"TriggerType"` +} + +// String returns the string representation +func (s StateChangeConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StateChangeConfiguration) GoString() string { + return s.String() +} + +// SetTriggerType sets the TriggerType field's value. +func (s *StateChangeConfiguration) SetTriggerType(v string) *StateChangeConfiguration { + s.TriggerType = &v + return s +} + +// Contains information about alarm state changes. +type SystemEvent struct { + _ struct{} `type:"structure"` + + // The event type. If the value is STATE_CHANGE, the event contains information + // about alarm state changes. + EventType *string `locationName:"eventType" type:"string" enum:"EventType"` + + // Contains the configuration information of alarm state changes. + StateChangeConfiguration *StateChangeConfiguration `locationName:"stateChangeConfiguration" type:"structure"` +} + +// String returns the string representation +func (s SystemEvent) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SystemEvent) GoString() string { + return s.String() +} + +// SetEventType sets the EventType field's value. +func (s *SystemEvent) SetEventType(v string) *SystemEvent { + s.EventType = &v + return s +} + +// SetStateChangeConfiguration sets the StateChangeConfiguration field's value. +func (s *SystemEvent) SetStateChangeConfiguration(v *StateChangeConfiguration) *SystemEvent { + s.StateChangeConfiguration = v + return s +} + // The request could not be completed due to throttling. type ThrottlingException struct { _ struct{} `type:"structure"` @@ -1557,6 +3810,43 @@ func (s *TimerDefinition) SetSeconds(v int64) *TimerDefinition { return s } +// Contains information about a timestamp. +type TimestampValue struct { + _ struct{} `type:"structure"` + + // The value of the timestamp, in the Unix epoch format. + TimeInMillis *int64 `locationName:"timeInMillis" min:"1" type:"long"` +} + +// String returns the string representation +func (s TimestampValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TimestampValue) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TimestampValue) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TimestampValue"} + if s.TimeInMillis != nil && *s.TimeInMillis < 1 { + invalidParams.Add(request.NewErrParamMinValue("TimeInMillis", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTimeInMillis sets the TimeInMillis field's value. +func (s *TimestampValue) SetTimeInMillis(v int64) *TimestampValue { + s.TimeInMillis = &v + return s +} + // Information used to update the detector (instance). type UpdateDetectorRequest struct { _ struct{} `type:"structure"` @@ -1745,6 +4035,98 @@ func (s *VariableDefinition) SetValue(v string) *VariableDefinition { return s } +const ( + // AlarmStateNameDisabled is a AlarmStateName enum value + AlarmStateNameDisabled = "DISABLED" + + // AlarmStateNameNormal is a AlarmStateName enum value + AlarmStateNameNormal = "NORMAL" + + // AlarmStateNameActive is a AlarmStateName enum value + AlarmStateNameActive = "ACTIVE" + + // AlarmStateNameAcknowledged is a AlarmStateName enum value + AlarmStateNameAcknowledged = "ACKNOWLEDGED" + + // AlarmStateNameSnoozeDisabled is a AlarmStateName enum value + AlarmStateNameSnoozeDisabled = "SNOOZE_DISABLED" + + // AlarmStateNameLatched is a AlarmStateName enum value + AlarmStateNameLatched = "LATCHED" +) + +// AlarmStateName_Values returns all elements of the AlarmStateName enum +func AlarmStateName_Values() []string { + return []string{ + AlarmStateNameDisabled, + AlarmStateNameNormal, + AlarmStateNameActive, + AlarmStateNameAcknowledged, + AlarmStateNameSnoozeDisabled, + AlarmStateNameLatched, + } +} + +const ( + // ComparisonOperatorGreater is a ComparisonOperator enum value + ComparisonOperatorGreater = "GREATER" + + // ComparisonOperatorGreaterOrEqual is a ComparisonOperator enum value + ComparisonOperatorGreaterOrEqual = "GREATER_OR_EQUAL" + + // ComparisonOperatorLess is a ComparisonOperator enum value + ComparisonOperatorLess = "LESS" + + // ComparisonOperatorLessOrEqual is a ComparisonOperator enum value + ComparisonOperatorLessOrEqual = "LESS_OR_EQUAL" + + // ComparisonOperatorEqual is a ComparisonOperator enum value + ComparisonOperatorEqual = "EQUAL" + + // ComparisonOperatorNotEqual is a ComparisonOperator enum value + ComparisonOperatorNotEqual = "NOT_EQUAL" +) + +// ComparisonOperator_Values returns all elements of the ComparisonOperator enum +func ComparisonOperator_Values() []string { + return []string{ + ComparisonOperatorGreater, + ComparisonOperatorGreaterOrEqual, + ComparisonOperatorLess, + ComparisonOperatorLessOrEqual, + ComparisonOperatorEqual, + ComparisonOperatorNotEqual, + } +} + +const ( + // CustomerActionNameSnooze is a CustomerActionName enum value + CustomerActionNameSnooze = "SNOOZE" + + // CustomerActionNameEnable is a CustomerActionName enum value + CustomerActionNameEnable = "ENABLE" + + // CustomerActionNameDisable is a CustomerActionName enum value + CustomerActionNameDisable = "DISABLE" + + // CustomerActionNameAcknowledge is a CustomerActionName enum value + CustomerActionNameAcknowledge = "ACKNOWLEDGE" + + // CustomerActionNameReset is a CustomerActionName enum value + CustomerActionNameReset = "RESET" +) + +// CustomerActionName_Values returns all elements of the CustomerActionName enum +func CustomerActionName_Values() []string { + return []string{ + CustomerActionNameSnooze, + CustomerActionNameEnable, + CustomerActionNameDisable, + CustomerActionNameAcknowledge, + CustomerActionNameReset, + } +} + const ( // ErrorCodeResourceNotFoundException is a ErrorCode enum value ErrorCodeResourceNotFoundException = "ResourceNotFoundException" @@ -1772,3 +4154,27 @@ func ErrorCode_Values() []string { ErrorCodeThrottlingException, } } + +const ( + // EventTypeStateChange is a EventType enum value + EventTypeStateChange = "STATE_CHANGE" +) + +// EventType_Values returns all elements of the EventType enum +func EventType_Values() []string { + return []string{ + EventTypeStateChange, + } +} + +const ( + // TriggerTypeSnoozeTimeout is a TriggerType enum value + TriggerTypeSnoozeTimeout = "SNOOZE_TIMEOUT" +) + +// TriggerType_Values returns all elements of the TriggerType enum +func TriggerType_Values() []string { + return []string{ + TriggerTypeSnoozeTimeout, + } +} diff --git a/service/ioteventsdata/doc.go b/service/ioteventsdata/doc.go index fef491c7f73..e25e8859ef5 100644 --- a/service/ioteventsdata/doc.go +++ b/service/ioteventsdata/doc.go @@ -4,10 +4,13 @@ // requests to AWS IoT Events Data. // // AWS IoT Events monitors your equipment or device fleets for failures or changes -// in operation, and triggers actions when such events occur. AWS IoT Events -// Data API commands enable you to send inputs to detectors, list detectors, +// in operation, and triggers actions when such events occur. You can use AWS +// IoT Events Data API commands to send inputs to detectors, list detectors, // and view or update a detector's status. // +// For more information, see What is AWS IoT Events? (https://docs.aws.amazon.com/iotevents/latest/developerguide/what-is-iotevents.html) +// in the AWS IoT Events Developer Guide. +// // See https://docs.aws.amazon.com/goto/WebAPI/iotevents-data-2018-10-23 for more information on this service. // // See ioteventsdata package documentation for more information. diff --git a/service/ioteventsdata/errors.go b/service/ioteventsdata/errors.go index 3f46a5919c5..566150a1ef8 100644 --- a/service/ioteventsdata/errors.go +++ b/service/ioteventsdata/errors.go @@ -11,7 +11,7 @@ const ( // ErrCodeInternalFailureException for service response error code // "InternalFailureException". // - // An internal failure occured. + // An internal failure occurred. ErrCodeInternalFailureException = "InternalFailureException" // ErrCodeInvalidRequestException for service response error code diff --git a/service/ioteventsdata/ioteventsdataiface/interface.go b/service/ioteventsdata/ioteventsdataiface/interface.go index 349178bb98e..7a4e1267888 100644 --- a/service/ioteventsdata/ioteventsdataiface/interface.go +++ b/service/ioteventsdata/ioteventsdataiface/interface.go @@ -26,7 +26,7 @@ import ( // // myFunc uses an SDK service client to make a request to // // AWS IoT Events Data. // func myFunc(svc ioteventsdataiface.IoTEventsDataAPI) bool { -// // Make svc.BatchPutMessage request +// // Make svc.BatchAcknowledgeAlarm request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockIoTEventsDataClient struct { // ioteventsdataiface.IoTEventsDataAPI // } -// func (m *mockIoTEventsDataClient) BatchPutMessage(input *ioteventsdata.BatchPutMessageInput) (*ioteventsdata.BatchPutMessageOutput, error) { +// func (m *mockIoTEventsDataClient) BatchAcknowledgeAlarm(input *ioteventsdata.BatchAcknowledgeAlarmInput) (*ioteventsdata.BatchAcknowledgeAlarmOutput, error) { // // mock response/functionality // } // @@ -60,18 +60,46 @@ import ( // and waiters. Its suggested to use the pattern above for testing, or using // tooling to generate mocks to satisfy the interfaces. type IoTEventsDataAPI interface { + BatchAcknowledgeAlarm(*ioteventsdata.BatchAcknowledgeAlarmInput) (*ioteventsdata.BatchAcknowledgeAlarmOutput, error) + BatchAcknowledgeAlarmWithContext(aws.Context, *ioteventsdata.BatchAcknowledgeAlarmInput, ...request.Option) (*ioteventsdata.BatchAcknowledgeAlarmOutput, error) + BatchAcknowledgeAlarmRequest(*ioteventsdata.BatchAcknowledgeAlarmInput) (*request.Request, *ioteventsdata.BatchAcknowledgeAlarmOutput) + + BatchDisableAlarm(*ioteventsdata.BatchDisableAlarmInput) (*ioteventsdata.BatchDisableAlarmOutput, error) + BatchDisableAlarmWithContext(aws.Context, *ioteventsdata.BatchDisableAlarmInput, ...request.Option) (*ioteventsdata.BatchDisableAlarmOutput, error) + BatchDisableAlarmRequest(*ioteventsdata.BatchDisableAlarmInput) (*request.Request, *ioteventsdata.BatchDisableAlarmOutput) + + BatchEnableAlarm(*ioteventsdata.BatchEnableAlarmInput) (*ioteventsdata.BatchEnableAlarmOutput, error) + BatchEnableAlarmWithContext(aws.Context, *ioteventsdata.BatchEnableAlarmInput, ...request.Option) (*ioteventsdata.BatchEnableAlarmOutput, error) + BatchEnableAlarmRequest(*ioteventsdata.BatchEnableAlarmInput) (*request.Request, *ioteventsdata.BatchEnableAlarmOutput) + BatchPutMessage(*ioteventsdata.BatchPutMessageInput) (*ioteventsdata.BatchPutMessageOutput, error) BatchPutMessageWithContext(aws.Context, *ioteventsdata.BatchPutMessageInput, ...request.Option) (*ioteventsdata.BatchPutMessageOutput, error) BatchPutMessageRequest(*ioteventsdata.BatchPutMessageInput) (*request.Request, *ioteventsdata.BatchPutMessageOutput) + BatchResetAlarm(*ioteventsdata.BatchResetAlarmInput) (*ioteventsdata.BatchResetAlarmOutput, error) + BatchResetAlarmWithContext(aws.Context, *ioteventsdata.BatchResetAlarmInput, ...request.Option) (*ioteventsdata.BatchResetAlarmOutput, error) + BatchResetAlarmRequest(*ioteventsdata.BatchResetAlarmInput) (*request.Request, *ioteventsdata.BatchResetAlarmOutput) + + BatchSnoozeAlarm(*ioteventsdata.BatchSnoozeAlarmInput) (*ioteventsdata.BatchSnoozeAlarmOutput, error) + BatchSnoozeAlarmWithContext(aws.Context, *ioteventsdata.BatchSnoozeAlarmInput, ...request.Option) (*ioteventsdata.BatchSnoozeAlarmOutput, error) + BatchSnoozeAlarmRequest(*ioteventsdata.BatchSnoozeAlarmInput) (*request.Request, *ioteventsdata.BatchSnoozeAlarmOutput) + BatchUpdateDetector(*ioteventsdata.BatchUpdateDetectorInput) (*ioteventsdata.BatchUpdateDetectorOutput, error) BatchUpdateDetectorWithContext(aws.Context, *ioteventsdata.BatchUpdateDetectorInput, ...request.Option) (*ioteventsdata.BatchUpdateDetectorOutput, error) BatchUpdateDetectorRequest(*ioteventsdata.BatchUpdateDetectorInput) (*request.Request, *ioteventsdata.BatchUpdateDetectorOutput) + DescribeAlarm(*ioteventsdata.DescribeAlarmInput) (*ioteventsdata.DescribeAlarmOutput, error) + DescribeAlarmWithContext(aws.Context, *ioteventsdata.DescribeAlarmInput, ...request.Option) (*ioteventsdata.DescribeAlarmOutput, error) + DescribeAlarmRequest(*ioteventsdata.DescribeAlarmInput) (*request.Request, *ioteventsdata.DescribeAlarmOutput) + DescribeDetector(*ioteventsdata.DescribeDetectorInput) (*ioteventsdata.DescribeDetectorOutput, error) DescribeDetectorWithContext(aws.Context, *ioteventsdata.DescribeDetectorInput, ...request.Option) (*ioteventsdata.DescribeDetectorOutput, error) DescribeDetectorRequest(*ioteventsdata.DescribeDetectorInput) (*request.Request, *ioteventsdata.DescribeDetectorOutput) + ListAlarms(*ioteventsdata.ListAlarmsInput) (*ioteventsdata.ListAlarmsOutput, error) + ListAlarmsWithContext(aws.Context, *ioteventsdata.ListAlarmsInput, ...request.Option) (*ioteventsdata.ListAlarmsOutput, error) + ListAlarmsRequest(*ioteventsdata.ListAlarmsInput) (*request.Request, *ioteventsdata.ListAlarmsOutput) + ListDetectors(*ioteventsdata.ListDetectorsInput) (*ioteventsdata.ListDetectorsOutput, error) ListDetectorsWithContext(aws.Context, *ioteventsdata.ListDetectorsInput, ...request.Option) (*ioteventsdata.ListDetectorsOutput, error) ListDetectorsRequest(*ioteventsdata.ListDetectorsInput) (*request.Request, *ioteventsdata.ListDetectorsOutput) diff --git a/service/iotsitewise/api.go b/service/iotsitewise/api.go index 624037bd4b9..3cb75894ed9 100644 --- a/service/iotsitewise/api.go +++ b/service/iotsitewise/api.go @@ -6925,6 +6925,68 @@ func (s *Aggregates) SetSum(v float64) *Aggregates { return s } +// Contains the configuration information of an alarm created in an AWS IoT +// SiteWise Monitor portal. You can use the alarm to monitor an asset property +// and get notified when the asset property value is outside a specified range. +// For more information, see . +type Alarms struct { + _ struct{} `type:"structure"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the IAM role that allows the alarm to perform actions and access AWS resources, + // including AWS IoT Events. + // + // AlarmRoleArn is a required field + AlarmRoleArn *string `locationName:"alarmRoleArn" min:"1" type:"string" required:"true"` + + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // of the AWS Lambda function that manages alarm notifications. For more information, + // see Managing alarm notifications (https://docs.aws.amazon.com/) in the AWS + // IoT Events Developer Guide. + NotificationLambdaArn *string `locationName:"notificationLambdaArn" min:"1" type:"string"` +} + +// String returns the string representation +func (s Alarms) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Alarms) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Alarms) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Alarms"} + if s.AlarmRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("AlarmRoleArn")) + } + if s.AlarmRoleArn != nil && len(*s.AlarmRoleArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AlarmRoleArn", 1)) + } + if s.NotificationLambdaArn != nil && len(*s.NotificationLambdaArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NotificationLambdaArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlarmRoleArn sets the AlarmRoleArn field's value. +func (s *Alarms) SetAlarmRoleArn(v string) *Alarms { + s.AlarmRoleArn = &v + return s +} + +// SetNotificationLambdaArn sets the NotificationLambdaArn field's value. +func (s *Alarms) SetNotificationLambdaArn(v string) *Alarms { + s.NotificationLambdaArn = &v + return s +} + // Contains information about a composite model in an asset. This object contains // the asset's properties that you define in the composite model. type AssetCompositeModel struct { @@ -9679,11 +9741,23 @@ func (s *CreateGatewayOutput) SetGatewayId(v string) *CreateGatewayOutput { type CreatePortalInput struct { _ struct{} `type:"structure"` + // Contains the configuration information of an alarm created in an AWS IoT + // SiteWise Monitor portal. You can use the alarm to monitor an asset property + // and get notified when the asset property value is outside a specified range. + // For more information, see . + Alarms *Alarms `locationName:"alarms" type:"structure"` + // A unique case-sensitive identifier that you can provide to ensure the idempotency // of the request. Don't reuse this client token if a new idempotent request // is required. ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` + // The email address that sends alarm notifications. + // + // If you use the AWS IoT Events managed AWS Lambda function to manage your + // emails, you must verify the sender email address in Amazon SES (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html). + NotificationSenderEmail *string `locationName:"notificationSenderEmail" min:"1" type:"string"` + // The service to use to authenticate users to the portal. Choose from the following // options: // @@ -9751,6 +9825,9 @@ func (s *CreatePortalInput) Validate() error { if s.ClientToken != nil && len(*s.ClientToken) < 36 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) } + if s.NotificationSenderEmail != nil && len(*s.NotificationSenderEmail) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NotificationSenderEmail", 1)) + } if s.PortalContactEmail == nil { invalidParams.Add(request.NewErrParamRequired("PortalContactEmail")) } @@ -9775,6 +9852,11 @@ func (s *CreatePortalInput) Validate() error { if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } + if s.Alarms != nil { + if err := s.Alarms.Validate(); err != nil { + invalidParams.AddNested("Alarms", err.(request.ErrInvalidParams)) + } + } if s.PortalLogoImageFile != nil { if err := s.PortalLogoImageFile.Validate(); err != nil { invalidParams.AddNested("PortalLogoImageFile", err.(request.ErrInvalidParams)) @@ -9787,12 +9869,24 @@ func (s *CreatePortalInput) Validate() error { return nil } +// SetAlarms sets the Alarms field's value. +func (s *CreatePortalInput) SetAlarms(v *Alarms) *CreatePortalInput { + s.Alarms = v + return s +} + // SetClientToken sets the ClientToken field's value. func (s *CreatePortalInput) SetClientToken(v string) *CreatePortalInput { s.ClientToken = &v return s } +// SetNotificationSenderEmail sets the NotificationSenderEmail field's value. +func (s *CreatePortalInput) SetNotificationSenderEmail(v string) *CreatePortalInput { + s.NotificationSenderEmail = &v + return s +} + // SetPortalAuthMode sets the PortalAuthMode field's value. func (s *CreatePortalInput) SetPortalAuthMode(v string) *CreatePortalInput { s.PortalAuthMode = &v @@ -11780,6 +11874,13 @@ func (s *DescribePortalInput) SetPortalId(v string) *DescribePortalInput { type DescribePortalOutput struct { _ struct{} `type:"structure"` + // Contains the configuration information of an alarm created in a AWS IoT SiteWise + // Monitor portal. + Alarms *Alarms `locationName:"alarms" type:"structure"` + + // The email address that sends alarm notifications. + NotificationSenderEmail *string `locationName:"notificationSenderEmail" min:"1" type:"string"` + // The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) // of the portal, which has the following format. // @@ -11860,6 +11961,18 @@ func (s DescribePortalOutput) GoString() string { return s.String() } +// SetAlarms sets the Alarms field's value. +func (s *DescribePortalOutput) SetAlarms(v *Alarms) *DescribePortalOutput { + s.Alarms = v + return s +} + +// SetNotificationSenderEmail sets the NotificationSenderEmail field's value. +func (s *DescribePortalOutput) SetNotificationSenderEmail(v string) *DescribePortalOutput { + s.NotificationSenderEmail = &v + return s +} + // SetPortalArn sets the PortalArn field's value. func (s *DescribePortalOutput) SetPortalArn(v string) *DescribePortalOutput { s.PortalArn = &v @@ -17485,11 +17598,20 @@ func (s UpdateGatewayOutput) GoString() string { type UpdatePortalInput struct { _ struct{} `type:"structure"` + // Contains the configuration information of an alarm created in an AWS IoT + // SiteWise Monitor portal. You can use the alarm to monitor an asset property + // and get notified when the asset property value is outside a specified range. + // For more information, see . + Alarms *Alarms `locationName:"alarms" type:"structure"` + // A unique case-sensitive identifier that you can provide to ensure the idempotency // of the request. Don't reuse this client token if a new idempotent request // is required. ClientToken *string `locationName:"clientToken" min:"36" type:"string" idempotencyToken:"true"` + // The email address that sends alarm notifications. + NotificationSenderEmail *string `locationName:"notificationSenderEmail" min:"1" type:"string"` + // The AWS administrator's contact email address. // // PortalContactEmail is a required field @@ -17542,6 +17664,9 @@ func (s *UpdatePortalInput) Validate() error { if s.ClientToken != nil && len(*s.ClientToken) < 36 { invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36)) } + if s.NotificationSenderEmail != nil && len(*s.NotificationSenderEmail) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NotificationSenderEmail", 1)) + } if s.PortalContactEmail == nil { invalidParams.Add(request.NewErrParamRequired("PortalContactEmail")) } @@ -17569,6 +17694,11 @@ func (s *UpdatePortalInput) Validate() error { if s.RoleArn != nil && len(*s.RoleArn) < 1 { invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) } + if s.Alarms != nil { + if err := s.Alarms.Validate(); err != nil { + invalidParams.AddNested("Alarms", err.(request.ErrInvalidParams)) + } + } if s.PortalLogoImage != nil { if err := s.PortalLogoImage.Validate(); err != nil { invalidParams.AddNested("PortalLogoImage", err.(request.ErrInvalidParams)) @@ -17581,12 +17711,24 @@ func (s *UpdatePortalInput) Validate() error { return nil } +// SetAlarms sets the Alarms field's value. +func (s *UpdatePortalInput) SetAlarms(v *Alarms) *UpdatePortalInput { + s.Alarms = v + return s +} + // SetClientToken sets the ClientToken field's value. func (s *UpdatePortalInput) SetClientToken(v string) *UpdatePortalInput { s.ClientToken = &v return s } +// SetNotificationSenderEmail sets the NotificationSenderEmail field's value. +func (s *UpdatePortalInput) SetNotificationSenderEmail(v string) *UpdatePortalInput { + s.NotificationSenderEmail = &v + return s +} + // SetPortalContactEmail sets the PortalContactEmail field's value. func (s *UpdatePortalInput) SetPortalContactEmail(v string) *UpdatePortalInput { s.PortalContactEmail = &v diff --git a/service/kendra/api.go b/service/kendra/api.go index 20ccc1ab9f3..7ed11971a33 100644 --- a/service/kendra/api.go +++ b/service/kendra/api.go @@ -206,6 +206,101 @@ func (c *Kendra) BatchPutDocumentWithContext(ctx aws.Context, input *BatchPutDoc return out, req.Send() } +const opClearQuerySuggestions = "ClearQuerySuggestions" + +// ClearQuerySuggestionsRequest generates a "aws/request.Request" representing the +// client's request for the ClearQuerySuggestions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ClearQuerySuggestions for more information on using the ClearQuerySuggestions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ClearQuerySuggestionsRequest method. +// req, resp := client.ClearQuerySuggestionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ClearQuerySuggestions +func (c *Kendra) ClearQuerySuggestionsRequest(input *ClearQuerySuggestionsInput) (req *request.Request, output *ClearQuerySuggestionsOutput) { + op := &request.Operation{ + Name: opClearQuerySuggestions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ClearQuerySuggestionsInput{} + } + + output = &ClearQuerySuggestionsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// ClearQuerySuggestions API operation for AWSKendraFrontendService. +// +// Clears existing query suggestions from an index. +// +// This deletes existing suggestions only, not the queries in the query log. +// After you clear suggestions, Amazon Kendra learns new suggestions based on +// new queries added to the query log from the time you cleared suggestions. +// If you do not see any new suggestions, then please allow Amazon Kendra to +// collect enough queries to learn new suggestions. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWSKendraFrontendService's +// API operation ClearQuerySuggestions for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// * AccessDeniedException +// +// * InternalServerException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ClearQuerySuggestions +func (c *Kendra) ClearQuerySuggestions(input *ClearQuerySuggestionsInput) (*ClearQuerySuggestionsOutput, error) { + req, out := c.ClearQuerySuggestionsRequest(input) + return out, req.Send() +} + +// ClearQuerySuggestionsWithContext is the same as ClearQuerySuggestions with the addition of +// the ability to pass a context and additional request options. +// +// See ClearQuerySuggestions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Kendra) ClearQuerySuggestionsWithContext(ctx aws.Context, input *ClearQuerySuggestionsInput, opts ...request.Option) (*ClearQuerySuggestionsOutput, error) { + req, out := c.ClearQuerySuggestionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateDataSource = "CreateDataSource" // CreateDataSourceRequest generates a "aws/request.Request" representing the @@ -491,6 +586,106 @@ func (c *Kendra) CreateIndexWithContext(ctx aws.Context, input *CreateIndexInput return out, req.Send() } +const opCreateQuerySuggestionsBlockList = "CreateQuerySuggestionsBlockList" + +// CreateQuerySuggestionsBlockListRequest generates a "aws/request.Request" representing the +// client's request for the CreateQuerySuggestionsBlockList operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateQuerySuggestionsBlockList for more information on using the CreateQuerySuggestionsBlockList +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateQuerySuggestionsBlockListRequest method. +// req, resp := client.CreateQuerySuggestionsBlockListRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/CreateQuerySuggestionsBlockList +func (c *Kendra) CreateQuerySuggestionsBlockListRequest(input *CreateQuerySuggestionsBlockListInput) (req *request.Request, output *CreateQuerySuggestionsBlockListOutput) { + op := &request.Operation{ + Name: opCreateQuerySuggestionsBlockList, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateQuerySuggestionsBlockListInput{} + } + + output = &CreateQuerySuggestionsBlockListOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateQuerySuggestionsBlockList API operation for AWSKendraFrontendService. +// +// Creates a block list to exlcude certain queries from suggestions. +// +// Any query that contains words or phrases specified in the block list is blocked +// or filtered out from being shown as a suggestion. +// +// You need to provide the file location of your block list text file in your +// S3 bucket. In your text file, enter each block word or phrase on a separate +// line. +// +// For information on the current quota limits for block lists, see Quotas for +// Amazon Kendra (https://docs.aws.amazon.com/kendra/latest/dg/quotas.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWSKendraFrontendService's +// API operation CreateQuerySuggestionsBlockList for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * AccessDeniedException +// +// * ServiceQuotaExceededException +// +// * ConflictException +// +// * InternalServerException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/CreateQuerySuggestionsBlockList +func (c *Kendra) CreateQuerySuggestionsBlockList(input *CreateQuerySuggestionsBlockListInput) (*CreateQuerySuggestionsBlockListOutput, error) { + req, out := c.CreateQuerySuggestionsBlockListRequest(input) + return out, req.Send() +} + +// CreateQuerySuggestionsBlockListWithContext is the same as CreateQuerySuggestionsBlockList with the addition of +// the ability to pass a context and additional request options. +// +// See CreateQuerySuggestionsBlockList for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Kendra) CreateQuerySuggestionsBlockListWithContext(ctx aws.Context, input *CreateQuerySuggestionsBlockListInput, opts ...request.Option) (*CreateQuerySuggestionsBlockListOutput, error) { + req, out := c.CreateQuerySuggestionsBlockListRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateThesaurus = "CreateThesaurus" // CreateThesaurusRequest generates a "aws/request.Request" representing the @@ -854,6 +1049,99 @@ func (c *Kendra) DeleteIndexWithContext(ctx aws.Context, input *DeleteIndexInput return out, req.Send() } +const opDeleteQuerySuggestionsBlockList = "DeleteQuerySuggestionsBlockList" + +// DeleteQuerySuggestionsBlockListRequest generates a "aws/request.Request" representing the +// client's request for the DeleteQuerySuggestionsBlockList operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteQuerySuggestionsBlockList for more information on using the DeleteQuerySuggestionsBlockList +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteQuerySuggestionsBlockListRequest method. +// req, resp := client.DeleteQuerySuggestionsBlockListRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DeleteQuerySuggestionsBlockList +func (c *Kendra) DeleteQuerySuggestionsBlockListRequest(input *DeleteQuerySuggestionsBlockListInput) (req *request.Request, output *DeleteQuerySuggestionsBlockListOutput) { + op := &request.Operation{ + Name: opDeleteQuerySuggestionsBlockList, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteQuerySuggestionsBlockListInput{} + } + + output = &DeleteQuerySuggestionsBlockListOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteQuerySuggestionsBlockList API operation for AWSKendraFrontendService. +// +// Deletes a block list used for query suggestions for an index. +// +// A deleted block list might not take effect right away. Amazon Kendra needs +// to refresh the entire suggestions list to add back the queries that were +// previously blocked. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWSKendraFrontendService's +// API operation DeleteQuerySuggestionsBlockList for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * AccessDeniedException +// +// * ConflictException +// +// * InternalServerException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DeleteQuerySuggestionsBlockList +func (c *Kendra) DeleteQuerySuggestionsBlockList(input *DeleteQuerySuggestionsBlockListInput) (*DeleteQuerySuggestionsBlockListOutput, error) { + req, out := c.DeleteQuerySuggestionsBlockListRequest(input) + return out, req.Send() +} + +// DeleteQuerySuggestionsBlockListWithContext is the same as DeleteQuerySuggestionsBlockList with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteQuerySuggestionsBlockList for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Kendra) DeleteQuerySuggestionsBlockListWithContext(ctx aws.Context, input *DeleteQuerySuggestionsBlockListInput, opts ...request.Option) (*DeleteQuerySuggestionsBlockListOutput, error) { + req, out := c.DeleteQuerySuggestionsBlockListRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteThesaurus = "DeleteThesaurus" // DeleteThesaurusRequest generates a "aws/request.Request" representing the @@ -1201,58 +1489,60 @@ func (c *Kendra) DescribeIndexWithContext(ctx aws.Context, input *DescribeIndexI return out, req.Send() } -const opDescribeThesaurus = "DescribeThesaurus" +const opDescribeQuerySuggestionsBlockList = "DescribeQuerySuggestionsBlockList" -// DescribeThesaurusRequest generates a "aws/request.Request" representing the -// client's request for the DescribeThesaurus operation. The "output" return +// DescribeQuerySuggestionsBlockListRequest generates a "aws/request.Request" representing the +// client's request for the DescribeQuerySuggestionsBlockList operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeThesaurus for more information on using the DescribeThesaurus +// See DescribeQuerySuggestionsBlockList for more information on using the DescribeQuerySuggestionsBlockList // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DescribeThesaurusRequest method. -// req, resp := client.DescribeThesaurusRequest(params) +// // Example sending a request using the DescribeQuerySuggestionsBlockListRequest method. +// req, resp := client.DescribeQuerySuggestionsBlockListRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeThesaurus -func (c *Kendra) DescribeThesaurusRequest(input *DescribeThesaurusInput) (req *request.Request, output *DescribeThesaurusOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeQuerySuggestionsBlockList +func (c *Kendra) DescribeQuerySuggestionsBlockListRequest(input *DescribeQuerySuggestionsBlockListInput) (req *request.Request, output *DescribeQuerySuggestionsBlockListOutput) { op := &request.Operation{ - Name: opDescribeThesaurus, + Name: opDescribeQuerySuggestionsBlockList, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DescribeThesaurusInput{} + input = &DescribeQuerySuggestionsBlockListInput{} } - output = &DescribeThesaurusOutput{} + output = &DescribeQuerySuggestionsBlockListOutput{} req = c.newRequest(op, input, output) return } -// DescribeThesaurus API operation for AWSKendraFrontendService. +// DescribeQuerySuggestionsBlockList API operation for AWSKendraFrontendService. // -// Describes an existing Amazon Kendra thesaurus. +// Describes a block list used for query suggestions for an index. +// +// This is used to check the current settings that are applied to a block list. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWSKendraFrontendService's -// API operation DescribeThesaurus for usage and error information. +// API operation DescribeQuerySuggestionsBlockList for usage and error information. // // Returned Error Types: // * ValidationException @@ -1265,86 +1555,82 @@ func (c *Kendra) DescribeThesaurusRequest(input *DescribeThesaurusInput) (req *r // // * InternalServerException // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeThesaurus -func (c *Kendra) DescribeThesaurus(input *DescribeThesaurusInput) (*DescribeThesaurusOutput, error) { - req, out := c.DescribeThesaurusRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeQuerySuggestionsBlockList +func (c *Kendra) DescribeQuerySuggestionsBlockList(input *DescribeQuerySuggestionsBlockListInput) (*DescribeQuerySuggestionsBlockListOutput, error) { + req, out := c.DescribeQuerySuggestionsBlockListRequest(input) return out, req.Send() } -// DescribeThesaurusWithContext is the same as DescribeThesaurus with the addition of +// DescribeQuerySuggestionsBlockListWithContext is the same as DescribeQuerySuggestionsBlockList with the addition of // the ability to pass a context and additional request options. // -// See DescribeThesaurus for details on how to use this API operation. +// See DescribeQuerySuggestionsBlockList for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Kendra) DescribeThesaurusWithContext(ctx aws.Context, input *DescribeThesaurusInput, opts ...request.Option) (*DescribeThesaurusOutput, error) { - req, out := c.DescribeThesaurusRequest(input) +func (c *Kendra) DescribeQuerySuggestionsBlockListWithContext(ctx aws.Context, input *DescribeQuerySuggestionsBlockListInput, opts ...request.Option) (*DescribeQuerySuggestionsBlockListOutput, error) { + req, out := c.DescribeQuerySuggestionsBlockListRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListDataSourceSyncJobs = "ListDataSourceSyncJobs" +const opDescribeQuerySuggestionsConfig = "DescribeQuerySuggestionsConfig" -// ListDataSourceSyncJobsRequest generates a "aws/request.Request" representing the -// client's request for the ListDataSourceSyncJobs operation. The "output" return +// DescribeQuerySuggestionsConfigRequest generates a "aws/request.Request" representing the +// client's request for the DescribeQuerySuggestionsConfig operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListDataSourceSyncJobs for more information on using the ListDataSourceSyncJobs +// See DescribeQuerySuggestionsConfig for more information on using the DescribeQuerySuggestionsConfig // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListDataSourceSyncJobsRequest method. -// req, resp := client.ListDataSourceSyncJobsRequest(params) +// // Example sending a request using the DescribeQuerySuggestionsConfigRequest method. +// req, resp := client.DescribeQuerySuggestionsConfigRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListDataSourceSyncJobs -func (c *Kendra) ListDataSourceSyncJobsRequest(input *ListDataSourceSyncJobsInput) (req *request.Request, output *ListDataSourceSyncJobsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeQuerySuggestionsConfig +func (c *Kendra) DescribeQuerySuggestionsConfigRequest(input *DescribeQuerySuggestionsConfigInput) (req *request.Request, output *DescribeQuerySuggestionsConfigOutput) { op := &request.Operation{ - Name: opListDataSourceSyncJobs, + Name: opDescribeQuerySuggestionsConfig, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListDataSourceSyncJobsInput{} + input = &DescribeQuerySuggestionsConfigInput{} } - output = &ListDataSourceSyncJobsOutput{} + output = &DescribeQuerySuggestionsConfigOutput{} req = c.newRequest(op, input, output) return } -// ListDataSourceSyncJobs API operation for AWSKendraFrontendService. +// DescribeQuerySuggestionsConfig API operation for AWSKendraFrontendService. // -// Gets statistics about synchronizing Amazon Kendra with a data source. +// Describes the settings of query suggestions for an index. +// +// This is used to check the current settings applied to query suggestions. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWSKendraFrontendService's -// API operation ListDataSourceSyncJobs for usage and error information. +// API operation DescribeQuerySuggestionsConfig for usage and error information. // // Returned Error Types: // * ValidationException @@ -1355,11 +1641,279 @@ func (c *Kendra) ListDataSourceSyncJobsRequest(input *ListDataSourceSyncJobsInpu // // * AccessDeniedException // -// * ConflictException -// // * InternalServerException // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListDataSourceSyncJobs +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeQuerySuggestionsConfig +func (c *Kendra) DescribeQuerySuggestionsConfig(input *DescribeQuerySuggestionsConfigInput) (*DescribeQuerySuggestionsConfigOutput, error) { + req, out := c.DescribeQuerySuggestionsConfigRequest(input) + return out, req.Send() +} + +// DescribeQuerySuggestionsConfigWithContext is the same as DescribeQuerySuggestionsConfig with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeQuerySuggestionsConfig for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Kendra) DescribeQuerySuggestionsConfigWithContext(ctx aws.Context, input *DescribeQuerySuggestionsConfigInput, opts ...request.Option) (*DescribeQuerySuggestionsConfigOutput, error) { + req, out := c.DescribeQuerySuggestionsConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeThesaurus = "DescribeThesaurus" + +// DescribeThesaurusRequest generates a "aws/request.Request" representing the +// client's request for the DescribeThesaurus operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeThesaurus for more information on using the DescribeThesaurus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeThesaurusRequest method. +// req, resp := client.DescribeThesaurusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeThesaurus +func (c *Kendra) DescribeThesaurusRequest(input *DescribeThesaurusInput) (req *request.Request, output *DescribeThesaurusOutput) { + op := &request.Operation{ + Name: opDescribeThesaurus, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeThesaurusInput{} + } + + output = &DescribeThesaurusOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeThesaurus API operation for AWSKendraFrontendService. +// +// Describes an existing Amazon Kendra thesaurus. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWSKendraFrontendService's +// API operation DescribeThesaurus for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * AccessDeniedException +// +// * InternalServerException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/DescribeThesaurus +func (c *Kendra) DescribeThesaurus(input *DescribeThesaurusInput) (*DescribeThesaurusOutput, error) { + req, out := c.DescribeThesaurusRequest(input) + return out, req.Send() +} + +// DescribeThesaurusWithContext is the same as DescribeThesaurus with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeThesaurus for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Kendra) DescribeThesaurusWithContext(ctx aws.Context, input *DescribeThesaurusInput, opts ...request.Option) (*DescribeThesaurusOutput, error) { + req, out := c.DescribeThesaurusRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetQuerySuggestions = "GetQuerySuggestions" + +// GetQuerySuggestionsRequest generates a "aws/request.Request" representing the +// client's request for the GetQuerySuggestions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetQuerySuggestions for more information on using the GetQuerySuggestions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetQuerySuggestionsRequest method. +// req, resp := client.GetQuerySuggestionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/GetQuerySuggestions +func (c *Kendra) GetQuerySuggestionsRequest(input *GetQuerySuggestionsInput) (req *request.Request, output *GetQuerySuggestionsOutput) { + op := &request.Operation{ + Name: opGetQuerySuggestions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetQuerySuggestionsInput{} + } + + output = &GetQuerySuggestionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetQuerySuggestions API operation for AWSKendraFrontendService. +// +// Fetches the queries that are suggested to your users. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWSKendraFrontendService's +// API operation GetQuerySuggestions for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * AccessDeniedException +// +// * ServiceQuotaExceededException +// +// * ConflictException +// +// * InternalServerException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/GetQuerySuggestions +func (c *Kendra) GetQuerySuggestions(input *GetQuerySuggestionsInput) (*GetQuerySuggestionsOutput, error) { + req, out := c.GetQuerySuggestionsRequest(input) + return out, req.Send() +} + +// GetQuerySuggestionsWithContext is the same as GetQuerySuggestions with the addition of +// the ability to pass a context and additional request options. +// +// See GetQuerySuggestions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Kendra) GetQuerySuggestionsWithContext(ctx aws.Context, input *GetQuerySuggestionsInput, opts ...request.Option) (*GetQuerySuggestionsOutput, error) { + req, out := c.GetQuerySuggestionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListDataSourceSyncJobs = "ListDataSourceSyncJobs" + +// ListDataSourceSyncJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListDataSourceSyncJobs operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListDataSourceSyncJobs for more information on using the ListDataSourceSyncJobs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListDataSourceSyncJobsRequest method. +// req, resp := client.ListDataSourceSyncJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListDataSourceSyncJobs +func (c *Kendra) ListDataSourceSyncJobsRequest(input *ListDataSourceSyncJobsInput) (req *request.Request, output *ListDataSourceSyncJobsOutput) { + op := &request.Operation{ + Name: opListDataSourceSyncJobs, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDataSourceSyncJobsInput{} + } + + output = &ListDataSourceSyncJobsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDataSourceSyncJobs API operation for AWSKendraFrontendService. +// +// Gets statistics about synchronizing Amazon Kendra with a data source. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWSKendraFrontendService's +// API operation ListDataSourceSyncJobs for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * AccessDeniedException +// +// * ConflictException +// +// * InternalServerException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListDataSourceSyncJobs func (c *Kendra) ListDataSourceSyncJobs(input *ListDataSourceSyncJobsInput) (*ListDataSourceSyncJobsOutput, error) { req, out := c.ListDataSourceSyncJobsRequest(input) return out, req.Send() @@ -1805,51 +2359,140 @@ func (c *Kendra) ListIndicesPagesWithContext(ctx aws.Context, input *ListIndices return p.Err() } -const opListTagsForResource = "ListTagsForResource" +const opListQuerySuggestionsBlockLists = "ListQuerySuggestionsBlockLists" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// ListQuerySuggestionsBlockListsRequest generates a "aws/request.Request" representing the +// client's request for the ListQuerySuggestionsBlockLists operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTagsForResource for more information on using the ListTagsForResource +// See ListQuerySuggestionsBlockLists for more information on using the ListQuerySuggestionsBlockLists // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListTagsForResourceRequest method. -// req, resp := client.ListTagsForResourceRequest(params) +// // Example sending a request using the ListQuerySuggestionsBlockListsRequest method. +// req, resp := client.ListQuerySuggestionsBlockListsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListTagsForResource -func (c *Kendra) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListQuerySuggestionsBlockLists +func (c *Kendra) ListQuerySuggestionsBlockListsRequest(input *ListQuerySuggestionsBlockListsInput) (req *request.Request, output *ListQuerySuggestionsBlockListsOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opListQuerySuggestionsBlockLists, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &ListTagsForResourceInput{} + input = &ListQuerySuggestionsBlockListsInput{} } - output = &ListTagsForResourceOutput{} + output = &ListQuerySuggestionsBlockListsOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for AWSKendraFrontendService. +// ListQuerySuggestionsBlockLists API operation for AWSKendraFrontendService. // -// Gets a list of tags associated with a specified resource. Indexes, FAQs, +// Lists the block lists used for query suggestions for an index. +// +// For information on the current quota limits for block lists, see Quotas for +// Amazon Kendra (https://docs.aws.amazon.com/kendra/latest/dg/quotas.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWSKendraFrontendService's +// API operation ListQuerySuggestionsBlockLists for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * AccessDeniedException +// +// * InternalServerException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListQuerySuggestionsBlockLists +func (c *Kendra) ListQuerySuggestionsBlockLists(input *ListQuerySuggestionsBlockListsInput) (*ListQuerySuggestionsBlockListsOutput, error) { + req, out := c.ListQuerySuggestionsBlockListsRequest(input) + return out, req.Send() +} + +// ListQuerySuggestionsBlockListsWithContext is the same as ListQuerySuggestionsBlockLists with the addition of +// the ability to pass a context and additional request options. +// +// See ListQuerySuggestionsBlockLists for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Kendra) ListQuerySuggestionsBlockListsWithContext(ctx aws.Context, input *ListQuerySuggestionsBlockListsInput, opts ...request.Option) (*ListQuerySuggestionsBlockListsOutput, error) { + req, out := c.ListQuerySuggestionsBlockListsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/ListTagsForResource +func (c *Kendra) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for AWSKendraFrontendService. +// +// Gets a list of tags associated with a specified resource. Indexes, FAQs, // and data sources can have tags associated with them. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2711,6 +3354,206 @@ func (c *Kendra) UpdateIndexWithContext(ctx aws.Context, input *UpdateIndexInput return out, req.Send() } +const opUpdateQuerySuggestionsBlockList = "UpdateQuerySuggestionsBlockList" + +// UpdateQuerySuggestionsBlockListRequest generates a "aws/request.Request" representing the +// client's request for the UpdateQuerySuggestionsBlockList operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateQuerySuggestionsBlockList for more information on using the UpdateQuerySuggestionsBlockList +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateQuerySuggestionsBlockListRequest method. +// req, resp := client.UpdateQuerySuggestionsBlockListRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UpdateQuerySuggestionsBlockList +func (c *Kendra) UpdateQuerySuggestionsBlockListRequest(input *UpdateQuerySuggestionsBlockListInput) (req *request.Request, output *UpdateQuerySuggestionsBlockListOutput) { + op := &request.Operation{ + Name: opUpdateQuerySuggestionsBlockList, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateQuerySuggestionsBlockListInput{} + } + + output = &UpdateQuerySuggestionsBlockListOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateQuerySuggestionsBlockList API operation for AWSKendraFrontendService. +// +// Updates a block list used for query suggestions for an index. +// +// Updates to a block list might not take effect right away. Amazon Kendra needs +// to refresh the entire suggestions list to apply any updates to the block +// list. Other changes not related to the block list apply immediately. +// +// If a block list is updating, then you need to wait for the first update to +// finish before submitting another update. +// +// Amazon Kendra supports partial updates, so you only need to provide the fields +// you want to update. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWSKendraFrontendService's +// API operation UpdateQuerySuggestionsBlockList for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * AccessDeniedException +// +// * ConflictException +// +// * InternalServerException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UpdateQuerySuggestionsBlockList +func (c *Kendra) UpdateQuerySuggestionsBlockList(input *UpdateQuerySuggestionsBlockListInput) (*UpdateQuerySuggestionsBlockListOutput, error) { + req, out := c.UpdateQuerySuggestionsBlockListRequest(input) + return out, req.Send() +} + +// UpdateQuerySuggestionsBlockListWithContext is the same as UpdateQuerySuggestionsBlockList with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateQuerySuggestionsBlockList for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Kendra) UpdateQuerySuggestionsBlockListWithContext(ctx aws.Context, input *UpdateQuerySuggestionsBlockListInput, opts ...request.Option) (*UpdateQuerySuggestionsBlockListOutput, error) { + req, out := c.UpdateQuerySuggestionsBlockListRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateQuerySuggestionsConfig = "UpdateQuerySuggestionsConfig" + +// UpdateQuerySuggestionsConfigRequest generates a "aws/request.Request" representing the +// client's request for the UpdateQuerySuggestionsConfig operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateQuerySuggestionsConfig for more information on using the UpdateQuerySuggestionsConfig +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateQuerySuggestionsConfigRequest method. +// req, resp := client.UpdateQuerySuggestionsConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UpdateQuerySuggestionsConfig +func (c *Kendra) UpdateQuerySuggestionsConfigRequest(input *UpdateQuerySuggestionsConfigInput) (req *request.Request, output *UpdateQuerySuggestionsConfigOutput) { + op := &request.Operation{ + Name: opUpdateQuerySuggestionsConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateQuerySuggestionsConfigInput{} + } + + output = &UpdateQuerySuggestionsConfigOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateQuerySuggestionsConfig API operation for AWSKendraFrontendService. +// +// Updates the settings of query suggestions for an index. +// +// Amazon Kendra supports partial updates, so you only need to provide the fields +// you want to update. +// +// If an update is currently processing (i.e. 'happening'), you need to wait +// for the update to finish before making another update. +// +// Updates to query suggestions settings might not take effect right away. The +// time for your updated settings to take effect depends on the updates made +// and the number of search queries in your index. +// +// You can still enable/disable query suggestions at any time. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWSKendraFrontendService's +// API operation UpdateQuerySuggestionsConfig for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * ConflictException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * AccessDeniedException +// +// * InternalServerException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/UpdateQuerySuggestionsConfig +func (c *Kendra) UpdateQuerySuggestionsConfig(input *UpdateQuerySuggestionsConfigInput) (*UpdateQuerySuggestionsConfigOutput, error) { + req, out := c.UpdateQuerySuggestionsConfigRequest(input) + return out, req.Send() +} + +// UpdateQuerySuggestionsConfigWithContext is the same as UpdateQuerySuggestionsConfig with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateQuerySuggestionsConfig for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Kendra) UpdateQuerySuggestionsConfigWithContext(ctx aws.Context, input *UpdateQuerySuggestionsConfigInput, opts ...request.Option) (*UpdateQuerySuggestionsConfigOutput, error) { + req, out := c.UpdateQuerySuggestionsConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateThesaurus = "UpdateThesaurus" // UpdateThesaurusRequest generates a "aws/request.Request" representing the @@ -3339,6 +4182,12 @@ type BatchPutDocumentInput struct { // One or more documents to add to the index. // + // Documents can include custom attributes. For example, 'DataSourceId' and + // 'DataSourceSyncJobId' are custom attributes that provide information on the + // synchronization of documents running on a data source. Note, 'DataSourceSyncJobId' + // could be an optional custom attribute as Amazon Kendra will use the ID of + // a running sync job. + // // Documents have the following file size limits. // // * 5 MB total size for inline documents @@ -3554,43 +4403,33 @@ func (s *CapacityUnitsConfiguration) SetStorageCapacityUnits(v int64) *CapacityU return s } -// Gathers information about when a particular result was clicked by a user. -// Your application uses the SubmitFeedback operation to provide click information. -type ClickFeedback struct { +type ClearQuerySuggestionsInput struct { _ struct{} `type:"structure"` - // The Unix timestamp of the date and time that the result was clicked. - // - // ClickTime is a required field - ClickTime *time.Time `type:"timestamp" required:"true"` - - // The unique identifier of the search result that was clicked. + // The identifier of the index you want to clear query suggestions from. // - // ResultId is a required field - ResultId *string `min:"1" type:"string" required:"true"` + // IndexId is a required field + IndexId *string `min:"36" type:"string" required:"true"` } // String returns the string representation -func (s ClickFeedback) String() string { +func (s ClearQuerySuggestionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ClickFeedback) GoString() string { +func (s ClearQuerySuggestionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ClickFeedback) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ClickFeedback"} - if s.ClickTime == nil { - invalidParams.Add(request.NewErrParamRequired("ClickTime")) - } - if s.ResultId == nil { - invalidParams.Add(request.NewErrParamRequired("ResultId")) +func (s *ClearQuerySuggestionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ClearQuerySuggestionsInput"} + if s.IndexId == nil { + invalidParams.Add(request.NewErrParamRequired("IndexId")) } - if s.ResultId != nil && len(*s.ResultId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResultId", 1)) + if s.IndexId != nil && len(*s.IndexId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("IndexId", 36)) } if invalidParams.Len() > 0 { @@ -3599,9 +4438,74 @@ func (s *ClickFeedback) Validate() error { return nil } -// SetClickTime sets the ClickTime field's value. -func (s *ClickFeedback) SetClickTime(v time.Time) *ClickFeedback { - s.ClickTime = &v +// SetIndexId sets the IndexId field's value. +func (s *ClearQuerySuggestionsInput) SetIndexId(v string) *ClearQuerySuggestionsInput { + s.IndexId = &v + return s +} + +type ClearQuerySuggestionsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ClearQuerySuggestionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClearQuerySuggestionsOutput) GoString() string { + return s.String() +} + +// Gathers information about when a particular result was clicked by a user. +// Your application uses the SubmitFeedback operation to provide click information. +type ClickFeedback struct { + _ struct{} `type:"structure"` + + // The Unix timestamp of the date and time that the result was clicked. + // + // ClickTime is a required field + ClickTime *time.Time `type:"timestamp" required:"true"` + + // The unique identifier of the search result that was clicked. + // + // ResultId is a required field + ResultId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ClickFeedback) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClickFeedback) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ClickFeedback) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ClickFeedback"} + if s.ClickTime == nil { + invalidParams.Add(request.NewErrParamRequired("ClickTime")) + } + if s.ResultId == nil { + invalidParams.Add(request.NewErrParamRequired("ResultId")) + } + if s.ResultId != nil && len(*s.ResultId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResultId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClickTime sets the ClickTime field's value. +func (s *ClickFeedback) SetClickTime(v time.Time) *ClickFeedback { + s.ClickTime = &v return s } @@ -5178,6 +6082,181 @@ func (s *CreateIndexOutput) SetId(v string) *CreateIndexOutput { return s } +type CreateQuerySuggestionsBlockListInput struct { + _ struct{} `type:"structure"` + + // A token that you provide to identify the request to create a query suggestions + // block list. + ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // A user-friendly description for the block list. + // + // For example, the description "List of all offensive words that can appear + // in user queries and need to be blocked from suggestions." + Description *string `type:"string"` + + // The identifier of the index you want to create a query suggestions block + // list for. + // + // IndexId is a required field + IndexId *string `min:"36" type:"string" required:"true"` + + // A user friendly name for the block list. + // + // For example, the block list named 'offensive-words' includes all offensive + // words that could appear in user queries and need to be blocked from suggestions. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The IAM (Identity and Access Management) role used by Amazon Kendra to access + // the block list text file in your S3 bucket. + // + // You need permissions to the role ARN (Amazon Resource Name). The role needs + // S3 read permissions to your file in S3 and needs to give STS (Security Token + // Service) assume role permissions to Amazon Kendra. + // + // RoleArn is a required field + RoleArn *string `min:"1" type:"string" required:"true"` + + // The S3 path to your block list text file in your S3 bucket. + // + // Each block word or phrase should be on a separate line in a text file. + // + // For information on the current quota limits for block lists, see Quotas for + // Amazon Kendra (https://docs.aws.amazon.com/kendra/latest/dg/quotas.html). + // + // SourceS3Path is a required field + SourceS3Path *S3Path `type:"structure" required:"true"` + + // A tag that you can assign to a block list that categorizes the block list. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateQuerySuggestionsBlockListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateQuerySuggestionsBlockListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateQuerySuggestionsBlockListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateQuerySuggestionsBlockListInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.IndexId == nil { + invalidParams.Add(request.NewErrParamRequired("IndexId")) + } + if s.IndexId != nil && len(*s.IndexId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("IndexId", 36)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.RoleArn != nil && len(*s.RoleArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) + } + if s.SourceS3Path == nil { + invalidParams.Add(request.NewErrParamRequired("SourceS3Path")) + } + if s.SourceS3Path != nil { + if err := s.SourceS3Path.Validate(); err != nil { + invalidParams.AddNested("SourceS3Path", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateQuerySuggestionsBlockListInput) SetClientToken(v string) *CreateQuerySuggestionsBlockListInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateQuerySuggestionsBlockListInput) SetDescription(v string) *CreateQuerySuggestionsBlockListInput { + s.Description = &v + return s +} + +// SetIndexId sets the IndexId field's value. +func (s *CreateQuerySuggestionsBlockListInput) SetIndexId(v string) *CreateQuerySuggestionsBlockListInput { + s.IndexId = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateQuerySuggestionsBlockListInput) SetName(v string) *CreateQuerySuggestionsBlockListInput { + s.Name = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *CreateQuerySuggestionsBlockListInput) SetRoleArn(v string) *CreateQuerySuggestionsBlockListInput { + s.RoleArn = &v + return s +} + +// SetSourceS3Path sets the SourceS3Path field's value. +func (s *CreateQuerySuggestionsBlockListInput) SetSourceS3Path(v *S3Path) *CreateQuerySuggestionsBlockListInput { + s.SourceS3Path = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateQuerySuggestionsBlockListInput) SetTags(v []*Tag) *CreateQuerySuggestionsBlockListInput { + s.Tags = v + return s +} + +type CreateQuerySuggestionsBlockListOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the created block list. + Id *string `min:"36" type:"string"` +} + +// String returns the string representation +func (s CreateQuerySuggestionsBlockListOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateQuerySuggestionsBlockListOutput) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *CreateQuerySuggestionsBlockListOutput) SetId(v string) *CreateQuerySuggestionsBlockListOutput { + s.Id = &v + return s +} + type CreateThesaurusInput struct { _ struct{} `type:"structure"` @@ -5656,8 +6735,14 @@ type DataSourceSyncJobMetricTarget struct { // The ID of the sync job that is running on the data source. // - // DataSourceSyncJobId is a required field - DataSourceSyncJobId *string `min:"1" type:"string" required:"true"` + // If the ID of a sync job is not provided and there is a sync job running, + // then the ID of this sync job is used and metrics are generated for this sync + // job. + // + // If the ID of a sync job is not provided and there is no sync job running, + // then no metrics are generated and documents are indexed/deleted at the index + // level without sync job metrics included. + DataSourceSyncJobId *string `min:"1" type:"string"` } // String returns the string representation @@ -5679,9 +6764,6 @@ func (s *DataSourceSyncJobMetricTarget) Validate() error { if s.DataSourceId != nil && len(*s.DataSourceId) < 1 { invalidParams.Add(request.NewErrParamMinLen("DataSourceId", 1)) } - if s.DataSourceSyncJobId == nil { - invalidParams.Add(request.NewErrParamRequired("DataSourceSyncJobId")) - } if s.DataSourceSyncJobId != nil && len(*s.DataSourceSyncJobId) < 1 { invalidParams.Add(request.NewErrParamMinLen("DataSourceSyncJobId", 1)) } @@ -6221,38 +7303,38 @@ func (s DeleteIndexOutput) GoString() string { return s.String() } -type DeleteThesaurusInput struct { +type DeleteQuerySuggestionsBlockListInput struct { _ struct{} `type:"structure"` - // The identifier of the thesaurus to delete. + // The unique identifier of the block list that needs to be deleted. // // Id is a required field - Id *string `min:"1" type:"string" required:"true"` + Id *string `min:"36" type:"string" required:"true"` - // The identifier of the index associated with the thesaurus to delete. + // The identifier of the you want to delete a block list from. // // IndexId is a required field IndexId *string `min:"36" type:"string" required:"true"` } // String returns the string representation -func (s DeleteThesaurusInput) String() string { +func (s DeleteQuerySuggestionsBlockListInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteThesaurusInput) GoString() string { +func (s DeleteQuerySuggestionsBlockListInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteThesaurusInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteThesaurusInput"} +func (s *DeleteQuerySuggestionsBlockListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteQuerySuggestionsBlockListInput"} if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + if s.Id != nil && len(*s.Id) < 36 { + invalidParams.Add(request.NewErrParamMinLen("Id", 36)) } if s.IndexId == nil { invalidParams.Add(request.NewErrParamRequired("IndexId")) @@ -6268,58 +7350,58 @@ func (s *DeleteThesaurusInput) Validate() error { } // SetId sets the Id field's value. -func (s *DeleteThesaurusInput) SetId(v string) *DeleteThesaurusInput { +func (s *DeleteQuerySuggestionsBlockListInput) SetId(v string) *DeleteQuerySuggestionsBlockListInput { s.Id = &v return s } // SetIndexId sets the IndexId field's value. -func (s *DeleteThesaurusInput) SetIndexId(v string) *DeleteThesaurusInput { +func (s *DeleteQuerySuggestionsBlockListInput) SetIndexId(v string) *DeleteQuerySuggestionsBlockListInput { s.IndexId = &v return s } -type DeleteThesaurusOutput struct { +type DeleteQuerySuggestionsBlockListOutput struct { _ struct{} `type:"structure"` } // String returns the string representation -func (s DeleteThesaurusOutput) String() string { +func (s DeleteQuerySuggestionsBlockListOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteThesaurusOutput) GoString() string { +func (s DeleteQuerySuggestionsBlockListOutput) GoString() string { return s.String() } -type DescribeDataSourceInput struct { +type DeleteThesaurusInput struct { _ struct{} `type:"structure"` - // The unique identifier of the data source to describe. + // The identifier of the thesaurus to delete. // // Id is a required field Id *string `min:"1" type:"string" required:"true"` - // The identifier of the index that contains the data source. + // The identifier of the index associated with the thesaurus to delete. // // IndexId is a required field IndexId *string `min:"36" type:"string" required:"true"` } // String returns the string representation -func (s DescribeDataSourceInput) String() string { +func (s DeleteThesaurusInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeDataSourceInput) GoString() string { +func (s DeleteThesaurusInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeDataSourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeDataSourceInput"} +func (s *DeleteThesaurusInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteThesaurusInput"} if s.Id == nil { invalidParams.Add(request.NewErrParamRequired("Id")) } @@ -6340,29 +7422,101 @@ func (s *DescribeDataSourceInput) Validate() error { } // SetId sets the Id field's value. -func (s *DescribeDataSourceInput) SetId(v string) *DescribeDataSourceInput { +func (s *DeleteThesaurusInput) SetId(v string) *DeleteThesaurusInput { s.Id = &v return s } // SetIndexId sets the IndexId field's value. -func (s *DescribeDataSourceInput) SetIndexId(v string) *DescribeDataSourceInput { +func (s *DeleteThesaurusInput) SetIndexId(v string) *DeleteThesaurusInput { s.IndexId = &v return s } -type DescribeDataSourceOutput struct { +type DeleteThesaurusOutput struct { _ struct{} `type:"structure"` +} - // Information that describes where the data source is located and how the data - // source is configured. The specific information in the description depends - // on the data source provider. - Configuration *DataSourceConfiguration `type:"structure"` +// String returns the string representation +func (s DeleteThesaurusOutput) String() string { + return awsutil.Prettify(s) +} - // The Unix timestamp of when the data source was created. - CreatedAt *time.Time `type:"timestamp"` +// GoString returns the string representation +func (s DeleteThesaurusOutput) GoString() string { + return s.String() +} - // The description of the data source. +type DescribeDataSourceInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the data source to describe. + // + // Id is a required field + Id *string `min:"1" type:"string" required:"true"` + + // The identifier of the index that contains the data source. + // + // IndexId is a required field + IndexId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeDataSourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDataSourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDataSourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDataSourceInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.IndexId == nil { + invalidParams.Add(request.NewErrParamRequired("IndexId")) + } + if s.IndexId != nil && len(*s.IndexId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("IndexId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DescribeDataSourceInput) SetId(v string) *DescribeDataSourceInput { + s.Id = &v + return s +} + +// SetIndexId sets the IndexId field's value. +func (s *DescribeDataSourceInput) SetIndexId(v string) *DescribeDataSourceInput { + s.IndexId = &v + return s +} + +type DescribeDataSourceOutput struct { + _ struct{} `type:"structure"` + + // Information that describes where the data source is located and how the data + // source is configured. The specific information in the description depends + // on the data source provider. + Configuration *DataSourceConfiguration `type:"structure"` + + // The Unix timestamp of when the data source was created. + CreatedAt *time.Time `type:"timestamp"` + + // The description of the data source. Description *string `type:"string"` // When the Status field value is FAILED, the ErrorMessage field contains a @@ -6556,129 +7710,521 @@ type DescribeFaqOutput struct { // The identifier of the FAQ. Id *string `min:"1" type:"string"` - // The identifier of the index that contains the FAQ. + // The identifier of the index that contains the FAQ. + IndexId *string `min:"36" type:"string"` + + // The name that you gave the FAQ when it was created. + Name *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the role that provides access to the S3 + // bucket containing the input files for the FAQ. + RoleArn *string `min:"1" type:"string"` + + // Information required to find a specific file in an Amazon S3 bucket. + S3Path *S3Path `type:"structure"` + + // The status of the FAQ. It is ready to use when the status is ACTIVE. + Status *string `type:"string" enum:"FaqStatus"` + + // The date and time that the FAQ was last updated. + UpdatedAt *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s DescribeFaqOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFaqOutput) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *DescribeFaqOutput) SetCreatedAt(v time.Time) *DescribeFaqOutput { + s.CreatedAt = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *DescribeFaqOutput) SetDescription(v string) *DescribeFaqOutput { + s.Description = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *DescribeFaqOutput) SetErrorMessage(v string) *DescribeFaqOutput { + s.ErrorMessage = &v + return s +} + +// SetFileFormat sets the FileFormat field's value. +func (s *DescribeFaqOutput) SetFileFormat(v string) *DescribeFaqOutput { + s.FileFormat = &v + return s +} + +// SetId sets the Id field's value. +func (s *DescribeFaqOutput) SetId(v string) *DescribeFaqOutput { + s.Id = &v + return s +} + +// SetIndexId sets the IndexId field's value. +func (s *DescribeFaqOutput) SetIndexId(v string) *DescribeFaqOutput { + s.IndexId = &v + return s +} + +// SetName sets the Name field's value. +func (s *DescribeFaqOutput) SetName(v string) *DescribeFaqOutput { + s.Name = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *DescribeFaqOutput) SetRoleArn(v string) *DescribeFaqOutput { + s.RoleArn = &v + return s +} + +// SetS3Path sets the S3Path field's value. +func (s *DescribeFaqOutput) SetS3Path(v *S3Path) *DescribeFaqOutput { + s.S3Path = v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeFaqOutput) SetStatus(v string) *DescribeFaqOutput { + s.Status = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *DescribeFaqOutput) SetUpdatedAt(v time.Time) *DescribeFaqOutput { + s.UpdatedAt = &v + return s +} + +type DescribeIndexInput struct { + _ struct{} `type:"structure"` + + // The name of the index to describe. + // + // Id is a required field + Id *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeIndexInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeIndexInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeIndexInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeIndexInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 36 { + invalidParams.Add(request.NewErrParamMinLen("Id", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DescribeIndexInput) SetId(v string) *DescribeIndexInput { + s.Id = &v + return s +} + +type DescribeIndexOutput struct { + _ struct{} `type:"structure"` + + // For Enterprise edition indexes, you can choose to use additional capacity + // to meet the needs of your application. This contains the capacity units used + // for the index. A 0 for the query capacity or the storage capacity indicates + // that the index is using the default capacity for the index. + CapacityUnits *CapacityUnitsConfiguration `type:"structure"` + + // The Unix datetime that the index was created. + CreatedAt *time.Time `type:"timestamp"` + + // The description of the index. + Description *string `type:"string"` + + // Configuration settings for any metadata applied to the documents in the index. + DocumentMetadataConfigurations []*DocumentMetadataConfiguration `type:"list"` + + // The Amazon Kendra edition used for the index. You decide the edition when + // you create the index. + Edition *string `type:"string" enum:"IndexEdition"` + + // When th eStatus field value is FAILED, the ErrorMessage field contains a + // message that explains why. + ErrorMessage *string `min:"1" type:"string"` + + // The name of the index. + Id *string `min:"36" type:"string"` + + // Provides information about the number of FAQ questions and answers and the + // number of text documents indexed. + IndexStatistics *IndexStatistics `type:"structure"` + + // The name of the index. + Name *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the IAM role that gives Amazon Kendra permission + // to write to your Amazon Cloudwatch logs. + RoleArn *string `min:"1" type:"string"` + + // The identifier of the AWS KMS customer master key (CMK) used to encrypt your + // data. Amazon Kendra doesn't support asymmetric CMKs. + ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `type:"structure"` + + // The current status of the index. When the value is ACTIVE, the index is ready + // for use. If the Status field value is FAILED, the ErrorMessage field contains + // a message that explains why. + Status *string `type:"string" enum:"IndexStatus"` + + // The Unix datetime that the index was last updated. + UpdatedAt *time.Time `type:"timestamp"` + + // The user context policy for the Amazon Kendra index. + UserContextPolicy *string `type:"string" enum:"UserContextPolicy"` + + // The user token configuration for the Amazon Kendra index. + UserTokenConfigurations []*UserTokenConfiguration `type:"list"` +} + +// String returns the string representation +func (s DescribeIndexOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeIndexOutput) GoString() string { + return s.String() +} + +// SetCapacityUnits sets the CapacityUnits field's value. +func (s *DescribeIndexOutput) SetCapacityUnits(v *CapacityUnitsConfiguration) *DescribeIndexOutput { + s.CapacityUnits = v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *DescribeIndexOutput) SetCreatedAt(v time.Time) *DescribeIndexOutput { + s.CreatedAt = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *DescribeIndexOutput) SetDescription(v string) *DescribeIndexOutput { + s.Description = &v + return s +} + +// SetDocumentMetadataConfigurations sets the DocumentMetadataConfigurations field's value. +func (s *DescribeIndexOutput) SetDocumentMetadataConfigurations(v []*DocumentMetadataConfiguration) *DescribeIndexOutput { + s.DocumentMetadataConfigurations = v + return s +} + +// SetEdition sets the Edition field's value. +func (s *DescribeIndexOutput) SetEdition(v string) *DescribeIndexOutput { + s.Edition = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *DescribeIndexOutput) SetErrorMessage(v string) *DescribeIndexOutput { + s.ErrorMessage = &v + return s +} + +// SetId sets the Id field's value. +func (s *DescribeIndexOutput) SetId(v string) *DescribeIndexOutput { + s.Id = &v + return s +} + +// SetIndexStatistics sets the IndexStatistics field's value. +func (s *DescribeIndexOutput) SetIndexStatistics(v *IndexStatistics) *DescribeIndexOutput { + s.IndexStatistics = v + return s +} + +// SetName sets the Name field's value. +func (s *DescribeIndexOutput) SetName(v string) *DescribeIndexOutput { + s.Name = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *DescribeIndexOutput) SetRoleArn(v string) *DescribeIndexOutput { + s.RoleArn = &v + return s +} + +// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value. +func (s *DescribeIndexOutput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *DescribeIndexOutput { + s.ServerSideEncryptionConfiguration = v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeIndexOutput) SetStatus(v string) *DescribeIndexOutput { + s.Status = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *DescribeIndexOutput) SetUpdatedAt(v time.Time) *DescribeIndexOutput { + s.UpdatedAt = &v + return s +} + +// SetUserContextPolicy sets the UserContextPolicy field's value. +func (s *DescribeIndexOutput) SetUserContextPolicy(v string) *DescribeIndexOutput { + s.UserContextPolicy = &v + return s +} + +// SetUserTokenConfigurations sets the UserTokenConfigurations field's value. +func (s *DescribeIndexOutput) SetUserTokenConfigurations(v []*UserTokenConfiguration) *DescribeIndexOutput { + s.UserTokenConfigurations = v + return s +} + +type DescribeQuerySuggestionsBlockListInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the block list. + // + // Id is a required field + Id *string `min:"36" type:"string" required:"true"` + + // The identifier of the index for the block list. + // + // IndexId is a required field + IndexId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeQuerySuggestionsBlockListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeQuerySuggestionsBlockListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeQuerySuggestionsBlockListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeQuerySuggestionsBlockListInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 36 { + invalidParams.Add(request.NewErrParamMinLen("Id", 36)) + } + if s.IndexId == nil { + invalidParams.Add(request.NewErrParamRequired("IndexId")) + } + if s.IndexId != nil && len(*s.IndexId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("IndexId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DescribeQuerySuggestionsBlockListInput) SetId(v string) *DescribeQuerySuggestionsBlockListInput { + s.Id = &v + return s +} + +// SetIndexId sets the IndexId field's value. +func (s *DescribeQuerySuggestionsBlockListInput) SetIndexId(v string) *DescribeQuerySuggestionsBlockListInput { + s.IndexId = &v + return s +} + +type DescribeQuerySuggestionsBlockListOutput struct { + _ struct{} `type:"structure"` + + // Shows the date-time a block list for query suggestions was last created. + CreatedAt *time.Time `type:"timestamp"` + + // Shows the description for the block list. + Description *string `type:"string"` + + // Shows the error message with details when there are issues in processing + // the block list. + ErrorMessage *string `min:"1" type:"string"` + + // Shows the current size of the block list text file in S3. + FileSizeBytes *int64 `type:"long"` + + // Shows the unique identifier of the block list. + Id *string `min:"36" type:"string"` + + // Shows the identifier of the index for the block list. IndexId *string `min:"36" type:"string"` - // The name that you gave the FAQ when it was created. + // Shows the current number of valid, non-empty words or phrases in the block + // list text file. + ItemCount *int64 `type:"integer"` + + // Shows the name of the block list. Name *string `min:"1" type:"string"` - // The Amazon Resource Name (ARN) of the role that provides access to the S3 - // bucket containing the input files for the FAQ. + // Shows the current IAM (Identity and Access Management) role used by Amazon + // Kendra to access the block list text file in S3. + // + // The role needs S3 read permissions to your file in S3 and needs to give STS + // (Security Token Service) assume role permissions to Amazon Kendra. RoleArn *string `min:"1" type:"string"` - // Information required to find a specific file in an Amazon S3 bucket. - S3Path *S3Path `type:"structure"` + // Shows the current S3 path to your block list text file in your S3 bucket. + // + // Each block word or phrase should be on a separate line in a text file. + // + // For information on the current quota limits for block lists, see Quotas for + // Amazon Kendra (https://docs.aws.amazon.com/kendra/latest/dg/quotas.html). + SourceS3Path *S3Path `type:"structure"` - // The status of the FAQ. It is ready to use when the status is ACTIVE. - Status *string `type:"string" enum:"FaqStatus"` + // Shows whether the current status of the block list is ACTIVE or INACTIVE. + Status *string `type:"string" enum:"QuerySuggestionsBlockListStatus"` - // The date and time that the FAQ was last updated. + // Shows the date-time a block list for query suggestions was last updated. UpdatedAt *time.Time `type:"timestamp"` } // String returns the string representation -func (s DescribeFaqOutput) String() string { +func (s DescribeQuerySuggestionsBlockListOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeFaqOutput) GoString() string { +func (s DescribeQuerySuggestionsBlockListOutput) GoString() string { return s.String() } // SetCreatedAt sets the CreatedAt field's value. -func (s *DescribeFaqOutput) SetCreatedAt(v time.Time) *DescribeFaqOutput { +func (s *DescribeQuerySuggestionsBlockListOutput) SetCreatedAt(v time.Time) *DescribeQuerySuggestionsBlockListOutput { s.CreatedAt = &v return s } // SetDescription sets the Description field's value. -func (s *DescribeFaqOutput) SetDescription(v string) *DescribeFaqOutput { +func (s *DescribeQuerySuggestionsBlockListOutput) SetDescription(v string) *DescribeQuerySuggestionsBlockListOutput { s.Description = &v return s } // SetErrorMessage sets the ErrorMessage field's value. -func (s *DescribeFaqOutput) SetErrorMessage(v string) *DescribeFaqOutput { +func (s *DescribeQuerySuggestionsBlockListOutput) SetErrorMessage(v string) *DescribeQuerySuggestionsBlockListOutput { s.ErrorMessage = &v return s } -// SetFileFormat sets the FileFormat field's value. -func (s *DescribeFaqOutput) SetFileFormat(v string) *DescribeFaqOutput { - s.FileFormat = &v +// SetFileSizeBytes sets the FileSizeBytes field's value. +func (s *DescribeQuerySuggestionsBlockListOutput) SetFileSizeBytes(v int64) *DescribeQuerySuggestionsBlockListOutput { + s.FileSizeBytes = &v return s } // SetId sets the Id field's value. -func (s *DescribeFaqOutput) SetId(v string) *DescribeFaqOutput { +func (s *DescribeQuerySuggestionsBlockListOutput) SetId(v string) *DescribeQuerySuggestionsBlockListOutput { s.Id = &v return s } // SetIndexId sets the IndexId field's value. -func (s *DescribeFaqOutput) SetIndexId(v string) *DescribeFaqOutput { +func (s *DescribeQuerySuggestionsBlockListOutput) SetIndexId(v string) *DescribeQuerySuggestionsBlockListOutput { s.IndexId = &v return s } +// SetItemCount sets the ItemCount field's value. +func (s *DescribeQuerySuggestionsBlockListOutput) SetItemCount(v int64) *DescribeQuerySuggestionsBlockListOutput { + s.ItemCount = &v + return s +} + // SetName sets the Name field's value. -func (s *DescribeFaqOutput) SetName(v string) *DescribeFaqOutput { +func (s *DescribeQuerySuggestionsBlockListOutput) SetName(v string) *DescribeQuerySuggestionsBlockListOutput { s.Name = &v return s } // SetRoleArn sets the RoleArn field's value. -func (s *DescribeFaqOutput) SetRoleArn(v string) *DescribeFaqOutput { +func (s *DescribeQuerySuggestionsBlockListOutput) SetRoleArn(v string) *DescribeQuerySuggestionsBlockListOutput { s.RoleArn = &v return s } -// SetS3Path sets the S3Path field's value. -func (s *DescribeFaqOutput) SetS3Path(v *S3Path) *DescribeFaqOutput { - s.S3Path = v +// SetSourceS3Path sets the SourceS3Path field's value. +func (s *DescribeQuerySuggestionsBlockListOutput) SetSourceS3Path(v *S3Path) *DescribeQuerySuggestionsBlockListOutput { + s.SourceS3Path = v return s } // SetStatus sets the Status field's value. -func (s *DescribeFaqOutput) SetStatus(v string) *DescribeFaqOutput { +func (s *DescribeQuerySuggestionsBlockListOutput) SetStatus(v string) *DescribeQuerySuggestionsBlockListOutput { s.Status = &v return s } // SetUpdatedAt sets the UpdatedAt field's value. -func (s *DescribeFaqOutput) SetUpdatedAt(v time.Time) *DescribeFaqOutput { +func (s *DescribeQuerySuggestionsBlockListOutput) SetUpdatedAt(v time.Time) *DescribeQuerySuggestionsBlockListOutput { s.UpdatedAt = &v return s } -type DescribeIndexInput struct { +type DescribeQuerySuggestionsConfigInput struct { _ struct{} `type:"structure"` - // The name of the index to describe. + // The identifier of the index you want to describe query suggestions settings + // for. // - // Id is a required field - Id *string `min:"36" type:"string" required:"true"` + // IndexId is a required field + IndexId *string `min:"36" type:"string" required:"true"` } // String returns the string representation -func (s DescribeIndexInput) String() string { +func (s DescribeQuerySuggestionsConfigInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeIndexInput) GoString() string { +func (s DescribeQuerySuggestionsConfigInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeIndexInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeIndexInput"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) +func (s *DescribeQuerySuggestionsConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeQuerySuggestionsConfigInput"} + if s.IndexId == nil { + invalidParams.Add(request.NewErrParamRequired("IndexId")) } - if s.Id != nil && len(*s.Id) < 36 { - invalidParams.Add(request.NewErrParamMinLen("Id", 36)) + if s.IndexId != nil && len(*s.IndexId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("IndexId", 36)) } if invalidParams.Len() > 0 { @@ -6687,168 +8233,126 @@ func (s *DescribeIndexInput) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *DescribeIndexInput) SetId(v string) *DescribeIndexInput { - s.Id = &v +// SetIndexId sets the IndexId field's value. +func (s *DescribeQuerySuggestionsConfigInput) SetIndexId(v string) *DescribeQuerySuggestionsConfigInput { + s.IndexId = &v return s } -type DescribeIndexOutput struct { +type DescribeQuerySuggestionsConfigOutput struct { _ struct{} `type:"structure"` - // For Enterprise edition indexes, you can choose to use additional capacity - // to meet the needs of your application. This contains the capacity units used - // for the index. A 0 for the query capacity or the storage capacity indicates - // that the index is using the default capacity for the index. - CapacityUnits *CapacityUnitsConfiguration `type:"structure"` - - // The Unix datetime that the index was created. - CreatedAt *time.Time `type:"timestamp"` - - // The description of the index. - Description *string `type:"string"` - - // Configuration settings for any metadata applied to the documents in the index. - DocumentMetadataConfigurations []*DocumentMetadataConfiguration `type:"list"` - - // The Amazon Kendra edition used for the index. You decide the edition when - // you create the index. - Edition *string `type:"string" enum:"IndexEdition"` - - // When th eStatus field value is FAILED, the ErrorMessage field contains a - // message that explains why. - ErrorMessage *string `min:"1" type:"string"` - - // The name of the index. - Id *string `min:"36" type:"string"` + // Shows whether Amazon Kendra uses all queries or only uses queries that include + // user information to generate query suggestions. + IncludeQueriesWithoutUserInformation *bool `type:"boolean"` - // Provides information about the number of FAQ questions and answers and the - // number of text documents indexed. - IndexStatistics *IndexStatistics `type:"structure"` + // Shows the date-time query suggestions for an index was last cleared. + // + // After you clear suggestions, Amazon Kendra learns new suggestions based on + // new queries added to the query log from the time you cleared suggestions. + // Amazon Kendra only considers re-occurences of a query from the time you cleared + // suggestions. + LastClearTime *time.Time `type:"timestamp"` - // The name of the index. - Name *string `min:"1" type:"string"` + // Shows the date-time query suggestions for an index was last updated. + LastSuggestionsBuildTime *time.Time `type:"timestamp"` - // The Amazon Resource Name (ARN) of the IAM role that gives Amazon Kendra permission - // to write to your Amazon Cloudwatch logs. - RoleArn *string `min:"1" type:"string"` + // Shows the minimum number of unique users who must search a query in order + // for the query to be eligible to suggest to your users. + MinimumNumberOfQueryingUsers *int64 `min:"1" type:"integer"` - // The identifier of the AWS KMS customer master key (CMK) used to encrypt your - // data. Amazon Kendra doesn't support asymmetric CMKs. - ServerSideEncryptionConfiguration *ServerSideEncryptionConfiguration `type:"structure"` + // Shows the minimum number of times a query must be searched in order for the + // query to be eligible to suggest to your users. + MinimumQueryCount *int64 `min:"1" type:"integer"` - // The current status of the index. When the value is ACTIVE, the index is ready - // for use. If the Status field value is FAILED, the ErrorMessage field contains - // a message that explains why. - Status *string `type:"string" enum:"IndexStatus"` + // Shows whether query suggestions are currently in ENABLED mode or LEARN_ONLY + // mode. + // + // By default, Amazon Kendra enables query suggestions.LEARN_ONLY turns off + // query suggestions for your users. You can change the mode using the UpdateQuerySuggestionsConfig + // (https://docs.aws.amazon.com/kendra/latest/dg/API_UpdateQuerySuggestionsConfig.html) + // operation. + Mode *string `type:"string" enum:"Mode"` - // The Unix datetime that the index was last updated. - UpdatedAt *time.Time `type:"timestamp"` + // Shows how recent your queries are in your query log time window (in days). + QueryLogLookBackWindowInDays *int64 `type:"integer"` - // The user context policy for the Amazon Kendra index. - UserContextPolicy *string `type:"string" enum:"UserContextPolicy"` + // Shows whether the status of query suggestions settings is currently Active + // or Updating. + // + // Active means the current settings apply and Updating means your changed settings + // are in the process of applying. + Status *string `type:"string" enum:"QuerySuggestionsStatus"` - // The user token configuration for the Amazon Kendra index. - UserTokenConfigurations []*UserTokenConfiguration `type:"list"` + // Shows the current total count of query suggestions for an index. + // + // This count can change when you update your query suggestions settings, if + // you filter out certain queries from suggestions using a block list, and as + // the query log accumulates more queries for Amazon Kendra to learn from. + TotalSuggestionsCount *int64 `type:"integer"` } // String returns the string representation -func (s DescribeIndexOutput) String() string { +func (s DescribeQuerySuggestionsConfigOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeIndexOutput) GoString() string { +func (s DescribeQuerySuggestionsConfigOutput) GoString() string { return s.String() } -// SetCapacityUnits sets the CapacityUnits field's value. -func (s *DescribeIndexOutput) SetCapacityUnits(v *CapacityUnitsConfiguration) *DescribeIndexOutput { - s.CapacityUnits = v - return s -} - -// SetCreatedAt sets the CreatedAt field's value. -func (s *DescribeIndexOutput) SetCreatedAt(v time.Time) *DescribeIndexOutput { - s.CreatedAt = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *DescribeIndexOutput) SetDescription(v string) *DescribeIndexOutput { - s.Description = &v - return s -} - -// SetDocumentMetadataConfigurations sets the DocumentMetadataConfigurations field's value. -func (s *DescribeIndexOutput) SetDocumentMetadataConfigurations(v []*DocumentMetadataConfiguration) *DescribeIndexOutput { - s.DocumentMetadataConfigurations = v - return s -} - -// SetEdition sets the Edition field's value. -func (s *DescribeIndexOutput) SetEdition(v string) *DescribeIndexOutput { - s.Edition = &v +// SetIncludeQueriesWithoutUserInformation sets the IncludeQueriesWithoutUserInformation field's value. +func (s *DescribeQuerySuggestionsConfigOutput) SetIncludeQueriesWithoutUserInformation(v bool) *DescribeQuerySuggestionsConfigOutput { + s.IncludeQueriesWithoutUserInformation = &v return s } -// SetErrorMessage sets the ErrorMessage field's value. -func (s *DescribeIndexOutput) SetErrorMessage(v string) *DescribeIndexOutput { - s.ErrorMessage = &v +// SetLastClearTime sets the LastClearTime field's value. +func (s *DescribeQuerySuggestionsConfigOutput) SetLastClearTime(v time.Time) *DescribeQuerySuggestionsConfigOutput { + s.LastClearTime = &v return s } -// SetId sets the Id field's value. -func (s *DescribeIndexOutput) SetId(v string) *DescribeIndexOutput { - s.Id = &v +// SetLastSuggestionsBuildTime sets the LastSuggestionsBuildTime field's value. +func (s *DescribeQuerySuggestionsConfigOutput) SetLastSuggestionsBuildTime(v time.Time) *DescribeQuerySuggestionsConfigOutput { + s.LastSuggestionsBuildTime = &v return s } -// SetIndexStatistics sets the IndexStatistics field's value. -func (s *DescribeIndexOutput) SetIndexStatistics(v *IndexStatistics) *DescribeIndexOutput { - s.IndexStatistics = v +// SetMinimumNumberOfQueryingUsers sets the MinimumNumberOfQueryingUsers field's value. +func (s *DescribeQuerySuggestionsConfigOutput) SetMinimumNumberOfQueryingUsers(v int64) *DescribeQuerySuggestionsConfigOutput { + s.MinimumNumberOfQueryingUsers = &v return s } -// SetName sets the Name field's value. -func (s *DescribeIndexOutput) SetName(v string) *DescribeIndexOutput { - s.Name = &v +// SetMinimumQueryCount sets the MinimumQueryCount field's value. +func (s *DescribeQuerySuggestionsConfigOutput) SetMinimumQueryCount(v int64) *DescribeQuerySuggestionsConfigOutput { + s.MinimumQueryCount = &v return s } -// SetRoleArn sets the RoleArn field's value. -func (s *DescribeIndexOutput) SetRoleArn(v string) *DescribeIndexOutput { - s.RoleArn = &v +// SetMode sets the Mode field's value. +func (s *DescribeQuerySuggestionsConfigOutput) SetMode(v string) *DescribeQuerySuggestionsConfigOutput { + s.Mode = &v return s } -// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value. -func (s *DescribeIndexOutput) SetServerSideEncryptionConfiguration(v *ServerSideEncryptionConfiguration) *DescribeIndexOutput { - s.ServerSideEncryptionConfiguration = v +// SetQueryLogLookBackWindowInDays sets the QueryLogLookBackWindowInDays field's value. +func (s *DescribeQuerySuggestionsConfigOutput) SetQueryLogLookBackWindowInDays(v int64) *DescribeQuerySuggestionsConfigOutput { + s.QueryLogLookBackWindowInDays = &v return s } // SetStatus sets the Status field's value. -func (s *DescribeIndexOutput) SetStatus(v string) *DescribeIndexOutput { +func (s *DescribeQuerySuggestionsConfigOutput) SetStatus(v string) *DescribeQuerySuggestionsConfigOutput { s.Status = &v return s } -// SetUpdatedAt sets the UpdatedAt field's value. -func (s *DescribeIndexOutput) SetUpdatedAt(v time.Time) *DescribeIndexOutput { - s.UpdatedAt = &v - return s -} - -// SetUserContextPolicy sets the UserContextPolicy field's value. -func (s *DescribeIndexOutput) SetUserContextPolicy(v string) *DescribeIndexOutput { - s.UserContextPolicy = &v - return s -} - -// SetUserTokenConfigurations sets the UserTokenConfigurations field's value. -func (s *DescribeIndexOutput) SetUserTokenConfigurations(v []*UserTokenConfiguration) *DescribeIndexOutput { - s.UserTokenConfigurations = v +// SetTotalSuggestionsCount sets the TotalSuggestionsCount field's value. +func (s *DescribeQuerySuggestionsConfigOutput) SetTotalSuggestionsCount(v int64) *DescribeQuerySuggestionsConfigOutput { + s.TotalSuggestionsCount = &v return s } @@ -7664,44 +9168,147 @@ func (s FaqSummary) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation -func (s FaqSummary) GoString() string { - return s.String() +// GoString returns the string representation +func (s FaqSummary) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *FaqSummary) SetCreatedAt(v time.Time) *FaqSummary { + s.CreatedAt = &v + return s +} + +// SetFileFormat sets the FileFormat field's value. +func (s *FaqSummary) SetFileFormat(v string) *FaqSummary { + s.FileFormat = &v + return s +} + +// SetId sets the Id field's value. +func (s *FaqSummary) SetId(v string) *FaqSummary { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *FaqSummary) SetName(v string) *FaqSummary { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *FaqSummary) SetStatus(v string) *FaqSummary { + s.Status = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *FaqSummary) SetUpdatedAt(v time.Time) *FaqSummary { + s.UpdatedAt = &v + return s +} + +type GetQuerySuggestionsInput struct { + _ struct{} `type:"structure"` + + // The identifier of the index you want to get query suggestions from. + // + // IndexId is a required field + IndexId *string `min:"36" type:"string" required:"true"` + + // The maximum number of query suggestions you want to show to your users. + MaxSuggestionsCount *int64 `type:"integer"` + + // The text of a user's query to generate query suggestions. + // + // A query is suggested if the query prefix matches what a user starts to type + // as their query. + // + // Amazon Kendra does not show any suggestions if a user types fewer than two + // characters or more than 60 characters. A query must also have at least one + // search result and contain at least one word of more than four characters. + // + // QueryText is a required field + QueryText *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GetQuerySuggestionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetQuerySuggestionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetQuerySuggestionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetQuerySuggestionsInput"} + if s.IndexId == nil { + invalidParams.Add(request.NewErrParamRequired("IndexId")) + } + if s.IndexId != nil && len(*s.IndexId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("IndexId", 36)) + } + if s.QueryText == nil { + invalidParams.Add(request.NewErrParamRequired("QueryText")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIndexId sets the IndexId field's value. +func (s *GetQuerySuggestionsInput) SetIndexId(v string) *GetQuerySuggestionsInput { + s.IndexId = &v + return s } -// SetCreatedAt sets the CreatedAt field's value. -func (s *FaqSummary) SetCreatedAt(v time.Time) *FaqSummary { - s.CreatedAt = &v +// SetMaxSuggestionsCount sets the MaxSuggestionsCount field's value. +func (s *GetQuerySuggestionsInput) SetMaxSuggestionsCount(v int64) *GetQuerySuggestionsInput { + s.MaxSuggestionsCount = &v return s } -// SetFileFormat sets the FileFormat field's value. -func (s *FaqSummary) SetFileFormat(v string) *FaqSummary { - s.FileFormat = &v +// SetQueryText sets the QueryText field's value. +func (s *GetQuerySuggestionsInput) SetQueryText(v string) *GetQuerySuggestionsInput { + s.QueryText = &v return s } -// SetId sets the Id field's value. -func (s *FaqSummary) SetId(v string) *FaqSummary { - s.Id = &v - return s +type GetQuerySuggestionsOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier for a list of query suggestions for an index. + QuerySuggestionsId *string `min:"1" type:"string"` + + // A list of query suggestions for an index. + Suggestions []*Suggestion `type:"list"` } -// SetName sets the Name field's value. -func (s *FaqSummary) SetName(v string) *FaqSummary { - s.Name = &v - return s +// String returns the string representation +func (s GetQuerySuggestionsOutput) String() string { + return awsutil.Prettify(s) } -// SetStatus sets the Status field's value. -func (s *FaqSummary) SetStatus(v string) *FaqSummary { - s.Status = &v +// GoString returns the string representation +func (s GetQuerySuggestionsOutput) GoString() string { + return s.String() +} + +// SetQuerySuggestionsId sets the QuerySuggestionsId field's value. +func (s *GetQuerySuggestionsOutput) SetQuerySuggestionsId(v string) *GetQuerySuggestionsOutput { + s.QuerySuggestionsId = &v return s } -// SetUpdatedAt sets the UpdatedAt field's value. -func (s *FaqSummary) SetUpdatedAt(v time.Time) *FaqSummary { - s.UpdatedAt = &v +// SetSuggestions sets the Suggestions field's value. +func (s *GetQuerySuggestionsOutput) SetSuggestions(v []*Suggestion) *GetQuerySuggestionsOutput { + s.Suggestions = v return s } @@ -8662,6 +10269,117 @@ func (s *ListIndicesOutput) SetNextToken(v string) *ListIndicesOutput { return s } +type ListQuerySuggestionsBlockListsInput struct { + _ struct{} `type:"structure"` + + // The identifier of the index for a list of all block lists that exist for + // that index. + // + // For information on the current quota limits for block lists, see Quotas for + // Amazon Kendra (https://docs.aws.amazon.com/kendra/latest/dg/quotas.html). + // + // IndexId is a required field + IndexId *string `min:"36" type:"string" required:"true"` + + // The maximum number of block lists to return. + MaxResults *int64 `min:"1" type:"integer"` + + // If the previous response was incomplete (because there is more data to retrieve), + // Amazon Kendra returns a pagination token in the response. You can use this + // pagination token to retrieve the next set of block lists (BlockListSummaryItems). + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListQuerySuggestionsBlockListsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListQuerySuggestionsBlockListsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListQuerySuggestionsBlockListsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListQuerySuggestionsBlockListsInput"} + if s.IndexId == nil { + invalidParams.Add(request.NewErrParamRequired("IndexId")) + } + if s.IndexId != nil && len(*s.IndexId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("IndexId", 36)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIndexId sets the IndexId field's value. +func (s *ListQuerySuggestionsBlockListsInput) SetIndexId(v string) *ListQuerySuggestionsBlockListsInput { + s.IndexId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListQuerySuggestionsBlockListsInput) SetMaxResults(v int64) *ListQuerySuggestionsBlockListsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListQuerySuggestionsBlockListsInput) SetNextToken(v string) *ListQuerySuggestionsBlockListsInput { + s.NextToken = &v + return s +} + +type ListQuerySuggestionsBlockListsOutput struct { + _ struct{} `type:"structure"` + + // Summary items for a block list. + // + // This includes summary items on the block list ID, block list name, when the + // block list was created, when the block list was last updated, and the count + // of block words/phrases in the block list. + // + // For information on the current quota limits for block lists, see Quotas for + // Amazon Kendra (https://docs.aws.amazon.com/kendra/latest/dg/quotas.html). + BlockListSummaryItems []*QuerySuggestionsBlockListSummary `type:"list"` + + // If the response is truncated, Amazon Kendra returns this token that you can + // use in the subsequent request to retrieve the next set of block lists. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListQuerySuggestionsBlockListsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListQuerySuggestionsBlockListsOutput) GoString() string { + return s.String() +} + +// SetBlockListSummaryItems sets the BlockListSummaryItems field's value. +func (s *ListQuerySuggestionsBlockListsOutput) SetBlockListSummaryItems(v []*QuerySuggestionsBlockListSummary) *ListQuerySuggestionsBlockListsOutput { + s.BlockListSummaryItems = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListQuerySuggestionsBlockListsOutput) SetNextToken(v string) *ListQuerySuggestionsBlockListsOutput { + s.NextToken = &v + return s +} + type ListTagsForResourceInput struct { _ struct{} `type:"structure"` @@ -9494,6 +11212,83 @@ func (s *QueryResultItem) SetType(v string) *QueryResultItem { return s } +// Summary information on a query suggestions block list. +// +// This includes information on the block list ID, block list name, when the +// block list was created, when the block list was last updated, and the count +// of block words/phrases in the block list. +// +// For information on the current quota limits for block lists, see Quotas for +// Amazon Kendra (https://docs.aws.amazon.com/kendra/latest/dg/quotas.html). +type QuerySuggestionsBlockListSummary struct { + _ struct{} `type:"structure"` + + // The date-time summary information for a query suggestions block list was + // last created. + CreatedAt *time.Time `type:"timestamp"` + + // The identifier of a block list. + Id *string `min:"36" type:"string"` + + // The number of items in the block list file. + ItemCount *int64 `type:"integer"` + + // The name of the block list. + Name *string `min:"1" type:"string"` + + // The status of the block list. + Status *string `type:"string" enum:"QuerySuggestionsBlockListStatus"` + + // The date-time the block list was last updated. + UpdatedAt *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s QuerySuggestionsBlockListSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s QuerySuggestionsBlockListSummary) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *QuerySuggestionsBlockListSummary) SetCreatedAt(v time.Time) *QuerySuggestionsBlockListSummary { + s.CreatedAt = &v + return s +} + +// SetId sets the Id field's value. +func (s *QuerySuggestionsBlockListSummary) SetId(v string) *QuerySuggestionsBlockListSummary { + s.Id = &v + return s +} + +// SetItemCount sets the ItemCount field's value. +func (s *QuerySuggestionsBlockListSummary) SetItemCount(v int64) *QuerySuggestionsBlockListSummary { + s.ItemCount = &v + return s +} + +// SetName sets the Name field's value. +func (s *QuerySuggestionsBlockListSummary) SetName(v string) *QuerySuggestionsBlockListSummary { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *QuerySuggestionsBlockListSummary) SetStatus(v string) *QuerySuggestionsBlockListSummary { + s.Status = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *QuerySuggestionsBlockListSummary) SetUpdatedAt(v time.Time) *QuerySuggestionsBlockListSummary { + s.UpdatedAt = &v + return s +} + // Provides information for manually tuning the relevance of a field in a search. // When a query includes terms that match the field, the results are given a // boost in the response based on these tuning parameters. @@ -9906,16 +11701,33 @@ type S3DataSourceConfiguration struct { // that matches an inclusion prefix or inclusion pattern also matches an exclusion // pattern, the document is not indexed. // - // For more information about glob patterns, see glob (programming) (https://en.wikipedia.org/wiki/Glob_(programming)) - // in Wikipedia. + // Some examples (https://docs.aws.amazon.com/cli/latest/reference/s3/#use-of-exclude-and-include-filters) + // are: + // + // * *.png , *.jpg will exclude all PNG and JPEG image files in a directory + // (files with the extensions .png and .jpg). + // + // * *internal* will exclude all files in a directory that contain 'internal' + // in the file name, such as 'internal', 'internal_only', 'company_internal'. + // + // * **/*internal* will exclude all internal-related files in a directory + // and its subdirectories. ExclusionPatterns []*string `type:"list"` // A list of glob patterns for documents that should be indexed. If a document // that matches an inclusion pattern also matches an exclusion pattern, the // document is not indexed. // - // For more information about glob patterns, see glob (programming) (https://en.wikipedia.org/wiki/Glob_(programming)) - // in Wikipedia. + // Some examples (https://docs.aws.amazon.com/cli/latest/reference/s3/#use-of-exclude-and-include-filters) + // are: + // + // * *.txt will include all text files in a directory (files with the extension + // .txt). + // + // * **/*.txt will include all text files in a directory and its subdirectories. + // + // * *tax* will include all files in a directory that contain 'tax' in the + // file name, such as 'tax', 'taxes', 'income_tax'. InclusionPatterns []*string `type:"list"` // A list of S3 prefixes for the documents that should be included in the index. @@ -10065,7 +11877,7 @@ type SalesforceChatterFeedConfiguration struct { DocumentDataFieldName *string `min:"1" type:"string" required:"true"` // The name of the column in the Salesforce FeedItem table that contains the - // title of the document. This is typically the Title collumn. + // title of the document. This is typically the Title column. DocumentTitleFieldName *string `min:"1" type:"string"` // Maps fields from a Salesforce chatter feed into Amazon Kendra index fields. @@ -11826,50 +13638,178 @@ func (s *SubmitFeedbackInput) Validate() error { } } - if invalidParams.Len() > 0 { - return invalidParams - } - return nil + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClickFeedbackItems sets the ClickFeedbackItems field's value. +func (s *SubmitFeedbackInput) SetClickFeedbackItems(v []*ClickFeedback) *SubmitFeedbackInput { + s.ClickFeedbackItems = v + return s +} + +// SetIndexId sets the IndexId field's value. +func (s *SubmitFeedbackInput) SetIndexId(v string) *SubmitFeedbackInput { + s.IndexId = &v + return s +} + +// SetQueryId sets the QueryId field's value. +func (s *SubmitFeedbackInput) SetQueryId(v string) *SubmitFeedbackInput { + s.QueryId = &v + return s +} + +// SetRelevanceFeedbackItems sets the RelevanceFeedbackItems field's value. +func (s *SubmitFeedbackInput) SetRelevanceFeedbackItems(v []*RelevanceFeedback) *SubmitFeedbackInput { + s.RelevanceFeedbackItems = v + return s +} + +type SubmitFeedbackOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s SubmitFeedbackOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SubmitFeedbackOutput) GoString() string { + return s.String() +} + +// A single query suggestion. +type Suggestion struct { + _ struct{} `type:"structure"` + + // The unique UUID (universally unique identifier) of a single query suggestion. + Id *string `min:"1" type:"string"` + + // The value for the unique UUID (universally unique identifier) of a single + // query suggestion. + // + // The value is the text string of a suggestion. + Value *SuggestionValue `type:"structure"` +} + +// String returns the string representation +func (s Suggestion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Suggestion) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *Suggestion) SetId(v string) *Suggestion { + s.Id = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Suggestion) SetValue(v *SuggestionValue) *Suggestion { + s.Value = v + return s +} + +// The text highlights for a single query suggestion. +type SuggestionHighlight struct { + _ struct{} `type:"structure"` + + // The zero-based location in the response string where the highlight starts. + BeginOffset *int64 `type:"integer"` + + // The zero-based location in the response string where the highlight ends. + EndOffset *int64 `type:"integer"` +} + +// String returns the string representation +func (s SuggestionHighlight) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SuggestionHighlight) GoString() string { + return s.String() } -// SetClickFeedbackItems sets the ClickFeedbackItems field's value. -func (s *SubmitFeedbackInput) SetClickFeedbackItems(v []*ClickFeedback) *SubmitFeedbackInput { - s.ClickFeedbackItems = v +// SetBeginOffset sets the BeginOffset field's value. +func (s *SuggestionHighlight) SetBeginOffset(v int64) *SuggestionHighlight { + s.BeginOffset = &v return s } -// SetIndexId sets the IndexId field's value. -func (s *SubmitFeedbackInput) SetIndexId(v string) *SubmitFeedbackInput { - s.IndexId = &v +// SetEndOffset sets the EndOffset field's value. +func (s *SuggestionHighlight) SetEndOffset(v int64) *SuggestionHighlight { + s.EndOffset = &v return s } -// SetQueryId sets the QueryId field's value. -func (s *SubmitFeedbackInput) SetQueryId(v string) *SubmitFeedbackInput { - s.QueryId = &v +// Provides text and information about where to highlight the query suggestion +// text. +type SuggestionTextWithHighlights struct { + _ struct{} `type:"structure"` + + // The beginning and end of the query suggestion text that should be highlighted. + Highlights []*SuggestionHighlight `type:"list"` + + // The query suggestion text to display to the user. + Text *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s SuggestionTextWithHighlights) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SuggestionTextWithHighlights) GoString() string { + return s.String() +} + +// SetHighlights sets the Highlights field's value. +func (s *SuggestionTextWithHighlights) SetHighlights(v []*SuggestionHighlight) *SuggestionTextWithHighlights { + s.Highlights = v return s } -// SetRelevanceFeedbackItems sets the RelevanceFeedbackItems field's value. -func (s *SubmitFeedbackInput) SetRelevanceFeedbackItems(v []*RelevanceFeedback) *SubmitFeedbackInput { - s.RelevanceFeedbackItems = v +// SetText sets the Text field's value. +func (s *SuggestionTextWithHighlights) SetText(v string) *SuggestionTextWithHighlights { + s.Text = &v return s } -type SubmitFeedbackOutput struct { +// The SuggestionTextWithHighlights structure information. +type SuggestionValue struct { _ struct{} `type:"structure"` + + // The SuggestionTextWithHighlights structure that contains the query suggestion + // text and highlights. + Text *SuggestionTextWithHighlights `type:"structure"` } // String returns the string representation -func (s SubmitFeedbackOutput) String() string { +func (s SuggestionValue) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s SubmitFeedbackOutput) GoString() string { +func (s SuggestionValue) GoString() string { return s.String() } +// SetText sets the Text field's value. +func (s *SuggestionValue) SetText(v *SuggestionTextWithHighlights) *SuggestionValue { + s.Text = v + return s +} + // A list of key/value pairs that identify an index, FAQ, or data source. Tag // keys and values can consist of Unicode letters, digits, white space, and // any of the following symbols: _ . : / = + - @. @@ -12585,6 +14525,279 @@ func (s UpdateIndexOutput) GoString() string { return s.String() } +type UpdateQuerySuggestionsBlockListInput struct { + _ struct{} `type:"structure"` + + // The description for a block list. + Description *string `type:"string"` + + // The unique identifier of a block list. + // + // Id is a required field + Id *string `min:"36" type:"string" required:"true"` + + // The identifier of the index for a block list. + // + // IndexId is a required field + IndexId *string `min:"36" type:"string" required:"true"` + + // The name of a block list. + Name *string `min:"1" type:"string"` + + // The IAM (Identity and Access Management) role used to access the block list + // text file in S3. + RoleArn *string `min:"1" type:"string"` + + // The S3 path where your block list text file sits in S3. + // + // If you update your block list and provide the same path to the block list + // text file in S3, then Amazon Kendra reloads the file to refresh the block + // list. Amazon Kendra does not automatically refresh your block list. You need + // to call the UpdateQuerySuggestionsBlockList API to refresh you block list. + // + // If you update your block list, then Amazon Kendra asynchronously refreshes + // all query suggestions with the latest content in the S3 file. This means + // changes might not take effect immediately. + SourceS3Path *S3Path `type:"structure"` +} + +// String returns the string representation +func (s UpdateQuerySuggestionsBlockListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateQuerySuggestionsBlockListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateQuerySuggestionsBlockListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateQuerySuggestionsBlockListInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 36 { + invalidParams.Add(request.NewErrParamMinLen("Id", 36)) + } + if s.IndexId == nil { + invalidParams.Add(request.NewErrParamRequired("IndexId")) + } + if s.IndexId != nil && len(*s.IndexId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("IndexId", 36)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.RoleArn != nil && len(*s.RoleArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) + } + if s.SourceS3Path != nil { + if err := s.SourceS3Path.Validate(); err != nil { + invalidParams.AddNested("SourceS3Path", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateQuerySuggestionsBlockListInput) SetDescription(v string) *UpdateQuerySuggestionsBlockListInput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *UpdateQuerySuggestionsBlockListInput) SetId(v string) *UpdateQuerySuggestionsBlockListInput { + s.Id = &v + return s +} + +// SetIndexId sets the IndexId field's value. +func (s *UpdateQuerySuggestionsBlockListInput) SetIndexId(v string) *UpdateQuerySuggestionsBlockListInput { + s.IndexId = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateQuerySuggestionsBlockListInput) SetName(v string) *UpdateQuerySuggestionsBlockListInput { + s.Name = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *UpdateQuerySuggestionsBlockListInput) SetRoleArn(v string) *UpdateQuerySuggestionsBlockListInput { + s.RoleArn = &v + return s +} + +// SetSourceS3Path sets the SourceS3Path field's value. +func (s *UpdateQuerySuggestionsBlockListInput) SetSourceS3Path(v *S3Path) *UpdateQuerySuggestionsBlockListInput { + s.SourceS3Path = v + return s +} + +type UpdateQuerySuggestionsBlockListOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateQuerySuggestionsBlockListOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateQuerySuggestionsBlockListOutput) GoString() string { + return s.String() +} + +type UpdateQuerySuggestionsConfigInput struct { + _ struct{} `type:"structure"` + + // TRUE to include queries without user information (i.e. all queries, irrespective + // of the user), otherwise FALSE to only include queries with user information. + // + // If you pass user information to Amazon Kendra along with the queries, you + // can set this flag to FALSE and instruct Amazon Kendra to only consider queries + // with user information. + // + // If you set to FALSE, Amazon Kendra only considers queries searched at least + // MinimumQueryCount times across MinimumNumberOfQueryingUsers unique users + // for suggestions. + // + // If you set to TRUE, Amazon Kendra ignores all user information and learns + // from all queries. + IncludeQueriesWithoutUserInformation *bool `type:"boolean"` + + // The identifier of the index you want to update query suggestions settings + // for. + // + // IndexId is a required field + IndexId *string `min:"36" type:"string" required:"true"` + + // The minimum number of unique users who must search a query in order for the + // query to be eligible to suggest to your users. + // + // Increasing this number might decrease the number of suggestions. However, + // this ensures a query is searched by many users and is truly popular to suggest + // to users. + // + // How you tune this setting depends on your specific needs. + MinimumNumberOfQueryingUsers *int64 `min:"1" type:"integer"` + + // The the minimum number of times a query must be searched in order to be eligible + // to suggest to your users. + // + // Decreasing this number increases the number of suggestions. However, this + // affects the quality of suggestions as it sets a low bar for a query to be + // considered popular to suggest to users. + // + // How you tune this setting depends on your specific needs. + MinimumQueryCount *int64 `min:"1" type:"integer"` + + // Set the mode to ENABLED or LEARN_ONLY. + // + // By default, Amazon Kendra enables query suggestions. LEARN_ONLY mode allows + // you to turn off query suggestions. You can to update this at any time. + // + // In LEARN_ONLY mode, Amazon Kendra continues to learn from new queries to + // keep suggestions up to date for when you are ready to switch to ENABLED mode + // again. + Mode *string `type:"string" enum:"Mode"` + + // How recent your queries are in your query log time window. + // + // The time window is the number of days from current day to past days. + // + // By default, Amazon Kendra sets this to 180. + QueryLogLookBackWindowInDays *int64 `type:"integer"` +} + +// String returns the string representation +func (s UpdateQuerySuggestionsConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateQuerySuggestionsConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateQuerySuggestionsConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateQuerySuggestionsConfigInput"} + if s.IndexId == nil { + invalidParams.Add(request.NewErrParamRequired("IndexId")) + } + if s.IndexId != nil && len(*s.IndexId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("IndexId", 36)) + } + if s.MinimumNumberOfQueryingUsers != nil && *s.MinimumNumberOfQueryingUsers < 1 { + invalidParams.Add(request.NewErrParamMinValue("MinimumNumberOfQueryingUsers", 1)) + } + if s.MinimumQueryCount != nil && *s.MinimumQueryCount < 1 { + invalidParams.Add(request.NewErrParamMinValue("MinimumQueryCount", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIncludeQueriesWithoutUserInformation sets the IncludeQueriesWithoutUserInformation field's value. +func (s *UpdateQuerySuggestionsConfigInput) SetIncludeQueriesWithoutUserInformation(v bool) *UpdateQuerySuggestionsConfigInput { + s.IncludeQueriesWithoutUserInformation = &v + return s +} + +// SetIndexId sets the IndexId field's value. +func (s *UpdateQuerySuggestionsConfigInput) SetIndexId(v string) *UpdateQuerySuggestionsConfigInput { + s.IndexId = &v + return s +} + +// SetMinimumNumberOfQueryingUsers sets the MinimumNumberOfQueryingUsers field's value. +func (s *UpdateQuerySuggestionsConfigInput) SetMinimumNumberOfQueryingUsers(v int64) *UpdateQuerySuggestionsConfigInput { + s.MinimumNumberOfQueryingUsers = &v + return s +} + +// SetMinimumQueryCount sets the MinimumQueryCount field's value. +func (s *UpdateQuerySuggestionsConfigInput) SetMinimumQueryCount(v int64) *UpdateQuerySuggestionsConfigInput { + s.MinimumQueryCount = &v + return s +} + +// SetMode sets the Mode field's value. +func (s *UpdateQuerySuggestionsConfigInput) SetMode(v string) *UpdateQuerySuggestionsConfigInput { + s.Mode = &v + return s +} + +// SetQueryLogLookBackWindowInDays sets the QueryLogLookBackWindowInDays field's value. +func (s *UpdateQuerySuggestionsConfigInput) SetQueryLogLookBackWindowInDays(v int64) *UpdateQuerySuggestionsConfigInput { + s.QueryLogLookBackWindowInDays = &v + return s +} + +type UpdateQuerySuggestionsConfigOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateQuerySuggestionsConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateQuerySuggestionsConfigOutput) GoString() string { + return s.String() +} + type UpdateThesaurusInput struct { _ struct{} `type:"structure"` @@ -13381,6 +15594,22 @@ func KeyLocation_Values() []string { } } +const ( + // ModeEnabled is a Mode enum value + ModeEnabled = "ENABLED" + + // ModeLearnOnly is a Mode enum value + ModeLearnOnly = "LEARN_ONLY" +) + +// Mode_Values returns all elements of the Mode enum +func Mode_Values() []string { + return []string{ + ModeEnabled, + ModeLearnOnly, + } +} + const ( // OrderAscending is a Order enum value OrderAscending = "ASCENDING" @@ -13449,6 +15678,54 @@ func QueryResultType_Values() []string { } } +const ( + // QuerySuggestionsBlockListStatusActive is a QuerySuggestionsBlockListStatus enum value + QuerySuggestionsBlockListStatusActive = "ACTIVE" + + // QuerySuggestionsBlockListStatusCreating is a QuerySuggestionsBlockListStatus enum value + QuerySuggestionsBlockListStatusCreating = "CREATING" + + // QuerySuggestionsBlockListStatusDeleting is a QuerySuggestionsBlockListStatus enum value + QuerySuggestionsBlockListStatusDeleting = "DELETING" + + // QuerySuggestionsBlockListStatusUpdating is a QuerySuggestionsBlockListStatus enum value + QuerySuggestionsBlockListStatusUpdating = "UPDATING" + + // QuerySuggestionsBlockListStatusActiveButUpdateFailed is a QuerySuggestionsBlockListStatus enum value + QuerySuggestionsBlockListStatusActiveButUpdateFailed = "ACTIVE_BUT_UPDATE_FAILED" + + // QuerySuggestionsBlockListStatusFailed is a QuerySuggestionsBlockListStatus enum value + QuerySuggestionsBlockListStatusFailed = "FAILED" +) + +// QuerySuggestionsBlockListStatus_Values returns all elements of the QuerySuggestionsBlockListStatus enum +func QuerySuggestionsBlockListStatus_Values() []string { + return []string{ + QuerySuggestionsBlockListStatusActive, + QuerySuggestionsBlockListStatusCreating, + QuerySuggestionsBlockListStatusDeleting, + QuerySuggestionsBlockListStatusUpdating, + QuerySuggestionsBlockListStatusActiveButUpdateFailed, + QuerySuggestionsBlockListStatusFailed, + } +} + +const ( + // QuerySuggestionsStatusActive is a QuerySuggestionsStatus enum value + QuerySuggestionsStatusActive = "ACTIVE" + + // QuerySuggestionsStatusUpdating is a QuerySuggestionsStatus enum value + QuerySuggestionsStatusUpdating = "UPDATING" +) + +// QuerySuggestionsStatus_Values returns all elements of the QuerySuggestionsStatus enum +func QuerySuggestionsStatus_Values() []string { + return []string{ + QuerySuggestionsStatusActive, + QuerySuggestionsStatusUpdating, + } +} + const ( // ReadAccessTypeAllow is a ReadAccessType enum value ReadAccessTypeAllow = "ALLOW" diff --git a/service/kendra/kendraiface/interface.go b/service/kendra/kendraiface/interface.go index d46807ce01f..1e4c82b3b33 100644 --- a/service/kendra/kendraiface/interface.go +++ b/service/kendra/kendraiface/interface.go @@ -68,6 +68,10 @@ type KendraAPI interface { BatchPutDocumentWithContext(aws.Context, *kendra.BatchPutDocumentInput, ...request.Option) (*kendra.BatchPutDocumentOutput, error) BatchPutDocumentRequest(*kendra.BatchPutDocumentInput) (*request.Request, *kendra.BatchPutDocumentOutput) + ClearQuerySuggestions(*kendra.ClearQuerySuggestionsInput) (*kendra.ClearQuerySuggestionsOutput, error) + ClearQuerySuggestionsWithContext(aws.Context, *kendra.ClearQuerySuggestionsInput, ...request.Option) (*kendra.ClearQuerySuggestionsOutput, error) + ClearQuerySuggestionsRequest(*kendra.ClearQuerySuggestionsInput) (*request.Request, *kendra.ClearQuerySuggestionsOutput) + CreateDataSource(*kendra.CreateDataSourceInput) (*kendra.CreateDataSourceOutput, error) CreateDataSourceWithContext(aws.Context, *kendra.CreateDataSourceInput, ...request.Option) (*kendra.CreateDataSourceOutput, error) CreateDataSourceRequest(*kendra.CreateDataSourceInput) (*request.Request, *kendra.CreateDataSourceOutput) @@ -80,6 +84,10 @@ type KendraAPI interface { CreateIndexWithContext(aws.Context, *kendra.CreateIndexInput, ...request.Option) (*kendra.CreateIndexOutput, error) CreateIndexRequest(*kendra.CreateIndexInput) (*request.Request, *kendra.CreateIndexOutput) + CreateQuerySuggestionsBlockList(*kendra.CreateQuerySuggestionsBlockListInput) (*kendra.CreateQuerySuggestionsBlockListOutput, error) + CreateQuerySuggestionsBlockListWithContext(aws.Context, *kendra.CreateQuerySuggestionsBlockListInput, ...request.Option) (*kendra.CreateQuerySuggestionsBlockListOutput, error) + CreateQuerySuggestionsBlockListRequest(*kendra.CreateQuerySuggestionsBlockListInput) (*request.Request, *kendra.CreateQuerySuggestionsBlockListOutput) + CreateThesaurus(*kendra.CreateThesaurusInput) (*kendra.CreateThesaurusOutput, error) CreateThesaurusWithContext(aws.Context, *kendra.CreateThesaurusInput, ...request.Option) (*kendra.CreateThesaurusOutput, error) CreateThesaurusRequest(*kendra.CreateThesaurusInput) (*request.Request, *kendra.CreateThesaurusOutput) @@ -96,6 +104,10 @@ type KendraAPI interface { DeleteIndexWithContext(aws.Context, *kendra.DeleteIndexInput, ...request.Option) (*kendra.DeleteIndexOutput, error) DeleteIndexRequest(*kendra.DeleteIndexInput) (*request.Request, *kendra.DeleteIndexOutput) + DeleteQuerySuggestionsBlockList(*kendra.DeleteQuerySuggestionsBlockListInput) (*kendra.DeleteQuerySuggestionsBlockListOutput, error) + DeleteQuerySuggestionsBlockListWithContext(aws.Context, *kendra.DeleteQuerySuggestionsBlockListInput, ...request.Option) (*kendra.DeleteQuerySuggestionsBlockListOutput, error) + DeleteQuerySuggestionsBlockListRequest(*kendra.DeleteQuerySuggestionsBlockListInput) (*request.Request, *kendra.DeleteQuerySuggestionsBlockListOutput) + DeleteThesaurus(*kendra.DeleteThesaurusInput) (*kendra.DeleteThesaurusOutput, error) DeleteThesaurusWithContext(aws.Context, *kendra.DeleteThesaurusInput, ...request.Option) (*kendra.DeleteThesaurusOutput, error) DeleteThesaurusRequest(*kendra.DeleteThesaurusInput) (*request.Request, *kendra.DeleteThesaurusOutput) @@ -112,10 +124,22 @@ type KendraAPI interface { DescribeIndexWithContext(aws.Context, *kendra.DescribeIndexInput, ...request.Option) (*kendra.DescribeIndexOutput, error) DescribeIndexRequest(*kendra.DescribeIndexInput) (*request.Request, *kendra.DescribeIndexOutput) + DescribeQuerySuggestionsBlockList(*kendra.DescribeQuerySuggestionsBlockListInput) (*kendra.DescribeQuerySuggestionsBlockListOutput, error) + DescribeQuerySuggestionsBlockListWithContext(aws.Context, *kendra.DescribeQuerySuggestionsBlockListInput, ...request.Option) (*kendra.DescribeQuerySuggestionsBlockListOutput, error) + DescribeQuerySuggestionsBlockListRequest(*kendra.DescribeQuerySuggestionsBlockListInput) (*request.Request, *kendra.DescribeQuerySuggestionsBlockListOutput) + + DescribeQuerySuggestionsConfig(*kendra.DescribeQuerySuggestionsConfigInput) (*kendra.DescribeQuerySuggestionsConfigOutput, error) + DescribeQuerySuggestionsConfigWithContext(aws.Context, *kendra.DescribeQuerySuggestionsConfigInput, ...request.Option) (*kendra.DescribeQuerySuggestionsConfigOutput, error) + DescribeQuerySuggestionsConfigRequest(*kendra.DescribeQuerySuggestionsConfigInput) (*request.Request, *kendra.DescribeQuerySuggestionsConfigOutput) + DescribeThesaurus(*kendra.DescribeThesaurusInput) (*kendra.DescribeThesaurusOutput, error) DescribeThesaurusWithContext(aws.Context, *kendra.DescribeThesaurusInput, ...request.Option) (*kendra.DescribeThesaurusOutput, error) DescribeThesaurusRequest(*kendra.DescribeThesaurusInput) (*request.Request, *kendra.DescribeThesaurusOutput) + GetQuerySuggestions(*kendra.GetQuerySuggestionsInput) (*kendra.GetQuerySuggestionsOutput, error) + GetQuerySuggestionsWithContext(aws.Context, *kendra.GetQuerySuggestionsInput, ...request.Option) (*kendra.GetQuerySuggestionsOutput, error) + GetQuerySuggestionsRequest(*kendra.GetQuerySuggestionsInput) (*request.Request, *kendra.GetQuerySuggestionsOutput) + ListDataSourceSyncJobs(*kendra.ListDataSourceSyncJobsInput) (*kendra.ListDataSourceSyncJobsOutput, error) ListDataSourceSyncJobsWithContext(aws.Context, *kendra.ListDataSourceSyncJobsInput, ...request.Option) (*kendra.ListDataSourceSyncJobsOutput, error) ListDataSourceSyncJobsRequest(*kendra.ListDataSourceSyncJobsInput) (*request.Request, *kendra.ListDataSourceSyncJobsOutput) @@ -141,6 +165,10 @@ type KendraAPI interface { ListIndicesPages(*kendra.ListIndicesInput, func(*kendra.ListIndicesOutput, bool) bool) error ListIndicesPagesWithContext(aws.Context, *kendra.ListIndicesInput, func(*kendra.ListIndicesOutput, bool) bool, ...request.Option) error + ListQuerySuggestionsBlockLists(*kendra.ListQuerySuggestionsBlockListsInput) (*kendra.ListQuerySuggestionsBlockListsOutput, error) + ListQuerySuggestionsBlockListsWithContext(aws.Context, *kendra.ListQuerySuggestionsBlockListsInput, ...request.Option) (*kendra.ListQuerySuggestionsBlockListsOutput, error) + ListQuerySuggestionsBlockListsRequest(*kendra.ListQuerySuggestionsBlockListsInput) (*request.Request, *kendra.ListQuerySuggestionsBlockListsOutput) + ListTagsForResource(*kendra.ListTagsForResourceInput) (*kendra.ListTagsForResourceOutput, error) ListTagsForResourceWithContext(aws.Context, *kendra.ListTagsForResourceInput, ...request.Option) (*kendra.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*kendra.ListTagsForResourceInput) (*request.Request, *kendra.ListTagsForResourceOutput) @@ -181,6 +209,14 @@ type KendraAPI interface { UpdateIndexWithContext(aws.Context, *kendra.UpdateIndexInput, ...request.Option) (*kendra.UpdateIndexOutput, error) UpdateIndexRequest(*kendra.UpdateIndexInput) (*request.Request, *kendra.UpdateIndexOutput) + UpdateQuerySuggestionsBlockList(*kendra.UpdateQuerySuggestionsBlockListInput) (*kendra.UpdateQuerySuggestionsBlockListOutput, error) + UpdateQuerySuggestionsBlockListWithContext(aws.Context, *kendra.UpdateQuerySuggestionsBlockListInput, ...request.Option) (*kendra.UpdateQuerySuggestionsBlockListOutput, error) + UpdateQuerySuggestionsBlockListRequest(*kendra.UpdateQuerySuggestionsBlockListInput) (*request.Request, *kendra.UpdateQuerySuggestionsBlockListOutput) + + UpdateQuerySuggestionsConfig(*kendra.UpdateQuerySuggestionsConfigInput) (*kendra.UpdateQuerySuggestionsConfigOutput, error) + UpdateQuerySuggestionsConfigWithContext(aws.Context, *kendra.UpdateQuerySuggestionsConfigInput, ...request.Option) (*kendra.UpdateQuerySuggestionsConfigOutput, error) + UpdateQuerySuggestionsConfigRequest(*kendra.UpdateQuerySuggestionsConfigInput) (*request.Request, *kendra.UpdateQuerySuggestionsConfigOutput) + UpdateThesaurus(*kendra.UpdateThesaurusInput) (*kendra.UpdateThesaurusOutput, error) UpdateThesaurusWithContext(aws.Context, *kendra.UpdateThesaurusInput, ...request.Option) (*kendra.UpdateThesaurusOutput, error) UpdateThesaurusRequest(*kendra.UpdateThesaurusInput) (*request.Request, *kendra.UpdateThesaurusOutput) diff --git a/service/lightsail/api.go b/service/lightsail/api.go index 5ba7cefbb97..e6bd6baff7b 100644 --- a/service/lightsail/api.go +++ b/service/lightsail/api.go @@ -19768,7 +19768,7 @@ type CreateDomainInput struct { // You cannot register a new domain name using Lightsail. You must register // a domain name using Amazon Route 53 or another domain name registrar. If // you have already registered your domain, you can enter its name in this parameter - // to manage the DNS records for that domain. + // to manage the DNS records for that domain using Lightsail. // // DomainName is a required field DomainName *string `locationName:"domainName" type:"string" required:"true"` @@ -23645,21 +23645,25 @@ type DomainEntry struct { // Deprecated: Options has been deprecated Options map[string]*string `locationName:"options" deprecated:"true" type:"map"` - // The target AWS name server (e.g., ns-111.awsdns-22.com.). + // The target IP address (e.g., 192.0.2.0), or AWS name server (e.g., ns-111.awsdns-22.com.). // // For Lightsail load balancers, the value looks like ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com. - // Be sure to also set isAlias to true when setting up an A record for a load - // balancer. + // For Lightsail distributions, the value looks like exampled1182ne.cloudfront.net. + // For Lightsail container services, the value looks like container-service-1.example23scljs.us-west-2.cs.amazonlightsail.com. + // Be sure to also set isAlias to true when setting up an A record for a Lightsail + // load balancer, distribution, or container service. Target *string `locationName:"target" type:"string"` - // The type of domain entry, such as address (A), canonical name (CNAME), mail - // exchanger (MX), name server (NS), start of authority (SOA), service locator - // (SRV), or text (TXT). + // The type of domain entry, such as address for IPv4 (A), address for IPv6 + // (AAAA), canonical name (CNAME), mail exchanger (MX), name server (NS), start + // of authority (SOA), service locator (SRV), or text (TXT). // // The following domain entry types can be used: // // * A // + // * AAA + // // * CNAME // // * MX diff --git a/service/resourcegroups/api.go b/service/resourcegroups/api.go index 544dbbe1b41..2bd1cc76e9f 100644 --- a/service/resourcegroups/api.go +++ b/service/resourcegroups/api.go @@ -787,6 +787,12 @@ func (c *ResourceGroups) ListGroupResourcesRequest(input *ListGroupResourcesInpu // // * resource-groups:ListGroupResources // +// * cloudformation:DescribeStacks +// +// * cloudformation:ListStackResources +// +// * tag:GetResources +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -1212,6 +1218,12 @@ func (c *ResourceGroups) SearchResourcesRequest(input *SearchResourcesInput) (re // // * resource-groups:SearchResources // +// * cloudformation:DescribeStacks +// +// * cloudformation:ListStackResources +// +// * tag:GetResources +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. diff --git a/service/sqs/api.go b/service/sqs/api.go index 38ef4185f4b..d58d7c03401 100644 --- a/service/sqs/api.go +++ b/service/sqs/api.go @@ -2660,12 +2660,12 @@ type CreateQueueInput struct { // a standard queue. You can provide this attribute only during queue creation. // You can't change it for an existing queue. When you set this attribute, // you must also provide the MessageGroupId for your messages explicitly. - // For more information, see FIFO Queue Logic (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-understanding-logic) + // For more information, see FIFO queue logic (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-understanding-logic.html) // in the Amazon Simple Queue Service Developer Guide. // // * ContentBasedDeduplication – Enables content-based deduplication. Valid - // values are true and false. For more information, see Exactly-Once Processing - // (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing) + // values are true and false. For more information, see Exactly-once processing + // (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html) // in the Amazon Simple Queue Service Developer Guide. Note the following: // Every message must have a unique MessageDeduplicationId. You may provide // a MessageDeduplicationId explicitly. If you aren't able to provide a MessageDeduplicationId @@ -2682,15 +2682,7 @@ type CreateQueueInput struct { // as the one generated for the first MessageDeduplicationId, the two messages // are treated as duplicates and only one copy of the message is delivered. // - // Preview: High throughput for FIFO queues - // - // High throughput for Amazon SQS FIFO queues is in preview release and is subject - // to change. This feature provides a high number of transactions per second - // (TPS) for messages in FIFO queues. For information on throughput quotas, - // see Quotas related to messages (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) - // in the Amazon Simple Queue Service Developer Guide. - // - // This preview includes two new attributes: + // The following attributes apply only to high throughput for FIFO queues (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html): // // * DeduplicationScope – Specifies whether message deduplication occurs // at the message group or queue level. Valid values are messageGroup and @@ -2708,21 +2700,10 @@ type CreateQueueInput struct { // * Set FifoThroughputLimit to perMessageGroupId. // // If you set these attributes to anything other than the values shown for enabling - // high throughput, standard throughput is in effect and deduplication occurs + // high throughput, normal throughput is in effect and deduplication occurs // as specified. // - // This preview is available in the following AWS Regions: - // - // * US East (Ohio); us-east-2 - // - // * US East (N. Virginia); us-east-1 - // - // * US West (Oregon); us-west-2 - // - // * Europe (Ireland); eu-west-1 - // - // For more information about high throughput for FIFO queues, see Preview: - // High throughput for FIFO queues (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html) + // For information on throughput quotas, see Quotas related to messages (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) // in the Amazon Simple Queue Service Developer Guide. Attributes map[string]*string `locationName:"Attribute" locationNameKey:"Name" locationNameValue:"Value" type:"map" flattened:"true"` @@ -3226,25 +3207,17 @@ type GetQueueAttributesInput struct { // The following attributes apply only to FIFO (first-in-first-out) queues (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html): // // * FifoQueue – Returns information about whether the queue is FIFO. For - // more information, see FIFO Queue Logic (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-understanding-logic) + // more information, see FIFO queue logic (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-understanding-logic.html) // in the Amazon Simple Queue Service Developer Guide. To determine whether // a queue is FIFO (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html), // you can check whether QueueName ends with the .fifo suffix. // // * ContentBasedDeduplication – Returns whether content-based deduplication - // is enabled for the queue. For more information, see Exactly-Once Processing - // (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing) + // is enabled for the queue. For more information, see Exactly-once processing + // (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html) // in the Amazon Simple Queue Service Developer Guide. // - // Preview: High throughput for FIFO queues - // - // High throughput for Amazon SQS FIFO queues is in preview release and is subject - // to change. This feature provides a high number of transactions per second - // (TPS) for messages in FIFO queues. For information on throughput quotas, - // see Quotas related to messages (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) - // in the Amazon Simple Queue Service Developer Guide. - // - // This preview includes two new attributes: + // The following attributes apply only to high throughput for FIFO queues (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html): // // * DeduplicationScope – Specifies whether message deduplication occurs // at the message group or queue level. Valid values are messageGroup and @@ -3262,21 +3235,10 @@ type GetQueueAttributesInput struct { // * Set FifoThroughputLimit to perMessageGroupId. // // If you set these attributes to anything other than the values shown for enabling - // high throughput, standard throughput is in effect and deduplication occurs + // high throughput, normal throughput is in effect and deduplication occurs // as specified. // - // This preview is available in the following AWS Regions: - // - // * US East (Ohio); us-east-2 - // - // * US East (N. Virginia); us-east-1 - // - // * US West (Oregon); us-west-2 - // - // * Europe (Ireland); eu-west-1 - // - // For more information about high throughput for FIFO queues, see Preview: - // High throughput for FIFO queues (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html) + // For information on throughput quotas, see Quotas related to messages (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) // in the Amazon Simple Queue Service Developer Guide. AttributeNames []*string `locationNameList:"AttributeName" type:"list" flattened:"true"` @@ -4435,7 +4397,7 @@ type SendMessageBatchRequestEntry struct { // The token used for deduplication of messages within a 5-minute minimum deduplication // interval. If a message with a particular MessageDeduplicationId is sent successfully, // subsequent messages with the same MessageDeduplicationId are accepted successfully - // but aren't delivered. For more information, see Exactly-Once Processing (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing) + // but aren't delivered. For more information, see Exactly-once processing (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html) // in the Amazon Simple Queue Service Developer Guide. // // * Every message must have a unique MessageDeduplicationId, You may provide @@ -4727,8 +4689,8 @@ type SendMessageInput struct { // The token used for deduplication of sent messages. If a message with a particular // MessageDeduplicationId is sent successfully, any messages sent with the same // MessageDeduplicationId are accepted successfully but aren't delivered during - // the 5-minute deduplication interval. For more information, see Exactly-Once - // Processing (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing) + // the 5-minute deduplication interval. For more information, see Exactly-once + // processing (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html) // in the Amazon Simple Queue Service Developer Guide. // // * Every message must have a unique MessageDeduplicationId, You may provide @@ -5047,7 +5009,7 @@ type SetQueueAttributesInput struct { // (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html): // // * ContentBasedDeduplication – Enables content-based deduplication. For - // more information, see Exactly-Once Processing (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing) + // more information, see Exactly-once processing (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html) // in the Amazon Simple Queue Service Developer Guide. Note the following: // Every message must have a unique MessageDeduplicationId. You may provide // a MessageDeduplicationId explicitly. If you aren't able to provide a MessageDeduplicationId @@ -5064,15 +5026,7 @@ type SetQueueAttributesInput struct { // as the one generated for the first MessageDeduplicationId, the two messages // are treated as duplicates and only one copy of the message is delivered. // - // Preview: High throughput for FIFO queues - // - // High throughput for Amazon SQS FIFO queues is in preview release and is subject - // to change. This feature provides a high number of transactions per second - // (TPS) for messages in FIFO queues. For information on throughput quotas, - // see Quotas related to messages (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) - // in the Amazon Simple Queue Service Developer Guide. - // - // This preview includes two new attributes: + // The following attributes apply only to high throughput for FIFO queues (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html): // // * DeduplicationScope – Specifies whether message deduplication occurs // at the message group or queue level. Valid values are messageGroup and @@ -5090,21 +5044,10 @@ type SetQueueAttributesInput struct { // * Set FifoThroughputLimit to perMessageGroupId. // // If you set these attributes to anything other than the values shown for enabling - // high throughput, standard throughput is in effect and deduplication occurs + // high throughput, normal throughput is in effect and deduplication occurs // as specified. // - // This preview is available in the following AWS Regions: - // - // * US East (Ohio); us-east-2 - // - // * US East (N. Virginia); us-east-1 - // - // * US West (Oregon); us-west-2 - // - // * Europe (Ireland); eu-west-1 - // - // For more information about high throughput for FIFO queues, see Preview: - // High throughput for FIFO queues (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/high-throughput-fifo.html) + // For information on throughput quotas, see Quotas related to messages (https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html) // in the Amazon Simple Queue Service Developer Guide. // // Attributes is a required field